PT09IHJlbGVhc2UgMS43LjkwID09PQoKMjAxNi0wMy0wMSAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjcuOTAKCjIwMTYtMDMtMDEgMTY6NTM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9iZy5wbzoKCSogcG8vZnIucG86CgkqIHBvL25sLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMi0yOSAxMjozNTo1OCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY0OiBEaXNhYmxlIHBhc3N0aG9ydWdoIG1vZGUgZW5hYmxpbmcKCSAgRW5hYmxpbmcgcGFzc3Rob3J1Z2ggbW9kZSBpcyBjYXVzaW5nIG11bHRpcGxlIGlzc3VlOgoJICBGb3IgbmFsIGFsaWduZWQgbXVsdGlyZXNvbHV0b24gc3RyZWFtcywgcGFzc3Rocm91Z2ggbW9kZQoJICBtYWtlIGgyNjRwYXJzZSB1bmFibGUgdG8gYWR2ZXJ0aXNlIHRoZSBuZXcgcmVzb3VsdGlvbnMuCgkgIEFsc28gY2F1c2luZyBpc3N1ZXMgd2hpbGUgcGFyc2luZyBNVkMgc3RyZWFtcyB3aGljaCBoYXZlIHR3bwoJICBzZXBhcmF0ZSBsYXllcnMgKGJhc2UtdmlldyBhbmQgbm9uLWJhc2UtdmlldykuCgkgIFRoaXMgZml4IGlzIG9ubHkgYSB0ZW1wb3Jhcnkgd29ya2Fyb3VuZC4KCSAgRm9yIE1WQywgcHJvcGVyIGZpeGVzIG5lZWRlZCBpbiBtYW55IHBsYWNlczoKCSAgKGhhbmRsZSBwcmVmaXggbmFsIHVuaXQsIGhhbmRsZSBub24tYmFzZS12aWV3IHNsaWNlIG5hbCBleHRlbnNpb24sCgkgIGZpeCB0aGUgcGljdHVyZV9zdGFydCBkZXRlY3Rpb24gZm9yIG11bHRpLWxheWVyLW12YyBzdHJlYW1zIGV0YykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODY1NgoKMjAxNi0wMi0yOSAxMTo1MzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IFNldCBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtcnRwIGluc3RlYWQgb2YgYXBwbGljYXRpb24veC11bmtub3duIGFzIHJldHVybmVkIGJ5IHRoZSBTRFAgaGVscGVycwoJICBUaGUgU0RQIGhlbHBlcnMgY2FuJ3Qga25vdyBpZiB0aGlzIGlzIGdvaW5nIHRvIGJlIFJUUCwgU1JUUCwgb3IgLi4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODYwCgoyMDE2LTAyLTI5IDExOjUxOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogQWRkIHBhZHMgd2l0aCB0aGUgY29ycmVjdCBuYW1lcyBpbiBjYXNlIGFuIHJ0cGJpbiBpcyB1c2VkCgkgIFRoZXkncmUgc3VwcG9zZWQgdG8gYmUgc3RyZWFtXyV1IGFuZCBub3QgcmVjdl9ydHBfc3JjXyV1XyV1XyV1LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODYwCgoyMDE2LTAyLTI5IDEwOjM4OjMyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZrc3dhcHBlci92a3V0aWxzOiBGaXggZ2Vycm9yIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NDIKCjIwMTYtMDItMjkgMTA6Mzc6MTEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZrZGV2aWNlOiBGaXggZHVwbGljYXRlIGFzc2lnbm1lbnQgb2YgcXVldWUgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg0MgoKMjAxNi0wMi0yOSAxMDozMzo0NSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZrc2luazogRml4IEdFcnJvciBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODQyCgoyMDE2LTAyLTI4IDE0OjA2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBleHBvcnRzIGZvciBuZXcgbGliZ3N0Z2wgZnVuY3Rpb24KCjIwMTYtMDItMjggMTA6MTI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBXaGVuIG91dHB1dHRpbmcgb24gYSBzdXJmYWNlLCBhY2NlcHQgYWxsIGNvbG9yIGZvcm1hdHMKCSAgV2UgZG9uJ3QgaGF2ZSB0byB1bmRlcnN0YW5kIHRoZW0sIHdlIGhhbmRsZSB0aGVtIGFzIGEgR0wgdGV4dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc5MgoKMjAxNi0wMi0yNiAxODoxNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGhhbmRsZSBzbmFwIHNlZWtpbmcgd2l0aG91dCBzZXR0aW5nIGFueSBwb3NpdGlvbgoJICBXaGVuIHRoZSBzdGFydF90eXBlIGlzIEdTVF9TRUVLX1RZUEVfTk9ORSBmb3IgYSBmb3J3YXJkIHNlZWsKCSAgKG9yIHN0b3BfdHlwZSBmb3IgYSByZXZlcnNlKSBpcyBub3Qgc2V0IG9uIGEgc25hcCBzZWVraW5nIG9wZXJhdGlvbiwKCSAgdGhlIGVsZW1lbnQgc2hvdWxkIHVzZSB0aGUgY3VycmVudCBwb3NpdGlvbiBhbmQgdGhlbiBzbmFwIGFzIHJlcXVlc3RlZC4KCSAgQWxzbyBmaXhlcyB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBsYWludCBieSBjbGFuZyBhYm91dAoJICAndHMnIHZhcmlhYmxlLgoKMjAxNi0wMi0yNiAxNzozMTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogc3luYyBpbmRleCBhbmQgdGhlIHNlbGVjdGVkIGNodW5rIHdoZW4gc2Vla2luZwoJICBPdGhlcndpc2UgdGhlIGNodW5rIHNlbGVjdGVkIGlzbid0IG1hdGNoZWQgdG8gdGhlIGluZGV4IGFuZAoJICB0aGUgdGltaW5nIHdpbGwgYmUgZGlmZmVyZW50LCBjYXVzaW5nIGl0IHRvIGFjdHVhbGx5IHN0YXJ0CgkgIGZyb20gYSBkaWZmZXJlbnQgcG9zaXRpb24KCjIwMTYtMDItMjYgMTI6NDE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEyNTM5NzQgdG8gNmYyZDIwOQoKMjAxNi0wMi0xNyAyMDoxMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBlZ2xpbWFnZW1lbW9yeTogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMgZm9yIEVHTCBkbWFidWYKCSAgZS5nLiB0aGUgUlBpIGRvZXNuJ3QgaGF2ZSB0aGVtIGRlZmluZWQKCjIwMTYtMDItMjYgMDA6MzU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1czogcmVuYW1lIHBsdWdpbiB0byBvcHVzcGFyc2UgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIFVudGlsIHdlIGZpeCBpdCB1cCBhbmQgZ2V0IHJpZCBvZiB0aGUgb3B1cyBkZXBlbmRlbmN5IGFuZAoJICBtb3ZlIGl0IGVsc2V3aGVyZSB0b28uCgoyMDE2LTAyLTE5IDAwOjM4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiByZW1vdmUgT3B1cyBlbmNvZGVyL2RlY29kZXIsIG1vdmVkIHRvIC1iYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMjYgMDg6MzQ6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGEgbWV0aG9kIHRvIGFkZCBhIGNvbnRleHQgdG8gYW5vdGhlciBzaGFyZSBncm91cAoJICBJbnRlbmRlZCBmb3IgdXNlIHdpdGggd3JhcHBlZCBjb250ZXh0cyB0aGF0IGFyZSBjcmVhdGVkIHNoYXJlZCB3aXRoIGdzdCdzCgkgIGdsIGNvbnRleHRzIGluIG9yZGVyIHRvIG1hbmFnZSB0aGUgaW50ZXJuYWwgc2hhcmVncm91cCBzdGF0ZSBjb3JyZWN0bHkuCgkgIGUuZy4gd2l0aCBjYW9wZW5nbGxheWVyICh3aGljaCBpcyB1c2VkIGluIGdsaW1hZ2VzaW5rIGFuZCBjYW9wZW5nbGxheWVyc2luawoJICBvbiBPUyBYKSwgd2UgY3JlYXRlIGEgQ0dMIGNvbnRleHQgZnJvbSB0aGUgZ3N0IGNvbnRleHQgYW5kIHRoZSBzaGFyaW5nIHN0YXRlCgkgIHdhcyBub3QgYmVpbmcgY29ycmVjdGx5IHNldCBvbiBlaXRoZXIgR0wgY29udGV4dCBhbmQgZ3N0X2dsX2NvbnRleHRfaXNfc2hhcmVkKCkKCSAgd2FzIGFsd2F5cyByZXR1cm5pbmcgRkFMU0UuCgkgIFdpdGggMTFmYjRmZmY4MGI2M2I5ZDY3YTczMWQ0YmIyMzhiNmMwYTI5ZDc3NCBvbmx5IGZsdXNoaW5nIHdpdGggbXVsdGlwbGUKCSAgc2hhcmVkIGNvbnRleHRzLCB0aGUgcmVxdWlyZWQgZmx1c2ggd2FzIG5vdCBvY2N1cmluZyBjYXVzaW5nIHNjcmVlbgoJICBjb3JydXB0aW9uIG9yIHN0dXR0ZXJpbmcuCgkgIE5vdGU6IHRoaXMgZGlkbid0IGFmZmVjdCBHU1RfR0xfQVBJPW9wZW5nbCBwaXBlbGluZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjYyMAoKMjAxNi0wMi0xNyAxNToyMDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSAgb3B1czogcmVtb3ZlIE9wdXMgUlRQIGVsZW1lbnRzLCB0aGV5IGhhdmUgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMS0xOCAwODo1MDozNCArMDAwMCAgQWxleCBBc2hsZXkgPGFsZXguYXNobGV5QHlvdXZpZXcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB0ZXN0czogcGFzcyB0ZXN0IG5hbWUgaW50byB0ZXN0IHNldHVwIGZ1bmN0aW9uCgkgIEFsbCBobHNkZW11eCB0ZXN0cyBjcmVhdGUgYSBHc3RTdHJ1Y3R1cmUgY2FsbGVkICJzdGF0ZSIgdGhhdCBjYW4gYmUgdXNlZAoJICBieSB0ZXN0IGNhc2VzIHRvIHN0b3JlIGluZm9ybWF0aW9uIGR1cmluZyBhIHRlc3QuIFRoZSBuYW1lIG9mIHRoaXMKCSAgc3RydWN0dXJlIGlzIGFyYml0cmFyeS4gV2hlbiB0aGUgY29kZSB3YXMgd3JpdHRlbiwgdGhlIGludGVudGlvbiB3YXMKCSAgdG8gdXNlIHRoZSBuYW1lIG9mIHRoZSB0ZXN0LCB0byBhaWQgZGVidWdnaW5nLiBIb3dldmVyLCBkdXJpbmcKCSAgZGV2ZWxvcG1lbnQgdGhpcyB3YXMgbG9zdCwgc28gdGhhdCB0aGUgc3RhdGUgR3N0U3RydWN0dXJlIGlzIGFsd2F5cwoJICBnaXZlbiB0aGUgbmFtZSAic2V0dXBfdGVzdF92YXJpYWJsZXMiLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoaXMgc28gdGhhdCB0aGUgbmFtZSBvZiB0aGUgdGVzdCBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjg0CgoyMDE2LTAyLTIzIDEyOjQyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBjb21wb3NpdG9yOiBkcm9wIHNwZWNpYWwgY2FzZSBmb3IgdmFsZ3JpbmQgdGltZW91dAoJICBUaGUgZGVmYXVsdCBvbmUgaXMgNiBtaW51dGVzLCB0aGUgdGVzdCB3YXMgdXNpbmcgNSBtaW51dGVzIHNvIGp1c3QKCSAgcmVzb3J0IHRvIHVzaW5nIHRoZSBkZWZhdWx0LgoJICBGb3IgdGhlIG5vbi12YWxncmluZCB0ZXN0IGFsc28gdXNlIHRoZSBkZWZhdWx0IDIwIHNlY3MgaW5zdGVhZCBvZgoJICByZWR1Y2luZyBpdCB0byA2cy4gTm8gcmVhbCByZWFzb24gdG8gc2V0IGEgY3VzdG9tIHZhbHVlIGhlcmUuCgoyMDE2LTAyLTIzIDEyOjE3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBjb21wb3NpdG9yOiBhZGQgdGVzdHMgZm9yIGNhcHMgcXVlcmllcwoJICBWZXJpZmllcyB0aGF0IHByb3BlciBjYXBzIGFyZSByZXR1cm5lZCBiYXNlZCBvbiB3aGF0IGRvd25zdHJlYW0KCSAgcmVzdHJpY3RzLgoKMjAxNi0wMi0xOCAxMDo1Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNhcHMgcXVlcmllcyB0byBhbGxvdyBwcm9wZXIgcmVuZWdvdGlhdGlvbgoJICBXaGVuIGNhcHMgYXJlIGFscmVhZHkgbmVnb3RpYXRlZCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8KCSAgc2VsZWN0IGZvcm1hdHMgb3RoZXIgdGhhbiB0aGUgb25lIHRoYXQgd2FzIG5lZ290aWF0ZWQuIElmIGRvd25zdHJlYW0KCSAgYWxsb3dzIGFscGhhIHZpZGVvIGNhcHMgYW5kIGl0IGhhcyBhbHJlYWR5IG5lZ290aWF0ZWQgdG8gYSBub24tYWxwaGEKCSAgZm9ybWF0LCBjYXBzIHF1ZXJpZXMgc2hvdWxkIHN0aWxsIHJldHVybiB0aGUgYWxwaGEgY2FwcyBhcyBhIHBvc3NpYmxlCgkgIGZvcm1hdCBhcyBjYXBzIHJlbmVnb3RpYXRpb24gY2FuIGhhcHBlbi4KCSAgSW5jbHVkZXMgdGVzdHMgKGZvciBjb21wb3NpdG9yKSB0byBjaGVjayB0aGF0IGNhcHMgcXVlcmllcyBkb25lIGFmdGVyCgkgIGEgY2FwcyBoYXMgYmVlbiBuZWdvdGlhdGVkIHJldHVybnMgY29tcGxldGUgcmVzdWx0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjEwCgoyMDE2LTAyLTI0IDE3OjA3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IE5lZ290aWF0ZSB0aGUgZGVjb2RlciBpbiBzZXRfZm9ybWF0KCkgYWxyZWFkeQoJICBEb24ndCB3YWl0IHVudGlsIGxhdGVyLCB3ZSB3YW50IHRvIGtub3cgaGVyZSBpZiB0aGUgY29kZWMgY2FuIGJlIG9wZW5lZCBvciBub3QKCSAgZm9yIHRoZSByZXF1ZXN0ZWQgZm9ybWF0LiBUaGlzIHdhcyByZW1vdmVkIChhY2NpZGVudGlhbGx5PykgYnkKCSAgMTE5ZTA5ZWFjMzE1Zjc5YWMyY2Y0NWI0NDQxYWQxZDkzMjEzMDYxNAoJICBXaXRob3V0IHRoaXMgZGVjb2RlYmluIGhhcyBubyB3YXkgdG8gc3dpdGNoIHRvIGEgZGlmZmVyZW50IGRlY29kZXIgaWYgdGhpcyBvbmUKCSAgZG9lcyBub3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjYxMwoKMjAxNi0wMi0yNSAxMTozNDo0MCArMDIwMCAgSm9lIEdvcnNlIDxqaGdvcnNlQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBGcmFtZSBkdXJhdGlvbnMgYXMgQ1RpbWUgdG8gdGhlIEFQSSwgbm90IGRvdWJsZQoJICBOZXdlciBpT1Mgc2VlbXMgdG8gYXV0b21hdGljYWxseSBjb252ZXJ0LCBvbGRlciBpT1MvT1NYIGp1c3QgY3Jhc2hlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU3NQoKMjAxNi0wMi0yNCAyMzo0ODoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogcmVsZWFzZSB0aGUgZnJhbWVzIGFuZCAgbGlzdCB3aGVuIHNlYXJjaGluZyBmb3IgYW4gb3V0cHV0IGJ1ZmZlcgoJICBGaXhlcyBhIG1hc3NpdmUgbGVhayBpbjoKCSAgdmlkZW90ZXN0c3JjICEgbnZoMjY0ZW5jICEgZmFrZXNpbmsKCjIwMTYtMDItMjMgMjM6MTA6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHF0OiB1c2UgYSBzdGF0aWNfY2FzdCBpbnN0ZWFkIG9mIGR5bmFtaWMgb25lCgkgIFRoZSBkeW5hbWljX2Nhc3QgaXMgYSBsaXR0bGUgYnV0IG9mIG92ZXJraWxsIGFzIHRoZSBhcHAgd2lsbCBzdGlsbCBjcmFzaCBpZiBpdAoJICBmYWlscyBpbiB0aGUgbGF0ZXIgZ19hc3NlcnQuCgkgIEFsbG93cyBjb21waWxhdGlvbiB3aXRoIC1mbm8tcnR0aQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTI2CgoyMDE2LTAyLTI0IDEwOjQ1OjE3ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsbWl4ZXI6IGl0ZXJhdG9yIGRpZG4ndCBhZHZhbmNlIGluIGNvbnRpbnVlIHN0YXRlbWVudAoJICBMZWFkaW5nIHRvIGEgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NzMKCjIwMTYtMDItMjMgMTg6MTc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTYtMDItMjMgMTg6MTM6MzcgKzAyMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSAgZGlzcGFyaXR5OiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDEwOjQ5OjQwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RseSBoYW5kbGUgYW4gSFRUUC1YU0RBVEUgdGhhdCBpcyBleGFjdGx5IHRoZSBzaXplIG9mIHRoZSBkYXRlIHN0cmluZwoJICBUaGUgY29kZSBpbiB0aGUgZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF94c2RhdGUoKSB3YXMgdHJ5aW5nIHRvCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgc3RyaW5nIGlzIG5vdCBudWxsIHRlcm1pbmF0ZWQgYnkgcmVzaXppbmcKCSAgdGhlIGJ1ZmZlciBhbmQgYXBwZW5kaW5nIGEgemVybyBieXRlLiBUaGlzIGRvZXMgbm90IHdvcmsgaWYgdGhlIGJ1ZmZlcgoJICBpcyBleGFjdGx5IHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBiZWNhdXNlIHRoZSBnc3RfYnVmZmVyX3Jlc2l6ZSgpCgkgIGZ1bmN0aW9uIGRvZXMgbm90IHJlLWFsbG9jYXRlIHRoZSBidWZmZXIsIGl0IGp1c3QgY2hhbmdlcyBpdHMgc2l6ZS4KCSAgSWYgYSBidWZmZXIgaXMgcGFzc2VkIHRvIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfeHNkYXRlKCkgdGhhdCBpcwoJICBleGFjdGx5IHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZywgdGhlIGZ1bmN0aW9uIGZhaWxzIHdpdGggYW4gYXNzZXJ0CgkgIGZhaWx1cmUgaW4gZ3N0X2J1ZmZlcl9yZXNpemUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0OAoKMjAxNi0wMi0yMyAxMTo1OTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IEFkZCBhdWRpb2ludGVybGVhdmUKCjIwMTYtMDItMjIgMTA6MjE6NDcgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgZmJkZXZzaW5rOiBmaXggYnl0ZXMgcGVyIHBpeGVsIGNhbGN1bGF0aW9uCgkgIFNpbXBsZSBwaXBlbGluZQoJICAkIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGZiZGV2c2luawoJICBjcmFzaGVzIHdpdGggU0lHU0VHViBpbiBjYXNlIHRoZSBmcmFtYnVmZmVyIHhyZXMgaXMgc21hbGxlcgoJICB0aGFuIHRoZSB2aXJ0dWFsIHhyZXMgcmVzb2x1dGlvbiwgZS5nLjoKCSAgJCBmYnNldAoJICBtb2RlICI4MDB4NDgwLTAiCgkgICMgRDogMC4wMDAgTUh6LCBIOiAwLjAwMCBrSHosIFY6IDAuMDAwIEh6CgkgIGdlb21ldHJ5IDgwMCA0ODAgMTkyMCAxMjAwIDE2CgkgIHRpbWluZ3MgMCAwIDAgMCAwIDAgMAoJICBhY2NlbCB0cnVlCgkgIHJnYmEgNS8xMSw2LzUsNS8wLDAvMAoJICBlbmRtb2RlCgkgIERlYnVnOgoJICAkIGdkYiBnc3QtbGF1bmNoLTEuMAoJICAoZ2RiKSBydW4gdmlkZW90ZXN0c3JjICEgZmJkZXZzaW5rCgkgIChnZGIpIHdoZXJlCgkgICMwICAweGI2YmQyZDI0IGluIF9fbWVtY3B5X25lb24gKCkKCSAgYXQgLi4vc3lzZGVwcy9hcm0vYXJtdjcvbXVsdGlhcmNoL21lbWNweV9pbXBsLlM6NTkxCgkgICMxICAweGI2OWIwNGU4IGluIGdzdF9mYmRldnNpbmtfc2hvd19mcmFtZSAodmlkZW9zaW5rPTB4MTBhMzM3OCwKCSAgYnVmPTB4YjVjMDg4MzgpIGF0IGdzdGZiZGV2c2luay5jOjI2OQoJICAjMiAgMHhiNjllODhjNCBpbiBnc3RfYmFzZV9zaW5rX2RvX3ByZXJvbGwgKHNpbms9c2lua0BlbnRyeT0weDEwYTMzNzgsCgkgIG9iaj0weGI1YzA4ODM4LCBvYmpAZW50cnk9MHhhMCkgYXQgZ3N0YmFzZXNpbmsuYzoyMjgxCgkgICMzICAweGI2OWU5MmJjIGluIGdzdF9iYXNlX3NpbmtfZG9fc3luYyAoYmFzZXNpbms9YmFzZXNpbmtAZW50cnk9MHgxMGEzMzc4LAoJICBvYmo9MHhhMCwgb2JqQGVudHJ5PTB4YjVjMDg4MzgsIGxhdGU9MHgwLCBsYXRlQGVudHJ5PTB4YjY1NDhiYTAsCgkgIHN0ZXBfZW5kPTB4MTQwLCBzdGVwX2VuZEBlbnRyeT0weGI2NTQ4YmE0KSBhdCBnc3RiYXNlc2luay5jOjI1MDAKCSAgIzQgIDB4YjY5ZWE2N2MgaW4gZ3N0X2Jhc2Vfc2lua19jaGFpbl91bmxvY2tlZCAoCgkgIGJhc2VzaW5rPWJhc2VzaW5rQGVudHJ5PTB4MTBhMzM3OCwgb2JqPTB4MCwgb2JqQGVudHJ5PTB4YjVjMDg4MzgsCgkgIGlzX2xpc3Q9aXNfbGlzdEBlbnRyeT0wLCBwYWQ9PG9wdGltaXplZCBvdXQ+KSBhdCBnc3RiYXNlc2luay5jOjM0ODYKCSAgIzUgIDB4YjY5ZWMxYzAgaW4gZ3N0X2Jhc2Vfc2lua19jaGFpbl9tYWluIChiYXNlc2luaz0weDEwYTMzNzgsCgkgIHBhZD08b3B0aW1pemVkIG91dD4sIG9iaj0weGI1YzA4ODM4LCBpc19saXN0PTApIGF0IGdzdGJhc2VzaW5rLmM6MzY0NwoJICAjNiAgMHhiNmViNWIxMCBpbiBnc3RfcGFkX2NoYWluX2RhdGFfdW5jaGVja2VkIChwYWQ9MHgxMGE2MTcwLAoJICB0eXBlPTxvcHRpbWl6ZWQgb3V0PiwgZGF0YT0weGI1YzA4ODM4KSBhdCBnc3RwYWQuYzo0MDg2CgkgICM3ICAweGI2ZWI3YTM0IGluIGdzdF9wYWRfcHVzaF9kYXRhIChwYWQ9cGFkQGVudHJ5PTB4MTBhNjAyMCwKCSAgdHlwZT10eXBlQGVudHJ5PTQxMTIsIGRhdGE9MHhiNWMwODgzOCkgYXQgZ3N0cGFkLmM6NDMzOAoJICAjOCAgMHhiNmViZjM0NCBpbiBnc3RfcGFkX3B1c2ggKHBhZD1wYWRAZW50cnk9MHgxMGE2MDIwLAoJICBidWZmZXI9PG9wdGltaXplZCBvdXQ+KSBhdCBnc3RwYWQuYzo0NDU0CgkgICM5ICAweGI2OWYyMmYwIGluIGdzdF9iYXNlX3NyY19sb29wIChwYWQ9MHgxMGE2MDIwKSBhdCBnc3RiYXNlc3JjLmM6Mjg0NQoJICAjMTAgMHhiNmVlZGRmYyBpbiBnc3RfdGFza19mdW5jICh0YXNrPTB4MTBhODgyOCkgYXQgZ3N0dGFzay5jOjMzMQoJICAjMTEgMHhiNmQ0ODVhMCBpbiBnX3RocmVhZF9wb29sX3RocmVhZF9wcm94eSAoZGF0YT08b3B0aW1pemVkIG91dD4pCgkgIGF0IGd0aHJlYWRwb1F1aXQKCSAgKGdkYikgZnJhbWUgMQoJICAjMSAgMHhiNjliMDRlOCBpbiBnc3RfZmJkZXZzaW5rX3Nob3dfZnJhbWUgKHZpZGVvc2luaz0weDEwYTMzNzgsCgkgIGJ1Zj0weGI1YzA4ODM4KSBhdCBnc3RmYmRldnNpbmsuYzoyNjkKCSAgMjY5ICAgICBnc3RmYmRldnNpbmsuYzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS4KCSAgKGdkYikgcCBmYmRldnNpbmsKCSAgJDEgPSAoR3N0RkJERVZTaW5rICopIDB4MTBhMzM3OAoJICAoZ2RiKSBwICpmYmRldnNpbmsKCSAgJDIgPSB7dmlkZW9zaW5rID0ge2VsZW1lbnQgPSB7ZWxlbWVudCA9IHtvYmplY3QgPSB7b2JqZWN0ID0gewoJICBnX3R5cGVfaW5zdGFuY2UgPSB7Z19jbGFzcyA9IDB4MTBhMmQ2MH0sIHJlZl9jb3VudCA9IDMsCgkgIHFkYXRhID0gMHgwfSwgbG9jayA9IHtwID0gMHgwLCBpID0gezAsIDB9fSwKCSAgbmFtZSA9IDB4MTBhMmYzMCAiZmJkZXZzaW5rMCIsIHBhcmVudCA9IDB4MTBhNzBhMCwgZmxhZ3MgPSAzMiwKCSAgY29udHJvbF9iaW5kaW5ncyA9IDB4MCwgY29udHJvbF9yYXRlID0gMTAwMDAwMDAwLAoJICBsYXN0X3N5bmMgPSAxODQ0Njc0NDA3MzcwOTU1MTYxNSwgX2dzdF9yZXNlcnZlZCA9IDB4MH0sCgkgIHN0YXRlX2xvY2sgPSB7cCA9IDB4MTA5ZjlhOCwgaSA9IHswLCAwfX0sIHN0YXRlX2NvbmQgPSB7cCA9IDB4MCwgaSA9IHsKCSAgMywgMH19LCBzdGF0ZV9jb29raWUgPSAyLCB0YXJnZXRfc3RhdGUgPSBHU1RfU1RBVEVfUEFVU0VELAoJICBjdXJyZW50X3N0YXRlID0gR1NUX1NUQVRFX1JFQURZLCBuZXh0X3N0YXRlID0gR1NUX1NUQVRFX1BBVVNFRCwKCSAgcGVuZGluZ19zdGF0ZSA9IEdTVF9TVEFURV9QQVVTRUQsCgkgIGxhc3RfcmV0dXJuID0gR1NUX1NUQVRFX0NIQU5HRV9BU1lOQywgYnVzID0gMHgxMDhiY2I4LCBjbG9jayA9IDB4MCwKCSAgYmFzZV90aW1lID0gMCwgc3RhcnRfdGltZSA9IDAsIG51bXBhZHMgPSAxLCBwYWRzID0gMHgxMDljYzIwLAoJICBudW1zcmNwYWRzID0gMCwgc3JjcGFkcyA9IDB4MCwgbnVtc2lua3BhZHMgPSAxLCBzaW5rcGFkcyA9IDB4MTA5Y2MzMCwKCSAgcGFkc19jb29raWUgPSAxLCBfZ3N0X3Jlc2VydmVkID0gezB4MCwgMHgwLCAweDAsIDB4MH19LAoJICBzaW5rcGFkID0gMHgxMGE2MTcwLCBwYWRfbW9kZSA9IEdTVF9QQURfTU9ERV9QVVNILCBvZmZzZXQgPSAwLAoJICBjYW5fYWN0aXZhdGVfcHVsbCA9IDAsIGNhbl9hY3RpdmF0ZV9wdXNoID0gMSwgcHJlcm9sbF9sb2NrID0ge3AgPSAweDEsCgkgIGkgPSB7MSwgMH19LCBwcmVyb2xsX2NvbmQgPSB7cCA9IDB4MCwgaSA9IHswLCAwfX0sIGVvcyA9IDAsCgkgIG5lZWRfcHJlcm9sbCA9IDEsIGhhdmVfcHJlcm9sbCA9IDAsIHBsYXlpbmdfYXN5bmMgPSAxLAoJICBoYXZlX25ld3NlZ21lbnQgPSAxLCBzZWdtZW50ID0ge2ZsYWdzID0gR1NUX1NFR01FTlRfRkxBR19OT05FLCByYXRlID0gMSwKCSAgYXBwbGllZF9yYXRlID0gMSwgZm9ybWF0ID0gR1NUX0ZPUk1BVF9USU1FLCBiYXNlID0gMCwgb2Zmc2V0ID0gMCwKCSAgc3RhcnQgPSAwLCBzdG9wID0gMTg0NDY3NDQwNzM3MDk1NTE2MTUsIHRpbWUgPSAwLCBwb3NpdGlvbiA9IDMzMzMzMzMzLAoJICBkdXJhdGlvbiA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1LCBfZ3N0X3Jlc2VydmVkID0gezB4MCwgMHgwLCAweDAsCgkgIDB4MH19LCBjbG9ja19pZCA9IDB4MCwgc3luYyA9IDEsIGZsdXNoaW5nID0gMCwgcnVubmluZyA9IDAsCgkgIG1heF9sYXRlbmVzcyA9IDIwMDAwMDAwLCBwcml2ID0gMHgxMGEzMTg4LCBfZ3N0X3Jlc2VydmVkID0gewoJICAweDAgPHJlcGVhdHMgMjAgdGltZXM+fX0sIHdpZHRoID0gMCwgaGVpZ2h0ID0gMCwgcHJpdiA9IDB4MTBhMzE4MCwKCSAgX2dzdF9yZXNlcnZlZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9fSwgZml4aW5mbyA9IHsKCSAgaWQgPSAnXDAwMCcgPHJlcGVhdHMgMTUgdGltZXM+LCBzbWVtX3N0YXJ0ID0gMTA3ODk4NDcwNCwKCSAgc21lbV9sZW4gPSA0NjA4MDAwLCB0eXBlID0gMCwgdHlwZV9hdXggPSAwLCB2aXN1YWwgPSAyLCB4cGFuc3RlcCA9IDEsCgkgIHlwYW5zdGVwID0gMSwgeXdyYXBzdGVwID0gMCwgbGluZV9sZW5ndGggPSAzODQwLCBtbWlvX3N0YXJ0ID0gMCwKCSAgbW1pb19sZW4gPSAwLCBhY2NlbCA9IDAsIGNhcGFiaWxpdGllcyA9IDAsIHJlc2VydmVkID0gezAsIDB9fSwgdmFyaW5mbyA9IHsKCSAgeHJlcyA9IDgwMCwgeXJlcyA9IDQ4MCwgeHJlc192aXJ0dWFsID0gMTkyMCwgeXJlc192aXJ0dWFsID0gMTIwMCwKCSAgeG9mZnNldCA9IDAsIHlvZmZzZXQgPSAwLCBiaXRzX3Blcl9waXhlbCA9IDE2LCBncmF5c2NhbGUgPSAwLCByZWQgPSB7CgkgIG9mZnNldCA9IDExLCBsZW5ndGggPSA1LCBtc2JfcmlnaHQgPSAwfSwgZ3JlZW4gPSB7b2Zmc2V0ID0gNSwKCSAgbGVuZ3RoID0gNiwgbXNiX3JpZ2h0ID0gMH0sIGJsdWUgPSB7b2Zmc2V0ID0gMCwgbGVuZ3RoID0gNSwKCSAgbXNiX3JpZ2h0ID0gMH0sIHRyYW5zcCA9IHtvZmZzZXQgPSAwLCBsZW5ndGggPSAwLCBtc2JfcmlnaHQgPSAwfSwKCSAgbm9uc3RkID0gMCwgYWN0aXZhdGUgPSAwLCBoZWlnaHQgPSA0Mjk0OTY3Mjk1LCB3aWR0aCA9IDQyOTQ5NjcyOTUsCgkgIGFjY2VsX2ZsYWdzID0gMSwgcGl4Y2xvY2sgPSAwLCBsZWZ0X21hcmdpbiA9IDAsIHJpZ2h0X21hcmdpbiA9IDAsCgkgIHVwcGVyX21hcmdpbiA9IDAsIGxvd2VyX21hcmdpbiA9IDAsIGhzeW5jX2xlbiA9IDAsIHZzeW5jX2xlbiA9IDAsCgkgIHN5bmMgPSAwLCB2bW9kZSA9IDAsIHJvdGF0ZSA9IDAsIGNvbG9yc3BhY2UgPSAwLCByZXNlcnZlZCA9IHswLCAwLCAwLCAwfX0sCgkgIGZkID0gNSwKCSAgZnJhbWVidWZmZXIgPSAweGI2NTRhMDAwIDxlcnJvcjogQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweGI2NTRhMDAwPiwgZGV2aWNlID0gMHgxMGEzOGQ4ICIvZGV2L2ZiMCIsIHdpZHRoID0gMzIwLCBoZWlnaHQgPSAyNDAsIGN4ID0gMjQwLCBjeSA9IDEyMCwKCSAgbGluZWxlbiA9IDEyODAsIGxpbmVzID0gMjQwLCBieXRlc3BwID0gNCwgZnBzX24gPSAzMCwgZnBzX2QgPSAxfQoJICAoZ2RiKSBwIG1hcAoJICAkMyA9IHttZW1vcnkgPSAweGI1ZDI0MDA4LCBmbGFncyA9IEdTVF9NQVBfUkVBRCwKCSAgZGF0YSA9IDB4YjVkMjQwNTggJ1wzNzcnIDxyZXBlYXRzIDkwIHRpbWVzPiwgIlwzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhXDM3N1xhIi4uLiwKCSAgc2l6ZSA9IDE1MzYwMCwgbWF4c2l6ZSA9IDE1MzYwMywgdXNlcl9kYXRhID0gezB4MCwKCSAgMHhiNjllM2JhNCA8Z3N0X2Jhc2Vfc2lua19zZXRfbGFzdF9idWZmZXJfdW5sb2NrZWQrOTI+LCAweDEwYTMzNzgsIDB4MH0sCgkgIF9nc3RfcmVzZXJ2ZWQgPSB7MHgxLCAweDEwYTMzNzgsIDB4YjZmNTBkZDggPF9nc3RfZGVidWdfbWluPiwgMHhiNWMwODgzOH19CgkgIChnZGIpIHAgaQoJICAkNCA9IDEyMQoJICBGaXggdGhpcyBieSBjaGFuZ2luZyB0aGUgZmJkZXZzaW5rLT5ieXRlc3BwIGNhbGN1bGF0aW9uIHVzaW5nCgkgIHRoZSBmcmFtZSBidWZmZXIgeHJlc192aXJ0dWFsIHNpemUgaW5zdGVhZCBvZiB4cmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDgyCgoyMDE2LTAyLTIyIDEyOjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEV4cG9zZSBtb3JlIEdzdFZpZGVvT3ZlcmxheSBBUEkgaW4gdGhlIEdzdFBsYXllclZpZGVvT3ZlcmxheVZpZGVvUmVuZGVyZXIKCSAgRXhwb3NlIHRoZSBleHBvc2UoKSBhbmQgc2V0X3JlbmRlcl9yZWN0YW5nbGUoKSBtZXRob2RzLiBUaGVzZSBhcmUgdXNlZnVsIGZvcgoJICBwcm9wZXIgZnVuY3Rpb25pbmcgb2YgdGhlIHZpZGVvIG92ZXJsYXkgaW4gdmFyaW91cyBzaXR1YXRpb25zIGFuZCB0b29sa2l0cy4KCjIwMTYtMDItMjIgMjE6MDM6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGZpeCB0aGUgYnVpbGQKCSAgMmQyODc4MTIgd2FzIGluY29tcGxldGUKCjIwMTYtMDItMjIgMjA6NDk6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGVycm9yIG91dCBpZiB0aGUgY29uZmlndXJlZCBHTCBBUEkgaXMgdW5zdXBwb3J0ZWQgYnkgb3VyIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTgwMQoKMjAxNi0wMS0yNCAxNzo0MDozNyArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxbWxnbHNpbms6IFNjaGVkdWxlIG9uU2NlbmVHcnBhaEluaXRpYWxpemVkIHRvIGV4ZWN1dGUgb24gcmVuZGVyIHRocmVhZAoJICBvblNjZW5lR3JhcGhJbml0aWFsaXplZCgpIGlzIGNhbGxlZCBmcm9tIG5vbiByZW5kZXIgdGhyZWFkIGN1cnJlbnRseSB3aGVuCgkgIHNjZW5lIGdyYXBoIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMDMKCjIwMTYtMDEtMDcgMTg6MjY6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggbmVnb3RpYXRpb24gZXJyb3JzIHdpdGggbXVsdGktY2hhbm5lbCBmaWxlcwoJICBTZXQgZmFsbGJhY2sgY2hhbm5lbCBsYXlvdXQgb24gZmlsZXMgd2l0aCBtb3JlIHRoYW4gdHdvCgkgIGNoYW5uZWxzLiBOb3QgY2xlYXIgd2hlcmUgdG8gcmV0cmlldmUgdGhlIHJlYWwgbGF5b3V0IGZyb20KCSAgb3Igd2hhdCB0aGUgZGVmYXVsdCBsYXlvdXQgaXMgZm9yIEFJRkYgZmlsZXMsIHRoZSBzcGVjCgkgIG9ubHkgc2VlbXMgdG8gc3BlY2lmeSBzb21lIGxheW91dCBmb3IgdXAgdG8gNiBjaGFubmVscwoJICBhbmQgdGhlIGZpbGUgaW4gcXVlc3Rpb24gZG9lc24ndCBoYXZlIGEgQ0hBTiBjaHVuay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjQyNQoKMjAxNi0wMi0yMSAxMDozNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jZHhhcGFyc2UvY2R4YXBhcnNlLnZjcHJvajoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXgudmNwcm9qOgoJKiBnc3Qvb3ZlcmxheS9vdmVybGF5LnZjcHJvajoKCSogZ3N0L3J0anBlZy9ydGpwZWcudmNwcm9qOgoJKiBnc3Qvc21vb3RoL3Ntb290aC52Y3Byb2o6CgkqIGdzdC9zcGVlZC9zcGVlZC52Y3Byb2o6CgkqIGdzdC9zdGVyZW8vc3RlcmVvLnZjcHJvajoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2dzdC5zbG46CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZsdi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RuZW9uLmRzcDoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgd2luMzI6IHJlbW92ZSBvdXRkYXRlZCBidWlsZCBjcnVmdAoJICBUaGlzIGhhc24ndCBiZWVuIHRvdWNoZWQgZm9yIGdlbmVyYXRpb25zLCBkb2Vzbid0IHdvcmssCgkgIGFuZCBpcyBqdXN0IGNhdXNpbmcgY29uZnVzaW9uLiBXZSBhbHNvIGRvbid0IHdhbnQgdG8KCSAgbWFpbnRhaW4gdGhlc2UgZmlsZXMgbWFudWFsbHkuCgoyMDE2LTAyLTIwIDEyOjU1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkgIGRhYWxhOiBkb24ndCB1c2UgZXhwb3J0ZWQgYnV0IHVuZGVjbGFyZWQgY29yZSBkZWJ1ZyBjYXRlZ29yeSBzeW1ib2xzCgkgIEl0J3Mgbm90IHJpZ2h0IGFuZCB3b24ndCB3b3JrIG9uIFdpbmRvd3Mgd2l0aCBNU1ZDLgoKMjAxNi0wMi0xOSAxNDoyNzo1OSAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggaW5pdGlhbGl6YXRpb24gb2Ygc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZwoJICBILjI2NSA3LjQuNy4xIHNheXM6CgkgID4gV2hlbiBzbGljZV9kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnIGlzIG5vdCBwcmVzZW50LCBpdCBpcwoJICA+IGluZmVycmVkIHRvIGJlIGVxdWFsIHRvIHBwc19kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMzUxCgoyMDE2LTAyLTE5IDE2OjQwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIHNjYW5uaW5nIGZvciBzeW5jIGNvZGUKCSAgT25seSBzZWFyY2ggaWYgdGhlcmUgaXMgaW5kZWVkIGVub3VnaCBkYXRhIHRvIGJlIHNlYXJjaGVkIG90aGVyd2lzZQoJICBhbiBhc3NlcnRpb24gaXMgcmFpc2VkCgoyMDE2LTAyLTE5IDE3OjQ4OjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IEZpeCBwZXItcHJvZ3JhbS1wYWQgcHVzaGluZwoJICBUaGlzIGZpeGVzIGEgY291cGxlIG9mIGlzc3VlcyByZWdhcmRpbmcgdGhlIG91dHB1dCBvZiAocmVxdWVzdCkKCSAgcGVyLXByb2dyYW0gcGFkcyBvdXRwdXQ6CgkgIFdlIHdvdWxkIG5ldmVyIHB1c2ggb3V0IFBBVCBzZWN0aW9ucyAob2ssIHRoYXQgd2FzIG9uZSByZWFsbGx5IHN0dXBpZAoJICBtaXN0YWtlLiBJIGd1ZXNzIG5vYm9keSBldmVyIHVzZXMgdGhpcyBmZWF0dXJlIC4uLikuCgkgIEluIHRoZSBjYXNlIHdoZXJlIHRoZSBQTVQgc2VjdGlvbiBvZiBhIHByb2dyYW0gd2FzIGJpZ2dlciB0aGFuIG9uZQoJICBwYWNrZXQsIHdlIHdvdWxkIG9ubHkgZW5kIHVwIHB1c2hpbmcgdGhlIGxhc3QgcGFja2V0IG9mIHRoYXQgUE1ULiBXaGljaAoJICBvYnZpb3VzbHkgcmVzdWx0cyBpbiB0aGUgcmVzdWx0aW5nIHN0cmVhbSBuZXZlciBjb250YWluaW5nIHRoZSBwcm9wZXIKCSAgKGNvbXBsZXRlKSBQTVQuCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IHRoZSBwcm9ncmFtIGlzIG9ubHkgc3RhcnRlZCAoaW4gdGhlIGJhc2UgY2xhc3MpCgkgIGFmdGVyIHRoZSBQTVQgc2VjdGlvbiBpcyBjb21wbGV0ZWx5IHBhcnNlZC4gV2hlbiBkZWFsaW5nIHdpdGggc2luZ2xlLXByb2dyYW0KCSAgcGFkcywgdHNwYXJzZSBvbmx5IHdhbnRzIHRvIHB1c2ggdGhlIFBNVCBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXF1ZXN0ZWQKCSAgcHJvZ3JhbSAoYW5kIG5vdCB0aGUgb3RoZXIgb25lcykuIHRzcGFyc2UgZGlkIHRoYXQgY2hlY2sgYnkgbG9va2luZwoJICBhdCB0aGUgc3RyZWFtcyBvZiB0aGUgcHJvZ3JhbS4uLgoJICAuLi4gYnV0IHRoYXQgcHJvZ3JhbSBkb2Vzbid0IGV4aXN0IGZvciB0aGUgZmlyc3QgcGFja2V0cyBvZiB0aGUgaW5pdGlhbAoJICBQTVQuCgkgIFRoZSBmaXggaXMgdG8gdXNlIHRoZSBiYXNlIGNsYXNzIHByb2dyYW0gaW5mb3JtYXRpb24gKGlmIGl0IHBhcnNlZCB0aGUKCSAgUEFUIGl0IGFscmVhZHkgaGFzIHNvbWUgaW5mb3JtYXRpb24sIGxpa2UgdGhlIFBNVCBQSUQgZm9yIGEgZ2l2ZW4gcHJvZ3JhbSkKCSAgaWYgdGhlIHByb2dyYW0gaGFzbid0IHN0YXJ0ZWQgeWV0LgoKMjAxNi0wMi0xOSAxNzo0NToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogVXNlIEdzdEZsb3dDb21iaW5lcgoJICBJbiBhZGRpdGlvbiB0byB0aGUgZmFjdCB0aGF0IGl0J3MgYSBzYW5lIHRoaW5nIHRvIGRvIGZvciBtdWx0aS1zb3VyY2UKCSAgcGFkIGVsZW1lbnRzLCBpdCBhbHNvIGF2b2lkcyB0aGUgc2l0dWF0aW9uIHdoZXJlIGp1c3QgdXNpbmcgYSByZXF1ZXN0CgkgIHBhZCAoYW5kIG5vdCB0aGUgbWFpbiBzdGF0aWMgcGFkKSB3b3VsZCByZXN1bHQgaW4gdGhlIHByb2Nlc3NpbmcKCSAgc3RvcHBpbmcuCgoyMDE2LTAyLTE5IDEyOjM4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMiA9PT0KCjIwMTYtMDItMTkgMTE6NTA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMgoKMjAxNi0wMi0xOSAxMDozMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMi0xOCAxNDozMjoyMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQtdW5pbnN0YWxsZWQucGMuaW46CgkgIHVuaW5zdGFsbGVkLnBjOiBhZGQgc3VwcG9ydCBmb3Igbm9uIGxpYnRvb2wgYnVpbGQgc3lzdGVtcwoJICBDdXJyZW50bHkgdGhlIC5sYSBwYXRoIGlzIHByb3ZpZGVkIHdoaWNoIHJlcXVpcmVzIHRvIHVzZSBsaWJ0b29sIGFzCgkgIG1lbnRpb25lZCBpbiB0aGUgR1N0cmVhbWVyIG1hbnVhbCBzZWN0aW9uLWhlbGxvd29ybGQtY29tcGlsZXJ1bi5odG1sLgoJICBJdCBpcyBmaW5lIGFzIGxvbmcgYXMgdGhlIGFwcGxpY2F0aW9uIGlzIGJ1aWx0IHVzaW5nIGxpYnRvb2wuCgkgIFNvIGN1cnJlbnRseSBpdCBpcyBub3QgcG9zc2libGUgdG8gY29tcGlsZSBhIEdTdHJlYW1lciBhcHBsaWNhdGlvbgoJICB3aXRoaW4gZ3N0LXVuaW5zdGFsbGVkIHdpdGggQ01ha2Ugb3Igb3RoZXIgYnVpbGQgc3lzdGVtIGRpZmZlcmVudAoJICB0aGFuIGF1dG90b29scy4KCSAgVGhpcyBwYXRjaCBhbGxvd3MgdG8gZG8gdGhlIGZvbGxvd2luZyBpbiBnc3QtdW5pbnN0YWxsZWQgZW52OgoJICBnY2MgdGVzdC5jIC1vIHRlc3QgJChwa2ctY29uZmlnIC0tY2ZsYWdzIC0tbGlicyBnc3RyZWFtZXItMS4wIFwKCSAgZ3N0cmVhbWVyLWdsLTEuMCkKCSAgUHJldmlvdXNseSBpdCByZXF1aXJlZCB0byBwcmVwZW5kIGxpYnRvb2wgLS1tb2RlPWxpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDc3OAoKMjAxNi0wMi0xOCAxNjoyMTozOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGRlYnVnOiBtYWtlIHN1cmUgZGVidWcgaXMgaW5pdGlhbGl6ZWQgd2hlbiBjYWxsaW5nIGdzdF9nbF9pbnNlcnRfZGVidWdfbWFya2VyCgkgIFVzdWFsbHkgZ2wgZGVidWcgaXMgaW5pdGlhbGl6ZWQgaW4gZ3N0X2dsX2NvbnRleHRfY3JlYXRlX3RocmVhZC4KCSAgQnV0IHRoaXMgZnVuY3Rpb24gaXMgbm90IHVzZWQgd2hlbiB1c2luZyB0aGUgR3N0R0xDb250ZXh0R1BVUHJvY2VzcwoJICBmcm9tIENocm9taXVtR1N0cmVhbWVyQmFja2VuZC4KCSAgUmVjZWl2ZWQgc2lnbmFsIDExIFNFR1ZfTUFQRVJSIDAwMDAwMDAwMDAwMAoJICBnc3RfZGVidWdfY2F0ZWdvcnlfZ2V0X3RocmVzaG9sZAoJICBnc3RfZ2xfaW5zZXJ0X2RlYnVnX21hcmtlcgoJICBnc3RfZ2xfYmFzZV9maWx0ZXJfZ2xfc3RhcnQKCjIwMTYtMDItMTggMTA6MzM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdXRpbHMvZ2xlc192ZXJzaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvdXRpbHMvb3BlbmdsX3ZlcnNpb25zLmg6CgkgIGdsOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgY29uc3QgdmFyaWFibGUgd2l0aCBnY2MgNgoJICBDQyAgICAgICBsaWJnc3RnbF94MTFfbGEtZ3N0Z2xjb250ZXh0X2dseC5sbwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0Z2xjb250ZXh0X2dseC5jOjM5OjA6CgkgIC4uL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOjUyOjQzOiBlcnJvcjog4oCYZ2xlczJfdmVyc2lvbnPigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWNvbnN0LXZhcmlhYmxlXQoJICBzdGF0aWMgY29uc3Qgc3RydWN0IHsgaW50IG1ham9yLCBtaW5vcjsgfSBnbGVzMl92ZXJzaW9uc1tdID0gewoJICBefn5+fn5+fn5+fn5+fgoKMjAxNi0wMi0xOCAxMDoyOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IE1vdmUgcHJpdmF0ZSBoZWFkZXJzIGZyb20gU09VUkNFUyB0byBub2luc3RfSEVBREVSUwoKMjAxNi0wMi0xOCAwMDoyNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IEMrKzExIGNvbXBhdGliaWxpdHkKCSAgZ3N0bW9kcGx1Zy5jYzo5NDoxNzogZXJyb3I6IGludmFsaWQgc3VmZml4IG9uIGxpdGVyYWw7IEMrKzExIHJlcXVpcmVzIGEgc3BhY2UgYmV0d2VlbiBsaXRlcmFsIGFuZCBzdHJpbmcgbWFjcm8gWy1XZXJyb3I9bGl0ZXJhbC1zdWZmaXhdCgkgICNkZWZpbmUgRk9STUFUUyAieyAiR1NUX0FVRElPX05FIChTMzIpIiwgIkdTVF9BVURJT19ORSAoUzE2KSIsIFU4IH0iCgkgIF4KCSAgZ3N0bW9kcGx1Zy5jYzo5NDozOTogZXJyb3I6IGludmFsaWQgc3VmZml4IG9uIGxpdGVyYWw7IEMrKzExIHJlcXVpcmVzIGEgc3BhY2UgYmV0d2VlbiBsaXRlcmFsIGFuZCBzdHJpbmcgbWFjcm8gWy1XZXJyb3I9bGl0ZXJhbC1zdWZmaXhdCgkgICNkZWZpbmUgRk9STUFUUyAieyAiR1NUX0FVRElPX05FIChTMzIpIiwgIkdTVF9BVURJT19ORSAoUzE2KSIsIFU4IH0iCgkgIF4KCjIwMTYtMDItMTYgMTU6MTA6MzQgKzAxMDAgIERhdmlkIEZlcm5hbmRleiA8ZC5mZXJuYW5kZXpsb3BAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogZG9uJ3Qgc2VuZCBlbXB0eSBidWZmZXJzCgkgIEZpeGVzIHByb2JsZW0gaW4gY3VybGh0dHBzaW5rIHdoZW4gcXRtdXggdXNlcyBmYXN0c3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIwMTMKCjIwMTYtMDItMTcgMTE6MTY6NTMgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogRml4IHNvbWUgZGVidWdzCgoyMDE2LTAxLTI2IDA5OjM0OjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NF9zcmM6IEZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIHY0bF9jYXBzIGFuZCBuZXdfY2FwcyBhcmUgYmVpbmcgYWxsb2NhdGVkIG5ldyBtZW1vcnkgYmVmb3JlIGZyZWVpbmcgdGhlCgkgIG9sZCBhbGxvY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMTA4CgoyMDE1LTEyLTI0IDE1OjM2OjU0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3IgY29kZSB0byBjaGVjayBmb3Igc3ViY2xhc3Mgc2VlayBoYW5kbGluZwoJICBJZiBzdWJjbGFzcyBpcyBub3QgYWJsZSB0byBoYW5kbGUgc2VlayBldmVudCwgdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvCgkgIHN0b3Agc3RyZWFtaW5nIGFuZCBzZW5kIGZsdXNoIGV2ZW50cy4gV2Ugc2hvdWxkIHNpbXBseSByZXR1cm4gRkFMU0UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNgoKMjAxNS0xMi0yNCAxNToxMDoxNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEFkZCBjb25kaXRpb24gdG8gY2hlY2sgZm9yIG5vbiB3b3JraW5nIG5lZ2F0aXZlIHJhdGUKCSAgdHNkZW11eCBpcyBub3QgYWJsZSB0byBoYW5kbGUgbmVnYXRpdmUgcGxheWJhY2sgcmF0ZXMuCgkgIEJ1dCBpbiBtcGVndHNiYXNlLCB0aGUgc2FtZSBjaGVjayBpcyBub3QgYmVpbmcgZG9uZS4KCSAgYWRkZWQgYSBjaGVjayB0byBub3QgaGFuZGxlIG5lZ2F0aXZlIHJhdGUgd2hpbGUgc2Vla2luZyB1bmxlc3MKCSAgdGhlIHNhbWUgaXMgaGFuZGxlZCB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNgoKMjAxNi0wMi0xNyAxMzowMDo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBpbnNlcnQgdGhlIGRlYnVnIG1hcmtlciBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTUzOAoKMjAxNi0wMi0xNyAxMTo0MjoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW5zZWQgcmVjb25maWd1cmUgdmFyaWFibGUKCjIwMTYtMDEtMTMgMTM6MTc6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IHB1c2ggYSByZWNvbmZpZ3VyZSBldmVudCBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgRG9pbmcgc28gbWF5IGNhdXNlIGRlYWRsb2NrcyB3aGVuIG90aGVyIGVsZW1lbnRzIGF0dGVtcHQgZGVzdHJveSBvciBjcmVhdGVkCgkgIEdMIHJlc291cmNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1OQoKMjAxNi0wMS0yMSAxMDo0MDozNiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCBsZWFrIHBhZCdzIHZlcnRleCBidWZmZXIgb24gcmVsZWFzZV9wYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg3MwoKMjAxNi0wMi0xNyAwMTowODoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4Lmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbG1peGVyOiBSZW1vdmUgdXNhZ2Ugb2YgR3N0R0xNaXhlckZyYW1lRGF0YQoJICBTdWJjbGFzc2VzIGNhbiBqdXN0IGl0ZXJhdGUgb3ZlciB0aGUgbGlzdCBvZiBwYWRzIHRoZW1zZWx2ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg3MwoKMjAxNi0wMS0xMyAxNDo0MToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbGUgY2FsbGluZyBpbnRvIEdMCgkgIERvaW5nIHNvIGNhbiBkZWFkbG9jayBiZXR3ZWVuIHRoZSBHTCB0aHJlYWQgYW5kIHRoZSBvYmplY3QgbG9jayBlLmcuCgkgIHdoZW4gcGVyZm9ybWluZyByZWNvbmZpZ3VyZSBldmVudHMgaW4gZ2xpbWFnZXNpbmsgb24gYSByZXNpemUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTkKCjIwMTYtMDItMTYgMjI6MzQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb246IG1ha2UgY2hlY2stZXhwb3J0cyBub3QgZmFpbCBmb3IgbGliZ3N0Z2wuZGVmCgkgIFNob3VsZCBmaXggZGlzdGNoZWNrIG9uIHNvbWUgYnVpbGQgYm90cy4KCjIwMTYtMDEtMjYgMDk6Mzc6MDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21lbmMvYWNtbXAzZGVjOiByZW1vdmUgdW5uZWNlc3NhcnkgYnJlYWsgYWZ0ZXIgcmV0dXJuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExMDkKCjIwMTUtMDctMjEgMTg6MDI6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbXByb3ZlIGNoZWNrIGZvciB3YXlsYW5kLXNjYW5uZXIgYmluYXJ5CgkgIFRoZSBwbHVnaW4gZG9lc24ndCBuZWVkIHRoZSB3YXlsYW5kLXNjYW5uZXIgcGFja2FnZSB0byBiZSBidWlsdAoJICBvciBydW4sIGl0IG9ubHkgbmVlZHMgdGhlIHdheWxhbmQtc2Nhbm5lciBwcm9ncmFtIGR1cmluZyBjb21waWxlIHRpbWUuCgkgIFdoZW4gY3Jvc3MtY29tcGlsaW5nLCBidWlsZCBzeXN0ZW1zIG1pZ2h0IG5vdCBoYXZlIHRoZSB3YXlsYW5kLXNjYW5uZXIKCSAgcGFja2FnZSBmb3IgdGhlIHRhcmdldCBzeXN0ZW0gYXMgaXQgaXMgYSBkZXZlbG9wZXIncyB0b29sLCB3aGlsZSBpdCBzaG91bGQKCSAgc3RpbGwgYmUgcG9zc2libGUgdG8gdXNlIHdheWxhbmQtc2Nhbm5lciBmcm9tIHRoZSBob3N0IHN5c3RlbS4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBub3QgcmVxdWlyaW5nIHRoZSB3YXlsYW5kLXNjYW5uZXIgcGFja2FnZSBidXQKCSAganVzdCB0aGUgYmluYXJ5IGl0c2VsZi4KCSAgTm90ZSB0aGF0IHRoZSBjaGVjayBpcyBkb25lIG91dHNpZGUgb2YgdGhlIFBLR19DSEVDS19NT0RVTEVTCgkgIGFzIGl0IGRvZXNuJ3Qgd29yayBpbnNpZGUgb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2ODgKCjIwMTYtMDEtMjEgMTE6NTM6MzMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmVzdG9yZSBiaXRyYXRlIGF2ZXJhZ2luZyBzdXBwb3J0CgkgIFRoaXMgd2FzIGFjY2lkZW50YWxseSByZW1vdmVkIGluIGNvbW1pdCBjY2ZmM2JlMy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk1OQoKMjAxNi0wMS0yMCAxNTozMzoyOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHF1ZXVlMiBvdmVycnVuIG5vdGlmaWNhdGlvbgoJICBEdWUgdG8gcGVyZm9ybWFuY2UgaW1wYWN0IGNvbmNlcm5zIHRoaXMgaXMgcmVtb3ZlZC4gQW4gYWx0ZXJuYXRpdmUKCSAgYXBwcm9hY2ggd291bGQgYmUgdG8gcmVseSBvbiBidWZmZXJpbmcgbWVzc2FnZXMgbW9uaXRvcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk1OQoKMjAxNi0wMi0xNiAxNjoxODoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogYWRkIHRoZSBuZWNlc3NhcnkgYnV0IGFyYml0cmFyeSBxdWV1ZSBwcmlvcml0eQoJICBTaWxlbmNlcyBhbiBlcnJvciBpbiB0aGUgdmFsaWRhdGlvbiBsYXllcnMuCgoyMDE2LTAyLTE2IDE2OjEyOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFkZCB0aGUgbmVjZXNzYXJ5IGNhbGwgdG8gY2hlY2sgaWYgdGhlIHBoeXNpY2FsIGRldmljZSBzdXBwb3J0cyB0aGUgc3VyZmFjZQoJICBTaWxlbmNlcyBhbiBlcnJvciBpbiB0aGUgdmFsaWRhdGlvbiBsYXllcnMuCgoyMDE2LTAyLTE2IDE1OjUzOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IHVwZGF0ZSB0byBTREsgMS4wLjMuMQoKMjAxNi0wMi0xNiAxNTozNjo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2dWxrYW4vYnVpbGQ6IHNlYXJjaCBmb3IgdGhlIGNvcnJlY3QgbGlicmFyeQoJICBTREsgMS4wLjEgdXNlZCBsaWJ2dWxrYW4tMS5zbywgMS4wLjIgdXNlcyBsaWJ2dWxrYW4uc28KCjIwMTYtMDItMTYgMTE6NTE6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogaXRlcmF0ZSBvdmVyIHRoZSBkZXZpY2UgcXVldWUncyB1c2luZyB0aGUgbmV3IGl0ZXJhdGlvbiBBUEkKCjIwMTYtMDItMTYgMTE6NDk6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJICB2a2RldmljZTogYWRkIGNhbGxiYWNrIGl0ZXJhdGlvbiBvdmVyIHRoZSBkZXZpY2UgcXVldWUncwoKMjAxNi0wMi0xNiAxMToyMjozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmM6CgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5oOgoJICB2a3F1ZXVlOiBhZGQgY29udGV4dCBoZWxwZXJzCgoyMDE2LTAyLTExIDAxOjMxOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSAgdmt1dGlsczogbW92ZSBvYmplY3Qtc3BlY2lmaWMgY29udGV4dCBxdWVyaWVzIHRvIHRoZWlyIHJlc3BlY3RpdmUgZmlsZXMKCSAgdmt1dGlscyBub3cganVzdCBjb250YWlucyBzb21lIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGZ1cnRoZXIgc2ltcGxpZnkgcmV0cmlldmluZwoJICBtdWx0aXBsZSBvYmplY3RzLgoKMjAxNi0wMi0xMSAwMDo1MDo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkgIHZrZGV2aWNlOiByZW1vdmUgdW5uZWVkZWQgZXJyb3IgcGFyYW1ldGVyIGZyb20gZ2V0X3F1ZXVlKCkKCjIwMTYtMDItMTAgMTg6MDY6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5oOgoJICB2a3VwbG9hZDogaW1wbGVtZW50IGFuIHVwbG9hZGVyIGFic3RyYWN0aW9uCgoyMDE2LTAyLTEwIDE5OjUwOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJICB2a2Rpc3BsYXk6IHVucmVmIHRoZSBpbnN0YW5jZQoJICBmaXhlcyBtZW1vcnkgbGVhawoKMjAxNi0wMi0xMCAxOTozNDo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiBjaGFpbiB1cCBpbiBmaW5hbGl6ZQoJICBUaGV5IHdlcmUgbWlzc2luZyBpbiBzb21lIGNhc2VzCgoyMDE2LTAyLTEwIDE4OjU4OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a3Npbms6IG9ubHkgdW5yZWYgaWYgdGhlIHBvaW50ZXJzIGFyZSBub24tTlVMTAoKMjAxNi0wMi0xMCAxODowNTo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IGZyZWUgdGhlIG1hbmFnaW5nIHN0cnVjdCBvbiBfZnJlZQoJICBmaXhlcyBhIG1lbW9yeSBsZWFrCgoyMDE2LTAyLTA5IDE4OjI2OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZrZGV2aWNlOiBwZXJmb3JtIGEgd2FpdElkbGUgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGRldmljZQoKMjAxNi0wMi0wOSAxNzo0Njo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgUmV2ZXJ0ICJ2dWxrYW46IHJlbW92ZSB2aWV3cyBmcm9tIHRoZSBtZW1vcnkgb2JqZWN0cy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWVhODE3Mjk4ZWU0ZDVlZjliMDBmODg4ZjhlYmUxNmE4ODhiMTE1MC4KCjIwMTYtMDItMDkgMTc6MzE6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVycG9vbC5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZ1bGthbm1lbW9yeTogcmVtb3ZlIGJpbmQgdmFyaWFudHMKCjIwMTYtMDItMDkgMTY6MjE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZ1bGthbjogcmVtb3ZlIHZpZXdzIGZyb20gdGhlIG1lbW9yeSBvYmplY3RzLgoJICBUaGV5IGFyZSBub3QgdXNlZCBhbmQgaXQncyBub3QgcG9zc2libGUgdG8gY3JlYXRlIHRoZSB2aWV3IGJlZm9yZSBiaW5kaW5nIHRoZQoJICBWa0RldmljZU1lbW9yeSBvYmplY3QgdG8gdGhlbS4KCjIwMTYtMDItMDkgMTE6MzQ6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogYWxwaGEgZmxhZ3MgYXJlIG5vdyBzdXBwb3J0ZWQgYnkgTHVuYXJHJ3MgZHJpdmVyCgoyMDE2LTAyLTA5IDAwOjA3OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJwb29sLmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJwb29sLmg6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSAgdnVsa2FuOiBhZGQgYSB2dWxrYW5idWZmZXIgYnVmZmVycG9vbAoKMjAxNi0wMi0wOCAyMjo0OToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi9nc3R2dWxrYW4uYzoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmg6CgkgIHZ1bGthbjogYWRkIHVwbG9hZCBlbGVtZW50CgoyMDE2LTAyLTA4IDE4OjI4OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSAgdmt1dGlsczogZml4IGFzc2VydCBpbnZlcnNpb24KCjIwMTYtMDItMDggMTg6Mjc6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZ1bGthbjogYWRkIGNhcHMgZmVhdHVyZSBuYW1lcyBmb3IgdGhlIGJ1ZmZlciBhbmQgaW1hZ2UgbWVtb3JpZXMKCjIwMTYtMDItMDggMTQ6NDQ6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSAgdnVsa2FuOiBhZGQgZGV2aWNlIHRvIGhhbmRsZV9jb250ZXh0X3F1ZXJ5CgoyMDE2LTAyLTA4IDE0OjMyOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSAgdnVsa2FuOiBtb3ZlIGluc3RhbmNlX29wZW4gaW50byB0aGUgdXRpbGl0eSBlbnN1cmVfZWxlbWVudF9kYXRhCgkgIFNvIGNhbGxlcnMgZG9uJ3QgaGF2ZSB0byBwZXJmb3JtIGl0IHRoZW1zZWx2ZXMuCgoyMDE2LTAyLTA4IDE0OjI1OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZraW5zdGFuY2U6IGFkZCBzaWduYWwgZm9yIG92ZXJyaWRpbmcgZGV2aWNlIGNyZWF0aW9uCgoyMDE2LTAyLTA4IDEyOjIyOjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZrbWFjcm9zLmg6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2dWxrYW46IHNlcGFyYXRlIGFsbG9jYXRpb24gYW5kIGJpbmRpbmcgb2YgbWVtb3J5CgoyMDE2LTAyLTA4IDEyOjE0OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkgIHZrYnVmZmVybWVtb3J5OiBmb2xsb3cgdGhlIHJlc3Qgb2YgdGhlIHN0cnVjdCBtYWNyb3MKCjIwMTYtMDItMDUgMTk6MzE6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogdXNlIGJ1ZmZlciBtZW1vcnkgdG8gdXBsb2FkIHZpZGVvIGZyYW1lcyB0byB0aGUgR1BVCgoyMDE2LTAyLTA1IDE5OjE4OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBhZGQgYSBidWZmZXIgbWVtb3J5IGFsbG9jYXRvcgoJICBXcmFwcyB0aGUgVmtCdWZmZXIgaW4gYSBHc3RNZW1vcnkgc3ViY2xhc3MuCgoyMDE2LTAyLTA1IDE5OjExOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5Lmg6CgkgIHZrbWVtb3J5OiBhbGlnbiBzdHJ1Y3QgbWVtYmVycyBpbiB0aGUgaGVhZGVyCgoyMDE2LTAyLTA1IDE5OjEwOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrbWFjcm9zLmg6CgkgIHZrbWFjcm9zOiB1c2Ugc3BlY2lmaWMgX0lOSVQgbWFjcm9zIHRvIGluaXRpYWxpemUgc3RydWN0dXJlcwoKMjAxNi0wMi0wNSAxOTowOTo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2a2ltYWdlbWVtb3J5OiBhZGQgZ2V0X3t3aWR0aCxoZWlnaHQpIGZ1bmN0aW9ucwoKMjAxNi0wMS0yNyAxNToyMDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSAgdnVsa2FuOiB1cGRhdGUgdG8gcmVsZWFzZSAxLjAuMS4xCgoyMDE2LTAxLTIyIDE0OjM0OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSAgdnVsa2FuL3hjYjogZmx1c2ggYWZ0ZXIgbWFwcGluZyB0aGUgd2luZG93CgkgIE90aGVyd2lzZSB0aGUgbWFwIG1heSBub3QgcmVhY2ggdGhlIHNlcnZlciBhbmQgbm90IGFwcGVhci4KCjIwMTYtMDEtMDQgMTY6NTE6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogZml4IHNlbWFwaG9yZSB1c2FnZQoKMjAxNS0xMi0zMSAxNjozNDoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBhZGQgc29tZSBkZWJ1Z2dpbmcgYWJvdXQgdGhlIHN1cHBvcnRlZCBleHRlbnNpb25zCgoyMDE1LTEyLTMxIDE1OjU4OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGdldCB0aGUgZnVuY3Rpb24gcG9pbnRlcnMgZnJvbSB0aGUgY29ycmVjdCBvYmplY3QKCSAgR2V0UGh5c2ljYWxEZXZpY2UqIGZ1bmN0aW9ucyBhcmUgaW5zdGFuY2UgZnVuY3Rpb25zIHJhdGhlciB0aGFuIGRldmljZQoJICBmdW5jdGlvbnMuCgoyMDE1LTEyLTMxIDE1OjM4OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkgIHZraW5zdGFuY2U6IGFkZCB0aGUgbmVjZXNzYXJ5IHdpbnN5cyBleHRlbnNpb24KCjIwMTUtMTItMzEgMTU6MzQ6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkgIHZrZGlzcGxheTogZm9yd2FyZCBkZWNsYXJlIEdzdFZ1bGthbkRpc3BsYXlUeXBlCgoyMDE1LTEyLTMxIDE1OjMyOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkgIHZrYXBpOiByZW1vdmUgdW5uZWVkZWQgaGVhZGVycwoJICB2a2FwaSBpcyBmb3IgYWNjZXNzaW5nIHRoZSB2dWxrYW4gaGVhZGVycyB3aXRoIHRoZSBjb3JyZWN0IGRlZmluZXMgYXBwbGllZCBzbwoJICBkb2Vzbid0IG5lZWQgYW55IGludGVyYWwgaGVhZGVycy4KCjIwMTUtMTItMzAgMTU6MTU6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBmaXggdGhlIG1lbW9yeSBiYXJyaWVyIGFjY2VzcyBtYXNrcwoJICBzaWxlbmNlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmdzIGZyb20gdGhlIHZhbGlkYXRpb24gbGF5ZXIKCSAgQWNjZXNzTWFzayB4eHggbXVzdCBoYXZlIHJlcXVpcmVkIGFjY2VzcyBiaXQgeHh4IGFuZCBtYXkgaGF2ZSBvcHRpb25hbCBiaXRzIDAKCSAgd2hlbiBsYXlvdXQgaXMgVktfSU1BR0VfTEFZT1VUX1RSQU5TRkVSX3tTUkMsRFNUfV9PUFRJTUFMCgoyMDE1LTEyLTMwIDE1OjE0OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IG9ubHkgd2FpdCBvbiB0aGUgc2VtYXBob3JlIG9uY2UKCSAgSXQncyBpbnZhbGlkIHVzYWdlIGFuZCB3ZSBtYXkgZGVhZGxvY2sKCjIwMTUtMTItMzEgMDE6Mjc6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBpbml0aWFsaXplIGZsYWdzIGFuZCBkb24ndCBjcmFzaCBvbiBlcnJvcnMKCjIwMTUtMTItMzAgMTQ6MDY6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2Vycm9yLmM6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiB1cGRhdGUgZXJyb3IgZGIgZm9yIDAuMTAuMgoKMjAxNS0xMi0yOSAxNjowNToxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmttYWNyb3MuaDoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuaDoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmg6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuaDoKCSAgdnVsa2FuOiB1cGRhdGUgdG8gU0RLIDAuMTAuMgoKMjAxNS0xMi0wNyAxNzozMzo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5oOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHNfcHJpdmF0ZS5oOgoJICB2dWxrYW46IGltcGxlbWVudCBHc3RDb250ZXh0IGhlbHBlcnMKCSAgQmFzZWQgb2ZmIGxpYmdzdGdsJ3MgaW1wbGVtZW50YXRpb24KCjIwMTUtMTItMDcgMTc6MjE6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a2RldmljZTogcmVtb3ZlIGdzdF92dWxrYW5fZGV2aWNlX2Nsb3NlKCkKCSAgV2hlbiBzaGFyaW5nIHRoZSBkZXZpY2UgYmV0d2VlbiBtdWx0aXBsZSBlbGVtZW50cy9hcHBsaWNhdGlvbiwgd2UgbmVlZAoJICB0byB1c2UgdGggZXJlZmNvdW50IHRvIGtub3cgd2hlbiB0byBjbG9zZSB0aGUgZGV2aWNlLgoKMjAxNS0xMi0wNyAxNzowMDozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a2luc3RhbmNlOiByZW1vdmUgZ3N0X3Z1bGthbl9pbnN0YW5jZV9jbG9zZQoJICBTaGFyaW5nIHRoZSBpbnN0YW5jZSBhY3Jvc3MgbXVsdGlwbGUgZWxlbWVudHMvYXBwbGljYXRpb24gd2lsbCByZXF1aXJlCgkgIHVzaW5nIHRoZSByZWZjb3VudCBpbnN0ZWFkIHRvIGtub3cgd2hlbiB0byBjbG9zZSBhbmQgZGVzdHJveSB0aGUgaW5zdGFuY2UuCgoyMDE1LTEyLTA3IDE2OjQ2OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IHJlbW92ZSBvdXRkYXRlZCBjb21tZW50CgoyMDE1LTEyLTA3IDE2OjM5OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFsd2F5cyBtYXRjaCBsb2NrL3VubG9jayBvZiB0aGUgcmVuZGVyIGxvY2sKCSAgSWYgYSBkcmF3IGV2ZW50IGNvbWVzIGZyb20gdGhlIHdpbnN5cyBiZWZvcmUgd2UndmUgcmVuZGVyZWQgYSBidWZmZXIgd2Ugd2VyZQoJICBkZWFkbG9ja2luZy4KCjIwMTUtMTItMDIgMTc6NTQ6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkgIHZrbWVtb3J5OiBkZWJ1ZyBvdXRwdXQgdGhlIG1lbW9yeSBwcm9wZXJ0aWVzIHJlcXVlc3RlZAoKMjAxNS0xMi0wMiAxNzoxNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IGRvbid0IGxlYWsgR3N0TWFwSW5mbyBpbiBmYWlsdXJlIGNhc2VzIG9uIF9tYXAoKQoKMjAxNS0xMi0wMiAxNzoxMDozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiBkZS1DOTkgc3RydWN0IGRlY2xhcmF0aW9ucwoKMjAxNS0xMi0wMSAxODozNzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuYzoKCSAgdmt3aW5kb3cvc3dhcHBlcjogaW1wbGVtZW50IHJlZHJhdyBoYW5kbGluZwoJICBvbmx5IHhjYiBoYXMgYmVlbiBpbXBsZW1lbnRlZAoKMjAxNS0xMi0wMSAxNjoyODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuYzoKCSAgdnVsa2FuOiBpbXBsZW1lbnQgcXVpdHRpbmcgYW5kIHJlc2l6aW5nIHRoZSB3aW5kb3cKCSAgQXMgYmVmb3JlLCBvbmx5IHhjYiBoYXMgYmVlbiBpbXBsZW1lbnRlZC4KCjIwMTUtMTAtMjQgMTc6Mjk6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuLy5naXRpZ25vcmU6CgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vZ3N0dnVsa2FuLmM6CgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5jOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZrcXVldWUuYzoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuaDoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5oOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmM6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuaDoKCSAgbmV3IHZ1bGthbiBiYXNlZCB2aWRlbyBzaW5rCgkgIEN1cnJlbnRseSB4Y2IgaXMgdGhlIG9ubHkgd2luc3lzIHRoYXQgaXMgaW1wbGVtZW50ZWQgYW5kIHRoZXJlJ3Mgbm8gcmVkcmF3cyBldAoJICBhbAoKMjAxNi0wMi0xNiAxMjozODoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9jYnJfc3RyZWFtLm1wMzoKCSogdGVzdHMvZmlsZXMvc3RyZWFtLm1wMjoKCSogdGVzdHMvZmlsZXMvdmJyX3N0cmVhbS5tcDM6CgkgIHRlc3RzOiByZW1vdmUgdGVzdCBmaWxlcyBubyBsb25nZXIgbmVlZGVkCgoyMDE2LTAyLTE2IDEwOjQ0OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBtb3ZlIHBsdWdpbiBmcm9tIC1iYWQgdG8gLXVnbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTg0OQoKMjAxNi0wMi0xNiAxOTo1OToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkgIGd0ayhnbClzaW5rOiByZW1vdmUgdGhlIHNpZ25hbCBoYW5kbGVycyBvbiBmaW5hbGl6ZQoJICBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHNpbmsgZWxlbWVudCB3aWxsIGJlIGZyZWVkIGJlZm9yZSB0aGUgd2lkZ2V0IGlzCgkgIGRlc3Ryb3llZC4gIFdoZW4gdGhlIHdpZGdldCB3YXMgZXZlbnR1YWxseSBkZXN0cm95ZWQsIGl0IHdhcyBhdHRlbXB0aW5nIHRvCgkgIGFjY2VzcyBtZW1iZXIgdmFyaWFibGVzIG9mIHRoZSBmcmVlZCBzaW5rIHN0cnVjdCB3aGljaCByZXN1bHRlZCBpbiB1bmRlZmluZWQKCSAgYmVoYXZpb3VyLgoJICBGaXggYnkgZGlzY29ubmVjdGluZyBvdXIgc2lnbmFsIG9uIGZpbmFsaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDk4CgoyMDE2LTAyLTE2IDA4OjQ4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IFJlbW92ZSBsZWZ0b3ZlciBnX3ByaW50cwoJICBPbmUgd2FzIGNvbW1lbnRlZCBvdXQsIGJ1dCB3ZSBhbHNvIGRvbid0IHVzZSAvLyBjb21tZW50cyA6KQoKMjAxNi0wMi0xNiAxNDo0MTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogdXNlIHRoZSBjb3JyZWN0IHNwZWxsaW5nIGZvciBiZWhhdmlvcgoJICBUaGUgaGVhZGVycyB1c2UgdGhlIGFtZXJpY2FuIHNwZWxsaW5nIG9mIGJlaGF2aW9yIG5vdCB0aGUgVUsvQVVTIHZlcnNpb24gd2l0aAoJICB0aGUgZXh0cmEgVS4KCjIwMTYtMDItMTYgMTM6NTg6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xjb250ZXh0OiBkb24ndCBlbmFibGUgR0wgZGVidWcgZm9yIG1lc3NhZ2VzIHRoYXQgd29uJ3QgYmUgbG9nZ2VkCgkgIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRvIGF2b2lkIHBvaW50bGVzcyBzdHJpbmcgcHJvY2Vzc2luZy4KCjIwMTYtMDItMTYgMTM6MDE6MjAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkgIGdsdmlkZW9mbGlwOiBkb24ndCBpZ25vcmUgbWV0aG9kIGNoYW5nZXMgd2hlbiBjYXBzIGFyZW4ndCBzZXQgKHlldCkKCjIwMTYtMDItMTYgMDA6MzM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogbW92ZSBSVFAgSC4yNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTUtMTAtMDcgMjM6NDk6NTggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbmV0c2ltL01ha2VmaWxlLmFtOgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmV0c2ltLmM6CgkgIG5ldHNpbTogQWRkIG5ldHNpbSBlbGVtZW50CgkgIFJlc3VycmVjdGVkIGZyb20gdGhlIEZhcnN0cmVhbSByZXBvc2l0b3J5IGFuZCBnaXZlbiBhbgoJICBvdmVyaGF1bCB0byBmaXggcmFjZXMsIGRlYWRsb2NrcyBldGMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyNTIKCjIwMTUtMTEtMjAgMTk6Mzg6MDMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBnc3RfZGFzaF9kZW11eF9nZXRfbGl2ZV9zZWVrX3JhbmdlIHJldHVybnMgcG9zaXRpdmUgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzNzQKCjIwMTYtMDItMTAgMTA6MzE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbDogc3luY21ldGE6IGRlZmluZSBHTF9USU1FT1VUX0lHTk9SRUQgaW4gbW9yZSBwb3J0YWJsZSB3YXkKCjIwMTYtMDItMTAgMTY6Mzc6MjIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdzdGdsc2hhZGVyOiBjYWNoZSB1bmlmb3JtIGxvY2F0aW9ucwoJICBBdm9pZCByZWR1bmRhbnQgY2FsbHMgdG8gZ2xHZXRVbmlmb3JtTG9jYXRpb24uIFRoZSByZXN1bHRzIGNhbiBiZSBjYWNoZWQgb25jZQoJICB0aGUgc2hhZGVyIGhhcyBiZWVuIGxpbmtlZC4KCjIwMTYtMDItMTAgMTU6NDA6MDIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdmlkZW90ZXN0dXJlY2FjaGU6IGxldCBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlIGZsdXNoIGV2ZXJ5IDFzCgkgIExlYXZlIGtDVk9wZW5HTEVTVGV4dHVyZUNhY2hlTWF4aW11bVRleHR1cmVBZ2VLZXkgdG8gdGhlIGRlZmF1bHQgKDFzKS4gV2UgdXNlZAoJICB0byBzZXQgaXQgdG8gMCBhbmQgZmx1c2ggbWFudWFsbHksIGJ1dCBhcHBhcmVudGx5IChsb29raW5nIGF0IHRoZSBHTEVTIHByb2ZpbGVyKQoJICAwIG1lYW5zICJkaXNhYmxlIHRoZSBjYWNoZSBlbnRpcmVseSIuCgoyMDE2LTAyLTEwIDEzOjA4OjQzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ3N0Z2xjb250ZXh0OiBtaWNybyBvcHRpbWl6YXRpb24gdG8gZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZAoJICBJbnZva2UgdGhlIGNhbGxiYWNrIHJpZ2h0IGF3YXkgd2hlbiBjYWxsZWQgb24gdGhlIGNvbnRleHQgdGhyZWFkLiBSZW1vdmVzCgkgIG92ZXJoZWFkIHdoZW4gbmVzdGluZyBsaWJnc3RnbCBjYWxscyAoZm9yIGV4YW1wbGUgd2hlbiB3b3JraW5nIHdpdGggdGhlIHN5bmMKCSAgbWV0YSkuCgoyMDE2LTAxLTA2IDIxOjM5OjAwICswMDAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkgIHJ0cG1zaW5rOiBJbXBsZW1lbnQgc2V0Y2FwcyB0aGF0IHVzZXMgc3RyZWFtaGVhZGVyCgkgIFRoaXMgYWxsb3cgYWRkaW5nIHJ0bXBzaW5rIGFmdGVyIHRoZSBmbHYgc3RyZWFtaW5nIGhhdmUgc3RhcnRlZC4gT3RoZXJ3aXNlLAoJICBGTFYgc3RyZWFtaGVhZGVyIGlzIG5ldmVyIHNlbnQgdG8gdGhlIHNlcnZlciwgd2hpY2ggY2Fubm90IGZpZ3VyZS1vdXQKCSAgd2hhdCBpcyB0aGlzIHN0cmVhbSBhYm91dC4gSXQgc2hvdWxkIGFsc28gaGVscCBpbiBjZXJ0YWluIHJlbmVnb3RpYXRpb24KCSAgZmlndXJlcy4gVGhlIHNpbmsgd2lsbCBubyBsb25nZXIgd29yayB3aXRob3V0IGFuIHN0cmVhbWhlYWRlciBpbiBjYXBzLAoJICB0aG91Z2ggdGhlcmUgaXMgbm8ga25vd24gaW1wbGVtZW50YXRpb24gb2YgZmx2ZGVtdXggdGhhdCBkb2VzIG5vdAoJICBzdXBwb3J0IHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNDIKCjIwMTYtMDItMDkgMjE6MzU6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgc3RyZWFtLT5jdXJyZW50X2ZyYWdtZW50IGhhcyB0aGUgdmFsdWUgb2YgZ19saXN0X3ByZXZpb3VzIChpdGVyKSB3aGljaCBoYXMKCSAganVzdCBiZWVuIGNoZWNrZWQuIE5vIG5lZWQgdG8gY2hlY2sgaXQgYWdhaW4uCgkgIEp1c3QgdG8gYmUgc2FmZSwgdXNlIGEgZ19hc3NlcnQoKSB0byBjaGVjayBmcmFnbWVudCBiZWZvcmUgZGVyZWZlcmVuY2luZy4KCSAgQ0lEICMxMzUyMDQxCgoyMDE2LTAyLTA5IDE3OjI0OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwbHVnIG1wZCBjbGllbnQgbGVhawoJICBPbiBwYXJzaW5nIGVycm9yLCBmcmVlIHRoZSBtcGQgY2xpZW50IG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMTIwCgoyMDE2LTAxLTA0IDEyOjEyOjQ1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfZGFzaF9kZW11eF91cGRhdGVfbWFuaWZlc3RfZGF0YQoJICBuZXdfY2xpZW50IGxvY2FsIHZhcmlhYmxlIHdhcyBub3QgZnJlZWQgaW4gY2FzZSBvZiBlcnJvcnMuCgkgIEFsc28sIHRoZSBidWZmZXIgaXMgbm90IHVubWFwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMTIwCgoyMDE1LTExLTEwIDIyOjAxOjM4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogcmVuYW1lZCBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9lbmRfdGltZSB0byBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9zdGFydF90aW1lCgkgIFRoZSBmdW5jdGlvbiBhY3R1YWxseSByZXR1cm5zIHRoZSBzZWdtZW50IGF2YWlsYWJpbGl0eSBzdGFydCB0aW1lIChhcyBkZWZpbmVkIGJ5IHRoZSBzdGFuZGFyZCkuCgkgIFRoYXQgaXMgYXQgdGhlIGVuZCBvZiB0aGUgc2VnbWVudCwgYnV0IGl0IGlzIGNhbGxlZCBhdmFpbGFiaWxpdHkgc3RhcnQgdGltZS4KCSAgQXZhaWxhYmlsaXR5IGVuZCB0aW1lIGlzIHNvbWV0aGluZyBlbHNlICh0aGUgdGltZSB3aGVuIHRoZSBzZWdtZW50IGlzIG5vIGxvbmdlcgoJICBhdmFpbGFibGUgb24gdGhlIHNlcnZlcikuIFRoZSBmdW5jdGlvbiBuYW1lIHdhcyBtaXNsZWFkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjU1CgoyMDE1LTExLTEwIDIyOjAwOjU4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGNvcnJlY3RlZCBnZXR0aW5nIHNlZ21lbnQgYXZhaWxhYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2NTUKCjIwMTUtMTEtMTkgMTU6MzA6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB0ZXN0czogYWRkZWQgdW5pdCB0ZXN0IGZvciBnZXR0aW5nIHNlZ21lbnQgYXZhaWxhYmlsaXR5IHdoZW4gc2VnbWVudCB0aW1lbGluZSBpcyB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2NTUKCjIwMTYtMDEtMDcgMTI6NTA6MDYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkgIGFkYXB0aXZlX2RlbXV4OiB0ZXN0czogaW1wcm92ZWQgdmFsaWRhdGlvbiBvZiBwYWRzCgkgIFdoZW4gcmVtb3ZpbmcgYSBwYWQsIHRoZSBvbl9kZW11eFBhZFJlbW92ZWQgZnVuY3Rpb24gbXVzdCBmaW5kIGEgc3RyZWFtCgkgIGZvciB0aGF0IHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMS0wNyAxMjo0ODoxMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSAgYWRhcHRpdmVfZGVtdXg6IHRlc3RzOiBmaXggcGFkIHVzZWQgZm9yIEFwcFNpbmsgZXZlbnQKCSAgb25fZGVtdXhOZXdQYWQgcmVnaXN0ZXJlZCB0aGUgb25fYXBwc2lua19ldmVudCBjYWxsYmFjayBvbiBhIHdyb25nIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMS0wOCAxNjoyNToxMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiByZW1vdmUgdW51c2VkIGRlbXV4X3NlbnRfZW9zIGNhbGxiYWNrCgkgIFRoZSBkZW11eF9zZW50X2VvcyBjYWxsYmFjayBpcyB1bnVzZWQgaW4gdGVzdHMuIEl0IHdhcyBhbHNvIHJlZ2lzdGVyZWQgb24KCSAgYSB3cm9uZyBwYWQsIHNvIGl0IGFjdHVhbGx5IHRyaWdnZXJlZCB3aGVuIGRlbXV4IHJlY2VpdmVkIGVvcyBmcm9tIGEKCSAgZnJhZ21lbnQgZG93bmxvYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDEtMDggMTg6MTc6MjEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogcmVtb3ZlIHVubmVlZGVkIHlvdXR1YmUgeG1sbnMgZnJvbSBtYW5pZmVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMi0wOSAxNDowNzo1NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogaW1wbGVtZW50IEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgoyMDE2LTAyLTA5IDE0OjA0OjA5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiB1cGRhdGUgY29weXJpZ2h0CgoyMDE2LTAyLTA5IDEzOjQyOjQ4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBpbXBsZW1lbnQgR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCSAgTmVlZGVkIHRvIHByb3Blcmx5IGhhbmRsZSBnc3QuZ2wuYXBwX2NvbnRleHQocykuCgoyMDE2LTAyLTA5IDEzOjM5OjE4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBhZGQgbXlzZWxmIHRvIHRoZSBjb3B5cmlnaHQgaG9sZGVycwoKMjAxNi0wMi0wOSAxMzo1NjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgZ2w6IHVwZGF0ZSB3aW4zMiAuZGVmIGZpbGUKCjIwMTYtMDItMDkgMTM6MDg6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gZm9yIEdMX1RJTUVPVVRfSUdOT1JFRAoKMjAxNi0wMi0wOSAxMjoxNDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGdsc3luY21ldGE6IHNlcGFyYXRlIG91dCBncHUvY3B1IHdhaXRzLgoJICBDUFUgd2FpdHMgYXJlIG1vcmUgZXhwZW5zaXZlIGFuZCBhcmUgb25seSByZXF1aXJlZCBpZiB0aGUgQ1BVIGlzIGV2ZXIgZ29pbmcgdG8KCSAgYWNjZXNzIHRoZSBkYXRhLiBHUFUgd2FpdHMgcGVyZm9ybSBpbnRlci1jb250ZXh0IHN5bmNocm9uaXNhdGlvbiBhbmQgYXJlIGNoZWFwZXIKCSAgYXMgdGhleSBkb24ndCByZXF1aXJlIENQVSBpbnRlcnZlbnRpb24uCgoyMDE2LTAyLTA4IDIzOjE3OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgb3ZlcndyaXR0ZW4gdmFsdWUKCSAgcmV0IGlzIG92ZXJ3aXR0ZW4gYmVmb3JlIHVzZWQgd2l0aCB0aGUgcmV0dXJuIG9mIHRoZSBzdWJjbGFzcyBzZWVrLgoJICBDSUQgIzEzNTIwNDQKCjIwMTYtMDItMDggMTU6MDA6MzUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSBjb21tZW50ZWQgb3V0IGluY2x1ZGUKCSAgQ29tbWl0IDIxMTgyODk3OWI4YzEwYWJmM2M3NGQ5NjRiYzY5OGRiZGE0ZDQ5N2QgcmVtb3ZlZCByc25hdWRpb211bmdlLAoJICBubyBuZWVkIGZvciB0aGlzIGNvbW1lbnRlZCBvdXQgaW5jbHVkZSBmb3IgYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdAoJICBhbnltb3JlLgoKMjAxNi0wMi0wOCAxNDoyNjo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgUmV2ZXJ0ICJyZXNpbmR2ZDogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwZWZmNmUxOTkxY2IyNGNiNjVmMDdjNDgxNzQyNzgyYWNhYThlYzYyLgoJICBCcmVha3MgdGhlIGJ1aWxkIHdoZW4gbGlua2luZyB3aXRoIGR2ZG5hdi5oCgoyMDE2LTAyLTA4IDEzOjQzOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5oOgoJICB4MjY1ZW5jOiBnZXQgcmlkIG9mIF9zdGRpbnQuaCBpbmNsdWRlCgkgIEl0IHdhcyBuZXZlciBuZWVkZWQgc2luY2UgaXQgZG9lc24ndCB1c2UgYW55IHN0YW5kYXJkIGludGVnZXIgZml4ZWQgd2lkdGgKCSAgdHlwZXMuIE9ubHkgdGhlIEdsaWIgdHlwZXMuCgoyMDE2LTAyLTA4IDEzOjMyOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoKMjAxNi0wMi0wOCAxMjo0NDo1MyArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDQKCjIwMTYtMDItMDggMTI6MjM6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSAgZ2xlZmZlY3RzOiBpZGVudGl0eTogYWRkIHRoZSBzaGFkZXIgdG8gdGhlIGhhc2ggdGFibGUKCSAgU28gdGhhdCB3ZSBkb24ndCByZWNyZWF0ZSBpdCBldmVyeSBmcmFtZSBhbmQgbGVhayBtZW1vcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE1NzgKCjIwMTYtMDItMDUgMjA6MDI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZXh0ZW5kIHRoZSBBTV9URVNUU19FTlZJUk9OTUVOVCBmcm9tIGNoZWNrLm1hawoJICBUbyBnZXQgdGhlIENLX0RFRkFVTFRfVElNRU9VVCBkZWZpbmVkIGZvciBhbGwgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ3MgoKMjAxNi0wMi0wNSAxODowNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU5N2M5YmIgdG8gYjY0ZjAzZgoKMjAxNi0wMi0wNSAxNTozNDo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIGdzdHJ0cGgyNjVkZXBheToga2VlcCBjb25zaXN0ZW5jeSB3aXRoIHJ0cGgyNjRkZXBheQoJICBVc2UgZ3N0X3J0cF9kcm9wX21ldGEoKSBhbmQgdGhlIHNhbWUgZnVuY3Rpb24gcHJvdG90eXBlIGZvcgoJICBnc3RfcnRwX2NvcHlfbWV0YSgpIHRvIGtlZXAgY29uc2lzdGVuY3kgd2l0aCB0aGUgUlRQIGVsZW1lbnRzIGluCgkgIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTYtMDItMDUgMjE6MzM6MzggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IFVzZSBnbGliIENMQU1QKCkgaW5zdGVhZCBvZiBvdXIgb3duIG1hY3JvCgoyMDE2LTAyLTA1IDEzOjU2OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdGVybWluYXRpb24gb2YgYWNjZXNzIHVuaXQKCSAgT25seSBjb25zaWRlciB0aGUgYWNjZXNzIHVuaXQgY29tcGxldGUgd2hlbiB0aGUgbmV4dC1vY2N1cnJpbmcgVkNMIE5BTCB1bml0CgkgIGhhcyB0aGUgZmlyc3QgYml0IGFmdGVyIGl0cyBOQUwgdW5pdCBoZWFkZXIgZXF1YWwgdG8gMS4KCjIwMTYtMDItMDIgMTM6NTA6MjUgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogVXBkYXRlIHBvc2l0aW9uIGluIHN0cmVhbS0+c2VnbWVudCBmb3IgbmV3IHN0cmVhbSBzZWdtZW50IG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NTgKCjIwMTYtMDItMDUgMTU6NDM6MjIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IExpbWl0IHBlcmlvZCBzaXplIGFuZCBjb3VudCB0byB3aGF0IHRoZSBoL3cgcGVybWl0cwoKMjAxNi0wMi0wNSAxMDo0Mzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIGdsOiBhZGQgLmRlZiBmaWxlIGZvciBtc3ZjIGJ1aWxkcwoJICBBbHNvIGludGVybmFsaXplIHNvbWUgQVBJIGZyb20gYmVpbmcgZXhwb3J0ZWQuCgoyMDE2LTAyLTAyIDE3OjAyOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXNzZGVtdXguYzoKCSAgdGVzdHM6IG1zc2RlbXV4OiBhZGQgdW5pdCB0ZXN0cwoJICBBZGRzIHVuaXQgdGVzdHMgc2ltaWxhciB0byB0aGUgb25lcyB0aGF0IHdlIGhhdmUgZm9yIERBU0ggYW5kIEhMUy4KCSAgVGVzdHM6CgkgICogbWFuaWZlc3QgcGFyc2luZyBmaW5pc2hlcyBzdWNjZXNzZnVsbHkKCSAgKiBzb21lIHF1ZXJpZXMgKGR1cmF0aW9uLCBzZWVrYWJsZSwgbGF0ZW5jeSkKCSAgKiBzZWVraW5nIHdpdGggdmFyaW91cyB2YWx1ZXMgYW5kIGZsYWdzCgoyMDE2LTAyLTAyIDE2OjU0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IHNuYXAgc2Vla2luZwoJICBJbXBsZW1lbnQgc25hcCBzZWVrIGZsYWdzIGhhbmRsaW5nIGluIHN0cmVhbV9zZWVrIHRvIGFsbG93IHRoZQoJICBwYXJlbnQgY2xhc3MgdG8gaGFuZGxlIGl0IGZvciB1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAyLTAyIDE2OjUxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgY29ycmVjdCBzZWVrIHBvc2l0aW9uIG9uIHJldmVyc2Ugc2Vla3MKCSAgT3RoZXJ3aXNlIGl0IHdhcyBhbHdheXMgdXNpbmcgdGhlICdzdGFydCcgdmFsdWUsIGxlYWRpbmcgdG8gd3JvbmcKCSAgYmVoYXZpb3IKCjIwMTYtMDItMDIgMTE6MzA6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG9ubHkgdXBkYXRlIGRvd25sb2FkIHBvc2l0aW9uIGlmIHRoZSBzZWVrIHJlcXVlc3RzIHRvCgkgIFNvbWUgc2Vla3MgYXJlIG9ubHkgdXBkYXRpbmcgdGhlIHN0b3AgcG9zaXRpb24sIHRoZXJlIGlzIG5vIG5lZWQKCSAgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGRvd25sb2FkaW5nIHBvc2l0aW9uLgoKMjAxNi0wMi0wMiAwOTo1MjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZG8gbm90IGFzc2VydCBvbiBmcmFnbWVudCByZWxvYWRzIGZvciBub24tbGl2ZQoJICBJdCBjYW4gYmUgdXNlZCBhcyBhIHJlc291cmNlIHRvIHZlcmlmeSBpZiB0aGUgc2VydmVyIGhhcyB1cGRhdGVkCgkgIHNvbWV0aGluZyBpbiB0aGUgTWFuaWZlc3Qgd2hlbiBkb3dubG9hZHMgYXJlIGZhaWxpbmcKCjIwMTYtMDEtMjcgMTA6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHRlc3RzIGZvciBzbmFwIGZsYWdzIHNlZWtpbmcKCSAgU2ltaWxhciB0byBITFMgYnV0IERBU0ggaGFzIHRoZSBleHRyYSBpc3N1ZSB0aGF0IGl0IGNhbiBoYXZlCgkgIG11bHRpcGxlIHN0cmVhbXMgc28gc25hcHBpbmcgY2FuIGJlIHRyaWNreSBhcyBzdHJlYW1zIHVzdWFsbHkKCSAgd29uJ3QgYmUgYWxpZ25lZC4KCSAgRm9yIG5vdywgdGhvc2UgdGVzdHMgaGFuZGxlIHRoZSBjYXNlIG9mIG9ubHkgaGF2aW5nIGEgc2luZ2xlCgkgIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMi0wMSAxMDo0OToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBzbmFwIHNlZWsgaGFuZGxpbmcKCSAgSGFuZGxlIHNuYXAgc2Vla2luZyBhdCB0aGUgc3RyZWFtX3NlZWsgbWV0aG9kIGFuZCBsZXQgc3VwZXJjbGFzcwoJICBkbyB0aGUgcmVzdCB0byBzdXBwb3J0IHNuYXAgc2Vla2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAxLTI3IDEzOjMxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogaGFuZGxlIHNuYXAgc2Vla3MKCSAgQWRhcHRpdmUgZGVtdXhlcnMgbmVlZCB0byBzdGFydCBkb3dubG9hZGluZyBmcm9tIHNwZWNpZmljIHBvc2l0aW9ucwoJICAoZnJhZ21lbnRzKSBmb3IgZXZlcnkgc3RyZWFtLCB0aGlzIG1lYW5zIHRoYXQgYWxsIHN0cmVhbXMgY2FuIHNuYXAtc2VlawoJICB0byBhIGRpZmZlcmVudCBwb3NpdGlvbiB3aGVuIHJlcXVlc3RlZC4gU25hcCBzZWVraW5nIGluIHRoaXMgY2FzZSB3aWxsCgkgIGJlIGRvbmUgaW4gMiBzdGVwczoKCSAgMSkgZG8gdGhlIHNuYXAgc2Vla2luZyBvbiB0aGUgcGFkIHRoYXQgcmVjZWl2ZWQgdGhlIHNlZWsgZXZlbnQgYW5kCgkgIGdldCB0aGUgZmluYWwgcG9zaXRpb24KCSAgMikgdXNlIHRoaXMgcG9zaXRpb24gdG8gZG8gYSByZWd1bGFyIHNlZWsgb24gdGhlIG90aGVyIHN0cmVhbXMgdG8KCSAgbWFrZSBzdXJlIHRoZXkgYWxsIHN0YXJ0IGZyb20gdGhlIHNhbWUgcG9zaXRpb24KCSAgTW9yZSBhcmd1bWVudHMgd2VyZSBhZGRlZCB0byB0aGUgc3RyZWFtX3NlZWsgZnVuY3Rpb24sIGFsbG93aW5nIGJldHRlciBjb250cm9sCgkgIG9mIGhvdyBzZWVraW5nIGlzIGRvbmUuIEtub3dpbmcgdGhlIGZsYWdzIGFuZCB0aGUgcGxheWJhY2sgZGlyZWN0aW9uIGFsbG93cwoJICBzdWJjbGFzc2VzIHRvIGhhbmRsZSBzbmFwLXNlZWtpbmcuCgkgIEFuZCBhbHNvIGFkZHMgYSBuZXcgcmV0dXJuIHBhcmFtZXRlciB0byBpbmZvcm0gb2YgdGhlIGZpbmFsCgkgIHNlbGVjdGVkIHNlZWtpbmcgcG9zaXRpb24gdGhhdCBpcyB1c2VkIHRvIGFsaWduIHRoZSBvdGhlciBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAxLTI2IDIzOjQzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIHV0aWxpdHkgZnVuY3Rpb24gdG8gZ2V0IHN0cmVhbSBmcm9tIHBhZAoJICBTaW1wbGlmaWVzIHRoZSBjb2RlIGEgYml0IGFuZCBhdm9pZCByZXBlYXRpbmcgdGhpcwoJICBjb21tb24gb3BlcmF0aW9uCgoyMDE2LTAyLTA0IDEyOjUwOjQzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgdW51c2VkIG12aWV3X21vZGUgdmFsdWUKCSAgU2luY2UgY29tbWl0IGI3N2Y4ZTE3MmEzZjBiZTZiZTVjYjRhNzJlNjU0MjUzNDA0ZTY5NGYgdGhlIG5ldyB2YWx1ZQoJICBhc3NpZ25lZCB0byBtdmlld19tb2RlIGhhc24ndCBiZWVuIHVzZWQuIFRoYXQgY29tbWl0IGNoYW5nZWQgdGhlIGZvbGxvd2luZwoJICAiaWYiIGNoZWNrIHRvIGFuICJlbHNlIGlmIiwgd2hpY2ggbWVhbnMgdGhlIG9yaWdpbmFsIHZhbHVlIG9mIG12aWV3X21vZGUKCSAgaXMgdXNlZC4KCjIwMTYtMDItMDQgMTI6MTc6MzEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJICBnbHF1ZXJ5OiByZW1vdmUgdW5uZWNlc3NhcnkgcG9pbnRlciBjaGVjawoJICBBbGwgdXNlcyBvZiBxdWVyeS0+Y29udGV4dCBpbiBnc3RnbHF1ZXJ5LmMgYXNzdW1lIGl0IGV4aXN0cy4gV2UgY2FuIGFzc3VtZQoJICB0aGlzIGFzIHdlbGwgYmVmb3JlIHVucmVmaW5nIGl0LiBGdXJ0aGVybW9yZSwgZ3N0X29iamVjdF91bnJlZigpIHdpbGwganVzdAoJICBzaWxlbnRseSByZXR1cm4gaWYgaXQgZXZlciB3ZXJlIHRvIG5vdCBleGlzdC4KCjIwMTYtMDItMDQgMTg6MTU6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogYXZvaWQgc2VuZGluZyB1bm5lY2Vzc2FyeSBkb3duc3RyZWFtIGNhcHMgcXVlcmllcy9ldmVudHMKCSAgaDI2NSB2ZXJzaW9ucyBvZiB0aGUgZm9sbG93aW5nIGNvbW1pdHM6CgkgIGYzNTI2OTFhMDQ4OTZkMGRlMzM4MWZlOGVlODVhZGE5NDhiZDYzMzcKCSAgdHJ5IHRoZSBjdXJyZW50IGNhcHMgYmVmb3JlIHF1ZXJ5aW5nIGRvd25zdHJlYW0KCSAgNzJiYzdkN2Y3MzZhMTAxMTdmZWRiOGUxZDQwMTNhNDk0NmNmZWZiYwoJICBpbmNyZWFzZSBjYXBzIGVxdWFsaXR5IGNoZWNrIGZvciBubyBjb2RlY19kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTY6MzY6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaW5jcmVhc2UgY2FwcyBlcXVhbGl0eSBjaGVjayBmb3Igbm8gY29kZWNfZGF0YQoJICBXaGVuIGNvbnZlcnRpbmcgZnJvbSBhdmMgdG8gYnl0ZS1zdHJlYW0sIHRoZXJlIHdpbGwgbm90IGJlIGFueSBjb2RlY19kYXRhCgkgIGluIHRoZSBzcmMgY2Fwcy4gIFJlbW92ZSBpdCBiZWZvcmUgdGhlIGVxdWFsaXR5IGNoZWNrIHRvIGF2b2lkIHNlbmRpbmcgY2FwcwoJICBldmVudHMgZG93bnN0cmVhbSBvbiBldmVyeSBTUFMvUFBTIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNTozNDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0cnkgdGhlIGN1cnJlbnQgY2FwcyBiZWZvcmUgcXVlcnlpbmcgZG93bnN0cmVhbQoJICBJZiB3ZSBoYXZlIGEgc3RyZWFtIHRoYXQgY29udGFpbnMgYW4gdW5jaGFuZ2luZyBTUFMvUFBTIGZvciBldmVyeSB2aWRlbyBmcmFtZSwKCSAgd2UgZG9uJ3QgbmVlZCB0byB0byBjb25zdGFudGx5IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIGl0J3Mgc3VwcG9ydGVkIGNhcHMgaWYgdGhlCgkgIGN1cnJlbnQgY2FwcyBhcmUgY29tcGF0aWJsZSB3aXRoIHRoZSBuZWdvdGlhdGVkIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTc6MzE6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBlbmFibGUgcW9zIGJ5IGRlZmF1bHQKCSAgSW1wcm92ZXMgdGhlIHJlc3BvbnNpdmVuZXNzIG9mIHRoZSBwaXBlbGluZSB3aGVuIHJlc291cmNlcyBhcmUgY2xvc2UvYWJvdmUgdGhlCgkgIGxpbWl0YXRpb25zIG9mIHRoZSBoYXJkd2FyZS4KCSAgQW55IHN1YmNsYXNzIHRoYXQgd2lzaGVzIG5vdCB0byBlbmFibGUgcW9zIGNhbiBkbyBzbyB0aGVtc2VsdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNTE5CgoyMDE2LTAyLTA0IDE1OjExOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBwYXNzIHRoZSBjb3JyZWN0IHRpbWUgdmFsdWUgdG8gd2FpdF9mb3Jfc3luYwoJICBXaGVuIHdlIGFyZSBub3Qgd2FpdGluZywgd2UgbmVlZCB0byBwYXNzIC0xIHRvIHNpZ25hbCB0aGF0IHdlIGp1c3Qgd2FudCB0byBjaGVjawoJICB0aGF0IHRoZSBmcmFtZSB3YXMvbid0IHJlbmRlcmVkLiAgQXZvaWRzIHdhaXRpbmcgZm9yIGZyYW1lcyB0aGF0IHdpbGwgbmV2ZXIgYmUKCSAgcmVuZGVyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTU6MDc6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IGFkdmFuY2UgdGhlIHJlYWR5IGNvdW50ZXIgb3Vyc2VsdmVzIHdoZW4gcmVuZGVyPUZBTFNFCgkgIFdoZW4gbm90IHJlbmRlcmluZyB0aGUgdmlkZW8gZnJhbWUsIGUuZy4gd2hlbiBmcmVlaW5nIGFuIHVucmVsZWFzZWQgc3luYyBmcmFtZSwKCSAgd2Ugd2lsbCBub3QgcmVjZWl2ZSBhIGZyYW1lIGxpc3RlbmVyIGNhbGxiYWNrLgoJICBSZWR1Y2VzIHRoZSBhbW91bnQgb2YgJ29uX2ZyYW1lX2F2YWlsYWJsZSBtaXNzIGRldGVjdGVkJyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nCgkgIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNDoyNToxMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEZpeCBkaXNjb250IHRyYWNraW5nCgkgIERvbid0IHJlc2V0IHRoZSBtYXJrZXIgdGhhdCdzIHRyYWNraW5nIGRpc2NvbnRzIHVudGlsCgkgIGVpdGhlciB0aGUgZGlzY29udCBkaXNhcHBlYXJzIG9yIHdlIHJlc3luYy4KCjIwMTYtMDItMDMgMjE6MjI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSAgUmVtb3ZlIGFuY2llbnQgYW5kIGRlYWQgY2Ryb20gY29udHJvbCBwbHVnaW4KCSAgVGhpcyB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIEkgZG9uJ3QgdGhpbmsKCSAgaXQncyBwYXJ0aWN1bGFybHkgdXNlZnVsLCBzaW5jZSBpdCdzIGp1c3QgYSBjb250cm9sCgkgIGludGVyZmFjZSByZWFsbHkuIExldCdzIHJlbW92ZSBpdC4KCjIwMTYtMDItMDMgMjE6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkb2NzOiByZW1vdmUgc29tZSBsZWZ0b3ZlciAnU2luY2UgMC4xMC54JyBtYXJrZXJzCgoyMDE2LTAyLTAzIDIxOjEzOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvLmdpdGlnbm9yZToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHMtbWFyc2hhbC5saXN0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkZWJ1Z3V0aWxzOiB1c2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDE2LTAyLTAzIDE2OjI4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1czogZml4IEZFQwoJICBGRUMgbWF5IG9ubHkgYmUgdXNlZCB3aGVuIFBMQyBpcyBlbmFibGVkIG9uIHRoZSBhdWRpbyBkZWNvZGVyLAoJICBhcyBpdCByZWxpZXMgb24gZW1wdHkgYnVmZmVycyB0byBnZW5lcmF0ZSBhdWRpbyBmcm9tIHRoZSBuZXh0CgkgIGJ1ZmZlci4gSG9va2luZyB0byB0aGUgZ2FwIGV2ZW50cyBkb2Vzbid0IHdvcmsgYXMgdGhlIGF1ZGlvCgkgIGRlY29kZXIgZG9lcyBub3QgbGlrZSBtb3JlIGJ1ZmZlcnMgb3V0cHV0IHRoYW4gaXQgc2VuZHMuCgkgIFRoZSBsZW5ndGggb2YgZGF0YSB0byBnZW5lcmF0ZSB1c2luZyBGRUMgZnJvbSB0aGUgbmV4dCBwYWNrZXQKCSAgaXMgZGV0ZXJtaW5lZCBieSByb3VuZGluZyB0aGUgZ2FwIGR1cmF0aW9uIHRvIG5lYXJlc3QuIFRoaXMKCSAgZW5zdXJlcyB0aGF0IGR1cmF0aW9uIGltcHJlY2lzaW9uIGRvZXMgbm90IGNhdXNlIHF1YW50aXphdGlvbgoJICB0byAyLjUgbWlsbGlzZWNvbmRzIGxlc3MgdGhhbiBhdmFpbGFibGUuIERvaW5nIHNvIGNhdXNlcyB0aGUKCSAgT3B1cyBBUEkgdG8gZmFpbCBkZWNvZGluZy4gU3VjaCBkdXJhdGlvbiBpbXByZWNpc2lvbiBpcyBjb21tb24KCSAgaW4gbGl2ZSBjYXNlcy4KCSAgVGhlIGJ1ZmZlciB0byBjb25zaWRlciB3aGVuIGRldGVybWluaW5nIHRoZSBsZW5ndGggb2YgYXVkaW8KCSAgdG8gYmUgZGVjb2RlZCBpcyB0aGUgcHJldmlvdXMgYnVmZmVyIHdoZW4gdXNpbmcgRkVDLCBhbmQgdGhlCgkgIG5ldyBidWZmZXIgb3RoZXJ3aXNlLiBJbiB0aGUgRkVDIGNhc2UsIHRoaXMgbWVhbnMgd2UgZGV0ZXJtaW5lCgkgIHRoZSBhbW91bnQgb2YgYXVkaW8gZnJvbSB0aGUgcHJldmlvdXMgYnVmZmVyLCB3aGV0aGVyIGl0IHdhcwoJICBtaXNzaW5nIG9yIG5vdCAoYW5kIGdldCB0aGUgZGF0YSBlaXRoZXIgZnJvbSB0aGlzIGJ1ZmZlciwgb3IKCSAgdGhlIGN1cnJlbnQgb25lIGlmIHRoZSBwcmV2aW91cyBvbmUgd2FzIG1pc3NpbmcpLgoKMjAxNi0wMi0wMyAxMDo1OToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogcmVjb25maWd1cmUgdGhlIHNyYyB3aGVuIGNoYW5naW5nIHRvL2Zyb20gcGFzc3Rocm91Z2gKCSAgT3RoZXJ3aXNlIGl0J3MgdmVyeSBwb3NzaWJsZSB0aGF0IGFueSBHTCByZXNvdXJjZXMgaGF2ZSBub3QgYmVlbiBjcmVhdGVkIHlldC4KCjIwMTYtMDItMDMgMTA6NTI6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuaDoKCSAgZ2x2aWRlb2ZsaXA6IGNvcnJlY3RseSB1cGRhdGUgdGhlIG91dHB1dCBjYXBzIG9uIG1ldGhvZCBjaGFuZ2VzCgkgIFdoZW4gY2hhbmdpbmcgbWV0aG9kcyB3ZSBtYXkgbmVlZCBkaWZmZXJlbnQgb3V0cHV0IGNhcHMuCgoyMDE2LTAyLTAyIDExOjIwOjE3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogZml4IHRpbmFsc2EgdHlwbwoKMjAxNi0wMi0wMiAxMTowNjo1MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IGZpeCBzYW1wbGUgbGF1bmNoIGxpbmUKCjIwMTYtMDItMDIgMTQ6NDY6MzAgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkgIGxpYnM6IHBsYXllcjogdXNlIGNvbmZpZ3VyZWQgR1NUX1BLR19DT05GSUdfUEFUSCB3aGVuIGludm9raW5nIHRoZSBpbnRyb3NwZWN0aW9uIHNjYW5uZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ2MAoKMjAxNi0wMi0wMiAxNToyMDo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCB3cm9uZyBidWZmZXIgYmVpbmcgY2hlY2tlZCBmb3IgbWlzc2luZyBkYXRhCgkgIFRoaXMgY2F1c2VkIGEgZGVjb2RpbmcgZXJyb3IgaWYgdGhlIHJlc3VsdGluZyAod3JvbmcpIGJ1ZmZlciBzaXplCgkgIHdhcyBwYXNzZWQgdG8gdGhlIE9wdXMgZGVjb2RpbmcgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTU4CgoyMDE2LTAyLTAyIDE2OjI2OjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBVc2UgaW50IHR5cGUgaWYgd2Ugc3VwcG9ydCBhIHNpbmdsZSByYXRlL2NoYW5uZWwgY291bnQKCSAgQXZvaWRzIHVzaW5nIGFuIGludCByYW5nZSBpZiB0aGUgZmllbGQgd2UncmUgc2V0dGluZyBpcyBub3QgYWN0dWFsbHkgYQoJICByYW5nZS4KCjIwMTYtMDItMDIgMTg6MzY6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIFJldmVydCAiZ2wvZWFnbDogdHJ5IGdldHRpbmcgYSBnbGVzMyBjb250ZXh0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk2Yjk2NjZkNTk2YmUxMTVmZDRiNDQ2ZWY4NDY1MDhiN2ZkMDVjMjQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDExMzg1ZDE2N2Q4ODQzNjA0ZWEyM2EwNWUyZGVhNDBiOGJiYWMzNS4KCSAgVGhpcyBicmVha3MgdGhlIHRleHR1cmUgc2hhcmluZyB3aXRoIHRoZSBhcHBsZW1lZGlhIGVsZW1lbnRzIGFzCgkgIENWT3BlbkdMRVNUZXh0dXJlQ2FjaGUgc2VlbXMgdG8gaGF2ZSBhbiBhcmJpdHJhcnkgcmVzdHJpY3Rpb24gb24gR0xFUzIgb25seS4KCjIwMTYtMDItMDIgMTY6MjE6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZG9uJ3Qgc2tpcCBzdWJzZXQgc3RydWN0dXJlcwoJICBXZSBtYXkgbmVlZCB0aGVtIHRvIHRyYW5zZm9ybSBpbnRvIGEgZGlmZmVyZW50IHNldCBvZiBmb3JtYXRzLgoJICBGaXhlcyBZVVYtPllVViB3aXRoIHR3byBnbGNvbG9yY29udmVydHMsIGUuZzoKCSAgZm9ybWF0PUk0MjAgISBnbGNvbG9yY29udmVydCAhIGdsY29sb3Jjb252ZXJ0ICEgZm9ybWF0PU5WMTIKCjIwMTYtMDItMDIgMTY6MTk6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBhbHdheXMgY2FsbCBnbF9zdGFydCB3aGVuIG5vdCBjYWxsZWQgYWxyZWFkeQoJICBGaXhlcyBlbGVtZW50cyB0cmFuc2l0aW9uaW5nIG91dCBvZiBwYXNzdGhyb3VnaCBtb2RlIHVzaW5nIEdMIHJlc291cmNlcyB0aGF0CgkgIGhhZG4nZSBiZWVuIGFsbG9jYXRlZCB5ZXQuCgoyMDE2LTAyLTAyIDE1OjE0OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBSR0IscmVjdGFuZ2xlLT5wbGFuYXIgWVVWIGNvbnZlcnNpb24KCSAgQ29udmVydGluZyB0byBHUkFZIGlzIG5vIGZ1bi4gIEFub3RoZXIgY2FzZSBvZiBub3JtYWxpemVkIHZzIHVubm9ybWFsaXplZAoJICB0ZXh0dXJlIGNvb3JkaW5hdGVzLgoKMjAxNi0wMi0wMiAxMzo1MToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggWVVZMi9VWVZZLHJlY3RhbmdsZS0+UkdCIGNvbnZlcnNpb24KCSAgMS4wIC8gd2lkdGggZG9lcyBub3Qgb2Zmc2V0IGJ5IG9uZSBwaXhlbCBpbiByZWN0YW5ndWxhciB0ZXh0dXJlcyAod2hpY2ggdXNlCgkgIHVubm9ybWFsaXplZCBjb29yZGluYXRlcykuCgkgIFByb3ZpZGUgdGhlIGFjdHVhbCBwaXhlbCBvZmZzZXQgYXMgYSB1bmlmb3JtIHRvIHRoZSBzaGFkZXIuCgoyMDE2LTAxLTI3IDE2OjQyOjA5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdGlueWFsc2EvTWFrZWZpbGUuYW06CgkqIHN5cy90aW55YWxzYS90aW55YWxzYS5jOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuaDoKCSAgdGlueWFsc2E6IEFkZCBhIG5ldyBzaW5rIHBsdWdpbiB1c2luZyB0aW55YWxzYQoJICBUaGlzIHVzZXMgdGhlIHRpbnlhbHNhIGxpYnJhcnkgdG8gcGxheWJhY2sgdG8gYW4gQUxTQSBkZXZpY2UuIEZ1dHVyZQoJICB3b3JrIGNhbiBpbmNsdWRlIHVzaW5nIHRoZSBtbWFwIGludGVyZmFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTIzMAoKMjAxNi0wMi0wMiAxMjo1MDoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBwZXJmb3JtIGJldHRlciBuZWdvdGlhdGlvbgoJICAxLiBDb3JyZWN0bHkgZGVzY3JpYmUgd2hhdCB3ZSBjYW4gY2FwcyB3ZSBjYW4gdHJhbnNmb3JtIHRvL2Zyb20uCgkgIGkuZS4gbm8gWVVWLT5ZVVYgb3IgR1JBWS0+WVVWIG9yIFlVVi0+R1JBWSAoZXhjZXB0IGZvciBwYXNzdGhyb3VnaCkuCgkgIDIuIFByZWZlciBzaW1pbGFyIGZvcm1hdHMgYW5kIGlnbm9yZSBpbmNvbXBhdGlibGUgZm9ybWF0cyBvbiBmaXhhdGlvbi4KCjIwMTYtMDEtMjYgMjM6MTU6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHRlc3QgZm9yIHVwZGF0aW5nIHN0b3AgcG9zaXRpb24KCSAgVGVzdCB0aGF0IGEgc2VlayB0aGF0IG9ubHkgdXBkYXRlcyB0aGUgc3RvcCBwb3NpdGlvbiB3b3JrcwoJICBhcyBleHBlY3RlZAoKMjAxNi0wMi0wMSAwOTo0ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogb25seSB1cGRhdGUgY3VycmVudCByZWFkaW5nIHBvc2l0aW9uIHdoZW4gbmVlZGVkCgkgIElmIHRoZSBzZWVrIGRvZXNuJ3Qgc2V0IHRoZSBzdGFydC9zdG9wIHBvc2l0aW9uLCBubyBuZWVkIHRvCgkgIHJlcG9zaXRpb24gdGhlIGRvd25sb2FkIGluZGV4LgoKMjAxNi0wMS0yOSAyMDozNDo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVzcGVjdCBzZWVraW5nIHBhcmFtZXRlcgoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBzZWdtZW50IHZhbHVlcywgdXNlIHRoZSBwYXJhbWV0ZXIKCSAgcmVxdWVzdGVkIGluIHRoZSBzZWVraW5nIGFyZ3VtZW50CgoyMDE2LTAyLTAxIDE0OjI1OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaDogZml4IGRhc2ggdGVzdHMgYWZ0ZXIgaW5kZXggZml4CgkgIDhlNzg4ZjI4NDUwODYxMjk4MmU4ZTM4MzM2ZWVkNjc2YzJlZWMzNWEgYnJva2Ugb25lIG9mIHRoZQoJICBkYXNoIG1wZCB0ZXN0cy4gVGhpcyB1cGRhdGVzIGFuZCBmaXhlcyBpdC4KCjIwMTYtMDItMDEgMTI6MjM6MzIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdzdGdsd2luZG93OiBpbml0aWFsaXplIG5hdmlnYXRpb25fbG9vcCB0byBOVUxMCgkgIFVzZWZ1bCB3aGVuIGdzdF9nbF93aW5kb3cuYzo6Z3N0X2dsX3dpbmRvd19uZXcgaXMgbm90IHVzZWQuCgkgIFRoaXMgaXMgdGhlIGNhc2Ugd2hlbiB1c2luZyBhIGN1c3RvbSBHc3RHTFdpbmRvdy4KCSAgKGV4OiBHc3RHTFdpbmRvd0dQVVByb2Nlc3MgZnJvbSBDaHJvbWl1bSkKCjIwMTYtMDItMDEgMDk6MjY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbDogZWFnbDogZml4IGJ1aWxkCgkgIGdzdGdsY29udGV4dF9lYWdsLm06MjM4OjQ1OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24gY2FsbCwKCSAgZXhwZWN0ZWQgYXQgbGVhc3QgNCwgaGF2ZSAzCgoyMDE2LTAyLTAxIDE1OjEzOjAzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkOiBhbGxvdyB2aWRlby94LXJhdyBhcyBpbnB1dAoJICAuLi5hbmQganVzdCBwYXNzdGhyb3VnaC4gVGhpcyBpcyB1c2VmdWwgZm9yIHBpcGVsaW5lcyB3aGVyZSBkb3duc3RyZWFtIG11c3QgYmUKCSAgbm9uLUdMIGJ1dCB1cHN0cmVhbSBjYW4gb3B0aW9uYWxseSBiZSBHTC4KCjIwMTYtMDItMDEgMTI6NTc6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IHRyeSBnZXR0aW5nIGEgZ2xlczMgY29udGV4dAoJICBGYWxsYmFjayB0byBhIGdsZXMyIGNvbnRleHQgaWYgdGhhdCBmYWlscwoKMjAxNi0wMS0yMSAxNjoxMDo0OCArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBmaXggY2hlY2tlciB2Ym8gbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTI1CgoyMDE2LTAxLTI0IDE1OjQ3OjEyICswMTAwICBIb2xnZXIgS2FlbGJlcmVyIDxob2xnZXIua0BlbGJlcmVyLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4ucW1sOgoJICB0ZXN0czogZml4IHdhcm5pbmcgaW4gcW1sIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA4MgoKMjAxNi0wMS0yNCAxNTo0MjozMiArMDEwMCAgSG9sZ2VyIEthZWxiZXJlciA8aG9sZ2VyLmtAZWxiZXJlci5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcXQ6IEZpeCBidWlsZCBmb3IgYW5kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDgyCgoyMDE2LTAyLTAxIDAxOjAxOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgIFJlbW92ZSBkZWFkIHNuYXBzaG90IHBsdWdpbgoJICBXYXMgbmV2ZXIgcG9ydGVkIGFuZCBkb2Vzbid0IGxvb2sgbGlrZQoJICB3ZSB3YW50IGl0IG9yIG5lZWQgaXQgaW4gdGhpcyBmb3JtLCBjYW4KCSAgZG8gdGhlIHNhbWUgd2l0aCB0aGUgbGliZ3N0dmlkZW8gc2FtcGxlCgkgIGNvbnZlcnNpb24gdXRpbGl0eSBBUEkgbm93LCBidXQgYmV0dGVyCgkgIGFuZCBpbiBhIG1vcmUgZmxleGlibGUgd2F5LgoKMjAxNi0wMi0wMSAwMDo0OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBidW1wIHJlcXVpcmVtZW50IHRvIDIuMzYuMgoJICBXaGljaCBhbGxvd3MgdXMgdG8gc2ltcGxpZnkgdGhlIGNvbmZpZ3VyZSBjaGVjayBhbmQKCSAgc29tZSBzcGVjaWFsLWNhc2luZyBpbiB0aGUgY29kZSwgYW5kIGlzIHBsZW50eSBvbGQKCSAgaW4gYW55IGNhc2UuCgoyMDE2LTAyLTAxIDAwOjI5OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvUkVBRE1FOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2xpYmZhbWUubTQ6CgkgIFJlbW92ZSBkZWFkIGxpYmZhbWUgcGx1Z2luCgkgIFdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgdGhlIGxpYgoJICBoYXMgYmVlbiB1bm1haW50YWluZWQgZm9yIGV2ZXIgYW5kIGRvZXNuJ3QKCSAgZXZlbiBzZWVtIHRvIGJlIHBhY2thZ2VkIGFueSBtb3JlLgoKMjAxNi0wMS0zMSAxOTowOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9SRUFETUU6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgUmVtb3ZlIGRlYWQgYXVkaW9maWxlIHBsdWdpbgoJICBUaGlzIHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLgoKMjAxNi0wMS0zMSAxOTowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogbTQvZ3NldHRpbmdzLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBnc2V0dGluZ3MgcGx1Z2luIHdoaWNoIHdhcyBuZXZlciBwb3J0ZWQKCSAgRG9uJ3QgdGhpbmsgd2UgbmVlZCB0aGlzIGFueSBsb25nZXIgb3Igd2FudCB0bwoJICBzdXBwb3J0IGl0LCBhbmQgY2xlYXJseSBubyBvbmUgaGFzIGJlZW4gbWlzc2luZwoJICBpdCBhbGwgdGhlc2UgeWVhcnMgZWl0aGVyLCBzbyBsZXQncyBqdXN0IGdldCByaWQKCSAgb2YgaXQuCgoyMDE2LTAxLTMxIDE2OjAyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBzbW9vdGhzdHJlYW1pbmc6IHJlbW92ZSB1bnVzZWQgZGVwZW5kZW5jeSBvbiB1cmlkb3dubG9hZGVyCgoyMDE2LTAxLTMxIDE0OjQyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHNpbXBsaWZ5IGNvbmZpZ3VyZSBjaGVjayBhbmQgcmVxdWlyZSBmYWFkID49IDIuNwoJICBKdXN0IGNoZWNrIHdoZXRoZXIgTEFUTSBpcyBkZWZpbmVkIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlCgkgIGluIDIuNyBhbmQgbGF0ZXIuIEFsbG93cyB1cyB0byBzaW1wbGlmeSB0aGUgY29uZmlndXJlIGNoZWNrCgkgIGEgbGl0dGxlIGFuZCB3ZSBjYW4gZ2V0IHJpZCBvZiBzb21lIGhhY2tpc2ggd29ya2Fyb3VuZHMgZm9yCgkgIHByb2JsZW1zIHdpdGggZWFybGllciB2ZXJzaW9uIGhlYWRlcnMuCgoyMDE2LTAxLTMwIDE3OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHVubmVjZXNzYXJ5IHVzZSBvZiBfc3RkaW50LmgKCjIwMTYtMDEtMjkgMjM6Mzk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBHZW5lcmF0ZSBVVUlEcyBhY2NvcmRpbmcgdG8gUkZDNDEyMiB2ZXJzaW9uIDQgKGFrYSByYW5kb20pCgkgIEluc3RlYWQgb2YgZnVsbHkgcmFuZG9tIFVVSURzLCB0aGVzZSBzaG91bGQgZm9sbG93IGEgc2NoZW1lLgoKMjAxNi0wMS0yOSAyMTowOTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IFByb3Blcmx5IHdyaXRlIHZpZGVvIGxpbmUgbWFwIGRhdGEgYXMgYW4gYXJyYXkgb2YgMzIgYml0IGludGVnZXJzCgoyMDE2LTAxLTI5IDIwOjU4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogRE1TY2hlbWVzIGluIHRoZSBQcmVmYWNlIGlzIGEgcmVxdWlyZWQgZmllbGQKCSAgRXZlbiBpZiBpdCBoYXMgMCBlbnRyaWVzLgoKMjAxNi0wMS0yOSAxODo0MTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdWwuYzoKCSAgbXhmdWw6IEZpeCBDb250ZW50IFN0b3JhZ2UgVUwKCjIwMTYtMDEtMjkgMTg6Mjg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBCZXN0IGVmZm9ydCB2YWx1ZXMgbXVzdCBiZSB3cml0dGVuIGFuZCBpZiB1bnNldCBtdXN0IGNvbnRhaW4gdGhlIGRpc3Rpbmd1aXNoZWQgdmFsdWUKCSAgSXQncyBpbnZhbGlkIHRvIG5vdCB3cml0ZSB0aGVtIGF0IGFsbC4KCjIwMTYtMDEtMjkgMTc6MzY6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZnVsOiBBZGQgbWlzc2luZyBPcGVyYXRpb25hbFBhdHRlcm4gVUwsIHdoaWNoIGZpeGVzIGFuIG9mZi1ieS1vbmUgd2l0aCB0aGUgb3RoZXJzCgoyMDE2LTAxLTI5IDE3OjA3OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBPdXIgYm9keSBwYXJ0aXRpb24gaXMgYWx3YXlzIGNvbXBsZXRlIGFuZCBjbG9zZWQKCSAgV2UgaGF2ZSBubyBtZXRhZGF0YSBpbiBpdC4KCjIwMTYtMDEtMjkgMTc6MDI6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFVzZSBJbmRleFNJRCBvZiAyIGluc3RlYWQgb2YgMQoJICBTb21lIHRvb2xzIGNvbXBsYWluIGlmIGVzc2VuY2UgYW5kIGluZGV4IGhhdmUgdGhlIHNhbWUgU0lELgoKMjAxNi0wMS0yOSAxNjozODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmV3cml0ZSBib2R5IHBhcnRpdGlvbiBwYWNrIG9uIEVPUyBhbmQgbWFyayBpdCBhcyBjb21wbGV0ZS9jbG9zZWQKCjIwMTYtMDEtMjkgMjM6Mjg6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IGd1YXJkIGFnYWluc3Qgbm90IGZpbmRpbmcgYSB2YWxpZCBmcmFtZSBpbiBsb29wCgkgIEZpeGVzIHNwb3JhZGljIGNyYXNoZXMgb24gZmluaXNoaW5nIGRlY29kaW5nIGEgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDEtMjkgMTU6MjQ6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFtY09uRnJhbWVBdmFpbGFibGVMaXN0ZW5lci5qYXZhOgoJICBhbWN2aWRlb2RlYzogc2V0IG91ciBkYXRhIHBvaW50ZXIgaW4gamF2YSB0byBOVUxMIG9uIGNsb3NlCgkgIFRoZSBmcmFtZSBhdmFpbGFibGUgY2FsbGJhY2sgY2FuIGJlIGNhbGxlZCBhZnRlciBkZWNvbmZpZ3VyaW5nIHRoZSBhbWMgY29kZWMuCgkgIEd1YXJkIGFnYWluc3QgdGhpcyBieSBzZXR0aW5nIHRoZSBiYWNrIHBvaW50ZXIgdG8gTlVMTCBvbiBjbG9zZSgpIGFuZCBpZ25vcmluZwoJICBhbnkgTlVMTCBkYXRhIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDEtMjkgMTU6MDc6NTkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2dsY29udGV4dGhlbHBlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9nbGNvbnRleHRoZWxwZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmVmYWN0b3IgR0wgY29udGV4dCBjb2RlCgkgIFJld29yayB0aGUgR0wgY29udGV4dCBjb2RlLiBOb3cgYm90aCBhdmZ2aWRlb3NyYyBhbmQgdnRkZWMgY2FuIGNyZWF0ZSBhbgoJICBpbnRlcm5hbCBHTCBjb250ZXh0IGZvciBwdXNoaW5nIHRleHR1cmVzLiBCb3RoIGVsZW1lbnRzIHdpbGwgc3RpbGwgdHJ5IHRvCgkgIHVzZS9zd2l0Y2ggdG8gYSBsb2NhbCBjb250ZXh0IHdoZXJlIGF2YWlsYWJsZSAoaW5jbHVkaW5nIGFmdGVyIFJFQ09ORklHVVJFCgkgIGV2ZW50cykuCgoyMDE2LTAxLTI5IDEwOjM1OjE1ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkgIGdscHJvdG90eXBlczogZml4IHBhcmFtZXRlciB0eXBlIG9mIGdsR2VuQnVmZmVycwoJICBUaGUgbnVtYmVyIG9mIGJ1ZmZlcnMgc2hvdWxkIGJlIEdMc2l6ZWkgaW5zdGVhZCBvZiBHTHVpbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyNzIKCjIwMTUtMTItMDggMTQ6MDk6NTggKzA4MDAgIEhhaWh1YSBIdSA8YjU1NTk3QGZyZWVzY2FsZS5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogZml4IGdsZWZmZWN0cyBmaXNoZXllIHNoYWRlciBjb21waWxlIGVycm9yCgkgIE9uIHNvbWUgZW1iZWRkZWQgc3lzdGVtcywgc3FydCgpIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHNoYWRlciwKCSAgdXNlIHRoZSBhY3R1YWwgdmFsdWUgb2Ygc3FydCgyKSBpbnN0ZWFkLgoJICBTaWduZWQtb2ZmLWJ5OiBIYWlodWEgSHUgPGI1NTU5N0BmcmVlc2NhbGUuY29tPgoJICBCdWd6aWxsYTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTI3MQoKMjAxNi0wMS0yOSAxNDowMzoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHBhciBtYXkgbm90IGV4aXN0IGluIHRoZSBjYXBzCgkgIEZpeGVzIGEgY3JpdGljYWwgaW4gdGhlIGdzdC12YWxpZGF0ZSB0ZXN0czoKCSAgZ3N0X3N0cnVjdHVyZV9maXhhdGVfZmllbGRfbmVhcmVzdF9mcmFjdGlvbjogYXNzZXJ0aW9uICdnc3Rfc3RydWN0dXJlX2hhc19maWVsZAoJICAoc3RydWN0dXJlLCBmaWVsZF9uYW1lKQoKMjAxNi0wMS0yOSAxMjo0NTo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBiYWNrIG91dCB1bmludGVuZGVkIGxvc3RfY29udGV4dCBjaGFuZ2VzCgoyMDE2LTAxLTI4IDE2OjM5OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJICBlZ2w6IGltcGxlbWVudCBzZWxlY3Rpbmcgb3BlbmdsMyBjb250ZXh0cwoKMjAxNi0wMS0yOCAxNDozMTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdsL2VnbDogcGFzcyB0aGUgZXJyb3IgdmFsdWUgdG8gZ2V0X2Vycm9yX3N0cmluZygpCgoyMDE2LTAxLTI4IDE4OjIwOjQ0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogaW5pdGlhbGl6ZSB1cGRhdGVfc2l6ZSB0byBGQUxTRSB3aGVuIHVwZGF0aW5nIGluZm8KCSAgT3RoZXJ3aXNlLCBiZWhhdmlvciB3aWxsIGJlIHVuZGVmaW5lZCB3aGVuIG5vIHN0cmlkZXMvb2Zmc2V0cyBhcmUgc2V0CgkgIGFuZCBpdCB3aWxsIGxpa2VseSBnbyB3cm9uZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0yOCAxMTo1NjozNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogRml4IGZyYW1lc2l6ZSBjYWxjdWxhdGlvbgoJICBXaGVuIHRoZSBmcmFtZXNpemUgaXMgbm90IHNwZWNpZmllZCwgd2UgdHJ5IGFuZCBjYWxjdWxhdGUgYSBzaXplIGZyb20KCSAgdGhlIHN0cmlkZXMgYW5kIG9mZnNldCBpbmZvcm1hdGlvbi4gVGhpcyB3YXMgZG9uZSB3aXRoIHRoZSBzdW0gb2YKCSAgb2Zmc2V0cyArIHRoZSBzaXplIG9mIHRoZSBsYXN0IGZyYW1lLiBUaGF0IGlzIGp1c3Qgd3JvbmcgbWV0aG9kLiBXZSBhbHNvCgkgIG5lZWQgdG8gYWNjb3VudCBmb3IgdmlkZW8gbWV0YSB0aGF0IG1heSBiZSBmbGlwcGluZyB0d28gcGxhbmVzLiBBbgoJICBleGFtcGxlIGlzIGlmIHlvdSBjb252ZXJ0IEk0MjAgdG8gWVYxMiBieSBmbGlwcGluZyB0aGUgdHdvIGxhc3Qgb2Zmc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0yOCAxOTozNjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICBnZHBkZXBheTogQWRkIHRzLW9mZnNldCBwcm9wZXJ0eSB0byBhZGp1c3QgYnVmZmVyIHRpbWVzdGFtcHMKCjIwMTYtMDEtMjkgMDQ6NTA6NDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIHBrZy1jb25maWc6IERvbid0IGdlbmVyYXRlIGFuZCBpbnN0YWxsIHBrZy1jb25maWcgd2l0aCByZWxhdGl2ZSBwYXRocwoJICBEb24ndCBwdXQgcmVsYXRpdmUgcGF0aHMgaW4gcGtnLWNvbmZpZyBmaWxlcywgaW5jbHVkaW5nIHVuaW5zdGFsbGVkCgkgIG9uZXMuIEZvciB0aG9zZSwgdXNlIEBhYnNfdG9wYnVpbGRkaXJAIGFuZCBAYWJzX3RvcHNyY2RpckAgYXMgd2UKCSAgZG8gZWxzZXdoZXJlLgoJICBSZW1vdmUgbGlicmFyaWVzPSBkaXJlY3RpdmVzLCB3aGljaCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBwa2ctY29uZmlnCgkgIHZhcmlhYmxlIHRoYXQgYWN0dWFsbHkgZXhpc3RzLCBidXQgaGFzIGJlZW4gaW4gYWxsIG91ciBwa2ctY29uZmlnCgkgIGZpbGVzIGZvciBhcyBsb25nIGFzIHRoZXkndmUgZXhpc3RlZC4KCjIwMTYtMDEtMjggMTY6NDk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogV3JpdGUgdGhlIGNvcnJlY3QgZXNzZW5jZSBjb250YWluZXIgVUwgZm9yIGFsbCBjb2RlY3MKCjIwMTYtMDEtMjggMTY6NDE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogV3JpdGUgdmVyc2lvbiBudW1iZXIgaW50byB0aGUgcGljdHVyZSBlc3NlbmNlIGNvZGluZyBVTAoKMjAxNi0wMS0yOCAxNjozMjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogV3JpdGUgYSB0aW1lY29kZSB0cmFjayBpbnRvIHRoZSBzb3VyY2UgcGFja2FnZSB0b28KCjIwMTYtMDEtMTEgMTU6NDc6MjQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICB2aWRlb3BhcnNlOiB1c2UgZGVjaWRlX2FsbG9jYXRpb24gdG8gY2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB2aWRlb21ldGEKCSAgSWYgeWVzLCB3ZSBhZGQgdGhlbSB0byBlYWNoIG91dHB1dCBidWZmZXJzIGFuZCB3ZSBhdm9pZCBmcmFtZSBjb3B5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTExIDE1OjQ2OjE2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogYWRkICdkZWNpZGVfYWxsb2NhdGlvbicgdmZ1bmMgdG8gbGV0IHN1YmNsYXNzIHBhcnNlIGFuIGFsbG9jYXRpb24gcXVlcnkKCSAgQW5kIHNvIHNlbmQgYW4gYWxsb2NhdGlvbiBxdWVyeS4gVGhpcyBjb3VsZCBiZSB1c2VkIHRvIGNoZWNrIHdoZXRoZXIKCSAgZG93bnN0cmVhbSBlbGVtZW50IHN1cHBvcnRzIHNvbWUgbWV0YXMgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA4IDE3OjE3OjAxICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiB1c2Ugc2l6ZSBvZiBidWZmZXIgd2UgZ290IGZyb20gYWRhcHRlcgoJICBPdGhlcndpc2UgcG9zaXRpb24gaW4gc3RyZWFtIGNvdWxkIGJlIHdyb25nIGlmIHN1YmNsYXNzICdwcmVfcHVzaF9mcmFtZScKCSAgbWV0aG9kIGNoYW5nZXMgdGhlIGJ1ZmZlciBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA3IDE0OjI3OjI3ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogYWRkIHByb3BlcnRpZXMgdG8gc2V0IGZyYW1lc2l6ZSwgc3RyaWRlcyBhbmQgcGxhbmVzIG9mZnNldHMKCSAgVG8gbWFrZSBwYXJzZXIgd29yayB3aXRoIGltYWdlIGhhdmluZyBub24tc3RhbmRhcmQgc3RyaWRlcywgcGxhbmUKCSAgb2Zmc2V0cyBvciB3aXRoIHBhZGRpbmcgYmV0d2VlbiBpbWFnZXMuCgkgIEZvciBub3csIHNpbmNlIGVsZW1lbnQgZG9lc24ndCBjaGVjayBmb3IgdmlkZW9tZXRhLCB3ZSBjYW4ndCBkaXJlY3RseQoJICBwdXNoIGJ1ZmZlcnMgd2hlbiB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBzZXQgc28gaXQgY29udmVydCB0aGUgZnJhbWUKCSAgaW4gdGhlIHByZV9wdXNoX2J1ZmZlciBtZXRob2QgdG8gcmVtb3ZlIGFueSBjdXN0b20gcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wOCAxNToyMToyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IHJlbmFtZSAnc2V0X2J1ZmZlcl9mbGFncycgdmZ1bmMgdG8gJ3ByZV9wdXNoX2J1ZmZlcicKCSAgdG8gYWxsb3cgc3ViY2xhc3MgdG8gY2hhbmdlIG90aGVyIGZpZWxkcyBvZiB0aGUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA3IDE0OjE4OjA4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogY2FjaGUgdmlkZW8gaW5mbyBpbiBpbnN0YW5jZQoJICBUbyBhdm9pZCBpbml0aWFsaXppbmcgYW5kIGZpbGxpbmcgdmlkZW8gaW5mbyBlYWNoIHRpbWUgd2UgbmVlZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0yOCAxNTozODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIG14Zm11eDogV3JpdGUgVGhpcyBHZW5lcmF0aW9uIFVJRCBpbnRvIHRoZSBJZGVudGlmaWNhdGlvbiBtZXRhZGF0YQoJICBJdCdzIHJlcXVpcmVkIGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQgYW5kIHdlIGZvcmdvdCB0byBhY3R1YWxseSB3cml0ZSBpdCB0bwoJICB0aGUgZmlsZSBhbHRob3VnaCB3ZSBzdG9yZWQgaXQgaW4gdGhlIGRhdGEgc3RydWN0dXJlcy4KCjIwMTYtMDEtMjggMTU6Mjk6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBBZGQgd29ya2Fyb3VuZCBmb3IgZmZtcGVnIG9ubHkgd3JpdGluZyBvbmUgVmlkZW8gTGluZSBNYXAgdmFsdWUKCSAgaHR0cHM6Ly9mZm1wZWcub3JnL3BpcGVybWFpbC9mZm1wZWctZGV2ZWwvMjAxNi1KYW51YXJ5LzE4ODIwMi5odG1sCgoyMDE1LTEwLTE0IDIxOjEzOjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGRvIGNhcHMgcHJvY2Vzc2luZyB0aGF0IGlzIG5vdCBvdmVycmlkYWJsZQoJICBBbGxvd3MgdGhlIHN1YmNsYXNzIHRvIGNvbXBsZXRlbHkgb3ZlcnJpZGUgdGhlIGNob3NlbiBzcmMgY2Fwcy4KCSAgVGhpcyBpcyBuZWVkZWQgYXMgdmlkZW9hZ2dyZWdhdG9yIGdlbmVyYWxseSBoYXMgbm8gaWRlYSBleGFjdGx5CgkgIHdoYXQgb3BlcmF0aW9uIGlzIGJlaW5nIHBlcmZvcm1lZC4KCSAgLSBBZGRzIGEgZml4YXRlX2NhcHMgdmZ1bmMgZm9yIGZpeGF0aW9uCgkgIC0gTWVyZ2VzIGdzdF92aWRlb19hZ2dyZWdhdG9yX3VwZGF0ZV9jb252ZXJ0ZXJzKCkgaW50bwoJICBnc3RfdmlkZW9hZ2dyZWdhdG9yX3VwZGF0ZV9zcmNfY2FwcygpIGFzIHdlIG5lZWQgc29tZSBvZiBpdHMgaW5mbwoJICBmb3IgcHJvcGVyIGNhcHMgaGFuZGxpbmcuCgkgIC0gUGFzcyB0aGUgZG93bnN0cmVhbSBjYXBzIHRvIHRoZSB1cGRhdGVfY2FwcyB2ZnVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjA3CgoyMDE2LTAxLTI3IDIwOjIzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSAgZ2xjb2xvcmJhbGFuY2U6IHJldHVybiBIQVJEV0FSRSBmcm9tIGdldF9iYWxhbmNlX3R5cGUKCjIwMTYtMDEtMjcgMjA6MDQ6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5oOgoJICBnbHNpbmtiaW46IGFkZCBnbGNvbG9yYmFsYW5jZSBlbGVtZW50CgkgIFRoaXMgbWFrZXMgcGxheWJpbiBub3QgcGx1ZyB2aWRlb2JhbGFuY2UgYXMgZ2xjb2xvcmJhbGFuY2UgYWxyZWFkeSBleGlzdHMgYW5kCgkgIGltcGxlbWVudHMgdGhlIEdzdENvbG9yQmFsYW5jZSBpbnRlcmZhY2UuCgoyMDE2LTAxLTI3IDE5OjU2OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRyb2xiaW5kaW5ncHJveHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udHJvbGJpbmRpbmdwcm94eS5oOgoJICBnbDogbW92ZSBjb250cm9sIGJpbmRpbmcgcHJveHkgaW1wbGVtZW50YXRpb24gZnJvbSBnbHZpZGVvbWl4ZXIKCSAgT3RoZXIgZWxlbWVudHMgbWF5IG5lZWQgdG8gdXNlIGl0J3MgZnVuY3Rpb25hbGl0eQoKMjAxNi0wMS0yNyAxODoxNzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkgIGdsY29sb3JiYWxhbmNlOiBjcmVhdGUgdGhlIHNoYWRlciBpZiBpdCBkb2Vzbid0IGV4aXN0IGluIHRoZSByZW5kZXIgY2FsbGJhY2sKCSAgQ2hhbmdpbmcgdGhlIHByb3BlcnRpZXMgbWF5IHJlc3VsdCBpbiBnbGNvbG9yYmFsYW5jZSBtb3ZpbmcgZnJvbSBwYXNzdGhyb3VnaCB0bwoJICBub24tcGFzc3Rocm91Z2ggYW5kIHdlIHdlcmVuJ3QgY3JlYXRpbmcgdGhlIHNoYWRlciBpbiB0aGF0IGNhc2UuCgoyMDE2LTAxLTI1IDE2OjI5OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJICBxdDogc3BlY2lmeSB0aGF0IHdlIGN1cnJlbnRseSBvbmx5IHRha2UgMkQgdGV4dHVyZXMKCSAgRml4ZXMgYmxhY2sgc2NyZWVuIHZpZGVvIHBsYXliYWNrIG9uIGFuZHJvaWQgd2l0aG91dCBhIGNhcHMgZmlsdGVyLgoKMjAxNi0wMS0yNSAxOToxMTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5oOgoJICBnbHZpZGVvZmxpcDogaW5jb3Jwb3JhdGUgdGhlIGFzcGVjdCByYXRpbyBpbnRvIHRoZSBzY2FsZV94IGNhbGN1bGF0aW9ucwoJICAxLiBPdGhlcndpc2Ugcm90YXRpbmcgdGhlIHZpZGVvIHdpbGwgY2xpcCBhbmQgc2hvdyBibGFjayBiYXJzIGR1ZSB0bwoJICBnbHRyYW5zZm9ybWF0aW9uJ3MgaW1wbGVtZW50YXRpb24uCgkgIDIuIFRoZSBvdGhlciBvcHRpb24gb2YgbWFrZSBnbHRyYW5zZm9ybWF0aW9uIGFzcGVjdC1hZ25vc3RpYyBwcm9kdWNlcwoJICBpbmNvcnJlY3Qgb3V0cHV0IHdpdGggcGVyc3BlY3RpdmUgdHJhbnNmb3JtYXRpb25zLgoKMjAxNi0wMS0yNyAxNDozNjozNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogYWN0dWFsbHkgc2V0IHRoZSBjb25maWd1cmVkIGZyYW1lcmF0ZQoJICBBY3R1YWxseSBzZXQgdGhlIGNvbmZpZ3VyZWQgZnJhbWVyYXRlLiBCZWZvcmUgd2Ugb25seSB1c2VkIHRvIHNldCB0aGUgZmlyc3QKCSAgbWF0Y2hpbmcgZnJhbWVyYXRlIHJhbmdlLiBPbiBpT1Mgd2hlcmUgdGhlIGNhbWVyYSByZXBvcnRzIHJhbmdlcyBbMiwgNjBdLCB3ZQoJICB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgY2FtZXJhIHRvIG91dHB1dCBhbnl0aGluZyBiZXR3ZWVuIDIgYW5kIDYwZnBzLgoKMjAxNi0wMS0yNSAyMjozMDoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSAgb3BlbmN2OiBhZGQgbWFzayBwcm9wZXJ0eSB0byBjdmxhcGxhY2UKCSAgQWRkIGEgIm1hc2siIHByb3BlcnR5IHRoYXQgc2V0cyB3aGV0aGVyIHRoZSBlZGdlcyBieSBjdkxhcGxhY2Ugc2hvdWxkIGJlCgkgIHVzZWQgYXMgYSBtYXNrIG9uIHRoZSBvcmlnaW5hbCBpbnB1dCBvciBub3QuIFRoZSBzYW1lIHdheSB0aGUgb3JpZ2luYWwKCSAgaW1hZ2UgaXMgY29waWVkIHRvIHRoZSBlZGdlcyBpbiBlZGdlZGV0ZWN0LgoKMjAxNi0wMS0yNSAyMTo0Mjo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJICBvcGVuY3Y6IGFkZCBtYXNrIHByb3BlcnR5IHRvIGN2c29iZWwKCSAgQWRkIGEgIm1hc2siIHByb3BlcnR5IHRoYXQgc2V0cyB3aGV0aGVyIHRoZSBkZXRlY3RlZCBkZXJpdmF0aXZlIGVkZ2VzCgkgIHNob3VsZCBiZSB1c2VkIGFzIGEgbWFzayBvbiB0aGUgb3JpZ2luYWwgaW5wdXQgb3Igbm90LiBUaGUgc2FtZSB3YXkKCSAgdGhlIG9yaWdpbmFsIGltYWdlIGlzIGFkZGVkIHRvIHRoZSBlZGdlcyBpbiBlZGdlZGV0ZWN0LgoKMjAxNi0wMS0yNSAxNToxOTozNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkgIG9wZW5jdjogdXBkYXRlIGRlcHJlY2F0ZWQgZnVuY3Rpb24gaW4gc2tpbmRldGVjdAoJICBjdkN2dFBpeFRvUGxhbmUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIE9wZW5DViAzLjAsIGFuZCBjdlNwbGl0KCkgaXMgdGhlCgkgIHN1Z2dlc3RlZCByZXBsYWNlbWVudC4gU2luY2UgY3ZTcGxpdCgpIGlzIGF2YWlsYWJsZSBpbiBPcGVuQ1YgMi40LCBpdCBpcwoJICBzYWZlIGFuZCBjYXV0aW91cyB0byB1cGRhdGUgdGhlIGZ1bmN0aW9uIHVzYWdlIGJlZm9yZSBpdCBiZWNvbWVzIGFuIGlzc3VlLgoKMjAxNi0wMS0yNSAxMTo0Mzo1OSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSAgb3BlbmN2OiBmaXggY3ZsYXBsYWNlCgkgIGN2bGFwbGFjZSB3YXMgYWxzbyBhZmZlY3RlZCBieSB0aGUgc2lsZW50IGNoYW5nZSBpbiBPcGVuQ1YgQVBJLCBzYW1lIGFzCgkgIGN2c29iZWwuIEl0IGhhc24ndCBiZWVuIHdvcmtpbmcgZm9yIGEgd2hpbGUuIEl0IHdvdWxkIHJldHVybiBhIHBsYWluIGJsYWNrCgkgIGltYWdlLiBUaGlzIGNvbW1pdCB1cGRhdGVzIHRoZSB1c2FnZSBvZiBjdkxhcGxhY2UgYnkgdXNpbmcgY3ZDdnRDb2xvciB0bwoJICBjcmVhdGUgdGhlIGdyYXlzY2FsZSBpbnRlcm1lZGlhdGUgaW1hZ2UgdG8gcHJvY2Vzcy4gVGhpcyBhbHNvIG1lYW5zIHRoZXJlCgkgIGlzIG5vIG5lZWQgYW55bW9yZSB0byB1c2UgR3N0QmFzZVRyYW5zZm9ybSdzIHRyYW5zZm9ybV9jYXBzLCBzaW5jZSB0aGUgcGFkcwoJICBhcmUgUkdCLgoKMjAxNi0wMS0yNSAxMzozMzowOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IGJ1ZmZlciBsZWFrIHdoZW4gc3BzIGlzIG5vdCBwcmVzZW50CgkgIFdoZW4gc3BzIGRhdGEgaXMgTlVMTCwgdGhlIGJ1ZmZlciBhbGxvY2F0ZWQgYW5kIG1hcHBlZCBpcyBub3QgYmVpbmcgZnJlZWQuCgkgIEluIHRoaXMgc2NlbmFyaW8gdGhlcmUgaXMgbm8gbmVlZCB0byBhbGxvY2F0ZSB0aGUgYnVmZmVyIGFzIHdlIGFyZSBzdXBwb3NlZCB0byByZXR1cm4gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA3MAoKMjAxNi0wMS0yNSAxMjowNToxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhay4KCSAgV2hpbGUgc2V0dGluZyBjYXBzLCBjb2RlY19kYXRhIGJ1ZmZlciBpcyBtYXBwZWQsIGJ1dCBub3QgYmVpbmcgdW5tYXBwZWQKCSAgbGVhZGluZyB0byBtZW1vcnkgbGVha3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNzAKCjIwMTYtMDEtMjMgMTc6MTA6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSAgb3BlbmN2OiBmaXggY3Zzb2JlbAoJICBjdnNvYmVsIGhhbid0IGJlZW4gd29ya2luZyBmb3IgYSB3aGlsZSBkdWUgdG8gYSBzaWxlbnQgY2hhbmdlIGluIE9wZW5DVgoJICBBUEkuIEl0IHdvdWxkIHJldHVybiBhIHBsYWluIGJsYWNrIGltYWdlLiBUaGlzIGNvbW1pdCB1cGRhdGVzIHRoZSB1c2FnZQoJICBvZiBjdlNvYmVsIGJ5IHVzaW5nIGN2Q3Z0Q29sb3IgdG8gY3JlYXRlIHRoZSBncmF5c2NhbGUgaW1hZ2UgdG8gcHJvY2Vzcy4KCSAgVGhpcyBhbHNvIG1lYW5zIHRoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIEdzdEJhc2VUcmFuc2Zvcm0ncyB0cmFuc2Zvcm1fY2FwcwoJICBhbnltb3JlLCBzaW5jZSB0aGUgcGFkcyBjYW4gYmUgUkdCLgoKMjAxNi0wMS0yMyAwNTozMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgcGtnLWNvbmZpZzogUHJvcGVybHkgdmVyc2lvbiBhbmQgaW5zdGFsbCBiYXNlL2F1ZGlvL3ZpZGVvIC5wYyBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzMzI2MxNwoKMjAxNi0wMS0yMiAxNjo0MzowMyArMDAwMCAgQWxleCBBc2hsZXkgPGFsZXguYXNobGV5QHlvdXZpZXcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggbGVhayBvZiBzdHJlYW0tPmludGVybmFsX3BhZAoJICBUaGUgZnVuY3Rpb24gZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV91cGRhdGVfc291cmNlKCkgZnVuY3Rpb24gY3JlYXRlcwoJICBhIG5ldyBHc3RQYWQgY2FsbGVkIGludGVybmFsX3BhZC4gVGhpcyBwYWQgaXMgbm90IGZyZWVkIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzdHJlYW0uCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBzZXQgR1NUX1BBRF9GTEFHX05FRURfUEFSRU5UIHNvIHRoYXQgdGhlIGNoYWluCgkgIGZ1bmN0aW9ucyBkbyBub3QgZ2V0IGNhbGxlZCB3aGVuIHRoZSBwYWQgaGFzIG5vIHBhcmVudCBhbmQgdGhlbgoJICByZW1vdmUgdGhlIHBhcmVudCBpbiB0aGUgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9mcmVlKCkgZnVuY3Rpb24uIFRoaXMKCSAgY2F1c2VzIHRoZSByZWZjb3VudCBvZiB0aGUgcGFkIHRvIGJlIHNldCB0byB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTgyCgoyMDE2LTAxLTIxIDIyOjAwOjQ0ICswODAwICBKb2huIENoYW5nIDxyOTc5MjIxNTNAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogVXNlIFJlcHJlc2VudGF0aW9uSW5kZXggaW5zdGVhZCBvZiBJbml0aWFsaXphdGlvbiB0byBnZXQgdGhlIFVSTCBvZiB0aGUgUmVwcmVzZW50YXRpb25JbmRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTM2CgoyMDE2LTAxLTIyIDE3OjI1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBGYWlsIGdyYWNlZnVsbHkgaWYgb3VyIGNhbGxiYWNrIGNsYXNzIGNhbid0IGJlIGZvdW5kCgkgIEluc3RlYWQgb2YganVzdCBpZ25vcmluZyB0aGF0IGVycm9yIGFuZCB0aGVuIGNhbGxpbmcgSk5JIGZ1bmN0aW9ucyB3aXRoIE5VTEwsCgkgIHdoaWNoIHdpbGwga2lsbCB0aGUgdmlydHVhbCBtYWNoaW5lLgoJICBUaGUgZXJyb3IgaGFuZGxpbmcgaGVyZSBuZWVkcyBzb21lIGZ1cnRoZXIgaW1wcm92ZW1lbnRzIHRob3VnaCwgZXJyb3JzIGluIG1vcmUKCSAgcGxhY2VzIGFyZSBqdXN0IGlnbm9yZWQuCgoyMDE2LTAxLTIyIDE3OjIyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBJbml0aWFsaXplIEdFcnJvciBwb2ludGVyIHdpdGggTlVMTAoJICBPdGhlcndpc2UgdGhlcmUgd2lsbCBiZSBhc3NlcnRpb25zLgoKMjAxNi0wMS0yMiAxNzoxODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IE9ubHkgZnJlZSBHc3RBbWNCdWZmZXIgaWYgaXQncyBub3QgTlVMTAoJICBBbmQgYWxzbyBmcmVlIGl0IG9uIEdMIGVycm9ycy4KCjIwMTYtMDEtMTMgMjI6MDU6NDkgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBjdG9uZGVtYW5kLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IGltcGxlbWVudCBSR0IgY2FwdHVyZSBzdXBwb3J0CgkgIENvbWJpbmUgbW9kZSBhbmQgZm9ybWF0IHRvIGdlbmVyYXRlIGNhcHMgYW5kIHN1cHBvcnQgdGhlIGZsYWdzIGZyb20gVmlkZW9DaGFuZ2VkIGNhbGxiYWNrIHRvIHN1cHBvcnQgUkdCIGNhcHR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1OTQKCjIwMTYtMDEtMjIgMTY6MjI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbWM6IEFkZCBhbiBhc3NlcnRpb24gZm9yIE5VTEwgR0Vycm9ycwoJICBTaG91bGQgbmV2ZXIgaGFwcGVuISBCdXQgYW4gYXNzZXJ0aW9uIGlzIGJldHRlciB0aGFuIGEgTlVMTCBwb2ludGVyCgkgIGRlcmVmZXJlbmNlLgoKMjAxNi0wMS0yMiAxNjoxNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMDEtMjIgMTY6MTM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWM6IE1lZGlhQ29kZWM6OmdldE91dHB1dEJ1ZmZlcigpIGNhbiByZXR1cm4gTlVMTCB3aXRob3V0IGV4Y2VwdGlvbgoJICBIYXBwZW5zIHdoZW4gZG9pbmcgemVyb2NvcHkgcmVuZGVyaW5nLCBvciB3aGVuIHBhc3NpbmcgYSB3cm9uZyBpbmRleCB0byBpdC4KCSAgSGFuZGxlIHRoaXMgcHJvcGVybHkgZm9yIHplcm9jb3B5IHJlbmRlcmluZywgZmFpbCBwcm9wZXJseSBmb3IgdGhlIG90aGVyCgkgIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTYxCgoyMDE2LTAxLTE2IDE4OjU5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGJhc2UvYXVkaW8vdmlkZW86IEluc3RhbGwgaGVhZGVycyBhbmQgcGtnLWNvbmZpZyBmaWxlcwoJICBUaGV5IGFyZSBzdGlsbCBjb25zaWRlcmVkIHVuc3RhYmxlIEFQSSBidXQgaXQgd291bGQgYmUgZ29vZCB0byBnaXZlIHRoZW0gc29tZQoJICB3aWRlciB0ZXN0aW5nIGFscmVhZHkgdG8gbWFrZSBzdXJlIHRoZSBBUEkgaXMgdXNlZnVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzMzCgoyMDE2LTAxLTE2IDE4OjU2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby5wYy5pbjoKCSAgYXVkaW86IE1vdmUgYXVkaW9hZ2dyZWdhdG9yIGJhc2UgY2xhc3MgdG8gYSBsaWJyYXJ5CgkgIEl0J3MgdXNlZnVsIGVub3VnaCBhbHJlYWR5IHRvIGJlIHVzZWQgaW4gb3RoZXIgZWxlbWVudHMgZm9yIGF1ZGlvIGFnZ3JlZ2F0aW9uLAoJICBsZXQncyBnaXZlIHBlb3BsZSB0aGUgb3Bwb3J0dW5pdHkgdG8gdXNlIGl0IGFuZCBnaXZlIGl0IHNvbWUgQVBJIHRlc3RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3MzMKCjIwMTYtMDEtMjEgMjM6MTM6MzYgKzAxMDAgIEhvbGdlciBLYWVsYmVyZXIgPGhvbGdlci5rQGVsYmVyZXIuZGU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBnbHdpbmRvdzogRml4IGFuZHJvaWQgYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk3MgoKMjAxNi0wMS0yMiAxMzo1MTo0OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB0ZXh0dXJlIGNhY2hlOiBjb3B5IHRoZSBpbnB1dCBtZXRhcwoJICBDb3B5IHRoZSBpbnB1dCBtZXRhcyBzbyBhdmZ2aWRlb3NyYyBhbmQgdnRlbmMgY2FuIGZhc3QgcGF0aCB0byB1c2luZwoJICBDVlBpeGVsQnVmZmVyKHMpIGV2ZW4gd2hlbiB1c2luZyBHTE1lbW9yeS4KCjIwMTYtMDEtMjEgMTM6NTA6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEnCgkgIFRoaXMgYnJhbmNoIGFkZHMgc3VwcG9ydCBmb3IgQW5kcm9pZCBIYXJkd2FyZSBDYW1lcmEgQVBJIHRocm91Z2ggYSBuZXcKCSAgZWxlbWVudCBjYWxsZWQgYWhjc3JjLiBUaGlzIGlzIHRoZSAib2xkIiBBbmRyb2lkIENhbWVyYSBBUEksIHRoZW4gb25seQoJICBBUEkgYXZhaWxhYmxlIG9uIEFuZHJvaWQgNC5YLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zi5jZ2k/aWQ9NzM3Nzg2CgoyMDE2LTAxLTA4IDE2OjE2OjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGNzcmM6IEZpeCBsYXRlbmN5IHJlcG9ydGluZwoJICBDdXJyZW50bHkgaXQgd2FzIHdyb25nbHkgcmVwb3J0aW5nIG1pbi9tYXggYXMgYmVpbmcgdGhlIHNob3J0ZXN0IGFuZAoJICBsb25nZXN0IHBvc3NpYmxlIGZyYW1lIGR1cmF0aW9uLiBUaGlzIGlzIG5vdCBob3cgbGF0ZW5jeSB3b3JrcyBpbgoJICBHU3RyZWFtZXIuCgkgIEZpeCBieSByZXBvcnRpbmcgbWluIGxhdGVuY3kgYXMgYmVpbmcgdGhlIGxvbmdlc3QgcG9zc2libGUgZHVyYXRpb24gb2YKCSAgb25lIGZyYW1lLiBBcyB3ZSBkb24ndCBrbm93IGhvdyBtYW55IGJ1ZmZlcnMgdGhlIHN0YWNrIGNhbiBhY2N1bXVsYXRlLCB3ZQoJICBzaW1wbHkgYXNzdW1lIHRoYXQgbWF4IGxhdGVuY3kgaXMgdGhlIHNhbWUgKHRoZSB1c3VhbCBkZWZhdWx0IGJlaGF2aW91cikuCgoyMDE1LTEyLTA3IDE0OjMxOjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiBmaXggZGVhZGxvY2sgd2hlbiBmbHVzaGluZwoJICBfZGF0YV9xdWV1ZV9pdGVtX2ZyZWUoKSBjYWxscyBnc3RfYnVmZmVyX3VucmVmKCksIHdoaWNoCgkgIGNhbGxzIGdzdF9haGNfc3JjX2J1ZmZlcl9mcmVlX2Z1bmMoKSwgd2hpY2ggY2FsbHMKCSAgZ19tdXRleF9sb2NrKCkgb24gc2VsZi0+bXV0ZXggYW5kIHRoZXJlIHlvdSBnby4uLiBkZWFkbG9jayEKCjIwMTUtMTItMjQgMTI6NTE6MTMgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkgIGFoY3NyYzogcG9ydGluZyBmcm9tIDAuMTAgdG8gMS4wCgoyMDE1LTEyLTI0IDEyOjE0OjI0ICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZHZtL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWR2bS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0ucGMuaW46CgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9jb20vZ3N0cmVhbWVyL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjY2FsbGJhY2suaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuaDoKCSAgbW92ZSBhbmRyb2lkY2FtZXJhIGludG8gYW5kcm9pZG1lZGlhCgkgIFRoaXMgY29tbWl0IGlzIGEgcGFydCBvZiBwb3J0bmcgYW5kcm9pZCBoYXJkd2FyZSBjYW1lcmEgZnJvbSAwLjEwIGltcGxlbWVudGF0aW9uLgoJICBUbyBwcmVzZXJ2ZSBoaXN0b3J5IGFuZCBnZXQgZGlmZiBjbGVhcmx5LCB0aGUgaW50ZXJlc3RpbmcgZmlsZXMgYXJlIG1vdmVkIHRvCgkgIGRlcGxveW1lbnQgZGlyZWN0b3J5IGFuZCB0aGUgcmVtYWluaW5nIGZpbGVzIGFyZSByZW1vdmVkLgoKMjAxMy0wMS0wNyAxODoyNzo0MCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNlcGFyYXRlIHJlbGVhc2UgYW5kIGZyZWUgQVBJcwoKMjAxMy0wMS0wNyAxODoyMDo0NyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggZ2V0X2xldmVsIGFuZCBnZXRfcHJvZmlsZSBleGNlcHRpb24gY2hlY2tpbmcgYnkgbm90IHVzaW5nIHJldHVybgoKMjAxMy0wMS0wNyAxODoxOToyOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBleHRlcm4gZ2ludCBkZWNsYXJhdGlvbnMKCjIwMTMtMDEtMDcgMTg6MTg6MTggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5oOgoJICBnc3Rkdm06IEZpeCBHU1RfRFZNX0dFVF9TVEFUSUNfRklFTEQKCjIwMTItMTEtMjkgMjA6MTA6MTkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogU21hbGwgcmVmYWN0b3IgaW4gY2FzZSBvcGVuIGRvZXNuJ3QgdGhyb3cgYW4gZXhjZXB0aW9uIGJ1dCByZXR1cm5zIG51bGwKCjIwMTItMTItMTMgMTc6NTc6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTEzIDE3OjU2OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uaDoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkgIGR2bTogUmVuYW1lIGdzdC1kdm0uW2NoXSB0byBnc3Rkdm0uW2NoXSBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBHU3RyZWFtZXIgY29kZQoKMjAxMi0xMi0xMyAxNzo0MDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmg6CgkgIGR2bTogQWRkIG5ldyBmdW5jdGlvbiB0byBjaGVjayBpZiB3ZSBzdGFydGVkIGEgVk0gb3Igb25seSB1c2VkIGFuIGV4aXN0aW5nIG9uZQoKMjAxMi0xMi0xMyAxNzo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBldmVyeXRoaW5nIGNvbXBpbGUgd2l0aCB0aGUgbmV3IHdyYXBwZXJzCgoyMDEyLTEyLTEzIDEyOjEzOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgcmVtYWluaW5nIGJpdHMgb2YgdGhlIEphdmEgd3JhcHBlcnMgdXNpbmcgbGliZ3N0ZHZtCgoyMDEyLTEyLTEzIDEyOjEzOjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5oOgoJICBkdm06IEFkZCBzb21lIG1vcmUgaGVscGVyIG1hY3JvcwoKMjAxMi0xMi0xMiAxODoxMDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbW92ZSBnX3JldHVybl9pZl9mYWlscygpCgkgIFRoaXMgaXMgbm90IHB1YmxpYyBBUEkgc28gaXQgaGFzIG5vIGFkdmFudGFnZSB0byBoYXZlIHRoZW0gaGVyZS4KCjIwMTItMTEtMjggMjA6NTM6NTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5oOgoJICBhbmRyb2lkbWVkaWE6IFVzZSBnc3QtZHZtIGFuZCByZWZhY3RvciBqYXZhIHdyYXBwZXJzIChXSVApCgkgIE1vdmVkIHRoZSBqYXZhIHdyYXBwZXIgQVBJIGludG8gaXRzIG93biBmaWxlcyBhbmQgbWFkZSB1c2Ugb2YgdGhlCgkgIGdzdC1kdm0gbWFjcm9zLiBBbHNvIHJlbmFtZWQgdGhlIEFQSSB0byBoYXZlIHRoZSBwcm9wZXIgbmFtaW5nCgkgIGNvbnZlbnRpb24gYW5kIGNvZGluZyBzdHlsZSBpbiBvcmRlciB0byBtYXRjaCB0aGUgb25lIGluIGFuZHJvaWRjYW1lcmEuCgkgIFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzISAiYW5kcm9pZC9tZWRpYS9NZWRpYUNvZGVjTGlzdCIgaXMgc3RpbGwgbWlzc2luZwoJICBhbmQgdGhlIGFjdHVhbCBlbGVtZW50cyBoYXZlIG5vdCBiZWVuIHBvcnRlZCB0byB1c2UgdGhlIG5ldyBmdW5jdGlvbiBuYW1lcy4KCjIwMTItMTEtMjggMTU6MjY6NDkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIEdfQkVHSU4vRU5EX0RFQ0xTIHRvIHRoZSAuaAoKMjAxMi0xMS0yNyAxOToyNTowNiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLnBjLmluOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWR2bS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgZ3N0LWR2bTogQ3JlYXRlIGEgZ3N0LWR2bSBsaWJyYXJ5IHVzaW5nIHBhcnQgb2YgYW5kcm9pZGNhbWVyYQoKMjAxMi0xMS0yNyAxNzoyNDozNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGRpbmcgYSBkZXZpY2UtbmFtZSBwcm9wZXJ0eQoKMjAxMi0xMS0yMCAxOTo1NjoyMiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbmRyb2lkY2FtZXJhLnhtbDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDEyLTExLTE5IDE4OjI1OjEyIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRjYW1lcmE6IFByZXR0aWZ5IHRoZSBnc3RhaGNjYWxsYmFjay5jIGdlbmVyYXRpb24gbGluZSBpbiB0aGUgbWFrZWZpbGUKCjIwMTItMTEtMTUgMTI6MzM6MjYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pY2FtZXJhOiBNYWtlIHN1cmUgdGhlIFRNUCBlbnYgdmFyIGV4aXN0cyBhbmQgY2hlY2sgZm9yIERFWCB2YXIgdG9vCgoyMDEyLTExLTE0IDExOjM4OjUxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IERvIG5vdCB1c2UgZ3N0X2xpc3RfZnJlZV9mdWxsIHNpbmNlIGl0IHJlcXVpcmVzIGdsaWIgMi4yOAoKMjAxMi0xMS0xMiAxODo1OTo1NyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHNtb290aC16b29tIHByb3BlcnR5IGZvciBzbW9vdGggem9vbWluZyBmZWF0dXJlCgoyMDEyLTExLTEyIDE4OjE5OjIwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBmb2NhbC1sZW5ndGgsIHZpZXctYW5nbGUgYW5kIHZpZGVvLXN0YWJpbGl6YXRpb24gcHJvcGVydGllcwoKMjAxMi0xMS0xMiAxODoxODoxMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHZpZGVvIHN0YWJpbGl6YXRpb24gQVBJCgoyMDEyLTExLTEyIDE2OjM4OjQwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBwcm9wZXJ0eSBwcm9iZSBmb3IgdGhlIHBob3RvZ3JhcGh5IHByb3BlcnRpZXMKCjIwMTItMTEtMDkgMTg6MjE6MjEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU21hbGwgcmVmYWN0b3IKCjIwMTItMTEtMDkgMTY6NTc6MzAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IHNtYWxsIG1lbWxlYWsKCjIwMTItMTEtMDkgMTY6NTU6NTcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU3RvcmUgR1BhcmFtU3BlYyBmb3IgcHJvcGVydGllcyBhbmQgdXNlIHRoYXQgZm9yIHRoZSBQcm9wZXJ0eVByb2JlIGNvbXBhcmlzb24KCjIwMTItMTEtMDkgMTI6MjM6MzcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogSGFuZGxlIHpvb20gY29tcGFyaXNvbiBiZXR0ZXIsIGFuZCBhdm9pZCBmbG9hdCBwcmVjaXNpb24gaXNzdWUKCjIwMTItMTEtMDkgMTI6MjI6MTIgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IEVWIGNvbXBlbnNhdGlvbiBzdXBwb3J0CgoyMDEyLTExLTA3IDE5OjE2OjA1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEltcGxlbWVudCBuZXcgR3N0UGhvdG9ncmFwaHkgZW51bXMKCjIwMTItMTEtMDcgMTU6Mzg6MTkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRG8gbm90IGFkdmVydGlzZSB6b29tIGNhcGFiaWxpdGllcyBpZiBjYW1lcmEgZG9lc24ndCBzdXBwb3J0IHpvb20KCjIwMTItMTEtMDcgMTU6Mzc6NDMgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogQmUgTlVMTC1zYWZlIHdoZW4gYSBKTkkgbGlzdCBpcyByZXR1cm5lZAoKMjAxMi0xMS0wMiAxODowNzoyNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBVc2Ugc3RyY21wIG9uIHRoZSBHUGFyYW1TcGVjIHByb3BlcnR5IG5hbWUKCSAgVXNlIHN0cmNtcCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBwcm9wZXJ0eV9pZCBiZWNhdXNlIGl0J3Mgb3ZlcnJpZGVuCgoyMDEyLTExLTAyIDE4OjAwOjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogSW1wbGVtZW50IHByb3BlcnR5IHByb2JlIGZvciB6b29tIGFuZCBldl9jb21wZW5zYXRpb24KCjIwMTItMTEtMDIgMTc6MDA6NDUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9jb20vZ3N0cmVhbWVyL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBhdXRvZm9jdXMgc3VwcG9ydAoKMjAxMi0xMS0wMiAxNjo1OTo0MiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBPdmVycmlkZSBwcm9wZXJ0aWVzCgoyMDEyLTExLTAxIDE1OjI0OjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFucm9pZGNhbWVyYTogQWRkIHN1cHBvcnQgZm9yIHRoZSBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UKCjIwMTItMTEtMDEgMTE6NTg6MzMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBtb3JlIHdyYXBwZXJzIGZvciB0aGUgQ2FtZXJhLlBhcmFtZXRlcnMgY2xhc3MKCjIwMTItMTAtMzEgMTQ6MjE6NDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU2VuZCBwcm9wZXIgZXJyb3Igd2hlbiB1bmFibGUgdG8gb3BlbiBjYW1lcmEKCjIwMTItMTAtMzAgMTI6MTM6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkaW5nIGRldmljZS1vcmllbnRhdGlvbiBhbmQgZGV2aWNlLWZhY2luZyBwcm9wZXJ0aWVzCgoyMDEyLTEwLTMwIDExOjM1OjM2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgZGV2aWNlIHByb3BlcnR5IGFuZCBwcm9wZXJ0eSBwcm9iZSBpdAoKMjAxMi0xMC0zMCAxMDoxMjowNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggbWVtbGVhayBhbmQgbG9zZSBvZiBidWZmZXIgaWYgdGhlIGRhdGEgcXVldWUgaXMgZmx1c2hpbmcKCjIwMTItMTAtMzAgMDk6NDk6MzkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQ2FsbGluZyBzZXRfcHJldmlld19jYWxsYmFjayB3aXRoIE5VTEwgZnJlZXMgYWxsIHRoZSBidWZmZXJzIGluIHRoZSBxdWV1ZS4KCSAgV2UgbXVzdCBub3QgZG8gaXQgYXQgdGhlIHN0b3Agb3RoZXJ3aXNlIHdlIGxvc2UgYWxsIG91ciBidWZmZXJzLiBJdCdzIGJlc3QgdG8gZG8KCSAgaXQgZHVyaW5nIHRoZSBjbG9zZSwgc28gd2UgZnJlZSB1cCB0aGUgcmVzb3VyY2VzLgoKMjAxMi0xMC0zMCAwOTo0OTowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBEcm9wIGZyYW1lcyBpZiB3ZSBkb24ndCBoYXZlIGEgY2xvY2sgYW5kIHZhciByZW5hbWUKCjIwMTItMTAtMzAgMDk6NDU6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pY2FtZXJhOiBpZiBidWZmZXIgc2l6ZSBpbmNyZWFzZXMsIHRoZW4gcmVhZGQgbmV3IGJ1ZmZlcnMgdG8gdGhlIHF1ZXVlIGFuZCBkcm9wIG9sZCBvbmVzCgkgIFRoZSBvbl9wcmV2aWV3IGNhbGxiYWNrIGdldHMgY2FsbGVkIHdpdGggTlVMTCBpZiB0aGUgYnVmZmVyIGluIHRoZSBxdWV1ZSBpcwoJICB0b28gc21hbGwsIHNvIHdlIG5lZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBhcnJheSBpcyBOVUxMLiBBbHNvCgkgIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBhbmRyb2lkIHNvdXJjZSB3aGljaCBtYWtlcyBpdCBkcm9wIG9uZSBvZiB0aGUgYnVmZmVycwoJICBzbyBpZiB3ZSBoYWQgNSBidWZmZXJzLCBhbmQgd2UgcmVuZWdvdGlhdGUgdG8gYSBoaWdoZXIgcmVzb2x1dGlvbiwgdGhlbiB3ZSdkCgkgIG9ubHkgZ2V0IDQgY2FsbHMgdG8gb25fcHJldmlld19mcmFtZSB3aXRoIE5VTEwsIHdpdGggb25lIGJlaW5nIGRyb3BwZWQuCgkgIFRoaXMgbWVhbnMgd2UgY2FuJ3QgcmVhbGxvY2F0ZSB0aGUgYnVmZmVycyBpbiB0aGUgaWYgKGRhdGEgPT0gTlVMTCkgY2FzZQoJICBiZWNhdXNlIHdlIG1pZ2h0IGVuZCB1cCB3aXRoIDAgYnVmZmVycyBpbiB0aGUgZW5kLgoKMjAxMi0xMC0zMCAwOTo0NDozMSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBJZiBjYWxsYmFjayBpcyBOVUxMIHRoZW4gc2V0IGl0IHRvIE5VTEwgaW4gam5pCgoyMDE2LTAxLTIxIDEzOjQ2OjUyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IGRlYnVnIG91dHB1dAoKMjAxMi0xMC0yNiAxMjo1Nzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQ2hvc2UgdGhlIHNtYWxsZXN0IHJhbmdlIHRoYXQgY29udGFpbnMgdGhlIHRhcmdldCBmcmFtZXJhdGUKCjIwMTItMTAtMjYgMTI6NDM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEltcHJvdmUgbmVnb3RpYXRpb24KCSAgQW5kIG1ha2Ugc3VyZSB3ZSBzZXQgYW4gRlBTIHJhbmdlIGZyb20gdGhlIHN1cHBvcnRlZCBvbmVzCgkgIG5vdyBpbnN0ZWFkIG9mIGEgcG90ZW50aWFsbHkgdW5zdXBwb3J0ZWQgcmFuZ2UuCgoyMDEyLTEwLTI2IDEyOjE5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yNiAxMTo1Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogTWFrZSBzdXJlIHdlIGFsd2F5cyBoYXZlIGEgdmFsaWQgY2FtZXJhIHNvdXJjZSBpbnN0YW5jZSBpbiB0aGUgYnVmZmVyIGZyZWUgZnVuY3Rpb24KCjIwMTItMTAtMjYgMTE6NDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBNYWtlIHN1cmUgdG8gbm90IGNhbGwgYW55IGNhbGxiYWNrcyBhZnRlciBzdG9wcGluZyB0aGUgY2FtZXJhCgkgIEZpeGVzIHNlZ2ZhdWx0cyB3aGVuIHJvdGF0aW5nIHRoZSBkZXZpY2UgZm9yIGV4YW1wbGUuCgoyMDEyLTEwLTI0IDE1OjI1OjU0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCB0aW1lc3RhbXBpbmcgaXNzdWUKCjIwMTItMTAtMjQgMTM6NTk6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBjYXBzIG5lZ290aWF0aW9uIHN1cHBvcnQKCjIwMTItMTAtMjQgMTA6NTU6NTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGdldGNhcHMgdGhhdCBwcm9iZXMgdGhlIGNhbWVyYSBmb3IgY2FwYWJpbGl0aWVzCgoyMDEyLTEwLTIzIDEzOjU0OjQ2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogRHJvcCB0aGUgZmlyc3QgYnVmZmVyIHRvIGhhdmUgcHJvcGVyIHRpbWVzdGFtcGluZwoKMjAxMi0xMC0yMyAxMToxNDowMCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZsdXNoIHRoZSBxdWV1ZSB3aGVuIHRoZSBzb3VyY2UgaXMgc3RvcHBlZAoKMjAxMi0xMC0yMyAxMToxMzozNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFsbG9jYXRlL2ZyZWUgdGV4dHVyZSB3aGVuIGNhbWVyYSBpcyBvcGVuL2Nsb3NlZAoKMjAxMi0xMC0yMyAxMToxMzoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBhIGdzdF9haGNfc3JjX2Nsb3NlIGZ1bmN0aW9uCgoyMDEyLTEwLTIzIDExOjEyOjE5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHNtYWxsIGluZGVudGF0aW9uIGlzc3VlcwoKMjAxMi0xMC0yMyAxMDoxMjo1MiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IERpc2FibGUgcGx1Z2luIGlmIGFuZHJvaWQtc2RrIGlzbid0IGZvdW5kIGFuZCBkeW5hbWljYWxseSBzZWFyY2ggZm9yIHBsYXRmb3JtIHZlcnNpb24KCjIwMTItMTAtMjMgMDk6MDE6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvY29tL2dzdHJlYW1lci9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjY2FsbGJhY2suaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHN1cHBvcnQgZm9yIHVzaW5nIERleExvYWRlciB3aXRoIEVtYmVkZWQgR3N0QWhjQ2FsbGJhY2suamFyCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBjb21waWxhdGlvbiBpc3N1ZXMKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRtZWRpYS5jOgoJICBSZW1vdmUgcHJldmlvdXMgY3J1ZnQgYW5kIGNyZWF0ZSBhbmRyb2lkY2FtZXJhIHBsdWdpbgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBGcmVlIHRoZSBidWZmZXJzIGFuZCByZWFkZCB0aGUgYXJyYXlzIHdoZW4gdGhlIHF1ZXVlIGlzIGNsZWFyZWQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWR2bS5oOgoJICBBZGQgYSBHU1RfRFZNX0NBTEwgbWFjcm8gdG8gZWFzZSBmdW5jdGlvbiBjYWxsaW5nIHdpdGggZXhjZXB0aW9uIGNoZWNrCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBDYWxjdWxhdGUgdGltZXN0YW1wIGF0IHJlY2VwdGlvbiBvZiB0aGUgYnVmZmVyLCBub3Qgd2hlbiBwdXNoaW5nIGl0IG91dAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBNYWtlIHRoZSBudW1iZXIgb2YgY2FsbGJhY2sgYnVmZmVycyBjb25maWd1cmFibGUsIGFuZCBkZWxldGUgdGhlaXIgbG9jYWwgcmVmCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBVc2UgR3N0RGF0YVF1ZXVlIGluc3RlYWQgb2YgR0FzeW5jUXVldWUgZm9yIHN0b3JpbmcgYnVmZmVycwoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBVc2UgdGhlIGJ1ZmZlcidzIGZyZWVfZnVuYyB0byBtYXAgYnl0ZUFycmF5IGRhdGEgd2l0aG91dCBtYWtpbmcgYSBjb3B5CgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIFJlbW92ZSBvcGVuIGZhaWx1cmUgdGVzdCBjb2RlIGFuZCBkZWJ1ZyBsb2cKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgVXNlIFlWMTIgYXMgdGhlIGRlZmF1bHQgZm9ybWF0CgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZG1lZGlhLmM6CgkgIEFkZCBhIGRlaW5pdCBmdW5jdGlvbiBhbmQgcmVtb3ZlIGpjbGFzcyByZWZlcmVuY2VzIGluIGNhc2Ugb2YgZXJyb3IKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJICBTdXJmYWNlVGV4dHVyZSBjb25zdHJ1Y3R1cmUgbmVlZHMgdGV4dHVyZV9pZAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZG1lZGlhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgQWRkIGFoY3NyYyBDYW1lcmEgc291cmNlIGVsZW1lbnQgcHJvdG90eXBlCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgQWRkIGFuZHJvaWQuaGFyZHdhcmUuQ2FtZXJhIChhbmQgZGVwcykgSk5JIHdyYXBwZXJzCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWR2bS5oOgoJICBBZGRpbmcgRGFsdmlrIFZpcnR1YWwgTWFjaGluZSByb3V0aW5lcyBhbmQgbWFjcm9zCgoyMDEyLTEwLTE3IDE3OjU2OjMzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkbWVkaWEuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYW5kcm9pZG1lZGlhIHBsdWdpbgoKMjAxNi0wMS0xNSAxNDozMTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHRvbmVnZW5lcmF0ZXNyYy5jOgoJKiBleHQvc3BhbmRzcC9nc3R0b25lZ2VuZXJhdGVzcmMuaDoKCSAgc3BhbmRzcDogQWRkIHRvbmUgZ2VuZXJhdG9yCgoyMDE1LTA3LTE0IDEzOjQwOjQ2ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBzZXQgbm9uLTAgcGF5bG9hZCBsZW5ndGggaW4gUEVTIGhlYWRlciBpZiB2aWRlbyBFUyBwYWNrZXQgaXMgc21hbGwgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MDcKCjIwMTUtMDctMTQgMTM6NDI6NTQgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHJlc2V0IHBlc19ieXRlc193cml0dGVuIHdoZW4gc3RhcnRpbmcgdG8gd3JpdGUgbmV3IFBFUyBwYWNrZXQKCSAgSW4gY2FzZSBvZiBhbiB1bmJvdW5kZWQgcGFja2V0ICh2aWRlbyB1c3VhbGx5KSwgcGVzX2J5dGVzX3dyaXR0ZW4gd2FzCgkgIG5vIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTA3CgoyMDE2LTAxLTE5IDE3OjA4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIEguMjY1L0hFVkMgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM2NwoKMjAxNi0wMS0xOSAxMzoyMDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBnbDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjLTYKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGVmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6MjU6MDoKCSAgZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoxNzQ6MzI6IGVycm9yOiAneHJheV9jdXJ2ZScgZGVmaW5lZCBidXQgbm90IHVzZWQKCSAgc3RhdGljIGNvbnN0IEdzdEdMRWZmZWN0c0N1cnZlIHhyYXlfY3VydmUgPSB7CgkgIC4uLgoKMjAxNi0wMS0xOSAwODozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSAgbGliczogZy1pOiBmaXggaW5pdCBzZWN0aW9uIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzCgkgIC4uR3N0UGxheWVyLTEuMC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgoJICAuLkdzdFBsYXllci0xLjAuYzo1ODc6Mzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZ3N0X2luaXTigJkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDA5MAoKMjAxNi0wMS0xOSAxOToxODo0MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogZml4IGJ1aWxkIG9uIGlPUwoKMjAxNi0wMS0xOSAxNTo1MDoyMiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBhbHdheXMgZmlsbCBHc3RCdWZmZXJzIHdpdGggR3N0TWVtb3J5CgkgIEFsd2F5cyBmaWxsIGJ1ZmZlcnMgd2l0aCBvdXIgY3VzdG9tIG1lbW9yeS4gVGhlIGN1c3RvbSBtZW1vcnkgd2lsbCBhdm9pZAoJICBtYXBwaW5nIENWL0NNIGJ1ZmZlcnMgdW5sZXNzIG5lY2Vzc2FyeS4KCjIwMTUtMDQtMTkgMDA6MzA6NDggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGltcGxlbWVudCBjb3B5aW5nIG9mIG1ldGEKCSAgQmVmb3JlIHRoaXMsIGJ1ZmZlcnMgd291bGQgbG9zZSB0aGVpciBDb3JlIFZpZGVvIC8gQ29yZSBNZWRpYSBtZXRhCgkgIG92ZXIgaW50ZXJ2aWRlbyogYm91bmRhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMTYKCjIwMTUtMDQtMDIgMjA6MDQ6MTggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogaW1wbGVtZW50IEdzdEFwcGxlQ29yZVZpZGVvTWVtb3J5CgkgIEltcGxlbWVudCBhIG5ldyBtZW1vcnkgdHlwZSB3cmFwcGluZyBDVlBpeGVsQnVmZmVyLgoJICBUaGVyZSBhcmUgdHdvIGltbWVkaWF0ZSBhZHZhbnRhZ2VzOgoJICBhKSBNYWtlIHRoZSBHc3RNZW1vcnkgaXRzZWxmIHJldGFpbiB0aGUgQ1ZQaXhlbEJ1ZmZlci4gUHJldmlvdXNseSwKCSAgdGhlIGNvbnRhaW5pbmcgR3N0QnVmZmVyIHdhcyBzb2xlbHkgcmVzcG9uc2libGUgZm9yIHRoZSBsaWZldGltZSBvZgoJICB0aGUgYmFja2luZyBDVlBpeGVsQnVmZmVyLgoJICBXaXRoIHRoaXMgY2hhbmdlLCB3ZSByZW1vdmUgdGhlIEdTVF9NRU1PUllfRkxBR19OT19TSEFSRSBzbyB0aGF0CgkgIEdzdE1lbW9yeSBvYmplY3RzIGJlIHJlZmVyZW5jZWQgYnkgbXVsdGlwbGUgR3N0QnVmZmVycyAoZG9pbmcgYXdheQoJICB3aXRoIHRoZSBuZWVkIHRvIGNvcHkuKQoJICBiKSBEZWxheSBsb2NraW5nIENWUGl4ZWxCdWZmZXIgaW50byBDUFUgbWVtb3J5IHVudGlsIGl0J3MgYWN0dWFsbHkKCSAgbWFwcGVkIC0tIHBvc3NpYmx5IG5ldmVyLgoJICBUaGUgQ1ZQaXhlbEJ1ZmZlciBvYmplY3QgaXMgc2hhcmVkIGFtb25nIHJlZmVyZW5jZXMsIHNoYXJlcyBhbmQKCSAgKGluIHBsYW5hciBmb3JtYXRzKSBwbGFuZXMsIHNvIGEgd3JhcHBlciBHc3RBcHBsZUNvcmVWaWRlb1BpeGVsQnVmZmVyCgkgIHN0cnVjdHVyZSB3YXMgaW50cm9kdWNlZCB0byBtYW5hZ2UgbG9ja2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIxNgoKMjAxNi0wMS0xOSAxMjo1Njo0MCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSAgYXBwbGVtZWRpYTogaW9zdXJmYWNlbWVtb3J5OiBhbGxvYyB3aXRoIGdfbmV3MAoJICAuLi5zaW5jZSB0aGUgYmFzZSBjbGFzcyBkb2Vzbid0IHVzZSBnX3NsaWNlIGFueW1vcmUKCjIwMTYtMDEtMDggMTE6MDQ6MTMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWRkZWQgY2hlY2sgdGhhdCBhdmFpbGFiaWxpdHlTdGFydFRpbWUgaXMgcHJlc2VudCBmb3IgbGl2ZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2MDIKCjIwMTUtMTEtMDQgMTg6MTU6MjQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGFkYXB0aXZlZGVtdXg6IGltcHJvdmVkIGVycm9yIG1lc3NhZ2UgaWYgYXZhaWxhYmlsaXR5U3RhcnRUaW1lIGlzIG1pc3NpbmcgZm9yIGEgbGl2ZSBzdHJlYW0KCSAgRm9yIGEgbGl2ZSBtcGQsIGlmIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSBpcyBtaXNzaW5nLCBhZGFwdGl2ZSBkZW11eCBhc3NlcnRzCgkgIHdpdGg6IFVuZXhwZWN0ZWQgY3JpdGljYWwvd2FybmluZzogZ3N0X2RhdGVfdGltZV90b19nX2RhdGVfdGltZTogYXNzZXJ0aW9uCgkgICdkYXRldGltZSAhPSBOVUxMJyBmYWlsZWQuCgkgIFRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhlIGVycm9yIG1lc3NhZ2UgdG86CgkgIFVuZXhwZWN0ZWQgY3JpdGljYWwvd2FybmluZzogZ3N0X21wZF9jbGllbnRfc2Vla190b190aW1lOiBhc3NlcnRpb24KCSAgJ2NsaWVudC0+bXBkX25vZGUtPmF2YWlsYWJpbGl0eVN0YXJ0VGltZSAhPSBOVUxMJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzYwMgoKMjAxNi0wMS0xNCAxODoyNzo1MCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmM6CgkgIHRlc3RzOiBhZGFwdGl2ZS1zdHJlbWFpbmc6IGZpeCBtZW1vcnkgbGVhayBpbiB0ZXN0X2h0dHBfc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2MDAKCjIwMTYtMDEtMTUgMTA6NDk6MTIgLTA1MDAgIE1hdHQgQ3JhbmUgPG1hdHRjcmFuZUB0eWNvaW50LmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBmaXggcG9zc2libGUgZGVhZGxvY2sgaW4gX3JlbmRlcigpLyBfYWxsb2NhdG9yX2ZyZWUoKQoJICBEcm9wIG9iamVjdCBsb2NrIGJlZm9yZSB1bnJlZmluZyBtZW1vcnksIG90aGVyd2lzZSB0aGUgb2JqZWN0CgkgIGxvY2sgbWlnaHQgYmUgdGFrZW4gYWdhaW4gZnJvbSB0aGUgYWxsb2NhdG9yIGFuZCB0aGVuIHRoaW5ncwoJICBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1MQoKMjAxNi0wMS0xNiAxNzoxNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRmlyc3QgbWFrZSBjYXBzIHdyaXRhYmxlIGluIGZpeGF0ZV9jYXBzKCksIHRoZW4gdHJ1bmNhdGUgdGhlbQoJICBUcnVuY2F0aW5nIHJlcXVpcmVzIHdyaXRhYmxlIGNhcHMuCgoyMDE2LTAxLTE2IDE3OjEyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBDYXBzIHBhc3NlZCB0byBmaXhhdGVfY2FwcygpIGFyZSBub3Qgb3duZWQgYnkgdXMgYW5kIGd1YXJhbnRlZWQgdG8gYmUgZml4ZWQKCSAgU28gZG9uJ3QgdHJ5IHRvIGZpeGF0ZSB0aGVtLCB3aGljaCB0YWtlcyBvd25lcnNoaXAgYW5kIHN0ZWFscyB0aGVtIGZyb20KCSAgYmFzZXRyYW5zZm9ybS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY5NgoKMjAxNi0wMS0xNiAxNjo1NTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJnbHBvb2w6IGZpeCBjYXBzIHJlZmNvdW50IGlzc3VlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNiZGNkZWRmYTAwYjg3ZjFkYjUwNTIxODc4OTE3ODMxOGExNmM3NDMuCgkgIGdzdF9jYXBzX3JlcGxhY2UoKSB0YWtlcyBhIG5ldyByZWZlcmVuY2UgYWxyZWFkeSwgaWYgdGhlcmUgaXMgYSBwcm9ibGVtIHRoZW4KCSAgaXQgaXMgZWxzZXdoZXJlLiBBbmQgdGhlcmUgYXJlIGEgZmV3IHByb2JsZW1zLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY5NgoKMjAxNi0wMS0xNSAxNjoxMDowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHVubmVlZGVkIHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4gdGhyb3cgaXQKCSAgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlciBkaXJlY3RseS4KCjIwMTYtMDEtMTUgMTU6NTY6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogYWRkICJzZW5kIFZQUy9TUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgVlBTL1NQUy9QUFMgaW5mb3JtYXRpb24KCSAgc2VudCBpbiBSVFAgcGFja2V0cy4gVGhlcmUgYXJlIHNvbWUgc2NlbmFyaW9zIHdoZW4ga2V5IGZyYW1lcyBtYXkgYXBwZWFyCgkgIG1vcmUgZnJlcXVlbnRseSB0aGFuIG9uY2UgYSBzZWNvbmQsIGluIHdoaWNoIGNhc2UgdGhlIG1pbmltdW0gdGltZW91dAoJICBmb3IgImNvbmZpZy1pbnRlcnZhbCIgb2YgMSBzZWNvbmQgZm9yIHNlbmRpbmcgVlBTL1NQUy9QUFMgaXNuJ3QgZW5vdWdoLgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgVlBTL1NQUy9QUFMgaXMKCSAgYXZhaWxhYmxlIHdpdGggZXZlcnkga2V5ZnJhbWUgKHBhY2tldCBsb3NzIGFzaWRlKSwgc28gcmVjZWl2ZXJzIGNhbgoJICBhY3R1YWxseSBwaWNrIHVwIGRlY29kaW5nIGltbWVkaWF0ZWx5IGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGlmCgkgIFZQUy9TUFMvUFBTIGlzIG5vdCBzaWduYWxlZCBvdXQgb2YgYmFuZC4KCSAgVGhpcyBjb21taXQgYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZS4KCSAgVGhpcyBtb2RlIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdG8gLTEuIEluCgkgIHRoaXMgY2FzZSB0aGUgcGF5bG9hZGVyIHdpbGwgYWRkIFZQUywgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKQoJICBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNi0wMS0xNSAxNToxOTo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwaDI2NXBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTMgMDk6NTE6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlcGxhY2UgZ2hvc3RwYWQgd2l0aCBhIHN0YW5kYXJkIHBhZAoJICBIYW5kbGluZyB0aGUgZ2hvc3RwYWQgYW5kIGl0cyBpbnRlcm5hbCBwYWQgd2FzIGNhdXNpbmcgbW9yZSBpc3N1ZXMKCSAgdGhhbiBoZWxwaW5nIGJlY2F1c2Ugb2YgdGhlaXIgY291cGxlZCBhY3RpdmF0aW9uL2RlYWN0aXZhdGlvbgoJICBhY3Rpb25zLgoJICBBcyB3ZSBoYXZlIHRvIGluc3RhbGwgY3VzdG9tIGNoYWluLGV2ZW50IGFuZCBxdWVyeSBmdW5jdGlvbnMgaXQgaXMKCSAgYmV0dGVyIHRvIHVzZSBhIGZsb2F0aW5nIHNpbmsgcGFkIGludGVybmFsbHkgaW4gdGhlIGRlbXV4ZXIgYW5kIGp1c3QKCSAgdXNlIHRob3NlIHBhZCBmdW5jdGlvbnMgdG8gcHVzaCB0aHJvdWdoIGEgc3RhbmRhcmQgcGFkIGluIHRoZSBkZW11eGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NTEKCjIwMTUtMTEtMTEgMTc6MjQ6MzMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3QgZmx1c2ggdGhlIGlucHV0IHBhZAoJICBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2NsZWFyX2Vvc19hbmRfZmx1c2hfc3RhdGUoKSBmdW5jdGlvbiB3aWxsIGRvCgkgIGFsbCB0aGUgbmVjZXNzYXJ5IGNsZWFuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTUxCgoyMDE2LTAxLTE1IDExOjQ0OjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgdmlkZW9zZWdtZW50Y2xpcDogZmFpbCB0byBzZXRfY2FwcyBpZiBwcm9ibGVtIGluIGNhcHMgc3RydWN0dXJlCgkgIGdzdF92aWRlb19zZWdtZW50X2NsaXBfc2V0X2NhcHMgKCkgc2hvdWxkIHJldHVybiBGQUxTRSBpZiB0aGVyZSB3YXMgYQoJICBwcm9ibGVtIHJlYWRpbmcgdGhlIGZyYW1lcmF0ZSB2YWx1ZXMgZnJvbSB0aGUgY2FwcyBzdHJ1Y3R1cmUuCgoyMDE2LTAxLTE1IDE3OjAwOjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJICBnbHF1ZXJ5OiBwcm92aWRlIGNvbXBhdCBkZWZpbml0aW9uIGZvciBHTF9RVUVSWV9SRVNVTFQKCSAgZS5nLiBhbmRyb2lkIGRvZXNuJ3QgaGF2ZSBpdAoJICBXaGlsZSB3ZSdyZSBoZXJlIG1vdmUgYSBzdGF0ZSBzcGVjaWZpYyBhc3NlcnRpb24gYWZ0ZXIgdGhlIHN1cHBvcnRlZCBjaGVjay4KCSAgUmVtb3ZlcyBhbiBhc3NlcnRpb24gb24gR0xFUwoKMjAxNi0wMS0xNSAxNjowNzoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBnbDogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBvZiBHTGludDY0CgkgIGUuZy4gYW5yZG9pZCBkb2Vzbid0IGhhdmUgaXQKCjIwMTYtMDEtMDggMjI6MTk6MDYgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2UuYm9yb3Zrb3ZAZ21haWwuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBNYXJrIG1hdGVyaWFsIGRpcnR5IHdoZW4gdGV4dHVyZSBidWZmZXIgaXMgdXBkYXRlZAoJICBRdCBtaWdodCBub3QgcmVkcmF3IHRoZSBzY2VuZSBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyODYKCjIwMTYtMDEtMTUgMTQ6MDA6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xwb29sOiBmaXggY2FwcyByZWZjb3VudCBpc3N1ZQoJICBUaGUgY2FwcyBhcmUgZnJvbSBhbiBhbGxvY2F0aW9uIHF1ZXJ5IHdoaWNoIGFyZSB0cmFuc2ZlciBub25lIGJ1dCB3ZXJlIGJlaW5nCgkgIHRyZWF0ZWQgYXMgdHJhbnNmZXIgZnVsbC4KCjIwMTYtMDEtMTEgMTM6MzA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGxvZyB0aGUgdGltZSBmb3IgZ2xUZXhTdWJJbWFnZS9nbFJlYWRQaXhlbHMKCjIwMTYtMDEtMDggMTg6MzY6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3F1ZXJ5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHF1ZXJ5LmM6CgkgIGdsOiBhZGQgYSBnc3RnbHF1ZXJ5IG9iamVjdCBmb3IgYXJiaXRyYXJ5IEdMIHF1ZXJpZXMKCSAgQ3VycmVudGx5IG9ubHkgR0xfVElNRV9FTEFQU0VEIGFuZCBHTF9USU1FU1RBTVAgYXJlIHN1cHBvcnRlZAoKMjAxNi0wMS0xMSAxNzoyMjoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSAgZ2xkZWJ1ZzogaW1wbGVtZW50IGEgZGVsYXllZCBkZWJ1ZyBzeXN0ZW0KCSAgVGhlIG1lc3NhZ2VzIGFyZSBzdG9yZWQgYnkgZ3N0X2dsX2FzeW5jX2RlYnVnX3N0b3JlX2xvZ19tc2coKSBhbmQgb3V0cHV0IGxhdGVyCgkgIGJ5IGEgY29ycmVzcG9uZGluZyBzdG9yZSgpLCBvdXRwdXQoKSBvciBhbiB1bnNldCgpL2ZyZWUoKS4KCSAgU29tZSB3cmFwcGVyIG1hY3JvcyBhcmUgcHJvdmlkZWQgdG8gYXZvaWQgY2FsbGVycyBleHBsaWNpdGx5IHVzaW5nIF9fRklMRV9fLAoJICBHU1RfRlVOQ1RJT04gYW5kIF9fTElORV9fCgoyMDE2LTAxLTExIDE3OjI2OjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGRlYnVnOiB1c2UgZ3N0X2luZm9fdmFzcHJpbnRmIGluIGluc2VydF9kZWJ1Z19tYXJrZXIoKQoJICBBbGxvd3MgZXhwYW5zaW9uIG9mIEdTVF9QVFJfRk9STUFUIGFuZCBHU1RfU0VHTUVOVF9GT1JNQVQgYXJndW1lbnRzLgoKMjAxNi0wMS0xNSAxMToyMjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBhIHZpZGVvZmxpcCBlbGVtZW50CgkgIEJlaGF2ZXMgZXhhY3RseSB0aGUgc2FtZSBhcyB0aGUgbm9uLUdMIHZpZGVvZmxpcCBlbGVtZW50CgoyMDE2LTAxLTE1IDAwOjA0OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHJlY3JlYXRlIHRoZSBmYm8gb24gY2FwcyBjaGFuZ2VzCgkgIFRoZSB3aWR0aC9oZWlnaHQgbWF5IGNoYW5nZSB3aGljaCByZXF1aXJlcyByZWNyZWF0aW5nIHRoZSBkZXB0aCBidWZmZXIuCgoyMDE2LTAxLTE1IDAwOjAyOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSAgZ2xiYXNlZmlsdGVyOiBhZGQgYSBjbGFzcyBmdW5jdGlvbiBvbiBzZXRfY2FwcyAoZnJvbSBHTCkKCSAgVGhpcyBpcyBzaW1wbHkgYSBjb252ZW5pZW5jZSB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgdGhyZWFkIG1hcnNoYWxsaW5nIG9uCgkgIHNldF9jYXBzLgoKMjAxNi0wMS0xNSAwMDowMDoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogYWx3YXlzIGJ1aWxkIGEgdmFsaWQgbXZwIG1hdHJpeAoJICBUaGUgZGVmYXVsdCBjYXNlIGlzIHRvIGJ1aWxkIGFuIGlkZW50aXR5IG1hdHJpeC4KCjIwMTYtMDEtMTQgMTk6MDM6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IHN1cHBvcnQgbmVnYXRpdmUgc2NhbGVzCgkgIEEgc2NhbGUgb2YgLTEuMCBtZWFucyB0byBmbGlwIHRoZSB2aWRlby4KCjIwMTYtMDEtMTQgMTg6NDI6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGltcGxlbWVudCBwYXNzdGhyb3VnaCBoYW5kbGluZwoKMjAxNi0wMS0xNCAxNzo0NTowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogaW1wbGVtZW50IG5hdmlnYXRpb24gZXZlbnRzCgkgIFJldmVyc2VzIHRoZSB0cmFuc2Zvcm1hdGlvbiBhcHBsaWVkIHRocm91Z2ggdGhlIHByb3BlcnRpZXMgYW5kIGZvcndhcmRzIHRoZQoJICBldmVudC4KCSAgVGhlIHByb2Nlc3MgZm9yIGZpbmRpbmcgdGhlIGNvb3JkaW5hdGVzIG9uIHRoZSB2aWRlbyBhcmUgYXMgZm9sbG93czoKCSAgMS4gQ29udmVydCB0aGUgZ2l2ZW4gcG9pbnRlcl94IGFuZCBwb2ludGVyX3kgdG8gbW9kZWwgc3BhY2UgYXQgdGhlIG5lYXIgYW5kIGZhciBwbGFuZXMKCSAgMi4gR2V0IHRoZSBlcXVhdGlvbiBvZiB0aGUgdmlkZW8gcGxhbmUKCSAgMy4gRmluZCB3aGVyZSB0aGUgcmF5IGluIDEgaW50ZXJzZWN0cyB0aGUgcGxhbmUKCSAgNC4gUHJvZml0IQoKMjAxNi0wMS0xNCAxNjo1OToxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgcmVkdW50YW50IGdsaW1hZ2VzaW5rIGZyb20gZGVidWcgbG9nZ2luZwoKMjAxNi0wMS0xNCAxNjo1Nzo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExL25hdmlnYXRpb246IGFkZCBidXR0b24gcHJlc3MgdG8gdGhlIHNlbGVjdGVkIGV2ZW50IG1hc2sKCSAgT3RoZXJ3aXNlIHdlIHdvbid0IGdldCB0aGUgYnV0dG9uIHByZXNzIGV2ZW50cyBhbmQgR3N0TmF2aWdhdGlvbiBmYWlscy4KCjIwMTYtMDEtMTQgMTY6MDA6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB0cnkgaGFyZGVyIHRvIHBhc3N0aHJvdWdoCgkgIFRoaXMgbWFrZXMgYSBwaXBlbGluZSBsaWtlOgoJICAuLi4gISB2aWRlby94LXJhdyhtZW1vcnk6R0xNZW1vcnkpLGZvcm1hdD1VWVZZICEgZ2xjb2xvcmNvbnZlcnQgIQoJICB2aWRlby94LXJhdyhtZW1vcnk6R0xNZW1vcnkpLGZvcm1hdD17VVlWWSwgTlYxMn0gISAuLi4KCSAgcGFzc3Rocm91Z2ggaW5zdGVhZCBvZiBjb252ZXJ0aW5nIFVZVlkgPT4gTlYxMi4gVGhlIGNvbnZlcnNpb24gd291bGQgaGFwcGVuCgkgIGJlZm9yZSB0aGlzIGNoYW5nZSBzaW5jZSB0aGUgZWxlbWVudCAoYW5kIGJhc2V0cmFuc2Zvcm0pIHRyYW5zZm9ybSB0aGUgc3JjIGNhcHMKCSAgdG8gZm9ybWF0PXtOVjEyLCBVWVZZfSAoc2luY2UgTlYxMiBjb21lcyBmaXJzdCBpbiB0aGUgZ2xjb2xvcmNvbnZlcnQ6c3JjCgkgIHRlbXBsYXRlKSBhbmQgdGhlbiB0aGUgZGVmYXVsdCBjYXBzIGZpeGF0ZSBmdW5jIHdvdWxkIGZpeGF0ZSB0byBOVjEyLiBCbGFoLgoJICBBbHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBpbnRlcnNlY3QgYWdhaW5zdCB0aGUgdGVtcGxhdGUgY2FwcyBpbiA6OnRyYW5zZm9ybV9jYXBzCgkgIHNpbmNlIGJhc2V0cmFuc2Zvcm0gZG9lcyB0aGF0IHJpZ2h0IGFmdGVyIGNhbGxpbmcgdGhlIHZmdW5jLgoKMjAxNi0wMS0xMiAxODozMToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGltcGxlbWVudCBhIGNvbG9yYmFsYW5jZSBlbGVtZW50CgkgIEl0IHBlcmZvcm1zIHRoZSBleGFjdCBzYW1lIG9wZXJhdGlvbiBhcyB2aWRlb2JhbGFuY2UgYnV0IHdpdGggb3BlbmdsIHNoYWRlcnMgYW5kCgkgIHdhcyB0ZXN0ZWQgd2l0aCBnbHZpZGVvbWl4ZXIgYnkgY29tcGFyaW5nIGZyYW1lcyBmcm9tIHZpZGVvYmFsYW5jZSBhbmQKCSAgZ2xjb2xvcmJhbGFuY2UuCgoyMDE2LTAxLTEyIDE4OjIxOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgZ2xCbGVuZEZ1bmMgYW5kIGdsQmxlbmRFcXVhdGlvbgoJICBBbGxvd3MgbW9yZSBibGVuZGluZyBvcHRpb25zIHRoYW4ganVzdCBBIG92ZXIgQgoJICBlLmcuIGZyYW1lIGNvbXBhcmlzb25zIGFyZSBub3cgcG9zc2libGUuCgkgIGdsdmlkZW9taXhlciBuYW1lPW0KCSAgc2lua18wOjp6b3JkZXI9MAoJICBzaW5rXzE6OnpvcmRlcj0xCgkgIHNpbmtfMTo6YmxlbmQtZXF1YXRpb24tcmdiPXtzdWJ0cmFjdCxyZXZlcnNlLXN1YnRyYWN0fQoJICBzaW5rXzE6OmJsZW5kLWZ1bmN0aW9uLXNyYy1yZ2I9c3JjLWNvbG9yCgkgIHNpbmtfMTo6YmxlbmQtZnVuY3Rpb24tZHN0LXJnYj1kc3QtY29sb3IKCSAgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49Y2hlY2tlcnMtNCAhIG0uc2lua18wCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWNoZWNrZXJzLTggISBtLnNpbmtfMQoKMjAxNi0wMS0wOCAxODozODo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogYWRkIGEgc3BlY2lmaWMgY2F0ZWdvcnkgZm9yIHRoZSBkZWJ1ZyBzcGFtIGZyb20gdGhlIGRyaXZlcgoKMjAxNi0wMS0xMiAxNDo1NDoyMyArMDAwMCAgVGltIFNoZXJpZGFuIDx0aW0uc2hlcmlkYW5AaW1ndGVjLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBGaXggZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uCgkgIFNCQyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gd2Fzbid0IGJlaW5nIHJvdW5kZWQgdXAgdG8gdGhlIG5lYXJlc3QgYnl0ZQoJICAoYXMgc3BlY2lmaWVkIGluIHRoZSBBMkRQIDEuMCBzcGVjaWZpY2F0aW9uLCBzZWN0aW9uIDEyLjkpLiBUaGlzIGNvdWxkCgkgIGNhdXNlICdzdGVyZW8nIGFuZCAnam9pbnQgc3RlcmVvJyBtb2RlIFNCQyBzdHJlYW1zIHRvIGhhdmUgaW5jb3JyZWN0bHkKCSAgY2FsY3VsYXRlZCBmcmFtZSBsZW5ndGhzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNDQ2CgoyMDE2LTAxLTEyIDIzOjM0OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiB1cGRhdGUgZm9yIHJlY2VudCBHTCBhcGkgY2hhbmdlcwoJICBTcGVjaWZpY2FsbHkgdGhlIEdzdEdMTWVtb3J5UEJPIGFkZGl0aW9uICh3aGljaCB3YXMgdGhlIHVuYWRvcm5lZCBHc3RHTE1lbW9yeSkuCgoyMDE2LTAxLTEyIDE0OjM2OjAyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBvcHRpb25hbGx5IGdldCB0aGUgR0wgY29udGV4dCBmcm9tIGdzdF9lbGVtZW50X3NldF9jb250ZXh0CgkgIEFsbG93IHNldHRpbmcgdGhlIEdMIGNvbnRleHQgd2l0aCBnc3RfZWxlbWVudF9zZXRfY29udGV4dC4gV2hlbiBhdmFpbGFibGUsIHRoZQoJICBsb2NhbCBjb250ZXh0IG9idGFpbmVkIHZpYSB0aGUgY29udGV4dCBxdWVyeSBzdGlsbCBoYXMgdGhlIHByZWNlZGVuY2UuCgoyMDE2LTAxLTEyIDE0OjAyOjQ2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJICBhcHBsZW1lZGlhOiBpb3N1cmZhY2VtZW1vcnk6IHJlbW92ZSBOT19TSEFSRSBmbGFnCgkgIFRoZSBmdWxsIG1lbW9yeSBjYW4gYmUgc2FmZWx5IHNoYXJlZC4gU2hhcmluZyBhIHN1YiByZWdpb24gY2FuJ3QgYmUgZG9uZSBhbmQKCSAgd2lsbCBmYWlsIGluIHRoZSBiYXNlIGFsbG9jYXRvciwgdHJpZ2dlcmluZyBhIGNvcHkuCgoyMDE2LTAxLTExIDEzOjMzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcm1peGVyOiByZXBsYWNlIGFjY2VwdC1jYXBzIHdpdGggY2FwcyBxdWVyeQoJICBJdCB3YW50cyB0byBjaGVjayBpZiB1cHN0cmVhbSBjYW4gcHJvZHVjZSBhIGNlcnRhaW4gZm9ybWF0LAoJICBhY2NlcHQtY2FwcyBtaWdodCBvbmx5IGNoZWNrIGlmIHRoZSBuZXh0IGVsZW1lbnQgY2FuIHByb2R1Y2UgaXQuCgoyMDE2LTAxLTA3IDIwOjU2OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbGJhc2VtZW1vcnk6IEZyZWUgdGhlIGFjdHVhbCBtZW1vcnkgb2JqZWN0IHdoZW4gcmVxdWVzdGVkCgkgIE90aGVyd2lzZSB3ZSBhcmUgbGVha2luZyB+NDAwQiBvbiBlYWNoIEdzdE1lbW9yeSBhbGxvY2F0aW9uLgoJICBGcmVlaW5nIGluIHRoZSBiYXNlIGNsYXNzIG1hdGNoZXMgdGhlIEdPYmplY3Qgc2VtYW50aWNzLgoKMjAxNi0wMS0wNyAyMDo1NDo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBkb24ndCBkb3VibGUgcmVhZCBwaXhlbHMKCSAgVGhlIG9wdGltaXN0aWMgZG93bmxvYWRfdHJhbnNmZXIgd2FzIG5vdCBzZXR0aW5nIHRoZSByZXF1aXJlZCBmbGFnIHRvIG5vdAoJICBwZXJmb3JtIGdsUmVhZFBpeGVscyBvbiBzdWJzZXF1ZW50IG1hcCAoUkVBRCkuIHJlc3VsdGluZyBpbiBnbFJlYWRQaXhlbHMKCSAgaGFwcGVuaW5nIHR3aWNlLgoKMjAxNi0wMS0wNyAxODo0NzozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnk6IGV4cG9zZSBnc3RfZ2xfbWVtb3J5X3RleHN1YmltYWdlCgkgIFJlbW92ZXMgZXh0cmVtZWx5IHNpbWlsYXIgY29kZSBmcm9tIGdsbWVtb3J5cGJvLgoKMjAxNi0wMS0wNyAxODowNToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJICBnbGZlYXR1cmUgYWRkIGEgc3BlY2lmaWMgZGVidWcgY2F0ZWdvcnkKCSAgU2F2ZXMgaGF2aW5nIHRvIHRyYXdsIHRocm91Z2ggdGhlICdkZWZhdWx0JyBjYXRlZ29yeSB3aGVuIGZ1bmN0aW9uIHJldHJpZXZhbAoJICBnb2VzIHdyb25nLgoKMjAxNi0wMS0wNSAxNDozNToxMSAtMDUwMCAgQm9iIEhvbGNvbWIgPGJob2xjb21iQG1hay5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHJlc2VydmUgYml0cyBzbyB0aGV5IGFyZSAxJ3MKCSAgVGhlIE1QRUcgc3RhbmRhcmQgKElTTy0xMzg4MC0xKSBzYXlzIHRoZSByZXNlcnZlIGJpdHMgbmVlZCB0byBiZSBzZXQKCSAgdG8gb25lICgyLjEuNjQpLiBUaGlzIGlzIGNhdXNpbmcgdHJhbnNwb3J0IHN0cmVhbXMgdG8gZmFpbCB2YWxpZGF0aW9uCgkgIG9uIHNvbWUgc3lzdGVtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDEyNwoKMjAxNi0wMS0wOCAxNzoxMTowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiByZW1vdmUgY2hlY2sgZm9yIE9wZW5DViB2ZXJzaW9uCgkgIEFmdGVyIGNvbW1pdCA2NDA4MGU2MzIsIGNvbmZpZ3VyZSBjaGVja3MgZm9yIGFsbCB0aGUgaGVhZGVyIGZpbGVzIHRoYXQKCSAgc2hvdWxkIGJlIGF2YWlsYWJsZSBpbiBPcGVuQ1YgMi4zIGFuZCBsYXRlci4gSWYgYW55IG9mIHRoZXNlIGZpbGVzIGlzbid0CgkgIHRoZXJlIHRoZSBPcGVuQ1YgZWxlbWVudHMgd29uJ3QgYmUgcGFydCBvZiB0aGUgYnVpbGQuCgkgIE5vIG5lZWQgdG8gcmVjaGVjayBmb3Igb3BlbmN2Mi9sZWdhY3kvbGVnYWN5LmhwcCBhZ2FpbiBpbgoJICBnc3RweXJhbWlkc2VnbWVudC5oLiBNaW5pbXVtIHN1cHBvcnRlZCBPcGVuQ1YgdmVyc2lvbiBtdXN0IGhhdmUgdGhpcyBoZWFkZXIKCSAgYW5kIGNvbmZpZ3VyZSBhbHJlYWR5IGNoZWNrcyBmb3IgaXQuIFJlbW92aW5nIGNoZWNrLgoKMjAxNi0wMS0wOCAxNTowMTo0NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJICBvcGVuY3Y6IGFsd2F5cyBkbyBjdnNtb290aCBpbiBwbGFjZQoJICBBZnRlciB0aGUgdXBkYXRlIHRvIG5ldyBPcGVuQ1YgQVBJIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gdXNpbmcgYW4gb3V0CgkgIGJ1ZmZlciBpcyBub3QgbmVjZXNzYXJ5LiBXZSBjYW4gYWx3YXlzIGRvIHRoZSB0cmFuc2Zvcm1hdGlvbiBpbiBwbGFjZS4KCjIwMTYtMDEtMDggMTI6Mzk6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IGRvIHB5cmFtaWRzZWdtZW50J3MgdHJhbnNmb3JtYXRpb24gaW4gcGxhY2UKCSAgUnVuIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gb2YgcHlyYW1pZHNlZ21lbnQgaW4gcGxhY2UsIHJldXNpbmcgdGhlIGltYWdlCgkgIGRhdGEgYXMgYm90aCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGluIGN2UHlyU2VnbWVudGF0aW9uLiBUaGlzIGF2b2lkcwoJICBjb3B5aW5nIHRoZSBpbWFnZSBiYWNrIGFuZCBmb3J0aCBhbmQgdGhlIGV4dHJhIG1lbW9yeS4KCjIwMTYtMDEtMDcgMTU6MjE6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGhsc2RlbXV4OiBhZGQgdGVzdCBmb3IgdXBkYXRpbmcgc2VnbWVudCBzdG9wCgkgIEFkZCBhIHRlc3QgZm9yIHNlZWtpbmcgdGhhdCBvbmx5IHVwZGF0ZXMgc3RvcCBwb3NpdGlvbiBhbmQgdmVyaWZpZXMKCSAgdGhhdCBzdGFydCBpcyB1bm1vZGlmaWVkCgoyMDE2LTAxLTA3IDE1OjIxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWVraW5nIHRoYXQganVzdCB1cGRhdGVzIHN0b3AgcG9zaXRpb24KCSAgRml4ZWQgYWRhcHRpdmVkZW11eCBzZWVraW5nIHdpdGhvdXQgZmx1c2hpbmcgdGhhdCBqdXN0IHdhbnRzCgkgIHRvIHVwZGF0ZSBzdG9wIHBvc2l0aW9uLiBUaGlzIHJlcXVpcmVkIHByb3RlY3RpbmcgdGhlIHNlZ21lbnQKCSAgdmFyaWFibGVzIHdpdGggYSBuZXcgbXV0ZXggc28gdGhhdCB0aGUgc2Vla2luZyB0aHJlYWQgYW5kIHRoZQoJICBkb3dubG9hZCB0aHJlYWRzIGNvdWxkIHNhZmVseSBtYW5pcHVsYXRlIHRoZSBzZWdtZW50IGFuZAoJICBldmVudHMgcmVsYXRlZCB0byBpdC4KCSAgVGhpcyBjb250ZW50aW9uIGlzIG9ubHkgbG9ja2VkL3VubG9ja2VkIHdoZW4gc3RhcnRpbmcgYSBuZXcKCSAgZG93bmxvYWQsIHdoZW4gdGhlIGZpcnN0IGZyYWdtZW50IG9mIGEgc2VnbWVudCBpcyByZWNlaXZlZCBhbmQKCSAgd2hlbiBzZWVraW5nIHNvLCBob3BlZnVsbHksIGl0IHdvbid0IGRhbWFnZSBwZXJmb3JtYW5jZS4KCjIwMTYtMDEtMDYgMTY6NTE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZ21lbnQgdXBkYXRlIG9uIHNlZWtzCgkgIEZpeGVzIHR5cG8gb24gcmV2ZXJzZSByYXRlIGNoZWNrIGFuZCBhbHNvIG9ubHkgdXBkYXRlIHRoZQoJICBwb3NpdGlvbiB3aGVuIHRoZSBzdGFydC9zdG9wIHdhcyBhY3R1YWxseSBjaGFuZ2VkLgoKMjAxNi0wMS0wNyAxODoxMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmdHlwZXM6IERvbid0IHN0b3JlIHBvaW50ZXJzIGluIHN0YWNrIGFsbG9jYXRlZCBndWludHMKCSAgVGhpcyB3b3JrcyB1c3VhbGx5IGluIHRoaXMgcGxhY2UsIHVubGVzcyB0aGUgY29tcGlsZXIgb3B0aW1pemVzIHRoaW5ncyBpbgoJICBpbnRlcmVzdGluZyB3YXlzIGluIHdoaWNoIGNhc2UgaXQgY2F1c2VzIHN0YWNrIGNvcnJ1cHRpb24gYW5kIGNyYXNoZXMgbGF0ZXIuCgkgIFRoZSBjb21waWxlciBpbiBxdWVzdGlvbiBoZXJlIGlzIGNsYW5nIHdpdGggLU8xLCB3aGljaCBzZWVtcyB0byBwYWNrIHRoZSBzdGFjawoJICBhIGJpdCBtb3JlIGFuZCBjYXVzZXMgd3JpdGluZyB0byB0aGUgZ3VpbnQgYXMgcG9pbnRlciB0byBvdmVyd3JpdGUgbWFwLm1lbW9yeSwKCSAgd2hpY2ggdGhlbiBsYXRlciBjcmFzaGVzIGR1cmluZyB1bm1hcHBpbmcgb2YgdGhlIG1lbW9yeS4KCjIwMTYtMDEtMDcgMTg6MDI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBJbml0aWFsaXplIGJvb2xlYW4gdG8gRkFMU0UgdG8gZml4IHZhbGdyaW5kIHdhcm5pbmcKCSAgU2VlbXMgdG8gYmUgYSBmYWxzZSB3YXJuaW5nIHRob3VnaC4KCjIwMTYtMDEtMDcgMTQ6MDg6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IG9ubHkgZmx1c2ggd2l0aCBhIHNoYXJlZCBjb250ZXh0CgkgIFRoZSB3YWl0IGNvZGUgd2lsbCBmbHVzaCBmb3IgdXMgZm9yIHNpbmdsZSBjb250ZXh0IHBpcGVsaW5lcy4KCjIwMTYtMDEtMDcgMTQ6MDI6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGltcGxlbWVudCBjaGVja2luZyB3aGV0aGVyIGEgY29udGV4dCBoYXMgYmVlbiBzaGFyZWQKCSAgU29tZSBvcGVyYXRpb25zIGFyZSB1bm5lY2Vzc2FyeSB3aGVuIHJ1bm5pbmcgd2l0aCBvbmx5IGEgc2luZ2xlIEdMCgkgIGNvbnRleHQuCgkgIGUuZy4gZ2xGbHVzaCB3aGVuIHNldHRpbmcgYSBmZW5jZSBvYmplY3QgYXMgdGhlIGZsdXNoIGhhcHBlbnMgb24gd2FpdC4KCSAgQVBJOiBnc3RfZ2xfY29udGV4dF9pc19zaGFyZWQKCjIwMTYtMDEtMDYgMTQ6NTQ6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwdXQgYm9vbGVhbiB2YWx1ZXMgaW50byBnYm9vbGVhbiB2YXJpYWJsZXMKCSAgQW5kIHJlbW92ZSBzdXBlcmZsdW91cyBhc3NpZ25tZW50cy4KCjIwMTYtMDEtMDYgMTY6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IE9ubHkgc2V0IHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGluIHBsYXkoKSBpZiBidWZmZXJpbmc+PTEwMCUKCSAgT3RoZXJ3aXNlIHRoZSBhcHBsaWNhdGlvbiBjYW4gYnJlYWsgdGhlIGJ1ZmZlcmluZyBsb2dpYyBieSBzZXR0aW5nIHRoZQoJICBwaXBlbGluZSB0byBQTEFZSU5HIGJlZm9yZSB3ZSBidWZmZXJlZCBlbm91Z2guCgoyMDE2LTAxLTA1IDE3OjQxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0cyBmb3IgcG9zdC1zZWVrIHNlZ21lbnQgYm91bmRhcmllcyBjaGVjawoJICBDaGVja3MgaWYgdGhlIHBvc3Qgc2VlayBzZWdtZW50IGlzIHdoYXQgaXMgZXhwZWN0ZWQuCgkgIEFsc28gbWFrZXMgaXQgZWFzeSB0byBhZGQgbW9yZSB0ZXN0cyB3aXRoIGRpZmZlcmVudCBzZWVraW5nIGZsYWdzIHVzaW5nIHRoZQoJICBzYW1lIGZ1bmN0aW9ucy4KCjIwMTYtMDEtMDUgMTA6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICB0ZXN0czogaGxzZGVtdXg6IGFkZCB0ZXN0cyBmb3Igc2VlayB3aXRoIHJldmVyc2UgcmF0ZSBhbmQgc25hcCBmbGFncwoJICBBZGQgdGVzdHMgdG8gZW5zdXJlIHNuYXAgZmxhZ3Mgd29yayBhcyBleHBlY3RlZCBmb3IgcmV2ZXJzZQoJICByYXRlcwoKMjAxNi0wMS0wNSAxMDozOToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBzdG9wIHJldmVyc2UgcGxheWJhY2sgd2hlbiB3ZSByZWFjaCB0aGUgbGltaXQKCSAgQXZvaWRzIGRvd25sb2FkaW5nIGFuZCBwdXNoaW5nIGEgZnVsbCBzZWdtZW50IGp1c3QgdG8gZ2V0IDEgbmFub3NlY29uZAoJICBvZiBkYXRhLiBUaGlzIGhhcHBlbnMgZnJlcXVlbnRseSB3aGVuIHNlZWtpbmcgaXMgZG9uZSB3aXRoIGZsYWdzCgkgIHRoYXQgYWRqdXN0IHRvIGJvdW5kYXJpZXMgb3Igd2hlbiB0aGUgc3RhcnQgaXMgYWxpZ25lZCB3aXRoIHNlZ21lbnQKCSAgc3RhcnRzLiBUaGUgbGF0ZXIgaXMgY29tbW9uIHdoZW4gc2VnbWVudCBkdXJhdGlvbnMgaXMgYSBtdWx0aXBsZSBvZgoJICBhIHNlY29uZC4KCjIwMTYtMDEtMDUgMDk6MTY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrIHNlZWsgd2l0aCBzbmFwIGZsYWdzCgkgIFByb3Blcmx5IGhhbmRsZSBzbmFwIGZsYWdzIGR1cmluZyByZXZlcnNlIHNlZWtpbmcuIEluIHRoaXMgY2FzZQoJICB0aGUgYmVmb3JlL2FmdGVyIGFyZSBhbHNvIHJldmVyc2VkLCBzbyBoYW5kbGUgdGhvc2UgYXMgc3VjaC4KCSAgRm9yIGV4YW1wbGU6IHdpdGggYSBzZXF1ZW5jZSBvZiAxcyBmcmFnbWVudHM6CgkgIHwtLSAwIC0tfC0tIDEgLS18LS0gMiAtLXwtLSAzIC0tfAoJICBJZiB5b3Ugc2VlayB0byAxLjVzIGl0IGlzIGluc2lkZSBmcmFnbWVudCAxLiBXaXRoIHJldmVyc2UgYW5kCgkgIHNuYXAtYmVmb3JlOiBzaG91bGQgcGxheSBmcm9tIHRoZSBlbmQgb2YgZnJhZ21lbnQgMQoJICBzbmFwLWFmdGVyOiBzaG91bGQgcGxheSBmcm9tIHRoZSBlbmQgb2YgZnJhZ21lbnQgMAoKMjAxNi0wMS0wNSAwOTowMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBjb3JyZWN0bHkgdHJhY2sgc2VnbWVudC5wb3NpdGlvbiBpbiByZXZlcnNlIHBsYXliYWNrCgkgIEZvciByZXZlcnNlLCBzZXQgcG9zaXRpb24gdG8gc2VnbWVudC5zdG9wIHdoZW4gc3RhcnRpbmcgYW5kIGFsc28KCSAgZG9uJ3Qgc2V0IHRoZSBwb3NpdGlvbiB0byBmcmFnbWVudCBlbmQgdGltZXN0YW1wIHdoZW4gaXQgZmluaXNoZXMsCgkgIGp1c3QgbGVhdmUgaXQgYXQgdGhlIGZyYWdtZW50IHN0YXJ0LgoKMjAxNi0wMS0wNSAwODo1OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2ltcGxpZnkgc25hcCBmbGFncyBjaGVja2luZwoJICBSZXBsYWNlOgoJICBpZiAoYm9vbGVhbikgdmFyID0gdHJ1ZTsKCSAgd2l0aDoKCSAgdmFyID0gKGJvb2xlYW4pOwoKMjAxNS0xMi0yOCAwMjoxODowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVzcGVjdCBrZXl1bml0IGZsYWcgZm9yIHBvc2l0aW9uCgkgIFNldCB0aGUgc2VnbWVudCBzdGFydCBwb3NpdGlvbiB3aGVuIGtleXVuaXQgZmxhZyBpcyBhY3RpdmUKCjIwMTUtMTItMjQgMTg6NDk6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGhsc19kZW11eDogYWRkIHRlc3RzIGZvciBzZWVraW5nIHNlZ21lbnQKCSAgVGVzdHMgdGhhdCBjaGVjayB0aGF0IHRoZSBzZWdtZW50IHNlbnQgYWZ0ZXIgYSBzZWVrIGlzIGNvcnJlY3QuCgkgIEFsbG93cyB0ZXN0aW5nIHRoYXQgbXVsdGlwbGUgc2Vla2luZyBmbGFncyB3b3JrIGFzIGV4cGVjdGVkCgoyMDE1LTEyLTI0IDA5OjI3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSAgdGVzdHM6IGFkYXB0aXZlX2RlbXV4OiBhZGQgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBjaGVjayBkZW11eGVyIGV2ZW50cwoJICBBbGxvd3Mgd3JpdGluZyB0ZXN0cyB0aGF0IHZlcmlmeSB0aGF0IGV2ZW50cyBhcmUgY29ycmVjdC4KCSAgVXNlZnVsIHRvIG1vbml0b3IgYW5kIGNoZWNrIHNlZ21lbnRzIGFmdGVyIHNlZWtzLCBmb3IgZXhhbXBsZS4KCjIwMTUtMTItMjMgMTU6MjU6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGFkYXB0aXZlOiB1cGRhdGUgdG8gYWxsb3cgbW9yZSBmbGV4aWJsZSBzZWVraW5nIHRlc3RzCgkgIEFsbG93cyBkZWZpbmluZyBhIHNlZWsgZXZlbnQgdG8gYmUgYWJsZSB0byBjaGFuZ2Ugc2Vla2luZyBwYXJhbWV0ZXJzCgkgIGFuZCBjcmVhdGUgbW9yZSBzZWVraW5nIHRlc3Qgc2NlbmFyaW9zCgoyMDE1LTEyLTIzIDE1OjIzOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGhsc2RlbXV4OiBmaXggbWFrZWZpbGUgdmFyaWFibGUgdHlwbwoKMjAxNi0wMS0wNiAxNjo1MDowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogZW5hYmxlIHJlbmVnb3RpYXRpb24KCSAgV2UgY2FuIGFjdHVhbGx5IHJlbmVnb3RpYXRlIG5vdywgc28gcmVtb3ZlIG9sZCBjaGVjayB3aGljaCBkaXNhYmxlZCBpdC4KCjIwMTYtMDEtMDYgMTY6MjU6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogaW1wbGVtZW50IHVzYWdlIG9mIGEgYnVmZmVyIHBvb2wKCSAgU2F2ZXMgdW5uZWNlc3NhcnkgZ2xHZW5UZXh0dXJlcyBhbmQgZ2xEZWxldGVUZXh0dXJlcyB3aGljaCBtYXkgaGF2ZSBhCgkgIG5vbi10cml2aWFsIGNvc3QuCgoyMDE2LTAxLTA2IDE1OjUwOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogZml4IGNvcHlpbmcgR3N0R0xBbGxvY2F0aW9uUGFyYW1zCgkgIEZpeGVzIGEgR1NUX0lTX0dMX0NPTlRFWFQgY3JpdGljYWwKCjIwMTYtMDEtMDYgMTU6NDQ6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2NzkKCjIwMTYtMDEtMDYgMTM6MjA6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IHNtYWxsIG5lZ290aWF0aW9uIGZpeAoJICBGaXggbmVnb3RpYXRpb24gd2hlbiBHTE1lbW9yeSBpcyByZXF1ZXN0ZWQgYnV0IGEgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlCgoyMDE2LTAxLTA2IDExOjQwOjM4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZW5jOiBhY2NlcHQgVVlWWSBvbiBNYWMKCSAgV2hlbiBkb2luZyBHTE1lbW9yeSBhdmZ2aWRlb3NyYyBuZWdvdGlhdGVzIFVZVlkuIFRoaXMgY2hhbmdlIGFsbG93cyBhdmZ2aWRlb3NyYwoJICAhIHRlZSBuYW1lPXQgISAuLi4gISBnbGltYWdlc2luayB0LiAhIC4uLiAhIGdsZG93bmxvYWQgISB2dGVuY19oMjY0ICEgLi4uCgkgIHRvIGRvIEdMTWVtb3J5IGFuZCAwLWNvcHkgd2l0aCB0aGUgZW5jb2RlciAod2l0aCB0aGUgQ1YgbWV0YSkuCgoyMDE2LTAxLTA2IDExOjI5OjE1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBjaGFuZ2UgdGV4dHVyZSBmb3JtYXQgZnJvbSBCR1JBIHRvIE5WMTIgb24gaU9TCgkgIENoYW5nZSB0ZXh0dXJlIGZvcm1hdCBmcm9tIEJHUkEgdG8gTlYxMi4gVGhpcyBhbGxvd3MgYSBwaXBlbGluZSBsaWtlIGF2ZnZpZGVvc3JjCgkgICEgdGVlIG5hbWU9dCAhIC4uLiAhIGdsaW1hZ2VzaW5rIHQuICEgLi4uICEgZ2xkb3dubG9hZCAhIHZ0ZW5jX2gyNjQgISAuLi4gIHRvCgkgIG5lZ290aWF0ZSBHTE1lbW9yeS4gVGhpcyBtYWtlcyB0aGUgZ2xpbWFnZXNpbmsgYnJhbmNoIG11Y2ggZmFzdGVyIChvYnZpb3VzbHkpCgkgIGFuZCB0cmlnZ2VycyB0aGUgMC1jb3B5IHBhdGggYmV0d2VlbiBhdmZ2aWRlb3NyYyBhbmQgdnRlbmMgKHVzaW5nIHRoZSBDViBtZXRhKS4KCSAgQ29tYmluZWQgdGhpcyByZXN1bHRzIGluIGEgaHVnZSBwZXJmIGltcHJvdmVtZW50IG9uIGlPUyAoMjUtMzAlIG9mIENQVSB0aW1lIGluIGEKCSAgcGlwZWxpbmUgbGlrZSB0aGUgb25lIGFib3ZlKS4KCSAgTm90ZSB0aGF0IHRoaXMgZG9lc24ndCBpbnRyb2R1Y2UgYSBuZXcgc2hhZGVyIGNvbnZlcnNpb24gaW4gdGhlIHNpbmssIHNpbmNlIEJHUkEKCSAgdGV4dHVyZXMgaGFkIHRvIGJlIGNvcGllZC9jb252ZXJ0ZWQgZnJvbSBmb3JtYXQ9QkdSQSx0ZXh0dXJlLXRhcmdldD1SRUNUQU5HTEUgdG8KCSAgZm9ybWF0PVJHQkEsdGV4dHVyZS10YXJnZXQ9MkQgYW55d2F5LgoKMjAxNi0wMS0wNCAyMDoyNjowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHVwbG9hZDogYWx3YXlzIGFkZCB0ZXh0dXJlLXRhcmdldCBmaWVsZCB0byBHTCBjYXBzCgkgIDEuIFZhcmlvdXMgZWxlbWVudHMvYmFzZSBjbGFzc2VzIG9ubHkgcGVyZm9ybSBhIHN1YnNldCBjaGVjayBvbiBhY2NlcHQtY2FwcwoJICAyLiBTb21lIEdMIGVsZW1lbnRzIGhhdmUgdGV4dHVyZS10YXJnZXQgaW4gdGhlaXIgcGFkIHRlbXBsYXRlCgkgIDMuIFdoZW4gY2hlY2tpbmcgc3Vic2V0cywgb25seSB0aGUgY2FwcyB0byBjaGVjayBhcmUgYWxsb3dlZCB0byBjb250YWluIGV4dHJhCgkgIGZpZWxkcy4gIElmIHRoZSAndGVtcGxhdGUnIGNhcHMgaGF2ZSBleHRyYSBmaWVsZHMsIHRoZSBzdWJzZXQgZmFpbHMuCgkgIFRodXMgd2l0aG91dCB0ZXh0dXJlLXRhcmdldCBvbiB0aGUgY2FwcywgdmFyaW91cyBhY2NlcHQtY2FwcyBpbXBsZW1lbnRhdGlvbnMKCSAgd2VyZSBmYWlsaW5nLgoJICBBbHNvLCBhZGQgc29tZSBjb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIHNldHRpbmcgYW5kIHJldHJpZXZpbmcKCSAgdGV4dHVyZSB0YXJnZXRzIHRvL2Zyb20gR1ZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODYwCgoyMDE1LTEyLTI5IDE4OjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHBhc3N0aHJvdWdoIGNvbXBvc2l0aW9uIGNhcHMgZmVhdHVyZXMKCSAgRG9uJ3QgdW5jb25kaXRpb25hbGx5IGFkZCBpdCB0byBhbnkgYW5kIGFsbCBjYXBzIHRyYW5zZm9ybWF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTg2MAoKMjAxNi0wMS0wNCAwOTo1Mjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IFJlbW92ZSBnc3RfcGxheWVyX25ldygpIGFuZCBtYWtlIGdzdF9wbGF5ZXJfbmV3X2Z1bGwoKSB0aGUgbm9ybWFsIGNvbnN0cnVjdG9yCgkgIEluIHZlcnkgZmV3IGNhc2VzIHRoZSBzaW1wbGUgdmVyc2lvbiB3YXMgYWN0dWFsbHkgbmVlZGVkIGFuZCBoYXZpbmcgdGhlCgkgIHBhcmFtZXRlcnMgaGlkZGVuIGJ5IGEgX2Z1bGwoKSB2ZXJzaW9uIGNhdXNlZCBhcHBsaWNhdGlvbiB0aGF0IGFjdHVhbGx5IG5lZWRlZAoJICBpdCB0byBub3QgdXNlIGl0LgoKMjAxNi0wMS0wNCAwMTowMzowOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggc3RlcmVvc2NvcGljIGhhbmRsaW5nIHcvIHRleHR1cmUtdGFyZ2V0CgkgIFRoZSBhZGRpdGlvbiBvZiB0ZXh0dXJlLXRhcmdldCBuZWdvdGlhdGlvbiBicm9rZSBzdGVyZW9zY29waWMKCSAgaGFuZGxpbmcgd2hlbiBub3QgaW4gcGFzc3Rocm91Z2ggbW9kZSwgc28gZml4IHRoYXQuCgoyMDE1LTEwLTA3IDE4OjUzOjQzICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlcGxhY2UgZHVwbGljYXRlZCBjb2RlcyB0byBjYWxsIG5ldyBiYXNlIHNkcCBhcGlzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4ODAKCjIwMTUtMTItMzAgMTg6MDA6NDcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9ydG1wL1JFQURNRToKCSAgcnRtcDogcmVmZXIgdG8gYm90aCBlbGVtZW50cyBpbiB0aGUgUkVBRE1FCgoyMDE1LTEyLTI5IDE0OjM1OjE0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGNoZWNrIGZvciBmYWlsZWQgUlRNUCBjb250ZXh0IGFsbG9jCgkgIEF2b2lkcyBhbiB1bmxpa2VseSBjcmFzaC4KCSAgQXJndWFibHksIGlmIGFsbG9jYXRpb24gZmFpbHMgd2UgaGF2ZSBubyBjaGFuY2Ugb2YKCSAgcmVjb3ZlcmluZyBidXQgbm9uZXRoZWxlc3MsIFJUTVBfQWxsb2MgY2FuIGZhaWwgYW5kCgkgIGxpYnJ0bXAncyBSVE1QX2luaXQoKSAoY2FsbGVkIG5leHQpIGFzc3VtZXMgYSBub24tTlVMTAoJICBwb2ludGVyIGlzIHBhc3NlZCB3aXRob3V0IGNoZWNraW5nLgoJICBBZGRpdGlvbmFsbHksIHVuaWZ5IGV4aXQgcGF0aCBvbiBlcnJvci4KCjIwMTUtMTItMjkgMTQ6MTY6NTggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBjaGVjayBmb3IgZmFpbGVkIFJUTVAgY29udGV4dCBhbGxvYwoJICBBdm9pZHMgYW4gdW5saWtlbHkgY3Jhc2guCgkgIEFyZ3VhYmx5LCBpZiBhbGxvY2F0aW9uIGZhaWxzIHdlIGhhdmUgbm8gY2hhbmNlIG9mCgkgIHJlY292ZXJpbmcgYnV0IG5vbmV0aGVsZXNzLCBSVE1QX0FsbG9jIGNhbiBmYWlsIGFuZAoJICBsaWJydG1wJ3MgUlRNUF9pbml0KCkgKGNhbGxlZCBuZXh0KSBhc3N1bWVzIGEgbm9uLU5VTEwKCSAgcG9pbnRlciBpcyBwYXNzZWQgd2l0aG91dCBjaGVja2luZy4KCSAgQWRkaXRpb25hbGx5LCB1bmlmeSBleGl0IHBhdGggb24gZXJyb3IuCgoyMDE1LTEyLTI5IDExOjU4OjMxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkgIHJ0bXA6IGNvcnJlY3QgbGlicnRtcCBsb2ctbGV2ZWwgbWFwcGluZ3MKCSAgQWRkaXRpb25hbGx5LCBtb3ZlIHRvIGEgc3dpdGNoIGluIF9zZXRfZGVidWdfbGV2ZWwoKQoJICB0byBtYWtlIGVhc2llciB0byBmb2xsb3cgYW5kIGNvbXBhcmUgd2l0aCB0aGUKCSAgbWFwcGluZ3MgaW4gX2xvZ19jYWxsYmFjaygpCgoyMDE1LTEyLTMwIDEzOjE2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IG1pbm9yIGNsZWFuLXVwCgkgIFJlbW92ZSBzZXR0aW5nIG9mIHBhcnNlciB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWUsCgkgIHRoYXQgbWFrZXMgbm8gc2Vuc2UgKGFuZCBjb3Zlcml0eSBpcyBubyBkb3VidCBnb2luZwoJICB0byBjb21wbGFpbiBhYm91dCBpdCkuCgoyMDE1LTEyLTMwIDEzOjEyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IGZpeCBtYWNybyBuYW1lc3BhY2luZyBhbmQgcmVuYW1lIEdzdFZwOUludGVycEZpbHRlcgoKMjAxNS0xMi0zMCAxMzowODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBmaXggZG9jIHR5cG9zIGFuZCBzcHJpbmtsZSBzb21lIFNpbmNlIG1hcmtlcnMKCjIwMTUtMTItMzAgMTE6MDM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkFVVEhPUlM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuTElDRU5TRToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5QQVRFTlRTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IG1vdmUgbGljZW5zZSBibHVyYiBpbnRvIGhlYWRlciBhbmQgcmVtb3ZlIGF1eCBmaWxlcwoJICBUaGlzIGlzIGp1c3QgYSBidW5jaCBvZiBsb29rdXAgdGFibGVzLi4KCjIwMTUtMTItMzAgMTE6NTQ6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IFVwZGF0ZSBsaWJnc3Rjb2RlY3BhcnNlcnMuZGVmIHdpdGggdGhlIG5ldyBzeW1ib2xzCgoyMDE1LTEyLTMwIDExOjU0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgYW5vdGhlciBHX0dOVUNfSU5URVJOQUwKCjIwMTUtMTItMzAgMTE6NDA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogU3ByZWFkIHNvbWUgR19HTlVDX0lOVEVSTkFMIGluIHZhcmlvdXMgcGxhY2VzCgoyMDE1LTEyLTMwIDExOjM4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJICB2cDlwYXJzZXI6IEZpeCBpbmRlbnRhdGlvbiB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcGllcgoKMjAxNS0xMi0zMCAxMTozNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICB2cDlwYXJzZXI6IFJlbmFtZSBzeW1ib2xzIHRvIHByZXZlbnQgc3ltYm9sIGNvbmZsaWN0cwoJICBBbHNvIG1ha2UgY2xhbXAoKSBhIHN0YXRpYyBmdW5jdGlvbiBmb3IgdGhlIHNhbWUgcmVhc29uIGFuZCB1c2UgQ0xBTVAgKGFzCgkgIGRlZmluZWQgYnkgR0xpYikgaW4gdGhlIEdTdHJlYW1lciBjb2RlLgoKMjAxNS0xMi0zMCAxMToxOTozMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5BVVRIT1JTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkxJQ0VOU0U6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIFZQOSBjb2RlYyBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzU5NwoKMjAxNS0xMi0zMCAxMjoxMjoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBmaXggd3JhcHBpbmcgZGF0YSBvbiBHTCAyLjEKCSAgR0wgMi4xIG9ubHkgc3VwcG9ydHMgcGJvIHVwbG9hZC4KCSAgVGhlIHdyYXBwZWQgZGF0YSBwb2ludGVyIHdhcyBvbmx5IGJlaW5nIHNldCBvbiB0aGUgcGJvIG1lbW9yeSBhbmQgb24gdGhlCgkgIGdsbWVtb3J5IHNvIHdoZW4gYSBkb3dubG9hZCB3YXMgcmVxdWVzdGVkIChpbiBHTCAyLjEpLCBnbG1lbW9yeSB3YXMKCSAgYWxsb2NhdGluZyBhIG5ldyBkYXRhIHBvaW50ZXIgYW5kIHRodXMgbm90IHJldHVybmluZyB0aGUgd3JhcHBlZCBkYXRhLgoKMjAxNS0xMi0zMCAxMjoxMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBvbmx5IGNyZWF0ZSBhIHBibyBtZW1vcnkgaWYgdGhlIGNvbnRleHQgYWN0dWFsbHkgc3VwcG9ydHMgaXQKCSAgZS5nLiBHTCA8PSAyLjAgZG9lcyBub3Qgc3VwcG9ydCBwYm8gdXNhZ2UgYW5kIEdMIDIuMSBvbmx5IHN1cHBvcnRzIHBibyB1cGxvYWQuCgoyMDE1LTEyLTMwIDEyOjA5OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5OiBzbWFsbCBjb2RlIHJlZm9ybWF0CgkgIG1ha2VzIHRoZSBhbGxvY19wYXJhbXMgc2VsZWN0aW9ucyBmaXQgb24gYSBzaW5nbGUgbGluZS4KCjIwMTUtMTItMzAgMTI6MDY6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgdGVzdHMvZ2xtZW1vcnk6IG91dHB1dCBkYXRhIHBvaW50ZXIgdmFsdWVzIG9uIGZhaWx1cmUKCSAgQWxsb3dzIHF1aWNrZXIgaW5zcGVjdGlvbiBvZiB3aGF0IGZhaWxlZC4KCjIwMTUtMTItMjkgMTc6MDQ6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIHdpdGggbGVnYWN5IG9wZW5nbAoJICBBbGwgdGhlIGdsZWZmZWN0cyBzaGFkZXJzIGNhbiBiZSBydW4gYWdhaW5zdCBhIGdsZXMyIG9yIGEgbGVnYWN5IG9wZW5nbCBnbHNsCgkgIGNvbXBpbGVyIGJ1dCB3ZXJlbid0IGJlaW5nIGFkdmVydGlzZWQgYXMgc3VjaC4KCSAgRml4ZXMgZ2xlZmZlY3RzIHVuZGVyIGRlc2t0b3Agb3BlbmdsIDwgMy4yLgoKMjAxNS0xMi0yOSAxODowMTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiBSZW1vdmUgYm9ndXMgTlVMTCBjaGVjawoJICBDSUQgMTM0NjUzNAoKMjAxNS0xMi0yOSAxMDo1NzozNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogb3V0cHV0IGF0IGhpZ2hlc3QgZnBzL3Jlc29sdXRpb24gYnkgZGVmYXVsdAoJICBGaXhhdGUgdG8gdGhlIGhpZ2hlc3QgcG9zc2libGUgcmVzb2x1dGlvbiBhbmQgZnBzLiBPdGhlcndpc2UgYnkgZGVmYXVsdCB3ZSBlbmQKCSAgdXAgZml4YXRpbmcgYXQgMmZwcyBhbmQgdGhlIGxvd2VzdCBzdXBwb3J0ZWQgcmVzb2x1dGlvbiwgd2hpY2ggaXMgaGFyZGx5IHdoYXQKCSAgc29tZW9uZSB3aG8gYm91Z2h0IGFuIG92ZXJwcmljZWQgc21hcnRwaG9uZSB3YW50cy4KCjIwMTUtMTItMjggMTU6NTM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2w6IEFkZCBcMCB0ZXJtaW5hdG9ycyBmb3IgdGhlIEFwcGxlIHN5bmMgZXh0ZW5zaW9uCgkgIE90aGVyd2lzZSBHTCBpbml0aWFsaXphdGlvbiBtaWdodCBjaGVjayBmb3IgZXh0ZW5zaW9ucyBmb3JldmVyIGFuZCBuZXZlciBmaW5pc2hlcy4KCjIwMTUtMTItMjggMTQ6NDE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogQWRkIHNvbWUgZGVidWcgb3V0cHV0IHdoZW4gdGhlIEdMIHRocmVhZCBpcyBhY3R1YWxseSBydW5uaW5nCgoyMDE1LTEyLTIyIDExOjIzOjE5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZWQgdW5uZWNlc3Nhcnkgc3BhY2UgdHJpbW1pbmcgaW4gZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF9oZWFkCgkgIHNzY2FuZiBoYXMgcmVtb3ZlZCBhbGwgc3BhY2VzIHdoZW4gaXQgaGFzIGNvbnN0cnVjdGVkIHpvbmUgc3RyaW5nLiBUaGVyZSBpcwoJICBubyBuZWVkIHRvIHNlYXJjaCBmb3IgbGVhZGluZyBzcGFjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3NDMKCjIwMTUtMTItMjEgMTQ6NTA6MTUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWNjZXB0IDIgb3IgNCBkaWdpdCB5ZWFyIHdoZW4gdXNpbmcgSFRUUCBIRUFEIGZvciBjYWxjdWxhdGluZyBjbG9jayBjb21wZW5zYXRpb24KCSAgQ29udmVydCB5ZWFyIGZyb20gMiBkaWdpdHMgdG8gNCBkaWdpdHMgaW4gZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF9oZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3NDMKCSAgQWxzbyB1cGRhdGVkIHJlZmVyZW5jZXMgdG8gUmZjODIyIHRvIFJmYzUzMjIKCjIwMTUtMTItMjcgMTE6Mzc6MDkgKzAxMDAgIEZsb3JlbnQgVGhpw6lyeSA8ZmxvcmVudC50aGllcnlAdWJpY2FzdC5ldT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbHNoYWRlcjogZml4IHVzYWdlIGRvYwoJICBUaGUgcHJvcGVydHkgbG9jYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBpbiBmYXZvciBvZiB2ZXJ0ZXgvZnJhZ21lbnQKCSAgc3RyaW5nIHByb3BlcnRpZXM7IHRoZSBkb2MgaGFkIG5vdCBiZWVuIHVwZGF0ZWQgYW5kIHdhcyBzdGlsbCByZWZlcnJpbmcKCSAgdG8gdGhlIHByZXZpb3VzIHByb3BlcnR5OyBhbHNvLCBub3cgdGhlICN2ZXJzaW9uIGhlYWRlciBoYXMgYmVjb21lIG1hbmRhdG9yeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5OTAyCgoyMDE1LTEyLTI2IDIyOjM0OjI5ICswMTAwICBGbG9yZW50IFRoacOpcnkgPGZsb3JlbnQudGhpZXJ5QHViaWNhc3QuZXU+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFBvc3QgdW5oYW5kbGVkIG5hdmlnYXRpb24gZXZlbnRzIG9uIHRoZSBidXMKCSAgQmFzZWQgb2ZmIHh2aW1hZ2VzaW5rIGltcGxlbWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4NjkKCjIwMTUtMTItMjcgMjI6MzI6MjIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogZml4IHNwbGl0dGluZyBvZiBSR0IgY29sb3Igc3RyaW5nCgkgIE5vIG5lZWQgdG8gYXR0ZW1wdCBzcGxpdHRpbmcgdGhlIFJHQiBzdHJpbmcgaW4gMjU1IHRva2VucwoJICBpZiB3ZSBvbmx5IGV4cGVjdCAzLgoJICBMZWZ0IG1heF90b2tlbnMgYXQgNCB0byBwcmVzZXJ2ZSB0aGUgY3VycmVudCBsb2dpYyAod2hpY2gKCSAgYWxsb3dzIGZvciBleHRyYSBzdHVmZiBhdCB0aGUgZW5kKSBhbmQgYWRkZWQgYSB3YXJuaW5nIG9uCgkgIHBhcnNpbmcgZmFpbHVyZSBpbnN0ZWFkIG9mIHNpbGVudGx5IGRpc2NhcmRpbmcgdGhlIHZhbHVlLgoKMjAxNS0xMi0yNyAyMToyMzozNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBmaXggdHlwbyBpbiBoZWFkZXIKCjIwMTUtMTItMjcgMjE6MTk6MTkgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogZml4IG1pc2xlYWRpbmcgd2FybmluZyBtZXNzYWdlCgkgIGNhbGN1bGF0ZV9tb3Rpb24gIT0gRkFMU0UgbWVhbnMgdGhlIG1vdGlvbiBjb21wdXRhdGlvbgoJICBsb2dpYyBpcyBkaXNhYmxlZCwgbm90IGEgbWFwcGluZyBlcnJvci4KCjIwMTUtMTItMjcgMjE6MTE6MTggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogcmV3b3JrIHByb3BlcnR5IGRlc2NyaXB0aW9ucwoKMjAxNS0xMi0yNyAwMToxMTo0MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiB1c2UgTlVMTCBpbnN0ZWFkIG9mIGdfc3RyZHVwKE5VTEwpCgoyMDE1LTEyLTI4IDA5OjA0OjEyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IEZpeCBidWlsZCBlcnJvcgoJICBXaGVuIEdTVF9HTF9IQVZFX1BMQVRGT1JNX0VHTCBpcyBub3QgZGVmaW5lZCwgdGhlbiBpbmZvIHZhcmlhYmxlCgkgIHdpbGwgbm90IGJlIHVzZWQgYW5kIHRoaXMgcmVzdWx0cyBpbiBidWlsZCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5OTEzCgoyMDE1LTEyLTI0IDE1OjI4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMSA9PT0KCjIwMTUtMTItMjQgMTQ6Mjg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMQoKMjAxNS0xMi0yNCAxNDowMDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTEyLTI0IDEyOjIzOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0xMi0yMyAyMzoxMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGNhcHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHRlc3RzOiBmaXggaW5kZW50YXRpb24KCjIwMTUtMTItMjMgMjM6MTA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wY2FwcGFyc2UuYzoKCSAgdGVzdHM6IHBjYXBwYXJzZTogYWRkIGNoZWNrIGZvciAwLXNpemVkIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3MwoKMjAxNS0xMi0yMyAyMDoyNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZG9uJ3QgY3Jhc2ggb24gMC1zaXplZCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzMKCjIwMTUtMTItMjMgMTM6MDY6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24KCjIwMTUtMTItMjMgMTM6MDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbGF5ZXItdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLnBjLmluOgoJICBwbGF5ZXI6IEFkZCBwa2ctY29uZmlnIGZpbGVzCgoyMDE1LTEyLTIzIDEyOjE2OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogRW5hYmxlIHBsYXllciB0ZXN0cyBieSBkZWZhdWx0CgkgIFRoaXMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGJlIHVwZGF0ZWQgdG9nZXRoZXIgd2l0aCB0aGUgbmV4dCBjb21tb24gdXBkYXRlCgkgIGFnYWluLgoKMjAxNS0xMi0yMyAwOTo1NToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkgIHBsYXllcjogQWRkIHVuaXQgdGVzdCB0aGF0IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQKCSAgVGhlIHVuaXQgdGVzdCBpcyBkb3dubG9hZGluZyBhIGZldyBzbWFsbCBtZWRpYSBmaWxlcyBmcm9tIHRoZSBJbnRlcm5ldCwKCSAgd2hpY2ggYXJlIHRoZW4gdXNlZCBkdXJpbmcgdGhlIHRlc3QuICJtYWtlIGNsZWFuIiByZW1vdmVzIHRoZSBmaWxlcyBhZ2Fpbi4KCjIwMTUtMTItMjIgMTQ6NDQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgcGxheWVyOiBJbnRlZ3JhdGUgaW50byB0aGUgZG9jdW1lbnRhdGlvbiBidWlsZCBzeXN0ZW0KCjIwMTUtMTItMjIgMTQ6MjQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItZy1tYWluLWNvbnRleHQtc2lnbmFsLWRpc3BhdGNoZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItZy1tYWluLWNvbnRleHQtc2lnbmFsLWRpc3BhdGNoZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXNpZ25hbC1kaXNwYXRjaGVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXNpZ25hbC1kaXNwYXRjaGVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXR5cGVzLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1yZW5kZXJlci1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlzdWFsaXphdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL3BsYXllci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBJbXBvcnQgR3N0UGxheWVyIHBsYXliYWNrIGNvbnZlbmllbmNlIEFQSQoJICBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vc2Ryb2VnZS9nc3QtcGxheWVyCgkgIGNvbW1pdCA5Y2U2YWUwZGJiOGVlZWVmYWY3OTRjZmFlODBlMjc5YTAzY2M1OThkCgoyMDE1LTEyLTIzIDA5OjUwOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBDb21tZW50IG91dCB1bnVzZWQgZnVuY3Rpb25zIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIGNsYW5nCgkgIEl0J3Mgbm90IGNsZWFyIGlmIHRoZXNlIGFyZSBpbnRlbnRpb25hbGx5IHVudXNlZCBvciB0aGUgY29kZSBzaG91bGQgYmUKCSAgY2hhbmdlZCwgYnV0IHRoaXMgZml4ZXMgY29tcGlsYXRpb24gZm9yIHRoZSB0aW1lIGJlaW5nIGF0IGxlYXN0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTY3OQoKMjAxNS0xMS0xMCAxNjoyNTo1MyArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogdGVzdHM6IGNoZWNrIFVSTCBqb2luaW5nIGlmIG1lZGlhIFVSTCBjb250YWlucyBhICcvJyBjaGFyYWN0ZXIKCSAgSWYgdGhlIHF1ZXJ5IHBhcmFtZXRlciAoZm9yIGV4YW1wbGUKCSAgaHR0cDovL2V4YW1wbGUubmV0LzEwNTQ1NTlfMTUwMGsubXA0L21hc3Rlci5tM3U4P2FjbD0vKjEwNTQ1NTlfMTUwMGsubXA0KSwKCSAgY2hlY2sgdGhhdCBtM3U4LmMgY29ycmVjdGx5IGNvbnZlcnRzIHRoZSByZWxhdGl2ZSBVUkxzIG9mIHRoZSBtZWRpYQoJICBwbGF5bGlzdHMgaW4gdG8gYWJzb2x1dGUgVVJMcy4gSXQgbXVzdCBub3QgdXNlIHRoZSBsYXN0ICcvJyBpdCBmaW5kcyBpbgoJICB0aGUgVVJMLCBhcyBhY2NvcmRpbmcgdG8gUkZDMzk4NiB0aGUgJy8nIGNoYXJhY3RlciBpcyBhbGxvd2VkIGluCgkgIHRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzODQKCjIwMTUtMTEtMTAgMTY6MjM6NTkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiB1bnF1b3RlIGFsbCB0aGUgcXVvdGVkLXN0cmluZyBhdHRyaWJ1dGVzCgkgIFRoZSBVUkkgYXR0cmlidXRlIGZyb20gdGhlIEVYVC1YLUtFWSB0YWcgYW5kIHRoZSBVUkkgYXR0cmlidXRlIGZyb20gdGhlCgkgIEVYVC1YLUktRlJBTUVTLU9OTFkgdGFnIGFyZSBib3RoIHF1b3RlZC1zdHJpbmcgYXR0aWJ1dGVzIHRoYXQgaGF2ZSB0aGVpcgoJICBxdW90YXRpb24gbWFya3MgcmVtb3ZlZCBkdXJpbmcgcGFyc2luZy4gVGhlIENPREVDUyBhdHRyaWJ1dGUgb2YgdGhlCgkgIEVYVC1YLVNUUkVBTS1JTkYgaXMgYWxzbyBhIHF1b3RlZC1zdHJpbmcgYXR0cmlidXRlLCBidXQgdGhpcyBhdHRyaWJ1dGUKCSAgd2FzIG5vdCBiZWluZyB1bi1xdW90ZWQuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhlIHBhcnNlciB0byBhbHdheXMgdW5xdW90ZSBhbGwgcXVvdGVkLXN0cmluZwoJICBhdHRyaWJ1dGVzIGFuZCBhZGp1c3RzIHRoZSB1bml0IHRlc3RzIHRvIHRoaXMgbmV3IGJldmFoaW91ciBmb3IgdGhlCgkgIENPREVDUyBhdHRyaWJ1dGUuCgkgIEFuIGFkZGl0aW9uYWwgdGVzdCBpcyBhZGRlZCB0byBjaGVjayB0aGF0IHBhcnNpbmcgb2YgYWxsIG9mIHRoZSBmaWVsZHMKCSAgaW4gdGhlIEVYVC1YLVNUUkVBTSB0YWcgaXMgY29ycmVjdCwgaW5jbHVkaW5nIHRob3NlIHRoYXQgY29udGFpbiBjb21tYQoJICBjaGFyYWN0ZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mzg0CgoyMDE1LTExLTEwIDE2OjQxOjAyICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGhsc2RlbXV4CgkgIFVzaW5nIHRoZSBuZXcgR3N0QWRhcHRpdmVEZW11eCB0ZXN0IGZyYW1ld29yaywgYWRkIHRlc3RzIHRoYXQKCSAgZXhlcmNpc2UgaGxzZGVtdXguIFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIGFkZGVkOgoJICBzaW1wbGVUZXN0CgkgIEEgc2ltcGxlIHBsYXlsaXN0IHRoYXQgY29udGFpbnMgc29tZSBtZWRpYSBVUkxzCgkgIHRlc3RNZWRpYVBsYXlsaXN0CgkgIEEgbWFzdGVyIHBsYXlsaXN0IHdpdGggYSB2YXJpYW50IHBsYXlsaXN0IHRoYXQgY29udGFpbnMgbWVkaWEgVVJMcwoJICB0ZXN0TWVkaWFQbGF5bGlzdE5vdEZvdW5kCgkgIEEgbWFzdGVyIHBsYXlsaXN0IHRoYXQgcG9pbnRzIHRvIGEgbWlzc2luZyB2YXJpYW50IHBsYXlsaXN0CgkgIHRlc3RGcmFnbWVudE5vdEZvdW5kCgkgIEEgbWFzdGVyIHBsYXlsaXN0IHdpdGggYSB2YXJpYW50IHBsYXlsaXN0IHRoYXQgY29udGFpbnMgbWVkaWEgVVJMcwoJICBUaGVyZSBpcyBhIG1pc3NpbmcgbWVkaWEgZmlsZSByZWZlcmVuY2VkIGZyb20gdGhlIHZhcmlhbnQgcGxheWxpc3QuCgkgIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IKCSAgQSBtYXN0ZXIgcGxheWxpc3Qgd2l0aCBhIHZhcmlhbnQgcGxheWxpc3QgdGhhdCBjb250YWlucyBtZWRpYSBVUkxzCgkgIER1cmluZyB0aGUgZG93bmxvYWQgb2Ygb25lIG1lZGlhIGZpbGUsIHRoZSB0ZXN0IHNpbXVsYXRlcyB0aGUgbmV0d29yawoJICBjb25uZWN0aW9uIGJlaW5nIGRyb3BwZWQuCgkgIHRlc3RTZWVrCgkgIEEgc2ltcGxlIHRlc3Qgb2YgdHJ5aW5nIHRvIHBlcmZvcm0gYSBzZWVrIG9uIGFuIEhMUyBzdHJlYW0uCgoyMDE1LTExLTEwIDEzOjEzOjM1ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5oOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBSZWZhY3RvciBpbnRvIGFkYXB0aXZlX2VuZ2luZSBjb21wb25lbnRzCgkgIFRvIGFsbG93IGNvZGUgZnJvbSBkYXNoX2RlbXV4LmMgdG8gYmUgdXNlZCBieSBvdGhlciBlbGVtZW50cwoJICB0aGF0IGFyZSBiYXNlZCB1cG9uIEdzdEFkYXB0aXZlRGVtdXgsIHRoZSBjb2RlIGhhcyBiZWVuCgkgIHJlZmFjdG9yZWQgaW50byBmb3VyIG5ldyBmaWxlczoKCSAgYWRhcHRpdmVfZGVtdXhfZW5naW5lLltjaF0KCSAgYWRhcHRpdmVfZGVtdXhfY29tbW9uLltjaF0KCSAgVGhlIGNvZGUgaW4gYWRhcHRpdmVfZGVtdXhfZW5naW5lLmMgcHJvdmlkZXMgYSBnZW5lcmljCgkgIHRlc3QgZW5naW5lIGZvciBlbGVtZW50cyBiYXNlZCB1cG9uIEdzdEFkYXB0aXZlRGVtdXguCgkgIFRoZSBjb2RlIGluIGFkYXB0aXZlX2RlbXV4X2NvbW1vbi5jIHByb3ZpZGVzIGEgc2V0CgkgIG9mIHV0aWxpdHkgZnVuY3Rpb25zIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0ZXN0cwoJICBmb3IgaGxzZGVtdXggYW5kIGRhc2hkZW11eC4KCSAgQXMgcGFydCBvZiB0aGUgcmVmYWN0b3JpbmcsIHZhcmlhYmxlcyBpbiBzdHJ1Y3R1cmVzIHdlcmUKCSAgcmVuYW1lZCBmcm9tIHVzaW5nIGNhbWVsQ2FzZSB0byB1bmRlcnNjb3JlX2Nhc2UgdG8gbWF0Y2ggb3RoZXIKCSAgR1N0cmVhbWVyIHNvdXJjZSBjb2RlLgoJICBUaGUgZmFrZV9odHRwX3NyYyB3YXMgcmVuYW1lZCB0ZXN0X2h0dHBfc3JjIGFuZCBjaGFuZ2VkIHRvIHVzZQoJICBjYWxsYmFja3MgdG8gcHJvdmlkZSBpbnB1dCBkYXRhIGFuZCBlcnJvciBjb25kaXRpb25zLiBSYXRoZXIgdGhhbgoJICB1c2luZyBhbiBhcnJheSBvZiBpbnB1dCBkYXRhIHRoYXQgdHJpZXMgdG8gZW5jb2RlIGFsbCB0aGUKCSAgcG9zc2libGUgdXNlIGNhc2VzIGZvciB0aGUgR3N0VGVzdEhUVFBTcmMgZWxlbWVudCwgdXNlIGEgc3RydWN0IG9mCgkgIGNhbGxiYWNrcy4KCSAgVXNlcnMgb2YgdGhpcyBlbGVtZW50IGFyZSBvYmxpZ2VkIHRvIGltcGxlbWVudCBhdCBsZWFzdCB0aGUgc3JjX3N0YXJ0CgkgIGNhbGxiYWNrLCB3aGljaCBwcm92aWRlcyBhIHdheSB0byBsaW5rIGZyb20gYSBVUkkgdG8gdGhlIHNldHRpbmdzCgkgIGZvciB0aGF0IFVSSS4KCjIwMTUtMTItMjIgMTE6MTA6MzEgKzAyMDAgIE1hdHRoZXcgTWFyc2ggPG1hdHRAc3RvbmV0aHJlZS5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiBmaXggaGlnaCBDUFUgdXNlIG9uIGluaXRpYWxpemF0aW9uIG9mIG11bHRpcGxlIGVuY29kZXJzIGF0IHRoZSBzYW1lIHRpbWUKCSAgV2UgbmVlZCBhIHN0YXRpYyBsb2NrIHRvIHByb3RlY3QgdmFyaW91cyBOVkVOQyBtZXRob2RzIGluIF9zZXRfZm9ybWF0KCkuIFdpdGhvdXQKCSAgdGhpcyB0aGUgQ1BVIHVzZSBpbmNyZWFzZXMgZHJhbWF0aWNhbGx5IG9uIGluaXRpYWxpc2F0aW9uIG9mIHRoZSBlbGVtZW50IHdoZW4KCSAgdGhlcmUgYXJlIG11bHRpcGxlIGVsZW1lbnRzIGJlaW5nIGluaXRpYWxpc2VkIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3NDIKCjIwMTUtMTItMjIgMTA6MTU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSBldmVyeSBiYWQgdXBkYXRlX3BsYXlsaXN0IHJldHVybiBzZXRzIGFuIGVycm9yCgkgIE90aGVyd2lzZSBpdCBzZWdmYXVsdHMgd2hlbiByZXBvcnRpbmcgdGhlIGVycm9yIGluIHRoZSBidXMKCjIwMTUtMTItMjEgMTM6NTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFVzZSBOVUxMIGluc3RlYWQgb2YgZ19zdHJkdXAoJ1wwJykKCSAgV2hpY2ggaXMgZXF1aXZhbGVudCB0byBnX3N0cmR1cChOVUxMKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTcyOAoKMjAxNS0xMi0yMSAxMjozMzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtQnN5bWJvbGljLWZ1bmN0aW9ucyBpZiBhdmFpbGFibGUKCSAgV2hpbGUgdGhpcyBpcyBtb3JlIHVzZWZ1bCBmb3IgbGlicmFyaWVzLCBzb21lIG9mIG91ciBwbHVnaW5zIHdpdGggbXVsdGlwbGUKCSAgZmlsZXMgYW5kIHNvbWUgaW50ZXJuYWwgQVBJIGNhbiBhbHNvIGJlbmVmaXQgZnJvbSB0aGlzLgoKMjAxNS0xMi0yMSAxMjoxOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBuYW1lIG9mIHRlc3RzdWl0ZQoKMjAxNS0xMi0yMSAxMjoxMzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBTaWduYWwgY29udGV4dCBjcmVhdGlvbiBmcm9tIGluc2lkZSB0aGUgY29udGV4dCBsb29wIGFuZCB1c2UgZ190aHJlYWRfam9pbigpIGluc3RlYWQgb2YgYSBjdXN0b20gY29uZGl0aW9uIHZhcmlhYmxlCgkgIEFsc28gcHJvdGVjdCBhZ2FpbnN0IHNwdXJpb3VzIGNvbmRpdGlvbiB2YXJpYWJsZSB3YWtldXBzIGR1cmluZyBjb250ZXh0CgkgIGNyZWF0aW9uLgoKMjAxNS0xMi0yMSAxMToyNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IEhpZGUgbmF2aWdhdGlvbiBzcGVjaWZpYyBpbnRlcm5hbCBBUEkgYW5kIGFkZCBBUEkgdG8gYXN5bmNocm9ub3VzbHkgc2VuZCBuYXZpZ2F0aW9uIGV2ZW50cwoJICBFeHBvc2luZyB0aGUgbmF2aWdhdGlvbiB0aHJlYWQncyBtYWluIGNvbnRleHQsIEdTb3VyY2VGdW5jcyBhbmQgc3RydWN0cyBjYWxsZWQKCSAga2V5X2V2ZW50IGFuZCBtb3VzZV9ldmVudCBpcyBleHBvc2luZyBhIGJpdCB0b28gbXVjaCBvZiB0aGUgaW50ZXJuYWxzLiBMZXQncwoJICBqdXN0IGdvIHdpdGggdHdvIGZ1bmN0aW9ucyB0byBhc3luY2hyb25vdXNseSBzZW5kIG5hdmlnYXRpb24gZXZlbnRzIG9uIHRoZQoJICB3aW5kb3cgd2l0aCB0aGUgc2FtZSBBUEkgYXMgdGhlIHN5bmNocm9ub3VzIG9uZXMuCgoyMDE1LTEyLTIxIDEwOjQ2OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogVXNlIGdfdGhyZWFkX2pvaW4oKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGNvbmRpdGlvbiB2YXJpYWJsZSBmb3Igd2FpdGluZyBmb3IgdGhlIG5hdmlnYXRpb24gdGhyZWFkIHRvIGZpbmlzaAoJICBBbHNvIGhpZGUgc29tZSBpbnRlcm5hbCBmdW5jdGlvbnMgYW5kIGZpZWxkcyB3aGlsZSB3ZSdyZSBhdCBpdCBhbmQgZml4CgkgIGEgcmFjZSBjb25kaXRpb24gd2l0aCB0aGUgc3RhcnR1cCBjb25kaXRpb24gdmFyaWFibGUuCgoyMDE1LTExLTMwIDA5OjM2OjA5ICswODAwICBIYWlodWEgSHUgPGI1NTU5N0BmcmVlc2NhbGUuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBGaXggbWVtb3J5IGxlYWsgb2YgbmF2aWdhdGlvbiB0aHJlYWQKCSAgV2hlbiBzdG9wcGluZyB0aGUgbmF2aWdhdGlvbiB0aHJlYWQsIGNhbGwgZ190aHJlYWRfam9pbigpIHRvIHJlbGVhc2UKCSAgdGhlIHJlc291cmNlcyBob2xkIGJ5IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODIwCgoyMDE1LTEyLTE5IDIxOjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBhc3NyZW5kZXIsIGR2YnN1Ym92ZXJsYXk6IGZpeCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzCgoyMDE1LTEyLTE5IDIxOjEwOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVmbG93IHVwZGF0ZV9wbGF5bGlzdCBhIGJpdAoJICBSZWR1Y2UgaW5kZW50YXRpb24gYnkgZXJyb3Jpbmcgb3V0IGRpcmVjdGx5IG9uIGZhaWx1cmUuCgoyMDE1LTEyLTE5IDIwOjU5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHBvdGVudGlhbCBlcnJvciBsZWFrCgkgIENsZWFyIGVycm9yIGFzIHNvb24gYXMgd2UgZGV0ZXJtaW5lIHRoYXQgdGhlIGRvd25sb2FkIGZhaWxlZCwKCSAgb3RoZXJ3aXNlIHRoZXJlIGFyZSBjb2RlIHBhdGhzIHdoZXJlIHdlIG1pZ2h0IHJldHVybiB3aXRob3V0CgkgIGNsZWFyaW5nIGl0IGV2ZXIsIHdoaWNoIHdvdWxkIGxlYWsgdGhlIEdFcnJvciB0aGVuLiBBbHNvLCB3ZQoJICBjYW4gcGFzcyBhIE5VTEwgR0Vycm9yIHBvaW50ZXIgdG8gX2ZldGNoX3VyaSgpLCBzbyBqdXN0IGRvIHRoYXQKCSAgaW5zdGVhZCBvZiBwYXNzaW5nIG9uZSB0aGF0IHdlJ3JlIGdvaW5nIHRvIGp1c3QgZnJlZSBhZ2FpbgoJICByaWdodCBhd2F5IGFueXdheS4KCjIwMTUtMTItMTkgMTI6MDU6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSAgb3BlbmN2OiByZW1vdmUgdW5uZWVkZWQgc2lua19ldmVudCBmdW5jdGlvbiBpbiBweXJhbWlkc2VnbWVudAoKMjAxNS0xMi0xOSAxMjowNDowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJICBvcGVuY3Y6IHJlbW92ZSB1bm5lZWRlZCBzaW5rX2V2ZW50IGZ1bmN0aW9uIGluIHRleHRvdmVybGF5CgoyMDE1LTEyLTE4IDE4OjUxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJICB0ZW1wbGF0ZW1hdGNoOiByZW1vdmUgdXNlbGVzcyBmdW5jdGlvbgoKMjAxNS0xMi0xOCAxMTo1NjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWx3YXlzIHNldCB0aW1lc3RhbXAgb24gcmV2ZXJzZSBwbGF5YmFjawoJICBEb3duc3RyZWFtIG5lZWRzIHRvIGJlIGFibGUgdG8gcmVzdG9yZSB0aGUgdGltZXN0YW1wcyBhZnRlciBhIGRpc2NvbnQKCSAgdG8gZG8gcmV2ZXJzZSBwbGF5YmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTkyCgoyMDE1LTEyLTE4IDE1OjM2OjQwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb252ZXJ0OiBGaXggY29tcGlsYXRpb24gb2YgR1JBWTE2X0xFL0JFIHNoYWRlcgoKMjAxNS0xMS0xMyAxNzoyNDozMCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBBZGQgZG1hYnVmIHVwbG9hZCBtZXRob2QuCgkgIFRoaXMgdXBsb2FkIG1ldGhvZCBkZXRlY3QgYW5kIG9wdGltaXplIHVwbG9hZHMgb2YgRE1BQnVmIG1lbW9yeS4gVGhpcyBpcwoJICBkb25lIGJ5IGNyZWF0aW5nIGFuZCBjYWNoaW5nIEVHTEltYWdlcyB3cmFwcGVyIGFyb3VuZCBETUFCdWYuIFRoZQoJICBFR0xJbWFnZXMgYXJlIHRoZW4gYmluZGVkIHRvIGEgdGV4dHVyZSB3aGljaCBnZXQgY29udmVydGVyIHVzaW5nCgkgIHN0YW5kYXJkIHNoYWRlci4KCSAgRXhhbXBsZSBwaXBlbGluZToKCSAgR1NUX0dMX1BMQVRGT1JNPWVnbCBcCgkgIGdzdC1sYXVuY2gtMS4wIHY0bDJzcmMgZGV2aWNlPS9kZXYvdmlkZW8xIGlvLW1vZGU9NCAhIFwKCSAgdmlkZW8veC1yYXcsZm9ybWF0PU5WMTIgISBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEyLTE4IDE1OjUyOjQ2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGVnbGltYWdlbWVtb3J5OiBBbHNvIGltcG9ydCBCR1IxNiwgQUJHUiwgeEJHUiwgQVlVViwgR1JBWTE2X0xFL0JFIGFuZCBZNDQ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTItMTggMTE6MDg6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZWdsaW1hZ2VtZW1vcnk6IEFkZCBSR0IvQkdSIERNQUJ1ZiBpbXBvcnRhdGlvbiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTEtMTMgMTc6NDA6MDggKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5oOgoJICBlZ2xpbWFnZW1lbW9yeTogTWV0aG9kcyB0byBjcmVhdGUgR3N0R0xNZW1vcnkgZnJvbSBkbWFidWZzCgkgIE1hcHMgR3N0VmlkZW9Gb3JtYXRzIHRvIHN1aXRhYmxlIERSTSBmb3VyY2NzIHdoaWNoIHdvcmsgd2l0aAoJICBnbGNvbG9yY29udmVydCwgdXNpbmcgZ3N0X2dsX21lbW9yeV9hbGxvYygpLiBXZSByZXF1aXJlIG1vc3RseQoJICBvbmx5IDQgZm9ybWF0cyB0byBiZSBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlci4gV2UgcmVxdWlyZSBEUk0KCSAgZXF1aXZhbGVudCB0byBSR0IxNiwgUkdCQSwgUjggYW5kIFJHODguIFRoaXMgd2F5IGl0J3MgY29tcGF0aWJsZSB3aXRoCgkgIERlc2t0b3BHTCwgc2luY2UgR0xfVEVYVFVSRV8yRCBpcyB1c2VkIGFuZCBsaW1pdCBkcml2ZXIgcmVxdWlyZW1lbnRzLgoJICBXaXRoIHRoaXMgd2UgY2FuIHZpcnR1YWxseSBzdXBwb3J0IGFsbCBmb3JtYXRzIHRoZSBnbGNvbG9yY29udmVydAoJICBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMC0wMiAxMzozMTozOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBBZGQgZG1hYnVmIGJ1aWxkIGNvbmRpdGlvbi4KCSAgY29uZmlndXJlLmFjOiBCdWlsZCBkbWFidWYgd2hlbiBFR0wgYW5kIGRybV9mb3VyY2MuaCBpcyBhdmFpbGFibGUuCgkgIGdsOiBMaW5rIGdzdC1hbGxvY2F0b3JzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTExLTEzIDE3OjA5OjEzICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFNob3cgZXJyb3Igd2hlbiB2aWRlbyBmcmFtZSBpcyBub3QgbWFwcGVkLgoJICBBZGRzIG1vcmUgbWVhbmluZ2Z1bCBlcnJvciB0aGFuCgkgICJGYWlsZWQgdG8gY29udmVydCBtdWx0aXZpZXcgdmlkZW8gYnVmZmVyIiwgd2hpY2ggaXMgYWx3YXlzIHVzZWQKCSAgd2hlbiBwcmVwYXJlX25leHRfYnVmZmVyKCkgZmFpbHMgaW4gZ3N0X2dsaW1hZ2Vfc2lua19wcmVwYXJlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTEtMTMgMTc6MDU6MTEgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSAgZ3N0Z2xjb250ZXh0X2VnbDogRXhwb3NlIGdzdF9nbF9jb250ZXh0X2VnbF9nZXRfZXJyb3Jfc3RyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEyLTE4IDE2OjU2OjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiB1cGRhdGUgb3BlbmN2dGV4dG92ZXJsYXkgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIG9wZW5jdnRleHRvdmVybGF5IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mCgkgIGZyb20gR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4gVGhlIGNoYWluL3RyYW5zZm9ybSBmdW5jdGlvbiBpcyBub3cgYSB0aGlyZCBvZiB0aGUgc2l6ZSB0aGFuCgkgIGJlZm9yZS4KCjIwMTUtMTItMTggMTY6MTg6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiB1cGRhdGUgdGVtcGxhdGVtYXRjaCB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgcHlyYW1pZHNlZ21lbnQgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YgZnJvbQoJICBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLgoKMjAxNS0xMi0xOCAxNTo0ODoxNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogdXBkYXRlIHB5cmFtaWRzZWdtZW50IHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBweXJhbWlkc2VnbWVudCB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE3IDE3OjI2OjI5ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBNYWRlICJhdXRvIiBtb2RlIHdvcmsgYWNjb3JkaW5nIHRvIGNhcHMKCSAgV2hlbiB0aGUgbW9kZSBvZiBkZWNrbGlua3ZpZGVvc2luayBpcyBzZXQgdG8gImF1dG8iLCB0aGUgc2luayBjbGFpbXMgdG8KCSAgc3VwcG9ydCB0aGUgZnVsbCBzZXQgb2YgY2FwcyB0aGF0IGl0IGNhbiBzdXBwb3J0IGZvciBhbGwgbW9kZXMuIFRoZW4sIGV2ZXJ5CgkgIHRpbWUgbmV3IGNhcHMgYXJlIHNldCwgdGhlIHNpbmsgd2lsbCBhdXRvbWF0aWNhbGx5IGZpbmQgdGhlIGNvcnJlY3QgbW9kZSBmb3IKCSAgdGhlc2UgY2FwcyBhbmQgc2V0IGl0LgoJICBDYXZlYXQ6IFdlIGhhdmUgbm8gd2F5IHRvIGtub3cgd2hldGhlciBhIHNwZWNpZmljIG1vZGUgd2lsbCBhY3R1YWxseSB3b3JrIGZvcgoJICB5b3VyIGhhcmR3YXJlLiBUaGVyZWZvcmUsIGlmIHlvdSB0cnkgc2VuZGluZyA0SyB2aWRlbyB0byBhIDEwODAgc2NyZWVuLCBpdAoJICB3aWxsIHNpbGVudGx5IGZhaWwsIHdlIGhhdmUgbm8gd2F5IHRvIGtub3cgdGhhdCBpbiBhZHZhbmNlLiBNYW51YWxseSBzZXR0aW5nCgkgIHRoYXQgbW9kZSBhdCBsZWFzdCBnYXZlIHRoZSB1c2VyIGEgd2F5IHRvIGRvdWJsZS1jaGVjayB3aGF0IHRoZXkgYXJlIGRvaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjAwCgoyMDE1LTEyLTE4IDEyOjI4OjIzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSAgb3BlbmN2OiB1cGRhdGUgbW90aW9uY2VsbHMgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIG1vdGlvbmNlbGxzIHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTggMTI6MjY6MTYgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IGFkZCBkZXZpY2UgcHJvcGVydHkgYXMgaXQgaXMgZG9uZSBpbiBkaXJlY3Rzb3VuZHNpbmsKCSAgVGhpcyBhbGxvd3Mgc2VsZWN0aW9uIG9mIHRoZSBkZXZpY2UgYnkgR1VJRCBpbnN0ZWFkIG9mIHRoZSBuYW1lLiBUaGUgbmFtZSBpcwoJICB1c2VyLWdpdmVuIGFuZCBtdWx0aXBsZSBkZXZpY2VzIGNhbiBoYXZlIHRoZSBzYW1lIG5hbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0ODQKCjIwMTUtMTItMTggMTI6MzY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IENvbnZlcnQgaGVhZGVyIGZyb20gKHNvbWUpIERPUyBsaW5lIGVuZGluZ3MgdG8gVU5JWAoJICBBIG1peCBiZXR3ZWVuIGRpZmZlcmVudCBsaW5lIGVuZGluZ3MgaW4gdGhlIHNhbWUgZmlsZSBpcyBub3QgYSBnb29kIGlkZWEsCgkgIGFuZCB0aGUgLmMgZmlsZXMgYXJlIGJvdGggd2l0aCBVTklYIGxpbmUgZW5kaW5ncyBzbyBsZXQncyB1c2UgdGhhdC4KCjIwMTUtMTItMTggMTA6MzA6MjUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IHNldCAtbW1hY29zeC12ZXJzaW9uLW1pbiB0byAxMC44CgkgIE90aGVyd2lzZSBxdGtpdHZpZGVvc3JjIGZhaWxzIHRvIGJ1aWxkIG9uIE9TWCAxMC4xMC40CgkgIGJlY2F1c2UgUVRLaXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSBPUyBYIDEwLjkuCgkgIEFsc28gc2V0IC1tbWFjb3N4LXZlcnNpb24tbWluPTEwLjggaW4gZnJvbnQgdG8gYWxsb3cKCSAgdGhlIHVzZXIgb3IgY2VyYmVybyB0byBvdmVycmlkZSB0aGUgdmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU2NAoKMjAxNS0xMi0xOCAxMzoxNzozNCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgZ2xtZW1vcnk6IGFkZCBnc3RfZ2xfbWVtb3J5X2FsbG9jYXRvcl9nZXRfZGVmYXVsdAoJICBBZGQgZ3N0X2dsX21lbW9yeV9hbGxvY2F0b3JfZ2V0X2RlZmF1bHQgdG8gZ2V0IHRoZSBkZWZhdWx0IGFsbG9jYXRvciBiYXNlZCBvbgoJICB0aGUgb3BlbmdsIHZlcnNpb24uIEFsbG93cyB1cyB0byBzdG9wIGhhcmRjb2RpbmcgdGhlIFBCTyBhbGxvY2F0b3Igd2hpY2ggaXNuJ3QKCSAgc3VwcG9ydGVkIG9uIGdsZXMyLgoJICBGaXhlcyBHTCB1cGxvYWQgb24gaU9TOSBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDE1LTEyLTE4IDExOjQ5OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IGRlYWRsb2NrIG9uIHJlc2l6ZQoJICBQZXJmb3JtaW5nIGFueSBHTCBmdW5jdGlvbiBtYXJzaGFsbGluZyBvZmYgdGhlIEdMIHRocmVhZCB3aXRoIGdsaW1hZ2VzaW5rJ3MKCSAgcmVuZGVyIGxvY2sgaXMgcHJvbmUgdG8gZGVhZGxvY2tzIGJldHdlZW4gdGhlIEdMIHRocmVhZCBhbmQgdGhlIG5vbi1HTCB0aHJlYWQuCgkgIFdoYXQgY2FuIGhhcHBlbiBpcyB0aGlzOgoJICAxLiBub24tR0wgdGhyZWFkIGF0dGVtcHRzIHRvIGZ1bmN0aW9uIG1hcnNoYWwgdG8gdGhlIEdMIHRocmVhZC4KCSAgMi4gd2hpbGUgMSBpcyBoYXBwZW5pbmcsIHRoZSB3aW5zeXMgZ2l2ZXMgYW4gZXZlbnQgKHNheSByZXNpemUpCgkgIDMuIFRoaXMgY2FsbHMgYmFjayBpbnRvIGdsaW1hZ2VzaW5rIHdoaWNoIHRha3MgdGhlIHJlbmRlciBsb2NrLgoJICA0LiBBcyB0aGUgR0wgZnVuY3Rpb24gbWFyc2hhbGxpbmcgaXMgYXR0ZW1wdGluZyB0byBydW4gb24gdGhlIEdMCgkgIGFuZCBhbHJlYWR5IGhhcyBnbGltYWdlc2luaydzIHJlbmRlciBsb2NrIGxvY2tlZC4gIFRoaXMgZGVhZGxvY2tzCgkgIGFzIHRoZSB0aHJlYWRzIGFyZSB3YWl0aW5nIGZvciBlYWNoIG90aGVyLgoKMjAxNS0xMi0xNyAxODoxNjo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJICBvcGVuY3Y6IHVwZGF0ZSBlZGdlZGV0ZWN0IHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBlZGdlZGV0ZWN0IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTcgMTU6NTY6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IERvbid0IGNyYXNoIHdoZW4gZGVjb2RpbmcgcmV0dXJucyBOVUxMIGRhdGEgZm9yIGFueSBjb21wb25lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk0MwoKMjAxNS0xMi0xNSAxNDoxNDozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsYmFzZW1lbW9yeTogZG9uJ3QgdW5jb25kaXRpb25hbGx5IGFkZCB0aGUgYWxpZ25tZW50IGJ5dGVzIHRvIHRoZSBzaXplCgkgIGUuZyB3aGVuIHdyYXBwaW5nIGEgZGF0YSBwb2ludGVyIHdlIGRvbid0IHdhbnQgdG8gbWFwL3VubWFwIG9mZiB0aGUgZW5kIG9mCgkgIHBvaW50ZXIgd2l0aCB0aGUgYWxpZ25tZW50IGJ5dGVzLgoJICBJbnN0ZWFkIHRyYWNrIHRoYXQgaW5mb3JtYXRpb24gc2VwYXJhdGVseSBhcyBtYXhzaXplIGlzIHVzZWQgZm9yIG1hcHBpbmcgYnkKCSAgR3N0TWVtb3J5IGFuZCB0aHVzIHJlcHJlc2VudHMgYSBzaXplIHdpdGhvdXQgYW55IGFsaWdubWVudCBwYWRkaW5nIGJ5dGVzLgoKMjAxNS0xMi0xNyAxMDo1MTozMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIG9wZW5jdjogYWRkIGJsdXIgYW5kIGJpbGF0ZXJhbCBzdXBwb3J0IGluIGN2c21vb3RoCgkgIEFkZGluZyB0aGUgc3VwcG9ydCBmb3IgdGhlIHR3byBvdGhlciBPcGVuQ1YgbGluZWFyIGZpbHRlcnMgdG8gc21vb3RoCgkgIGltYWdlcy4gVGhlIG5ldyBBUEkgZG9lcyBzdXBwb3J0IHNwYXRpYWwgc2lnbWEgaW4gdGhlIGJpbGF0ZXJhbCBmaWx0ZXIsCgkgIGhlbmNlIGJyaW5naW5nIHRoYXQgcHJvcGVydHkgYmFjay4KCSAgQWRkaW5nIHJlZmVyZW5jZSB0byBuZXcgZG9jdW1lbnRhdGlvbi4KCjIwMTUtMTItMTcgMDg6NTE6NDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCB3cm9uZyBsb2dpYyBsZWFkaW5nIHRvIG1lbW9yeSBtaXNoYW5kbGluZwoJICBXaGlsZSBlbmNvZGluZyB0aGUgZnJhbWUgaW4gQVNDSUkgbW9kZSwgcGVyIGNvbXBvbmVudCBmb3VyIGJ5dGVzIGFyZSBuZWVkZWQKCSAgYW5kIGFmdGVyIGV2ZXJ5IDIwIGJ5dGVzLCBhIFxuIHdpbGwgYmUgYWRkZWQuIFNvIHRoZSBjYWxjdWxhdGlvbiBzaG91bGQgYmUKCSAgc2l6ZSA9IHNpemUgKiAoNCArIDEgLyAyMCkuIFRoaXMgc2hvdWxkIGV4Y2x1ZGUgdGhlIGhlYWRlciBiZWluZyB3cml0dGVuLgoJICBTaW5jZSBoZWFkZXIgaXMgYWxzbyBiZWluZyBpbmNsdWRlZCBpbiB0aGUgY2FsY3VsYXRpb25zLCBtZW1vcnkgbWlzaGFuZGxpbmdzCgkgIGFyZSBoYXBwZW5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjAKCjIwMTUtMTItMTcgMTU6NTA6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBnbGJ1ZmZlcjogYWRkIGEgbmFtZSB0byB0aGUgYWxsb2NhdG9yCgoyMDE1LTEyLTE3IDE1OjIzOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbCptZW1vcnkqOiByZXZlcnNlIHRoZSBwYXJhbWV0ZXIgb3JkZXIgb2YgdXNlcl9kYXRhIGFuZCBkZXN0cm95IG5vdGlmeQoJICBUaGUgY29udmVudGlvbiBpcyB0byBoYXZlIHRoZSBkZXN0cm95IG5vdGlmeSBsYXN0IGFmdGVyIGFueSB1c2VyIGRhdGEKCjIwMTUtMTItMTcgMTU6MDc6MzMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIG9uIGlPUwoJICBGaXggYnVpbGQgYWZ0ZXIgNzc5ZGMzMTMyYzhmNmRkNTYwY2IwN2NjMmUyYzNjNzJhZWFhNzg0NQoKMjAxNS0xMi0xNyAxNDo0OToxMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogZG8gZml4YXRlCgoyMDE1LTEyLTE2IDE4OjQxOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbG1lbW9yeXBibzogcmVtb3ZlIG91ciBvd24gYWxsb2MoKS93cmFwcGVkKCkvZXRjIGZ1bmN0aW9ucwoJICByZXBsYWNlZCBieSBlcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkgd2l0aGluIGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYygpCgoyMDE1LTEyLTE2IDE4OjM5OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGRvY3VtZW50IGdzdF9nbF9tZW1vcnlfaW5pdAoKMjAxNS0xMi0xNiAxODozODoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbGJ1ZmZlcjogcmVtb3ZlIHVubmVlZGVkIGdzdF9nbF9idWZmZXJfYWxsb2MoKQoJICBSZXBsYWNlZCBieSBnc3RfZ2xfYmFzZV9tZW1vcnlfYWxsb2MoKQoKMjAxNS0xMi0xNiAxODozNzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IGRvY3VtZW50IHNvbWUgZnVuY3Rpb25zCgoyMDE1LTEyLTE2IDE4OjM2OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBhIGRlZmF1bHQgY29weSBpbXBsZW1lbnRhdGlvbgoJICBTdWJjbGFzc2VzIHN0aWxsIG5lZWQgdG8gb3ZlcnJpZGUgdGhpcyB0byBjb3B5IGludG8gdGhlIGNvcnJlY3QgbWVtb3J5IHR5cGUuCgoyMDE1LTEyLTE2IDE4OjMyOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2xidWZmZXJwb29sOiB1c2UgZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jIGFzIGEgZ2VuZXJpYyBHTCBhbGxvY2F0aW9uIGZyYW1ld29yawoJICBSZXF1aXJlcyB0aGUgdXNhZ2Ugb2YgR3N0R0xWaWRlb0FsbG9jYXRpb25QYXJhbXMgaG93ZXZlciBhbnkgdXNlciBjYW4gc2V0IHRoZWlyCgkgIG93biBwYXJhbWV0ZXJzIGFsb25nIHdpdGggYW4gYWxsb2NhdG9yIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBhbGxvY2F0ZSB0aGUKCSAgY29ycmVjdCBtZW1vcnkgdHlwZS4KCjIwMTUtMTItMTYgMTg6MzA6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSAgZ2xtZW1vcnlwYm86IGltcGxlbWVudCBHc3RHTEJhc2VNZW1vcnk6YWxsb2MKCSAgVXNlcyB0aGUgR3N0R0xWaWRlb0FsbG9jYXRpb25QYXJhbXMgcGFyYW1ldGVycwoKMjAxNS0xMi0xNiAxODoyMzozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJICBnbGJ1ZmZlcjogaW1wbGVtZW50cyBHc3RHTEJhc2VNZW1vcnk6OmFsbG9jCgkgIENyZWF0ZSBHc3RHTEJ1ZmZlckFsbG9jYXRpb25QYXJhbXMgd2hpY2ggaXMgc3ViY2xhc3Mgb2YgR3N0R0xBbGxvY2F0aW9uUGFyYW1zCgoyMDE1LTEyLTE2IDE4OjIwOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgZ2xtZW1vcnk6IGltcGxlbWVudCBHc3RHTEJhc2VNZW1vcnk6OmFsbG9jCgkgIC0gQ3JlYXRlIEdzdEdMVmlkZW9BbGxvY2F0aW9uUGFyYW1zIHdoaWNoIGlzIGEgR3N0R0xBbGxvY2F0aW9uUGFyYW1zIHN1YmNsYXNzLgoJICAtIE1ha2UgaXQgcG9zc2libGUgdG8gYWxsb2NhdGUgZ2xtZW1vcnkgb2JqZWN0cyBkaXJlY3RseSBpZiBubyBmcmlsbHMgYXJlCgkgIG5lZWRlZC4KCjIwMTUtMTItMTYgMTg6MTM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbGJhc2VtZW1vcnk6IGFkZCBhIGdlbmVyaWMgaW50ZXJmYWNlIGZvciBhbGxvY2F0aW5nIEdMIG1lbW9yaWVzCgkgIFRoaXMgaXMgbWFkZSBwb3NzaWJsZSBieSBhIHN1YmNsYXNzYWJsZSBHc3RHTEFsbG9jYXRpb25QYXJhbXMgdGhhdCBob2xkcwoJICB0aGUgYWxsb2NhdGlvbiBwYXJhbWV0ZXJzCgkgIEV2ZXJ5IGFsbG9jYXRpb24gd291bGQgbm93IGdvIHRocm91Z2ggZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jIHdpdGggdGhlCgkgIGFsbG9jYXRpb24gcGFyYW1ldGVycyBub3cgYmVpbmcgc3BlY2lmaWVkIGluIGEgc2luZ2xlIHN0cnVjdCB0byBhbGxvdwoJICBleHRlbnNpb24gYnkgZGlmZmVyZW50IGFsbG9jYXRvcnMuCgoyMDE1LTEyLTE3IDEyOjMwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIHJldmVydCBjb21tb24gc3VibW9kdWxlIGNoYW5nZQoJICA4YWUwMDMzMjYxNTc0MzhjMTJjNDU1ODllMDUwYzVmNDQ2NzIzZjYxIGNvbnRhaW5lZCBhIGVycm9uZW91cyBjb21tb24gY2hhbmdlCgoyMDE1LTEyLTE3IDExOjA2OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgUmV2ZXJ0ICJnbGJ1ZmZlcjogRG9uJ3QgcGFzcyBhbGxvY2F0aW9uIHBhcmFtcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNTJmNDFlNWMyOTNlYzE3YzAzODQ2N2VkMWU3YjkyYjA0ZDQ5NGIwLgoJICBUaGlzIGlzIGluY29ycmVjdCBhbmQgd2lsbCBhZmZlY3QgYW55IG90aGVyIGdsYnVmZmVyIHVzZXIgdGhhdCBuZWVkcy93YW50cyB0bwoJICBwZXJmb3JtIGRhdGEgYWxpZ25tZW50LgoKMjAxNS0xMi0xNiAxOToyMToyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJICBvcGVuY3Y6IGFkZCBtZWRpYW5CbHVyIHN1cHBvcnQgaW4gY3ZzbW9vdGgKCSAgV2l0aCB0aGUgZGVwcmVjYXRpb24gb2YgY3ZTbW9vdGggd2UgaGF2ZSB0byBoYW5kbGUgdGhlIG90aGVyIHNtb290aGluZwoJICBmdW5jdGlvbnMgbWFudWFsbHkuCgoyMDE1LTEyLTE2IDE4OjM3OjM3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSAgb3BlbmN2OiBzd2l0Y2ggZGVwcmVjYXRlZCBjdlNtb290aCBmb3IgR2F1c3NpYW5CbHVyCgkgIFRoZSBPcGVuQ1YgY3ZTbW9vdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBbMF0gYW5kIHRoZSBkb2N1bWVudGF0aW9uCgkgIHJlY29tbWVuZHMgdG8gdXNlIEdhdXNzaWFuQmx1ciAoKS4gVGhpcyBtYWtlcyB0aGUgc3BhdGlhbCBwcm9wZXJ0eSBnbwoJICB1bnVzZWQuIE1hcmtpbmcgaXQgYXMgZGVwcmVjYXRlZCwgbWFraW5nIGl0IG5vbi1mdW5jdGlvbmFsIGFuZCB3aWxsIHJlbW92ZQoJICBpbiB0aGUgbmV4dCBjeWNsZS4KCSAgWzBdIGh0dHA6Ly9kb2NzLm9wZW5jdi5vcmcvMi40L21vZHVsZXMvaW1ncHJvYy9kb2MvZmlsdGVyaW5nLmh0bWwKCjIwMTUtMTItMTYgMTE6NTY6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBnbGJ1ZmZlcjogRG9uJ3QgcGFzcyBhbGxvY2F0aW9uIHBhcmFtcwoJICBUaGUgaW1wb3J0ZWQgbWVtb3J5IGhhcyBhbHJlYWR5IGJlZW4gYWxsb2NhdGVkLCBwYXNzaW5nIGFsbG9jYXRpb24KCSAgcGFyYW1ldGVycyB3aXRoIGFsaWdubWVudCBjb25mdXNlcyB0aGUgbWVtb3J5IHdoaWNoIGVuZHVwIHdpdGggYQoJICBzaXplIGRpZmZlcmVudCBmcm9tIG1heHNpemUgYW5kIGxlYWQgdG8gb3ZlcnJ1biB3aGVuIHRoZSBtZW1vcnkKCSAgaXMgYmVpbmcgY29waWVkLgoKMjAxNS0xMi0xNiAxMzo1OToxOCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIHZhbGlkYXRpb24gb2YgVVRDdGltaW5nIGVsZW1lbnQKCSAgZ3N0X21wZHBhcnNlcl9wYXJzZV91dGN0aW1pbmdfbm9kZSBkb2VzIG5vdCB2YWxpZGF0ZSB0aGUgcGFyc2VkIHZhbHVlcyBjb21wbGV0ZWx5LiBUaGUgZm9sbG93aW5nIHNjZW5hcmlvcyBhcmUgaW5jb3JyZWN0bHkgYWNjZXB0ZWQ6CgkgIC0gZWxlbWVudHMgd2l0aCBubyBzY2hlbWVJZFVyaSBwcm9wZXJ0eSBzaG91bGQgYmUgcmVqZWN0ZWQKCSAgLSBlbGVtZW50cyB3aXRoIHVucmVjb2duaXplZCBVVENUaW1pbmcgc2NoZW1lIHNob3VsZCBiZSByZWplY3RlZAoJICAtIGVsZW1lbnRzIHdpdGggZW1wdHkgdmFsdWVzIHNob3VsZCBiZSByZWplY3RlZAoJICBUaGUgbGFzdCBvbmUgdHJpZ2dlcnMgYSBkaXZpc2lvbiBieSAwIGluIGdzdF9kYXNoX2RlbXV4X3BvbGxfY2xvY2tfZHJpZnQ6CgkgIGNsb2NrX2RyaWZ0LT5zZWxlY3RlZF91cmwgPSBjbG9ja19kcmlmdC0+c2VsZWN0ZWRfdXJsICUgZ19zdHJ2X2xlbmd0aCAodXJscyk7CgkgIGJlY2F1c2UgaXQgdXJscyBpcyBhIHZhbGlkIHBvaW50ZXIgdG8gYW4gZW1wdHkgYXJyYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1NDcKCjIwMTUtMTItMTYgMTA6NDE6NDcgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2xvY2tfY29uZCBpcyBub3QgdXNlZCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQKCSAgVGhlcmUgYXJlIG5vIHRocmVhZHMgd2FpdGluZyBvbiBjbG9ja19jb25kLiBJdCBpcyBqdXN0IGluaXRpYWxpc2VkIGFuZAoJICBzaWduYWxsZWQuIEl0IHNob3VsZCBiZSByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM3CgoyMDE1LTEyLTE2IDEwOjIzOjIzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCBjbG9jayBjb21wZW5zYXRpb24gaW4gZ2V0X2ZyYWdtZW50X3dhaXRpbmdfdGltZQoJICBDbG9jayBjb21wZW5zYXRpb24gaXMgY2FsY3VsYXRlZCBpbiB1c2VjIGJ1dCBpcyBhZGRlZCB0byBhIEdzdENsb2NrVGltZSB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzNAoKMjAxNS0xMi0xNiAxMDoyMTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBMaW5rIHRvIElPU3VyZmFjZS5mcmFtZXdvcmsgZm9yIHRoZSBJT1N1cmZhY2UgQVBJCgoyMDE1LTEyLTE1IDE3OjEwOjAwICswMDAwICBEYXZlIENyYWlnIDxkYXZlY3JhaWdAdW5iYWxhbmNlZGF1ZGlvLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IENoZWNrIGZvciBOVUxMIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTAzCgoyMDE1LTEyLTE2IDE0OjMyOjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBGaXggdmFsdWUgbWVtb3J5IGxlYWsKCSAgZ3ZhbHVlIHZhcmlhYmxlIHNob3VsZCBiZSB1bnNldCBpbnN0ZWFkIG9mIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTI1CgoyMDE1LTEyLTE2IDE0OjI5OjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBGaXggdmFsdWUgbWVtb3J5IGxlYWsKCSAgZ3ZhbHVlIHZhcmlhYmxlIHNob3VsZCBiZSB1bnNldCBpbnN0ZWFkIG9mIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIzCgoyMDE1LTEyLTE2IDEzOjA4OjIyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBGaXggc2Nhbm5lciBtZW1vcnkgbGVhawoJICBGb3IgY29ycnVwdGVkIGZpbGVzLCBzY2FubmVyIG1lbW9yeSBpcyBiZWluZyBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjIKCjIwMTUtMTItMTYgMTM6MDY6NDUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgSW4gY2FzZSBvZiBjb3JydXB0ZWQgZmlsZSwgcy0+YnVmIGFsbG9jYXRlZCBpcyBub3QgYmVpbmcgZnJlZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMgoKMjAxNS0xMi0xNiAwOTowNTo0MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogRml4IHN0cmluZyBtZW1vcnkgbGVhawoJICBoZWFkZXIgYmVpbmcgYWxsb2NhdGVkIGlzIG5vdCBmcmVlZCByZXN1bHRpbmcgaW4gbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIwCgoyMDE1LTEyLTE2IDA4OjUyOjEyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIG91dGJ1ZmZlciBiZWluZyBhbGxvY2F0ZWQgaXMgbm90IGJlaW5nIHB1c2hlZCB0byBxdWV1ZSBmb3IgRU9TIGV2ZW50IGFuZCBoZW5jZQoJICBzaG91bGQgYmUgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MTkKCjIwMTUtMTItMTYgMDk6Mzk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB0byBJT0tpdC5mcmFtZXdvcmsgZm9yIElPU3VyZmFjZSByZWxhdGVkIGZ1bmN0aW9ucwoKMjAxNS0xMi0xNiAwOTozMzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkgIGRvY3M6IHVwZGF0ZSB0byBnaXQKCjIwMTUtMTItMTYgMDg6MjU6MTkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QveWFkaWYvdmZfeWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MKCSAgV2hlbiBhcHBseWluZyB0aGUgc3BhdGlhbCBwcmVkaWN0aW9uLCB0aGVyZSBpcyBhbiBpbGxlZ2FsIGFjY2VzcyBvZiAtMSBpbmRleCBvZiBhcnJheS4KCSAgSGVuY2UgYWRkaW5nIGEgY29uZGl0aW9uIHRvIGF2b2lkIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MTgKCjIwMTUtMTItMTYgMDg6MjI6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBndmFsdWUgbWVtb3J5IGxlYWsKCSAgZ3ZhbHVlIHZhcmlhYmxlIHNob3VsZCBiZSB1bnNldCBpbnN0ZWFkIG9mIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTE4CgoyMDE1LTEyLTE2IDE3OjAyOjI3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggdGV4dHVyZS10YXJnZXQgb24gaU9TCgoyMDE1LTEyLTE2IDE1OjIwOjMwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW1vdmUgb2Jzb2xldGUgRklYTUUKCjIwMTUtMTItMTYgMTQ6Mzg6NDQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IHJld29yayBHTE1lbW9yeSBuZWdvdGlhdGlvbgoJICBPbmx5IGRvIEdMTWVtb3J5IHdoZW4gYSBHc3RHTENvbnRleHQgaXMgYXZhaWxhYmxlIEFORCBHTE1lbW9yeSBpcyBhY3R1YWxseQoJICBuZWdvdGlhdGVkIHdpdGggZG93bnN0cmVhbS4KCjIwMTUtMTItMTYgMTM6NDc6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IHVwZGF0ZSBhZnRlciBJT1N1cmZhY2UgY2hhbmdlcwoJICBQcmVmZXIgR0xNZW1vcnkgb3ZlciBzeXNtZW0uIEFsc28gbm93IHdoZW4gcHVzaGluZyBHTE1lbW9yeSB3ZSBwdXNoIHRoZQoJICBvcmlnaW5hbCBmb3JtYXRzIChVWVZZIGluIE9TWCwgQkdSQSBpbiBpT1MpIGFuZCBsZWF2ZSBpdCB0byBkb3duc3RyZWFtIHRvCgkgIGNvbnZlcnQuCgoyMDE1LTEyLTE0IDE2OjEwOjAxICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW1vdmUgdGhlIGludGVybmFsIEdzdEdMQ29sb3JDb252ZXJ0CgkgIEl0IHdhcyBhZGRlZCBiYWNrIGluIHRoZSBkYXkgdG8gbWFrZSB0ZXh0dXJlIHNoYXJpbmcgd29yayBieSBkZWZhdWx0IHdpdGgKCSAgZ2xpbWFnZXNpbmsgaW5zaWRlIHBsYXliaW4uIFRoZXNlIGRheXMgZ2xpbWFnZXNpbmsgYWNjZXB0cyAoYW5kIGNvbnZlcnRzKSBZVVYKCSAgaW50ZXJuYWxseSBzbyBpdCdzIG5vIGxvbmdlciBuZWVkZWQuCgoyMDE1LTEyLTE0IDE0OjIzOjIwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBkZWNvdXBsZSBvdXRwdXR0aW5nIHRleHR1cmVzIGZyb20gb3V0cHV0dGluZyBSR0JBCgkgIFdlJ3JlIGdvaW5nIHRvIGJlIGFibGUgdG8gb3V0cHV0IE5WMTIgdGV4dHVyZXMgc29vbi4KCjIwMTUtMTItMTEgMTM6MjA6MDUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc3dpdGNoIHRvIElPU3VyZmFjZSBvbiBNYWMKCSAgU3dpdGNoIHRvIHVzaW5nIElPU3VyZmFjZSBpbnN0ZWFkIG9mIENWT3BlbkdMVGV4dHVyZUNhY2hlIG9uIE9TWC4gVGhlIGxhdHRlciBjYW4ndCBiZQoJICB1c2VkIGFueW1vcmUgdG8gZG8gWVVWID0+IFJHQiB3aXRoIG9wZW5nbDMgb24gRWwgQ2FwaXRhbiBhcyBHTF9ZQ0JDUl80MjJfQVBQTEUKCSAgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBvcGVuZ2wzIGRyaXZlci4gQWxzbyBzd2l0Y2ggdG8gTlYxMiBmcm9tIFVZVlksIHdoaWNoCgkgIHdhcyB0aGUgb25seSBZVVYgZm9ybWF0IHN1cHBvcnRlZCBieSBDVk9wZW5HTFRleHR1cmVDYWNoZS4KCjIwMTUtMTItMTAgMTY6MjI6MDggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmVuYW1lIEdzdENvcmVWaWRlb1RleHR1cmVDYWNoZSB0byBHc3RWaWRlb1RleHR1cmVDYWNoZQoJICBGaXJzdCBvZiBhIGZldyBjb21taXRzIHRvIHN0b3AgdXNpbmcgQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUgb24gT1NYIGFuZCB1c2UKCSAgSU9TdXJmYWNlcyBkaXJlY3RseSBpbnN0ZWFkLiBDVk9wZW5HTFRleHR1cmVDYWNoZSBoYXNuJ3QgYmVlbiB1cGRhdGVkIGZvciBPcGVuR0wKCSAgMyB3aGljaCBpcyB3aHkgdGV4dHVyZSBzaGFyaW5nIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBvbiBPU1guCgoyMDE1LTExLTE3IDE5OjMxOjUzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIFJldmVydCAidnRkZWM6IGRpc2FibGUgdGhlIHRleHR1cmUgY2FjaGUgb24gT1NYIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGYwMjQyNWM0YWZjZDg1MjYwYTFiMzg3YWVkZGY4NjM3NzQyNTc5MTcuCgoyMDE1LTEyLTE1IDE0OjE3OjE2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IGFsbG9jYXRvciBuYW1lIGFmdGVyIEdMTWVtb3J5IEFQSSBjaGFuZ2VzCgoyMDE1LTEyLTE1IDE5OjI4OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0c2luazogQWRkIGNvbmZpZ3VyZWQgR0wgY2ZsYWdzIHRvIHRoZSBidWlsZAoJICBXZSBkb24ndCBkaXJlY3RseSBsaW5rIHRvIEdMIGluIHRoZSBlbGVtZW50LCB0aG91Z2ggd2UgdXNlIEdMIGhlYWRlcnMuCgkgIEZvciB0aGlzIHJlYXNvbiB3ZSBuZWVkIHRvIGluY2x1ZGUgdGhlIHByb3BlciBHTCBoZWFkZXJzIHBhdGguIFRoaXMKCSAgcHJldmVudCB0aGlzIGVsZW1lbnQgZnJvbSB1c2luZyBhIGRpZmZlcmVudCBHTCBoZWFkZXIgdGhlbiBsaWJnc3RnbC4KCjIwMTUtMTItMTUgMTk6MjU6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBBbGxvdyB1c2luZyBub24tc3lzdGVtIG1lc2Egd2l0aCBib3RoIEdMIGFuZCBHTEVTCgkgIEdDQyBhdXRvbWF0aWNhbGx5IGRpc2FibGUgcmVkdW5kYW5jZSB3YXJuaW5ncyBmb3Igc3lzdGVtIGhlYWRlcnMuIEFzCgkgIHNvb24gYXMgd2Ugc3RhcnQgdXNpbmcgYSBub24tc3lzdGVtIGluc3RhbGxlZCBtZXNhLCB3ZSB3b3VsZCBzdGFydAoJICBoYXZpbmcgaXNzdWVzLiBUaGUgdGVzdCBmb3IgYm90aCB3YXNuJ3Qgc2V0dGluZyBhbnkgZmxhZ3MsIHNvIGl0IHdvdWxkCgkgIHdvcmsgYnV0IHRoZW4gZmFpbCBhdCBydW50aW1lLgoJICBUaGlzIGlzIGJlaW5nIGZpeGVkIGJ5IGRpc2FibGluZyBpbiB0aGUgY29kZSAod2hlcmUgbmVlZGVkIG9ubHkpIHRoYXQKCSAgR0NDIHdhcm5pbmcuIFRoZSB0ZXN0IGlzIGFsc28gZml4ZWQgdG8gYXZvaWQgdGhlIGZhbHNlIHBvc2l0aXZlIHdlIGhhZC4KCjIwMTUtMTItMTUgMTU6NTk6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSAgb3BlbmN2OiBweXJhbWlkc2VnbWVudDogZml4IGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgVXNlIHZpZGVvdGVzdHNyYyBhbmQgYXV0b3ZpZGVvc2luayBpbiB0aGUgZXhhbXBsZSBnc3QtbGF1bmNoLTEuMCBsaW5lIGFuZAoJICBub3QgYSB1c2VsZXNzIGZha2VzcmMtZmFrZXNpbmsgZXhhbXBsZS4KCjIwMTUtMTItMTUgMTU6NTY6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkgIG9wZW5jdjogYWRkIGhlYWRlcnMgd2l0aCBleGFtcGxlIGxhdW5jaCBsaW5lcwoJICBBZGQgZGVzY3JpcHRpb24gaGVhZGVycyBmb3IgYWxsIHRoZSBPcGVuQ1YgcGx1Z2lucyBtaXNzaW5nIHRoZW0sIHNvIHdlIGNhbgoJICBoYXZlIGdzdC1sYXVuY2gtMS4wIGV4YW1wbGUgbGF1bmNoIGxpbmVzIGZvciBhbGwgb2YgdGhlbS4KCjIwMTUtMTItMTQgMTY6NDg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmdsOiBVc2UgcGtnLWNvbmZpZyBpZiBhdmFpbGFibGUKCSAgbGliTWVzYSBzaGlwcyAucGMgZmlsZXMgbm93IGZvciBnbC9lZ2wvZ2xlc3YyLiBUaGlzIHBhdGNoIG1ha2VzIHVzZQoJICBvZiBpdCB3aGlsZSBrZWVwaW5nIHN1cHBvcnQgZm9yIHN5c3RlbSB3aXRob3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDY4CgoyMDE1LTEyLTE1IDExOjU5OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGhlYWRlcnMgd2l0aCBleGFtcGxlIGxhdW5jaCBsaW5lcwoJICBBZGQgZGVzY3JpcHRpb24gaGVhZGVycyBmb3IgYWxsIGdlb21ldHJpY3RyYW5zZm9ybSBlbGVtZW50cyBzbyB3ZSBjYW4gaGF2ZQoJICBnc3QtbGF1bmNoLTEuMCBleGFtcGxlIGxhdW5jaCBsaW5lcyBmb3IgYWxsIG9mIHRoZW0uCgoyMDE1LTEyLTE0IDExOjA5OjQ2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5MjoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dkcC9SRUFETUU6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kdmIvUkVBRE1FOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIHBsdWdpbnMtYmFkOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgcmVuYW1lIGdzdC1sYXVuY2ggLS0+IGdzdC1sYXVuY2gtMS4wCgkgIHJlcGxhY2Ugb2xkIGVsZW1lbnRzIHdpdGggbmV3IGVsZW1lbnRzKGZmbXBlZ2NvbG9yc3BhY2UgLT4gdmlkZW9jb252ZXJ0LCBmZmVuY18qKiAtPiBhdmVuY18qKikKCSAgZml4IGNhcHMgaW4gZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQzMgoKMjAxNS0xMi0xNCAxNTowMTowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgaWdub3JlOiB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwgdGVzdAoKMjAxNS0xMi0xNCAxNDo0NDozMSAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5oOgoJICBiYWQ6IEFkZCBnX2F1dG9wdHIoKSBzdXBwb3J0IHRvIGFsbCB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY0CgoyMDE1LTEyLTE0IDEyOjMxOjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogY2hlY2sgcG9pbnRlciBiZWZvcmUgZGVyZWZlcmVuY2luZwoJICBwcml2LT5wcmltYXJ5X291dCBjb3VsZCBiZSBOVUxMLCBjaGVjayBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdCBpbgoJICBHU1RfQlVGRkVSX0ZMQUdfU0VUICgpCgkgIENJRCAxMzA4OTQ1CgoyMDE1LTEyLTE0IDEzOjQzOjEwICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkgIHZpZGVvZnJhbWUtYXVkaW9sZXZlbDogRml4IHBvc3NpYmxlIGRpdmlzaW9uIGJ5IHplcm8KCSAgSW4gdXBkYXRlX3Jtc19mcm9tX2J1ZmZlcigpLCBkaXZpc2lvbiBieSAiZnJhbWVzIiB3YXNuJ3QgY2hlY2tpbmcgd2hldGhlcgoJICAiZnJhbWVzIiBpcyB6ZXJvLgoJICBDSUQgMTM0MTUxOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQ0MwoKMjAxNS0xMi0xNCAwOTozODo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIGNsdXR0ZXI6IEZpeCBjb21waWxhdGlvbiBlcnJvciBpbiBHTCBleGFtcGxlcwoJICBJbmNsdWRlIGdzdC9nbC5oIGluc3RlYWQgb2Ygc3BlY2lmaWMgaGVhZGVycyB0byBwcmV2ZW50IHN1Y2ggcHJvYmxlbXMgYWxzbyBpbgoJICB0aGUgZnV0dXJlLgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6NDc6MCwKCSAgZnJvbSAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6MTM3LAoJICBmcm9tIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOjI5LAoJICBmcm9tIGNsdXR0ZXJzaGFyZS5jOjM5OgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDo1MToyMDogZXJyb3I6IGZpZWxkIOKAmG1lbeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCgkgIEdzdEdMTWVtb3J5ICAgICAgbWVtOwoJICBeCgkgIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOjEyNDoyNDogZXJyb3I6IGZpZWxkIOKAmHBhcmVudOKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCgkgIEdzdEdMTWVtb3J5QWxsb2NhdG9yIHBhcmVudDsKCSAgXgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoxMzQ6Mjk6IGVycm9yOiBmaWVsZCDigJhwYXJlbnRfY2xhc3PigJkgaGFzIGluY29tcGxldGUgdHlwZQoJICBHc3RHTE1lbW9yeUFsbG9jYXRvckNsYXNzIHBhcmVudF9jbGFzczsKCSAgXgoKMjAxNS0xMi0xNCAxOToxODoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3IgR0xNZW1vcnkgQVBJIGNoYW5nZXMKCjIwMTUtMTItMTQgMTk6MTU6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IHVwZGF0ZSBmb3IgR0xNZW1vcnkgQVBJIGNoYW5nZXMKCjIwMTUtMTItMTQgMTg6NDE6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnbG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxNS0xMi0xNCAxODoyMDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkgIGdsYnVmZmVyOiBiaW5kL3VuYmluZCBvbiBtYXAvdW5tYXAgZm9yIEdMIG1hcHBpbmdzCgkgIEJpbmQgdGhlIGhhbmRsZSB0byB0aGUgR0wgdGFyZ2V0IG9uIG1hcC91bm1hcCB0byBzYXZlIHRoZSBjYWxsZXIgZnJvbQoJICBoYW5kbGluZyB0aGlzIHRoZW1zZWx2ZXMuCgoyMDE1LTEyLTE0IDE4OjE5OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkgIGdsYnVmZmVyOiByZW1vdmUgYnVmZmVyIHNwZWNpZmljIHRyYW5zZmVyIGZsYWdzCgkgIEluc3RlYWQgcmVseSBvbiBHc3RHTEJhc2VNZW1vcnkncyB0cmFuc2ZlciBoYW5kbGluZwoKMjAxNS0xMi0xNCAxODoxODoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBtYXAvdW5tYXAgcGJvIG1lbW9yeSBjb3JyZWN0bHkgZm9yIHN0YXRlIHRyYWNraW5nCgkgIE90aGVyd2lzZSBzb21lIGRvd25sb2FkcyB3aWxsIGZhaWwgdG8gb2NjdXIgZnJvbSB0aGUgUEJPLgoKMjAxNS0xMi0xNCAxODoxNTo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICB0ZXN0cy9nbG1lbW9yeTogaW5jbHVkZSB0aGUgZ2VuZXJpYyBnbCBoZWFkZXIKCSAgSW5jbHVkaW5nIGdzdGdsbWVtb3J5LmggZGlyZWN0bHkgcmVzdWx0cyBpbiB0aGUgY29tcGlsZXIgY29tcGxhaW5pbmcKCSAgYWJvdXQgaW5jb21wbGV0ZSB0eXBlcy4KCjIwMTUtMTItMTQgMTc6MDU6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJICBnbGZvcm1hdDogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMgZm9yIE9FUy9yZWN0YW5nbGUgdGV4dHVyZXMKCjIwMTUtMTItMTQgMTM6NDk6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xiYXNlYnVmZmVyOiByZW1vdmUgdW5zZWQgbWVtb3J5IHN1YmNsYXNzCgkgIFRoZSBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIHNwbGl0IGludG8gR3N0R0xCYXNlTWVtb3J5IGFuZCBHc3RHTEJ1ZmZlci4KCjIwMTUtMTItMTQgMTM6NDM6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYmFzZSBjbGFzc2lmeSBhbmQgYWRkIHRoZSBwYm8gbWVtb3J5IG9uIHRvcAoJICBUaGUgYmFzZSBjbGFzcyBpcyB1c2VmdWwgZm9yIGhhdmluZyBtdWx0aXBsZSBiYWNraW5nIG1lbW9yeSB0eXBlcyBvdGhlcgoJICB0aGFuIHRoZSBkZWZhdWx0LiAgZS5nLiBJT1N1cmZhY2UsIEVHTEltYWdlLCBkbWFidWY/CgkgIFRoZSBQQk8gdHJhbnNmZXIgbG9naWMgaXMgbm93IGluc2lkZSBHc3RHTE1lbW9yeVBCTyB3aGljaCB1c2VzIEdzdEdMQnVmZmVyCgkgIHRvIG1hbmFnZSB0aGUgUEJPIG1lbW9yeS4KCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSBmb3JtYXQgdXRpbGl0eSBmdW5jdGlvbnMgaW50byB0aGVpciBvd24gZmlsZS4KCjIwMTUtMTItMTQgMTM6MDg6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGFkZCBhIEdMIGJ1ZmZlciBiYXNlZCBHc3RNZW1vcnkKCSAgSGVhdmlseSBiYXNlZCBvbiBHc3RHTEJhc2VCdWZmZXIgdGhhdCBpcyBhIHN1YmNsYXNzIG9mIEdzdEdMQmFzZU1lbW9yeS4KCSAgUHJvdmlkZXMgR1BVIGFuZCBDUFUgYWNjZXNzaWJsZSBHTCBidWZmZXIgb2JqZWN0cyBieSBHTCBoYW5kbGUgb3IgYnkKCSAgc3lzbWVtIGRhdGEgcG9pbnRlci4KCjIwMTUtMTItMTQgMTI6NTk6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsOiBhZGQgYSBiYXNlIG1lbW9yeSBvYmplY3QKCSAgSXQgaGFuZGxlcyB0aGUgZm9sbG93aW5nCgkgIC0gR3N0QWxsb2NhdGlvblBhcmFtcyAtPiBnc3RfbWVtb3J5X2luaXQgdHJhbnNmb3JtYXRpb24KCSAgLSBNYWtlcyBzdXJlIHRoYXQgbWFwL3VubWFwL2NyZWF0ZS9kZXN0cm95IGhhcHBlbiBvbiB0aGUgR0wgdGhyZWFkIHdpdGgKCSAgYSBHTCBjb250ZXh0IGN1cnJlbnQuCgkgIC0gSG9sZHMgYSBwb3NzaWJsZSBzeXNtZW0gYWNjZXNzaWJsZSBkYXRhIHBvaW50ZXIgd2l0aCBhbGlnbm1lbnQuCgkgIC0gSG9sZHMgdGhlIG5lZWQgdXBsb2FkL2Rvd25sb2FkIHRyYW5zZmVyIHN0YXRlCgoyMDE1LTEyLTE0IDEyOjI2OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciB0aGUgc3RhcnQgb2YgYSB2aWRlbyBmcmFtZQoJICBHZXQncyB0aGUgc3RhcnQgb2YgdGhlIHZpZGVvIGZyYW1lIGJhc2VkIG9uIGEgR3N0VmlkZW9JbmZvIGFuZAoJICBHc3RWaWRlb0FsaWdubWVudC4KCjIwMTUtMTItMTEgMTY6MDc6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWRtZXRhOyByZW1vdmUgY29udmVuaWVuY2UgaGVscGVyIEFQSQoJICBJdCB3YXMgbm90IHJlYWxseSB1c2VmdWwgYXMgaWYgb25lIGtub3dzIGFib3V0IGxpYmdzdGdsLCBvbmUgY2FuIGp1c3QgdXNlCgkgIEdMTWVtb3J5IG9iamVjdHMgZGlyZWN0bHkuCgoyMDE1LTEyLTExIDE1OjM5OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIGdsZG93bmxvYWQ6IHJlbW92ZSBoZWxwZXIgYXBpIGZyb20gdGhlIGxpYnJhcnkKCSAgSXQgd2FzIG5ldmVyIHVzZWQgYnkgYW55b25lIGFuZCBpcyBub3QgbmVlZGVkIGFueW1vcmUgd2l0aCB0aGUgZWxlbWVudAoJICBhbmQgR3N0R0xNZW1vcnkncyB0cmFuc3BhcmVudCBzdXBwb3J0IGZvciBkb3dubG9hZGluZyB0ZXh0dXJlcy4KCjIwMTUtMTItMTIgMjA6MDc6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IGNsZWFuIGluY2x1ZGVzCgkgIFRoZSBvcGVuY3YgZWxlbWVudCBpbmNsdWRlcyB3ZXJlIGZ1bGwgb2YgZHVwbGljYXRlcyBhbmQgdW5lZWRlZCBoZWFkZXJzLgoJICBGb3IgZXhhbXBsZSBhIGZldyBlbGVtZW50cyB0aGF0IHN0b3BwZWQgdXNpbmcgZ3N0Y3ZvcGVuY3Z1dGlscyBzdGlsbAoJICBpbmNsdWRlZCB0aGF0IGhlYWRlciBmaWxlLgoKMjAxNS0xMi0xMiAxOTozMTo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIG9wZW5jdjogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgaW4gZ3N0b3BlbmN2dXRpbHMKCSAgU2luY2UgY29tbWl0IDQ1Y2E4ODc2YjJmNTI2N2Y3ZWRiODQyYjZkNTZkN2E2YzI3MWNjYjMgbm9ib2R5IGlzIHVzaW5nCgkgIGdzdF9vcGVuY3ZfZ2V0X2lwbF9kZXB0aF9hbmRfY2hhbm5lbHMoKSBvcgoJICBnc3Rfb3BlbmN2X3BhcnNlX2lwbGltYWdlX3BhcmFtc19mcm9tX3N0cnVjdHVyZSgpLiBSZW1vdmUgdGhpcyBkZWFkCgkgIGNvZGUuCgoyMDE1LTEyLTEyIDE5OjEzOjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFJlbW92ZSB1bnVzZWQgaW5jbHVkZXMKCjIwMTUtMTItMTIgMTA6MDY6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgcmV2ZXJ0IGNvbW1vbiBzdWJtb2R1bGUgY2hhbmdlCgoyMDE1LTEyLTEyIDA5OjMzOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGNsZWFyIHRvIHRyYW5zcGFyZW50CgkgIE90aGVyd2lzZSBjb21wb3NpdGlvbiB3aWxsIHJlc3VsdCBpbiBhIGJsYWNrIGZyYW1lIG91dHNpZGUgdGhlIHRyYW5zZm9ybWVkCgkgIHZpZGVvLgoKMjAxNS0xMi0xMSAxMTozOTowOCArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDaGVjayByZXR1cm4gdmFsdWVzIG9mIERpcmVjdFNvdW5kIGZ1bmN0aW9ucyBpbiByZWFkIGxvb3AKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGVuZCB1cCBpbiBhbiBpbmZpbml0ZSBsb29wIGJlY2F1c2Ugb2YgZXJyb3JzLgoJICBBbHNvIHRha2UgdGhlIGVsZW1lbnQncyBtdXRleCBpbiB1bnByZXBhcmUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODI5MgoKMjAxNS0xMi0xMCAxMjo0NzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgcHJlLXNldCBwb3NpdGlvbiBmb3IgZXhhY3RseSB0aGUgc2FtZSBlc3NlbmNlIHRyYWNrCgkgIFRoZSBlZGl0IHJhdGUgaXMgb25seSBzdXBwb3NlZCB0byBiZSB0aGUgc2FtZSBpbiBhIHNvdXJjZSBwYWNrYWdlLCBidXQgdGhlcmUKCSAgbWlnaHQgYmUgbXVsdGlwbGUgc291cmNlIHBhY2thZ2VzIHdpdGggdGhlIHNhbWUgZXNzZW5jZSBjb250YWluZXIuIEFzIHN1Y2gKCSAganVzdCBjb21wYXJpbmcgdGhlIGJvZHkvaW5kZXggU0lEIGlzIG5vdCBzdWZmaWNpZW50LgoKMjAxNS0xMi0xMCAxMjoyNTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgcHJlLXNldCB0aGUgdHJhY2sgcG9zaXRpb24gaWYgaXQncyBmb3IgdGhlIHNhbWUgYm9keS9pbmRleCBTSUQKCjIwMTUtMTItMTAgMTQ6NDE6NDQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBsaWJnc3RnbDogZ3N0Z2xjb250ZXh0X2NvY29hOiBrQ0dMUEZBU3RlcmVvIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gMTAuMTEKCSAgQWxzbyBzaW5jZSB0aGUgdmVyc2lvbiBzY2hlbWUgaGFzIGNoYW5nZWQgKHRvIGluY2x1ZGUgdGhlIG1pY3JvIG51bWJlcikgc2luY2UKCSAgMTAuMTAsIHVzZSB0aGUgTUFDX09TX1hfVkVSU0lPTl8qIG1hY3JvIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMTUtMTItMTAgMTI6NDE6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IHJlbGF4IGNoZWNrIGZvciBtdWx0aXBsZSB0ZXh0dXJlIHRhcmdldHMKCSAgT25seSBjb21wbGFpbiBhYm91dCBtdWx0aXBsZSB0ZXh0dXJlIHRhcmdldHMgd2hlbiBfZGlmZmVyZW50XyB0ZXh0dXJlIHRhcmdldHMKCSAgYXJlIGNvbmZpZ3VyZWQuCgoyMDE1LTEyLTEwIDEyOjMzOjUyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdGFrZSBzdWJzYW1wbGluZyBpbnRvIGFjY291bnQgZm9yIHJlY3RhbmdsZSB0ZXh0dXJlcwoJICBSZWN0YW5nbGUgdGV4dHVyZXMgZG9uJ3QgdXNlIG5vcm1hbGl6ZWQgY29vcmRpbmF0ZXMgc28gc3Vic2FtcGxpbmcgbmVlZHMgdG8gYmUKCSAgZmFjdG9yZWQgaW4gZXhwbGljaXRseS4KCSAgRml4ZXMgWVVWID0+IFJHQiBjb252ZXJzaW9uIGZvciByZWN0YW5nbGUgdGV4dHVyZXMuCgoyMDE1LTEyLTA5IDE2OjU1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogT25seSBhY2Nlc3MgdGhlIGluZGV4IHRhYmxlIGlmIGl0IGhhcyBlbm91Z2ggZWxlbWVudHMKCjIwMTUtMTItMDkgMTY6Mjg6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVc2Uga2V5ZnJhbWUgaW5mb3JtYXRpb24gZnJvbSBpbmRleCB0YWJsZSBzZWdtZW50cyBpZiBhdmFpbGFibGUKCSAgV2UgZG9uJ3QgaW1wbGVtZW50IGtleWZyYW1lIGRldGVjdGlvbiBmb3IgYWxsIGNvZGVjcyBhbmQgdGhpcyB3aWxsIGFsbG93IHVzIHRvCgkgIGltcGxlbWVudCBiZXR0ZXIgc2Vla2luZy4KCjIwMTUtMTItMDkgMTY6MzE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb2xsZWN0IGFsbCBpbmRleCB0YWJsZSBzZWdtZW50cyBhZnRlciBmaW5kaW5nIHRoZSByYW5kb20gaW5kZXggcGFjawoJICBUaGF0IHdheSB3ZSBhbHdheXMgaGF2ZSB0aGUgaW5kZXggdGFibGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlLCBlc3BlY2lhbGx5IHRoZQoJICBrZXlmcmFtZS1uZXNzIG9mIGFsbCBidWZmZXJzLgoKMjAxNS0xMi0wOCAxODoxNTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBGaXggaGFuZGxpbmcgb2YgSW5kZXhUYWJsZVNlZ21lbnRzCgkgIFRoaXMgd2FzIGNvbXBsZXRlbHkgYnJva2VuIGJlZm9yZSBhbmQgY291bGQgb25seSB3b3JrIG9uIGEgdmVyeSBjb25zdHJhaW5lZAoJICBzZXQgb2YgZmlsZXMuIEFmdGVyIHRoZXNlIGNoYW5nZXMgaXQgc2hvdWxkIHdvcmsgZXhjZXB0IGZvciBzaXR1YXRpb25zIHdoZXJlCgkgIFBUUyAhPSBEVFMsIHdoaWNoIGlzIG5vdCBoYW5kbGVkIGF0IGFsbCBpbiBteGZkZW11eCBjdXJyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxMTgKCjIwMTUtMTItMDggMTQ6MDY6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYXZvaWQgcHVzaGluZyBldmVudHMgd2l0aCBtYW5pZmVzdCBsb2NrCgkgIEl0IGNhbiBiZSBhbiBlYXN5IHNvdXJjZSBvZiBkZWFkbG9ja3MuIFJlcHJvZHVjaWJsZSB3aXRoIHZlcnkKCSAgZmFzdCBjb25uZWN0aW9ucyAobG9jYWwgc2VydmVyKS4KCjIwMTUtMTItMDggMjA6MjQ6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBGaXggcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cwoKMjAxNS0xMi0wOCAxODoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogSGFuZGxlIGFnZ3JlZ2F0aW9uIHdpdGggTlVMTCBidWZmZXJzIHdpdGhvdXQgY3Jhc2hpbmcKCjIwMTUtMTItMDggMTY6NDU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCBGSVhNRSBhYm91dCBlbmZvcmNpbmcgdGhhdCBhbGwgdHJhY2tzIGluIGEgc291cmNlIHBhY2thZ2UgaGF2ZSB0aGUgc2FtZSBlZGl0IHJhdGUKCSAgVGhlIHN0YW5kYXJkIHJlcXVpcmVzIHRoaXMgYW5kIGFsc28gdGhlIGluZGV4IHRhYmxlIHNlZ21lbnRzIGFyZSBub3QgZ29pbmcgdG8KCSAgd29yayBvdGhlcndpc2UuCgoyMDE1LTEyLTA3IDIwOjI3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBXcml0ZSBpbmRleCB0YWJsZSBzZWdtZW50cwoJICBCdXQgb25seSBmb3IgdGhlIGZpcnN0IGVzc2VuY2UgdHJhY2ssIGFuZCBvbmNlIGZvciBldmVyeSBrZXlmcmFtZSBldmVyeSAyCgkgIHNlY29uZHMuCgoyMDE1LTEyLTA3IDIwOjI2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogRml4IHN0YXRpYyBsb2NhbCB0YWcgZm9yIGluZGV4IHNpZAoKMjAxNS0xMi0wNyAxOTozNDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZ0eXBlczogQWRkIGZ1bmN0aW9uIHRvIHNlcmlhbGl6ZSBhbiBpbmRleCB0YWJsZSBzZWdtZW50IHRvIGEgYnVmZmVyCgoyMDE1LTEyLTA3IDE4OjU5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmbXV4OiBJbmRleCB0YWJsZSBzZWdtZW50cyBtdXN0IG5vdCB1c2UgdGhlIHByaW1lciBwYWNrCgkgIEFjY29yZGluZyB0byBTMzc3LTEtMjAwOWMgOS4yIHRoZSBsb2NhbCB0YWdzIG11c3Qgbm90IGJlIHJlc29sdmVkIGZyb20gdGhlCgkgIHByaW1lciBwYWNrLCB3aGljaCBhcyBhIHJlc3VsdCBtZWFucyB0aGF0IHRoZXJlIGNhbid0IGJlIGFueSBvdGhlciB0YWdzIHRoYW4KCSAgc3RhdGljYWxseSBhc3NpZ25lZCBvbmVzLgoKMjAxNS0xMi0wNyAxNDoxMDozMCArMTAwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIGZyYWdtZW50IGJvdW5kYXJpZXMKCSAgU2V0dGluZyB0aGUgc2VlayBmbGFncyB0byBHU1RfU0VFS19GTEFHX1NOQVBfKiB3aWxsIGNoYW5nZSB0aGUgc2VlawoJICB0YXJnZXQgdGltZSB0byBhIHNlZ21lbnQgYm91bmRhcnkuCgkgIEJhc2VkIG9uIG9yaWdpbmFsIHdvcmsgYnkgQmVuIFdpbGxlcnMgPGJ3aWxsZXJzQGRpZ2lzb2Z0LnR2Pi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTEwOAoKMjAxNS0xMi0wOCAwOTo1MzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2g6IEZpeCB1bml0IHRlc3QgYWZ0ZXIgbW92aW5nIG9mIGZyYW1lcmF0ZXMgdG8gUmVwcmVzZW50YXRpb25CYXNlVHlwZQoKMjAxNS0xMi0wOCAwOTozMzozOSArMDkwMCAgc3Vod2FuZy5raW0gPHN1aHdhbmcua2ltQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IFN1Z2dlc3Rpb24gZm9yIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBpbmZvcm1hdGlvbi4KCSAgRGFzaGRlbXV4IGhhcyBzZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgaW5mb3JtYXRpb24gZnJvbSBNUEQgbWFuaWZlc3QuCgkgIFNvbWUgZW1iZWRkZWQgZGV2aWNlcyB3aGljaCBhcmUgbm90IGluc3VmZmljaWVudCBIL1cgcmVzb3VyY2VzIG5lZWQgbW9yZSBpbmZvcm1hdGlvbiBzdWNoIGFzIGZyYW1lcmF0ZQoJICB0byBhc3NpZ24gSC9XIHJlc291cmNlcy4gU28gSSBzdWdnZXN0ZWQgdGhhdCBkYXNoZGVtdXggYWxzbyBuZWVkcyB0byBzZXQgdGhlIGZyYW1lcmF0ZSBpbmZvcm1hdGlvbiBmcm9tIE1EUCBtYW5pZmVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNQoKMjAxNS0xMi0wOCAwOToyMzoyMiArMDkwMCAgc3Vod2FuZy5raW0gPHN1aHdhbmcua2ltQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbWF4RnJhbWVSYXRlICYgbWluRnJhbWVSYXRlIHNob3VsZCBiZSBpbiBSZXByZXNlbnRhdGlvbkJhc2UuCgkgIEFjY29yZGluZyB0byB0aGUgc3BlYywgdGhleSBjYW4gYmUgaW4gQWRhcHRhdGlvblNldCwgUmVwcmVzZW50YXRpb24gYW5kIFN1YlJlcHJlc2VudGF0aW9uLgoJICBTbyBUaGV5IHNob3VsZCBiZSBpbiBSZXByZXNlbnRhdGlvbkJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTUKCjIwMTUtMTItMDggMTY6MzU6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJICBnbHByb3RvOiBpbmNsdWRlIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZvciBHTF9BUFBMRV9zeW5jCgkgIFByb3ZpZGVzIGEgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb24gaU9TIHdoZXJlIHdlIHdlcmUgZmFsbGluZyBiYWNrIHRvIGdsRmluaXNoCgkgIG9uIHNldHR0aW5nIHN5bmMgcG9pbnRzLgoKMjAxNS0xMi0wNyAyMDozNDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogQWxsIGZyYW1lcyBpbiBKUEVHMjAwMCBhcmUga2V5ZnJhbWVzLCBtYXJrIHRoZW0gYXMgc3VjaAoKMjAxNS0xMi0wNyAwOTowODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzMTk5MDkgdG8gODZlNDY2MwoKMjAxNS0xMi0wNyAxMzo0ODoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmVtb3ZlIG1vcmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IENJRCAjMTMyODgxOAoKMjAxNS0xMi0wNyAxMzozNjoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRml4IGxlYWsgYW5kIE5VTEwgcG9pbnRlciB1c2FnZQoJICBDb3Zlcml0eSBDSUQgIzEzNDE3NDQKCjIwMTUtMTItMDcgMTE6NTY6MDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFJlbW92ZSBkZWFkIGNvZGUKCSAgKytpIGluIGEgZm9yKCkgbG9vcCByZXN1bHRzIGluIHRoZSBsb29wIG5ldmVyIGJlaW5nIGV4ZWN1dGVkIG1vcmUgdGhhbiBvbmNlCgkgIENvdmVyaXR5IENJRCAjMTM0MTc0OAoJICBDb3Zlcml0eSBDSUQgIzEzNDE3NDMKCjIwMTUtMDMtMTIgMTE6Mjk6MDAgKzAwMDAgIEZyw6lkw6lyaWMgV2FuZyA8ZnJlZC53YW5nQGZyZWUuZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbTogUG9ydCBBQ00gTVAzIGRlY29kZXIgYW5kIGVuY29kZXJzIHRvIEdTdHJlYW1lciAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDA0NwoKMjAxNS0wOS0yNCAxNzo0MDowMiArMDIwMCAgRGFuaWVsIEthbWlsIEtvemFyIDxka2swODlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHBvcnQgdGVsZXRleHRkZWMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MTkKCjIwMTUtMTItMDIgMTg6Mjg6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2eHBhcnNlOiBSZXNlbmQgUFBTL1NQUyBhZnRlciBzZWVrCgkgIFRoaXMgaXMgdG8gc3VwcG9ydCBieXRlLXN0cmVhbSBkZWNvZGVyIHRoYXQgZG9lcyBub3QgcmVtZW1iZXIgdGhlCgkgIFBQUy9TUFMgYWZ0ZXIgYSBmbHVzaC4gVGhpcyBpcyBub3QgbmVlZGVkIGJ5IGFsbCBkZWNvZGVycywgYnV0IGlzCgkgIGhhcm1sZXNzIGZvciB0aG9zZSB0aGF0IGRvIHJlbWVtYmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDA1CgoyMDE1LTEyLTAxIDE4OjA5OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IE9ubHkgb2ZmZXIgY3VzdG9tIGFsbG9jYXRvciB3aXRoIGNhcHMgZmVhdHVyZXMKCSAgVG8gdXNlIEdMTWVtb3J5IGFuZCBFR0xJbWFnZSBhbGxvY2F0b3JzLCBvbmUgbmVlZCB0byBrbm93IHRoZQoJICBsaWJnc3RnbCBBUEkuIFRoaXMgaXMgb25seSBleHBlY3RlZCBpZiB0aGUgYXNzb2NpYXRlZCBjYXBzIGZlYXR1cmVzCgkgIGhhdmUgYmVlbiBuZWdvdGlhdGVkLiBHZW5lcmljIGVsZW1lbnQgdGhhdCBvdGhlcndpc2UgcmVjZWl2ZSB0aG9zZQoJICBhbGxvY2F0b3JzIG1heSBmYWlsLCByZXN1bHRpbmcgaW4gYnJva2VuIHBpZWxpbmUuIFdlIGRvbid0IHdhbnQgdG8KCSAgZm9yY2UgYWxsIGdlbmVyaWMgZWxlbWVudCB0byBjaGVjayBpZiB0aGUgYWxsb2NhdG9yIGlzIGEgY3VzdG9tCgkgIGFsbG9jYXRvciBvciBhIG5vcm1hbCBhbGxvY2F0b3IgKHdoaWNoIGltcGxlbWVudCB0aGUgX2FsbG9jIG1ldGhvZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg4NzcKCjIwMTUtMTItMDQgMTg6MDU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGNvcHkgaW5wdXQgYnVmZmVycywganVzdCBhcHBlbmQgdGhlbSB0byB0aGUgaGVhZGVyCgoyMDE1LTEyLTAzIDExOjQ2OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBSZXN5bmMgbGl2ZSBwbGF5bGlzdHMgdG8gdGhlIDNyZCBuZXdlc3QgZnJhZ21lbnQgaWYgd2UgZmFsbCBvZmYgdGhlIHBsYXlsaXN0CgkgIEFzIEhMUyBkb2VzIG5vdCBwcm92aWRlIGFueSB3YXkgb2Yga25vd2luZyB0aGUgc2VydmVyJ3MgY2xvY2ssIGFuZCB3ZSBkbwoJICBidWZmZXJpbmcgb2YgImxpdmUiIHN0cmVhbXMsIGF0IHNvbWUgcG9pbnQgd2Ugd2lsbCBmYWxsIGJlaGluZCB0aGUgc2VydmVyIGluCgkgIG1hbnkgY2FzZXMgYW5kIHdvdWxkIGhhdmUgdG8gYWR2YW5jZSB0byBhIGZyYWdtZW50IHRoYXQgaXMgbm90IGluIHRoZSBwbGF5bGlzdAoJICBhbnltb3JlLgoJICBQcmV2aW91c2x5IHdlIHdvdWxkJ3ZlIGp1c3QgcmVzeW5jZWQgdG8gdGhlIG5leHQgb2xkZXN0IGZyYWdtZW50IHRoYXQgaXMgc3RpbGwKCSAgdGhlcmUsIGJ1dCB0aGlzIGNhdXNlcyBwcm9ibGVtcyBhcyBmcm9tIHRoaXMgcG9pbnQgb253YXJkcyB3ZSB3b3VsZCBhbHdheXMKCSAgZmFsbCBvZmYgdGhlIHBsYXlsaXN0IGFnYWluIGFsbCB0aGUgdGltZS4KCSAgSW5zdGVhZCB3ZSBub3cgcmVzeW5jIGFuZCBtb3ZlIHRvIHRoZSAzcmQgbmV3ZXN0IGZyYWdtZW50IGxpa2Ugd2Ugd291bGQgZG8KCSAgd2hlbiBzdGFydGluZyBwbGF5YmFjayBvZiBhIGxpdmUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTg3CgoyMDE1LTEyLTAzIDE4OjIxOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogbTN1ODogcmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9tM3U4X2NvcHkoKSBpbXBsZW1lbnRhdGlvbgoJICBObyBuZWVkIHRvIGltcGxlbWVudCBfY29weSgpIHdoZW4gd2UganVzdCBjb3B5IGEgbGlzdCB0aGF0CgkgIHdlJ3JlIGZyZWVpbmcgdGhyZWUgbGluZXMgbGF0ZXIgYW55d2F5LiBJbnN0ZWFkIGp1c3Qgc3RlYWwKCSAgdGhlIG5ldyBtYWluIGxpc3QuCgoyMDE1LTEyLTAzIDEwOjA4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBMb2cgUFRTIG9mIGJ1ZmZlcnMgdGhhdCBhcmUgcHVzaGVkIGRvd25zdHJlYW0KCjIwMTUtMTAtMjAgMDk6NDk6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBFeHBvc2UgRFZCIFN1YnBpY3R1cmUgYXMgc3VicGljdHVyZXMKCSAgRm9yIHNvbWUgcmVhc29uIHdlIHdlcmUgY29uc2lkZXJpbmcgdGhlbSBhcyBwcml2YXRlIGRhdGEuCgoyMDE1LTEwLTIwIDE3OjIyOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBHQVAgZXZlbnRzICphZnRlciogZGVhY3RpdmF0aW5nIG9sZCBwcm9ncmFtcwoJICBUaGUgb3JkZXIgaW4gd2hpY2ggcHJvZ3JhbSBzd2l0Y2ggbXVzdCBoYXBwZW4gaXM6CgkgIDEpIGRyYWluIGFsbCBkYXRhIG9uIG9sZCBwYWRzIChidXQgZG9uJ3QgcHVzaCBFT1MpCgkgIDIpIGFkZCBuZXcgcGFkcyAoYnV0IGRvbid0IHB1c2ggYW55IGRhdGEgb24gdGhlbSkKCSAgMykgUHVzaCBFT1MgYW5kIHJlbW92ZSBvbGQgcGFkcwoJICA0KSBTdGFydCBwdXNoaW5nIGRhdGEgb24gbmV3IHBhZHMKCSAgVGhlcmUgd2FzIG9uZSBjYXZlYXQgaW4gdGhpcyBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaXMgdGhhdCB3aGVuCgkgIHdlIGFjdGl2YXRlIGEgc3BhcnNlIHBhZCAoc3RlcCAyKSB3ZSB3b3VsZCBwdXNoIGEgR0FQIGV2ZW50LiBUaGUgcHJvYmxlbQoJICBpcyB0aGF0LCB3aGlsZSBiZWluZyBhbiBldmVudCwgaXQgaXMgYWN0dWFsbHkgKmRhdGEqLgoJICBXZSB0aGVyZWZvcmUgbmVlZCB0byBtYWtlIHN1cmUgcHVzaGluZyB0aG9zZSBHQVAgZXZlbnQgaXMgZG9uZSBhdCB0aGUgc3RlcAoJICB3ZSBzdGFydCBwdXNoaW5nIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0MDIKCjIwMTUtMDktMTUgMTg6MjA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNYWtlIHN1cmUgb2xkIHN0cmVhbXMgYXJlIGRyYWluZWQgYmVmb3JlIHN3aXRjaGluZwoJICBCZWZvcmUgd2UgYWRkIGFueSBzdHJlYW1zLCBtYWtlIHN1cmUgd2UgZHJhaW4gYWxsIHN0cmVhbXMuIFRoaXMgZW5zdXJlcwoJICB0aGVyZSdzIGNvbnNpc3RlbmN5IHRoYXQgb25seSAibmV3IiBkYXRhIHdpbGwgYmUgcHVzaGVkIG9uIGJ1ZmZlcnMgb25jZQoJICB0aGUgbmV3IHBhZHMgYXJlIGFkZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0MDIKCjIwMTUtMDktMTAgMTQ6NTU6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogQWxsb3cgZGVhY3RpdmF0aW9uIG9mIHByb2dyYW1zIHRvIGJlIGRlbGF5ZWQKCSAgV2hlbiBjaGFuZ2luZyBwcm9ncmFtcywgdGhlIG9yZGVyIG9mIGV2ZW50cyBuZWVkcyB0byBiZSB0aGUgZm9sbG93aW5nOgoJICAqIGFkZCBwYWRzIGZyb20gbmV3IHByb2dyYW0KCSAgKiBzZW5kIEVPUyBvbiBvbGQgcGFkcwoJICAqIHJlbW92ZSBvbGQgcGFkcwoJICAqIGVtaXQgJ25vLW1vcmUtcGFkcycKCSAgUHJldmlvdXNseSB0c2RlbXV4IHdhcyBub3QgZG9pbmcgdGhhdCwgYW5kIHdhcyBmaXJzdCBkZWFjdGl2YXRpbmcgYW5kCgkgIHJlbW92aW5nIG9sZCBwYWRzIGJlZm9yZSBhZGRpbmcgbmV3IG9uZXMuCgkgIFdlIGZpeCB0aGlzIGJ5IGFsbG93aW5nIHN1YmNsYXNzZXMgb2YgbXBlZ3RzYmFzZSB0byBiZSBhYmxlIHRvIGhhbmRsZQoJICB0aGVtc2VsdmVzIHRoZSBkZWFjdGl2YXRpb24gb2YgcHJvZ3JhbXMuIEluIHRoaXMgY2FzZSB0c2RlbXV4IHdpbGwKCSAgcHJvcGVybHkgZGVhY3RpdmF0ZSBpdCBvbmNlIGl0IGhhcyBhY3RpdmF0ZWQgdGhlIG5ldyBwcm9ncmFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDAyCgoyMDE1LTEyLTAyIDExOjAxOjUzICswMTAwICBNYXJvxaEgT25kcsOhxaFlayA8bXgzbGRldkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1cGRhdGUgY3VycmVudCB2YXJpYW50IGlmIGNvbm5lY3Rpb24gc3BlZWQgaXMgc2V0CgkgIElmIGNvbm5lY3Rpb24gc3BlZWQgaXMgc2V0LCBwbGF5bGlzdCBhY2NvcmRpbmcKCSAgdG8gY29ubmVjdGlvbiBzcGVlZCBpcyBzZWxlY3RlZCBhcyBjdXJyZW50IHBsYXlsaXN0LgoJICBQcm9ibGVtIGlzIHRoYXQgdGhlIGN1cnJlbnQgdmFyaWFudCBvZiBtYWluIHBsYXlsaXN0IHN0aWxsCgkgIHBvaW50cyB0byBwcmV2aW91c2x5IHNldCB2YXJpYW50LgoJICBJZiBwcmV2aW91c2x5IHNldCB2YXJpYW50IGRvZXNuJ3QgY29ycmVzcG9uZCB0byBjdXJyZW50CgkgIHBsYXlsaXN0LCB0aGVuIGl0IGNhdXNlcyB1bm5lY2Vzc2FyeSBjaGFuZ2Ugb2YgcGxheWxpc3QKCSAgdG8gdGhlIHNhbWUgcGxheWxpc3QgYWZ0ZXIgZmlyc3QgZnJhZ21lbnQgaXMgZG93bmxvYWRlZCwKCSAgYmVjYXVzZSBvZiBub3QgdXBkYXRlZCBjdXJyZW50IHZhcmlhbnQuCgkgIFRvIGZpeCB0aGlzLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGN1cnJlbnQgdmFyaWFudAoJICBvZiBtYWluIHBsYXlsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50IHBsYXlsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5NDYKCjIwMTUtMTItMDIgMTQ6MzU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJICB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWw6IEZpeCBjb21waWxhdGlvbiBvZiBzdGF0aWMgcGx1Z2luIGFuZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBmb3IgZ3NpemUgaW5zdGVhZCBvZiAlbGQgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZSBwbHVnaW4gbmFtZQoJICBpcyBhIHZhbGlkIEMgaWRlbnRpZmllciwgaS5lLiBjb250YWlucyBubyBzcGFjZXMgb3IgZGFzaGVzLgoKMjAxNS0xMi0wMiAyMjo0MjozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBpbXByb3ZlIHRoZSBZVVkyL1VZVlktPlJHQkEgY29udmVyc2lvbiBzaGFkZXIKCSAgRG9uJ3Qgb2Zmc2V0IHRoZSB5LWF4aXMuICBXZSBvbmx5IG5lZWQgdG8gb2Zmc2V0IG9uIHRoZSB4LWF4aXMuCgkgIFJlbW92ZXMgYSBzYXd0b290aCBwYXR0ZXJuIG9uIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIGVkZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDg2CgoyMDE1LTEyLTAyIDIyOjQwOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGltcHJvdmUgUkdCQS0+WVVZMi9VWVZZIGNvbnZlcnNpb24gc2hhZGVyCgkgIFdlIHNob3VsZCBvbmx5IGF2ZXJhZ2UgdGhlIGNocm9tYSBzYW1wbGVzIG5vdCB0aGUgbHVtYSBzYW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5MDQKCjIwMTUtMTEtMTEgMDM6NTU6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVGVsbCB0aGUgYmFzZSBjbGFzcyB0aGUgZnJhZ21lbnQgZHVyYXRpb24KCSAgYWRhcHRpdmVkZW11eCB1c2VzIHRoZSBmcmFnbWVudCBkdXJhdGlvbiBhcyBhIGRlbGF5CgkgIGluIHNvbWUgY2FzZXMsIHNvIG1ha2Ugc3VyZSB0byBzZXQgaXQuCgoyMDE1LTExLTExIDAzOjU0OjUxICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBTZW5kIHRoZSBiaXRyYXRlIG9mIHRoZSBzdHJlYW0gYXMgYSB0YWcKCSAgSWYgd2Uga25vdyBvciBjYW4gbWVhc3VyZSB0aGUgbm9taW5hbCBiaXRyYXRlIG9mIGEgc3RyZWFtLAoJICBzZW5kIHRoYXQgaW5mbyBhcyBhIHRhZyBkb3duc3RyZWFtCgoyMDE1LTExLTA4IDAxOjM0OjMwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdoZW4gc3dpdGNoaW5nIGJpdHJhdGUgdmFyaWFudHMsIGRvbid0IGp1bXAgYmFjawoJICBEb24ndCBqdW1wIGJhY2t3YXJkIHRvIDMgZmlsZXMgZnJvbSB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdAoJICB3aGVuIHN3aXRjaGluZyB2YXJpYW50cyAtIGl0IGp1c3QgbWVhbnMgd2UgZG93bmxvYWRlZAoJICBmcmFnbWVudHMgZmFzdCBhbmQgY2F1Z2h0IHVwIHRvIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0LgoJICBEaXNhYmxlIHRoYXQgYnkgdHJlYXRpbmcgYSB2YXJpYW50IHN3aXRjaCBhcyBhIHBsYXlsaXN0CgkgIHVwZGF0ZSwgbm90IGEgcmVzdGFydCBkdWUgdG8gYSBzZWVrIG9yIHNvLgoKMjAxNS0wNC0yMSAyMTowOToxOSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSAgYWxldmVsOiBOZXcgYXVkaW8vdmlkZW8gbGV2ZWwgZWxlbWVudAoJICBUaGUgdmlkZW9mcmFtZS1hdWRpb2xldmVsIGVsZW1lbnQgYWN0cyBsaWtlIGEgc3luY2hyb25pemVkIGF1ZGlvL3ZpZGVvICJsZXZlbCIKCSAgZWxlbWVudC4gRm9yIGVhY2ggdmlkZW8gZnJhbWUsIGl0IHBvc3RzIGEgbGV2ZWwtc3R5bGUgbWVzc2FnZSBjb250YWluaW5nIHRoZQoJICBSTVMgdmFsdWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgYXVkaW8gZnJhbWVzLiBUaGlzIGVsZW1lbnQgbmVlZHMgYm90aCB2aWRlbyBhbmQKCSAgYXVkaW8gdG8gcGFzcyB0aHJvdWdoIGl0LiBGdXJ0aGVybW9yZSwgaXQgbmVlZHMgYSBxdWV1ZSBhZnRlciBpdHMgdmlkZW8KCSAgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MjU5CgoyMDE1LTEyLTAxIDIzOjIwOjQ1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkgIERyb3AgdXNhZ2Ugb2YgZGVwcmVjYXRlZCBnLWlyLXNjYW5uZXIgLS1zdHJpcC1wcmVmaXggZmxhZwoKMjAxNS0xMS0xMCAxNjoxOTozNCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IGNvcnJlY3QgdGhlIGNhbGN1bGF0aW9uIG9mIHNlZWsgcmFuZ2Ugb2Ygbm9uLWxpdmUgc3RyZWFtcwoJICBUaGUgc2VlayByYW5nZSBjYWxjdWxhdGlvbiBmb3Igb24tZGVtYW5kIHN0cmVhbXMgd2FzIGluY29ycmVjdGx5CgkgIGV4Y2x1ZGluZyB0aGUgbGFzdCB0aHJlZSBzZWdtZW50cyBvZiB0aGUgc3RyZWFtLiBUaGlzIHRocmVlIHNlZ21lbnQKCSAgcnVsZSBzaG91bGQgb25seSBiZSBhcHBsaWVkIHRvIGxpdmUgc3RyZWFtcyBbMV0uCgkgIFsxXSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtcGFudG9zLWh0dHAtbGl2ZS1zdHJlYW1pbmctMTcjc2VjdGlvbi02LjMuMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mzg2CgoyMDE1LTEyLTAxIDE3OjUyOjAzICswMDAwICBQYW9sbyBQZXR0aW5hdG8gPHBwZXR0aW5hQGNpc2NvLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRm9yd2FyZCBGTFVTSF9TVE9QIGV2ZW50cyBkb3duc3RyZWFtIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTEzCgoyMDE1LTExLTI5IDAxOjAyOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggY3Jhc2ggd2hlbiBkZWNyeXB0aW9uIGtleSBjYW4ndCBiZSBkb3dubG9hZGVkCgkgIEhhcHBlbmVkIHdpdGgKCSAgaHR0cDovL3NzbGhscy5tNnR2LmNkbi5zZnIubmV0L2hscy1saXZlL2xpdmVwa2dyL19kZWZpbnN0Xy9tNl9obHNfYWVzL202X2hsc19hZXNfODU2Lm0zdTgKCSAgaWYgZ2xpYi1uZXR3b3JraW5nIHdhcyBub3QgaW5zdGFsbGVkIChzaW5jZSBrZXkgaGFzIGh0dHBzIHVyaSkuCgoyMDE1LTExLTMwIDExOjA1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIHBvaW50bGVzcyBjbGllbnRfaGFzX21haW4oKSBmdW5jdGlvbgoJICBXZSBhbHdheXMgaGF2ZSBhIG1haW4gbGlzdC4KCjIwMTUtMTEtMjggMDA6MTI6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIHVudXNlZCBfZ2V0X2N1cnJlbnRfZnJhZ21lbnRfZHVyYXRpb24oKSBmdW5jdGlvbgoKMjAxNS0xMS0yNyAxOToyMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBtM3U4OiByZW1vdmUgdW51c2VkIG0zdTggY2xpZW50IHVwZGF0ZV9mYWlsZWRfY291bnQgZmllbGQKCjIwMTUtMTEtMTUgMTc6MzE6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIGhlbHBlciB2YXIgdGhhdCdzIG9ubHkgdXNlZCBkdXJpbmcgcGFyc2luZyBmcm9tIHN0cnVjdHVyZQoJICBKdXN0IGtlZXAgdGhhdCBsb2NhbCB0byB0aGUgcGFyc2luZyBmdW5jdGlvbi4KCjIwMTUtMTEtMDEgMTM6MjE6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBleHQvaGxzL2dzdGhscy5oOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzcGx1Z2luLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHM6IHJlbmFtZSBwbHVnaW4gZnJvbSBmcmFnbWVudGVkIHRvIGhscwoKMjAxNS0xMi0wMSAxOTo0NDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsd2F5cyBnaXZlIHRpbWVzdGFtcHMgaWYgd2UncmUgZGlzY29udCBhbmQgZG9uJ3QgbWFyayBzdHJlYW0gZGlzY29udCBpZiBhIHBsYXlsaXN0IGNoYW5nZSB3YXMgbm90IHN1Y2Nlc3NmdWwKCSAgSWYgdGhlIHN0cmVhbSBpcyBkaXNjb250LCB3ZSBtdXN0IHByb3ZpZGUgYSB0aW1lc3RhbXAgaW4gYW55IGNhc2UuIEVsZW1lbnRzCgkgIGxpa2UgdHNkZW11eCBhcmUgbm90IGdvaW5nIHRvIG91dHB1dCBhbnl0aGluZyBpZiB3ZSBnaXZlIGEgTk9ORSB0aW1lc3RhbXAKCSAgYWZ0ZXIgYSBkaXNjb250LgoJICBBbHNvIG1hcmtpbmcgYSBzdHJlYW0gYXMgZGlzY29udCBpZiBhIHBsYXlsaXN0IGNoYW5nZSB3YXMgbm90IHN1Y2Nlc3NmdWwgd291bGQKCSAgbGVhZCB0byB0aGUgYWJvdmUgc2l0dWF0aW9uLCBidXQgaW4gdGhhdCBjYXNlIHdlIGFyZSBub3QgcmVxdWlyZWQgYXQgYWxsIHRvCgkgIG1hcmsgdGhlIHN0cmVhbSBkaXNjb250IGFzIHdlJ3JlIHN0aWxsIGF0IHRoZSBvbGQgcGxheWxpc3QuCgoyMDE1LTEyLTAxIDE3OjA2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogZml4IHdyb25nIGxvZyBtZXNzYWdlIGxldmVsCgkgIEVSUk9SIGxldmVsIGlzIGRlYnVnZ2luZyBsZWZ0LW92ZXIuCgoyMDE1LTExLTA5IDE2OjA4OjMwICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czphZ2dyZWdhdG9yOiBmaXggdGMgZmFpbHVyZSBhbmQgY29ycmVjdCBjaGVjayB2YWx1ZQoJICBGYWlsdXJlIGJ5IHRoaXMgY29tbWl0IDJkZmE1NDhmMzY0NTg0NDA4MmMzZGI2NWQ5NmQ4NzI1NTcwMWIzYWQsIHdoaWNoIGlzCgkgIHRvIGFwcGVuZCBob29rcyBpbnN0ZWFkIG9mIHByZXBlbmQuCgkgIEJlY2F1c2Ugb2YgdGhpcyBjaGFuZ2UsIGFnZ3JldGF0ZWRfY2IgaXMgbm90IGNhbGxlZCBhbmQgbGVhZHMgdG8gZmFpbHVyZS4KCSAgQW5kIGNvcnJlY3QgdG8gY2hlY2sgZmx1c2ggc3RvcCB2YWx1ZSBpbnN0ZWFkIG9mIGZsdXNoIHN0YXJ0IHZhbHVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4MDEKCjIwMTUtMTEtMzAgMTk6NTM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCB0cnkgdG8gcmVjcmVhdGUgc3dhcGNoYWluIHdoaWxlIHRoZSB3aW5kb3cgaXMgbWluaW1pemVkCgkgIEl0IHdpbGwgZmFpbCBhbmQgY2F1c2UgdGhlIHNpbmsgdG8gY3Jhc2guIEluc3RlYWQgd2FpdCB1bnRpbCB0aGUgd2luZG93IGlzCgkgIHZpc2libGUgYWdhaW4gYmVmb3JlIGNoZWNraW5nIGlmIHRoZSBzd2FwY2hhaW4gcmVhbGx5IGhhcyB0byBiZSByZWNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE2MDgKCjIwMTUtMTEtMjcgMTg6NDY6NTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiByZW1vdmUgdW5uZWVkZWQgc3RhdGVtZW50CgkgIGNvbW1pdCBkYTVjNDE5MzBjNDA4Mzk3OWIxNzQ1ZjRkODg0OGQ5N2ZlMDNkOGViIHJlbW92ZWQgdGhlIHR3byB1c2VzIG9mIHRoZQoJICBuZXcgdmFsdWUgb2YgZGF0YToKCSAgY2hhbm5lbHMgPSBvcHVzX3BhY2tldF9nZXRfbmJfY2hhbm5lbHMgKGRhdGEpOwoJICBiYW5kd2lkdGggPSBvcHVzX3BhY2tldF9nZXRfYmFuZHdpZHRoIChkYXRhKTsKCSAgU2luY2UgdGhlbiwgZGF0YSBpc24ndCBiZWluZyB1c2VkIGJldHdlZW4gaW5jcmVtZW50aW5nIGl0IGJ5IHBhY2tldF9vZmZzZXQKCSAgYW5kIGdvaW5nIG91dCBvZiBzY29wZS4gUmVtb3ZpbmcgdGhpcyB1bmVlZGVkIHN0YXRlbWVudC4KCjIwMTUtMTEtMjcgMTI6NDQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgdGVzdHM6IGlkM211eDogYWRkIHVuaXQgdGVzdCBmb3IgR1NUX1RBR19QUklWQVRFX0RBVEEgd3JpdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NzI4CgoyMDE1LTExLTI3IDExOjMzOjA3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogd3JpdGUgcHJpdmF0ZSBkYXRhIHRhZwoJICBIYW5kbGUgIlBSSVYiIHRhZyBpbiBpZDNtdXguIFdyaXRlIG93bmVyCgkgIGlkZW50aWZpZXIgYW5kIHByaXZhdGUgZGF0YSBhbmQgYWRkIHRvIHRoZQoJICBpZDN2MiBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODcyOAoKMjAxNS0xMS0yNiAxMDoxNTozNiArMDEwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm5Aa2RhYi5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgYWRkIG1ldGFkYXRhIHRvIGxvY2tlZCBidWZmZXIKCSAgVGhlIHZpZGVvIGRlY29kZXJzIHRyaWVkIGNhbGxpbmcgZ3N0X2J1ZmZlcl9hZGRfKm1ldGEoKSBvbiBub24td3JpdGFibGUKCSAgYnVmZmVyIHJlc3VsdGluZyBpbiB3YXJuaW5ncyBvZiB0aGlzIGtpbmQ6CgkgIGdzdGFtY3ZpZGVvZGVjLmM6OTIxIChfZ2xfc3luY19yZW5kZXJfdW5sb2NrZWQpOiBXQVJOSU5HOiBhbWN2aWRlb2RlYwoJICBGYWlsZWQgdG8gY3JlYXRlIHRoZSB0cmFuc2Zvcm1hdGlvbiBtZXRhIGZvciB0aGUgZ2xfc3luYyAweGFiYzAzODQ4CgkgIGJ1ZmZlciAweGFiYjAxYjQwICgwKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Njk0CgoyMDE1LTExLTA5IDE4OjA3OjMwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGRpc2FibGVkIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IgdGVzdAoJICBVbnRpbCB3ZSB3aWxsIGhhdmUgc3VwcG9ydCB0byBjb250cm9sIHRoZSBnZW5lcmF0aW5nIHRocmVhZCBmcm9tCgkgIGZha2VIVFRQc3JjIGVsZW1lbnQsIHRoZSB0ZXN0IHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IgaXMgZGlzYWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc3NzYKCjIwMTUtMTEtMDkgMTQ6MTQ6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogY29ycmVjdGVkIGFjY2VzcyB0byBmYWtlSFRUUHNyYyBlbGVtZW50CgkgIFRoZSBzcmMgZWxlbWVudCBmb3IgYWRhcHRpdmVkZW11eCBpcyBub3cgYSBiaW4uIFVwZGF0ZWQgdGhlIHRlc3RzIHRvCgkgIGNvcnJlY3RseSByZWFjaCBpbnRvIHRoZSBiaW4gYW5kIGdldCB0aGUgZmFrZUhUVFBzcmMgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Nzc2CgoyMDE1LTExLTA5IDE0OjEzOjA0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IG1hZGUgZmFrZUhUVFBzcmMgZWxlbWVudCBNVCBzYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc3NzYKCjIwMTUtMTEtMjMgMTE6MzI6MTMgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIHNwdS1wZ3M6IEZpeCBhcnJheSBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE3CgoyMDE1LTExLTI0IDAwOjIwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvbWl4ZXI6IHJlZ2lzdGVyIGZ1bmN0aW9uIG5hbWUgZm9yIGRlYnVnZ2luZyBqdXN0IG9uY2UKCSAgTm90IGV2ZXJ5IHRpbWUgYWdncmVnYXRlIGlzIGNhbGxlZC4uLgoKMjAxNS0xMS0yNCAxMjo0Mjo0NSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogcmVtb3ZlIGdzdF9tcGRfY2xpZW50X2NoZWNrX3RpbWVfcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODU5MwoKMjAxNS0xMS0yNCAxMTo1MDo1MSArMDEwMCAgTWFyb8WhIE9uZHLDocWhZWsgPG14M2xkZXZAZ21haWwuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGRlcHRoIGZpZWxkIHRvIGF1ZGlvIGNhcHMgaWYgYXZhaWxhYmxlCgkgIGRlcHRoIGZpZWxkIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSAiQml0c1BlclNhbXBsZSIgb3IKCSAgZnJvbSAiV2F2ZUZvcm1hdEV4IiBzdHJ1Y3R1cmUsIGlmIHByb3ZpZGVkIGluIE1hbmlmZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1ODYKCjIwMTUtMTEtMjAgMTY6MzU6NDMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgZnJhY3Rpb24gb2Ygc2Vjb25kcyBpbiBhdmFpbGFiaWxpdHlTdGFydFRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQxMAoKMjAxNS0xMS0yMCAxNjozNjowMCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBwYXJzaW5nIGZyYWN0aW9uIG9mIHNlY29uZHMgaW4gZGF0ZVRpbWUgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MTAKCjIwMTUtMTEtMjIgMTM6MTE6NDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHB1dCB0aGUgd2F5bGFuZHNpbmsgZXhhbXBsZSB3aW5kb3cudWkgZmlsZSBpbiBFWFRSQV9ESVNUCgoyMDE1LTExLTIyIDEzOjA4OjM1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggbGlua2luZyB3YXlsYW5kc2luayBleGFtcGxlIHdpdGggdGhlIGdzdHdheWxhbmQgbGlicmFyeQoJICBGaXJzdCwgdXNlIHRvcF9idWlsZGRpciwgb3RoZXJ3aXNlIGl0IGZhaWxzIGluIG91dC1vZi1zb3VyY2UgYnVpbGRzLgoJICBTZWNvbmQsIGxpbmsgdG8gdGhlIGxpYnRvb2wgYXJjaGl2ZSBkaXJlY3RseSB0byBsZXQgbWFrZSB1bmRlcnN0YW5kCgkgIHRoZSBkZXBlbmRlbmN5LgoKMjAxNS0xMS0yMCAyMDo1OToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWx3YXlzIHNldCBwcmVzZW50YXRpb25UaW1lT2Zmc2V0CgkgIFNldCBpdCBmb3IgYWxsIHR5cGVzIG9mIHNlZ21lbnQgbGlzdHMgKHRlbXBsYXRlcyAvIGxpc3RzIC8gYmFzZSkKCSAgYW5kIG5vdCBvbmx5IGZvciB0ZW1wbGF0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MjkKCjIwMTUtMTEtMjAgMTc6NTA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEVycm9yIG91dCBpZiB3ZSBnZXQgYSB0aW1lb3V0IGR1cmluZyBsaXZlIG1peGluZwoJICBXZSBjYW4ndCBoYW5kbGUgdGhhdCBidXQgbmVlZCBjb21wbGV0ZSBzdHJlYW1zIHdpdGhvdXQgZ2Fwcy4KCjIwMTUtMTEtMjAgMTc6NDY6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogVXNlIHRoZSBjb3JyZWN0IHNvdW5kIGVzc2VuY2UgY29tcHJlc3Npb24gVUwgZm9yIE1QMwoJICBUaGVyZSdzIG9uZSBmb3IgTVBFRyAxIExheWVyIDEgYW5kIG9uZSBmb3IgTGF5ZXIgMiBhbmQgMy4gV2UgcHJldmlvdXNseQoJICBoYWQgdGhlIHNlY29uZCBmb3IgTGF5ZXIgMSBhbmQgMiBhbmQgbm90aGluZyBmb3IgTGF5ZXIgMywgd2hpY2ggd2FzIHdyb25nLgoKMjAxNS0xMS0yMCAxNzozNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtcGVnOiBTZXQgdGhlIGVzc2VuY2UgY29udGFpbmVyIFVMIGJ5dGUgMTMgdG8gMHgxMCBmb3IgaDI2NAoJICAweDA0IHNpZ25pZmllcyBhIE1QRUcgZWxlbWVudGFyeSBzdHJlYW0gYnV0IGFjY29yZGluZyB0byBSUDIwMDgsIDB4MTAgc2hvdWxkCgkgIGJlIHVzZWQgZm9yIGEgaDI2NCBieXRlLXN0cmVhbS4gVGhpcyBhbHNvIGZpeGVzIGNvbXBhdGliaWxpdHkgb2Ygb3VyIGZpbGVzCgkgIHdpdGggZmZtcGVnLgoKMjAxNS0xMS0yMCAxMToxODo0MyArMTEwMCAgUm9tYW4gTm93aWNraSA8cm5vd2lja2lAc2ltcy5wbD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcmV1c2UgZXhpc3RpbmcgR3N0UVNHVGV4dHVyZQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrIGxlYWtpbmcgdGhlIHRleHR1cmUgb2JqZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI4NgoKMjAxNS0xMS0yMCAxMTowODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHFtbDogYWN0aXZhdGUgdGhlIHdyYXBwZWQgY29udGV4dCB3aGVuIGJpbmRpbmcKCSAgTWl0aWdhdGVzIHRoZSBmb2xsb3dpbmcgY3JpdGljYWwKCSAgZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZDogYXNzZXJ0aW9uICdjb250ZXh0LT5wcml2LT5hY3RpdmVfdGhyZWFkID09IGdfdGhyZWFkX3NlbGYgKCknIGZhaWxlZAoKMjAxNS0xMS0xOSAxMTo1NToxOSArMDEwMCAgUm9tYW4gTm93aWNraSA8cm5vd2lja2lAc2ltcy5wbD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcHJvcGVyIGluaXRpYWxpemF0aW9uIGlmIHNjZW5lIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQKCSAgVGhlIHNjZW5lIGdyYXBoIGNhbiBiZSBpbml0aWFsaXplZCB3aGVuIHRoZSB3ZSByZWNlaXZlIHdpbmRvdyBoYW5kbGUgY2hhbmdlCgkgIG5vdGlmaWNhdGlvbiBhbmQgc28gd2Ugd2lsbCBub3QgcmVjZWl2ZSBhIHNjZW5lZ3JhcGggaW5pdGlhbGl6YXRpb24KCSAgbm90aWZpY2F0aW9uLiAgSW5pdGlhbGl6ZSBvdXJzZWxmIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODMzNwoKMjAxNS0wNy0yOSAyMjozMTozMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWRkIGJpbmFyeSBzZWFyY2ggZm9yIHN0cmVhbV9zaWR4X3NlZWsKCSAgQWRkIGJpbmFyeSBzZWFyY2ggdG8gb3B0aW1pemUgaW4gc3RyZWFtX3NpZHhfc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY1MwoKMjAxNS0xMS0xOSAxNTo1OTo1NiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgZ3N0X21wZHBhcnNlcl9nZXRfY2h1bmtfYnlfaW5kZXggYW5kIGdzdF9tcGRwYXJzZXJfZmluZF9zZWdtZW50X2J5X2luZGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyMzMKCjIwMTUtMTEtMTkgMTc6MjQ6NTMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkgIGRvY3M6IHVwZGF0ZSBnc3QtbGF1bmNoLTAuMTAgbGluZXMKCSAgVXBkYXRlIHJlZmVyZW5jZXMgdG8gZ3N0LWxhdW5jaC0wLjEwIHRvIGdzdC1sYXVuY2gtMS4wCgoyMDE1LTExLTE5IDEwOjMyOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW1jdmlkZW9kZWM6IG1vdmUgcmVsZWFzZV9vdXRwdXRfYnVmZmVyIGludG8gdGhlIHN5bmMgbWV0YQoJICBTb21lIGRldmljZXMgb25seSBldmVyIGtlZXAgb25lIGJ1ZmZlciBhdmFpbGFibGUgaW4gdGhlIEdMIHF1ZXVlIHJlc3VsdGluZyBpbgoJICBtdWx0aXBsZSBjYWxscyB0byByZWxlYXNlX291dHB1dF9idWZmZXIgb25seSBjYXVzaW5nIG9uZSBmcmFtZSB0byBiZSByZW5kZXJlZC4KCSAgSWYgdGhlcmUgaXMgYSBxdWV1ZSBhZnRlciBhbWN2aWRlb2RlYyAoZXZlbiBwbGF5c2luaydzIHNtYWxsIG9uZSksIHRoZW4KCSAgbXVsdGlwbGUgYnVmZmVycyBhcmUgcHVzaGVkIGJ1dCBvbmx5IGEgc21hbGwgZnJhY3Rpb24gb2YgdGhlbSBhcmUgYWN0dWFsbHkKCSAgcmVuZGVyZWQgb24gdGltZS4gIFRoZSByZXN0IHdpbGwgZWl0aGVyIHJlbmRlciBzb21lIG51bWJlciBvZiBmcmFtZXMgYWhlYWQgb2YKCSAgd2hlcmUgdGhleSBhcmUgbWVhbnQgdG8gYmUgb3IgdGltZW91dCB3YWl0aW5nIGZvciBhIGZyYW1lIHRoYXQncyBhbHJlYWR5IGJlZW4KCSAgcmVuZGVyZWQuCgkgIFNvbHZlZCBieSBtb3ZpbmcgdGhlIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciBpbnRvIHRoZSBzeW5jX21ldGEgdGhlIGlzIHB1c2hlZAoJICBkb3duc3RyZWFtLiAgV2hlbiBkb3duc3RyZWFtIHJlbmRlcnMsIHRoZSBjdXN0b20gc3luYyBpbXBsZW1lbnRhdGlvbiBhdHRlbXB0cwoJICB0byByZWxlYXNlIHRoZSBjdXJyZW50IGJ1ZmZlciAoaWYgbm90IGFscmVhZHkgcmVsZWFzZWQpIGFuZCByZW5kZXIuIE9uY2UgdGhlCgkgIGZyYW1lIGhhcyBiZWVuIHJlbmRlcmVkIHRvIHRoZSBzY3JlZW4sIHRoZSBuZXh0IGZyYW1lIGlzIHJlbGVhc2VkIGFuZCBpcwoJICBob3BlZnVsbHkgYXZhaWxhYmxlIGJ5IHRoZSB0aW1lIHRoZSBuZXh0IGZyYW1lIGlzIHRvIGJlIHJlbmRlcmVkLgoJICBUaGlzIGZpeGVzIGEgcGVyY2VpdmVkIGZyYW1lIGppdHRlciBpbiB0aGUgb3V0cHV0LgoKMjAxNS0xMS0xNyAxNToyMzoxNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoJICBnX2ZyZWUoKSBpcyBOVUxMLXNhZmUKCjIwMTUtMTEtMTEgMTY6MTE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBBbHNvIGFsbG93ICcvJyBpbiBSZXByZXNlbnRhdGlvbklECgkgIFVzZWQgYnkgaHR0cDovL3d3dy5ib2submV0L2Rhc2gvdGVhcnNfb2Zfc3RlZWwvY2xlYXJ0ZXh0L3N0cmVhbS5tcGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkwMwoKMjAxNS0xMC0yNiAxNjoyNDo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL3dpbmRvdy51aToKCSAgdGVzdHMvZXhhbXBsZXM6IGFkZCBhIHdheWxhbmRzaW5rIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMyMgoKMjAxNS0xMS0xOCAxMjo1NjowNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBjYWxsIGdzdF92aWRlb19zaW5rX2NlbnRlcl9yZWN0IHdpdGggYSBkZXN0aW5hdGlvbiByZWN0YW5nbGUgdGhhdCBzdGFydHMgZnJvbSAoMCwwKQoJICBUaGUgaW50ZW50aW9uIG9mIHRoaXMgY29kZSBpcyB0byBmaW5kIHRoZSBjZW50ZXIgcmVjdGFuZ2xlIHJlbGF0aXZlCgkgIHRvICgwLDApLCBzaW5jZSBzdWJzdXJmYWNlIGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50CgkgIHN1cmZhY2UuCgkgIFRoZSBvbGQgY29kZSB1c2VkIHRvIHdvcmsgYnV0IHdhcyB3cm9uZyBhbmQgYnJva2VuIGJ5CgkgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFzZS9jb21taXQvZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvc2luay5jP2lkPWZmNTdmNjkxMzQ1NmVjMTk5MWU1NTUxN2NmMWYyMzllODBlZWRkZWYKCjIwMTUtMTEtMTYgMTc6MjU6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgaWxsZWdhbCBtZW1vcnkgYWNjZXNzIGluIGdzdF9tcGRfY2xpZW50X2dldF9sYXN0X2ZyYWdtZW50X3RpbWVzdGFtcF9lbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE4OAoKMjAxNS0xMS0xNiAxNzoyNToyMSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBnc3RfbXBkX2NsaWVudF9nZXRfbGFzdF9mcmFnbWVudF90aW1lc3RhbXBfZW5kCgkgIFRoZSB0aW1lc3RhbXAgZm9yIGxhc3QgZnJhZ21lbnQgaXMgaW5jb3JyZWN0bHkgcmV0cmlldmVkIGlmIHNlZ21lbnQgdGVtcGxhdGVzCgkgIGFyZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTg4CgoyMDE1LTExLTE3IDE2OjIxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRG9uJ3QgcmVxdWlyZSBhIG5vbi16ZXJvIGJ1ZmZlciBzaXplIHdoZW4gZG9pbmcgZGVjb2RpbmcgdG8gYSBzdXJmYWNlCgkgIEF0IGxlYXN0IG9uIHNvbWUgZGV2aWNlcy9BbmRyb2lkIHZlcnNpb25zIHRoZSBidWZmZXIgc2l6ZSB3aWxsIGFsd2F5cyBiZSB6ZXJvCgkgIGluIHRoZXNlIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjI4CgoyMDE1LTExLTE3IDE3OjE3OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIGdzdGdsaW1hZ2VzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZ2xpbWFnZV9zaW5rX29uX2RyYXcnOgoJICBnc3RnbGltYWdlc2luay5jOjE5NTk6MTg6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ3N5bmNfbWV0YScgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQoJICBHc3RHTFN5bmNNZXRhICpzeW5jX21ldGEgPSBOVUxMOwoJICBeCgoyMDE1LTExLTE3IDE3OjA5OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogU3RyaW5nIGxpdGVyYWxzIGFyZSBjb25zdAoJICBnc3RnbHZpZXdjb252ZXJ0LmM6IEluIGZ1bmN0aW9uICdfbWFuZ2xlX2V4dGVuc2lvbnMnOgoJICBnc3RnbHZpZXdjb252ZXJ0LmM6MTUxMToxMzogZXJyb3I6IGFzc2lnbm1lbnQgZGlzY2FyZHMgJ2NvbnN0JyBxdWFsaWZpZXIgZnJvbSBwb2ludGVyIHRhcmdldCB0eXBlIFstV2Vycm9yPWRpc2NhcmRlZC1xdWFsaWZpZXJzXQoJICBleHRfc3RyID0gIiNleHRlbnNpb24gR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbCA6IHJlcXVpcmVcbiI7CgkgIF4KCjIwMTUtMTEtMTcgMTc6MDg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBBY3R1YWxseSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbWV0YSBmcm9tIGdzdF9idWZmZXJfYWRkX2dsX3N5bmNfbWV0YSgpCgkgIGdzdGdsc3luY21ldGEuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvbGliZ3N0Z2xfMS4wX2xhLWdzdGdsc3luY21ldGEubwoJICBnc3RnbHN5bmNtZXRhLmM6IEluIGZ1bmN0aW9uICdnc3RfYnVmZmVyX2FkZF9nbF9zeW5jX21ldGEnOgoJICBnc3RnbHN5bmNtZXRhLmM6MTMxOjE6IGVycm9yOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uIFstV2Vycm9yPXJldHVybi10eXBlXQoJICB9CgkgIF4KCjIwMTUtMTEtMTcgMTY6MjE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBGaXggaW5kZW50YXRpb24KCjIwMTUtMTEtMTcgMTY6MDg6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBuZWdvdGlhdGlvbiBtb3JlCgkgIFllYXIgMTI6IEkgc3RpbGwgZG9uJ3QgdW5kZXJzdGFuZCBob3cgbmVnb3RpYXRpb24gd29ya3MuCgkgIEFwcGFyZW50bHkgZ3N0X3BhZF9xdWVyeV9jYXBzIGRvZXNuJ3QgZG8gd2hhdCBJIHRob3VnaHQgaXQgZGlkLiBUbyBnZXQgdGhlCgkgIGFjdHVhbCBjYXBzIHRoYXQgY2FuIGZsb3cgdGhyb3VnaCB2dGRlYzpzcmMgd2UgbXVzdCBjYWxsIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzCgkgIHdpdGggdGhlIHRlbXBsYXRlIGNhcHMgYXMgZmlsdGVyLgoJICBGaXhlcyBuZWdvdGlhdGlvbiB3aXRoIHN0dWZmIHRoYXQgZG9lc24ndCB1bmRlcnN0YW5kIEdMTWVtb3J5IChoZWxsbyB2aWRlb3NjYWxlKS4KCjIwMTUtMTEtMTcgMTY6MTQ6MTEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IG1pbm9yIHRleHR1cmUgY2FjaGUgZml4ZXMKCSAgU21hbGwgZml4IG9uIGhvdyB0aGUgdGV4dHVyZSBjYWNoZSBpcyBjbGVhbmVkIHVwIC8gc2V0dXAgaW4gY2FzZSBvZiByZW5lZ290aWF0aW9uCgoyMDE1LTExLTE3IDE2OjEzOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IHN0b3AgY29uZmlndXJpbmcgY2FjaGUtPmNvbnZlcnQgb3ZlciBhbmQgb3ZlcgoKMjAxNS0xMS0xNiAxNTo0Njo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGdsaW1hZ2VzaW5rOiB3YWl0IG9uIHRoZSBjb3JyZWN0IHN5bmMgbWV0YSB3aGVuIHJlbmRlcmluZwoKMjAxNS0xMS0wMyAxMzoxOTo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYzJkdGV4dHVyZXJlbmRlcmVyLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbWN2aWRkZWM6IG91dHB1dCBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgVGhpcyBwcm92aWRlcyBhIHBlcmZvcm1hbmNlIGFuZCBwb3dlciB1c2FnZSBpbXByb3ZlbWVudCBieSByZW1vdmluZwoJICB0aGUgdGV4dHVyZSBjb3B5IGZyb20gYW4gT0VTIHRleHR1cmUgdG8gMkQgdGV4dHVyZS4KCSAgVGhlIGZsb3cgaXMgYXMgZm9sbG93cwoJICAxLiBHZW5lcmF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciB3aXRoIHRoZSByZXF1aXJlZCBzeW5jIG1ldGEgd2l0aCB0aGUgaW5jcmVtZW50aW5nCgkgIHB1c2ggY291bnRlciBhbmQgT0VTIEdMIG1lbW9yeQoJICAxLjEgcmVsZWFzZV9vdXRwdXRfYnVmZmVyIChidWYsIHJlbmRlcj10cnVlKSBhbmQgcHVzaCBkb3duc3RyZWFtCgkgIDIuIERvd25zdHJlYW0gd2FpdHMgZm9yIG9uIHRoZSBzeW5jIG1ldGEgKHRpbWVkIHdhaXQpIG9yIGRyb3BzIHRoZSBmcmFtZSAobm8gd2FpdCkKCSAgMi4xIFRpbWVkIHdhaXQgZm9yIHRoZSBmcmFtZSBudW1iZXIgdG8gcmVhY2ggdGhlIG51bWJlciBvZiBmcmFtZSBjYWxsYmFja3MgZmlyZWQKCSAgMi4yIFVuY29uZGl0aW9uYWxseSB1cGRhdGUgdGhlIGltYWdlIHdoZW4gdGhlIHdhaXQgY29tcGxldGVzIChzdWNjZXNzIG9yIGZhaWwpLgoJICBTZXRzIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWF0cml4IG1ldGEgb24gdGhlIGJ1ZmZlci4KCSAgMy4gRG93bnN0cmVhbSByZW5kZXJzIGFzIHVzdWFsLgoJICBBdCAqc29tZSogcG9pbnQgdGhyb3VnaCB0aGlzIHRoZSBvbl9mcmFtZV9jYWxsYmFjayBtYXkgb3IgbWF5IG5vdCBmaXJlLiAgSWYgaXQKCSAgZG9lcyBmaXJlLCB3ZSBjYW4gZmluaXNoIHdhaXRpbmcgZWFybHkgYW5kIHJlbmRlci4gT3RoZXJ3aXNlIHdlIGhhdmUgdG8KCSAgd2FpdCBmb3IgYSB0aW1lb3V0IHRvIG9jY3VyIHdoaWNoIG1heSBjYXVzZSBtb3JlIGJ1ZmZlcnMgdG8gYmUgcHVzZWQgaW50byB0aGUKCSAgaW50ZXJuYWwgR0wgcXVldWUgd2hpY2ggc2lnaW5pZmljYW50bHkgZGVjcmVhc2VzIHRoZSBjaGFuY2VzIG9mIHRoZQoJICBvbl9mcmFtZV9jYWxsYmFjayB0byBmaXJlIGFnYWluLiAgVGhpcyBpcyBiZWNhdXNlIHRoZSBmcmFtZSBjYWxsYmFjayBvbmx5IG9jY3VycwoJICB3aGVuIHRoZSBpbnRlcm5hbCBHTCBxdWV1ZSBjaGFuZ2VzIHN0YXRlIGZyb20gZW1wdHkgdG8gbm9uLWVtcHR5LgoJICBCZWNhdXNlIHRoZXJlIGlzIG5vIHdheSB0byByZWxpYWJseSBjb3JyZWxhdGUgYmV0d2VlbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMKCSAgcHVzaGVkIGFuZCB0aGUgbnVtYmVyIG9mIGZyYW1lIGNhbGxiYWNrcyByZWNlaXZlZCwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mCgkgIHdvcmthcm91bmRzIGluIHBsYWNlLgoJICAxLiBXZSBzZWxmLWluY3JlbWVudCB0aGUgcmVhZHkgY291bnRlciB3aGVuIGl0IGZhbGxzIGJlaGluZCB0aGUgcHVzaCBjb3VudGVyCgkgIDIuIFRpbWUgYmFzZWQgd2FpdHMgYXMgdGhlIGZyYW1lIGNhbGxiYWNrIG1heSBub3QgYmUgZmlyZWQgZm9yIGEgY2VydGFpbiBmcmFtZS4KCSAgMy4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBkZXZpY2UgY2FuIHJlbmRlciBhdCBzcGVlZCBvciBwZXJmb3JtcyBzb21lIFFvUyBvZgoJICB0aGUgaW50ZXJhbCBHTCBxdWV1ZSAod2hpY2ggbWF5IG5vdCBtYXRjaCB0aGUgR1N0cmVhbWVyIFFvUykuCgkgIEl0IGhvbGRzIHRoYXQgd2UgY2FsbCBTdXJmYWNlVGV4dHVyZTo6dXBkYXRlVGV4SW1hZ2UgZm9yIGVhY2ggYnVmZmVyIHB1c2hlZAoJICBkb3duc3RyZWFtIGhvd2V2ZXIgdGhlcmUncyBubyBndWFyZW50ZWUgdGhhdCB1cGRhdGVUZXhJbWFnZSB3aWxsIHJlc3VsdCBpbgoJICB0aGUgZXhhY3QgbmV4dCBmcmFtZSAoaXQgY291bGQgc2tpcCBvciBkdXBsaWNhdGUpIHNvIHN5bmNocm9uaXphdGlvbiBpcyBub3QKCSAgZ3VhcmFudGVlZCB0byBiZSBhY2N1cmF0ZSBhbHRob3VnaCBpdCBzZWVtcyB0byBiZSBjbG9zZSBlbm91Z2ggdG8gYmUgdW5hYmxlCgkgIHRvIGRpc2Nlcm4gdmlzdWFsbHkuICBUaGlzIGhhcyBub3QgY2hhbmdlZCBmcm9tIGJlZm9yZSB0aGlzIHBhdGNoLiAgVGhlIGN1cnJlbnQKCSAgcmVxdWlyZW1lbnQgZm9yIHN5bmNocm9uaXphdGlvbiBpcyB0aGF0IHVwZGF0ZVRleEltYWdlIGlzIGNhbGxlZCBhdCB0aGUgcG9pbnQgaW4KCSAgdGltZSB3aGVuIHRoZSBidWZmZXJzIGlzIHRvIGJlIHJlbmRlcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Mjg1CgoyMDE1LTExLTAyIDE3OjU3OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbHN5bmNtZXRhOiBhZGQgdmZ1bmNzIGZvciBhbGwgb3BlcmF0aW9ucwoJICB0aGVyZSBjb3VsZCBiZSBvdGhlciB3YXlzL3JlcXVpcmVtZW50cyBmb3Igc3luY2hyb25pc2luZyB0d28gR1BVIGNvbW1hbmQKCSAgc3RyZWFtcyAod2hldGhlciBHTCBvciBwbGF0Zm9ybSBzcGVjaWZpYykuCgkgIGUuZy4gZ2xmZW5jZXN5bmMvZWdsd2FpdG5hdGl2ZS9jb25kL2V0YwoKMjAxNS0xMS0xMCAxNTozNzowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogYWRkIHN1cHBvcnQgZm9yIHJlbmRlcmluZyBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI4NQoKMjAxNS0xMS0xMCAxNDo1NDowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2x2aWV3Y29udmVydDogYWRkIHN1cHBvcnQgcmVjdGFuZ2xlL2V4dGVybmFsLW9lcyB0ZXh0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Mjg1CgoyMDE1LTExLTE3IDE1OjE4OjI4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggc2V0dGluZyBpbnRlcm5hbCBTS0lQIC8gRFJPUCBmbGFncwoKMjAxNS0xMS0xNyAwOTowODo1MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IHN0cnVjdHVyZSBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjA1CgoyMDE1LTExLTE2IDIxOjUyOjA3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVybGlzdHMKCjIwMTUtMTEtMTcgMTE6MjE6MjcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGltcHJvdmUgbmVnb3RpYXRpb24KCSAgUmV3b3JrIG5lZ290aWF0aW9uIGltcGxlbWVudGluZyBHc3RWaWRlb0RlY29kZXI6Om5lZ290aWF0ZS4gTWFrZSBpdCBwb3NzaWJsZSB0bwoJICBzd2l0Y2ggdGV4dHVyZSBzaGFyaW5nIG9uIGFuZCBvZmYgYXQgcnVudGltZS4gVXNlZnVsIHRvIChldmVudHVhbGx5KSB0dXJuCgkgIHRleHR1cmUgc2hhcmluZyBvbiBpbiBwaXBlbGluZXMgd2hlcmUgZ2xpbWFnZXNpbmsgaXMgbGlua2VkIG9ubHkgYWZ0ZXIKCSAgZGVjb2RpbmcgaGFzIGFscmVhZHkgc3RhcnRlZCAoZm9yIGV4YW1wbGUgT1dSKS4KCjIwMTUtMTEtMTcgMTE6MTk6NTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGltcHJvdmUgaGFuZGluZyBvZiBkZWNvZGUgZXJyb3JzL2ZyYW1lIGRyb3BzCgkgIEltcHJvdmUgZGVjb2RlIGVycm9yIGhhbmRsaW5nIGJ5IGF2b2lkaW5nIGNhbGxpbmcgaW50byBHc3RWaWRlb0RlY29kZXIgZnJvbSB0aGUKCSAgVlQgZGVjb2RlIGNhbGxiYWNrLiBUaGlzIHJlbW92ZXMgY29udGVudGlvbiBvbiB0aGUgR1NUX1ZJREVPX0RFQ09ERVJfU1RSRUFNX0xPQ0sKCSAgd2hpY2ggdXNlZCB0byBtYWtlIHRoZSBkZWNvZGUgY2FsbGJhY2sgc2xvdyBlbm91Z2ggZm9yIFZUIHRvIHN0YXJ0IGRyb3BwaW5nIGxvdHMKCSAgb2YgZnJhbWVzIG9uY2UgdGhlIGZpcnN0IGZyYW1lIHdhcyBkcm9wcGVkLgoKMjAxNS0xMS0xNyAxMToyMjoxNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoKMjAxNS0xMS0xNCAyMDoyMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBub3ctZGVmdW5jdCAibnVtLWxvb2tiYWNrLWZyYWdtZW50cyIgcHJvcGVydHkKCSAgVGhpcyBubyBsb25nZXIgZG9lcyBhbnl0aGluZywgYW5kIGl0IHdhcyBtYXJrZWQgYXMgQ09OU1RSVUNUX09OTFkKCSAgd2hpY2ggbWVhbnMgc29tZW9uZSB3b3VsZCByZWFsbHkgaGF2ZSB0byBnbyBvdXQgb2YgdGhlaXIgd2F5IHRvCgkgIGJlIGFibGUgdG8gc2V0IHRoaXMsIHdoaWNoIHdvdWxkIG9ubHkgYmUgZG9uZSBpbiB2ZXJ5IGN1c3RvbQoJICBzY2VuYXJpb3MsIGlmIGV2ZXIsIGFuZCB0aG9zZSB3aWxsIGxpa2VseSB0YXJnZXQgYSBzcGVjaWZpYwoJICB2ZXJzaW9uIG9mIEdTdHJlYW1lciB0aGVuLCBzbyBwcm9iYWJseSBub3QgbXVjaCBwb2ludCBrZWVwaW5nCgkgIGl0IGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgYmVmb3JlIHJlbW92aW5nIGl0LgoKMjAxNS0xMS0xMyAxNzoxNDoxNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWx3YXlzIGdpdmUgYSB2YWxpZCByZXBseSB0byBpbnRlcm5hbCBjYXBzIHF1ZXJpZXMKCSAgQ2FwcyBxdWVyaWVzIGNhbiBhbHdheXMgaGF2ZSBhIHZhbGlkIHJlcGx5LCBlaXRoZXIgdGhlIGZpbHRlciBvciBBTlkuCgkgIElmIHRoZSBjYXBzIGFyZSBBTlksIHRoZW4gYWNjZXB0LWNhcHMgYWx3YXlzIHJldHVybnMgVFJVRS4KCjIwMTUtMTEtMTIgMTY6MzU6MTIgKzAxMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHNlY3Rpb25fZGF0YSBsZWFrCgkgIElmIHBhY2tldC0+cGF5bG9hZF91bml0X3N0YXJ0X2luZGljYXRvciBpcyB0cnVlIGFuZCBwb2ludGVyIDAsIHRoZXJlIGlzIG5vCgkgIGRpc2NvbnRpbnVpdHkgY2hlY2suIFRoZXJlZm9yZSB0aGVyZSBjb3VsZCBiZSBhIHByZXZpb3VzIHNlY3Rpb24gbm90IGNvbXBsZXRlCgkgIHRoYXQgbmVlZCB0byBiZSBjbGVhcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDEwCgoyMDE1LTExLTEzIDEwOjQxOjU4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSAgZ2xzbDogZml4IHBvc3NpYmxlIHN0cmluZyBvdmVycnVuIGluIGdzdF9nbHNsX3ZlcnNpb25fcHJvZmlsZV9mcm9tX3N0cmluZwoJICBnaXZlbiBhIE5VTEwtdGVybWluYXRlZCBzdHJpbmcsIHMuCgkgIHNbaV0gPSAnXDAnOwoJICBpKys7CgkgIGRvZXMgbm90IGd1YXJlbnRlZSB0aGF0IHNbaV0gaXMgTlVMTCB0ZXJtaW5hdGVkIGFuZCB0aHVzIHN0cmluZyBvcGVyYXRpb25zCgkgIGNvdWxkIHJlYWQgb2ZmIHRoZSBlbmQgb2YgdGhlIGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDE2OjUwOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGRvbid0IHJlYWQgaW52YWxpZCBsaXN0IHBvaW50ZXJzICh1c2UgYWZ0ZXIgZnJlZSkKCSAgZ3N0X2dsX3NoYWRlcl9kZXRhY2hfdW5sb2NrZWQgYWxyZWFkeSByZW1vdmVzIHRoZSBsaXN0IGVudHJ5IHNvIGF0dGVtcHRpbmcgdG8KCSAgdXNlIHRoZSBlbGVtZW50IHRvIGl0ZXJhdGUgdG8gdGhlIG5leHQgc3RhZ2UgY291bGQgcmVhZCBpbnZhbGlkIGRhdGEuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTMgMTA6NDQ6MjYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2wuYzoKCSAgdGVzdHM6Z2xzbDogdmVyc2lvbl9wcm9maWxlX3Mgc3RyaW5nIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxMDo1NjoxMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGZyZWUgc3RyIHdoaWxlIHJldHVybmluZyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDExOjA0OjM0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czpnbHVwbG9hZDogZml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMiAxMjoyMTo1NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYXZvaWQgcG90ZW50aWFsIG92ZXJmbG93IGV4cHJlc3Npb24KCSAgVGhlIHJlc3VsdCBvZiB0aGUgdHdvIGV4cHJlc3Npb25zIHdpbGwgYmUgcHJvbW90ZWQgdG8gZ3VpbnQ2NCBhbnl3YXksCgkgIHBlcmZvcm0gYWxsIHRoZSBhcml0aG1ldGljIGluIDY0IGJpdHMgdG8gYXZvaWQgcG90ZW50aWFsIG92ZXJmbG93cy4KCSAgQ0lEIDEzMzg2OTAsIENJRCAxMzM4NjkxCgoyMDE1LTExLTEyIDEyOjAwOjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIG1lbW9yeSBsZWFrCgkgIFRoZSB2YWx1ZXMgb2YgY2hhbm5lbF9tYXBwaW5nIGFyZSBjb3BpZWQgYnkgZ3N0X2NvZGVjX3V0aWxzX29wdXNfY3JlYXRlX2NhcHMgKCkKCSAgYnV0IGl0IGRvZXNuJ3QgZnJlZSBvciB0YWtlIG93bmVyc2hpcCBvZiB0aGUgZ19uZXcwIGFsbG9jYXRlZCBtZW1vcnkuIFRoaXMKCSAgbmVlZHMgdG8gYmUgZnJlZWQgYmVmb3JlIGdvaW5nIG91dCBvZiBzY29wZS4KCSAgQ0lEIDEzMzg2OTIKCjIwMTUtMTEtMTIgMTE6NDI6MzYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBidWZmZXIgY2hlY2sKCSAgYnVmIHN1cmVseSBpc24ndCBOVUxMIGluc2lkZSB0aGUgYmxvY2sgY29uZGl0aW9uYWwgdG8gYSBidWZmZXIgc2l6ZSBiaWdnZXIKCSAgdGhhbiAoR19NQVhVSU5UMTYgLSAzKS4gUGx1cyBnc3RfYnVmZmVyX3VucmVmKCkgY2hlY2tzIGlmIHRoZSBidWZmZXIgaXMKCSAgTlVMTCBhbmQgZG9lcyBub3RoaW5nIGlmIGl0IGlzLgoJICBDSUQgMTMzODY5MwoKMjAxNS0xMS0xMiAxMToyMzozMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGluaXRpYWxpemUgc2FtcGxlIHJhdGUgdG8gYSBkZWZhdWx0CgkgIHNhbXBsZV9yYXRlIG1pZ2h0IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpZiAhc2lua19jYXBzIGlzIFRSVUUuIEluaXRpYWxpemUKCSAgaXQgdG8gdGhlIGRlZmF1bHQgdXNlZCBpbiBnc3RfY29kZWNfdXRpbHNfb3B1c19wYXJzZV9jYXBzICgpIHdoZW4gdGhlcmUgaXMKCSAgbm8gcmF0ZSBkZWZpbmVkIGluIHRoZSBjYXBzLgoJICBDSUQgMTMzODY5NQoKMjAxNS0xMS0xMiAxNjozNjowMyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBGaXggdmVydGV4X3NvdXJjZXMgbWVtb3J5IGxlYWsKCSAgdmVydGV4X3NvdXJjZXMgaXMgYmVpbmcgYWxsb2NhdGVkIGJ1dCBub3QgZnJlZWQgcmVzdWx0aW5nIGluIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMiAxNjoyNjowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcmVtb3ZlIHVubmVjZXNzYXJ5IGZyZWUKCSAgdmVyc2lvbl9zdHIgaXMgYWxyZWFkeSBiZWluZyBmcmVlZC4gU28gbm8gbmVlZCB0byBjYWxsIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTIgMTY6MTg6MzUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBzdHJpbmcgbGVhawoJICBTdHJpbmcgZ290IHVzaW5nIGdzdF9nbHNsX3ZlcnNpb25fcHJvZmlsZV90b19zdHJpbmcsIGlzIGFsbG9jYXRlZAoJICBtZW1vcnkgYW5kIHNob3VsZCBiZSBmcmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTc0CgoyMDE1LTExLTEyIDE2OjAyOjQ1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggZnJhZ19wcm9nIGFuZCBmcmFnX2JvZHkgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMSAxNjo1MToyMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeGVkIGhhbmRsaW5nIGVycm9ycyBlbWl0dGVkIGJ5IHVyaSBoYW5kbGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NDcKCjIwMTUtMTEtMTAgMTY6MzI6MzcgKzAxMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcGVuZGluZyBidWZmZXJzIGxlYWsgd2hlbiBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODk1CgoyMDE1LTA2LTEwIDE0OjE4OjAwICswMjAwICBFdGllbm5lIFBlcm9uIDxldGllbm5lLnBlcm9uQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggcGFkIGxlYWsgd2hlbiB0aGUgcGFkIGlzIG5ldmVyIGV4cG9zZWQKCSAgSWYgdHNkZW11eCBuZXZlciByZWNlaXZlcyBkYXRhIGZvciBhIHN0cmVhbSwgdGhlIGNvcnJlc3BvbmRpbmcgcGFkIHdpbGwgbmV2ZXIKCSAgYmUgYWRkZWQgYW5kIHN0cmVhbS0+YWN0aXZlIHdpbGwgcmVtYWluIEZBTFNFLiBXaGVuIHRoZSBzdHJlYW0gaXMgcmVtb3ZlZCwgdGhlCgkgIHBhZCB3aWxsIG5vdCBiZSB1bnJlZmZlZCBhbmQgd2lsbCBiZSBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NzMKCjIwMTUtMTEtMDkgMTc6NDU6MjkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogRml4IHRoZSB3cm9uZyB3aWR0aCAmIGhlaWdodCBwYXJzaW5nIG9mIHZwOSBiaXRzdHJlYW0KCSAgVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZm9yIGRldGVjdGluZyB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzCgkgIG9uIGtleSBmcmFtZXMgaXMgYmFzZWQgb24gdnA4IGJpdHN0cmVhbSBhbGlnbm1lbnQuIEF2b2lkIHRoaXMKCSAgd2lkdGggYW5kIGhlaWdodCBwYXJzaW5nIGZvciB2cDkgYml0c3RyZWFtLCB3aGljaCByZXF1aXJlcyBwcm9wZXIKCSAgZnJhbWUgaGVhZGVyIHBhcnNpbmcgaW5vcmRlciB0byBkZXRlY3QgdGhlIHJlc29sdXRpb24gY2hhbmdlIChGaXhtZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4MjUKCjIwMTUtMTEtMTEgMTE6NDA6NTIgKzAxMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFNldCBwcm9maWxlX2xldmVsIHRvIE5VTEwgYWZ0ZXIgcmVsZWFzZQoJICBPdGhlcndpc2UsIGdzdF92dGVuY19uZWdvdGlhdGVfcHJvZmlsZV9hbmRfbGV2ZWwgd2lsbCBkb3VibGUtcmVsZWFzZSBhcwoJICBpdCBjaGVja3MgZm9yIHByb2ZpbGVfbGV2ZWwgIT0gTlVMTC4gVGhpcyBjYXVzZWQgY3Jhc2hlcyB3aGVuIHRoZQoJICB2dGVuYyBpbnN0YW5jZSBpcyBzdG9wcGVkIGFuZCB0aGVuIHJlc3RhcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkzNQoKMjAxNS0xMS0xMSAyMzozOTozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBtYW5nbGUgZ2xfRnJhZ0NvbG9yIGZvciBHTDMKCSAgU29tZSBkcml2ZXJzIGRvbid0IHByb3ZpZGUgdGhlIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBhbmQgd2UgbmVlZCB0byBwcm92aWRlCgkgIG91ciBvd24gJ291dCB2ZWM0JyB2YXJpYWJsZSB0byBwdXQgdGhlIHJlc3VsdHMgb2YgdGhlIGZyYWdtZW50IHNoYWRlciBpbnRvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTM4CgoyMDE1LTExLTExIDE2OjA2OjI1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICB0ZXN0czpnbGNvbG9yY29udmVydDogRml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgT3V0cHV0IGNhcHMgYmVpbmcgZ290IGZyb20gdmlkZW8gaW5mbyBpcyBub3QgZ2V0dGluZyBmcmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTI5CgoyMDE1LTExLTEwIDE3OjU4OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBwcm92aWRlIG91ciBvd24gZGVmaW5pdGlvbiBvZiBsb2cyKCkKCSAgVGhlIGxvZzIgZnVuY3Rpb24vbWFjcm8gZG9lc24ndCBleGlzdCB3aGVuIHRhcmdldHRpbmcgYW5kcm9pZCBBUEkgPCAxOCAob3IgTVNWQwoJICA8IDIwMTMpIHdoZXJlYXMgb3VyIGN1cnJlbnQgYmFzZWxpbmUgaXMgQVBJIDkuCgoyMDE1LTExLTEwIDEzOjUyOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbHZpZXdjb252ZXJ0OiByZW1vdmUgc2V0X2Zvcm1hdAoJICBXZSBuZWVkIHRoZSBjYXBzIHRvIGJlIGFibGUgdG8KCSAgMS4gY2hlY2sgdGhlIGNhcHMgZmVhdHVyZXMKCSAgMi4gZ2V0IHRoZSByZXF1ZXN0ZWQgdGV4dHVyZS10YXJnZXQgb24gaW5wdXQvb3V0cHV0CgoyMDE1LTExLTExIDEwOjMxOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBhIG1lbW9yeSBsZWFrIGlmIHRoZSB2aWV3IGNvbnZlcnNpb24gZmFpbHMKCjIwMTUtMTEtMTEgMTM6Mzc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYmFsYW5jZSB0aGUgY3JlYXRpb24vZGVzdHJ1Y3Rpb24gb2YgdGhlIG92ZXJsYXkgY29tcG9zaXRvcgoJICBGaXhlcyBzb21lIGxlYWtzL3Bvc3NpYmxlIHNlZ2ZhdWx0IG9uIHdoZW4gZmFpbGluZyB0byBjcmVhdGUgdGhlIGNvbXBvc2l0b3IuCgoyMDE1LTExLTExIDEyOjIzOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2xzaGFkZXI6IHByb3Blcmx5IHVucmVmIHRoZSBzdGFnZXMgb24gZmFpbHVyZQoJICBXaGVuIGZhaWxpbmcgaW4gdGhlIHZhcmFyZ3MgZnVuY3Rpb25zLCBhbGwgdGhlIHN0YWdlIG9iamVjdHMgbm90IGhhbmRsZWQgbmVlZCB0bwoJICBiZSB1bnJlZmZlZCB0byBwcmV2ZW50IGEgbGVhay4KCjIwMTUtMTEtMTEgMTE6Mjk6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBwcm9wZXJseSByZXR1cm4gYW4gZXJyb3Igd2hlbiB3ZSBjb3VsZCBub3QgY3JlYXRlIHRoZSBzaGFkZXIgc3RhZ2UKCSAgV2hpbGUgaXQgd2FzIGVycm9yaW5nIG91dCBjb3JyZWN0bHkgbGF0ZXIsIHRoZXJlIHdlcmUgR0xpYiB3YXJuaW5ncyBhYm91dAoJICBzZXR0aW5nIGEgR0Vycm9yIG92ZXIgdGhlIHRvcCBvZiBhbm90aGVyIEdFcnJvci4KCjIwMTUtMTEtMTEgMDE6MDU6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuYzoKCSAgZ2xzaGFkZXJzdHJpbmdzOiBmaXh1cCB0aGUgZXh0ZXJuYWwtb2VzIGZyYWdtZW50IHNoYWRlcgoJICBUaGUgd3Jvbmcgc2FtcGxlciB0eXBlIHdhcyB1c2VkCgkgIHMvc2FtcGxlcjJERXh0ZXJuYWxPRVMvc2FtcGxlckV4dGVybmFsT0VTLwoKMjAxNS0xMS0xMCAyMzo0MToyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB0cnkgdG8ga2VlcCB0aGUgc2FtZSB0ZXh0dXJlLXRhcmdldCBpZiBwb3NzaWJsZQoJICBGaXhlcyBpc3N1ZXMgYXR0ZW1wdGluZyB0byBwYXNzdGhyb3VnaCBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCjIwMTUtMTEtMTAgMjI6NDE6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IHJlbmRlcmluZyByZWN0YW5ndWxhciB0ZXh0dXJlcyB3aXRoIEdMMwoJICBSZWN0YW5ndWxhciB0ZXh0dXJlcyBhcmUgdW5hdmFpbGFibGUgaW4gdW5leHRlbmRlZAoJICBHTEVTMiAjdmVyc2lvbiAxMDAgc2hhZGVycy4KCSAgRml4ZXMKCSAgdGV4dHVyZS10YXJnZXQ9cmVjdGFuZ2xlICEgZ2xjb2xvcmNvbnZlcnQgISB0ZXh0dXJlLXRhcmdldD0yRAoJICBUaGVyZSdzIGEgY291cGxlIG9mIGRpZmZlcmVuY2VzIGJldHdlZW4gR0wzIGFuZCBHTEVTMi9HTAoJICAtIHZhcnlpbmcgLT4gaW4gb3Igb3V0IGRlcGVuZGluZyBvbiB0aGUgc3RhZ2UgKHZlcnRleC9mcmFnbWVudCkKCSAgLSBhdHRyaWJ1dGUgLT4gaW4KCSAgLSBmaWx0ZXJlZCB0ZXh0dXJlIGFjY2VzcyBpcyBhIHNpbmdsZSBmdW5jdGlvbiwgdGV4dHVyZSgpCgoyMDE1LTExLTEwIDIwOjIwOjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHByb3Blcmx5IHVzZSB0aGUgb3RoZXIgdGV4dHVyZS10YXJnZXQgb24gZml4YXRpb24KCjIwMTUtMTEtMTAgMjA6MTU6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBhZGQgZGVidWcgYXMgdG8gd2h5IF9zZXRfc3RyaW5ncygpIGZhaWxlZAoKMjAxNS0xMS0xMCAyMDoxMzo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSAgZ2xzbDogZml4IGNoZWNrIGZvciBnbHNsIHZlcnNpb24gYWdhaW5zdCBHTCBjb250ZXh0IGludmVyc2lvbgoJICBBbnkgR0xTTCB2ZXJzaW9uIHRoYXQgd2FzIGxlc3MgdGhhbiB0aGUgcHJvdmlkZWQgR0wgdmVyc2lvbiB3b3VsZCBmYWlsCgoyMDE1LTExLTEwIDEwOjAyOjM4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggcGFkIG1lbW9yeSBsZWFrLgoJICBUaGUgc3RhdGljIHBhZHMgZ290IGZyb20gcXVldWUgYW5kIHVyaV9oYW5kbGVyIGFyZSBub3QgYmVpbmcgZnJlZWQKCSAgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg1OQoKMjAxNS0xMS0xMCAxMzoxMzo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2VudW1zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbDogZm9yd2FyZCBkZWNsYXJlIHNvbWUgZW51bXMKCSAgU3BlY2lmaWNhbGx5IHRoZSBHc3RHTFRleHR1cmVUYXJnZXQgZW51bQoKMjAxNS0xMS0xMCAxMzoxMTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBleHBvc2UgdGhlIGRlZmF1bHQgc2hhZGVyIHN0cmluZ3MgYXMgcHVibGljCgkgIEFkZCBzb21lIG90aGVyIHNpbXBsZSBzdHJpbmdzIGZvciBleHRlcm5hbC1vZXMgdGV4dHVyZXMgb3IgdHJhbnNmb3JtaW5nCgkgIHRoZSB0ZXh0dXJlIGNvb3JkaW5hdGVzIHdpdGggYSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKCjIwMTUtMTEtMDYgMDM6MDU6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogd2FpdCBvbiB0aGUgc3luYyBtZXRhIGZvciBpbnB1dCBidWZmZXJzCgoyMDE1LTExLTA1IDAwOjEzOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHdhaXQgb24gdGhlIHByb3ZpZGVkIHN5bmMgbWV0YSBwcm92aWRlZCB0byBnbGltYWdlc2luawoKMjAxNS0xMS0wOCAyMjoxNDowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiB1c2UgdGhlIGNvcnJlY3Qgb2VzIHRhcmdldCBzdHJpbmcgaW4gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTUtMTEtMTAgMTI6MzI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0azogYWRkIHRoZSBvdmVybGF5Y29tcG9zaXRpb24gZmVhdHVyZSB0byB0aGUgdGVtcGxhdGUgY2FwcwoJICBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIF9nZXRfY2FwcyBpbXBsIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlCgkgIGZlYXR1cmUgaW4gdGhlIGZpbHRlciBjYXBzIHdoaWNoIHdoZW4gaW50ZXJlY3Rpbmcgd2l0aCB0aGUgdGVtcGxhdGUsCgkgIHdpbGwgcmV0dXJuIEVNUFRZIGFuZCB0aGVyZWZvcmUgZmFpbCBuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg1NAoKMjAxNS0xMS0xMCAxNDoyMTozMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogZml4IHZ0ZGVjIHRleHR1cmUgc2hhcmluZyBvbiBpb3MgOS4xCgkgIFVzZSBnc3RfZ2xfc2l6ZWRfZ2xfZm9ybWF0X2Zyb21fZ2xfZm9ybWF0X3R5cGUgdG8gZ2V0IHRoZSBmb3JtYXQgcGFzc2VkIHRvCgkgIENWT3BlbkdMRVNUZXh0dXJlQ2FjaGVDcmVhdGVUZXh0dXJlRnJvbUltYWdlLiBCZWZvcmUgdGhpcyBjaGFuZ2UgZXh0cmFjdGluZyB0aGUKCSAgc2Vjb25kIHRleHR1cmUgZnJvbSB0aGUgcGl4ZWwgYnVmZmVyIHdhcyBmYWlsaW5nIG9uIGlvcyA5LjEuCgoyMDE1LTExLTA2IDE3OjI0OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IGFkZCBhIGZyYW1lcmF0ZSB0byB0ZXN0IGNhcHMKCSAgVGhlIHBhZCB0ZW1wbGF0ZSByZXF1aXJlcyBhIGZyYW1lcmF0ZSwgc28gdXNlIGl0IHRvIHByZXZlbnQKCSAgY2FwcyBuZWdvdGlhdGlvbiBmYWlsdXJlcy4KCSAgRml4ZXMgdGhlIHVuaXQgdGVzdAoKMjAxNS0xMS0wNiAyMDozODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiB1cGRhdGUgLmdpdGlnbm9yZSBmb3IgbmV3IHRlc3QgYmluYXJpZXMKCjIwMTUtMTEtMDYgMTk6MjY6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGRvbid0IHNlbmQgZmx1c2ggZXZlbnRzIG9uIHNlZWtzCgkgIEl0J3MgZm9yIHRoZSB1cHN0cmVhbSBlbGVtZW50IGRyaXZpbmcgdGhlIHBpcGVsaW5lIHRvCgkgIGhhbmRsZSBzZWVrcyBhbmQgc2VuZCBmbHVzaCBldmVudHMgb3Igbm90LCBmaWx0ZXJzCgkgIHNob3VsZCBub3QgaW50ZXJmZXJlIGhlcmUsIG90aGVyd2lzZSBkb3duc3RyZWFtIHBhZHMKCSAgY291bGQgYmUgZmx1c2hpbmcgYmVmb3JlIHVwc3RyZWFtIHBhZHMgYXJlIGZsdXNoaW5nLAoJICB3aGljaCBjYW4gcmVzdWx0IGluIEdTVF9GTE9XX0VSUk9SIGJlaW5nIHNlbnQgaW5zdGVhZAoJICBvZiBHU1RfRkxPV19GTFVTSElORyB3aGVuIHRyeWluZyB0byBmb3J3YXJkIHN0aWNreQoJICBldmVudHMgYXQganVzdCB0aGUgd3JvbmcgbW9tZW50LgoKMjAxNS0xMS0wNiAxNjoxNjozMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMKCSAgSXQgaXMgdXAgdG8gdGhlIGVsZW1lbnQgaGFuZGxpbmcgdGhlIHNlZWsgdG8gc2VuZCBmbHVzaCBldmVudHMKCSAgZG93bnN0cmVhbSwgb3RoZXJ3aXNlIHdlIGVuZCB1cCB3aXRoIGEgc2l0dWF0aW9uIHdoZXJlIHVwc3RyZWFtCgkgIHdvdWxkIGdldCB1bmV4cGVjdGVkIEdTVF9GTE9XX0ZMVVNISU5HCgoyMDE1LTExLTA2IDE5OjIzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBGaXggY29kZSBpbmRlbnRhdGlvbgoKMjAxNS0xMC0yMiAxMzo0MDozNiArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogdXNlIHN0cmVhbSB0aW1lIGZvciB0aW1lc3RhbXAKCSAgVGhlIE9udmlmIFN0cmVhbWluZyBTcGVjaWZpY2F0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBOVFAgdGltZXN0YW1wcwoJICBpbiB0aGUgT252aWYgZXh0ZW5zaW9uIGhlYWRlciBpbmRpY2FlcyB0aGUgYWJzb2x1dGUgVVRDIHRpbWUgYXNzb2NpYXRlZAoJICB3aXRoIHRoZSBhY2Nlc3MgdW5pdC4gQnV0IGJ5IHVzaW5nIHJ1bm5pbmcgdGltZSB3ZSBjYW4gbm90IGFjaGlldmUgdGhhdCwKCSAgc2luY2UgYSBmcmFtZSdzIHJ1bm5pbmcgdGltZSBkZXBlbmRzIG9uIHRoZSBwbGF5ZWQgaW50ZXJ2YWwsIHdoZXRoZXIgYQoJICBub24tZmx1c2hpbmcgaXMgZG9uZSwgZXRjLiBJbnN0ZWFkIHdlIGhhdmUgdG8gdXNlIHRoZSBzdHJlYW0gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0xMS0wNiAwOTo0NDo1NyArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBVcGRhdGUgbnRwLW9mZnNldCBhbmQgZC9lLWJpdHMgd2l0aCBhIEdzdEV2ZW50CgkgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1cGRhdGUgdGhlIGN1cnJlbnRseSB1c2VkIG50cC1vZmZzZXQgd2l0aCBhCgkgIGN1c3RvbSBzZXJpYWxpemVkIGRvd25zdHJlYW0gZXZlbnQuIFRoZSBlbGVtZW50IHdpbGwgcmVhZCB0aGUgbnRwLW9mZnNldAoJICBwcm9wZXJ0eSB3aGVuIGRvaW5nIHRoZSBzdGF0ZSB0cmFuc2l0aW9uIGZyb20gUkVBRFkgdG8gUEFVU0VEIGFuZAoJICB1c2UgdGhhdCBvZmZzZXQgdW50aWwgaXQgcmVjZWl2ZXMgYSAiR3N0TnRwT2Zmc2V0IiBldmVudCwgd2hpY2ggYWxzbwoJICBoYXMgYSAibnRwLW9mZnNldCIgYXR0cmlidXRlIGluIHRoYXQgaXQncyBzdHJ1Y3R1cmUuIEluIGNhc2UgdGhlCgkgIHByb3BlcnR5IGlzIG5vdCBzZXQgYW5kIG5vIGV2ZW50IGhhcyBiZWVuIHJlY2VpdmVkLCB0aGUgZWxlbWVudCB3aWxsCgkgIGd1ZXNzIHRoZSBucHQtb2Zmc2V0IHdpdGggaGVscCBvZiB0aGUgY2xvY2suIElmIG5vIGNsb2NrIGNhbiBiZQoJICByZXRyaWV2ZWQsIHRoZSBlbGVtZW50IHdpbGwgZXJyb3Igb3V0IGFuZCBzdG9wIHRoZSBkYXRhIGZsb3cuCgkgIFRoZSBzYW1lIGV2ZW50IGlzIGFsc28gdXNlZCBmb3IgdXBkYXRpbmcgdGhlIEQvRS1iaXRzIGluIHRoZSBSVFAKCSAgZXh0ZW5zaW9uIGhlYWRlci4gVGhlIGRpc2NvbnQgZmxhZyBpbiBhIGJ1ZmZlciBjYW4gYmUgc2V0IHdoZW52ZXIgYQoJICBsaXZlL25ldHdvcmsgc291cmNlIGxvb3NlcyBhIGZyYW1lLCBidXQgdGhhdCBpcyBub3QgdGhlIHR5cGUgb2YKCSAgZGlzY29udGludWl0eSB0aGF0IHRoZSBvbnZpZiBleHRlbnNpb24gaGVhZGVyIHNob3VsZCByZWZsZWN0LiBUaGUKCSAgaGVhZGVyIGlzIG1haW5seSB1c2VkIGZvciBwbGF5YmFjayBvZiBhIHRyYWNrIGNvbmNlcHQsIGluIHdoaWNoCgkgIGdhcHMgY2FuIGJlIHByZXNlbnQsIGFuZCBpdCdzIHRob3NlIGtpbmQgb2YgZ2FwcyB0aGF0IHNob3VsZCBiZQoJICBoaWdobGlnaHRlZCB3aXRoIHRoZSBELSBhbmQgRS1iaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTExLTA2IDA5OjQ0OjE2ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IERvIG5vdCByZWFyYW5nZSBvcmRlciBvZiBkYXRhCgkgIElmIGEgYnVmZmVyIG9yIGEgYnVmZmVyIGxpc3QgaXMgY2FjaGVkLCBubyBldmVudHMgc2VyaWFsaXplZCB3aXRoIHRoZQoJICBkYXRhIHN0cmVhbSBzaG91bGQgZ2V0IHRocm91Z2guIFRoZSBjYWNoZWQgYnVmZmVycyBhbmQgZXZlbnRzIHNob3VsZAoJICBiZSBwdXJnZWQgd2hlbiB3ZSBzdG9wIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTEwLTEzIDE0OjIxOjQ3ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWY6IHNwbGl0IHVuaXQgdGVzdHMgaW4gc2V2ZXJhbCBmaWxlcwoJICBTcGxpdCB0aGUgdW5pdCB0ZXN0cyBmb3IgcnRwb252aWZ0aW1lc3RhbXAgYW5kIHJ0cG9udmlmcGFyc2UKCSAgZWxlbWVudHMgaW4gc2VwYXJhdGUgZmlsZXMuCgkgIFNldHVwIGFuZCBjbGVhbnVwIHRoZSBlbGVtZW50IGFuZCBwYWRzIGluIGZpeHVyZXMuIE1ha2UgdGhlIHRlc3RzIHdvcmsKCSAgd2l0aCBDS19GT1JLPW5vIGFzIHdlbGwsIGJ5IGNsZWFuaW5nIHVwIHRoZSAnYnVmZmVycycgbGlzdCB3aGVuIG5lZWRlZC4KCSAgTWFrZSB1bml0IHRlc3RzIHdvcmsgd2hlbiBydW4gaW4gdmFsZ3JpbmQgYnkgdW5yZWZmaW5nIGFsbCBidWZmZXJzLAoJICBhbmQgYnkgbm90IGFsbG9jYXRpbmcgYW55IHBheWxvYWQgaW4gUlRQIGJ1ZmZlcnMuIFNpbmNlIHdlJ3JlIG5vdAoJICBkb2luZyBhbnl0aGluZyB3aXRoIHRoZSBwYXlsb2FkIHBhcnQsIGJ1dCB3ZSdyZSBtZW1jbXAtYXJpbmcgdGhlCgkgIGNvbXBsZXRlIGJ1ZmZlciBtZW1vcnksIHZhbGdyaW5kIGNvbXBsYWluZWQgYWJvdXQgbm9uLWluaXRpYWxpemVkCgkgIG1lbW9yeSBiZWluZyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTA5LTA0IDA5OjU5OjA2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGltcHJvdmVkIGJpdHJhdGUgZXN0aW1hdGlvbnMKCSAgQml0cmF0ZSBlc3RpbWF0aW9uIGlzIG5vdyBoYW5kbGVkIHRocm91Z2ggYSBxdWV1ZTIgZWxlbWVudCBhZGRlZCBhZnRlcgoJICB0aGUgc291cmNlIGVsZW1lbnQgdXNlZCB0byBkb3dubG9hZCBmcmFnbWVudHMuCgkgIE9yaWdpbmFsIGhsc2RlbXV4IHBhdGNoIGJ5IER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCjIwMTUtMTEtMDYgMTI6NTk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3c6IGZpeCBHTGlzdCBsZWFrCgkgIF9yZW1vdmVfbGluaygpIHdvdWxkIG5vdCBmcmVlIHRoZSBhY3R1YWwgbGlzdCBub2Rlcy4KCjIwMTUtMTEtMDYgMTI6MzE6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIGdsc2hhZGVyLCB0c2RlbXV4OiBzaW1wbGlmeSBjb2RlCgkgIEp1cyB1c2UgX2RlbGV0ZV9saW5rKCkgaW5zdGVhZCBvZiBfcmVtb3ZlX2xpbmsoKSArIF9mcmVlMSgpCgoyMDE1LTExLTA2IDEyOjMwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogZml4IG1pbm9yIGxlYWsKCSAgRG9uJ3QgbGVhayByZW1vdmVkIGxpc3Qgbm9kZS4KCjIwMTUtMTEtMDYgMTA6MjI6NDIgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBzb29uIGVub3VnaAoJICBBdm9pZGluZyBhc3NlcnRpb25zCgoyMDE1LTExLTA1IDEwOjEyOjQxICswMDAwICBKdWxpYW4gQm91emFzIDxqdWxpYW4uYm91emFzQHZjYXRlY2hub2xvZ3kuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZGVkIC0td2l0aC1obHMtY3J5cHRvPWF1dG98bmV0dGxlfGxpYmdjcnlwdHxvcGVuc3NsIG9wdGlvbiB0byBidWlsZCB0aGUgc291cmNlIHVzaW5nIHRoZSBkZXNpcmVkIGNyeXB0b2dyYXBoaWMgbGlicmFyeSBmb3IgSExTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMTkKCjIwMTUtMTEtMDYgMDA6NDg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBtM3U4OiBkb24ndCBsZWFrIEdMaXN0IG5vZGVzIHdoZW4gbWF0Y2hpbmcgdXAgdmFyaWFudCBsaXN0cyBhZnRlciBtYXN0ZXIgbGlzdCB1cGRhdGUKCjIwMTUtMTEtMDUgMTI6MzY6NDggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHVzZSBHU1RfU1RJTUVfRk9STUFUIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlIG9mIGRlYWRsaW5lLCBHU1RfU1RJTUVfRk9STUFUIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wNSAxMjoxNzowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogdXNlIEdTVF9TVElNRV9GT1JNQVQgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byB1c2UgR19HSU5UNjRfRk9STUFUIGZvciBwb3RlbnRpYWxseSBuZWdhdGl2ZSB2YWx1ZXMgb2YKCSAgR3N0Q2xvY2tUaW1lRGlmZi4gU2luY2UgMS42IHRoZXNlIGNhbiBiZSBoYW5kbGVkIHdpdGggR1NUX1NUSU1FX0ZPUk1BVC4KCSAgUGx1cyBpdCBjcmVhdGVzIG1vcmUgcmVhZGFibGUgdmFsdWVzIGluIHRoZSBsb2dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NDgwCgoyMDE1LTExLTA1IDEyOjExOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBVcGRhdGUgc2luayBwYWQgdGVtcGxhdGVzCgkgIFdlIGFsd2F5cyByZXF1aXJlIHRoZSBjaGFubmVsLW1hcHBpbmctZmllbGQuIElmIGl0J3MgMCB3ZSByZXF1aXJlIG5vdGhpbmcKCSAgZWxzZSwgb3RoZXJ3aXNlIHdlIG5lZWQgY2hhbm5lbHMsIHN0cmVhbS1jb3VudCBhbmQgY291cGxlZCBjb3VudCB0byBiZQoJICBhdmFpbGFibGUuCgoyMDE1LTExLTAzIDE5OjA5OjMzIC0wODAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkb24ndCBjb21wYXJlIHRlbXBsIGluc3RhbmNlIHBvaW50ZXJzCgkgIE9uZSBjYW4gcGFzcyB0aGUgUGFkVGVtcGxhdGUgZnJvbSB0aGUgZWxlbWVudF9jbGFzcyBvciB0aGUgb25lIGZyb20gdGhlIGZhY3RvcnkuCgkgIFdoaWxlIHRoZXkgaGF2ZSB0aGUgc2FtZSBjb250ZW50LCB0aGUgYWRkcmVzc2VzIGFyZSBkaWZmZXJlbnQuCgoyMDE1LTExLTA0IDAwOjEyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBSZW1vdmUgaW52YWxpZCB1bml0IHRlc3QKCSAgT3B1cyBoZWFkZXJzIHNob3VsZCBuZXZlciBiZSBpbi1iYW5kLCBzbyBkb24ndCB0ZXN0IGZvciBjb3JyZWN0CgkgIGhhbmRsaW5nIG9mIHRoYXQuCgoyMDE1LTExLTA0IDAwOjEyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBDcmVhdGUgYW4gZW1wdHkgdGFnbGlzdCBpZiB0aGVyZSBpcyBub25lCgkgIFRoZXJlIGFsd2F5cyBoYXZlIHRvIGJlIDIgYnVmZmVycyBpbiB0aGUgc3RyZWFtaGVhZGVycywgZXZlbiBpZgoJICB0aGUgY29tbWVudCBidWZmZXIgaXMgYmFzaWNhbGx5IGVtcHR5LgoKMjAxNS0xMS0wMyAxNDo0MTo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU2V0IHRvIHJ1bm5pbmcgaW4gYSBzaW5nbGUgcGxhY2UKCSAgT25seSBzZXQgdG8gcnVubmluZyB3aGVuIHRoZSB0aHJlYWQgaXMgYWN0dWFsbHkgc3RhcnRlZC4KCjIwMTUtMTEtMDMgMTQ6Mzc6MjYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IG1vcmUgbG9ja2luZwoKMjAxNS0xMS0wMyAxOTo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGNyZWF0ZSBhbiBpbmNvbXBsZXRlIE9wdXNIZWFkIGJ1dCBzZXQgYWxsIHRoZSBvdGhlciBjYXBzIGZpZWxkcyBpbnN0ZWFkCgkgIE9wdXNIZWFkIGlzIG9wdGlvbmFsLCB0aGUgb3RoZXIgZmllbGRzIGFyZSBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTk6NTE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogU2ltcGxpZnkgT3B1cyBjYXBzIHBhcnNpbmcgYnkgdXNpbmcgY29kZWN1dGlscyBoZWxwZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTQ6NTA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQWRkIHByb3BlciBzdXBwb3J0IGZvciBtdWx0aWNoYW5uZWwgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxMTo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBGaXggdXAgcHJlLXNraXAgaW4gT3B1c0hlYWQgaWYgdXBzdHJlYW0gdXNpbmcgR3N0QXVkaW9DbGlwcGluZ01ldGEKCSAgTWFrZXMgdHJhbnNtdXhpbmcgZnJvbSBlLmcuIE1QRUctVFMgdG8gT2dnIHNhbXBsZSBhY2N1cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxODowMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfb3B1cy5jOgoJICB0c2RlbXV4L211eDogQWRkIHN1cHBvcnQgZm9yIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhIGZvciBPcHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTc6MzM6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IEhhbmRsZSBHc3RBdWRpb0NsaXBwaW5nTWV0YSBpbnN0ZWFkIG9mIHRoZSBwcmUtc2tpcCBmaWVsZCBpbiB0aGUgT3B1c0hlYWQKCSAgb2dnZGVtdXggaXMgb3V0cHV0dGluZyB0aGUgbWV0YSBub3csIGFuZCBvbmx5IG91dHB1dHMgaWYgaXQgc2hvdWxkIHJlYWxseQoJICBhcHBseSB0byB0aGUgY3VycmVudCBidWZmZXIuIFByZXZpb3VzbHkgd2Ugd291bGQgc2tpcCBOIHNhbXBsZXMgYWxzbyBpZiB3ZQoJICBzdGFydGVkIHRoZSBkZWNvZGVyIGluIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxNjo1MjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQWRkIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhIHRvIGJ1ZmZlcnMgdGhhdCBuZWVkIHRvIGJlIGNsaXBwZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxMDozMDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogRGlzYWJsZSBncmFudWxlIHBvc2l0aW9uIGNhbGN1bGF0aW9ucyBieSB0aGUgYmFzZSBjbGFzcwoJICBJdCBpcyBkb2luZyB0aGUgd3JvbmcgdGhpbmcgYmVjYXVzZSBvZiB0aGUgT3B1cyBwcmUtc2tpcDogd2hpbGUgdGhlIHRpbWVzdGFtcHMKCSAgYXJlIHNoaWZ0ZWQgYnkgdGhlIHByZS1za2lwLCB0aGUgZ3JhbnVsZSBwb3NpdGlvbnMgYXJlIG5vdCBzaGlmdGVkLgoJICBvZ2dtdXggaXMgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nIGhlcmUgYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0zMSAxNTowMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQWRkIHNvbWUgRklYTUUgY29tbWVudHMgYWJvdXQgY2FsY3VsYXRpbmcgcGFkZGluZyB3aXRoIExQQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTEwLTMwIDIwOjU3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IEVuY29kZSBleGFjdGx5IHRoZSBhbW91bnQgb2Ygc2FtcGxlcyB3ZSBnb3QgYXMgaW5wdXQgYW5kIHB1dCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gaXQKCSAgVGhlIGZpcnN0IGZyYW1lIGhhcyBsb29rYWhlYWQgbGVzcyBzYW1wbGVzLCB0aGUgbGFzdCBmcmFtZSBtaWdodCBoYXZlIHNvbWUKCSAgcGFkZGluZyBvciB3ZSBtaWdodCBoYXZlIHRvIGVuY29kZSBhbm90aGVyIGZyYW1lIG9mIHNpbGVuY2UgdG8gZ2V0IGFsbCBvdXIKCSAgaW5wdXQgaW50byB0aGUgZW5jb2RlZCBkYXRhLgoJICBUaGlzIGlzIGJlY2F1c2Ugb2YgYSkgdGhlIGxvb2thaGVhZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBlbmNvZGluZywgd2hpY2gKCSAgc2hpZnRzIGFsbCBkYXRhIGJ5IHRoYXQgYW1vdW50IG9mIHNhbXBsZXMgYW5kIGIpIHRoZSBwYWRkaW5nIG5lZWRlZCB0byBmaWxsCgkgIHRoZSB2ZXJ5IGxhc3QgZnJhbWUgY29tcGxldGVseS4KCSAgSWRlYWxseSB3ZSB3b3VsZCB1c2UgTFBDIHRvIGNhbGN1bGF0ZSBzb21ldGhpbmcgYmV0dGVyIHRoYW4gc2lsZW5jZSBmb3IgdGhlCgkgIHBhZGRpbmcgdG8gbWFrZSB0aGUgZW5jb2RpbmcgYXMgc21vb3RoIGFzIHBvc3NpYmxlLgoJICBXaXRoIHRoaXMgd2UgZ2V0IGV4YWN0bHkgdGhlIHNhbWUgYW1vdW50IG9mIHNhbXBsZXMgYWdhaW4gaW4gYW4KCSAgb3B1c2VuYyAhIG9wdXNkZWMgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMzAgMjA6NDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c2VuYzogUHV0IGxvb2thaGVhZC9wcmUtc2tpcCBpbnRvIHRoZSBPcHVzSGVhZCBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0yNSAxNzoyNzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X29wdXMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfb3B1cy5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgdHNtdXg6IEFkZCBzdXBwb3J0IGZvciBPcHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjQgMTQ6Mjc6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBDb2RlIHBhcnRpYWxseSBiYXNlZCBvbgoJICBodHRwczovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVnLmdpdDthPWNvbW1pdDtoPTc0MTQxZjY5M2RlZDJmYmY3NWFmNTZmZmYzMDlkMmRiMzUxODM2MzUKCSAgYW5kIGJhc2VkIG9uIHRoZSBzcGVjIGRyYWZ0IGF0CgkgIGh0dHBzOi8vd2lraS54aXBoLm9yZy9PcHVzVFMKCSAgTWFrZXMgaXQgcG9zc2libGUgdG8gZGVtdXgKCSAgaHR0cDovL3d3dy5vYmUudHYvRG93bmxvYWRzL29wdXMudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNSAxOTozMTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBEb24ndCBsZWFrIGJ1ZmZlciBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTEwLTI1IDE5OjI5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IENhbGwgcHJlcGFyZSBmdW5jdGlvbiBmb3IgZWFjaCBjb2xsZWN0ZWQgYnVmZmVyCgkgIE5vdCB3aGVuIGNsaXBwaW5nIGJ1ZmZlcnMsIGFzIHRoYXQgZG9lc24ndCBoYXBwZW4gZm9yIGV2ZXJ5IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNSAxODowOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzZGVzY3JpcHRvcjogQWRkIEFQSSBmb3IgY3JlYXRpbmcgZXh0ZW5kZWQgZGVzY3JpcHRvcnMgYW5kIGZpeCB3cml0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMS0wMiAyMToxNjoxNSAtMDgwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogY2FzdCBwYXJhbXNwZWMgZmxhZ3MgdG8gZml4IHRoZSBidWlsZCBmb3IgYysrCgkgIEFsbCB0aGUgb3RoZXIgZWxlbWVudHMgaW4gdGhpcyBwbHVnaW4gZG8gdGhpcyBhbHJlYWR5LgoKMjAxNS0xMS0wMyAxNTowNToyMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gdXNlIEdfR0lOVDY0X0ZPUk1BVCBmb3IgcG90ZW50aWFsbHkgbmVnYXRpdmUgdmFsdWVzIG9mCgkgIEdzdENsb2NrVGltZURpZmYuIFNpbmNlIDEuNiB0aGVzZSBjYW4gYmUgaGFuZGxlZCB3aXRoIEdTVF9TVElNRV9BUkdTLgoJICBQbHVzIGl0IGNyZWF0ZXMgbW9yZSByZWFkYWJsZSB2YWx1ZXMgaW4gdGhlIGxvZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc0ODAKCjIwMTUtMTEtMDMgMTU6MDA6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWUgb2YgZGVhZGxpbmUsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMyAxMDo0Mjo0MCArMDAwMCAgSHl1bmlsIFBhcmsgPGh5dW5pbDQ2LnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWRkIGV4Y2VwdGlvbiBjb2RlIGZvciBzZXR0aW5nIHdsX3N1cmZhY2UKCSAgV2F5bGFuZHNpbmsgbmVlZHMgZXhjZXB0aW9uIGNvZGUgaW4gZ3N0X3dheWxhbmRfc2lua19zZXRfd2luZG93X2hhbmRsZSgpLgoJICBBZnRlciBtYWtpbmcgc2luay0+d2luZG93LCBVc2VyIGNhbiBjYWxsCgkgIGdzdF93YXlsYW5kX3Npbmtfc2V0X3dpbmRvd19oYW5kbGUoKS4gSXQgaXMgdGhlIHVzZXIncyBmYXVsdCwgYnV0CgkgIFdheWxhbmRzaW5rIG5lZWRzIHRvIGhhbmRsZSB0aGUgZXhjZXB0aW9uLCBpZiBub3QgdGhlbiBzaW5rLT53aW5kb3cgaXMKCSAgY2hhbmdlZCBhbmQgcmVuZGVyaW5nIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NDgyCgoyMDE1LTA0LTA5IDEzOjE3OjAxICswOTAwICBIeXVuaWwgUGFyayA8aHl1bmlsNDYucGFya0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgZXhjZXB0aW9uIGNvZGUgZm9yIHNldHRpbmcgd2xfZGlzcGxheQoJICBXYXlsYW5kc2luayBuZWVkcyBleGNlcHRpb24gY29kZSBpbiBnc3Rfd2F5bGFuZF9zaW5rX3NldF9jb250ZXh0KCkuIEFmdGVyCgkgIGNhbGxpbmcgZ3N0X3dheWxhbmRfc2lua19zZXRfY29udGV4dCgpLCBiZWxvdyBjb2RlIGlzIHNldC4KCSAgR1NUX0VMRU1FTlRfQ0xBU1MgKHBhcmVudF9jbGFzcyktPnNldF9jb250ZXh0IChlbGVtZW50LCBjb250ZXh0KTsgYnV0LCBJZgoJICB1c2VyIGNhbiBjYWxsIG9uZW1vcmUuIEl0IGlzIHVzZXIncyBmYXVsdC4gYnV0IHdheWxhbmRzaW5rIG5lZWQgdG8KCSAgZXhjZXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NDgyCgoyMDE1LTExLTAyIDIwOjEwOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBIb2xkIG9iamVjdCBsb2NrIHdoaWxlIG1hbmlwdWxhdGluZyB0aGUgc2VnbWVudAoJICBNYWtlIHN1cmUgdGhlIG9iamVjdCBsb2NrIGlzIGhlbGQgd2hlbiBhZ2dyZWdhdG9yLT5zZWdtZW50IGlzCgkgIG1vZGlmaWVkLgoKMjAxNS0xMS0wMiAxOTo0MDoyOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IEltcHJvdmUgbG9nIG1lc3NhZ2VzCgkgIE1ha2UgdGhlIGxldmVsIG9mIGxvZyBtZXNzYWdlcyBzYW5lciBhbmQgaW1wcm92ZSBzb21lLgoKMjAxNS0xMS0wMiAxOTowNTowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIGRlYWQgY29kZQoJICBUaGlzIGNvZGUgd2lsbCBuZXZlciBiZSBjYWxsZWQgYXMgbWF4Pj1taW4gaW4gYWxsIGNhc2VzLiBJZiB0aGUgdXBzdHJlYW0KCSAgbGF0ZW5jeSBxdWVyeSByZXR1cm5lZCBtaW4+bWF4LCB0aGUgZnVuY3Rpb24gYWxyZWFkeSByZXR1cm5lZCBhbmQgYWxsCgkgIHZhbHVlcyB0aGF0IGFyZSBhZGRlZCB0byB0aG9zZSBoYXZlIG1heD49IG1pbi4KCjIwMTUtMTEtMDIgMTc6MDI6NDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgYmVzdC0+ZHRzIGluCgkgIEdTVF9ERUJVR19PQkpFQ1QuIFVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgdGhpcy4KCjIwMTUtMTEtMDIgMTY6NTg6NTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBkaWZmLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDIgMTE6MTc6MjkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVucmVhY2hhYmxlIGNvZGUKCSAgVGhlIHN0cmVhbS0+Y3VyX3NlZ190ZW1wbGF0ZSBpcyBzZXQgdG8gdGhlIGxvd2VzdCBhdmFpbGFibGUgc2VnbWVudAoJICB0ZW1wbGF0ZSAocmVwcmVzZW50YXRpb24gb3IgYWRhcHRhdGlvbiBvciBwZXJpb2QsIGluIHRoaXMgb3JkZXIpLgoJICBCZWNhdXNlIHRoZSB0ZW1wbGF0ZSBlbGVtZW50cyBhcmUgaW5oZXJpdGVkLCB0aGUgbG93ZXN0IHRlbXBsYXRlIHdpbGwKCSAgaGF2ZSBhbGwgdGhlIGVsZW1lbnRzIHRoZSBwYXJlbnRzIGhhZCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayB0aGUKCSAgcGFyZW50IGZvciBhbiBlbGVtZW50IHRoYXQgaXMgbm90IGZvdW5kIGluIHRoZSBjaGlsZCAoZWcgaW5pdGlhbGlzYXRpb24KCSAgb3IgaW5kZXgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzE0CgoyMDE1LTExLTAyIDEwOjQ4OjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciBNUEQgZmlsZSBkdXJhdGlvbiBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMzYKCjIwMTUtMTEtMDIgMTA6MjU6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkIHNvbWUgY2hlY2tzIHRvIGR1cmF0aW9uIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMzNgoKMjAxNS0wOS0yOSAwOTozMjowMiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCBkdXJhdGlvbiBmb3JtYXQgdmFsaWRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzM2CgoyMDE1LTExLTAyIDExOjIxOjE0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IG1lbW9yeSBsZWFrCgkgIEZyZWUgbmV3X21wZCwgYWxsb2NhdGVkIHdpdGggZ19zbGljZV9uZXcoKSwgYmVmb3JlIGdvaW5nIG91dCBvZiBzY29wZSBpbgoJICBnb3RvIGVycm9yLgoJICBDSUQgMTMzODA1MAoKMjAxNS0xMS0wMiAyMDoxNDoxMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBSZXZlcnQgInZ0ZW5jOiBmcmVlIGlucHV0IGJ1ZmZlciBBU0FQIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYxMDFmYzU3YjhhZmFjNGY0ZTRhYTc0Mjg5MmYwZDljOTlkMzhhOGMuCgkgIEdzdFZpZGVvRW5jb2RlciBhc3N1bWVzIHRoYXQgdGhlIGlucHV0IGJ1ZmZlciBpcyBhdmFpbGFibGUgdW50aWwgX2ZpbmlzaF9mcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk1MQoKMjAxNS0xMS0wMSAyMzozNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogQXNzdW1lIDQ4a0h6IGlmIG5vIHNhbXBsZSByYXRlIGlzIGdpdmVuIGluIHRoZSBoZWFkZXIKCjIwMTUtMTAtMzAgMjA6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFBsYWNlIDQ4a0h6IGZpcnN0IGluIHRoZSBjYXBzCgkgIEZvciBhbGwgdGhlIG90aGVyIHNhbXBsZSByYXRlcyB0aGUgZW5jb2RlciB3aWxsIGhhdmUgdG8gcmVzYW1wbGUgaW50ZXJuYWxseS4KCjIwMTUtMTEtMDIgMTI6MTA6NDQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ3N0Z2x1dGlsczogZml4IHNoYWRlciBjb21waWxhdGlvbiBvbiBNb3VudGFpbiBMaW9uCgkgIE1ha2UgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlci9fY29tcGlsZV9zaGFkZXIgYXNzdW1lIEdTVF9HTFNMX1BST0ZJTEVfRVMgfAoJICBHU1RfR0xTTF9QUk9GSUxFX0NPTVBBVElCSUxJVFkgYXMgdGhlIHByb2ZpbGUuIFdpdGhvdXQgdGhpcywgdGhlIHNoYWRlciBjb21waWxlcgoJICBkb2Vzbid0IGluamVjdCB0aGUgI3ZlcnNpb24gdGFnIHJlc3VsdGluZyBpbiBhIGNvbXBpbGF0aW9uIGVycm9yIG9uIE1vdW50YWluCgkgIExpb24uCgkgIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBvbGQgY29kZSB1c2luZyBnc3RfZ2xfY29udGV4dF9nZW5fc2hhZGVyLiBOZXcgY29kZQoJICBzaG91bGQgdXNlIHRoZSBnc3RfZ2xzbF9zdGFnZV8qIEFQSSBkaXJlY3RseSB3aGljaCBhbGxvd3MgdGhlIGNhbGxlciB0bwoJICBleHBsaWNpdGx5IHNwZWNpZnkgdmVyc2lvbi9wcm9maWxlLgoKMjAxNS0xMC0zMSAxODo0NzozOSArMDEwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogZG9uJ3QgdHJ5IHRvIGFsaWduIGN1cnJlbnQgdGltZXN0YW1wIG9uIHByZXZpb3VzIHRpbWVzdGFtcAoJICB0aGlzIGNhdXNlcyBmcmFtZXMgdG8gYmUgZHJvcHBlZC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMzcKCjIwMTUtMTAtMzEgMjM6Mjg6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBleHBsaWNpdGx5IGluaXRpYWxpemUgYSBwb3NzaWJseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgkgIFRoZSByZXQgdmFyaWFibGUgbWF5IGJlIHVuaW5pdGlhbGl6ZWQgYW5kIHNvIGl0cyBjb250ZW50cyB3ZXJlIHVuZGVmaW5lZCBhbmQKCSAgdGhlIHJlc3VsdHMgd2VyZSBlcnJhdGljIChmYWlsaW5nIHdpdGggZ2x2aWRlb21peGVyLCBzdWNjZWVkaW5nIGluIG90aGVyIGNhc2VzKQoJICBQLlMuIE5vIGlkZWEgd2h5IGdjYy9jbGFuZyBldCBhbCBuZXZlciBwaWNrZWQgdXAgb24gdGhpcyBsaWtlIHRoZXkgbm9ybWFsbHkgZG8KCSAgKHByb2JhYmx5IGR1ZSB0byBzb21lIG9wdGltaXNhdGlvbiBwYXNzIGZpZ3VyaW5nIG91dCBpdCdzIG9ubHkgc2V0IG9uY2UuLi4pCgoyMDE1LTEwLTI5IDExOjM4OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBtYWtlIGR1cmF0aW9ucyB1bnNpZ25lZCB3aGVyZSBhcHByb3ByaWF0ZQoJICBUaGUgc3RhbmRhcmQgZG9lcyBub3Qgc2VlbSB0byBtYWtlIGFueSBwYXJ0aWN1bGFyIGV4cGxpY2l0IG5vdAoJICBpbXBsaWNpdCByZWZlcmVuY2UgdG8gdGhlIHNpZ25lZG5lc3Mgb2YgZHVyYXRpb25zLCBhbmQgdGhlIGNvZGUKCSAgZG9lcyBub3QgcmVseSBvbiBzdWNoLCBub3Igb24gdGhlIG5lZ2F0aXZpdHkgb2YgdGhlIC0xIHZhbHVlCgkgIHRoYXQncyB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgd2hlbiBhIGR1cmF0aW9uIHByb3BlcnR5IGlzIG5vdAoJICBwcmVzZW50IGluIHRoZSBYTUwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NDcKCjIwMTUtMTAtMzAgMTU6NTU6MTkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogaW5oZXJpdCBiaXRzdHJlYW1Td2l0Y2hpbmcgZnJvbSBQZXJpb2QgdG8gQWRhcHRhdGlvblNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzQwCgoyMDE1LTA4LTIwIDE4OjE0OjM2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1hcmtlZCBQUk9QX0JBTkRXSURUSF9VU0FHRSBwcm9wZXJ0eSBhcyBkZXByZWNhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4OTAKCjIwMTUtMTAtMzAgMTU6MDI6MzUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB1bml0IHRlc3RpbmcgcmVwcm9kdWNpbmcgaW5oZXJpdGVkIHNlZ21lbnQgZHVyYXRpb24gb3ZlcmZsb3cKCSAgdW5pdCB0ZXN0IHJlcHJvZHVjaW5nIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MzIKCjIwMTUtMTAtMzAgMTQ6MzE6MjEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogaW5oZXJpdGVkIHNlZ21lbnQgVVJMcyBhcmUgaWdub3JlZCBpZiB0aGV5IGFyZSBkZWZpbmVkIGFnYWluIGluIGEgbG93ZXIgU2VnbWVudExpc3QKCSAgQWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZDoKCSAgIlNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUgYW5kIFNlZ21lbnRMaXN0IHNoYWxsIGluaGVyaXQKCSAgYXR0cmlidXRlcyBhbmQgZWxlbWVudHMgZnJvbSB0aGUgc2FtZSBlbGVtZW50IG9uIGEgaGlnaGVyIGxldmVsLgoJICBJZiB0aGUgc2FtZSBhdHRyaWJ1dGUgb3IgZWxlbWVudCBpcyBwcmVzZW50IG9uIGJvdGggbGV2ZWxzLAoJICB0aGUgb25lIG9uIHRoZSBsb3dlciBsZXZlbCBzaGFsbCB0YWtlIHByZWNlZGVuY2Ugb3ZlciB0aGUgb25lCgkgIG9uIHRoZSBoaWdoZXIgbGV2ZWwuIgoJICBnc3RfbXBkcGFyc2VyX3BhcnNlX3NlZ21lbnRfbGlzdF9ub2RlIHdpbGwgbm93IGRpc2NhcmQgYW55IGluaGVyaXRlZAoJICBzZWdtZW50IFVSTHMgaWYgdGhlIHBhcnNlZCBlbGVtZW50IGRlZmluZXMgc29tZSB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MzIKCjIwMTUtMTAtMjAgMTc6MjE6MDAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuaDoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIGZyYWdtZW50IGRvd25sb2FkIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNjEKCjIwMTUtMTAtMjAgMTU6NDY6MzYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogbWFkZSBhZGFwdGl2ZSBkZW11eCB0ZXN0IHRocmVhZCBzYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNjEKCjIwMTUtMTAtMTYgMTY6MjA6MzQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogYWRkZWQgcXVlcnkgdGVzdAoJICBUZXN0aW5nIGlmIGFkYXB0aXZlIGRlbXV4IHJlc3BvbmRzIHRvIHF1ZXJpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNjEKCjIwMTUtMTAtMjggMTE6MjE6MTQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgbXVsdGlwbGUgQmFzZVVSTCBlbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyNDUKCjIwMTUtMDktMTYgMTA6NDA6MzMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdW5pdCB0ZXN0IGZvciA2ZDFlZGE5MzkxZDMxNDNiNWZjNjMzZWRmZDk0Yjg5ZGJiYTIwOWFiCgkgIENvbW1pdCA2ZDFlZGE5MzkxZDMxNDNiNWZjNjMzZWRmZDk0Yjg5ZGJiYTIwOWFiIGZpeGVkIHRoZSBwZXJpb2Qgc3RhcnQKCSAgdGltZSBzY2FsaW5nLiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIHVuaXQgdGVzdHMgdG8gY292ZXIgdGhhdCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNQoKMjAxNS0xMC0xNiAxNzoxMDoxMSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCBkb3dubG9hZCBlcnJvciB0ZXN0CgkgIFRlc3RzIGFkYXB0aXZlIGRlbXV4IGJlaGF2aW91ciB3aGVuIHRoZSB1cmkgaXMgd3JvbmcgYW5kIGRvd25sb2FkIGRvZXMKCSAgbm90IGhhcHBlbi4KCjIwMTUtMTAtMzAgMTI6NDk6MjAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBzdG9wIHRhc2sgb24gbXVsdGlwbGUgZG93bmxvYWQgZXJyb3JzCgkgIE9uIG11bHRpcGxlIGRvd25sb2FkIGVycm9ycywgd2Ugc3RvcCB0aGUgZG93bmxvYWQgdGFzayBhbmQgY2hhbmdlIHRoZSBzcmMKCSAgZWxlbWVudCBzdGF0ZSB0byBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjQwCgoyMDE1LTEwLTMwIDEyOjI0OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGEgbWlzc2luZyBsb2NrIGluIHdyaXRlIHRvIHN0cmVhbS0+bGFzdF9yZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM1OQoKMjAxNS0xMC0wNyAyMzoyMDo1MSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJldHVybiBlcnJvciBpZiBzcmMgZWxlbWVudCBjYW5ub3Qgc3RhcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIwOQoKMjAxNS0xMC0wOCAxMTo0NToyNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeGVkIHdhaXRpbmcgZm9yIGZyYWdtZW50IHVwZGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzNwoKMjAxNS0xMC0wOCAxMjozNTo0NCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBoZWFkZXIgcmVkb3dubG9hZCBpbiBjYXNlIG9mIGVycm9ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjM5CgoyMDE1LTEwLTMwIDAwOjA0OjEyICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVsZWFzZSBtYW5pZmVzdCBsb2NrIGJlZm9yZSBzZW5kaW5nIGZsdXNoIHN0b3AgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMzNwoKMjAxNS0xMC0yOSAyMzo0MTo0NiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlc2V0IGRvd25sb2FkX2ZpbmlzaGVkIGJlZm9yZSBzdGFydGluZyB0aGUgc3JjIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMzNgoKMjAxNS0xMC0yOSAyMzoyMzowNSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbGVhc2UgbWFuaWZlc3QgbG9jayBiZWZvcmUgY2hhbmdpbmcgZWxlbWVudCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzM1CgoyMDE1LTEwLTMwIDE2OjM4OjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgdnRkZWM6IGZpeCBjb21waWxhdGlvbiBlcnJvcgoJICBVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKCSAgIl9fZ2xfdGFyZ2V0X3RvX2dzdCIsIHJlZmVyZW5jZWQgZnJvbToKCSAgX19kb19nZXRfZ2xfYnVmZmVyIGluIGxpYmdzdGFwcGxlbWVkaWFfbGEtY29yZXZpZGVvdGV4dHVyZWNhY2hlLm8KCjIwMTUtMTAtMzAgMTU6MDA6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZm9yIGdsbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDE1LTEwLTMwIDE0OjQzOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiByZW1vdmUgdW51c2VkIHJldCB2YXJpYWJsZQoKMjAxNS0xMC0zMCAxNDo0MDozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJICBnbHNsc3RhZ2U6IHJlbW92ZSB0eXBlZGVmcyBmcm9tIHRoZSBoZWFkZXIKCSAgVGhleSBhcmUgYWxyZWFkeSBkZWZpbmVkIGluIHRoZSBmb3J3YXJkIGRlY2xlcmF0aW9uIGhlYWRlciBhbmQgZGVmaW5pbmcgdGhlbQoJICBtb3JlIHRoYW4gb25jZSB3aWxsIGdpdmUgYW4gZXJyb3Igd2l0aCBPU1gncyBjbGFuZyBhYm91dCB0eXBlZGVmIHJlZGVmaW5pdGlvbgoJICBiZWluZyBhIEMxMSBmZWF0dXJlLgoKMjAxNS0xMC0zMCAxNDozODowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmb2xsb3cgdGhlIGNvcnJlY3QgdGV4dHVyZSB0YXJnZXQgbmFtZXMKCjIwMTUtMTAtMzAgMDE6NDI6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZXhwbGljaXRseSBjb25maWd1cmUgdGhlIHRleHR1cmUgdGFyZ2V0IG9uIHRoZSBnbCBidWZmZXIgcG9vbAoJICBJZiB3ZSBkb24ndCwgdGhlbiB0aGUgcG9vbCBjb3VsZCBlbmQgdXAgYWxsb2NhdGluZyAyRCB0ZXh0dXJlcyB3aGVuIHRoZQoJICBjYXBzIGV4cGxpY3RseSBzdGF0ZSB0aGV5IHNob3VsZCBiZSByZWN0YW5nbGUgdGV4dHVyZXMuCgoyMDE1LTEwLTMwIDAxOjI3OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xidWZmZXJwb29sOiBhZGQgYnVmZmVycG9vbCBvcHRpb25zIGZvciB0aGUgdmFyaW91cyB0ZXh0dXJlIHRhcmdldHMKCSAgVGhpcyB3YXMgY2hvc2VuIG92ZXIgcmVseWluZyBzb2xlbHkgb24gdGhlIGNhcHMgYXMgZ2x1cGxvYWQgbmVlZHMgdG8gcHJvcG9zZSBhbgoJICBhbGxvY2F0aW9uIGFuZCBzZXQgdGhlIHRleHR1cmUgdGFyZ2V0IGJhc2VkIG9uIHRoZSBvdXRwdXQgY2Fwcy4gIFNldHRpbmcgdGhlCgkgIGNhcHMgaW4gdGhlIGNvbmZpZyBpcyBjdXJyZW50bHkgcG9pbnRsZXNzIGFzIHRoZXkgYXJlIG92ZXJ3cml0dGVuIGluIGEgbG90IG9mCgkgIGVsZW1lbnQncyBkZWNpZGVfYWxsb2NhdGlvbiBmdW5jdGlvbnMuCgkgIFRoaXMgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIHRoZSBidWZmZXIgcG9vbCB0byBiZSBjb25maWd1cmVkIGZvciBhIGNlcnRhaW4KCSAgdGV4dHVyZSB0YXJnZXQgd2hlbiBub25lIGhhcyBiZWVuIGNvbmZpZ3VyZWQuCgoyMDE1LTEwLTI5IDEzOjA0OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBnbGNvbG9yY29udmVydDogYWRkIHN1cHBvcnQgZm9yIGNvbnZlcnRpbmcgdGV4dHVyZSB0YXJnZXRzCgkgIFNvbHZlZCB3aXRoIGEgc2ltcGxlIHNoYWRlciB0ZW1wbGF0aW5nIG1lY2hhbmlzbSBhbmQgc3RyaW5nIHJlcGxhY2VtZW50cwoJICBvZiB0aGUgbmVjZXNzYXJ5IHNhbXBsZXIgdHlwZXMvdGV4dHVyZSBhY2Nlc3NlcyBhbmQgdGV4dHVyZSBjb29yZGluYXRlCgkgIG1hbmdsaW5nIGZvciByZWN0YW5ndWxhciBhbmQgZXh0ZXJuYWwtb2VzIHRleHR1cmVzLgoKMjAxNS0xMC0yOSAwMDo0NDoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgc3VwcG9ydCBmb3IgcmVjdGFuZ2xlIHRleHR1cmVzCgkgIEFkZCB0aGUgdmFyaW91cyB0b2tlbnMvc3RyaW5ncyBmb3IgdGhlIGRpZmZlcm5ldCB0ZXh0dXJlIHR5cGVzICgyRCwgcmVjdCwgb2VzKQoJICBDaGFuZ2VzIHRoZSBHTG1lbW9yeSBhcGkgdG8gaW5jbHVkZSB0aGUgR3N0R0xUZXh0dXJlVGFyZ2V0IGluIGFsbCByZWxldmFudAoJICBmdW5jdGlvbnMuCgkgIFVwZGF0ZSB0aGUgcmVsZXZhbnQgY2Fwcy90ZW1wbGF0ZXMgZm9yIDJEIG9ubHkgdGV4dHVyZXMuCgoyMDE1LTEwLTMwIDAxOjQ1OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IG9yZGVyIHRoZSBjYXBzIHRlbXBsYXRlIHNvIHRoYXQgUkdCQSBpcyBmaXJzdAoJICBnbGNvbG9yY29udmVydCAhIGdsY29sb3Jjb252ZXJ0IHdvdWxkIHNvbWV0aW1lcyBuZWdvdGlhdGVkIFJHQgoJICAodGhlIGZpcnN0IGxpc3QgZW50cnkpIG90aGVyd2lzZS4KCjIwMTUtMTAtMzAgMDE6MTY6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbGJ1ZmZlcnBvb2w6IG1vdmUgdHlwZWRlZidzIGludG8gdGhlIGZvcndhcmQgZGVjbGVyYXRpb24gZmlsZQoJICBPdGhlcndpc2UsIGZvciBleGFtcGxlLCBjbGFuZyB3aWxsIHdhcm4gYWJvdXQgdHlwZWRlZiByZWRlZmluaXRpb25zCgkgIGJlaW5nIGEgQzExIGZlYXR1cmUuCgoyMDE1LTEwLTE2IDE4OjM2OjIwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSAgdGVzdHM6IGZpeGVkIGZha2Ugc291cCBodHRwIHNyYyBwbHVnaW4KCSAgVGhlIHNvdXAgaHR0cCBzcmMgY2hhbmdlZCB0aGUgd2F5IGl0IGludGVycHJldHMgdGhlIHNlZWsgc2VnbWVudCBzdG9wIHZhbHVlLgoJICBQcmV2aW91c2x5IGl0IHdhcyBpbmNsdXNpdmUsIG5vdyBpdCBpcyBub3QgKHNlZSBjb21taXQKCSAgMjFjNmRhNjc2NGMwY2QwMTVlOWYzYzVlZWNiYTM2ZTI5NzE4N2RlYiwKCSAgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYpCgkgIFVwZGF0ZWQgZmFrZSBzb3VwIGh0dHAgc3JjIHRvIGFsc28gY29uc2lkZXIgc2VnbWVudCBzdG9wIG5vdCBpbmNsdXNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMjIKCjIwMTUtMTAtMDkgMTQ6MTA6NTIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdCBmb3IgYWRhcHRpdmVkZW11eAoJICBDcmVhdGVkIGEgdW5pdCB0ZXN0IGZvciBkYXNoZGVtdXguIEl0IHJlbGllcyBvbiBhIGZha2UgU09VUCBIVFRQIHNyYyBwbHVnaW4KCSAgdGhhdCB3aWxsIGZlZWQgZGF0YSB0byBkYXNoZGVtdXguIFRoZSB0ZXN0IGNvbnRyb2xzIHRoZSBkYXRhIHRvIGJlCgkgIGdlbmVyYXRlZCBhbmQgY2hlY2tzIHRoZSBjb3JyZWN0IGRhdGEgd2FzIHJlY2VpdmVkIGZvciBlYWNoIGV4cGVjdGVkCgkgIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMyMgoKMjAxNS0xMC0wOSAyMToyMzoyMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmg6CgkgIHRlc3RzOiBhZGRlZCBmYWtlIGh0dHAgc3JjIHBsdWdpbgoJICBBZGRlZCBhIGZha2UgaHR0cCBzcmMgcGx1Z2luIGNhcGFibGUgb2YgZ2VuZXJhdGluZyBkYXRhIGJ1ZmZlcnMgZm9yIGEKCSAgcmVxdWVzdCBvZiBhIGh0dHAgdXJsLiBDYW4gYmUgdXNlZCBpbiB0ZXN0cyB0byBzaW11bGF0ZSBodHRwIGFjY2Vzc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzIyCgoyMDE1LTA3LTA3IDE1OjM4OjA4ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBwcm92aWRlIGEgZGVmYXVsdCBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheQoJICBJZiBNUERAc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkgaXMgbm90IHByZXNlbnQgaW4gdGhlIG1hbmlmZXN0LAoJICBkYXNoZGVtdXggc2VsZWN0cyB0aGUgZnJhZ21lbnQgY2xvc2VzdCB0byB0aGUgbW9zdCByZWNlbnRseSBnZW5lcmF0ZWQKCSAgZnJhZ21lbnQuIFRoaXMgY2F1c2VzIGEgcGxheWJhY2sgaXNzdWUgYmVjYXVzZSB0aGlzIGNob2ljZSBkb2VzIG5vdCBhbGxvdwoJICB0aGUgREFTSCBjbGllbnQgdG8gYnVpbGQgdXAgYW55IGJ1ZmZlciBvZiBkb3dubG9hZGVkIGZyYWdtZW50cyB3aXRob3V0CgkgIHBhdXNpbmcgcGxheWJhY2suIFRoaXMgaXMgYmVjYXVzZSBieSBkZWZpbml0aW9uIG5ldyBmcmFnbWVudHMgYXBwZWFyIG9uCgkgIHRoZSBzZXJ2ZXIgaW4gcmVhbC10aW1lIChlLmcuIGlmIHNlZ21lbnQgZHVyYXRpb24gaXMgNCBzZWNvbmRzLCBhIG5ldwoJICBmcmFnbWVudCB3aWxsIGFwcGVhciBvbiB0aGUgc2VydmVyIGV2ZXJ5IDQgc2Vjb25kcykuIElmIHRoZSBzdGFydGluZwoJICBwbGF5YmFjayBwb3NpdGlvbiB3YXMgbipzZWdtZW50RHVyYXRpb24gc2Vjb25kcyBiZWhpbmQgIm5vdyIsIHRoZSBEQVNICgkgIGNsaWVudCBjb3VsZCBkb3dubG9hZCB1cCB0byAnbicgZnJhZ21lbnRzIGZhc3RlciB0aGFuIHJlYWx0aW1lIGJlZm9yZSBpdAoJICByZWFjaGVkIHRoZSBwb2ludCB3aGVyZSBpdCBuZWVkZWQgdG8gd2FpdCBmb3IgZnJhZ21lbnRzIHRvIGFwcGVhciBvbiB0aGUKCSAgc2VydmVyLgoJICBUaGUgTVBEQHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5IGF0dHJpYnV0ZSBhbGxvd3MgYSBjb250ZW50IHB1Ymxpc2hlcgoJICB0byBwcm92aWRlIGEgc3VnZ2VzdGVkIHN0YXJ0aW5nIHBvc2l0aW9uIHRoYXQgaXMgYmVoaW5kIHRoZSBjdXJyZW50CgkgICJsaXZlIiBwb3NpdGlvbi4KCSAgSWYgdGhlIE1QREBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSBhdHRyaWJ1dGUgaXMgbm90IHByZXNlbnQsIHByb3ZpZGUKCSAgYSBzdWl0YWJsZSBkZWZhdWx0IHZhbHVlIGFzIGEgcHJvcGVydHkgb2YgdGhlIGRhc2hkZW11eCBlbGVtZW50LiBUbwoJICBhbGxvdyB0aGUgZGVmYXVsdCBwcmVzZW50YXRpb24gZGVsYXkgdG8gYmUgc3BlY2lmaWVkIGVpdGhlciB1c2luZwoJICBmcmFnbWVudHMgb3Igc2Vjb25kcywgdGhlIHByb3BlcnR5IGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgYSBudW1iZXIKCSAgYW5kIGEgdW5pdCAoZS5nLiAiMTAgc2Vjb25kcyIsICI0IGZyYWdtZW50cyIsICIyNTAwbXMiKS4KCjIwMTUtMTAtMjkgMTU6MDI6MzggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IEFkZCB2cDkgc3VwcG9ydAoJICBEaWZmZXJlbnRpYXRlIHRoZSB2cDgvdnA5IGJpdHN0cmVhbSBiYXNlZCBvbiBmb3VyY2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyNTEKCjIwMTUtMDktMDkgMTQ6MDk6NDMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wcm92ZSBkZXRlY3Rpb24gb2Ygc3RyZWFtIGxhbmd1YWdlCgkgIEltcHJvdmVkIHRoZSBkZXRlY3Rpb24gb2Ygc3RyZWFtJ3MgbGFuZ3VhZ2UgaWYgdGhlIEFkYXB0YXRpb25TZXQKCSAgY29udGFpbnMgbW9yZSB0aGFuIDEgQ29udGVudENvbXBvbmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzY3CgoyMDE1LTEwLTI5IDEyOjA0OjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoX21wZDogcmVzdHJpY3Qgc2VnbWVudCB0ZW1wbGF0ZSBmb3JtYXQgc3RyaW5ncyB0byAlMFswLTldKmQgYXMgcGVyIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTczNQoKMjAxNS0wOS0wOSAxMjozNjoxMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBzZWdtZW50IHRlbXBsYXRlIHBhcnNpbmc6IGFkZGVkIHN1cHBvcnQgZm9yICVkCgkgIEFkZGVkIHN1cHBvcnQgZm9yICVkIGluIHRlbXBsYXRlIGlkZW50aWZpZXIuCgkgIEFkZGVkIHRlc3RjYXNlcyBmb3IgJWQsICUzZCwgJTAtNGQgaWRlbnRpZmllciBmb3JtYXRzLgoKMjAxNS0xMC0yOSAxMTo1NDozNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcGFyc2luZyBvZiBzZWdtZW50IHRlbXBsYXRlcwoJICBDb3JyZWN0ZWQgdGhlIHBhcnNpbmcgb2YgYSBzZWdtZW50IHRlbXBsYXRlIHN0cmluZy4KCSAgQWRkZWQgdW5pdCB0ZXN0cyB0byB0ZXN0IHRoZSBzZWdtZW50IHRlbXBsYXRlIHBhcnNpbmcuCgkgIEFsbCByZXBvcnRlZCBwcm9ibGVtcyBhcmUgbm93IGNvcnJlY3RseSBoYW5kbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzM1CgoyMDE1LTEwLTI5IDExOjE3OjQ4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgZGFoc2RlbXV4OiB0YXNrIGlzIHNpZ25hbGVkIHRvIHN0b3Agd2l0aG91dCBzdG9wIGNvbmRpdGlvbiBiZWluZyBzZXQKCSAgVGhlIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fZnJlZSBmdW5jdGlvbiBpcyB0cnlpbmcgdG8gc3RvcCB0aGUgc3RyZWFtJ3MKCSAgZG93bmxvYWQgdGFzay4gRm9yIHRoaXMsIGl0IHNpZ25hbHMgdGhlIHRhc2suIEJ1dCBpdCBmYWlscyB0byBhbHNvIHNldCB0aGUKCSAgc3RyZWFtLT5kb3dubG9hZF9maW5pc2hlZCA9IFRSVUUsIHNvIHRoZSB0YXNrIHdpbGwgZ28gYmFjayB0byBzbGVlcCBhbmQKCSAgb25seSBleGl0IHdoZW4gdGhlIGRvd25sb2FkIGlzIGZpbmlzaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTIxCgoyMDE1LTEwLTI4IDE3OjAyOjUxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGNyYXNoIHdoZW4gc2VnbWVudCB0aW1lbGluZSBsaXN0IGlzIGdyZWF0ZXIgdGhhbiBzZWdtZW50IHVybCBsaXN0CgkgIFdoZW4gYnVpbGRpbmcgdGhlIG1lZGlhIHNlZ21lbnQgbGlzdCB1c2luZyBhIFNlZ21lbnRMaXN0IG5vZGUsIHRoZQoJICBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbiBmdW5jdGlvbiB3aWxsIGl0ZXJhdGUgdGhyb3VnaCB0aGUKCSAgbGlzdCBvZiBTIG5vZGVzIGFuZCB3aWxsIGV4cGVjdCB0byBmaW5kIGEgbWF0Y2hpbmcgU2VnbWVudFVybCBub2RlLiBJZgoJICBvbmUgZG9lcyBub3QgZXhpc3QsIHRoZSBjb2RlIG1hZGUgYW4gaWxsZWdhbCBtZW1vcnkgYWNjZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDk2CgoyMDE1LTA5LTExIDEwOjU5OjE1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdW5pdCB0ZXN0IGZvciBtaXNzaW5nIHByb2ZpbGVzCgoyMDE1LTA5LTExIDEwOjU3OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGRvIG5vdCBkZXJlZmVyZW5jZSBwcm9maWxlcyBpcyBhYnNlbnQKCSAgVGhlc2UgYXJlIHVzZWQgdG8gYXBwbHkgcmVzdHJpY3Rpb25zIG9uIHdoYXQgdGhlIE1QRCBmaWxlIG1heQoJICB1c2UsIHNvIG5vIHByb2ZpbGUgbWVhbnMgbm8gcmVzdHJpY3Rpb25zLgoJICBCZXNpZGVzLCBub3RoaW5nIGFjdHVhbGx5IHVzZXMgdGhlIHByb2ZpbGVzICh5ZXQpIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2OQoKMjAxNS0wOS0xNiAxNjo0NjoyOSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCBtdWx0aXRocmVhZCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNjkKCjIwMTUtMTAtMjggMTY6MzE6MzkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcGFyc2VyIHJlamVjdHMgbmVnYXRpdmUgdmFsdWVzIGZvciBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMjYKCjIwMTUtMTAtMjggMTY6MjQ6MDEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHBhcnNpbmcgb2YgbmVnYXRpdmUgdmFsdWVzIGludG8gdW5zaWduZWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDI5CgoyMDE1LTA5LTE3IDIwOjE4OjUyICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NDogaW5pdGlhbGl6ZSBwYXJzaW5nIHN0cnVjdHVyZXMKCSAgSW5pdGlhbGl6ZSB0byAwIHRoZXNlIHBhcnNlIHN0cnVjdHVyZXMgYmVmb3JlIGZpbGxpbmcgdGhlbTogR3N0SDI2NFNFSU1lc3NhZ2UsCgkgIEdzdEgyNjROYWxVbml0LCBHc3RIMjY0UFBTLCBHc3RIMjY0U1BTIGFuZCBHc3RIMjY0U2xpY2VIZHIuCgkgIFdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25zIHdoaWNoIGZpbGwgdGhvc2Ugc3RydWN0dXJlcywgdGhleSBtYXkgZmFpbCwgbGVhdmluZwoJICB1bml0aWFsaXplZCB0aG9zZSBzdHJ1Y3R1cmVzLiBUaGlzIHNpdHVhdGlvbiBtYXkgbGVhZCB0byBmdXR1cmUgcHJvYmxlbXMsIHN1Y2gKCSAgYXMgYSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBmcmVlaW5nLCBmb3IgZXhhbXBsZS4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0byB6ZXJvIHRoZXNlIHN0cnVjdHVyZXMsIGJlZm9yZSBmaWxsaW5nIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNjEKCjIwMTUtMDktMTggMTA6MDk6MjYgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBpbml0aWFsaXplIHBhcnNpbmcgc3RydWN0dXJlcwoJICBJbml0aWFsaXplIHRvIDAgdGhlc2UgcGFyc2Ugc3RydWN0dXJlcyBiZWZvcmUgZmlsbGluZyB0aGVtOiBHc3RIMjY1U0VJTWVzc2FnZSwKCSAgR3N0SDI2NU5hbFVuaXQsIEdzdEgyNjVWUFMsIEdzdEgyNjVQUFMsIEdzdEgyNjVTUFMgYW5kIEdzdEgyNjVTbGljZUhkci4KCSAgV2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvbnMgd2hpY2ggZmlsbCB0aG9zZSBzdHJ1Y3R1cmVzLCB0aGV5IG1heSBmYWlsLCBsZWF2aW5nCgkgIHVuaXRpYWxpemVkIHRob3NlIHN0cnVjdHVyZXMuIFRoaXMgc2l0dWF0aW9uIG1heSBsZWFkIHRvIGZ1dHVyZSBwcm9ibGVtcywgc3VjaAoJICBhcyBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIGZyZWVpbmcsIGZvciBleGFtcGxlLgoJICBUaGlzIHBhdGNoIGluaXRpYWxpemVzIHRvIHplcm8gdGhlc2Ugc3RydWN0dXJlcywgYmVmb3JlIGZpbGxpbmcgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE2MQoKMjAxNS0xMC0yNiAxOTo1ODowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgbGl2ZWFkZGVyOiBNYWtlIGxhdGVuY3kgcHJvcGVydHkgYmUgYSB1aW50IGluIG1pbGxpc2VjcwoJICBUaGlzIHJlc3RvcmVzIHJvdWdobHkgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHRoZSBvbGQgbGl2ZWFkZGVyIGVsZW1lbnQuCgkgIEV4Y2VwdCB0aGF0IHRoZSBsYXRlbmN5IG5vdyBhbHNvIGluY2x1ZGVzIHRoZSBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDUwCgoyMDE1LTA5LTA4IDE0OjAwOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZvcmJpZCBuZWdhdGl2ZSB2YWx1ZXMgZm9yIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0OTIKCjIwMTUtMTAtMjggMTU6Mzk6MDcgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcGFyc2VyIHJlamVjdHMgWE1McyB3aXRoIG5lZ2F0aXZlIHBlcmlvZCBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzI5CgoyMDE1LTEwLTI4IDE1OjM0OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IGNoZWNrIHNlZ21lbnQgbGlzdHMgaGF2ZSBlaXRoZXIgZHVyYXRpb24gb3IgdGltZWxpbmUKCSAgQW5kIGFkZCBlcnJvciBjaGVja2luZyBhbG9uZyB0aGUgd2F5LgoJICBBZGQgZHVyYXRpb24gd2hlcmUgYXBwcm9wcmlhdGUgc28gdW5pdCB0ZXN0cyBzdGlsbCBwYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjUwCgoyMDE1LTA5LTI5IDE2OjE3OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHZhbGlkYXRlIHJlcHJlc2VudGF0aW9uIHNldCBpZGVudGlmaWVyCgkgIEl0IG11c3QgaGF2ZSBubyB3aGl0ZXNwYWNlLCBhbmQgbXVzdCBjb21wbHkgd2l0aCBSRkMgMTczOCB3aGVuCgkgIHVzZWQgdG8gYnVpbGQgYSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NTIKCjIwMTUtMTAtMjggMTQ6NDE6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGluaXRpYWxpemUgb3V0cHV0IHBhcmFtcyB0byAwIGJlZm9yZSBjYWxsaW5nIGdsIGZ1bmN0aW9ucwoJICBUaGUgY2xpZW50IHNpZGUgQVBJIG9mIHRoZSBDaHJvbWl1bSdzIEdQVSBQcm9jZXNzIGhhcyBhc3NlcnRzCgkgIGluIGRlYnVnIG1vZGUgdGhhdCBjaGVjayB0aGF0IG91dHB1dCBwYXJhbXMgYXJlIGluaXRpYWxpemVkIHRvIDAuCgoyMDE1LTEwLTI3IDE2OjMyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCBjb3VsZCBuZXZlciBiZSBjYWxsZWQKCSAgQ292ZXJpdHkgQ0lEcyAjMTMyODgxOCwgIzEzMjg4MTksICMxMzI4ODIwLgoKMjAxNS0xMC0yNyAwMDozNjo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogYnVpbGQvcHJvdmlkZSBnbHN0ZXJlb21peC9zcGxpdCBvbiBnbGVzIG9ubHkgc3lzdGVtcwoKMjAxNS0xMC0yNiAxNjo1MTowNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiByZW5hbWUgZ2VtZXRyaWMgbWF0aCBmdW5jdGlvbnMgdG8gaGF2ZSB0aGVpciBzeW1ib2xzIG5hbWVzcGFjZWQKCSAgT3RoZXJ3aXNlIHRob3NlIHN5bWJvbHMgY2FuIGNvbmZsaWN0IHdpdGggZXh0ZXJuYWwgbGlicmFyaWVzIHdoZW4KCSAgbGlua2luZyBldmVyeXRoaW5nIHN0YXRpY2FsbHkgZm9yIG1vYmlsZSB0YXJnZXRzLgoJICBVc2UgdGhlIGdzdF9nbV8gcHJlZml4LCBzaG9ydCBmb3IgZ3N0IGdlb21ldHJpYyBtYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODgyCgoyMDE1LTEwLTI2IDE1OjMwOjA4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvbid0IGFkdmVydGlzZSB0aGUgbG9jYWwgd2xfZGlzcGxheSBjb250ZXh0CgkgIFRoaXMgd2xfZGlzcGxheSBwcm94eSBpcyB0ZW1wb3Jhcnkgb25seSB1bnRpbCB3YXlsYW5kc2luayBnb2VzIE5VTEwsCgkgIGF0IHdoaWNoIHBvaW50IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBkaXNwbGF5IGlzIGRpc3Bvc2VkLiBVbmZvcnR1bmF0ZWx5LAoJICBpZiB0aGlzIGlzIGFkdmVydGlzZWQgYXMgYSBHc3RDb250ZXh0LCBwbGF5YmluIHdpbGwgY2FjaGUgaXQgYW5kIHJlLWZlZWQKCSAgaXQgdG8gdGhlIHNpbmsgd2hlbiBpdCBnb2VzIFBMQVlJTkcgYWdhaW4sIGJ1dCB0aGUgd2xfZGlzcGxheSBwb2ludGVyCgkgIHdpbGwgYXQgdGhhdCBwb2ludCBiZSBpbnZhbGlkIGFuZCBjYXVzZSBhIGNyYXNoLgoJICBBbm90aGVyIHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIHdvdWxkIGJlIHRvIGFsc28gY2FjaGUgdGhlIEdzdFdsRGlzcGxheQoJICBvYmplY3QgaW5zaWRlIHRoZSBHc3RDb250ZXh0LCB3aGljaCB3b3VsZCBhdXRvbWF0aWNhbGx5IHJlZi1jb3VudAoJICB0aGUgZGlzcGxheSBjb25uZWN0aW9uLCBidXQgSSBzZWUgbm8gcmVhc29uIGluIGRvaW5nIHRoYXQgYXQgdGhlIG1vbWVudCwKCSAgYXMgdGhlcmUgYXJlIG5vIGtub3duIHVzZXJzIG9mIHRoaXMgR3N0Q29udGV4dCBvdXRzaWRlIHdheWxhbmRzaW5rLgoJICBJdCdzIHByb2JhYmx5IGJldHRlciB0byBhdm9pZCBjaGFzaW5nIGhpZGRlbiByZWZjb3VudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjcKCjIwMTUtMTAtMjYgMTg6MjY6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogYWxsb3cgb3V0cHV0dGluZyBtdWx0aXBsZSB0ZXh0dXJlcyBmb3IgZ2xlczMgY29udGV4dHMKCSAgdGhlIFVTSU5HX0dMRVMyIGluY2x1ZGVzIGFsbCBHTEVTMyBjb250ZXh0cyBhcyB3ZWxsIHdoaWNoIGRvZXMgc3VwcG9ydAoJICBkcmF3aW5nIHRvIG11bHRpcGxlIGJ1ZmZlcnMuICBJbnN0ZWFkIG1ha2Ugb3IgZGVjaXNpb24gc29sZWx5IGJhc2VkIG9uCgkgIHdoZXRoZXIgZ2xEcmF3QnVmZmVycyBpcyBhdmFpbGFibGUgb3Igbm90LgoKMjAxNS0xMC0yNiAxNzozNjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBleHBvc2UgdGhlIGVsZW1lbnQgb24gZ2xlczIgcGxhdGZvcm1zCgkgIFdlIGNhbiBkbyBldmVyeXRoaW5nIHdpdGggZ2xlczMgaG93ZXZlciBnbGVzMiByZXN0cmljdHMgdXMgbm90IGFsbG93aW5nCgkgIHNlcGFyYXRlZCBvciBmcmFtZS1ieS1mcmFtZSBtdWx0aXZpZXcgbW9kZXMgZHVlIHRvIG11bHRpcGxlIGRyYXcgYnVmZmVycy4KCjIwMTUtMTAtMjUgMDE6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIHRlc3RzOiBobHNkZW11eF9tM3U6IGFkZCB0ZXN0IGZvciBtYXN0ZXIgcGxheWxpc3Qgd2l0aCBtaXNzaW5nIHZhcmlhbnQgbGlzdCB1cmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg2MQoKMjAxNS0xMC0yMCAwOToxMzowNCArMDEwMCAgQW5kcsOpIERyYXN6aWsgPGdpdEBhbmRyZWQubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBjcmFzaCBvciBsZWFrIG1lbW9yeSBvbiBicm9rZW4gbWFzdGVyIHBsYXlsaXN0CgkgIElmIGEgKG1hc3RlcikgcGxheWxpc3QgY29udGFpbnMgYSB2YXJpYW50IGxpc3QgZW50cnkgd2l0aG91dCBhCgkgIFVSSSB0aGVuIGR1cmluZyBwYXJzaW5nIG9mIHRoZSBuZXh0IHZhcmlhbnQgbGlzdCBlbnRyeSB3ZSBhcmUKCSAgYSkgbGVha2luZyB0aGUgZW50cnkgd2UncmUgY3VycmVudGx5IHBhcnNpbmcgKG5ld19saXN0KSwgYW5kCgkgIGIpIGZyZWUnaW5nIHRoZSBwb2ludGVyIHRvIHRoZSBwcmV2aW91cyBsaXN0IGVudHJ5IChsaXN0KSB3aXRob3V0CgkgIHVwZGF0aW5nIHRoZSBwb2ludGVyLgoJICBIZW5jZSB3aGVuIHRoZW4gYWRkaW5nIHRoZSBVUkkgZm9yIHRoZSBsYXRlc3QgcGFyc2VkIGVudHJ5LCBpbmNvcnJlY3QKCSAgaW5mb3JtYXRpb24gaXMgc3RvcmVkLCBhcyB0aGUgaW5mb3JtYXRpb24gaXMgdXNlZCBmcm9tICdsaXN0JyB3aGljaAoJICBpcyBub3QgdmFsaWQgbWVtb3J5IGFueW1vcmUsIGFsc28gbGVhZGluZyB0byBjcmFzaGVzLgoJICBGaXggdGhpcyBieSBjb3JyZWN0bHkgc3RvcmluZyB0aGUgbmV3IHZhcmlhbnQgbGlzdCBlbnRyeSBwb2ludGVyCgkgIGFzIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg2MQoKMjAxNS0wOS0wNCAxMToyOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNoYW5nZSBkaXNwb3NlIGZ1bmN0aW9uIHRvIGZpbmFsaXplCgoyMDE1LTA4LTMwIDIxOjM1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIGhlbHBlciBmdW5jdGlvbiBvbmx5IHVzZWQgb25jZQoKMjAxNS0wOC0zMCAxNzo0MToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBkZXByZWNhdGVkICdmcmFnbWVudHMtY2FjaGUnIHByb3BlcnR5CgkgIEl0J3MgYmVlbiBub24tZnVuY3Rpb25hbCBmb3IgdHdvIGN5Y2xlcyBub3csIGxldCdzCgkgIGdldCByaWQgb2YgaXQuCgoyMDE1LTA5LTAyIDE2OjQwOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiBtb3ZlIGZpbGUgbG9va3VwIGJ5IHNlcXVlbmNlIGRpcmVjdGx5IGludG8gY29kZQoJICBOaWNlciB0byByZWFkLCB0d28gbGluZXMgb2YgY29kZSBsZXNzLCBhbmQgYWxzbyB0aGUgY2FsbGJhY2sKCSAgZnVuY3Rpb24gc2hvdWxkJ3ZlIGJlZW4gYSBHQ29tcGFyZUZ1bmMgdGhhdCByZXR1cm5zIGEgZ2ludAoJICBhbmQgbm90IGEgYm9vbGVhbiAoaXQgZGlkIHdvcmsgY29ycmVjdGx5LCB3YXMganVzdCBjb25mdXNpbmcpLgoKMjAxNS0wOS0wMSAxMjo0ODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFuLXVwOiByZW1vdmUgdW51c2VkIGFyZ3VtZW50IGluIGZ1bmN0aW9uIGNhbGwKCjIwMTUtMDgtMzAgMTc6MjI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFuLXVwOiByZWluZGVudCBoZWFkZXIgZm9yIGJldHRlciByZWFkYWJpbGl0eQoJICBBbmQgcmVtb3ZlIGR1cGxpY2F0ZSBkZWZpbmUuCgoyMDE1LTEwLTIzIDE4OjU4OjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBSZW1vdmUgZW1wdHkgc2V0L2dldF9wcm9wZXJ0eSgpCgkgIFdlIGNhbiBhZGQgdGhlbSBhZ2FpbiBpZiB3ZSBldmVyIGFkZCBwcm9wZXJ0aWVzLgoKMjAxNS0xMC0yMyAxODozODozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogUG9ydCB0byBHc3RBZ2dyZWdhdG9yCgoyMDE1LTEwLTIyIDE5OjIwOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBTZXQgR0MgZXNzZW5jZSBlbGVtZW50IFVMIHZlcnNpb24gdG8gMHgwMQoJICBmZm1wZWcgb3RoZXJ3aXNlIHJlamVjdHMgaXQgYW5kIHRoZSBzcGVjIGlzIG5vdCAxMDAlIGNsZWFyIGFib3V0IHRoYXQuCgoyMDE1LTEwLTIwIDE3OjA5OjIyICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogRml4IGNyaXRpY2FsIHdhcm5pbmcgdHJ5aW5nIHRvIHJldHJpZXZlIFNTUkMgZnJvbSBhIG5vbiBmYiBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzYKCjIwMTUtMTAtMjIgMTk6MjQ6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICBteGY6IFJlb3JkZXIgQ0ZMQUdTIGFuZCBMSUJTCgoyMDE1LTEwLTIzIDE1OjQyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBjcmVhdGVfbmV3X3BhZCgpIHZmdW5jIHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3VyCgkgIE5vdCBhbGwgYWdncmVnYXRvciBzdWJjbGFzc2VzIHdpbGwgaGF2ZSBhIHNpbmdsZSBwYWQgdGVtcGxhdGUgY2FsbGVkIHNpbmtfJXUKCSAgYW5kIG1pZ2h0IGRvIHNvbWV0aGluZyBzcGVjaWFsIGRlcGVuZGluZyBvbiB3aGF0IHRoZSBhcHBsaWNhdGlvbiByZXF1ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAxOAoKMjAxNS0xMC0yMSAxOTowMDo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogU2V0IEtBRyBzaXplIHRvIDEKCSAgV2UncmUgbm90IGFsaWduaW5nIG91ciBvdXRwdXQgaW4gYW55IHdheSwgYW5kIDAgaXMgaW52YWxpZC4KCjIwMTUtMTAtMjEgMTg6NTg6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGxldCB0aGUgaGVhZGVyIHBhcnRpdGlvbidzIHByZXZfcGFydGl0aW9uIHBvaW50IGZvcndhcmQgdG8gdGhlIGZvb3RlcgoKMjAxNS0xMC0yMSAxODozMjowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmdHlwZXM6IEZpeCBnZW5lcmF0aW9uIG9mIG9wZXJhdGlvbmFsIHBhdHRlcm4gVUwKCjIwMTUtMTAtMjEgMTg6MzE6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZmRlbXV4LXN0cnVjdHVyZTogU3luYyBmYWtlc2luayBzdGF0ZSB3aXRoIHRoZSBiaW4gdG8gbWFrZSB0aGUgYXBwbGljYXRpb24gd29yayBhdCBhbGwKCjIwMTUtMTAtMjEgMTg6MjA6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogaDI2NCBpcyBhbHdheXMgYnl0ZS1zdHJlYW0gaW5zaWRlIE1YRgoKMjAxNS0xMC0yMSAxODowNjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogQWRkIHVuaXQgdGVzdHMgZm9yIEgyNjQvUENNCgoyMDE1LTEwLTIxIDE3OjQ3OjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBsZWFrIFNFRUsgZXZlbnRzIHdoZW4gZHJvcHBpbmcgdGhlbQoKMjAxNS0xMC0yMSAxNzoyMTowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZnZjMzogVGhlIHdyYXBwaW5nIGlzIHRoZSAxNXRoIGJ5dGUgb2YgdGhlIGVzc2VuY2UgY29udGFpbmVyIFVMLCBub3QgdGhlIDE2dGgKCSAgSW4gb3RoZXIgbWFwcGluZ3MgaXQgaXMgdGhlIDE2dGggdGhvdWdoLgoKMjAxNS0xMC0yMSAxNzoxMTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IElmIHNlZWtpbmcgdG8gdGhlIHJlbWFpbmluZyBwYXJ0cyBvZiB0aGUgZmlsZSBmYWlscyBvbiBFT1MsIGNvbnNpZGVyIHRoZSBzdHJlYW0gZG9uZQoJICBXaXRob3V0IHRoaXMgd2Ugd291bGQgcnVuIHRoaXMgd2hpbGUgbG9vcCBmb3JldmVyLCBhbHdheXMgc2Vla2luZyBhZ2FpbiBmb3IKCSAgdGhlIHNhbWUgc3RyZWFtLgoKMjAxNS0xMC0yMSAxNTowNzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogUHJvcGVybHkgZW5hYmxlIHVuaXQgdGVzdHMgYWdhaW4KCjIwMTUtMTAtMjEgMDE6MjI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zi5jOgoJICBteGY6IFJlLWVuYWJsZSBteGZtdXggZWxlbWVudAoKMjAxNS0xMC0yMSAwMToyMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgbXhmanBlZzIwMDA6IEZpeCBjYXBzCgkgIFRoZXJlIGlzIG5vIGZpZWxkcyBmaWVsZCBhbnltb3JlLgoKMjAxNS0xMC0yMSAwMToxNzowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgZmFpbCBTRUdNRU5UIGV2ZW50cwoKMjAxNS0xMC0yMSAwMTowMjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUHVzaCBzdHJlYW0tc3RhcnQgYW5kIGNhcHMgZXZlbnQgYmVmb3JlIHNlZ21lbnQgZXZlbnQKCSAgQW5kIGRvbid0IHB1c2ggdGhlIGNhcHMgZXZlbnQgZHVyaW5nIGluc3RhbmNlIGluaXRpYWxpemF0aW9uIGFscmVhZHkuCgoyMDE1LTEwLTIxIDAwOjQ1OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmFlcy1id2Y6IEZvcm1hdCBpcyB1bnNpZ25lZCBpZiBpdCdzIDEgYnl0ZSBwZXIgY2hhbm5lbAoJICAuLi4gbm90IDEgYnl0ZSBwZXIgYmxvY2suCgoyMDE1LTEwLTIxIDE2OjUxOjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBoYW5kZGV0ZWN0OiBubyBuZWVkIHRvIGdldCBhIHdyaXRhYmxlIGJ1ZmZlcgoJICBObyBuZWVkIHRvIGdldCBhIHdyaXRhYmxlIGJ1ZmZlciBpbnNpZGUgY3ZfdHJhbnNfZnVuYyBvZiBvcGVuY3YgdmlkZW8KCSAgZmlsdGVyLiBHc3RCYXNlVHJhbnNmb3JtIHRha2VzIGNhcmUgb2YgdGhpcy4KCjIwMTUtMTAtMjEgMTQ6MzU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI5OTgwMGEgdG8gYjMxOTkwOQoKMjAxNS0xMC0yMCAxNzoyOTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIG5ldyBHU1RfRU5BQkxFX0VYVFJBX0NIRUNLUyAjZGVmaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzAKCjIwMTUtMTAtMjEgMTQ6MjY6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWFlZDFkNyB0byBiOTk4MDBhCgoyMDE1LTEwLTIxIDA1OjM0OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xzaGFkZXJlbGVtZW50OiBmcmVlIHRoZSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHN0cmluZ3Mgb24gZmluYWxpemUKCSAgRml4ZXMgYSBtZW1vcnkgbGVhayB3aGVuIHVzaW5nIHRoZSB2ZXJ0ZXgvZnJhZ21lbnQgcHJvcGVydGllcy4KCjIwMTUtMTAtMjEgMDU6MzM6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYnVpbGQgZXJyb3JzCgkgIHByaW50ZiAlbGxkIGluc3RlYWQgb2YgR19HSU5UNjRfRk9STUFULgoJICBEb3VibGUgcmV0IHZhcmlhYmxlIGRlY2xhcmF0aW9uLgoKMjAxNS0xMC0yMSAwNTowMDoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsc2hhZGVyZWxlbWVudDogcmVtb3ZlIHVubmVlZGVkIHJlZmVyZW5jZSB0byA8Z3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg+CgoyMDE1LTEwLTIxIDA0OjQ0OjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZml4IHVzYWdlIG9mIHN0cmluZy5oIGFuZCBzdGRpby5oIGZ1bmN0aW9ucyB3aXRob3V0IGluY2x1ZGluZyB0aGUgaGVhZGVycwoJICBlLmc6CgkgIGdzdGdsY29udGV4dF9lZ2wuYzo2MTM6NzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJjbXAnCgkgIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQoJICBpZiAoc3RyY21wIChHX01PRFVMRV9TVUZGSVgsICJzbyIpID09IDApCgoyMDE1LTEwLTE2IDA3OjAzOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNyZWF0ZSBhIGNvbnRleHQgaW4gTlVMTF9SRUFEWQoJICBTbyB0aGF0IGl0J3MgcG9zc2libGUgZm9yIGRlY29kZXJzIGV0IGFsLiB0byByZXF1ZXN0IHRoZSBPcGVuR0wgY29udGV4dAoJICBpbiB0aGVpciBSRUFEWV9QQVVTRUQgdHJhbnNpdGlvbiB3aXRoIGRlY29kZWJpbi9wbGF5YmluLgoKMjAxNS0xMC0xNiAwMDozNDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFtY3ZpZGRlYzogdXNlIGdzdGNvbnRleHQgdG8gcmV0cmVpdmUgdGhlIE9wZW5HTCBjb250ZXh0CgoyMDE1LTA0LTIwIDEzOjQ2OjU4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IE9ubHkgYWxsb3cgR0wgb3V0cHV0IGlmIHRoZSBkZWNvZGVyIGhhcyB1bmtub3duIGNvbG9yIGZvcm1hdHMKCSAgSWYgR1NUX0FNQ19JR05PUkVfVU5LTk9XTl9DT0xPUl9GT1JNQVRTIGlzIHNldCB0byB5ZXMsIG5vbi1HTCBvdXRwdXQKCSAgaXMgc3RpbGwgYWxsb3dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTIwNAoKMjAxNC0wNi0wNSAxMDozMzo1NiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jc3VyZmFjZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2UuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFtY09uRnJhbWVBdmFpbGFibGVMaXN0ZW5lci5qYXZhOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBHTCBvdXRwdXQgaW4gYW1jdmlkZW9kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTIwNAoKMjAxNS0wNC0zMCAxMjozMzo1OCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEbyBub3QgZmx1c2ggY29kZWMgaWYgaXQgaXMgbm90IHN0YXJ0ZWQKCjIwMTUtMDQtMTMgMTM6MTA6MTAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBbGxvdyBvYmplY3QgdG8gYmUgTlVMTCBpbiBnc3RfYW1jX2puaV8qdW5yZWYgZnVuY3Rpb25zCgoyMDE1LTAzLTEzIDE2OjEzOjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQgKCVkIGZvciBhIGdzaXplIGFyZ3VtZW50KQoKMjAxNS0wNC0wMiAxNjoyODoxNCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEltcHJvdmUgY29sb3IgZm9ybWF0IGRlYnVnIG1lc3NhZ2VzCgoyMDE1LTAzLTMxIDE2OjI0OjQwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEltcHJvdmUgZGVidWcgbWVzc2FnZXMKCjIwMTUtMDMtMzEgMTc6NDg6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRG8gbm90IHdhcm4gd2UgZG8gbm90IHN1cHBvcnQgQ09MT1JfRm9ybWF0U3VyZmFjZQoKMjAxNS0xMC0yMSAwMzo1OTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJICBnbDogcmVtb3ZlIHVubmVlZGVkIHNoYWRlciB2YXJpYWJsZSBwYXJzaW5nIGNvZGUKCjIwMTUtMTAtMjEgMDM6MjM6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSAgZ2xzaGFkZXJlbGVtZW50OiBpbXBsZW1lbnQgc2V0dGluZyBhcmJpdHJhcnkgdW5pZm9ybXMKCSAgQ3VycmVudGx5IGZsb2F0IGFuZCBpbnQgYXJlIHN1cHBvcnRlZCBieSBkZWZhdWx0LiB2ZWMyLCB2ZWMzLCB2ZWM0CgkgIGFuZCBtYXQ0IGFyZSBzdXBwb3J0ZWQgaWYgZ3JhcGhlbmUgaXMgdXNlZC4gIE9mIGNvdXJzZSBpZiBvbmUgd2FudHMKCSAgdG8gc2V0IGN1c3RvbSB1bmlmb3JtcyB0aGV5IGNhbiBhbHNvIGJlIHNldCB1c2luZyB0aGUgY3JlYXRlLXNoYWRlcgoJICBzaWduYWwuCgoyMDE1LTEwLTIwIDEyOjI0OjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBoYW5kZGV0ZWN0OiBmcmVlIGJlc3RfciB3aXRoIGRlbGV0ZQoJICBiZXN0X3IgaXMgYSBjdjo6UmVjdCwgc28gaXQgc2hvdWxkIGJlIGZyZWVkIHdpdGggZGVsZXRlIGFuZCBub3Qgd2l0aAoJICBnX2ZyZWUoKQoKMjAxNS0xMC0yMCAxMjowODo1OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBvcGVuY3Y6IG1vdGlvbmNlbGxzOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgV2Uga25vdyB0aGF0IHRoZSBnY2hhciBhcnJheXMgY29udGFpbiBhdCBsZWFzdCBvbmUgc3RyaW5nLiBGdXJ0aGVybW9yZSwKCSAgZ19zdHJmcmVldigpIGNoZWNrcyBpZiB0aGUgYXJyYXkgaXMgTlVMTCBhbmQgc2ltcGx5IHJldHVybnMgaWYgaXQgaXMuCgkgIEhlbmNlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGlmIHRoZSBhcnJheSBpcyBlbXB0eSBiZWZvcmUgdXNpbmcKCSAgZ19zdHJmcmVldigpLgoJICBDSUQgMTMyNzQxMi0xMzI3NDE1CgoyMDE1LTA3LTA4IDE3OjE3OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHMvbTN1ODogVXBkYXRlIGN1cnJlbnQgcG9zaXRpb24gaW4gYWxsIGNhc2VzCgkgIEluIG9yZGVyIHRvIGVuc3VyZSB0aGUgc2VxdWVuY2VfcG9zaXRpb24gd2lsbCBhbHdheXMgYmUgY29uc2lzdGVudGx5IHVwZGF0ZWQsCgkgIHN0b3JlIHRoZSBjdXJyZW50IGZpbGUgZHVyYXRpb24uCgkgIFRoaXMgd2F5LCB3aGVuIHdlIGFkdmFuY2UsIHdlIGNhbiBhbHdheXMgaW5jcmVtZW50IHRoZSBwb3NpdGlvbiBiYXNlZCBvbiB3aGF0CgkgIHdhcyBwcmV2aW91c2x5IG91dHB1dHRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEzMgoKMjAxNS0xMC0xNCAxODozNTowMCArMDIwMCAgcGxhbW90IDxwaWVycmUubGFtb3RAb3BlbndpZGUuZnI+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogRml4IDY0Yml0IGNvbXBhdGliaWxpdHkgaXNzdWUKCSAgU2V0V2luZG93TG9uZyB3b3JrcyBvbmx5IGZvciAzMiBiaXQgc3lzdGVtcywgdGh1cyB3aW5kb3dzIGV2ZW50cyAobW92ZS9yZXNpemUpCgkgIHdoZXJlIG5vdCBpbnRlcnByZXRlZCBvbiA2NCBiaXQgc3lzdGVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NjE3CgoyMDE1LTEwLTE5IDE1OjE1OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2w6IGJlIGNvbnNpc3RlbnQgaW4gZ29iamVjdCBib2lsZXJwYXRlCgkgIEdTVF9HTF9JU18qIHZzIEdTVF9JU19HTF8qCgkgIGdpdCBncmVwIC1sICdHU1RfR0xfSVNfJyB8IHhhcmdzIHNlZCAtaSAncy9HU1RfR0xfSVNfL0dTVF9JU19HTF8vZycKCjIwMTUtMTAtMTkgMTU6MDI6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIGFkZCBnbGxpdmVzaGFkZXIgcHJvZ3JhbSB0byAuZ2l0aWdub3JlCgoyMDE1LTEwLTE3IDEyOjQ4OjExIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IGRyb3AgZnJhbWUgaW4gY2FzZSBvZiBfaGFuZGxlKCkgZmFpbHVyZQoJICBBbGxvd3MgYmFzZWNsYXNzIHRvIGhhbmRsZSBpdCBmcm9tIHRoZXJlCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjMKCjIwMTUtMTAtMTcgMDE6NTE6MjQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkgIHBubWRlYzogcHJvcGFnYXRlIGlucHV0IHN0YXRlIGFmdGVyIHBhcnNpbmcKCSAgU3RvcmUgYW5kIGNvcHkgaW5wdXQgc3RhdGUgZmllbGRzIHdoZW4gc2V0dGluZyB0aGUKCSAgb3V0cHV0IHN0YXRlIG9mIHRoZSBkZWNvZGVyLiBBdm9pZHMgcHJvYmxlbXMgbGlrZQoJICB0aGUgZnJhbWVyYXRlIHNldCBieSBhbiB1cHN0cmVhbSBlbGVtZW50IGJlaW5nIGlnbm9yZWQKCSAgUmVsYXRlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MwoKMjAxNS0xMC0xNiAyMDo0NTo0MiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBjb21wbGV0ZWx5IHJlc2V0IHBhcnNpbmcgc3RhdGUgYXQgZmx1c2gKCSAgTWFrZXMgc3VyZSB0aGUgbW5nciBzdHJ1Y3QgcmVmbGVjdHMgYSBjbGVhbiBzdGF0ZQoJICBmb3IgdGhlIG5leHQgZnJhbWUsIGF2b2lkaW5nIGZhaWx1cmVzIGxpa2U6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjMKCjIwMTUtMTAtMTcgMTU6MjY6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbHNoYWRlcmVsZW1lbnQ6IGltcGxlbWVudCBvbi1kZW1hbmQgY3JlYXRlLXNoYWRlciBzaWduYWxsaW5nCgkgIE9uZSBtYXkgbm90IGhhdmUgYW4gR3N0R0xDb250ZXh0IGF2YWlsYWJsZSBvciBjdXJyZW50IGluIHRoZSB0aHJlYWQgd2hlcmUgb25lCgkgIHdvdWxkIG5lZWQgdG8gdXBkYXRlIHRoZSBzaGFkZXIuICBTdXBwb3J0IHRoaXMgYnkgc2lnbmFsbGluZyBjcmVhdGUtc2hhZGVyCgkgIHdoZW5ldmVyIHRoZSBvbmUtc2hvdCAndXBkYXRlLXNoYWRlcicgaXMgc2V0IHRvIFRSVUUuCgoyMDE1LTEwLTE3IDAyOjQyOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgZ2wvY2FsYXllcjogZG9uJ3QgbGVhayBhIGdsIHNoYWRlciBvYmplY3QKCSAgV2Ugd2lsbCBhbHdheXMgb3ZlcndyaXRlIHRoZSBjYV9zaW5rLT5yZWRpc3BsYXlfc2hhZGVyIHdpdGhvdXQgZnJlZWluZyB0aGUKCSAgb2JqZWN0LgoKMjAxNS0xMC0xNyAwMjo0MDo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IHNlcGFyYXRlIG91dCB0aGUgd2lkZ2V0L3dpbmRvdyBkZXN0cm95IGNhbGxiYWNrcwoJICBGaXhlcyBhc3NlcnRpb24gZHVlIHRvIHRoZSBzaW5rX2ZpbmFsaXplKCkgYmVpbmcgcnVuIGJlZm9yZSB0aGUgd2lkZ2V0IGRlc3Ryb3kKCSAgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NjkKCjIwMTUtMTAtMTcgMDE6MDg6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbC9leGFtcGxlczogYWRkIGEgbGl2ZSBzaGFkZXIgZGVtbyB1c2luZyB0aGUgbmV3IEdzdEdMU0xTdGFnZQoJICBJbXBsZW1lbnRlZCB3aXRoIHZpZGVvdGVzdHNyYyAhIGdsc2hhZGVyICEgZ2x1cGxvYWQgISBndGtnbHNpbmsKCSAgRXJyb3JzIG9uIGFuIGludmFsaWQgc2hhZGVyIGNvbXBpbGF0aW9uIGFyZSBpZ25vcmVkIGhvd2V2ZXIgYW55IGVycm9yCgkgIHByb3ZpZGVkIGJ5IHRoZSBnbHNsIGNvbXBpbGVyIGlzIHByaW50ZWQgdG8gc3Rkb3V0LgoKMjAxNS0xMC0xNiAwMDoyMzo1NiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IHNraXAgcGFkZGluZyB3aGVuIG1hcHBpbmcgUlRQIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjY1MwoKMjAxNS0xMC0xNCAxOTozMjowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFByb3Blcmx5IGZvcndhcmQgdGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTc4CgoyMDE1LTEwLTE0IDE5OjI0OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogSW1wbGVtZW50IHN1cHBvcnQgZm9yIENPTE9SX1FDT01fRm9ybWF0WVZVNDIwU2VtaVBsYW5hcjMybU11bHRpVmlldyBmb3IgZGVjb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3OAoKMjAxNS0xMC0xNiAwMjo1NzoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGFkZCBicmFja2V0cyBhcm91bmQgcG9pbnRlciBkZXJlZmVyZW5jZSByZWZlcmVuY2luZyBhbiBhcnJheQoJICBXaGlsZSB0ZWNobmljYWxseSwgaSBpcyBhbHdheXMgMCBhbmQgKnZlcnRleF9zb3VyY2VzW2krK10gaXMgZXF1aXZhbGFudAoJICB0byAoKnZlcnRleF9zb3VyY2VzKVtpKytdLiAgQmUgZnV0dXJlLXByb29mIGluIHRoZSBjYXNlIG9mIGNvZGUKCSAgbW92ZXMvY2hhbmdlcy9ldGMuCgkgIENJRCAxMzI3NDA2CgoyMDE1LTEwLTE1IDIzOjQ3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgZ2wvY2FvcGVuZ2xsYXllcnNpbms6IHBvcnQgdG8gbmV3IEdzdEdMU2hhZGVyIEFQSQoJICBmaXhlcyBidWlsZCBlcnJvcjoKCSAgInVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmU6CgkgIGdzdF9nbF9zaGFkZXJfY29tcGlsZV93aXRoX2RlZmF1bHRfdmZfYW5kX2NoZWNrIgoKMjAxNS0xMC0xNSAyMjo0MjoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvdGVzdHM6IHBvcnQgZ2xjb250ZXh0IHRlc3QgdG8gb3BlbmdsCgkgIE5vdyB1c2VzIHZhbydzIGFuZCB2Ym8ncyB3aGVuIHBvc3NpYmxlIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIGdzdGdsIGxpYnJhcnkuCgoyMDE1LTA5LTA0IDE2OjE2OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBwb3J0IGVsZW1lbnQgdG8gR3N0R0xTTFN0YWdlCgkgIC0gUHJvdmlkZSBhIHNoYWRlciBwcm9wZXJ0eSB0byBzZXQgdGhlIGZ1bGwgc2hhZGVyIHBpcGVsaW5lCgkgIC0gUHJvdmlkZSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHByb3BlcnRpZXMgZm9yIGp1c3QgcHJvdmlkaW5nIHNpbXBsZQoJICBzaGFkZXIgc291cmNlcy4KCjIwMTUtMDktMDQgMTY6MDI6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xzaGFkZXI6IHBvcnQgdG8gdXNpbmcgR3N0R0xTTFN0YWdlIG9iamVjdHMgZm9yIHN0cmluZyBtYW5hZ2VtZW50CgkgIEEgR3N0R0xTaGFkZXIgaXMgbm93IHNpbXBseSBhIGNvbGxlY3Rpb24gb2Ygc3RhZ2VzIHRoYXQgYXJlCgkgIGNvbXBpbGVkIGFuZCBsaW5rZWQgdG9nZXRoZXIgaW50byBhIHByb2dyYW0uICBUaGUgdW5pZm9ybS9hdHRyaWJ1dGUKCSAgaW50ZXJmYWNlIGhhcyByZW1haW5lZCB0aGUgc2FtZS4KCjIwMTUtMDktMDQgMTQ6MzY6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkgIGdsc2w6IGFkZCBhIHNoYWRlciBzdGFnZSBvYmplY3QgR3N0R0xTTFN0YWdlCgkgIFJlcHJlc2VudHMgYSBzdGFnZSAodmVydGV4LCBnZW9tZXRyeSwgZnJhZ21lbnQsIGV0YykgaW4gdGhlIHNoYWRlcgoJICBwaXBlbGluZS4KCjIwMTUtMDktMDQgMDA6MDk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJICBnbC9zaGFkZXIvdmFyaWFibGVzOiBpbmNsdWRlIGdlbmVyaWMgZ2wuaCBoZWFkZXIKCSAgT3RoZXJ3aXNlIHdlIG1heSBtaXNzIHNvbWUgZm9yd2FyZCBkZWNsYXJhdGlvbnMKCSAgRml4ZXMgYnVpbGQgZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gR3N0R0xTTFN0YWdlCgoyMDE1LTA4LTIwIDE1OjExOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHNsLmM6CgkgIGdsOiBhZGQgc29tZSBHTFNMIHV0aWxpdHkgZnVuY3Rpb25zCgkgIFNwZWNpZmljYWxseSBwYXJzaW5nL3NldHRpbmcgR0xTTCB2ZXJzaW9ucyBhbmQgdGhlIHNoYWRlciByZWxhdGVkCgkgIGZ1bmN0aW9uIHRhYmxlLgoKMjAxNS0xMC0xNCAyMjo1MToyOSArMDIwMCAgUGF1bCBBcnplbGllciA8cGF1bC5hcnplbGllckBmcmVlLmZyPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkgIGR0bHM6IEZpeCBuYW1lIGNvbmZsaWN0IHdpdGggb3BlbnNzbCBvbiB3aW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTkyCgoyMDE1LTA5LTA0IDE4OjQwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBpZiBtZWRpYSBzZXF1ZW5jZSBpcyBub3Qgc3BlY2lmaWVkLCB1c2UgMAoJICBBbGxvd3MgcGxheWxpc3RzIHRoYXQgYXJlIG1pc3NpbmcgdGhlIG1lZGlhc2VxdWVuY2UgaW5mb3JtYXRpb24gdG8KCSAgYmUgY29ycmVjdGx5IHBhcnNlZC4gSWYgdGhlIHBsYXlsaXN0IHdhcyB1cGRhdGVkIHdpdGhvdXQgcmVzZXRpbmcKCSAgdGhlIG1lZGlhc2VxdWVuY2UgaXQgd291bGQgY29uc3RhbnRseSBpbmNyZWFzZSBvdmVyIHN1YnNlcXVlbnQgdXBkYXRlcywKCSAgbGVhZGluZyB0byBpc3N1ZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAxNS0wOC0zMCAxNDo1Njo1NyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggZmFsbGJhY2sgYnVmZmVyIGFsbG9jYXRpb24KCSAgQ29weS1wYXN0ZSBtaXN0YWtlOyB0aGUgd2xfYnVmZmVyIHdhcyBhdHRhY2hlZCBvbiB0aGUgd3JvbmcgYnVmZmVyLi4uCgoyMDE1LTA4LTMwIDE0OjU1OjExICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcmVuYW1lIEdzdFdsRGlzcGxheTo6Zm9ybWF0cyBhcnJheSB0byBzaG1fZm9ybWF0cwoJICBUaGVzZSBmb3JtYXRzIGFyZSBzcGVjaWZpYyB0byB0aGUgd2xfc2htIGludGVyZmFjZS4gV2UgYXJlIGdvaW5nCgkgIHRvIGFkZCBkbWFidWYgZm9ybWF0cyBsYXRlciBhcyB3ZWxsLgoKMjAxNS0wOC0yOSAyMjoyOToxNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5oOgoJICB3YXlsYW5kc2luazogcmVwbGFjZSB0aGUgY3VzdG9tIEdzdFdsU2htTWVtb3J5IHdpdGggR3N0RmRNZW1vcnkKCjIwMTUtMTAtMTQgMTk6NTM6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFVwZGF0ZSBQT1RGSUxFUy5pbiBmb3IgT3BlbkNWIEMrKyBmaWxlIHJlbmFtZQoKMjAxNS0xMC0xNCAxNzo0MTowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IEFsbG93IGRlYnVnZ2luZyBvZiB0aGUgcGxheWxpc3QKCSAgSGVscHMgZGVidWdnaW5nIGlzc3VlcwoKMjAxNS0xMC0xNCAxNzozODozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEF2b2lkIG5lZ2F0aXZlIHNlcXVlbmNlIG51bWJlcnMKCSAgRm9yIGxpdmUgc3RyZWFtcywgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhlcmUncyBhIGNlcnRhaW4gZGlzdGFuY2UKCSAgYmV0d2VlbiB0aGUgc2VxdWVuY2UgdG8gcGxheSBhbmQgdGhlIGxhc3QgKGVhcmxpZXN0KSBmcmFnbWVudC4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBpdCBhc3N1bWVzIHRoZXJlIGFyZSBhdCBsZWFzdCAzIGZyYWdtZW50cyBpbgoJICB0aGUgcGxheWxpc3QsIHdoaWNoIG1pZ2h0IG5vdCBhbHdheXMgYmUgdGhlIGNhc2UgKGxpa2UgaW4gdGhlIGNhc2UKCSAgb2YgYSBzZXJ2ZXIgcmVzdGFydGluZyBhbmQgZ3JhZHVhbGx5IGFkZGluZyBmcmFnbWVudHMpLgoJICBJbiBvcmRlciB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCBuZWdhdGl2ZSBzZXF1ZW5jZSBudW1iZXJzICh3aGljaAoJICB3aWxsIGp1c3QgbG9vcCBmb3JldmVyKSwgbGltaXQgdGhlIG5ldyB0YXJnZXQgc2VxdWVuY2UgbnVtYmVyIHRvCgkgIHRoZSBoaWdoZXN0IG9mOgoJICAqIGVpdGhlciB0aGUgZmlyc3Qgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBwbGF5bGlzdCAoZmFsbGJhY2spCgkgICogb3IgMyBmcmFnbWVudHMgZnJvbSB0aGUgbGFzdCBvbmUgKHN0YW5kYXJkIGJlaGF2aW91cikKCjIwMTUtMTAtMTQgMTU6MzA6MDUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSAgb3BlbmN2OiBzd2l0Y2ggcmVtYWluaW5nIHRvIEMrKwoJICBTd2l0Y2ggcmVtYWluaW5nIEMgZmlsZXMgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZUNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTQgMTA6MzE6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBTZXQgZGVmYXVsdCBsYXN0X2J5dGVfcG9zIHRvIC0xCgkgIFRoZSB2YWx1ZSBpcyBvcHRpb25hbCBpbiB0aGUgcmFuZ2UsIGFuZCBpZiBpdCBpcyBhYnNlbnQgaXQgbWVhbnMgd2Ugc2hvdWxkCgkgIGRvd25sb2FkIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLiBOb3QgdW50aWwgcG9zaXRpb24gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xNCAxMDozNDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogSFRUUCByYW5nZXMgYXJlIGluY2x1c2l2ZSwgR1N0cmVhbWVyIHNlZ21lbnQuc3RvcCBpcyBleGNsdXNpdmUKCSAgVHJhbnNsYXRlIHRoZSB2YWx1ZXMgYWNjb3JkaW5nbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTQgMTQ6MzQ6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBvcGVuY3Y6IG1vdGlvbmNlbGxzOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3Rtb3Rpb25jZWxscyB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTQgMjI6MzU6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIGxpdmVhZGRlciBkaXJlY3RvcnkgdG8gdGhlIGNydWZ0IGxpc3QKCSAgU28gdGhhdCB3ZSBjYW4gcmVtb3ZlIGl0IGFuZCBhdm9pZCBkdXBsaWNhdGUgR3N0TGl2ZUFkZGVyIEdUeXBlIHJlZ2lzdHJhdGlvbnMuCgoyMDE1LTEwLTEzIDEyOjQwOjA0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsOiBmaXggbGVhayBpbiBnc3RfZ2xfaW5zZXJ0X2RlYnVnX21hcmtlcigpCgkgIFRoZSBzdHJpbmcgYWxsb2NhdGVkIGJ5IGdfdmFzcHJpbnRmKCkgd2FzIGxlYWtlZC4KCSAgUmVwcm9kdWNlZCB1c2luZyB0aGUKCSAgdmFsaWRhdGUuZmlsZS5jb21wb3NpdG9yLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgdmFsaWRhdGUgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY0OTIKCjIwMTUtMTAtMTIgMTE6MDc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIHRvIGdpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDI0CgoyMDE1LTEwLTEyIDA5OjM2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBsaXZlYWRkZXI6IGxhdGVuY3kgcHJvcGVydHkgaXMgYW4gdWludDY0IGluIGF1ZGlvbWl4ZXIKCjIwMTUtMTAtMTEgMjM6NDQ6MjUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJICB0ZXh0b3ZlcmxheTogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0dGV4dG92ZXJsYXkgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTExIDIxOjU0OjMwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSAgb3BlbmN2OiBweXJhbWlkc2VnbWVudDogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0cHlyYW1pZHNlZ21lbnQgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTA1IDAwOjU1OjM2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogUmVtb3ZlIHBsdWdpbiwgcmVwbGFjZSBieSBjb21wYXQgc3ViY2xhc3Mgb2YgYXVkaW9taXhlcgoJICBOZXcgc3ViY2xhc3Mgd2l0aCBhIHNpbWlsYXIgYmVoYXZpb3VyIGFzIHRoZSBvbGQgbGl2ZWFkZGVyLCBidXQKCSAgYSBzbGlnaHRseSBkaWZmZXJlbnQgQVBJIGFzIHRoZSBsYXRlbmN5IGlzIGluIG5hbm9zZWNvbmRzLCBub3QKCSAgbWlsbGlzZWNvbmRzLiBBbHNvLCB0aGUgbmV3IGxpdmVhZGRlciBoYXMgYSBlZmZlY3RpdmUgbGF0ZW5jeSB0aGF0CgkgIGlzIGxhdGVuY3kgKyBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uLiBJbiBwcmFjdGljZSwganVzdCBzZXR0aW5nIGEgbm9uLXplcm8KCSAgbGF0ZW5jeSB3aXRoIHRoZSBuZXcgYXVkaW9taXhlciBnaXZlcyB5b3UgdGhlIHJpZ2h0IGJlaGF2aW9yIGluIDk5JSBvZiB0aGUKCSAgY2FzZXMuCgoyMDE1LTEwLTExIDEwOjAwOjQzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkgIGRhc2hkZW11eDogZml4IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gZ3N0X250cF9jbG9ja19uZXcKCSAgRm91bmQgd2l0aCBnc3QtaW5zcGVjdC0xLjAgLWIgaW4gZ3N0LXVuaW5zdGFsbGVkIGVudi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjM4MwoKMjAxNS0xMC0xMCAxNzo1MjoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJICBjdnNvYmVsOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3Rjdmxzb2JlbCB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLCBhbmQKCSAgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTAgMTc6MDA6NTUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkgIGN2bGFwbGFjZTogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3ZsYXBsYWNlIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsIGFuZAoJICBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xMCAxNjo1NzozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jcHA6CgkgIGN2ZXF1YWxpemVoaXN0OiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3RjdmVxdWFsaXplaGlzdCB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTAgMTQ6MTA6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jcHA6CgkgIGN2ZXJvZGU6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdGN2ZXJvZGUgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywgYW5kCgkgIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTA4IDE0OjQ2OjEwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBzaW1wbGlmeSBaQVAgZmlsZSBmb3JtYXQgcGFyc2VyCgkgIFNpbXBsaWZ5IHN0YXRlIGhhbmRpbmcsIGRyb3AgdW5uZWVkZWQgbG9jYWwgdmFycywgZXRjLgoKMjAxNS0xMC0wNyAxNDoyMjo0NiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBoYXNfbmV4dF9wZXJpb2QKCSAgZ3N0X21wZF9jbGllbnRfaGFzX25leHRfcGVyaW9kIG5vdyBjYWxscyBnc3RfbXBkX2NsaWVudF9zZXR1cF9tZWRpYV9wcmVzZW50YXRpb24KCSAgdG8gcmVmcmVzaCB0aGUgcGVyaW9kIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MTg2CgoyMDE1LTEwLTA3IDA4OjQ4OjE1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogRml4IGJ1aWxkIGVycm9yCgkgIEJ1aWxkIGVycm9yIGR1ZSB0byB3cm9uZyBhcmd1bWVudCB0eXBlIGluIGRlYnVnIG1lc3NhZ2UKCSAgYWFnZy0+cHJpdi0+b2Zmc2V0IGFuZCBuZXh0X29mZnNldCBhcmUgb2YgdHlwZSBpbnQ2NCwgYnV0IHVpbnQ2NAoJICBmb3JtYXR0ZXIgaXMgYmVpbmcgdXNlZCBpbiBsb2dzLiBDaGFuZ2luZyBhbGwgdGhvc2UgdG8gaW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA2NQoKMjAxNS0xMC0wNiAyMToyMzoxMSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IFByb3h5IHRoZSBpZ25vcmUtZW9zIHZpZGVvYWdncmVnYXRvciBwcm9wZXJ0eSBhcyB3ZWxsCgkgIElkZW50aWNhbCB0byBob3cgdGhlIHotb3JkZXIgcHJvcGVydHkgaXMgcHJveGllZAoKMjAxNS0xMC0wNSAxMToyMTowNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZml4IHNhbXBsZSBtZW1vcnkgbGVhawoJICBXaGVuIGdldHRpbmcgc2FtcGxlIGZyb20gdGFnbGlzdCwgdGhlIG1lbW9yeSBpcyBub3QgYmVpbmcgZnJlZWQgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDcwCgoyMDE1LTEwLTAxIDExOjE4OjUyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IHBsdWcgbWVtb3J5LWxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwMDEKCjIwMTUtMTAtMDIgMjI6NTc6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFBvcnQgdG8gbmV3IEdMaWIgbXV0ZXgvY29uZCBBUEkKCjIwMTUtMTAtMDIgMjI6MjQ6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgVXBkYXRlIEdMaWIgZGVwZW5kZW5jeSB0byAyLjQwLjAKCjIwMTUtMTAtMDIgMTk6MDI6MjYgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmNwcDoKCSAgY3ZkaWxhdGU6IENoYW5nZSBnc3RjdmRpbGF0ZSB0byBDKysKCSAgQ2hhbmdlIHRoZSBnc3RjdmRpbGF0ZS5jIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yCgkgIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2IGFuZCBiZWNhdXNlIE9wZW5jdiBub3Qgc3VwcG9ydCBDCgkgIGxhbmd1YWdlIGluIG5ldyBBUEkgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE4OjUwOjQ1ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJICBza2luZGV0ZWN0OiBDaGFuZ2UgZ3N0c2tpbmRldGVjdCB0byBDKysKCSAgQ2hhbmdlIHRoZSBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvciBjb25zaXN0ZW5jeQoJICB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdiBhbmQgYmVjYXVzZSBPcGVuY3Ygbm90IHN1cHBvcnQgQyBsYW5ndWFnZSBpbgoJICBuZXcgQVBJIDIuNC4xMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0wOC0zMSAxNzo0MzoyNiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIG9wZW5jdnV0aWxzOiBhZGQgZXh0ZXJuIEMsIGZvciB0aGUgb3BlbmN2IGVsZW1lbnRzIHdvcmsuCgkgIEFkZGluZyBHX0JFR0lOX0RFQ0xTIGFuZCBHX0VORF9ERUNMUyB0byBnc3RvcGVuY3Z1dGlscy5oCgkgIHRvIGFsbG93IEMtc3R5bGUgbGlua2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxODo0MDo0MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkgIHJldGluZXg6IHVzZSBPcGVuQ1YgbmFtZXNwYWNlCgkgIEFzIHBhcnQgb2YgdGhlIHN3aXRjaCB0byBDKyssIHVzZSB0aGUgbmV3IE9wZW5DViBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTg6MTA6MzIgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgY3ZzbW9vdGg6IHBvcnQgdG8gQysrCgkgIENoYW5nZSB0aGUgZmlsZSBleHRlbnNpb24gdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZSBmb3IgY29uc2lzdGVuY3kKCSAgd2l0aCBvdGhlciBlbGVtZW50cyBvZiBvcGVuY3YgYW5kIGJlY2F1c2UgT3BlbmN2IG5vdCBzdXBwb3J0IEMgbGFuZ3VhZ2UgaW4KCSAgbmV3IEFQSSAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTc6NDg6NDcgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkgIHJldGluZXg6IENoYW5nZSByZXRpbmV4IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGdzdHJldGluZXguYyBmaWxlIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUuCgkgIEl0IGlzIG5lY2Vzc2FyeSB0byBtaWdyYXRlIHRoZSByZXRpbmV4IGVsZW1lbnQgdG8gQysrLAoJICBiZWNhdXNlIG5ldyBPcGVuY3YgQVBJIGxlYXZlcyBvYnNvbGV0ZSBmdW5jdGlvbnMgbGlrZSBjdlNtb290aC4KCSAgVGhpcyBlbGVtZW50IHVzZXMgdGhpcyBmdW5jdGlvbi4KCSAgWW91IGNhbiBzZWUgaW4gdGhpcyBsaW5rOgoJICBodHRwOi8vZG9jcy5vcGVuY3Yub3JnL21vZHVsZXMvaW1ncHJvYy9kb2MvZmlsdGVyaW5nLmh0bWw/CgkgIGhpZ2hsaWdodD1jdnNtb290aCN2b2lkIGN2U21vb3RoKGNvbnN0IEN2QXJyKiBzcmMsIEN2QXJyKiBkc3QsCgkgIGludCBzbW9vdGh0eXBlLCBpbnQgc2l6ZTEsIGludCBzaXplMiwgZG91YmxlIHNpZ21hMSwgZG91YmxlIHNpZ21hMikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxNzoxODozMyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIGFub3RoZXIgdW51c2VkIHZhcmlhYmxlCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBhbmQgdGhlbiByZWxlYXNlZCB3aXRob3V0IG1ha2luZyBhbnkKCSAgdXNlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE3OjAyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IEN2UG9pbnQgdmFsdWVzIGNoYW5nZWQgZnJvbSB1aW50IHRvIGludAoJICBUaGUgeCBhbmQgeSB2YWx1ZXMgb2YgQ3ZQb2ludCBjaGFuZ2VkIGZyb20gdW5zaWduZWQgdG8gc2lnbmVkIGludGVnZXJzCgkgIGluIE9wZW5DViAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMTAtMDIgMTY6MjI6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogbmVlZCB0byBtaWdyYXRlIHRvIEMrKwoJICBUaGUgY2FzY2FkZSBjbGFzc2lmaWVyIGNoYW5nZXMgaXRzIHN0cnVjdHVyZSBvbiBuZXcgdmVyc2lvbiBvZiBPcGVuQ1YgMi40LjExLgoJICBJdCBpcyBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrIHRvIHV0aWxpemUgdGhlIG5ldyBsb2FkIG1ldGhvZCBvZiBPcGVuQ1Ygd2hpY2gKCSAgYWxsb3dzIHRvIGxvYWQgdGhlIG9sZCBhbmQgbmV3IGNsYXNzaWZpZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE2OjAxOjI5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIGhhbmRkZXRlY3Q6IENoYW5nZSBnc3RoYW5kZGV0ZWN0IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGdzdGhhbmRkZXRlY3QuYyBmaWxlIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUuCgkgIEl0IGlzIG5lY2Vzc2FyeSB0byBtaWdyYXRlIHRoZSBoYW5kZGV0ZWN0IHBsdWdpbiB0byBDKyssCgkgIGluIG9yZGVyIHRvIGxvYWQgbmV3IGFuZCBvbGQgY2xhc3NpZmllcnMsIHRvIG1ha2UgaGFuZGRldGVjdCB3b3JrCgkgIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgT3BlbmN2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE3OjA1OjExICswMjAwICBQb2xvY2hvbl9zdHJlZXQgPHBvbG9jaG9uc3RyZWV0QGdteC5mcj4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsczogZml4IHByaW50ZiBmb3JtYXQgb24gd2luMzIKCjIwMTUtMDgtMjAgMTY6MDM6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvcGFyc2UtanBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIGdzdHJlYW1lcjogYmFkOiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gY29udGV4dCBwYXJzZSBmYWlscwoJICBXaGVuIGdfb3B0aW9uX2NvbnRleHRfcGFyc2UgZmFpbHMsIGNvbnRleHQgYW5kIGVycm9yIHZhcmlhYmxlcyBhcmUgbm90IGdldHRpbmcgZnJlZSdkCgkgIHdoaWNoIHJlc3VsdHMgaW4gbWVtb3J5IGxlYWtzLiBGcmVlJ2luZyB0aGUgc2FtZS4KCSAgQW5kIHJlcGxhY2luZyBnX2Vycm9yX2ZyZWUgd2l0aCBnX2NsZWFyX2Vycm9yLCB3aGljaCBjaGVja3MgaWYgdGhlIGVycm9yIGJlaW5nIHBhc3NlZAoJICBpcyBub3QgTlVMTCBhbmQgc2V0cyB0aGUgdmFyaWFibGUgdG8gTlVMTCBvbiBmcmVlJ2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg1NAoKMjAxNS0wNi0yNSAxOToxNzozNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IG9wdGltaXplIGJsZW5kaW5nCgkgIFNraXAgZW1wdHkgc291cmNlIHBpeGVscyB3aGVuIGJsZW5kaW5nIGFuIGltYWdlLiBUaGVyZSBjYW4gYmUgaHVuZHJlZHMKCSAgb2YgaW1hZ2VzIHRvIGJsZW5kIGF0IGVhY2ggZnJhbWUsIHNvIHRoaXMgYnJpbmdzIGEgbmljZSBwZXJmb3JtYW5jZQoJICBib29zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyMQoKMjAxNS0wOC0xOSAxNzoxODozMSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFVzZSB0aGUgd2luZG93IHNpemUgZnJvbSBkb3duc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHJlbmRlcmluZyB0aGUgb3ZlcmxheSBhdCBhIHJlc29sdXRpb24gbWF0Y2hpbmcgdGhlIHZpZGVvCgkgIHJlc29sdXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjQKCjIwMTQtMDktMDQgMTg6MTY6MDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIG5lZ290aWF0aW9uCgkgIFRoaXMgaXMgbW9zdGx5IGEgY29weS9wYXN0ZSBvZiB0aGUgbmVnb3RpYXRpb24gZnVuY3Rpb24gaW4KCSAgYmFzZXRleHRvdmVybGF5LCB3aGljaCB3YXMgaW1wcm92ZWQgcmVjZW50bHkgdG8gaGFuZGxlIG1hbnkgbW9yZSBjYXNlcy4KCSAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIG5lZ290aWF0ZSBhIHdpbmRvdyBzaXplIHdpdGggZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyNAoKMjAxNS0wOC0xOSAxMzo0NDozNSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVuZGVyIHRoZSBzdWJ0aXRsZXMgd2l0aCB0aGUgcHJvcGVyIGFzcGVjdAoJICBUaGlzIGJ1bXBzIHRoZSBsaWJhc3MgdmVyc2lvbiByZXF1aXJlbWVudCB0byAwLjEwLjIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjQKCjIwMTUtMDktMDcgMTY6MjA6NDIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0OiBhZGRlZCB1bml0IHRlc3QgZm9yIHByZXNlbnRhdGlvbiB0aW1lIG9mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDA5CgoyMDE1LTA5LTMwIDEwOjI3OjA2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHRsczogcmVxdWlyZSBvcGVuc3NsID49IDEuMC4xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4OTIKCjIwMTUtMTAtMDIgMTQ6NDY6NTkgKzAyMDAgIFBhdWwgQXJ6ZWxpZXIgPHBhdWwuYXJ6ZWxpZXJAZnJlZS5mcj4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsczogZml4IHByaW50ZiBmb3JtYXQgb24gd2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTk4MQoKMjAxNS0wOS0zMCAxMTowMDozOSArMDgwMCAgSm9obiBDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkgIGRhc2hkZW11eDogQ29ycmVjdGx5IGFzc2lnbiBlYXJsaWVzdCBwdHMgaW5zdGVhZCBvZiBvdmVycmlkaW5nIGl0IHdpdGggZmlyc3Qgb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4MjQKCjIwMTUtMDktMTUgMDM6MTQ6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L2dzdHBsdWdpbi5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxdDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIG9uIG9zeC9pb3MKCSAgSW5jbHVkaW5nOgoJICAtIE5lY2Vzc2FyeSBjb25maWd1cmUgY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IGNvbXBpbGUgdGltZSBwbGF0Zm9ybSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgcnVudGltZSBxdCBpT1MvT1NYIHBsYXRmb3JtIGRldGVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTAwCgoyMDE1LTA5LTI4IDExOjI5OjI5ICswMTAwICBKb2huIFNsYWRlIDxqb2huQGp0ZXMubmV0PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggaW5kZW50YXRpb24gd2l0aCBnc3QtaW5kZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MzIKCjIwMTUtMTAtMDIgMTE6MzE6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSAgYXVkaW92aXN1YWxpemVyczogRml4IG5vZGlzdF9IRUFERVJTCgoyMDE1LTEwLTAyIDE0OjU2OjQxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIFJlbW92ZSBiYXNlYXVkaW92aXN1YWxpemVyIHRlc3QuCgkgIFRoZSBiYXNlIGNsYXNzIGhhcyBtb3ZlZCBpbnRvIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTUtMDktMzAgMTk6MDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENvbnZlcnQgR1NUX0VSUk9SX09CSkVDVCgpIGZvciBzZWVrIGV2ZW50cyB0byBHU1RfREVCVUdfT0JKRUNUKCkKCjIwMTUtMDktMzAgMTk6MDM6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZvciB0aGUgc3RhcnQgdGltZSBzZWxlY3Rpb24sIG9ubHkgc2V0IHRoZSBzZWdtZW50IHBvc2l0aW9uCgkgIHNlZ21lbnQudGltZSBhbmQgc2VnbWVudC5zdGFydCBjYW4gc3RheSB0aGUgc2FtZSwgYW5kIHdlcmUgYWx3YXlzIHRoZSBzYW1lCgkgIGJlZm9yZSBhbnl3YXkgYmVjYXVzZSBvZiBhIG1pc3Rha2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjMKCjIwMTUtMDktMzAgMTk6MDE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTZWxlY3QgdGhlIGluaXRpYWwgb2Zmc2V0IGJhc2VkIG9uIHRoZSBzdGFydCBzZWdtZW50IHBvc2l0aW9uCgkgIGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nIDAuIE90aGVyd2lzZSB3ZSBtaWdodCBvdXRwdXQgYSBsb3Qgb2Ygc2lsZW5jZSBpbiB0aGUKCSAgYmVnaW5uaW5nIGluc3RlYWQgb2Ygb3V0cHV0dGluZyBmcm9tIHRoZSByZWxldmFudCBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYyMwoKMjAxNS0xMC0wMSAxNTozNTozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgYXVkaW92aXN1YWxpemVyczogbWVyZ2UgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3NlcwoJICBUaGVzZSBwbHVnaW5zIG5vdyB1c2UgdGhlIGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzIGluIHBidXRpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0xMC0wMiAwMTowMTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogbW92ZSBkZWJ1Z2dpbmcgcmVsYXRlZCBmdW5jdGlvbnMgdG8gdGhlaXIgb3duIGZpbGUKCjIwMTUtMTAtMDEgMjM6MjA6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2xjb2xvcnNjYWxlOiB1c2UgZ2xiYXNlZmlsdGVyIHZmdW5jcwoJICBVc2VzIGxlc3MgY29kZSBcby8KCSAgRml4ZXMgbGVnYWN5IG9wZW5nbCByZW5kZXJpbmcgXG8vCgoyMDE1LTA5LTE2IDEyOjUwOjQ2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWN0aXZhdGUgc3RyZWFtcyBiZWZvcmUgY29uZmlndXJpbmcgYml0cmF0ZQoJICBEb2luZyB0aGUgY29udHJhcnkgaGFzIG5vIGVmZmVjdCBhbmQgdGhlIGNvbnNlcXVlbmNlIGlzIHRoYXQgcGxheWJhY2sKCSAgd2lsbCBzdGFydCB3aXRoIHRoZSBsb3dlc3QgYml0cmF0ZSBldmVuIGlmIHdlIGNhbiBhbHJlYWR5IGhhbmRsZQoJICBoaWdoZXIgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwOAoKMjAxNS0wNi0wOCAxNTozMzoyMiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IFBsYXlSZWFkeSBXUk0gcGFyc2luZyBzdXBwb3J0CgkgIElmIHRoZSBtYW5pZmVzdCBoYXMgYSBQcm90ZWN0aW9uSGVhZGVyIG5vZGUgdGhlbiBwYXJzZSBpdCBhbmQgZW1pdAoJICBwcm90ZWN0aW9uIGV2ZW50cyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBwcm90ZWN0aW9uIFN5c3RlbUlELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjEzCgoyMDE1LTA5LTAzIDE1OjExOjAwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWx3YXlzIHVzZSB0aW1lc2NhbGUgZm9yIGdzdCB0aW1lc3RhbXAgY2FsY3VsYXRpb24KCSAgTm90IGRvaW5nIHRoaXMgY2FuIGxlYWQgdGhlIGRlbXV4ZXIgdG8gYXR0ZW1wdCBkb3dubG9hZGluZyBmcmFnbWVudHMKCSAgZm9yIGFuIGludmFsaWQgc3RhcnQgdGltZS4gVGhlIHNlcnZlciB3b3VsZCB0aGVuIHNlbmQgYSBIVFRQCgkgIFByZWNvbmRpdGlvbiBmYWlsZWQgZXJyb3IsIHRoZSBkZW11eGVyIHdvdWxkIHRyeSBzb21lIG1vcmUgdGltZXMgdG8KCSAgZG93bmxvYWQgdGhlIGludmFsaWQgZnJhZ21lbnQgYW5kIGV2ZW50dWFsbHkgZXJyb3Igb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTIzCgoyMDE1LTA5LTMwIDA4OjM2OjE1ICswMjAwICBBbnRvaW5lIEphY291dG90IDxhamFjb3V0b3RAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogUGFzcyBHTF9DRkxBR1MgdG8gZy1pci1zY2FubmVyCgkgIFRoaXMgdW5icmVha3MgYnVpbGRpbmcgd2hlbiBzb21lIGhlYWRlcnMgYXJlIHVuZGVyIGEgbm9uLXN0YW5kYXJkIHBhdGguCgkgIGUuZy4gL3Vzci9YMTFSNi9pbmNsdWRlIGFzIG9uIE9wZW5CU0QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4NTAKCjIwMTUtMDktMzAgMDA6NDQ6MTYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGRpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTg1MgoKMjAxNS0wOS0zMCAxMzoxMzoxOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IHR5cGVjYXN0IGJpdC1tYXNrIHRvIGd1aW50NjQgdG8gZml4IHNlZ21lbnRhdGlvbiBmYXVsdAoJICBXaGlsZSBjcmVhdGluZyBjYXBzIGluIGF1ZGlvaW50ZXJsZWF2ZSB0ZXN0cywgYml0bWFzayBpcyBiZWluZyBzZXQgYXMgMHg5CgkgIFRoaXMgaXMgcmVzdWx0aW5nIGluIHNlZ21lbnRhdGlvbiBmYXVsdC4gRml4IHRoZSBzYW1lIGJ5IHR5cGVjYXN0aW5nIHRvIGd1aW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTg0MAoKMjAxNS0wOS0zMCAxNToxNzozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeHVwIHN0cnN0ciBsZW5ndGhzIHNvIHdlIGRvbid0IG92ZXJydW4KCjIwMTUtMDktMzAgMTM6MzE6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZW1vdmUgdXNlbGVzcyByZWxlYXNlX2J1ZmZlcgoJICBJdCdzIGEgbGVmdG92ZXIgZnJvbSB3aGVuIHdlIHdlcmVuJ3Qgb3V0cHV0dGluZyBHc3RCdWZmZXIncyBhbmQKCSAgcmV0dXJuaW5nIHJhdyB0ZXh0dXJlIGlkJ3MuCgoyMDE1LTA5LTMwIDAxOjUzOjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiB1c2UgZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQgZm9yIHNldHRpbmcgZGlzcGxheS9vdGhlcl9jb250ZXh0CgkgIDEuIFNvIHdlIGdldCB0cmFja2luZyBpbnNpZGUgR3N0RWxlbWVudCBwcm9wZXJseSB3aGVuIGUuZy4gYWRkaW5nIHRvIGEgYmluCgkgIDIuIFJlbW92ZXMgcmVkdW5kYW50IGNvZGUuICBOb3cgb25seSBvbmUgcGxhY2Ugd2hlcmUKCSAgR3N0Q29udGV4dC0+R3N0R0xEaXNwbGF5L0dzdEdMQ29udGV4dCB0cmFuc2Zvcm1hdGlvbiBvY2N1cnMKCSAgMy4gRml4ZXMgYSBtZW1vcnkgbGVhayBpbiB0aGUgcHJvY2VzcwoJICA0LiBNYWtlIHRoZSByZXRyaWV2YWwgb2YgZGVidWcgY2F0ZWdvcmllcyB0aHJlYWQgc2FmZQoKMjAxNS0wOS0yOSAyMjo1Nzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IGFkZCBzb21lIEdMIGRlYnVnIHN0YXRlbWVudHMgdG8gc2hvdyB1cCBpbiBHTCB0cmFjZXMKCjIwMTUtMDgtMzAgMTc6MTE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IG0zdThwbGF5bGlzdDogbW9yZSBjbGVhbi11cHMKCSAgUmVtb3ZlIHVudXNlZCBmdW5jdGlvbnM7IG1vdmUgR3N0TTNVOCBzdHJ1Y3QgaW50byAuYyBmaWxlLAoJICBhbmQgaW5kZW50IHRoZSBoZWFkZXIgc28gaXQncyBuaWNlIHRvIHJlYWQuCgoyMDE1LTA4LTMwIDE3OjAxOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IGZpeCBzaWxseSBxdWV1ZSBpdGVyYXRpb24gY29kZQoKMjAxNS0wOC0zMCAxNjo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBtb3JlIG1pbm9yIHBsYXlsaXN0X3JlbmRlcigpIGNsZWFuLXVwcwoJICBNb3ZlIHRoZSBUQUcgZGVmaW5lcyBkaXJlY3RseSBpbnRvIHRoZSBjb2RlLCBub3Qgc3VyZSB3aGF0CgkgIHRoZWlyIHB1cnBvc2VzIGlzLCB0aGVzZSBhcmUgcHJpbnRmIGZvcm1hdCBzdHJpbmdzIHNvIGhhdmluZwoJICB0aGVtIGRpcmVjdGx5IGFzIGxpdGVyYWxzIGluIHRoZSBjb2RlIHdoZXJlIHRoZXkncmUgdXNlZAoJICBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8gZm9sbG93LgoKMjAxNS0wOC0zMCAxNjozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBtb3ZlIGVudHJ5IHJlbmRlcmluZyBpbnRvIHJlbmRlcl9wbGF5bGlzdCgpCgkgIE1ha2VzIHRoZSBjb2RlIGVhc2llciB0byBmb2xsb3cgYW5kIGF2b2lkcyB1bm5lY2Vzc2FyeSB0ZW1wb3JhcnkKCSAgc3RyaW5ncywgc2luY2Ugd2UgY2FuIGp1c3QgYXBwZW5kIHRvIHRoZSBwbGF5bGlzdCBHU3RyaW5nIGRpcmVjdGx5LgoKMjAxNS0wOC0zMCAxNjoyNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBzaW1wbGlmeSBnc3RfbTN1OF9wbGF5bGlzdF9yZW5kZXIoKQoJICBSZW1vdmUgcGxheWxpc3Rfc3RyIEdTdHJpbmcgdmFyaWFibGUgZnJvbSBHc3RNM1U4UGxheWxpc3Qgc3RydWN0LAoJICBzaW5jZSBpdCdzIG9ubHkgdXNlZCB0ZW1wb3JhcmlseSBpbiBwbGF5bGlzdF9yZW5kZXIoKS4gTWlnaHQganVzdAoJICBhcyB3ZWxsIGtlZXAgaXQgbG9jYWwgdGhlbi4KCjIwMTUtMDgtMzAgMTU6NTU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogcmVtb3ZlIHVudXNlZCBtYWNybyBhbmQgZGlyZWN0IGdpbyB1c2FnZQoKMjAxNS0wOS0zMCAwMDozNjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGRvd25zdHJlYW0ga2V5IHVuaXQgZXZlbnRzIGhhbmRsaW5nIHdpdGggaGxzc2luawoJICBUaGUgYnVmZmVyIHRpbWVzdGFtcHMgaW4gdGhlIGNvbGxlY3QgZnVuY3Rpb24gd2lsbCBhbHJlYWR5IGJlCgkgIHJ1bm5pbmcgdGltZSwgZG9uJ3QgdHJ5IHRvIGNvbnZlcnQgdGhlbSBhZ2FpbiB0byBydW5uaW5nIHRpbWUsCgkgIHRoaXMgd291bGQgeWllbGQgQ0xPQ0tfVElNRV9OT05FIG5vdyB0aGF0IHRoZSBzZWdtZW50IGlzIHNoaWZ0ZWQKCSAgdG8gYWNjb3VudCBmb3IgbmVnYXRpdmUgZHRzLgoJICBUaGlzIGZpeGVzIHgyNjRlbmMgISBtcGVndHNtdXggISBobHNzaW5rLCB3aGljaCB3YXMgYnJva2VuCgkgIGJlY2F1c2UgbXBlZ3RzbXV4IHdvdWxkIHNlbmQgYSBkb3duc3RyZWFtIGtleSB1bml0IGV2ZW50IHdpdGgKCSAgcnVubmluZyB0aW1lIE5PTkUgYW5kIHRoZW4gaGxzc2luayB3b3VsZCBpbW1lZGlhdGVseSBzZW5kCgkgIGFub3RoZXIgb25lIHVwc3RyZWFtIGFuZCBpdCB3b3VsZCBqdXN0IGJlIGEgZmxvb2Qgb2YgZm9yY2UKCSAga2V5ZnJhbWUgZXZlbnRzIGluIGJvdGggZGlyZWN0aW9ucyBhZnRlciB0aGUgZmlyc3Qgb25lLiBUaGlzCgkgIHdvdWxkIHRoZW4gYnJlYWsgaGxzc2luayBiZWNhdXNlIGl0IHVzZXMgbXVsdGlmaWxlc2luayBpbgoJICBuZXh0LWZpbGU9a2V5LXVuaXQtZXZlbnQgbW9kZSwgYW5kIHN0YXJ0aW5nIGEgbmV3IGZpbGUgYWZ0ZXIKCSAgZXZlcnkgZmV3IGtCIGRvZXMgbm90IHdvcmsgd2VsbCBmb3IgSExTLgoKMjAxNS0wOC0yMCAxNzozNTowNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJICBvcGVuY3Y6IGVyb2RlOiByZW1vdmUgbm9uLWlwIHRyYW5zZm9ybSBmdW5jCgkgIFRyYW5zZm9ybSBpcyBzZXQgdG8gYmUgZG9uZSBpbiBwbGFjZSBpbiBnc3RjdmRpbGF0ZWVyb2RlLmMsIHNvIHRoZSBpbi1wbGFjZQoJICB0cmFuc2Zvcm0gZnVuY3Rpb24gaXMgYWx3YXlzIHVzZWQgYW5kIHRoZSBvdGhlciBpcyByZWR1bmRhbnQuIFJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODg1CgoyMDE1LTA4LTIwIDE3OjIzOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJICBvcGVuY3Y6IGRpbGF0ZTogcmVtb3ZlIG5vbi1pcCB0cmFuc2Zvcm0gZnVuYwoJICBUcmFuc2Zvcm0gaXMgc2V0IHRvIGJlIGRvbmUgaW4gcGxhY2UgaW4gZ3N0Y3ZkaWxhdGVlcm9kZS5jLCBzbyB0aGUgaW4tcGxhY2UKCSAgdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIGFsd2F5cyB1c2VkIGFuZCB0aGUgb3RoZXIgaXMgcmVkdW5kYW50LiBSZW1vdmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg4NQoKMjAxNS0wOS0yOSAyMDowMDowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIGdzdF9vcGVuY3ZfdmlkZW9fZmlsdGVyX3NldF9pbl9wbGFjZSgpCgkgIFVzaW5nIHRoZSBnc3RfYmFzZV90cmFuc2Zvcm0gZnVuY3Rpb24gZGlyZWN0bHkgd29uJ3Qgd29yay4gTmVlZCB0byB1c2UKCSAgZ3N0X29wZW5jdl92aWRlb19maWx0ZXJfc2V0X2luX3BsYWNlKCkuCgoyMDE1LTA5LTI5IDE3OjAwOjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IGNoZWNrIGZvciBoYWFyIGNhc2NhZGUgZmlsZXMgcGF0aAoJICBXaGVuIHJ1bm5pbmcgR1N0cmVhbWVyIGZyb20gdW5pbnN0YWxsZWQgc291cmNlcywgdGhlIGxvY2F0aW9uIG9mIHRoZSBoYWFyCgkgIGNhc2NhZGUgZmlsZXMgd2lsbCBiZSBsb2NhbC4gQ2hlY2sgaWYgcnVubmluZyBpbiB1bmluc3RhbGxlZCBhbmQgc2V0IHRoZQoJICBmaWxlIHBhdGhzIGFjY29yZGluZ2x5LgoKMjAxNS0wOS0yNiAxNzowMjowOSArMDgwMCAgSm9obiBDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjU2CgoyMDE1LTA5LTI5IDEzOjMxOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGdsaWIgdmVyc2lvbgoJICBSZW1vdmUgd2VpcmQgdXNlIG9mIHByaXZhdGUgZ3R5cGUgZGVmaW5lcyBhbmQgZml4IGNvbXBpbGF0aW9uCgkgIHdpdGggb2xkZXIgZ2xpYiB2ZXJzaW9ucyBzdWNoIGFzIDIuMzYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NTQKCjIwMTUtMDktMjkgMTM6NTI6NDcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJICBvcGVuY3Y6IGN2bGFwbGFjZTogYWRkIHNjYWxlIGFuZCBzaGlmdCBwcm9wZXJ0aWVzCgkgIEFkZCBzY2FsZSBhbmQgc2hpZnQgcHJvcGVydGllcyBzbyB0aGVzZSBjYW4gYmUgdXNlZCB0byB0d2VhayB0aGUgdmFsdWVzCgkgIHVzZWQgaW4gY3ZDb252ZXJ0U2NhbGUoKSBpbnN0ZWFkIG9mIHVzaW5nIG9ubHkgZGVmYXVsdHMuCgoyMDE1LTA4LTI4IDE2OjI0OjI0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgcXRzaW5rOiBleHBsaWNpdGVseSBmYWxsdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEluIGNhc2UgcmV0IGlzIEZhbHNlLCBmYWxsdGhyb3VnaCB0byBkZWZhdWx0IGNhc2UuCgkgIENJRCAjMTMyMDcwNQoKMjAxNS0wOC0yOCAxNjoxMzoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGFkZCBicmVhayB0byBzd2l0Y2ggY2FzZQoJICBFdmVuIHRob3VnaCBhbGwgY2FzZXMgaW5zaWRlIFZDMV9TVFJFQU1fRk9STUFUX0FTRiBhcmUgZ290byBvcgoJICBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpLCBhZGQgYSBicmVhayBhdCB0aGUgZW5kIHRvIGFwcGVhc2UgQ292ZXJpdHkuCgkgIENJRCAjMTMyMDcwNgoKMjAxNS0wOS0yOCAyMDo1Njo1NiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBsZWFrIG9mIHRhZyBzYW1wbGVzIGluIHRoZSB0YWcgbGlzdAoJICBNb3ZlIGhhbmRsaW5nIG9mIGEgR3N0U2FtcGxlIGluIGEgc2VwYXJhdGUgZnVuY3Rpb24sIGFuZCB1bnJlZiB0aGUKCSAgc2FtcGxlIGFmdGVyIGNhbGxpbmcgaXQuIGxpYmFzcyBjb3BpZXMgdGhlIGZvbnQgZGF0YSBzbyB3ZSBkb24ndCBuZWVkIHRvCgkgIGtlZXAgaXQgYXJvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzU5CgoyMDE1LTA5LTI4IDIwOjMwOjE3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZml4IGdhcCBldmVudCBsZWFrIGFuZCBpbnZhbGlkIHJldHVybiB2YWx1ZQoJICBXZSBkb24ndCB3YW50IHRoZSBnYXAgZXZlbnQgdG8gYmUgZm9yd2FyZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NTkKCjIwMTUtMDktMjkgMTY6MTc6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IGNhbGwgdGhlIHBhcmVudCBjbGFzcyBvbiBHc3RFbGVtZW50OjpzZXRfY29udGV4dAoKMjAxNS0wOS0xNyAxNjo1OToxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogdXNlIHRoZSBkZWZhdWx0IEdMIGNvbnRleHQgZGVidWcgY2F0ZWdvcnkKCjIwMTUtMDctMzAgMTY6NDI6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbnZlbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9udmVuYy9SRUFETUU6CgkqIHN5cy9udmVuYy9UT0RPOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuaDoKCSogc3lzL252ZW5jL2dzdG52ZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmVuYy5oOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuaDoKCSAgQWRkIE52aWRpYSBiYXNlZCBoYXJkd2FyZSBlbmNvZGVyIGVsZW1lbnQKCSAgQ3VycmVudGx5IG9ubHkgaDI2NCBpcyBzdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQwNQoKMjAxNS0wOS0yOSAwMDoyNTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IGZpeCBhc3NlcnRpb24gd2hlbiB0aGUgZWxlbWVudCBoYXMgbm8gcGVlcgoJICBXaGVuIHByb3h5aW5nIGtleWJvYXJkL25hdmlnYXRpb24vbW91c2UgZXZlbnRzLCBvbmx5IHVucmVmIGEgc3VjY2Vzc2Z1bGx5CgkgIHJldHJlaXZlZCBwZWVyIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTczOAoKMjAxNS0wOS0yOCAxNTozMDozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL2Fsc2FtaWRpc3JjLmM6CgkqIGdzdC9taWRpL2Fsc2FtaWRpc3JjLmg6CgkqIGdzdC9taWRpL21pZGkuYzoKCSAgUmV2ZXJ0ICJtaWRpOiBhZGQgYW4gQUxTQSBNSURJIHNlcXVlbmNlciBzb3VyY2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2Q3ZjRlNTI0NzE4YTJmNzU0Njc4NTIyMzVlNGUxM2Q2NGQyYWM4Mi4KCjIwMTUtMDktMjggMjI6MzE6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBzZXQgdGhlIGNvbnRleHQgb24gdGhlIGVsZW1lbnQgb24gYSBjb250ZXh0IHF1ZXJ5CgkgIE90aGVyd2lzZSBpdCdzIHBvc3NpYmxlIHRvIGxvc2UgdGhlIGNvbnRleHQgaW5mb3JtYXRpb24gaWYgdGhlCgkgIGNvbnRleHQgaXMgb25seSBwcm9wYWdhdGVkIHRocm91Z2ggcXVlcmllcy4KCjIwMTUtMDktMjggMjI6MjA6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyBmb3IgR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU3OQoKMjAxNS0wOC0wNyAxNToyODo1NCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5jOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5oOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IGFkZCBhbiBBTFNBIE1JREkgc2VxdWVuY2VyIHNvdXJjZQoJICBUaGUgYWxzYW1pZGlzcmMgZWxlbWVudCBhbGxvd3MgdG8gZ2V0IGlucHV0IGV2ZW50IGZyb20gQUxTQSBNSURJCgkgIHNlcXVlbmNlciBkZXZpY2VzLCBhbmQgcG9zc2libHkgY29udmVydCB0aGVtIHRvIHNvdW5kIHVzaW5nIHNvbWUKCSAgZG93bnN0cmVhbSBlbGVtZW50IGxpa2UgZmx1aWRkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2ODcKCjIwMTUtMDgtMjggMTY6MzU6MzkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHJlbW92ZSBvdmVyd3JpdHRlbiB2YWx1ZQoJICBWYWx1ZSBpbiB0ZXggaXMgb3ZlcndyaXR0ZW4gYmVmb3JlIGJlaW5nIHVzZWQuIFJlbW92aW5nIGl0LgoJICBDSUQgMTMyMDcxNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjUzCgoyMDE1LTA5LTAyIDIzOjQ1OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0Z2wuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxdDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nL3J1bm5pbmcgb24gYW5kcm9pZAoJICBJbmNsdWRpbmc6CgkgIC0gTmVjZXNzYXJ5IGNvbmZpZ3VyZSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgY29tcGlsZSB0aW1lIHBsYXRmb3JtIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBydW50aW1lIHF0IGFuZHJvaWQgcGxhdGZvcm0gZGV0ZWN0aW9uCgkgIC0gRXNjYXBpbmcgR0xzeW5jIGRlZmluaXRpb24gd2l0aCBRdCdzIEdMRVMyIGltcGxlbWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMDIgMjM6NDA6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IGRvbid0IHVzZSBDUFBGTEFHUyBmb3IgdG9vbHMgdGhhdCBjYW5ub3QgdXNlIHRoZW0KCSAgRm9yIGV4YW1wbGUgbW9jIHdpbGwgYmFpbCBvdXQgd2hlbiBnaXZlbiBhcmd1bWVudHMgaXQgZG9lcyBub3QKCSAga25vdyBhYm91dC4gIFRoZSBtb2Mgc3BlY2lmaWMgTU9DX0NQUEZMQUdTIGNhbiBzdGlsbCBiZSB1c2VkCgkgIHRvIHBhc3MgZmxhZ3MgdG8gbW9jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTAyIDIzOjM5OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiByZW5hbWUgbGlicmFyeSB0byBpbmNsdWRlIGdzdCBwcmVmaXgKCSAgbGlicXRzaW5rIC0+IGxpYmdzdHF0c2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA4LTMxIDE5OjIxOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBzcHJpbmtsZSBzb21lIGRlYnVnIG1hcmtlcnMgdG8gZWFzZSBkZWJ1Z2dpbmcKCjIwMTUtMDgtMzEgMTk6MTg6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsL3V0aWxzOiBhZGQgYSBmdW5jdGlvbiB0byBpbnNlcnQgYSBkZWJ1ZyBtYXJrZXIKCSAgVGhlc2UgbWFya2VycyBhcmUgdmlzaWJsZSBpbiB0b29scyB0aGF0IHJlY29yZCB0aGUgR0wgZnVuY3Rpb24gY2FsbHMKCSAgc3VjaCBhcyBhcGl0cmFjZSwgZXQgYWwuCgkgIE1ha2VzIGl0IGVhc2llciB0byBtYXRjaCB1cCBHTCBkcmF3IGNvbW1hbmRzIHdpdGggc3BlY2lmaWMgZWxlbWVudHMuCgoyMDE1LTA4LTMxIDE5OjE3OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2RlYnVnLmg6CgkgIGdsOiBhZGQgc29tZSBkZWJ1Z2dpbmcgcHJvdG90eXBlcwoKMjAxNS0wOS0yNiAxOToxOTo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IHJlbW92ZSB1bnVzZWQgZHJhd191bmxvY2tlZCBmdW5jdGlvbgoJICBUaGUgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBieSBkcmF3IGFueXdheSBhbmQgaXMgbGVmdG92ZXIgZnJvbQoJICBYMTEncyBzcGVjaWZpYyB0aHJlYWRpbmcgcmVxdWlyZW1lbnRzIHRoYXQgbm8gbG9uZ2VyIGFwcGx5LgoKMjAxNS0wOS0yNyAxMzowNzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBTZW5kIGdhcCB1cGRhdGVzIHRvIHRoZSBzZWdtZW50IHN0b3AgZHVyaW5nIHN0aWxscwoJICBJZ25vcmUgdGhlIG5vcm1hbCBnYXAgdGhyZXNob2xkIGZvciBsYWdneSBzdHJlYW1zIGFuZAoJICBpbW1lZGlhdGVseSBjYXRjaCBhbGwgc3RyZWFtcyB1cCB0byB0aGUgZW5kIG9mIHRoZSBzZWdtZW50CgkgIHdoZW4gcHJvY2Vzc2luZyBnYXAgdXBkYXRlcyBmb3IgYSBzZWdtZW50IGR1cmluZyBhCgkgIHN0aWxsIGZyYW1lIHNlcXVlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjgwCgoyMDE1LTA5LTI3IDAwOjI0OjI0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgUmV2ZXJ0ICJkdmRzcHU6IHJlbmRlciB0byBBWVVWIG92ZXJsYXkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTAxNmE3MzE5MDU5NTUwNWRjMzhiNTRmOGY5YTA4YzRmMTgwZjNhNi4KCjIwMTUtMDktMjcgMDA6MjQ6MjMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIFJldmVydCAiZHZkc3B1OiByZW5kZXIgdG8gQVJHQiBvdmVybGF5IGluc3RlYWQgb2YgQVlVViIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkZDNlOWRlYjJhYTY5NWEzOTFiNThmMjRkODZhM2MwMGJiYzEyNThhLgoKMjAxNS0wOS0yNyAwMDoyNDoxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIFJldmVydCAiZHZkc3B1OiBoYW5kbGUgZnJhbWUgc2l6ZSBldmVudCBmcm9tIHVwc3RyZWFtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ2YWFhYTZjMzA5YjhhOGY2ZTIxODE0MmZkNTk0NGY1ZDI0ZjA5NWMuCgoyMDE1LTA5LTI3IDAwOjI0OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIFJldmVydCAiZHZkc3B1OiBjYWNoZSBvdmVybGF5IGNvbXBvc2l0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFhYmI4YTFhNjgzNzJmNzUwYzYzYjliNjU4NmUxOGU4Mjk3NDU3NzQuCgoyMDE1LTA5LTI3IDAwOjI0OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIFJldmVydCAiZHZkc3B1OiBpbXByb3ZlIG5lZ290aWF0aW9uIG9mIG92ZXJsYXkgY29tcG9zaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTg5OWUyYTA5OTkzMmE3YTczNGU3Nzg0YzIwYjYyNDUxNzIzN2UxOC4KCjIwMTUtMDktMTggMTk6MDc6NDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogZml4IHBncyBwYWxldHRlIGNvbG9ycwoJICBVIGFuZCBWIHdlcmUgaW52ZXJ0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTIzOQoKMjAxNC0wOC0yNyAxNjo0NzoyMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGltcHJvdmUgbmVnb3RpYXRpb24gb2Ygb3ZlcmxheSBjb21wb3NpdGlvbgoJICBTdXBwb3J0IG5lZ290aWF0aW5nIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uIGRvd25zdHJlYW0KCSAgd2hpbGUgbm90IHByb3ZpZGluZyBpdCB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wOS0wMiAxNzo0ODo1MCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGNhY2hlIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgVGhpcyBhdm9pZHMgcmVuZGVyaW5nIHRoZSBvdmVybGF5IGJ1ZmZlciBmb3IgZWFjaCB2aWRlbyBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wOC0zMCAyMjowODowMSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogaGFuZGxlIGZyYW1lIHNpemUgZXZlbnQgZnJvbSB1cHN0cmVhbQoJICBBbiBJRFggZmlsZSBvciBjb2RlY19kYXRhIG5vcm1hbGx5IGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBmcmFtZSBzaXplIG9mCgkgIHRoZSB2aWRlby4gQWxsb3cgdXBzdHJlYW0gdG8gcHJvdmlkZSB0aGlzIGluZm9ybWF0aW9uIGJ5IHNlbmRpbmcgYQoJICBjdXN0b20gZXZlbnQsIHdoaWNoIHdpbGwgYWxsb3cgc2NhbGluZyB0aGUgb3ZlcmxheSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMTItMDUgMjE6NTk6MTggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBhbGxvdyBzdWZmaXggaW4gZHZkIGV2ZW50IG5hbWUgdG8gYWxsb3cgbXVsdGlwbGUgc3RpY2t5IGR2ZCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxNS0wNC0wNyAxNDozODowOCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiByZW5kZXIgdG8gQVJHQiBvdmVybGF5IGluc3RlYWQgb2YgQVlVVgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTAxLTIzIDE3OjU5OjAxICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiByZW5kZXIgdG8gQVlVViBvdmVybGF5CgkgIEluc3RlYWQgb2Ygb25seSBzdXBwb3J0aW5nIHdyaXRpbmcgU1BVIGRhdGEgZGlyZWN0bHkgdG8gWVVWIGZyYW1lcywKCSAgcmVuZGVyIHRoZSBTUFUgZGF0YSB0byBhbiBpbnRlcm1lZGlhdGUgQVlVViBvdmVybGF5IGJ1ZmZlci4gVGhlIG92ZXJsYXkKCSAgZGF0YSBpcyB0aGVuIGF0dGFjaGVkIHRvIHRoZSB2aWRlbyBmcmFtZSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIG92ZXJsYXkKCSAgY29tcG9zaXRpb24sIG90aGVyd2lzZSB0aGUgQVlVViBvdmVybGF5IGlzIGJsZW5kZWQgdG8gdGhlIHZpZGVvIGZyYW1lLgoJICBGb3IgdGhlIFBHUyBmb3JtYXQsIHRoZSBvdmVybGF5IGJ1ZmZlciBzaXplIGlzIHNldCB0byB0aGUgc2l6ZSBvZiB0aGUKCSAgQ29tcG9zaXRpb24gV2luZG93LCBhbmQgaXRzIHBvc2l0aW9uIGluIHRoZSBvdmVybGF5IGNvbXBvc2l0aW9uIGlzIHNldAoJICB0byB0aGUgd2luZG93IHBvc2l0aW9uLiBUaGUgb2JqZWN0cyB0byByZW5kZXIgYXJlIG5vdyBjcm9wcGVkIHdoZW4gdGhlCgkgIGNyb3BwaW5nIGZsYWcgaXMgc2V0LgoJICBGb3IgdGhlIFZvYnN1YiBmb3JtYXQsIHRoZSBvdmVybGF5IGJ1ZmZlciBzaXplIGlzIHNldCB0byB0aGUgc2l6ZSBvZiB0aGUKCSAgRGlzcGxheSBBcmVhLgoJICBPbmNlIHJlbmRlcmVkLCB0aGUgb3ZlcmxheSBjb21wb3NpdGlvbiByZWN0YW5nbGUgaXMgbm93IG1vdmVkIGFuZCBzY2FsZWQKCSAgdG8gZml0IHRoZSB2aWRlbyBvdXRwdXQgc2l6ZSwgdG8gYXZvaWQgY2xpcHBpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDktMDIgMTc6MDc6NDkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBwYXNzIGR2ZHNwdSBhcmd1bWVudCB0byBzZXRfY2FwcyBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxNS0wOS0xOCAxOToxNTo0NSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBza2lwIHVubmVlZGVkIHJlYWRpbmcgb2YgUkxFIGRhdGEKCSAgVGhlIFJMRSBkYXRhIHdhcyBiZWluZyByZWFkIGZvciBkdW1waW5nIHRoZSBTUFUgaW1hZ2UgZXZlbiB3aGVuIHRoZQoJICBEVU1QX0ZVTExfSU1BR0UgbWFjcm8gd2FzIG5vdCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTUtMDgtMjkgMTk6MTY6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY2hlY2s6IEFkZCB0ZXN0IGZvciB2aWRlb2FnZ3JlZ2F0b3Igc2lua3BhZHMgYmVpbmcgc29ydGVkIGJ5IHpvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Mjg1CgoyMDE1LTA5LTI2IDEwOjIxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvbWl4ZXI6IGZpeCBkZWFkbG9jayB3aGVuIEdfRElTQUJMRV9BU1NFUlQgaXMgbm90IGRlZmluZWQKCSAgVGhpcyBtYWtlcyB0aGUgYXVkaW9taXhlciB1bml0IHRlc3QgdGltZSBvdXQgaW4gbWFzdGVyLgoJICBCcm9rZSB3aXRoIDU4N2U3YzQKCjIwMTUtMDktMjYgMTA6NDk6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoOiBGaXggdW5pdCB0ZXN0IGFmdGVyIGludGVybmFsIEFQSSBjaGFuZ2UKCjIwMTUtMDgtMjUgMTc6Mzk6MzAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBGaXggdHlwbyBpbiBnb3RvIHZhcmlhYmxlIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA1NwoKMjAxNS0wOC0xOCAxNDoxNjoxMSArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY3JlYXRlIHNyYyBwYWRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zLgoJICBDcmVhdGUgc3JjIHBhZHMgZm9yIFJlcHJlc2VudGF0aW9ucyB0aGF0IGNvbnRhaW4gdGltZWQtdGV4dCBzdWJ0aXRsZXMsCgkgIGJvdGggd2hlbiB0aGUgc3VidGl0bGVzIGFyZSBlbmNhcHN1bGF0ZWQgaW4gSVNPIEJNRkYgKGkuZS4sIHRoZQoJICBSZXByZXNlbnRhdGlvbiBoYXMgbWltZVR5cGUgImFwcGxpY2F0aW9uL21wNCIpIGFuZCB3aGVuIHRoZXkgYXJlCgkgIHVuZW5jYXBzdWxhdGVkIChpLmUuLCB0aGUgUmVwcmVzZW50YXRpb24gaGFzIG1pbWVUeXBlCgkgICJhcHBsaWNhdGlvbi90dG1sK3htbCIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Nzc0CgoyMDE1LTA5LTI2IDAwOjE3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogU3RvcCB1c2luZyBkZXByZWNhdGVkIGdzdF9zZWdtZW50X3RvX3Bvc2l0aW9uKCkKCjIwMTUtMDgtMzEgMTY6MTI6NDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGZvcndhcmQgUU9TIGV2ZW50cyB0byBzaW5rcGFkcyB0aGF0IGhhZCBubyBidWZmZXIgeWV0CgkgIE90aGVyd2lzZSB0aGV5IHdpbGwgcmVjZWl2ZSBhIFFPUyBldmVudCB0aGF0IGhhcyBlYXJsaWVzdF90aW1lPTAgKGJlY2F1c2Ugd2UKCSAgY2FuJ3QgaGF2ZSBuZWdhdGl2ZSB0aW1lc3RhbXBzKSwgYW5kIGNvbnNpZGVyIHRoZWlyIGJ1ZmZlciBhcyB0b28gbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MzU2CgoyMDE1LTA5LTIyIDE2OjE3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgbGF6eS1sb2FkaW5nIG9mIGV4dGVybmFsIHBlcmlvZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOS0yMSAyMTowNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IExvYWQgT25Mb2FkIGV4dGVybmFsIHJlc291cmNlcyBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIG9uIGRlbWFuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTA4IDEzOjM2OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgZXh0ZXJuYWwgU2VnbWVudExpc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMDggMTM6MDQ6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBBZGQgc3VwcG9ydCBmb3IgbG9hZGluZyBleHRlcm5hbCBBZGFwdGF0aW9uU2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA4LTIxIDE2OjQwOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogSW1wbGVtZW50IGxvYWRpbmcgb2YgZXh0ZXJuYWwgUGVyaW9kIG5vZGVzCgkgIFRoZSBzYW1lIGhhcyB0byBiZSBkb25lIGZvciBBZGFwdGF0aW9uU2V0IGFuZCBTZWdtZW50TGlzdCBub2RlcyBzdGlsbC4KCSAgQWxzbyB0aGlzIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgdGhlIHNlbWFudGljczogYnkgZGVmYXVsdCBQZXJpb2QgKGFuZAoJICBvdGhlciBub2Rlcykgc2hvdWxkIG9ubHkgYmUgbG9hZGVkIHdoZW4gbmVlZGVkLCBub3QgaW4gdGhlIHZlcnkgYmVnaW5uaW5nLiBXZQoJICBuZWVkIHRvIGltcGxlbWVudCBsYXp5IGxvYWRpbmcgZm9yIHRoZW0sIHdoaWNoIG1lYW5zIGFkanVzdGluZwoJICBnc3RfbXBkX2NsaWVudF9zZXR1cF9tZWRpYV9wcmVzZW50YXRpb24oKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOC0yMSAxMjowNjowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtcGRwYXJzZXI6IFN0b3JlIGFuIFVSSSBkb3dubG9hZGVyIGluIHRoZSBwYXJzZXIgZm9yIGRvd25sb2FkaW5nIGFkZGl0aW9uYWwgTVBEIHJlc291cmNlcyBpZiBuZWVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wNy0xMCAxODo1NjoyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBQYXJzZSB4bGluayBhdHRyaWJ1dGVzIGZyb20gUGVyaW9kLCBBZGFwdGF0aW9uU2V0IGFuZCBTZWdtZW50TGlzdAoJICBXZSBzdGlsbCBoYXZlIHRvIGRvIHNvbWV0aGluZyB1c2VmdWwgd2l0aCB0aGVtLCBsaWtlIGFjdHVhbGx5IGxvYWRpbmcgdGhlCgkgIGNvbnRlbnQgYmVoaW5kIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMTYgMjM6Mzg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBoYW5kbGUgcmVsYXRpdmUgYW5kIG5vbi1IVFRQIFVSSXMgZm9yIHRoZSBoZWFkZXJzL2luZGljZXMKCSAgZ3N0X3VyaV9qb2luX3N0cmluZ3MoKSB3aWxsIHJldHVybiB0aGUgc2Vjb25kIHBhcmFtZXRlciBpZiBpdCBpcyBhbiBhYnNvbHV0ZQoJICBVUkkuIE5vIG5lZWQgdG8gZG8gYSAod3JvbmcpIGNoZWNrIGlmIHRoZSBVUkkgaXMgYWJzb2x1dGUgb3Igbm90IGJlZm9yZWhhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMzQKCjIwMTUtMDktMTYgMjM6MTI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBJZiBubyBJbml0aWFsaXphdGlvbiBpcyBwcmVzZW50IGluIHRoZSBTZWdtZW50QmFzZSwgYXNzdW1lIGl0IGlzIGJlZm9yZSB0aGUgaW5kZXhSYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTMyCgoyMDE1LTA5LTI1IDIzOjUxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjYuMCA9PT0KCjIwMTUtMDktMjUgMjM6MzM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjYuMAoKMjAxNS0wOS0yNSAyMzowMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTI1IDEwOjMyOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogdXNlIEdMX0VMRU1FTlRfQVJSQVlfQlVGRkVSIGZvciB2Ym8gaW5kaWNlcwoJICBGaXhlcyB0aGlzIGVycm9yIHdpdGggY2hyb21pdW0gZ3B1IHByb2Nlc3M6CgkgIEdMX0lOVkFMSURfT1BFUkFUSU9OLCBnbEJpbmRCdWZmZXI6IGJ1ZmZlciBib3VuZCB0byBtb3JlIHRoYW4gMSB0YXJnZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxOAoKMjAxNS0wOS0xNyAxNDoxNzowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGZpeCB0ZXh0dXJlIGxlYWsgaW4gX2dsX21lbV9jb3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NTYKCjIwMTUtMDktMjQgMTg6NTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogT25seSBydW4gZnJvbSB0aGUgbWFpbiB0aHJlYWQgaW4gc3RvcCgpIGlmIHdlIGNyZWF0ZWQgdGhlIHdpbmRvdwoJICBXZSdyZSBub3QgZG9pbmcgYW55dGhpbmcgYXQgYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkIGluIG90aGVyIGNhc2VzLgoKMjAxNS0wOS0yNCAxNTo1Mjo0MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogV2hlbiBzZXR0aW5nIGZvcm1hdCBjaGVjayBpZiBwZW5kaW5nIGZvcm1hdCBjaGFuZ2VkCgkgIEluIGNhc2UgdGhlIGZvcm1hdCBjaGFuZ2VkIGZhc3QgYW5kIHRoZSBwZW5kaW5nIGZvcm1hdCBpcyBkaWZmZXJlbnQKCSAgdGhhbiB0aGUgY3VycmVudGx5IHNldCBidXQgdGhlIGN1cnJlbnRseSBzZXQgaXMgZXF1YWwgdG8gdGhlIHBlbmRpbmcKCSAgb25lIHdlIGNvdWxkIGVuZCB1cCBoYXZpbmcgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgZmluYWxseSBzZXQgZm9ybWF0CgkgIGFuZCB0aGUgZGF0YSBzdHJlYW0gZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTQyCgoyMDE1LTA5LTI0IDE1OjUxOjI4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogRG8gbm90IGZvcmdldCB0byByZWxlYXNlIE9CSkVDVF9MT0NLIG9uIGVycm9yIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTU0MgoKMjAxNS0wOS0yNCAxMTozNzowNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3V0aWxzLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrdXRpbHMuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IEZhY3RvciBvdXQgYSBmdW5jdGlvbiB0byBydW4gYSBmdW5jdGlvbiBvbiBtYWluIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjUxCgoyMDE1LTA5LTI0IDEwOjUxOjMxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogTWFyc2hhbGwgc3RhdGUgY2hhbmdlcyBpbiB0aGUgbWFpbiB0aHJlYWQKCSAgR3RrIGlzIG5vdCBNVCBzYWZlIHRodXMgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBldmVyeXRoaW5nIGlzIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIHdoZW4gd29ya2luZyB3aXRoIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjUxCgoyMDE1LTA5LTIzIDE1OjU2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBhIGNsb2NrIGVwb2NoIHRoYXQgaXMgdXNlZCBhcyBvZmZzZXQgd2hlbmV2ZXIgcmVzdGFydGluZyB0aGUgY2xvY2sKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHJldHVybiB0aW1lcyBzdGFydGluZyBhdCAwIGFnYWluIGFmdGVyIHNodXR0aW5nIGRvd24KCSAgYW4gZWxlbWVudCBmb3IgYSBzcGVjaWZpYyBpbnB1dC9vdXRwdXQgYW5kIHRoZW4gdXNpbmcgaXQgYWdhaW4gbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0MjYKCjIwMTUtMDktMjIgMTk6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IERpc2FibGUgaW5wdXRzL291dHB1dHMgaW4gUEFVU0VELT5SRUFEWSB0byBhbGxvdyBnb2luZyB0byBQQVVTRUQgYWdhaW4gZnJvbSB0aGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDI2CgoyMDE1LTA5LTIzIDExOjQyOjUxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6IERvIG5vdCBzaG93IHdpbmRvdyB1bnRpbCB3ZSByZWFjaCB0aGUgUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NTkKCjIwMTUtMDktMjIgMTQ6NDM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBPbmx5IGNoZWNrIHN0cmVhbS0+c2VnbWVudHMgZm9yIGEgcmVwZWF0ZWQgbGFzdCBzZWdtZW50IGlmIHdlIGhhdmUgYSBzdGF0aWMgbGlzdCBvZiBzZWdtZW50cwoJICBPdGhlcndpc2Ugd2UnbGwgY3Jhc2gsIHRyeWluZyB0byBkZXJlZmVuY2UgTlVMTC4gQW5kIGlmIHdlIGhhdmUgbm8gc3RhdGljIGxpc3QKCSAgb2Ygc2VnbWVudHMsIHdlIGNhbid0IGhhdmUgcmVwZWF0ZWQgc2VnbWVudHMgYW55d2F5LgoJICBSZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY2ZlMjg3MWE1ZTNjNWIxZGIyMDQ3MDkyNzY0MmI3NzZlMDU1YTg3YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDExCgoyMDE1LTA5LTIxIDE5OjAyOjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogRHJvcCBpbmNvcnJlY3Qgc3RyZWFtLWZvcm1hdD0iYXZjIiBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDE1LTA5LTIxIDEwOjQ3OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6IERvIG5vdCByZSBkZXN0cm95IHRoZSBHdGtXaW5kb3cgaWYgZGVzdHJveWVkIGJ5IHRoZSB1c2VyCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBhbiBBU1NFUlQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNDkKCjIwMTUtMDktMjEgMDg6MDQ6NDAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IGZpeCByZW5kZXJpbmcgd2l0aCByZWNlbnQgcmVzaXplIHN0YXRlIHRyYWNraW5nCgkgIDU1N2NhNmZkYTVmODMxYmU0YWJhNTgxOWJmN2IzMGIyOTZlNTc1Y2QgZGlkbid0IGNoYW5nZSB0byB0aGUKCSAgbmVjZXNzYXJ5IGdzdF9nbF93aW5kb3dfcmVzaXplKCkgY2FsbCBmb3IgdGhlIGRpc3BtYW54IGJhY2tlbmQuCgoyMDE1LTA5LTE5IDExOjQ2OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgZ3RrZ2xzaW5rOiBIaWRlIGFuZCBjbGVhbiB0aGUgR3RrV2luZG93IHdlIG1pZ2h0IGNyZWF0ZQoJICBXaGVuIHN0b3BwaW5nIHRoZSBzaW5rIHdlIHNob3VsZCBhbHdheXMgaGlkZSB0aGUgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjQ5Cgo9PT0gcmVsZWFzZSAxLjUuOTEgPT09CgoyMDE1LTA5LTE4IDE5OjUxOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTEKCjIwMTUtMDktMTggMTk6MzE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0xOCAxODowMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IE9ubHkgc2tpcCB0aGUgcmVtYWluaW5nIHBhcnQgb2YgYSBHQVAgYnVmZmVyCgkgIFdlIG1pZ2h0J3ZlIHF1ZXVlZCB1cCBhIEdBUCBidWZmZXIgdGhhdCBpcyBvbmx5IHBhcnRpYWxseSBpbnNpZGUgdGhlIGN1cnJlbnQKCSAgb3V0cHV0IGJ1ZmZlciAoaS5lLiB3ZSByZWNlaXZlZCBpdCB0b28gbGF0ZSEpLiBJbiB0aGF0IGNhc2Ugd2Ugc2hvdWxkIG9ubHkKCSAgc2tpcCB0aGUgcGFydCBvZiB0aGUgR0FQIGJ1ZmZlciB0aGF0IGlzIGluc2lkZSB0aGUgY3VycmVudCBvdXRwdXQgYnVmZmVyLCBub3QKCSAgYWxzbyB0aGUgcmVtYWluaW5nIHBhcnQuIE90aGVyd2lzZSB3ZSBmb3J3YXJkIHRoaXMgcGFkIHRvbyBmYXIgaW50byB0aGUgZnV0dXJlCgkgIGFuZCBicmVhayBzeW5jaHJvbml6YXRpb24uCgoyMDE1LTA5LTE4IDIxOjE0OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZGlzYWJsZSB0aGUgdGV4dHVyZSBjYWNoZSBvbiBPU1gKCSAgVGhpcyBhIHdvcmthcm91bmQgdW50aWwgdGhlIGluY29tcGF0aWJpbGl0eSB3aXRoIENWT3BlbkdMVGV4dHVyZUNhY2hlCgkgIGFuZCBvcGVuZ2wzIGNvbnRleHRzIGlzIGZpeGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Nzg2CgoyMDE1LTA5LTE3IDE5OjQyOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBLZWVwIGF0IGxlYXN0IHR3byBidWZmZXJzIGluIHRoZSBxdWV1ZSBpbiBsaXZlIG1vZGUKCSAgV2hlbiBpbiBsaXZlIG1vZGUsIHRoZSBxdWV1ZSBuZWVkcyB0byBob2xkIHRoZSBjdXJyZW50bHkgcHJvY2Vzc2VkCgkgIGJ1ZmZlciBhbmQgb25lIG1vcmUgYXQgbGVhc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4NTEKCjIwMTUtMDktMTggMTE6NTU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDktMTggMTU6Mjg6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBnc3QtaW5kZW50IGZpbGUKCjIwMTUtMDktMTcgMTk6NTY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBwZ3M6IGZpeCBwcmludGYgZm9ybWF0L2FyZ3VtZW50IG1pc21hdGNoIGluIGRlYnVnIHN0YXRlbWVudHMKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBleHRyYSBkZWJ1Z2dpbmcgaXMgZW5hYmxlZCBhdCBjb21waWxlIHRpbWUuCgoyMDE1LTA5LTE3IDE3OjU0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgdW5wcmVmaXggU1RBVElTVElDU19NRVNTQUdFX05BTUUgYWZ0ZXIgYWxsCgkgIEl0IHdhcyBvbmx5IGFkZGVkIGR1cmluZyAxLjUueCBzbyB3ZSBtaWdodCBqdXN0IGFzIHdlbGwgcmVtb3ZlIGl0CgkgIGltbWVkaWF0ZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Njg2CgoyMDE1LTA5LTA3IDE2OjU3OjA1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcHJlZml4IHRoZSBzdGF0aXN0aWNzIG1lc3NhZ2UgbmFtZSBtYWNybwoJICBLZWVwIG9sZCBkZWZpbmUgYXJvdW5kIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2ODYKCjIwMTUtMDktMTggMDA6MTA6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBIb29rIHVwIHRoZSByZWNlbnRseSBhZGRlZCBjaGFuZ2Vfc3RhdGUgdmZ1bmMuCgkgIFRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2FzIGltcGxlbWVudGVkLCBidXQgbm90IGluc3RhbGxlZCwKCSAgbWFraW5nIHRoZSBjb21waWxlciBjb21wbGFpbiBhYm91dCB0aGUgdW51c2VkIGZ1bmN0aW9uLgoKMjAxNS0wOS0xOCAwMDoyMDoxMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIERvbid0IHRocm93IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggR19ESVNBQkxFX0FTU0VSVAoJICBEaXNhYmxlIGNvZGUgdGhhdCB3YXJucyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIHdoZW4gR19ESVNBQkxFX0FTU0VSVAoJICBpcyBkZWZpbmVkLCBhcyBpdCBpcyBpbiB0YXJiYWxscyBhbmQgcHJlLXJlbGVhc2VzLgoKMjAxNS0wOS0xNyAyMjoxNzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYW9wZW5nbGxheWVyOiBmaXggbm9uLWV4aXN0ZW50IHNlbGVjdG9yIHdhcm5pbmcKCSAgNTU3Y2E2ZmRhNWY4MzFiZTRhYmE1ODE5YmY3YjMwYjI5NmU1NzVjZCBpbnRyb2R1Y2VkIHRoZSBxdWV1ZVJlc2l6ZQoJICBjYWxsIHdpdGhvdXQgaW1wbGVtZW50aW5nIHRoZSBzZWxlY3RvcgoKMjAxNS0wOS0xNyAyMTozMTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IEZpeCBnX3JldHVybl92YWxfaWZfZmFpbCBpbiBhIHZvaWQgZnVuY3Rpb24KCjIwMTUtMDktMTcgMTU6MDY6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWEvdnRkZWM6IGZpeCBuZWdvdGlhdGlvbiBlcnJvcnMgd2hlbiByZXNpemluZyBnbGltYWdlc2luawoJICBHc3RWaWRlb0RlY29kZXIgaGFzIGl0cyBvd24gbG9naWMgZm9yIGRldGVjdGluZyB3aGVuIHRvIHJlY29uZmlndXJlCgkgIHdoaWNoIHVsdGltYXRlbHkgY2FsbHMgZGVjaWRlX2FsbG9jYXRpb24gYW5kIHJlc3VsdHMgaW4gYSBuZXcKCSAgdGV4dHVyZSBjYWNoZSB0aGF0IGhhcyBub3QgYmVlbiBjb25maWd1cmVkIGZyb20gb3VyIHJlY29uZmlndXJlIGNoZWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTU2CgoyMDE1LTA5LTE3IDE3OjIyOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlcXVlc3QgYSByZXNpemUgb24gY2Fwcy8zZCBtb2RlIGNoYW5nZXMKCSAgRml4ZXMgaW5jb3JyZWN0IGFzcGVjdCByYXRpbyBvbiBPU1ggd2hlbiBjaGFuZ2luZyBjYXBzIG9yIHRoZSAzZAoJICBvdXRwdXQgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTExMQoKMjAxNS0wOS0xNyAxNzowNjozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2x3aW5kb3c6IGFkZCBBUEkgdG8gcmVxdWVzdCBhIHJlc2l6ZSBldmVudCBvbiB0aGUgbmV4dCBkcmF3CgkgIC0gZ2xpbWFnZXNpbmsgbmVlZHMgdG8gYmUgYWJsZSB0byByZXNpemUgdGhlIHZpZXdwb3J0IG9uIGFzcGVjdCByYXRpbwoJICBjaGFuZ2VzIHJlc3VsdGluZyBmcm9tIGVpdGhlciBjYXBzIGNoYW5nZXMgb3IgM2Qgb3V0cHV0IG1vZGUgY2hhbmdlcy4KCSAgLSBQZXJmb3JtaW5nIGEgZ2xWaWV3cG9ydCBvdXRzaWRlIHRoZSBHc3RHTFdpbmRvdzo6cmVzaXplIGNhbGxiYWNrCgkgIHdpbGwgbm90IGhhdmUgdGhlIHdpbnN5cycgc3RhY2sgb2Ygdmlld3BvcnRzIHJlcXVpcmVkIHRvIGNvcnJlY3RseQoJICBwbGFjZSB0aGUgb3V0cHV0IGZyYW1lLgoJICBQcm92aWRlIGEgZnVuY3Rpb24gdG8gcmVxdWVzdCBhIHJlc2l6ZSBvbiB0aGUgbmV4dCBkcmF3IGV2ZW50IGZyb20gdGhlCgkgIHdpbnN5cy4KCSAgQWxzbyB0cmFjayBzaXplIGNoYW5nZXMgaW5zaWRlIHRoZSBiYXNlIEdzdEdMV2luZG93IGNsYXNzIHJhdGhlcgoJICB0aGFuIGluIGVhY2ggc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMTEKCjIwMTUtMDktMTcgMTY6NTU6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2wvdXBsb2FkZWxlbWVudDogZmFpbCBlYXJsaWVyIGlmIHdlIGNvdWxkIG5vdCB1cGxvYWQgdGhlIGJ1ZmZlcgoKMjAxNS0wOS0xNyAxNjowNToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBzdG9yZSB0aGUgY29ycmVjdCBkaW1lbnNpb24gZnJvbSB0aGUgcmVzaXplIGV2ZW50cwoJICBzbWFsbCB0eXBvIHMvd2lkdGgvaGVpZ2h0LwoKMjAxNS0wOS0xNyAxMzo0NzoyMyArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGF2ZHRwdXRpbDogZml4IEdFcnJvciBtZW1vcnkgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE0MgoKMjAxNS0wOS0xNyAxMzozNTowMiArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IEZpeCBHRXJyb3IgbGVha3MgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNDAKCjIwMTUtMDktMTYgMDA6MTk6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkgIGludGVydmlkZW9zaW5rOiByZW5kZXIgcHJlcm9sbCBmcmFtZXMgYXMgd2VsbAoJICBEZXJpdmUgZnJvbSBHc3RWaWRlb1Npbmsgc28gdGhhdCBwcmVyb2xsIGZyYW1lcyB3aWxsIGF1dG9tYXRpY2FsbHkKCSAgZ2V0IHJlbmRlcmVkIHRvbywgdW5sZXNzIHRoZSBzaG93LXByZXJvbGwtZnJhbWUgcHJvcGVydHkgaXMgc2V0IHRvCgkgIEZBTFNFLiBGaXhlcyBpbnRlcnZpZGVvc3JjIG9ubHkgcGlja2luZyB1cCBmcmFtZXMgaWYgaW50ZXJ2aWRlb3NpbmsKCSAgaXMgaW4gUExBWUlORyBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA0OQoKMjAxNS0wOS0xNyAwMDowMTo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24uCgkgIEZpeCB0aGUgbmVnb3RpYXRpb24gb2YgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24gYnkgY2hlY2tpbmcKCSAgaW50ZXJzZWN0aW9uIHdpdGggdGhlIHBlZXIgY2FwcywgcmF0aGVyIHRoYW4ganVzdCBhY2NlcHQtY2FwcywKCSAgd2hpY2ggbWlnaHQgb25seSBjaGVjayB0aGUgcGFkIHRlbXBsYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTEzCgoyMDE1LTA5LTA5IDE0OjQ5OjE3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgZm9yIG5lZ2F0aXZlIHJlcGVhdCBjb3VudCBpbiBzZWdtZW50cwoJICBJbXBsZW1lbnRzIG5lZ2F0aXZlIHJlcGVhdCBzZWdtZW50IGZpZWxkcywgZGVmaW5lZCBpbiA1LjMuOS42LjEuCgoyMDE1LTA5LTA4IDE1OjE0OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBwcm9wZXJseSByZWFkIHNpZ25lZCByIHZhbHVlcyBmb3IgUyBlbGVtZW50cwoJICBUaGUgc3BlYyBkZWZpbmVzIHRoZXNlIGFzIHNpZ25lZCBpbiA1LjMuOS42LjEuCgkgIFNpbmNlIHdlIGRvbid0IHN1cHBvcnQgdGhpcyBiZWhhdmlvciwgd2FybiBhbmQgZGVmYXVsdCB0byAwCgkgIChub24gcmVwZWF0aW5nKSwgd2hpY2ggaXMgdGhlIHNwZWMncyBkZWZhdWx0IHdoZW4gdGhlIHZhbHVlCgkgIGlzIG5vdCBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDgwCgoyMDE1LTA5LTA5IDExOjA1OjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtZHBwYXJzZXI6IGNhdGNoIGZhaWx1cmVzIHRvIHBhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0ODAKCjIwMTUtMDktMTYgMTc6Mjg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGF2b2lkIHVwZGF0aW5nIHRoZSB2aWV3cG9ydCBpbiB0aGUgZHJhdyBsb29wCgkgIEZpeGVzIGZsYXNoZXMvaW5jb3JyZWN0IGFzcGVjdCByYXRpbyB3aGVuIHJlc2l6aW5nIGdsaW1hZ2VzaW5rIG9uIE9TWC4KCjIwMTUtMDktMTUgMjE6NTA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBwbGF5YmFjayBvZiBsaXZlIHN0cmVhbXMKCSAgZGFzaGRlbXV4IHNlZWtzIGVhY2ggbGl2ZSBzdHJlYW0gdG8gaXRzIGN1cnJlbnQgZnJhZ21lbnQgaW4gdGhlIGJlZ2lubmluZywgYnV0CgkgIHRoZSBiYXNlIGNsYXNzIGRvZXMgbm90IGtub3cgYWJvdXQgdGhpcy4gVXBkYXRlIHRoZSBkZW11eGVyIHNlZ21lbnQgd2l0aCB0aGlzCgkgIHNlZWsgc28gd2UgZ2VuZXJhdGUgdGhlIGNvcnJlY3QgU0VHTUVOVCBldmVudCBhbmQgY2FuIGFjdHVhbGx5IHBsYXkgdGhlCgkgIHN0cmVhbS4KCSAgVGhpcyBuZWVkcyBzb21lIHJlZmFjdG9yaW5nIGF0IHNvbWUgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDcKCjIwMTUtMDktMTUgMTU6Mzk6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogcmVtb3ZlIGNoZWNrIGZvciBudW1iZXIgb2YgY2hhbm5lbHMKCSAgb3B1cyBkZWNvZGVyIGNhbiBjb252ZXJ0IGZyb20gZGlmZmVyZW50IG51bWJlciBvZiBjaGFubmVscywgbm8KCSAgbmVlZCB0byBjaGVjaywganVzdCBsZXQgaXQgbmVnb3RpYXRlIGFuZCBjcmVhdGUgYSBuZXcgZGVjb2RlciBpZgoJICBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNTkKCjIwMTUtMDktMTUgMTA6MDA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogT25seSBvdmVyd3JpdGUgbGFzdCByZXR1cm4gaWYgaXQgd2FzIE9LCgkgIFByZXZlbnRzIG92ZXJ3cml0aW5nIG90aGVyIGNvbmRpdGlvbnMgdGhhdCB3b3VsZCBiZSBtb3JlIGltcG9ydGFudCwKCSAgc3VjaCBhcyBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDIKCjIwMTUtMDktMTUgMDk6NTg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCByZXR1cm4gd2hlbiB0cnlpbmcgdG8gYWR2YW5jZSBpbiBzdWJmcmFnbWVudGVkIHN0cmVhbQoJICBFdmVuIGlmIGl0IGRvZXNuJ3QgYWN0dWFsbHkgYWR2YW5jZSB0aGUgc3ViZnJhZ21lbnQgaW4gdGhlIGRlZmF1bHQgd2F5CgkgIGZvciBzdHJlYW1zIHRoYXQgaGF2ZSBzdWJmcmFnbWVudHMsIGl0IGNhbiBoZWxwIHRoZSBiYXNlIGNsYXNzIHRvIHJldHVybgoJICBFT1Mgd2hlbiB0aGVyZSBpcyBubyBtb3JlIGZyYWdtZW50cyBpbnN0ZWFkIG9mIHNpZ25hbGluZyBpdCB0aGF0IGl0IHNob3VsZAoJICBjb250aW51ZSBkb3dubG9hZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA0MgoKMjAxNS0wOS0xNSAxMTozNDoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBidWZmZXJwb29sIHRha2UgaW50byBhY2NvdW50IHZpZGVvIHN0cmlkZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzCgkgIHdoZW4gYWxsb2NhdGluZyBtZW1vcnkuIEZpeGVzIGNyYXNoZXMgd2l0aCBhdmRlY19oMjY1IGluIHRoZSBBVlgyCgkgIGNvZGUgcGF0aCB3aGljaCByZXF1aXJlcyAzMi1ieXRlIHN0cmlkZSBhbGlnbm1lbnQsIGJ1dCB0aGUKCSAgR3N0QWxsb2NhdGlvblBhcmFtcyBvbmx5IHNwZWNpZmllZCBhIDE2LWJ5dGUgYWxpZ25tZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTIwCgoyMDE1LTA5LTE1IDEzOjQwOjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IFNldCBzZXFudW0gb24gbmV3bHkgY3JlYXRlZCBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwMTIKCjIwMTUtMDktMTEgMjE6Mzc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBGaXggbWl4dXAgb2YgcnVubmluZyB0aW1lcyBhbmQgc2VnbWVudCBwb3NpdGlvbnMKCSAgV2UgaGF2ZSB0byBxdWV1ZSBidWZmZXJzIGJhc2VkIG9uIHRoZWlyIHJ1bm5pbmcgdGltZSwgbm90IGJhc2VkIG9uCgkgIHRoZSBzZWdtZW50IHBvc2l0aW9uLgoJICBBbHNvIHJldHVybiBydW5uaW5nIHRpbWUgZnJvbSBHc3RBZ2dyZWdhdG9yOjpnZXRfbmV4dF90aW1lKCkgaW5zdGVhZCBvZgoJICBhIHNlZ21lbnQgcG9zaXRpb24sIGFzIHJlcXVpcmVkIGJ5IHRoZSBBUEkuCgkgIEFsc28gb25seSB1cGRhdGUgdGhlIHNlZ21lbnQgcG9zaXRpb24gYWZ0ZXIgd2UgcHVzaGVkIGEgYnVmZmVyLCBvdGhlcndpc2UKCSAgd2UncmUgZ29pbmcgdG8gcHVzaCBkb3duIGEgc2VnbWVudCBldmVudCB3aXRoIHRoZSBuZXh0IHBvc2l0aW9uIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMTEgMTY6NTY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBVc2Ugc3RyZWFtIHRpbWUgaW4gdGhlIHBvc2l0aW9uIHF1ZXJ5IGluc3RlYWQgb2Ygc2VnbWVudCBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTk2CgoyMDE1LTA5LTExIDEyOjIyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEZpeCBtaXh1cCBvZiBydW5uaW5nIHRpbWVzIGFuZCBzZWdtZW50IHBvc2l0aW9ucwoJICBXZSBoYXZlIHRvIHF1ZXVlIGJ1ZmZlcnMgYmFzZWQgb24gdGhlaXIgcnVubmluZyB0aW1lLCBub3QgYmFzZWQgb24KCSAgdGhlIHNlZ21lbnQgcG9zaXRpb24uCgkgIEFsc28gcmV0dXJuIHJ1bm5pbmcgdGltZSBmcm9tIEdzdEFnZ3JlZ2F0b3I6OmdldF9uZXh0X3RpbWUoKSBpbnN0ZWFkIG9mCgkgIGEgc2VnbWVudCBwb3NpdGlvbiwgYXMgcmVxdWlyZWQgYnkgdGhlIEFQSS4KCSAgQWxzbyBvbmx5IHVwZGF0ZSB0aGUgc2VnbWVudCBwb3NpdGlvbiBhZnRlciB3ZSBwdXNoZWQgYSBidWZmZXIsIG90aGVyd2lzZQoJICB3ZSdyZSBnb2luZyB0byBwdXNoIGRvd24gYSBzZWdtZW50IGV2ZW50IHdpdGggdGhlIG5leHQgcG9zaXRpb24gYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0xMSAxMjoyMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgdGhhdCBnZXRfbmV4dF90aW1lKCkgc2hvdWxkIHJldHVybiBydW5uaW5nIHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0wMyAxNDoyMDowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IERvbid0IGNvbnNpZGVyIHBlcmlvZCBzdGFydCB0aW1lcyBpbiBwZXJpb2RzIHdpdGggc2VnbWVudCBsaXN0cyBlaXRoZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMyAxMDoyNjowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogRml4IHVuaXQgdGVzdCB0aGF0IGFzc3VtZWQgdGhhdCBmcmFnbWVudCB0aW1lc3RhbXBzIHNob3VsZCBpbmNsdWRlIHRoZSBwZXJpb2Qgc3RhcnQgdGltZXN0YW1wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDIgMTg6MzM6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEV4cG9ydCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMiAxODoyOTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBQcm9wZXJseSBpbXBsZW1lbnQgdGltZXN0YW1waW5nIG9mIG11bHRpLXBlcmlvZCBzdHJlYW1zCgkgIEVhY2ggcGVyaW9kIHdpbGwgc3RhcnQgYWdhaW4gd2l0aCBwdHMgMCArIHBlcmlvZCBwcmVzZW50YXRpb24gb2Zmc2V0LCB3aGljaCBpcwoJICBhbHNvIGdvaW5nIHRvIGJlIHRoZSBwcmVzZW50YXRpb24gdGltZSBpbnNpZGUgdGhlIGNvbnRhaW5lciBzdHJlYW0gaWYgYW55LgoJICBIb3dldmVyIGFsbCBwZXJpb2RzIHRvZ2V0aGVyIHNob3VsZCBmb3JtIGEgY29udGludW91cyB0aW1lbGluZSwgd2l0aCByZWdhcmQgdG8KCSAgc3RyZWFtIHRpbWUgYW5kIHJ1bm5pbmcgdGltZS4KCSAgRm9yIG1ha2luZyB0aGlzIHBvc3NpYmxlIHdlIGtlZXAgdHJhY2sgb2YgdGhlICJ1c2VyIHJlcXVlc3RlZCBzZWdtZW50IiwgaS5lLgoJICB0aGUgc2VlayBldmVudHMsIGluc2lkZSB0aGUgZGVtdXhlciB3aXRob3V0IGFkanVzdGluZyBhbnl0aGluZyBhbmQgdGFraW5nIHRoaXMKCSAgZGVtdXhlciBzZWdtZW50IG9ubHkgYXMgb3JpZW50YXRpb24gZm9yIG1vZGlmaWVkIHNlZ21lbnRzIHBlciBzdHJlYW0uCgkgIFRoaXMgcGVyIHN0cmVhbSBzZWdtZW50cyB3aWxsIGhhdmUgdGhlaXIgc2VnbWVudC5zdGFydCBhdCBwdHMgdGhhdCB3b3VsZCBiZQoJICBwcm9kdWNlZCBmb3IgdGhpcyBzdHJlYW0gaW4gdGhpcyBwZXJpb2QsIGFuZCB0aGUgc2VnbWVudC5iYXNlL3RpbWUgYWRqdXN0ZWQgc28KCSAgdGhhdCB0aGlzIHB0cyBtYXBzIHRvIHRoZSBydW5uaW5nIGFuZCBzdHJlYW0gdGltZSB0aGlzIHBlcmlvZCBzaG91bGQgaGF2ZSBpbgoJICB0aGUgY29udGV4dCBvZiBhbGwgb3RoZXIgcGVyaW9kcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMSAxMzoxMzo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgImRhc2hkZW11eDogU3VidHJhY3QgdGhlIHBlcmlvZCBzdGFydCB0aW1lIGZyb20gdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjI2YThmMGE3NGY4ZWE3NDhiODExYjc0YmE5ZTdhZTJiYWVhMmNjYS4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gZ2V0IHRoZSBwbGFpbiBwcmVzZW50YXRpb24gb2Zmc2V0IGFuZCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUKCSAgc2VwYXJhdGVseS4gV2UgaGF2ZSB0byBhZGp1c3QgdGhlIHRpbWVzdGFtcCBieSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldCwgYnV0CgkgIHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBzaG91bGQgb25seSBhZGp1c3QgdGhlIHN0cmVhbSB0aW1lIGFuZCBydW5uaW5nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MDkKCjIwMTUtMDktMDEgMTM6MTI6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJkYXNoZGVtdXg6IEluY2x1ZGUgdGhlIHBlcmlvZCBzdGFydCBpbiB0aGUgZnJhZ21lbnQgdGltZXN0YW1wcyBpbiBhbGwgY2FzZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTY3MWFkMjVhOTg5Y2IyMWM2MmM3YTU4NjdjMjA5MDg5MGNlNDliYS4KCSAgVGhlIHRpbWVzdGFtcHMgc2hvdWxkIHJlc3RhcnQgYXQgMCBhZ2FpbiBmb3IgZWFjaCBwZXJpb2QsIGJ1dCB3ZSBoYXZlIHRvCgkgIGFkanVzdCB0aGUgc2VnbWVudCB0byBtYXAgdGhvc2UgdGltZXN0YW1wcyB0byB0aGUgYWN0dWFsIHN0cmVhbSB0aW1lIGFuZAoJICBydW5uaW5nIHRpbWUgb2YgdGhhdCBwZXJpb2QuCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRpbWVzdGFtcHMgdGhhdCBjb25mbGljdCB3aXRoIHRoZSBvbmVzIGZyb20gdGhlIHRmZHQKCSAgaW5zaWRlIHRoZSBNUDQgY29udGFpbmVyLCB3aGljaCBhcmUgcmVzdGFydGluZyBhdCAwIGZvciBlYWNoIHBlcmlvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQwOQoKMjAxNS0wOS0xNCAxOTowMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IENvbnNpZGVyIHRoZSByZXBlYXQgY291bnQgd2hlbiBjaGVja2luZyBpZiBhIHNlZ21lbnQgaXMgdGhlIGxhc3Qgb25lCgkgIE90aGVyd2lzZSB3ZSBwbGF5IG9ubHkgdGhlIGZpcnN0IHJlcGV0aXRpb24gb2YgdGhlIGxhc3Qgc2VnbWVudCBhbmQgdGhlbiBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0ODAKCjIwMTUtMDktMTQgMTM6NTY6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFsc28gY2hlY2sgZm9yIHN1YmZyYWdtZW50cyBvbiBoYXNfbmV4dF9mcmFnbWVudAoJICBJbiBkYXNoIGlzb21iZmYgcHJvZmlsZSB0aGUgZnJhZ21lbnQgaXMgc3BsaXQgaW50byBzdWJmcmFtZW50cyB3aGVyZQoJICBiaXRyYXRlIHN3aXRjaGluZyBpcyBwb3NzaWJsZS4gQWxzbyB0YWtlIHRoYXQgaW50byBjb25zaWRlcmF0aW9uCgkgIHdoZW4gY2hlY2tpbmcgaWYgYSBzdHJlYW0gaGFzIG5leHQgZnJhZ21lbnRzLgoKMjAxNS0wOS0xMSAxMToyMjozNSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGltcHJvdmUgZGVwcmVjYXRlZCBwcm9wZXJ0aWVzIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgxOQoKMjAxNS0wOS0xMSAxMToxMTowOSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCB0aHJvdyBnX3dhcm5pbmcgd2hlbiBnZXR0aW5nIGRlcHJlY2F0ZWQgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODE5CgoyMDE1LTA5LTA5IDE5OjUxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY2FwcyBxdWVyeSB0byBwcm9wZXJseSBoYW5kbGUgYWxwaGEgZm9ybWF0cwoJICBPbmx5IGFjY2VwdCBhbHBoYSBpZiBkb3duc3RyZWFtIGhhcyBhbHBoYSBhcyB3ZWxsLiBJdCBjb3VsZAoJICB0aGVvcmV0aWNhbGx5IGFjY2VwdCBhbHBoYSB1bmNvbmRpdGlvbmFsbHkgaWYgYmxlbmRpbmcgaXMKCSAgcHJvcGVybHkgaW1wbGVtZW50ZWQgZm9yIGhhbmRsZSBpdCBidXQgYXQgdGhlIG1vbWVudCB0aGlzCgkgIGlzIGEgbWlzc2luZyBmZWF0dXJlLgoJICBJbXByb3ZlcyB0aGUgY2FwcyBxdWVyeSBieSBhbHNvIGNvbXBhcmluZyB3aXRoIHRoZSB0ZW1wbGF0ZQoJICBjYXBzIHRvIGZpbHRlciBieSB3aGF0IHRoZSBzdWJjbGFzcyBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NQoKMjAxNS0wOS0xMiAwMDo1MTo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgdnRkZWM6IFVzZSBSL1JHIHRleHR1cmVzIGZvciBOVjEyIHdoZW4gdGhlIGNvbnRleHQgcHJvdmlkZXMgdGhlbQoJICBGaXhlcyBwbGF5YmFjayB0byBHTCBtZW1vcnkgb24gaU9TLCB3aGVyZSB0aGUgY29sb3VycyBhcmUgbWVzc2VkCgkgIHVwIGJ5IHBhc3NpbmcgTHVtaW5hbmNlL0x1bWluYW5jZUFscGhhIHRleHR1cmVzIHdoZXJlCgkgIGNvbG9yIGNvbnZlcnQgZXhwZWN0cyBSL1JHIHRleHR1cmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTA0CgoyMDE1LTA5LTA4IDE3OjE3OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBQcmVmZXIgR0wgb3V0cHV0IGNhcHMuCgkgIFByZWZlciBHTCBjYXBzIGJ5IHB1dHRpbmcgdGhlbSBmaXJzdCBpbiB0aGUgcGFkIHRlbXBsYXRlIGFuZAoJICBpbnRlcnNlY3RpbmcgdXNpbmcgR1NUX0NBUFNfSU5URVJTRUNUX0ZJUlNULgoKMjAxNS0wOS0xMCAxOTowMjoxMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSBzZWxlY3Rpb24gb2YgQWN0aXZlIFJlZiBQaWMgU2V0CgkgIElmIHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgaXMgRkFMU0UsIHRoZSBTaG9ydFRlcm1SZWZQaWNTZXQKCSAgc3RydWN0dXJlIGlzIHN1cHBvc2VkIHRvIGRlcml2ZSBmcm9tIHNsaWNlIGhlYWRlci4gV2hpY2ggbWVhbnMsCgkgIEN1cnJScHNJZHggaXMgZXF1YWwgdG8gbnVtX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXRzLiBCdXQgdGhlIG51bWJlcgoJICBvZiByZWZwaWNzZXRzIGNvbW11bmljYXRlZCB2aWEgc3BzIGhlYWRlciBpcyBvbmx5IG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cyAtIDEuCgkgIEFuZCB3ZSBhcmUgdXNpbmcgc2xpY2VfaGVhZGVyIHN0cnVjdHVyZSB0byByZWZlcmVuY2UgdGhlIGxhc3QgZW50cnksIHdoaWNoIGlzCgkgIFNob3J0VGVybVJlZlBpY1NldFtudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHNdLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODM0CgoyMDE1LTA5LTEwIDE2OjI4OjMxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1IDogRml4IGRlZmF1bHQgc2NhbGluZyBsaXN0IHZhbHVlcwoJICBGaXggdGhlIGRlZmF1bHRfc2NhbGluZ19saXN0IHZhbHVlcyBiYXNlZCBvbiBUYWJsZSA3LTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgzNAoKMjAxNS0wOS0xMCAxNDoxMTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBsZXNzLXRoYW4temVybyBjb21wYXJpc29uIG9mIGFuIHVuc2lnbmVkIHZhbHVlIGlzIG5ldmVyIHRydWUKCSAgVXNlIHRoZSBjb3JyZWN0IHR5cGUsIEdzdENsb2NrVGltZURpZmYsIGluc3RlYWQuCgkgIENJRCAxMzIzNzQyCgoyMDE1LTA5LTEwIDAwOjA3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgZ3RrLCBxdDogbW9yZSBzcGVjaWZpY2FsbHkgZGVmaW5lIHRoZSBjb21waWxlIHRpbWUgcmVxdWlyZW1lbnRzCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBpbmNsdWRlIGhlYWRlcnMvY29uZmlndXJhdGlvbnMgdGhhdCB3aWxsCgkgIG5ldmVyIGJlZW4gaW5zdGFsbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzMyCgoyMDE1LTA5LTAyIDIzOjQyOjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkL3F0OiBpbmRlbnQgY29uZmlndXJlIGZpbGUKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTEwIDAwOjAwOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSAgcXQ6IHVzZSBvdXIgZnVuY3Rpb24gdGFibGUgaW5zdGVhZCBvZiBkaXJlY3RseSBjYWxsaW5nIGdsIGZ1bmN0aW9ucwoJICBPdGhlcndpc2Ugd2hlbiBidWlsZGluZyB3aXRoIC0tYXMtbmVlZGVkIHdlIHdvdWxkIG5lZWQgdG8gbGluayB0bwoJICBhIEdMIG9yIEdMRVMgbGlicmFyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDczMgoKMjAxNS0wOS0wOSAyMzo1Mzo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsL2FwaTogdXNlIHB1YmxpYyByYXRoZXIgdGhhbiBwcml2YXRlIGRlZmluZQoJICBIQVZFX0lPUyBpcyBvbmx5IGRlZmluZWQgZm9yIHRoZSBidWlsZCBvZiB0aGlzIG1vZHVsZSBzbwoJICBhdHRlbXB0aW5nIHRvIHVzZSBnc3RnbCBpbiBpT1Mgd291bGQgcmVzdWx0IGluIGluY29ycmVjdCBHTAoJICBpbmNsdWRlcy4KCSAgVXNlIEdTVF9HTF9IQVZFX1BMQVRGT1JNX0VBR0wgaW5zdGVhZCBmb3IgY2hvb3NpbmcgdGhlIGlPUyBHTAoJICBoZWFkZXIuCgoyMDE1LTA5LTAzIDE2OjM2OjU3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEhhbmRsZSBwaXBlbGluZXMgd2hlcmUgdGhlIHJ1bm5pbmcgdGltZSBkb2VzIG5vdCBzdGFydCBhcm91bmQgMCBwcm9wZXJseQoJICBXZSB3ZXJlIGNvbnZlcnRpbmcgYWxsIHRpbWVzIHRvIG91ciBpbnRlcm5hbCBydW5uaW5nIHRpbWVzLCB0aGF0IGlzIHRoZSB0aW1lCgkgIHRoZSBzaW5rIGl0c2VsZiBzcGVudCBpbiBQTEFZSU5HIGFscmVhZHkuIEJ1dCBmb3Jnb3QgdG8gZG8gdGhhdCBmb3IgdGhlCgkgIHJ1bm5pbmcgdGltZSBjYWxjdWxhdGVkIGZyb20gdGhlIGJ1ZmZlciB0aW1lc3RhbXBzLiBBcyBzdWNoLCBhbGwgYnVmZmVycyB3ZXJlCgkgIHNjaGVkdWxlZCBtdWNoIGxhdGVyIGlmIHRoZSBwaXBlbGluZSdzIHJ1bm5pbmcgdGltZSBkaWQgbm90IHN0YXJ0IGF0IDAuCgkgIFRoaXMgaGFwcGVucyBmb3IgZXhhbXBsZSBpZiBhIGJhc2UgdGltZSBpcyBleHBsaWNpdGx5IHNldCBvbiB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1MjgKCjIwMTUtMDktMDcgMTM6MzY6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQ29uc2lkZXIgcGlwZWxpbmUgbGF0ZW5jeSwgcmVuZGVyIGRlbGF5IGFuZCB0cyBvZmZzZXQgd2hlbiBzY2hlZHVsaW5nIGZyYW1lcwoJICBXaXRob3V0IHRoaXMsIHdlIHdpbGwgc2NoZWR1bGUgYWxsIGZyYW1lcyB0b28gbGF0ZSBpbiBsaXZlIHBpcGVsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY2NgoKMjAxNS0wOS0wOSAxMzo1ODowNSArMDkwMCAgS291aGVpIFN1dG91IDxrb3VAY2xlYXItY29kZS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IGZpeCBidWlsZCBlcnJvciBmb3IgNjRiaXQgV2luZG93cyBidWlsZCBieSBNaW5HVwoJICBDYXN0aW5nIHRvIFVJTlQgZnJvbSBITUlYRVIgZ2VuZXJhdGVzIHRoZSBmb2xsb3dpbmcgd2FybmluZyB3aXRoCgkgIDY0Yml0IFdpbmRvd3MgdGFyZ2V0IE1pbkdXOgoJICBnc3RkaXJlY3Rzb3VuZHNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RpcmVjdHNvdW5kX3NyY19taXhlcl9maW5kJzoKCSAgZ3N0ZGlyZWN0c291bmRzcmMuYzo3MzM6MzA6IGVycm9yOiBjYXN0IGZyb20gcG9pbnRlciB0byBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplIFstV2Vycm9yPXBvaW50ZXItdG8taW50LWNhc3RdCgkgIG1tcmVzID0gbWl4ZXJHZXREZXZDYXBzICgoVUlOVCkgZHNvdW5kc3JjLT5taXhlciwKCSAgXgoJICBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoJICBXZSBjYW4gdXNlIHBvcnRhYmxlIEdQT0lOVEVSX1RPX1VJTlQoKSBtYWNybyBmb3IgdGhpcyBwcm9wb3NlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzU2CgoyMDE1LTA5LTA5IDA5OjMzOjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogQWxzbyB1bmJpbmQgcmVuZGVyYnVmZmVyIGFmdGVyIHNldHRpbmcgdXAgZnJhbWVidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc1NwoKMjAxNS0wOS0wOSAwOToyNzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IERvbid0IG1ha2UgY29udGV4dCB1bmN1cnJlbnQganVzdCB0byBtYWtlIGl0IGN1cnJlbnQgYWdhaW4gaW4gdGhlIG5leHQgbGluZQoJICBBbHNvIGJpbmRpbmcgdGhlIGZyYW1lYnVmZmVyIGFnYWluIGlzIHVubmVjZXNzYXJ5IHRoZW4gYXMgaXQgd2FzIGp1c3QgYm91bmQgYQoJICBmZXcgbGluZXMgYmVmb3JlIHdoaWxlIHRoZSBjb250ZXh0IHdhcyBjdXJyZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzU3CgoyMDE1LTA5LTA3IDEyOjA5OjQxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeCBwZXJpb2Qgc3RhcnQgdGltZSBzY2FsaW5nCgkgIFRoaXMgR3N0U3RyZWFtUGVyaW9kIHN0YXJ0IHZhbHVlIGlzIGV4cHJlc3NlZCBpbiBuYW5vc2Vjb25kcywKCSAgYW5kIHRoZSBnbGliIHRpbWUgYWRkaXRpb24gZnVuY3Rpb24gZXhwZWN0cyBtaWNyb3NlY29uZHMuCgkgIFRoZXJlIHNlZW1zIHRvIGhhdmUgYmVlbiBhIGNvbmZ1c2lvbiB3aXRoIEdzdFBlcmlvZE5vZGUncyBzdGFydAoJICBmaWVsZCwgd2hpY2ggaXMgZXhwcmVzc2VkIGluIG1pbGxpc2Vjb25kcy4KCSAgQWRkaXRpb25hbGx5LCBhZGQgYSB3YXJuaW5nIGlmIHRoZSB0aW1lc3RhbXAgbW9kaWZpY2F0aW9uIGRpZAoJICBub3Qgc3VjY2VlZCwgYW5kIE5VTEwgd2FzIHJldHVybmVkLgoKMjAxNS0wOS0wNSAyMzozODo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFkZCBiaXRyYXRlIGluZm8gdG8gdGhlIHRhZ3Mgb3V0cHV0LgoJICBNYWtlcyBpdCBwb3NzaWJsZSBmb3IgbXV4ZXJzIHRvIGtub3cgdGhlIHRhcmdldCBiaXRyYXRlIGFzIHNvb24KCSAgYXMgZW5jb2Rpbmcgc3RhcnRzLCB3aGljaCBmbHZtdXggbm93IHVzZXMuCgoyMDE1LTA5LTA1IDAxOjUwOjQxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRW5zdXJlIGFsbCBhcmd1bWVudHMgdG8gQ0xBTVAgYXJlIHNpZ25lZCBpbnQKCSAgSWYgYW55IG9mIHRoZSBhcmd1bWVudHMgdG8gQ0xBTVAgYXJlIHVuc2lnbmVkIGludGVnZXJzLCB0aGUgY29tcGFyaXNvbiBjYXVzZXMKCSAgYW4gYXV0b21hdGljIGNvbnZlcnNpb24gb2YgdGhlIHNpZ25lZCBpbnQgdG8gdW5zaWduZWQsIHdoaWNoIGNhdXNlcyAtMSB0byBiZWNvbWUKCSAgVUlOVF9NQVggYW5kIGdldCBjbGFtcGVkIHRvIHRoZSBoaWdoIHZhbHVlIG9mIHRoZSBDTEFNUCBpbnN0ZWFkIG9mIDAuCgkgIFNlZSA3MTYgYXQgaHR0cDovL2MweC5jb2RpbmctZ3VpZGVsaW5lcy5jb20vNi4zLjEuOC5odG1sCgkgIEFsc28gYWRkIGEgdGVzdCBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDU3NgoKMjAxNS0wOS0wNCAxNTo0Mzo0MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IGNvbnNpZGVyIEd0a0V2ZW50cyBhcyBoYW5kbGVkCgkgIEFwcGxpY2F0aW9ucyBtaWdodCBzdGlsbCB3YW50IHRvIHVzZSB0aGVtCgkgIGFmdGVyIHRoZSBzaW5rIHRyYW5zZm9ybWVkIHRoZW0gaW50bwoJICBHc3ROYXZpZ2F0aW9uIGV2ZW50cwoKMjAxNS0wOS0wMiAxOToxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGxpZnQgcmVzdHJpY3Rpb24gb2YgY2hhbmdpbmcgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFRoZSB2aWRlb2FnZ3JlZ2F0b3IgY2FuIGNvbnZlcnQgUEFSLCB0aGVyZSBpcyBubyByZWFzb24gZm9yCgkgIHJlc3RyaWN0aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjkxCgoyMDE1LTA4LTA3IDE3OjI3OjQ4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbHNpbms6IEVuc3VyZSB0aGF0IGF0IGxlYXN0IG9uZSB3aW5kb3dpbmcgc3lzdGVtIGlzIGF2YWlsYWJsZQoJICBPdGhlcndpc2UsIHdlJ2xsIGp1c3QgY3Jhc2ggYXQgcnVudGltZSBiZWNhdXNlIHRoZSBnbCBjb250ZXh0IGlzIE5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEwOAoKMjAxNS0wOC0yOCAyMDozMzo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUmVzZXQgc3RhdGUgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE1MgoKMjAxNS0wOC0zMSAxODowNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBndGssIHF0LCBnbDogZml4IHR5cG8gaW4gZGVidWcgYW5kIGVycm9yIG1lc3NhZ2VzCgoyMDE1LTA4LTI4IDIzOjA1OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBbHNvIGlnbm9yZSBzdGFydC10aW1lIG9uIHNlZWsgZnJvbSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgwNgoKMjAxNS0wOC0yOSAxNjo1MTowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB2YXJpYWJsZXMgaW4gY2xhbXBfcmVjdGFuZ2xlKCkgc2hvdWxkIGJlIHNpZ25lZAoJICB4L3kvdy9oIGFyZSBzaWduZWQgaW50ZWdlcnMuIEFzIGNhbiBiZSBzZWVuIGluIEdzdENvbXBvc2l0b3JQYWQuCgkgIFRoZSBwcm90b3R5cGUgZm9yIGNsYW1wX3JlY3RhbmdsZSB3YXMgd3JvbmcuIFRoaXMgY29tbWl0IHJldmVydHMgdGhlIGNoYW5nZQoJICBhbmQgZml4ZXMgdGhlIHByb3RvdHlwZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiY2E0NDRlYTRhODRjMzllOTk4OTY4MWY4OTJmNmU0Y2IyMDMzY2Y5LgoKMjAxNS0wOC0yOCAxOTo1NTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9kcmkyX3dzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX2RlZnMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfdHlwZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9wdnIyZC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzZXh0Lmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvd3NlZ2wuaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgRml4IGZpbGUgcGVybWlzc2lvbnMgb2Ygc29tZSBmaWxlcwoKMjAxNS0wOC0yOCAxNToyMToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogcmVtb3ZlIGNoZWNrIGZvciBiZWxvdyB6ZXJvIGZvciB1bnNpZ25lZCB2YWx1ZQoJICBDTEFNUCBjaGVja3MgYm90aCBpZiB2YWx1ZSBpcyAnPCAwJyBhbmQgJz4gbWF4Jy4gVmFsdWUgd2lsbCBuZXZlciBiZSBhIG5lZ2F0aXZlCgkgIG51bWJlciBzaW5jZSBpdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLiBSZW1vdmluZyB0aGF0IGNoZWNrIGFuZCBvbmx5IGNoZWNraW5nIGlmCgkgIGl0IGlzIGJpZ2dlciB0aGFuIG1heCBieSB1c2luZyBNSU4oKS4KCSAgQ0lEIDEzMjA3MDcKCjIwMTUtMDgtMjggMTM6NDI6MjkgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkgIGVkZ2VkZXRlY3Q6IFJlbmFtZSBnc3RlZGdlZGV0ZWN0LmMgdG8gZ3N0ZWRnZWRldGVjdC5jcHAgZm9yIGNvbnNpc3RlbmN5LgoJICBDaGFuZ2UgdGhlIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yIGNvbnNpc3RlbmN5CgkgIHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTA4LTI3IDIxOjUxOjUyICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiByZW1vdmUgdW51c2VkIGFuZCB1c2VsZXNzIGZ1bmN0aW9ucy4KCSAgVGhlIGN2U21vb3RoIGN2Tm90IGZ1bmN0aW9ucyBhbmQgZG8gbm90IGhhdmUgdGhlIGNvcnJlY3QgaW5wdXQgcGFyYW1ldGVycy4KCSAgRnVydGhlcm1vcmUsIGN2U21vb3RoIGZ1bmN0aW9uIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGVkZ2UgZGV0ZWN0aW9uLAoJICBiZWNhdXNlIHRoZSBDYW5ueSBmdW5jdGlvbiBtYWtlcyB0aGUgc3RlcCBvZiBzbW9vdGhpbmcgdGhlIGltYWdlLgoJICBBbmQgY3ZOb3QgZnVuY3Rpb24gaXMgdXNlbGVzcyBiZWNhdXNlIHRoZXJlIGFyZW4ndCBjaGFuZ2VzIGlmIHRoaXMKCSAgZnVuY3Rpb24gaXMgZWxpbWluYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0wOC0yNiAxODo0MDozNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICB0ZXh0b3ZlcmxheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYnV0IG5ldmVyIHVzZWQuIFJlbW92aW5nIGl0LgoKMjAxNS0wOC0yNiAxODoyMToxNSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjYgMTc6NTY6NTAgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IG5lZWQgdG8gbWlncmF0ZSB0byBDKysuCgkgIFRoZSBjYXNjYWRlIGNsYXNzaWZpZXIgY2hhbmdlcyBpdHMgc3RydWN0dXJlIG9uIG5ldyB2ZXJzaW9uIG9mIE9wZW5DViAyLjQuMTEuCgkgIEl0IGlzIG5lZWQgdG8gbWlncmF0ZSB0byBDKysgdG8gdXRpbGl6ZSB0aGUgbmV3IGxvYWQgbWV0aG9kIG9mIE9wZW5DViB3aGljaAoJICBhbGxvd3MgdG8gbG9hZCB0aGUgb2xkIGFuZCBuZXcgY2xhc3NpZmllcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjYgMTI6NDc6NTggKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkgIGZhY2VibHVyOiBDaGVjayBDdkhhYXJDbGFzc2lmaWVyQ2FzY2FkZSBpcyByZWxlYXNlIGJlZm9yZSBiZWluZyBtb2RpZmllZC4KCSAgRm9yIFBST1BfUFJPRklMRSBjYXNlIHRoYXQgZXhpc3QgaW5zaWRlIGdzdF9mYWNlX2JsdXJfc2V0X3Byb3BlcnR5CgkgIGZ1bmN0aW9uIGxvYWRzIHRoZSBuZXcgWE1MIGZpbGUgaW4gdGhlIEN2SGFhckNsYXNzaWZpZXJDYXNjYWRlIHByb3BlcnR5CgkgIHdpdGhvdXQgZmlyc3QgY2hlY2tpbmcgdGhhdCBpdCBpcyByZWxlYXNlZCBiZWNhdXNlIG1heWJlIHRoZXJlIGlzIGFuIFhNTAoJICBmaWxlIHByZXZpb3VzbHkgbG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDEyOjI3OjE1ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBmYWNlYmx1cjogQ29kZSByZWZhY3RvcmluZyBvZiBnc3RfZmFjZV9ibHVyX2xvYWRfcHJvZmlsZS4KCSAgQ2hhbmdlcyBpbnNpZGUgdGhlIGdzdF9mYWNlX2JsdXJfbG9hZF9wcm9maWxlIGZ1bmN0aW9uLCB0aGUgbnVtYmVyIG9mCgkgIGlucHV0IHBhcmFtZXRlcnMgYW5kIGluIGxpbmVzIHdoZXJlIGl0IGlzIHVzZWQgZHVlIHRvIGl0IGNhbm5vdCBiZSB1c2VkCgkgIGdlbmVyaWNhbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDExOjU3OjI0ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkgIGZhY2VibHVyOiBDaGFuZ2UgZ3N0ZmFjZWJsdXIgdG8gQysrLgoJICBDaGFuZ2UgdGhlIGdzdGZhY2VibHVyLmMgZmlsZSB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlLgoJICBJdCBpcyBuZWNlc3NhcnkgdG8gbWlncmF0ZSB0aGUgZmFjZWJsdXIgcGx1Z2luIHRvIEMrKywKCSAgaW4gb3JkZXIgdG8gbG9hZCBuZXcgYW5kIG9sZCBjbGFzc2lmaWVycywgdG8gbWFrZSBmYWNlYmx1ciB3b3JrCgkgIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgT3BlbmN2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI3IDExOjEwOjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggY2FwcyBtZW1vcnkgbGVhayBieSBtYWtpbmcgc3RhdGljIGNhcHMgYWN0dWFsbHkgc3RhdGljCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTU3CgoyMDE1LTA4LTIxIDE2OjEzOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG9uJ3QgbWVkZGxlIHdpdGggdGhlIGNsYXNzIHN0cnVjdCBmcm9tIGFuIGluc3RhbmNlCgkgIEZpeCBzb21lIHZlcnkgZHViaW91cyBjb2RlLiBUaGUgY2xhc3MgbWV0aG9kcyBzaG91bGQgYWx3YXlzCgkgIGJlIHNldCwgYW5kIHRoZSBpbnN0YW5jZS1zcGVjaWZpYyBjaGVjayBzaG91bGQgdGhlbiBiZSBkb25lCgkgIGluc2lkZSB0aGUgbWV0aG9kLiBGb3IgZGF0YV9yZWNlaXZlZCB0aGF0J3MgdGhlcmUgYWxyZWFkeSwgZm9yCgkgIGZpbmlzaF9mcmFnbWVudCB3ZSBuZWVkIHRvIGFkZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkzNwoKMjAxNS0wOC0yNiAxMDo1Mjo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY0cGFyc2UvaDI2NXBhcnNlOiBGaXggbmVnb3RpYXRpb24gY3Jhc2gKCSAgQXMgaXQncyByZWN1cnNpdmUsIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG1heSBhbHNvIHJldHVybgoJICBlbXB0eSBmb3IgYW55dGhpbmcgaW5jb21wYXRpYmxlIGRvd25zdHJlYW0uIEVNUFRZIGlzIG5vdCB2YWxpZCBjYXBzCgkgIHZhbHVlIGZvciBnc3RfY2Fwc19maXhhdGUoKS4gVGhpcyBsZWFkIHRvIGFzc2VydGlvbiBhbmQgdGhlbiBjcmFzaC4KCSAgSWRlYWxseSwgdGhlIG5lZ290aWF0ZSBmdW5jdGlvbiBzaG91bGQgYmUgcmUtZmFjdG9yZWQgdG8gaGF2ZSBhIHJldHVybgoJICB2YWx1ZSwgYW5kIHdlIGNvdWxkIG1ha2UgdGhlIG5lZ290aWF0aW9uIGZhaWxzIGVhcmxpZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjIKCjIwMTUtMDgtMjYgMTU6NDA6MTYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBBY3R1YWxseSB1c2UgdGhlIG91dHB1dCByZXNvbHV0aW9uIGZvciBjbGFtcGluZwoJICBUaGUgb2JzY3VyZWQgY2hlY2sgaW4gY29tcG9zaXRvciB3YXMgdXNpbmcgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIHBhZCB0byBjbGFtcAoJICB0aGUgaC93IG9mIHRoZSBwYWQgaW5zdGVhZCBvZiB0aGUgb3V0cHV0IHJlc29sdXRpb24sIGFuZCB3YXMgZG9pbmcgYW4gaW5jb3JyZWN0CgkgIGNhbGN1bGF0aW9uIHRvIGRvIHNvLiBGaXggdGhhdCBieSBzaW1wbGlmeWluZyB0aGUgd2hvbGUgY2FsY3VsYXRpb24gYnkgdXNpbmcKCSAgY29ybmVyIGNvb3JkaW5hdGVzLiBBbHNvIGFkZCBhIHRlc3QgZm9yIHRoaXMgYnVnIHdoaWNoIGZlbGwgdGhyb3VnaCB0aGUgY3JhY2tzLAoJICBhbmQganVzdCBza2lwIGFsbCB0aGUgb2JzY3VyZWQgdGVzdHMgaWYgdGhlIHBhZCdzIGFscGhhIGlzIDAuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEwNwoKMjAxNS0wOC0yNCAwNzo0NjoyNyArMDMwMCAgWHVHdWFuZ3hpbiA8R3Vhbmd4aW4uWHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aWxlIHJvdyBhbmQgY29sdW1uIHBhcnNpbmcKCSAgU2VjdGlvbiA2LjUuMTogIENvZGluZyB0cmVlIGJsb2NrIHJhc3RlciBhbmQgdGlsZSBzY2FubmluZyBjb252ZXJzaW9uIHByb2Nlc3MKCSAgRm9sbG93IHRoZSBlcXVhdGlvbnMgNi0zIGFuZCA2LTQKCSAgVGhpcyB3aWxsIHByb3ZpZGUgY29ycmVjdCBvZmZzZXRfbWF4IGluIHNsaWNlX2hlYWRlciBmb3IgcGFyc2luZwoJICBudW1fZW50cnlfcG9pbnRfb2Zmc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDAyNAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoyMDE1LTA4LTA3IDEyOjUzOjIzICswMzAwICBBdGhhbmFzaW9zIE9pa29ub21vdSA8YXRob2lrQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogc2VsZWN0IGNvcnJlY3QgcG9zaXRpb24gZm9yIGxpdmUgc3RyZWFtcyB0aGF0IGRvbid0IHJlbW92ZSBmcmFnbWVudHMKCSAgU29tZSBsaXZlIHN0cmVhbXMgKGVnIHlvdXR1YmUpIGRvbid0IHJlbW92ZSBmcmFnbWVudHMgaW4gb3JkZXIgdG8gYWxsb3cKCSAgc2Vla2luZyBiYWNrIGluIHRpbWUgKGxpdmUgKyB2b2QpLgoJICBXaGVuIGdzdF9tM3U4X2NsaWVudF9oYXNfbmV4dF9mcmFnbWVudCBpcyBjYWxsZWQsIHdlIGFyZSBnZXR0aW5nIHdyb25nIGZyYWdtZW50CgkgIGJlY2F1c2UgY3VycmVudF9maWxlIHBvaW50cyBpbiBmaXJzdCBmaWxlIG9mIHRoZSBmcmFnbWVudHMgbGlzdCByZXN1bHRpbmcgaW4KCSAgd2F0Y2hpbmcgdGhlIHN0cmVhbSBmcm9tIHRoZSBiZWdpbm5pbmcgYWdhaW4uCgkgIFRoaXMgcGF0Y2ggc2V0cyBjdXJyZW50X2ZpbGUgdG8gbnRoIGZyYWdtZW50IGZvciBsaXZlIHN0cmVhbXMsIHRoZW4gb24KCSAgZ3N0X20zdThfY2xpZW50X2hhc19uZXh0X2ZyYWdtZW50IHdpbGwga2VlcCB1cCB3aXRoIHRoZSBsaXZlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzM0NAoKMjAxNS0wOC0yNCAxOTo0NzowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZDogVXNlIGJhc2UgY2xhc3MgbWV0YWRhdGEgY29weSBmdW5jdGlvbgoJICBUaGlzIGFsbG93IHByb3Blcmx5IGNvcHlpbmcgc2VsZWN0ZWQgbWV0YSwgbGlrZSB0aGUgY29tcG9zaXRpb24KCSAgb3ZlcmxheS4gTm90ZSB0aGF0IG91dHB1dCBidWZmZXIgbmVlZCB0byBiZSByZWFkYWJsZSwgYnV0IEdsVXBsb2FkCgkgIGtlZXBzIGEgcmVmLiBGb3Igbm93LCBzaW1wbHkgZHJvcCBHbFVwbG9hZCByZWYgYWZ0ZXIgcGVyZm9ybSwKCSAgbGVhdmluZyB0aGF0IHJlZiBoYXMgbm8gcHVycG9zZS4gVGhlIG1ldGhvZCBzaGFsbCBiZSByZW1vdmVkCgkgIGluIHRoZSBmdXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNDcKCjIwMTUtMDgtMjQgMTk6Mjg6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IFVzZSBiYXNlIHRyYW5zZm9ybSBtZXRhZGF0YSBjb3B5CgkgIFVzZSBiYXNlIGNsYXNzIGRlZmF1bHQgbWV0aG9kIGluc3RlYWQgb2Ygb25seSBjb3B5aW5nIGZsYWdzIGFuZAoJICB0aW1lc3RhbXAuIFRoaXMgd2F5LCBzZWxlY3RlZCBtZXRhJ3MgbGlrZSBjb21wb3N0aW9uIG92ZXJsYXkgd2lsbAoJICBiZSBwYXNzZWQgZG93bnN0cmVhbSBhcyBleHBlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA0NwoKMjAxNS0wOC0yNSAxMDowOToxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvZWFnbDogVW5yZWYgY29udGV4dCBhZnRlciBzZXR0aW5nIGEgd2luZG93IGhhbmRsZQoJICBnc3RfZ2xfd2luZG93X2dldF9jb250ZXh0KCkgcmV0dXJucyBhIG5ldyByZWZlcmVuY2UuCgkgIEhvcGVmdWxseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzU4CgoyMDE1LTA4LTI0IDIxOjI4OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBBZGQgbmV3IGgyNjUgcGFyc2VyIHN5bWJvbHMKCjIwMTUtMDgtMjQgMDg6MDY6MTUgKzAzMDAgIGx5YiA8YW5keV9saXVfY2hpbmFAMTYzLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBBZGQgQVBJcyBmb3IgdXAtcmlnaHQtZGlhZ29uYWwvcmFzdGVyIHNjYW4gY29udmVyc2lvbgoJICBBcyBwZXIgIDctNDIgYW5kIDctNDMgdGhlIFNjYWxpbmdGYWN0b3IncyBzY2FuSWR4IGlzIDAsCgkgIHdoaWNoIGlzICJ1cC1yaWdodC1kaWFnb25hbCIgc2Nhbi4gQWRkIEFQSXMgZm9yIGNvbnZlcnRpbmcKCSAgdXAtcmlnaHQtZGlhZ29uYWwgdG8gcmFzdGVyIGFuZCB2aXNlIHZlcnNhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDI0CgoyMDE1LTA4LTI0IDA0OjE4OjUyICswMzAwICBYdUd1YW5neGluIDxHdWFuZ3hpbi5YdUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHJhbmdlIG9mIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbQoJICBCZWluZyBtb3JlIHN0cmljdCBvbiBzcGVjaWZpY2F0aW9uLCBBY2NvcmRpbmcgdG8gNy40LjcuMywKCSAgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YKCSAgWygwIC0gbHVtYV9sb2cyX3dlaWdodF9kZW5vbSksICg3IC0gbHVtYV9sb2cyX3dlaWdodF9kZW5vbSldCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwMjQKCjIwMTUtMDgtMjMgMjM6Mzg6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggbGF0ZW5jeSBoYW5kbGluZyBhZ2FpbgoJICBUaGUgdHNkZW11eCBsYXRlbmN5IHNob3VsZCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIG1pbmltdW0KCSAgbGF0ZW5jeSAod2hpY2ggaXMgYWx3YXlzIGEgdmFsaWQgY2xvY2sgdGltZSB2YWx1ZSkuIFRoZQoJICAiY2xlYW51cCIgaW4gY29tbWl0IGExZjcwOWMyIG1hZGUgaXQgc28gdGhhdCBpdCB3b3VsZCBub3QKCSAgYmUgYWRkZWQgaWYgdXBzdHJlYW0gcmVwb3J0ZWQgMCBhcyBtaW5pbXVtIGxhdGVuY3kgKGFzCgkgIGUuZy4gdWRwc3JjIHdvdWxkKS4gVGhpcyBicm9rZSBwbGF5YmFjayBvZiBsaXZlIG1wZWctdHMKCSAgc3RyZWFtaW5nIGluIHNvbWUgY2FzZXMsIGxlYWRpbmcgdG8gcGxheWJhY2sgc3R1dHRlciBkdWUKCSAgdG8gYSB0b28tc21hbGwgY29uZmlndXJlZCBsYXRlbmN5IGZvciB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MDgKCjIwMTUtMDgtMjEgMTM6NDI6MTggLTA3MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXBkYXRlIGRpc3BsYXkgc2l6ZSBiZWZvcmUgc2VuZGluZyBldmVudAoJICBUaGlzIGlzIG1pbm9yIGlzc3VlLCBhcyB0aGUgcmVjb25maWd1cmUgZXZlbnQgaXMgYXN5bmNocm9ub3VzLgoJICBCYXNpY2FsbHksIHVwZGF0ZSB3aWR0aC9oZWlnaHQgYmVmb3JlIHNlbmRpbmcgdGhlIGV2ZW50LgoKMjAxNS0wOC0yMCAxNzoyNzozNCAtMDcwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IExldCBiYXNlIHRyYW5zZm9ybSByZWxheSB0aGUgbWV0YSBhcGkgZm9yIHVzCgkgIER1cmluZyBhbGxvY2F0aW9uIHF1ZXJ5LCB3aGVuIHRoaXMgZWxlbWVudCBpcyBub3QgcGFzc3Rocm91Z2gsIGl0IG11c3QKCSAgcmVsYXkgdGhlIG92ZXJsYXkgY29tcG9zdGlvbiBtZXRhIGFuZCBpdCdzIHBhcmFtZXRlcnMuIEZvcnR1bmF0bHksIGJhc2UKCSAgdHJhbnNmb3JtIGNhbiBkbyB0aGlzIGZvciB1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg1MAoKMjAxNS0wOC0yMSAyMDoyOToyNCArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkgIGN1cmw6IEdpdmUgbmV0aW5ldC9pcC5oIGl0IG93biBjb25maWd1cmUgY2hlY2sKCSAgT24gRnJlZUJTRCBuZXRpbmV0L2lwLmggbmVlZHMgdGhlIHN5cy90eXBlcy5oIGFuZCBuZXRpbmV0L2luLmggaGVhZGVyCgkgIGJlZm9yZSBpdCBjYW4gYmUgdGVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTQ0CgoyMDE1LTA4LTE5IDE3OjQyOjQ5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIGxlbmd0aCBpcyBzZXQgdG8gYSBkaWZmZXJlbnQgdmFsdWUgYmVmb3JlIGJlaW5nIHJlYWQuIFJlbW92ZSBpbml0aWFsIHZhbHVlLgoJICBTaWxlbmNlcyBjb21waWxlciB3YXJuaW5nLgoKMjAxNS0wOC0yMSAwNToyNjoyNSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlLgoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wOC0yMSAxNDowNzozMiArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGFkZCBzcGVjaWZpYyBlcnJvciBtZXNzYWdlIHdoZW4gbWlzc2luZyBHTF9TSEFESU5HX0xBTkdVQUdFX1ZFUlNJT04KCSAgR0xfU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OIHdhcyBpbnRyb2R1Y2VkIHNpbmNlIEVTIDIuMCwgYnV0IGluIHNvbWUKCSAgYW5kcm9pZCBlbXVsYXRvciBkb2Vzbid0IHN1cHBvcnQgdGhpcyBmZWF0dXJlLiBUbyBwcmV2ZW50IGNvbmZ1c2lvbiBmb3IKCSAgZGV2ZWxvcGVyLCB0aGUgZXJyb3IgbWVzc2FnZSBuZWVkIHRvIGJlIG1vcmUgY2xlYXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MDUKCjIwMTUtMDgtMjEgMTY6NDQ6NDMgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogYXVkaW9taXhlcjogcmVtb3ZlIGR1cGxpY2F0ZWQgd29yZCBpbiBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MTUKCjIwMTUtMDgtMjEgMTY6MzE6NDEgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBEb24ndCBjaGFpbiB1cCB0byBwYXJlbnQncyBxdWVyeSBoYW5kbGluZyB0d2ljZSBmb3IgRFJBSU4gcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkxMwoKMjAxNS0wOC0yMCAxNTowMDowMiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBjaGVjazogaGxzZGVtdXg6IG1ha2UgZHVyYXRpb24gdW5pdCB0ZXN0IHJvYnVzdCB0byBmbG9hdGluZyBwb2ludCByb3VuZGluZwoJICBUaGUgdGVzdF9wbGF5bGlzdF93aXRoX2RvdWJsZXNfZHVyYXRpb24oKSB0ZXN0IGZhaWxzIG9uIHNvbWUgcGxhdGZvcm1zCgkgIGR1ZSB0byByb3VuZGluZyBlcnJvcnMgdGhhdCBvY2N1ciB3aGVuIG0zdTguYyBjb252ZXJ0cyBmcm9tIHRoZSBmbG9hdGluZwoJICBwb2ludCB2YWx1ZSBpbiB0aGUgSExTIG1hbmlmZXN0IHRvIGEgR3N0Q2xvY2tUaW1lLgoJICBVc2luZyBhc3NlcnRfZXF1YWxzX2Zsb2F0KCkgZml4ZXMgdGhpcyBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaGFuZGxlcwoJICB0aGUgcm91bmRpbmcgZXJyb3IgaXNzdWVzIGJ5IGFjY2VwdGluZyBhbG1vc3QgZXF1YWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4ODEKCjIwMTUtMDgtMTcgMTg6MzU6NTggKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBvbmx5IGNhbGwgZ2xfe3N0b3Asc3RhcnR9IGlmIHRoZSBjb250ZXh0IGNoYW5nZWQKCSAgUmVtb3ZlcyB0aGUgcmVkdW5kYW50IEdMIG9iamVjdCBjcmVhdGlvbi9kZWxldGlvbiBvbiBldmVyeQoJICBkZWNpZGVfYWxsb2NhdGlvbiBjYWxsIHdoaWNoIGlzIGJlaW5nIGNhbGxlZCBmb3IgZXZlcnkgY2FwcyBjaGFuZ2UuCgkgIFRodXMgcmVkdWNlcyB0aGUgcmVxdWlyZWQgR0wgc3RhdGUgY2hhbmdlcyBvbiByZWNvbmZpZ3VyZSBldmVudHMKCSAgd2hpY2ggYXJlIGJlaW5nIHNlbnQgYnkgZ2xpbWFnZXNpbmsveHZpbWFnZXNpbmsKCjIwMTUtMDgtMjAgMTQ6MDk6MzcgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBGaXggT3BlbkNWIGRhdGEgcGF0aCBjaGVjayB0byB3b3JrIHdpdGggY3Jvc3MgY29tcGlsYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzY1MQoKMjAxNS0wOC0yMCAxNDoxMTo1NiArMDMwMCAgQmVuIEJyb3dpdHQgPGJlbi5icm93aXR0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBbHdheXMgc2V0IHRoZSBwYWQncyBidWZmZXJfdmluZm8gd2hlbiBzdG9yaW5nIGEgYnVmZmVyCgkgIE90aGVyd2lzZSBpdCBtaWdodCBiZSB1bnNldCwgYW5kIHRoZW4gdGhlIGJ1ZmZlciBpcyB1c2VkIGFuZAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2lsbCBjcmFzaCBiZWNhdXNlIG9mIGludmFsaWQgdmlkZW8taW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgwNQoKMjAxNS0wOC0xOSAyMTozMzowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IEhhbmRsZSBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlIDx4bWw+IGVsZW1lbnQgd2hlbiBkdW1waW5nIG5vZGVzCgkgIFByZXZpb3VzIHBhdGNoIGRpZCBub3QgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGFuIGVuY29kaW5nIChlLmcuIFVURi04KSBpcwoJICBzcGVjaWZpZWQgaW4gdGhlIDx4bWwgPz4gZWxlbWVudC4gQWRkZWQgYW4gZXh0cmEgdGVzdCBmb3Igd2l0aCBhbmQgd2l0aG91dAoJICBlbmNvZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgxMwoKMjAxMy0wMS0zMSAxNDowMzo0MCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGNoZWNrIHZpZGVvIGZyYW1lIG1hcHBpbmcgc3VjY2VlZGVkIGJlZm9yZSBibGVuZGluZwoJICBJZiB0aGUgbWFwcGluZyBmYWlscyBqdXN0IHNraXAgb3ZlcmxheSByZW5kZXJpbmcgYW5kIHB1c2ggdGhlIHZpZGVvCgkgIGZyYW1lIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjIKCjIwMTUtMDgtMTkgMTU6MzE6MTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJICBjb25maWd1cmUuYWM6IGZpeCBidWlsZCB3aGVuIHRoZSB1dmNoMjY0IHBsdWdpbiBpcyBub3Qgc2VsZWN0ZWQKCSAgSW5zdGVhZCBvZiBjaGVja2luZyBmb3IgdGhlIGdzdHJlYW1lci12aWRlby0xLjAgcGFja2FnZSBpcyBpbnN0YWxsZWQsCgkgIGp1c3QgYXNzdW1lIGl0IGlzIHNpbmNlIHdlIGFscmVhZHkgY2hlY2sgZm9yIHRoZSAtYmFzZSBkZXBlbmRlbmN5LgoJICBXaXRoIHRoaXMgcmVwbGFjZSB0aGUgR1NUX1ZJREVPXyogdmFyaWFibGVzIGluIG1ha2VmaWxlcyBhbmQgZGlyZWN0bHkKCSAgbGluayB3aXRoIGxpYmdzdHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODIwCgoyMDE1LTA4LTE5IDExOjI5OjQzICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiByZXBsYWNlIHhtbE5vZGVEdW1wIHdpdGggeG1sTm9kZUR1bXBPdXRwdXQKCSAgV2hlbiBydW5uaW5nIG9uIGFuIFNUQiwgdGhlIGZ1bmN0aW9uCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9ub2RlX2FzX3N0cmluZyBjYXVzZXMgYSBzZWdtZW50YXRpb24gZmF1bHQuIFRoaXMKCSAgY29kZSB3b3JrcyBjb3JyZWN0bHkgb24gYSBMaW51eCBkZXNrdG9wLgoJICBMb29raW5nIGF0IHRoZSBsaWJ4bWwgZG9jdW1lbnRhdGlvbiwgdGhlIHhtbE5vZGVEdW1wIGlzIGRlcHJlY2F0ZWQuCgkgIFJlcGxhY2luZyB0aGUgdXNlIG9mIHhtbE5vZGVEdW1wIHdpdGggeG1sTm9kZUR1bXBPdXRwdXQgZml4ZXMgdGhlCgkgIHNlZ2ZhdWx0IG9uIHRoZSBTVEIgYW5kIHJlbW92ZXMgdGhlIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbi4KCjIwMTUtMDgtMTkgMTI6Mzc6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIFF0IHZlcnNpb24KCSAgVXNhZ2Ugb2YgUVNHU2ltcGxlVGV4dHVyZU5vZGU6OnNldE93bnNUZXh0dXJlKCkgd2FzIGFkZGVkIGluIGNvbW1pdAoJICA2YjhjZjg0MTlkOGVhODAwODFkZTgxNTBhNmIxYzNjZjc2M2M0ZDY5LCB0aGlzIGZ1bmN0aW9uIHdhcyBhZGRlZCBpbgoJICBRdCA1LjQuMC4gQ2hlY2sgZm9yIHRoaXMgdmVyc2lvbiBvciBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgxMgoKMjAxNS0wNy0xNiAyMjo1NzozNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhYm9ydCBwbGF5bGlzdCB1cGRhdGUgd2hlbiBjYW5jZWxsZWQKCSAgT3RoZXJ3aXNlIHRoZSBkb3dubG9hZCB0aHJlYWQgd2lsbCBnZXQgc3R1Y2ssIHNpbmNlIHRoZSBkb3dubG9hZGVyIGlzCgkgIGRpc2FibGVkLgoKMjAxNS0wOC0xOSAxMzo1MjoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrL2dsOiBVc2Ugb3VyIEdMIGZ1bmN0aW9uIHRhYmxlIGluc3RlYWQgb2YgZGlyZWN0bHkgY2FsbGluZyBHTCBmdW5jdGlvbnMKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGhhdmUgdG8gbGluayB0aGUgcGx1Z2luIHRvIHRoZSBHTCBsaWJyYXJpZXMgZGlyZWN0bHkuCgo9PT0gcmVsZWFzZSAxLjUuOTAgPT09CgoyMDE1LTA4LTE5IDEzOjQ2OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTAKCjIwMTUtMDgtMTkgMTI6NTI6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOC0xOSAxMTozNjoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vc3YucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA4LTE4IDEzOjU2OjU5ICswMjAwICBHdWlsbGF1bWUgTWFycXVlYmllbGxlIDxndWlsbGF1bWUubWFycXVlYmllbGxlQHBhcnJvdC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGZpeCBhc3NlcnRpb24gd2hlbiBjb3B5aW5nIGJ1ZmZlciByZWdpb24KCSAgSW4gZ3N0X2xpdmVfYWRkZXJfY2hhaW4oKSBmdW5jdGlvbiwgY2FsbHMgdG8gZ3N0X2J1ZmZlcl9jb3B5X3JlZ2lvbigpIGNhbiBsZWFkCgkgIHRvIGFzc2VydGlvbiBhcyAnb2Zmc2V0ICsgc2l6ZSA8PSBidWZzaXplJyBpcyBub3QgcmVzcGVjdGVkLgoJICBJbmRlZWQgJ29mZnNldCcgYW5kICdzaXplJyBwYXJhbWV0ZXJzIGFyZSBjYWxjdWxhdGVkIHRocm91Z2ggY2FsbGluZyBnc3RfbGl2ZV9hZGRlcl9sZW5ndGhfZnJvbV9kdXJhdGlvbigpLAoJICBhbmQgdGh1cyBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50X3JvdW5kKCkuCgkgIERlcGVuZGluZyBvbiB0aGUgbmVhcmVzdCBpbnRlZ2Vycywgcm91bmRlZCB2YWx1ZXMgJ29mZnNldCcgYW5kICdzaXplJyBjYW4gdGhlbiB0cmlnZ2VyIHRoZSBhc3NlcnRpb24uCgkgIFRoaXMgY2FzZSBtYWlubHkgb2NjdXJzIHdoZW4gJ3NraXAnIHZhbHVlIGlzID4gMCBpbiBjaGFpbiBmdW5jdGlvbiBwcm9jZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzU5CgoyMDE1LTA4LTE3IDE4OjA2OjMwICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlLgoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYW5kIHRoZW4gcmVsZWFzZWQgd2l0aG91dCBtYWtpbmcgYW55CgkgIHVzZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0wOC0xNyAxODowMjoyOCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogY2hlY2sgQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGUgaXMgcmVsZWFzZSBiZWZvcmUgYmVpbmcgbW9kaWZpZWQuCgkgIE1ha2Ugc3VyZSBhIHByZXZpb3VzIGNhc2NhZGUsIGlmIGl0IGV4aXN0cywgaXMgcmVsZWFzZWQgYmVmb3JlIGxvYWRpbmcgYQoJICBuZXcgWE1MIGZpbGUgb250byBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0wOC0xNyAxNzo0Nzo0MiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogY29kZSByZWZhY3RvcmluZyBvZiBnc3RfaGFuZGRldGVjdF9sb2FkX3Byb2ZpbGUuCgkgIENoYW5nZSBnc3RfaGFuZGRldGVjdF9sb2FkX3Byb2ZpbGUoKSBzbyBpdCBjYW4gYmUgdXNlZCBnZW5lcmljYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0wOC0xOCAxMTo1NDozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJICBkYWFsYWVuYzogRml4IGJ1aWxkCgkgIEFuZCBhbHNvIG9ubHkgZ2VuZXJhdGUgdGhlIHN1cHBvcnRlZCBjYXBzIG9uY2UsIG5vdCBvbiBldmVyeSBDQVBTL0FDQ0VQVF9DQVBTCgkgIHF1ZXJ5LiBJdCdzIG5vdCB0aGF0IGNoZWFwLgoKMjAxNS0wOC0xNyAyMzo0NDo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IGFkZCBzaWxlbnQgb3B0aW9uCgkgIEJ5IGRlZmF1bHQgdGhlIGV4YW1wbGUgZmxvb2RzIHRoZSBzY3JlZW4gd2l0aCB0aGUgZGV0ZWN0ZWQgZmFjZSB2YWx1ZXMuCgkgIEFkZCBhbiBvcHRpb24gdG8gYXZvaWQgdGhpcyBmb3IgZnJhaWwgdGVybWluYWxzLgoKMjAxNS0wOC0xNyAxNDozODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBhZGQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgT3Zld3JpdGUgZGVmYXVsdCBoYW5kbGluZyB0byBhdm9pZCBkb2luZyBhIGNhcHMgcXVlcnkuIENoZWNrCgkgIHRoZSByZWNlaXZlZCBjYXBzIGFnYWluc3QgdGhlIHBvc3NpYmxlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5CgkgIHRoZSB4MjY1IGxpYnJhcnkuCgoyMDE1LTA4LTE3IDE0OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSAgZGFhbGFlbmM6IGFkZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBPdmV3cml0ZSBkZWZhdWx0IGhhbmRsaW5nIHRvIGF2b2lkIGRvaW5nIGEgY2FwcyBxdWVyeS4gQ2hlY2sKCSAgdGhlIHJlY2VpdmVkIGNhcHMgYWdhaW5zdCB0aGUgcG9zc2libGUgZm9ybWF0cyBzdXBwb3J0ZWQgYnkKCSAgdGhlIGRhYWxhIGxpYnJhcnkuCgoyMDE1LTA4LTE2IDA3OjA2OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHZpZGVvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IG9wZW5qcGVnZW5jLCBzY2hyb2VuYywgd2VicGVuYywgcG5tZW5jCgoyMDE1LTA4LTE3IDE3OjM4OjE1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogc3VwcG9ydCBhbHRlcm5hdGl2ZSBwYXRoIGNvbnZlbnRpb24KCSAgU29tZSBkaXN0cmlidXRpb25zIHN0b3JlIE9wZW5DViBmaWxlcyBpbiAvdXNyL3NoYXJlL29wZW5jdiBhbmQgc29tZSBvdGhlcnMKCSAgKGFuZCBkZWZhdWx0IHdoZW4gYnVpbGRpbmcgZnJvbSBzb3VyY2UpIGluc3RhbGwgdGhlbSBpbgoJICAvdXNyL3NoYXJlL09wZW5DVi4gU3VwcG9ydCBib3RoIHRvIGZpbmQgY2FzY2FkZSBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzY1MQoKMjAxNS0wOC0xNiAyMToxODo1MCArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkgIGRhc2hkZW11eDogbGluayBhZ2FpbnN0IGdpbyBmb3IgZ19yZXNvbHZlciBhbmQgZ19pbmV0X2FkZHJlc3NfZnJvbV9zdHJpbmcKCSAgQWRkIG1pc3NpbmcgZ2lvLTIuMCBDRkxBR1MvTElCUyB0byBmaXggbGlua2VyIGZhaWx1cmUKCjIwMTUtMDgtMTYgMDc6MTg6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGZhYWMsIGdzbWVuYywgb3B1c2VuYywgc2JjZW5jLCB2b2FtcndiZW5jLCBhZHBjbWVuYywgc2lyZW5lbmMKCjIwMTUtMDgtMTcgMDc6NTU6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogUmVtb3ZlIGN1c3RvbSBnZXRjYXBzIGFuZCBqdXN0IHVzZSB0aGUgdGVtcGxhdGUKCSAgV2Uga25vdyBmcm9tIHRoZSBiZWdpbm5pbmcgdGhlIGNhcHMgdGhhdCBhcmUgYWNjZXB0YWJsZSwgbm8gbmVlZAoJICBmb3IgY3VzdG9tIGdldGNhcHMgb3IgbWFudWFsbHkgZ2VuZXJhdGluZyBjYXBzLgoKMjAxNS0wOC0xNyAwNzo1NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBhZGQgdmVyc2lvbiB0byBnc3QtbGF1bmNoIHN0cmluZyBvbiBkb2N1bWVudGF0aW9uCgkgIGdzdC1sYXVuY2ggd2lsbCBjYWxsIHRoZSAwLjEwIHZlcnNpb24sIHdlIHdhbnQgMS4wCgoyMDE1LTA4LTE3IDA3OjE1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IG1ha2UgdGVtcGxhdGUgcGFkIGNhcHMgbW9yZSBhY2N1cmF0ZSBhbmQgcmVtb3ZlIGN1c3RvbSBnZXRjYXBzCgkgIEFsbG93cyByZXVzaW5nIGJhc2VjbGFzcyBjYXBzIHF1ZXJ5IGhhbmRsaW5nIGFuZCBzaW1wbGlmeWluZyBuZWdvdGlhdGlvbgoJICBjb2RlLgoKMjAxNS0wOC0xNyAxMTo1MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBzdGlsbCByZXNldCBwZW5kaW5nIGF1ZGlvIGluZm8gb24gaGFyZCBmbHVzaAoJICBGb2xsb3ctdXAgdG8gcHJldmlvdXMgY29tbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDMxCgoyMDE1LTA3LTE1IDEwOjQ0OjAyIC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJAY29udHJvbDQuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeCBoYW5kbGluZyBvZiBzYW1wbGUgcmF0ZSBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrCgkgIElmIHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgbWVkaWEgY2hhbmdlcywgdGhlIHJlc3VsdGluZyBmbHVzaCB3aWxsCgkgIGNsZWFyIHRoZSBoYXNfbmV4dF9hdWRpb2luZm8gZmxhZywgYW5kIHRoZSBjYXBzIHdvbid0IGJlIHNlbnQKCSAgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQzMQoKMjAxNS0wMy0xNyAxNzo1NToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSBnc3RfYmFzZV9wYXJzZV9tZXJnZV90YWdzKCkKCSAgSW5zdGVhZCBvZiBzcXVhc2hpbmcgYWxsIHVwc3RyZWFtIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wOC0xNiAxODoxMzoxMiArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBSZWNhbGN1bGF0ZSBvZmZzZXQgYW5kIHNpemUgaW4gcmF3IHVwbG9hZAoJICBBcyB3ZSBvbmx5IGV4cG9zZSB0aGUgbWFwcGVkIHBvcnRpb24gb2YgdGhlIGZyYW1lIGludG8gdGhlIEdMCgkgIG1lbW9yeSBvYmplY3QgKGFuZCBub3QgdGhlIG9yaWdpbmFsIHBhZGRpbmcpIHdlIG5lZWQgdG8KCSAgcmUtY2FsY3VsYXRlIHRoZSBzaXplIGFuZCBvZmZzZXQuCgoyMDE1LTA4LTE2IDA4OjQ5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggb2ZmIGJ5IG9uZSBzZWVraW5nIGlzc3VlCgkgIFdoZW4gc2Vla2luZyB0byB0aGUgbGFzdCBzZWNvbmQgb2YgYSBtcGQgaXQgd291bGQgcmVqZWN0IHRoZSBzZWVrCgkgIGJlY2F1c2UgdGhlIGNvbXBhcmlzb24gd2FzIDwgaW5zdGVhZCBvZiA8PQoJICBUaGlzIGZhaWxzIHRoZSBpbXBvcnRhbnQgdXNlIGNhc2Ugb2Ygc2Vla2luZyB0byB0aGUgZW5kIG9mIGEgZmlsZQoJICB0byBwbGF5IGl0IGJhY2sgaW4gcmV2ZXJzZSBmcm9tIHRoZSBlbmQKCjIwMTUtMDgtMTYgMTI6NTU6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRml4IGlsbG9naWNhbCBjb21wYXJpc2lvbgoJICBBIHZhcmlhYmxlIGNhbid0IGJlIHR3byB2YWx1ZXMgYXQgb25jZS4gV2Ugd2FudCB0byBzdG9wIGlmIGl0J3Mgbm90IHRoZQoJICBhY3R1YWwgdHMgKkFORCogbm90IHRoZSBvdGhlciB0cwoJICBDSUQgIzEzMTY0NzUKCjIwMTUtMDgtMTYgMTI6NTI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBGcmVlIFVUQ1RpbWluZyBzdHJ1Y3QgaWYgdGhlcmUgYXJlIG5vIHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggaXQKCSAgQ0lEIDEzMTY0NzkKCjIwMTUtMDgtMTUgMjM6MzY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IExpbmsgYWdhaW5zdCBHTW9kdWxlIGZvciB0ZXN0cyB1c2luZyBnX21vZHVsZV8qCgoyMDE1LTA4LTE1IDE5OjA0OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEZW1vdGUgZGVidWdnaW5nIGxldmVsCgoyMDE1LTA4LTE1IDE5OjAxOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBY3R1YWxseSB3YWl0IGZvciBwbGF5bGlzdCB1cGRhdGUgd2hlbiByZXF1ZXN0ZWQKCSAgVGhlcmUgYXJlIHNldmVyYWwgY2FzZXMgd2hlcmUgYSBITFMgc2VydmVyIGNvdWxkIHRlbXBvcmFyaWx5IGhhdmUgd3JvbmcKCSAgZnJhZ21lbnRzLCBvciByZWNvbmZpZ3VyZSB0aGUgcGxheWxpc3QuIEluIHRob3NlIGNhc2VzLCB3aGVuIHdlIGdldAoJICBmcmFnbWVudCBkb3dubG9hZCBmYWlsdXJlcywgd2UgKnJlYWxseSogd2FudCB0byB3YWl0IGEgYml0IChmb3IgdGhlIG5leHQKCSAgcGxheWxpc3QgdXBkYXRlKSBiZWZvcmUgcmV0cnlpbmcgdG8gZ2V0IGZyYWdtZW50cy4KCSAgUHJldmlvdXNseSB0aGlzIG1ldGhvZCB3YXMgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmIHRoZXJlIHdhcyBuZXh0IGZyYWdtZW50cwoJICAoYWNjb3JkaW5nIHRvIHRoZSBwcmV2aW91cyBtYW5pZmVzdCB1cGRhdGUpIGJlZm9yZSB3YWl0aW5nIGZvciB0aGUgbmV4dCB1cGRhdGUuCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IGlmIHRoYXQgaWYgdGhlcmUgaXMgYSB0ZW1wb3JhcnkgZmFpbHVyZSBvbiB0aGUgc2VydmVyLAoJICB0aGF0J3MgdW5jb3JyZWxhdGVkIHRvIHdoZXRoZXIgdGhlIG1hbmlmZXN0IGNvbnRhaW5zIG5leHQgZnJhZ21lbnRzIG9yIG5vdC4KCjIwMTUtMDgtMTQgMTI6MjU6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBjaGVja3M6IEVuc3VyZSB0aHJlYWQtc2FmZSBsaWJYMTEvR0wgd2hlbiBydW5uaW5nIHRlc3RzCgoyMDE1LTA4LTE1IDEyOjU4OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIGF1ZGlvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZHRzZGVjLCBmYWFkLCBnc21kZWMsIG1wZzEyM2F1ZGlvZGVjLCBvcHVzZGVjLAoJICBzYmNkZWMsIGFkcGNtZGVjLCBzaXJlbmRlYwoKMjAxNS0wOC0xNSAxMjo1NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZpZGVvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZGFhbGFkZWMsIGxpYmRlMjY1ZGVjLCBvcGVuanBlZ2RlYywgcnN2Z2RlYywgc2Nocm9kZWMsCgkgIHdlYnBkZWMsIHBubWRlYywgdm1uY2RlYywgb3BlbmV4cmRlYwoKMjAxNS0wOC0xNSAxNjoyMjoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogbWFrZSBzdXJlIHdlIGNhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwKCSAgQ2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTCBpbiB0aGUgU1RBUC1BIFJUUCBwYWNrZXQuIFRoaXMgbWFrZXMgc3VyZQoJICB3ZSBjb3JyZWN0bHkgZXh0cmFjdCB0aGUgU1BTIGFuZCBQUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5OTkKCjIwMTUtMDgtMTUgMTU6MDI6MzMgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEFsc28gZGlzYWJsZSB0aGUgYmxlbmQgd2hlbiBkb25lCgoyMDE1LTA4LTE1IDE0OjMxOjE1ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsc2luazogRW5hYmxlIHN5bmMgbWV0YSBvbiBwb29scyB3ZSBvZmZlcgoJICBBcyB0aGUgdXBsb2FkIGlzIGFzeW5jaHJvbm91cywgd2UgbmVlZCB0byBlbmFibGUgdGhlIHN5bmMgbWV0YSB0bwoJICBnYWluIGNvcnJlY3QgcmVuZGVyaW5nLiBUaGUgYnVmZmVyIHBvb2wgcmVjZWl2ZXIgZG9uJ3Qga25vdyBhYm91dAoJICB0aGF0LgoKMjAxNS0wOC0xNSAxNToxMjoyNyArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IEFkZCBvdmVybGF5IGNvbXBvc2l0aW9uIHN1cHBvcnQKCSAgUmVuZGVyaW5nIGNvbXBvc2l0aW9uIG92ZXJsYXkgaW4gR0wgd2l0aCBhZGRpdGlvbmFsIGhpZ2ggcmVzb2x1dGlvbgoJICBvdmVybGF5IGJlaW5nIGFkZGVkLgoKMjAxNS0wOC0xNSAxNTowODoxMSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a2dsc2luazogRml4IHVuc2FmZSBoYW5kbGluZyBvZiBidWZmZXIgbGlmZSB0aW1lCgkgIFdlIG5lZWQgdG8ga2VlcCB0aGUgYWN0aXZlIGJ1ZmZlciAodGhlIG9uZSB3ZSBoYXZlIHJldHJlaXZlIGEKCSAgdGV4dHVyZSBpZCBmcm9tKSBvdGhlcndpc2UgaXQncyByYWN5IGFuZCB1cHN0cmVhbSBtYXkgdXBsb2FkCgkgIG5ldyBjb250ZW50IGJlZm9yZSB3ZSBoYXZlIHJlbmRlcmVkIG9yIGR1cmluZyBsYXRlciByZWRpc3BsYXkuCgoyMDE1LTA4LTE0IDE4OjA3OjE1ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBSZW1vdmUgcmVzZXQgcGF0aAoJICBUaGUgcmVzZXQgcGF0aCBpcyBib2d1cyBhbmQgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGdldCByaWQgb2YgdGhlc2UKCSAgdGhpbmdzIGR1cmluZyByZXNpemUuCgoyMDE1LTA4LTE0IDE3OjM2OjQ4ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE1vdmUgb3ZlcmxheSByZW5kZXJpbmcgYWZ0ZXIgdmlkZW8gcmVuZGVyaW5nCgkgIFRoaXMgaXMgbW9zdGx5IGNvc21ldGljLCBidXQgaGVvcmV0aWNhbGx5IGl0IHJlZHVjZXMgdGhlIGFtb3VudCBvZgoJICByZXF1aXJlZCBvYmplY3QgaW4gdGhlIGNvbnRleHQgYXQgb25lIHBvaW50LiBJdCBhbHNvIGF2b2lkcyBwb3RlbnRpYWwKCSAgY29uZmxpY3RzLgoKMjAxNS0wOC0xNSAxNDo0NTozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBDb3B5IG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTUgMTE6NDE6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTE1IDExOjMwOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycyB0byBiZQoJICB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluCgkgIGdzdF9ydHBfaDI2NV9wYXlfc2VuZF92cHNfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbiB1cCB0byB0aGUKCSAgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHN0cmVhbWluZwoJICBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNS0wOC0xNSAxMDowMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIG9wZW5nbDogQ2hhbmdlIEdMY2xhbXBkIHRvIGRvdWJsZQoJICBHTGNsYW1wZCBkb2VzIG5vdCBleGlzdCBvbiBHTEVTLCBvbmx5IGRlc2t0b3AgR0wuCgoyMDE1LTA4LTE0IDEwOjMyOjE0IC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIG9wZW5nbDogYWRkIG1pc3NpbmcgQ2xlYXJEZXB0aCBwcm90b3R5cGUKCSAgVGhlIENsZWFyRGVwdGggY2FsbCBpcyBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjM5CgoyMDE1LTA4LTA2IDE0OjMzOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENsZWFyIFNQUyBpbmZvIGFmdGVyIHByb2Nlc3NpbmcuCgkgIFRoZSBTUFMgc3RydWN0IG1pZ2h0IGJlIGZpbGxlZCBvdXQgYnkgYSBjYWxsIHRvCgkgIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zdWJzZXRfc3BzLCB3aGljaCBmaWxscyBvdXQKCSAgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGRhdGEgYW5kIHJlcXVpcmVzIGEgY2FsbAoJICB0byBnc3RfaDI2NF9zcHNfY2xlYXIoKSB0byBmcmVlIGl0LiBBbHNvIG1ha2Ugc3VyZQoJICB0byBjbGVhciBvdXQgYW55IGFsbG9jYXRlZCBTUFMgZGF0YSB3aGVuIHJldHVybmluZwoJICBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzMwNgoKMjAxNS0wOC0xMiAwMDoyMDoyNiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBSZWZhY3RvciB0aGUgY29kZQoJICBTb21lIGxpbmVzIG9mIGNvZGUgYXJlIHJlcGVhdGVkIHNldmVyYWwgdGltZXMsIHRoZXJlZm9yZQoJICB0aGlzIGxpbmVzIGFyZSBzaW1wbGlmaWVkIHdpdGggYSBpbmxpbmUgZnVuY3Rpb24sIHRoYXQgdGhpcyBpcwoJICBwcm9wZXIgc3R5bGUgb2YgQysrLgoKMjAxNS0wOC0xNCAxMTo0Mzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogZW5hYmxlIGFjY2VwdC1pbnRlcnNlY3QgYW5kIGFjY2VwdC10ZW1wbGF0ZSBmbGFncyBvbiBzaW5rcGFkCgkgIERvIGEgcXVpY2sgY2hlY2sgd2l0aCB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgaXQgaXMgZW5vdWdoLiBVc2VycwoJICBzaG91bGQgaGF2ZSBmaWd1cmVkIHRoZSBhcHByb3ByaWF0ZSBmdWxsIGNhcHMgb24gYSBwcmV2aW91cyBjYXBzIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTE6NDM6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBlbmFibGUgYWNjZXB0LXRlbXBsYXRlIGZsYWcKCSAgRG8gYSBxdWljayBjaGVjayB3aXRoIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBpdCBpcyBlbm91Z2guIFVzZXJzCgkgIHNob3VsZCBoYXZlIGZpZ3VyZWQgdGhlIGFwcHJvcHJpYXRlIGZ1bGwgY2FwcyBvbiBhIHByZXZpb3VzIGNhcHMgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxNTowODowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1ciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duIHdoaWxlIGEKCSAgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTUtMDgtMTQgMTE6NDk6NTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IGNvcHkgbWV0YWRhdGEgaW4gdGhlIGRlcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTE0IDA5OjQ0OjI0ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBIVFRQIEhFQUQgbWV0aG9kIG9mIHRpbWUgc3luYwoJICBUaGUgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC1oZWFkOjIwMTQgbWV0aG9kIG9mIHRpbWUgc3luY2hyb25pc2F0aW9uCgkgIHVzZXMgYW4gSFRUUCBIRUFEIHJlcXVlc3QgdG8gYSBzcGVjaWZpZWQgVVJMIGFuZCB0aGVuIHBhcnNlcyB0aGUKCSAgRGF0ZTogSFRUUCByZXNwb25zZSBoZWFkZXIuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCB0byBkYXNoZGVtdXggZm9yIHRoaXMgbWV0aG9kIG9mIHRpbWUKCSAgc3luY2hyb25pc2F0aW9uIGJ5IG1ha2luZyBhIEhFQUQgcmVxdWVzdCBhbmQgdGhlbiBwYXJzaW5nIHRoZSBEYXRlOgoJICByZXNwb25zZS4KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IHRvIGdzdGZyYWdtZW50IHRvIHJldHVybiB0aGUgSFRUUCBoZWFkZXJzCgkgIGFuZCB0byB1cmlkb3dubG9hZGVyIHRvIHN1cHBvcnQgSEVBRCByZXF1ZXN0cy4gVG8gYXZvaWQgY3JlYXRpbmcgYQoJICBuZXcgQVBJLCB0aGUgUkFOR0UgZ2V0IGZ1bmN0aW9uIGlzIHJlLXVzZWQgKGFidXNlZD8pIHdpdGggc3RhcnQ9LTEKCSAgYW5kIGVuZD0tMSB0byBpbmRpY2F0ZSBhIEhFQUQgcmVxdWVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wOC0xMyAxODoyMToyOSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcG9zdC1yZXZpZXcgZml4dXAgb2YgVVRDVGltaW5nIGVsZW1lbnQKCSAgVGhpcyBjb21taXQgYWRkcmVzc2VzIHRoZSBmb2xsb3dpbmcgaXRlbXMgZnJvbSB0aGUgY29kZSByZXZpZXc6CgkgIHVzZSBhIHBvcnRhYmxlIHdheSB0byBkZWZpbmUgTlRQX1RPX1VOSVhfRVBPQ0gsCgkgIGZpeCBtZW1vcnkgbGVhayBvbiBlcnJvciwgYW5kCgkgIGFkZCBkb2N1bWVudGF0aW9uIHRvIFVUQ1RpbWluZyBwYXJzZSBmdW5jdGlvbnMKCSAgVXNpbmcgTEwgaXMgbm90IHBvcnRhYmxlLCBzbyB0aGUgR19HVUlOVDY0X0NPTlNUQU5UIG5lZWRzIHRvIGJlIGluc3RlYWQuCgkgIElmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgRE5TIHJlc29sdXRpb24sIHRoZSBHRXJyb3Igd2FzIG5vdCBiZWluZwoJICByZWxlYXNlZCwgY2F1c2luZyBhIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA3LTE1IDExOjU2OjEzICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIFVUQ1RpbWluZyBlbGVtZW50cyBmb3IgY2xvY2sgZHJpZnQgY29tcGVuc2F0aW9uCgkgIFVubGVzcyB0aGUgREFTSCBjbGllbnQgY2FuIGNvbXBlbnNhdGUgZm9yIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gaXRzCgkgIGNsb2NrIGFuZCB0aGUgY2xvY2sgdXNlZCBieSB0aGUgc2VydmVyLCB0aGUgY2xpZW50IG1pZ2h0IHJlcXVlc3QKCSAgZnJhZ21lbnRzIHRoYXQgZWl0aGVyIG5vdCB5ZXQgb24gdGhlIHNlcnZlciBvciBmcmFnbWVudHMgdGhhdCBoYXZlCgkgIGFscmVhZHkgYmVlbiBleHBpcmVkIGZyb20gdGhlIHNlcnZlci4gVGhpcyBpcyBhbiBpc3N1ZSBiZWNhdXNlIHRoZXNlCgkgIHJlcXVlc3RzIGNhbiBwcm9wYWdhdGUgYWxsIHRoZSB3YXkgYmFjayB0byB0aGUgb3JpZ2luCgkgIElTTy9JRUMgMjMwMDktMToyMDE0L0FtZCAxIFtQREFNMV0gZGVmaW5lcyBhIG5ldyBVVENUaW1pbmcgZWxlbWVudCB0byBhbGxvdwoJICBhIERBU0ggY2xpZW50IHRvIHRyYWNrIHRoZSBjbG9jayB1c2VkIGJ5IHRoZSBzZXJ2ZXIgZ2VuZXJhdGluZyB0aGUKCSAgREFTSCBzdHJlYW0uIE11bHRpcGxlIFVUQ1RpbWluZyBlbGVtZW50cyBtaWdodCBiZSBwcmVzZW50LCB0byBpbmRpY2F0ZQoJICBzdXBwb3J0IGZvciBtdWx0aXBsZSBtZXRob2RzIG9mIFVUQyB0aW1lIGdhdGhlcmluZy4gRWFjaCBlbGVtZW50IGNhbgoJICBjb250YWluIGEgd2hpdGUgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgVVJMcyB0aGF0IGNhbiBiZSBjb250YWN0ZWQKCSAgdG8gZGlzY292ZXIgdGhlIFVUQyB0aW1lIGZyb20gdGhlIHNlcnZlcidzIHBlcnNwZWN0aXZlLgoJICBUaGlzIGNvbW1pdCBwcm92aWRlcyBwYXJzaW5nIG9mIFVUQ1RpbWluZyBlbGVtZW50cywgdW5pdCB0ZXN0cyBvZiB0aGlzCgkgIHBhcnNpbmcgYW5kIGEgZnVuY3Rpb24gdG8gcG9sbCBhIHRpbWUgc2VydmVyLiBUaGlzIGZ1bmN0aW9uCgkgIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6bnRwOjIwMTQKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC14c2RhdGU6MjAxNAoJICB1cm46bXBlZzpkYXNoOnV0YzpodHRwLWlzbzoyMDE0CgkgIHVybjptcGVnOmRhc2g6dXRjOmh0dHAtbnRwOjIwMTQKCSAgVGhlIG1hbmlmZXN0IHVwZGF0ZSB0YXNrIGlzIHVzZWQgdG8gcG9sbCB0aGUgY2xvY2sgdGltZSBzZXJ2ZXIsCgkgIHRvIHNhdmUgaGF2aW5nIHRvIGNyZWF0ZSBhIG5ldyB0aHJlYWQuCgkgIFdoZW4gY2hvb3NpbmcgdGhlIHN0YXJ0aW5nIGZyYWdtZW50IG51bWJlciBhbmQgd2hlbiB3YWl0aW5nIGZvciBhCgkgIGZyYWdtZW50IHRvIGJlY29tZSBhdmFpbGFibGUsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHNlcnZlcidzIGlkZWEKCSAgb2YgVVRDIGFuZCB0aGUgY2xpZW50J3MgaWRlYSBvZiBVVEMgaXMgdGFrZW4gaW50byBhY2NvdW50LiBGb3IgZXhhbXBsZSwKCSAgaWYgdGhlIHNlcnZlcidzIHRpbWUgaXMgYmVoaW5kIHRoZSBjbGllbnQncyBpZGVhIG9mIFVUQywgd2Ugd2FpdCBmb3IKCSAgbG9uZ2VyIGJlZm9yZSByZXF1ZXN0aW5nIGEgZnJhZ21lbnQKCSAgW1BEQU0xXTogaHR0cDovL3d3dy5pc28ub3JnL2lzby9ob21lL3N0b3JlL2NhdGFsb2d1ZV90Yy9jYXRhbG9ndWVfZGV0YWlsLmh0bT9jc251bWJlcj02NjA2OAoJICBkYXNoZGVtdXg6IHN1cHBvcnQgTlRQIHRpbWUgc2VydmVycyBpbiBVVENUaW1pbmcgZWxlbWVudHMKCSAgVXNlIHRoZSBnc3RfbnRwX2Nsb2NrIHRvIHN1cHBvcnQgdGhlIHVzZSBvZiBhbiBOVFAgc2VydmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA4LTE0IDExOjEzOjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgY2hlY2s6IFJlbmFtZSBzdGF0ZXMgdW5pdCB0ZXN0CgkgIE1ha2VzIGl0IGVhc2llciB0byBkaWZmZXJlbnRpYXRlIGZyb20gb3RoZXIgbW9kdWxlcyBzdGF0ZXMgdW5pdCB0ZXN0CgoyMDE1LTA4LTEzIDEwOjMxOjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIHNwdS1wZ3M6IGZpeCBidWZmZXIgYW5kIGV2ZW50IGxlYWsKCSAgV2hlbiBwbGF5aW5nIG10cyBmaWxlcyB3aXRoIGVtYmVkZGVkIHN1YnRpdGxlcywgdGhlIGJ1ZmZlciBpcyBtYXBwZWQsCgkgIGJ1dCBub3QgdW5tYXBwZWQgYXQgdGhlIGVuZCByZXN1bHRpbmcgaW4gYSBtZW1vcnkgbGVhay4KCSAgQWxzbyB1bnJlZiBldmVudCBpbiBoYW5kbGVfZHZkX2V2ZW50IGFzIGl0IHRha2VzIG93bmVyc2hpcCBvZiB0aGUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1MzkKCjIwMTUtMDgtMTMgMTA6MjU6NTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBldmVudCBsZWFrcwoJICBXaGVuIHBsYXlpbmcgbXRzIGZpbGVzIHdpdGggZW1iZWRkZWQgc3VidGl0bGVzLCB0aGVyZSBhcmUgZmV3IGV2ZW50IGxlYWtzLgoJICBFdmVudHMgYXJlIHN1cHBvc2VkIHRvIGJlIHRyYW5zZmVyIGZ1bGwuIFNvIGlmIG5vdCBmb3J3YXJkaW5nIHRoZSBldmVudCwKCSAgdGhleSBuZWVkIHRvIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTM5CgoyMDE1LTA4LTEzIDEyOjM4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBSZXZlcnQgInNydHBkZWM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmZjExYTFhOGEwYzY4NWQyZWRkMGUwNmMwMDcxY2JiOTRmMmNiNjYzLgoJICBJdCBjYW4ndCBiZSBhc3N1bWVkIHRoYXQgYWxsIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdCBoYXZlIHRoZSBzYW1lIFNTUkMgb3IKCSAgYXJlIFJUUCBvciBSVENQIG9ubHkuIEl0IGhhcyB0byBiZSBjaGVja2VkIGZvciBldmVyeSBzaW5nbGUgYnVmZmVyLCBhbmQgb25lCgkgIGJhc2ljYWxseSBoYXMgdG8gZG8gdGhlIHByb2Nlc3NpbmcgdGhhdCBpcyBkb25lIGJ5IHRoZSBkZWZhdWx0IGNoYWluX2xpc3QKCSAgaW1wbGVtZW50YXRpb24uCgoyMDE1LTA4LTEyIDE3OjU0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgUmVsYXRlZCB0bzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE3OjIyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBvbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBhbmQgZ3N0cnRwaDI2NGRlcGF5IGRvIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIKCSAgY29uc2lzdGVudC4gQXMgd2Ugbm93IGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0sIHRoaXMgY2F1c2VzCgkgIGxlc3MgY2FwcyByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjQzOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBQUFMgcmVwbGFjZXMgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjoxMTowMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgcnRwaDI2NGRlcGF5IGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIKCSAgU1BTIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLAoJICBidXQgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1CgkgIChvciA4KSBiaXQuIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlY3QgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA4LTEyIDE1OjQ5OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0IG5lZWQgdG8gbWFwIHRoZQoJICBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZSB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMKCSAgYWxyZWFkeSBkb25lLgoJICBCYXNlZCBvbjogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE1OjE0OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgU3dpdGNoaW5nIHRvIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHJ0cCBjb2RlLgoKMjAxNS0wOC0xMiAxNDo1OTo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvIGEKCSAgc2VnZmF1bHQuCgkgIFJlbGF0ZWQgdG8gcnB0aDI2NGRlcGF5OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTk5CgoyMDE1LTA4LTEyIDA3OjU4OjA5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHJhbmdlIG9mIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbQoJICBDaHJvbWFMb2cyV2VpZ2h0RGVub20gPSBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tICsgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tCgkgIFRoZSB2YWx1ZSBvZiBDaHJvbWFMb2cyV2VpZ2h0RGVub20gc2hvdWxkIGJlIGluIHRoZSByYW5nZSBvZiAwIHRvIDcgYW5kCgkgIHRoZSB2YWx1ZSBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tICBzaG91bGQgYmUgYWxzbyBpbiB0aGUgcmFuZ2Ugb2YgMCB0byA3LgoJICBXaGljaCBtZWFucyAsIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbSBjYW4gaGF2ZSB2YWx1ZXMgaW4gdGhlIHJhbmdlCgkgIGJldHdlZW4gLTcgYW5kIDcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1NTIKCjIwMTUtMDgtMTIgMDU6MTE6MjcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgcGFyc2luZyBvZiByZWZfcGljX2xpc3RzX21vZGlmaWNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTUyCgoyMDE1LTA4LTEyIDAwOjIwOjEwICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHRha2UgaW50byBhY2NvdW50IG5vbiAxLzEgcGFyIGZvciBuYXZpZ2F0aW9uCgkgIFRoZSBjdXJyZW50IGNvZGUgd2FzIGlnbm9yaW5nIHRoZSBwYXIvZGFyIGFzcGVjdCB3aGVuIHRyYW5zZm9ybWluZwoJICBmcm9tIHdpbmRvdyBjb29yZGluYXRlcyB0byBzdHJlYW0gY29vcmRpbmF0ZXMgcmVzdWx0aW5nIGluIGluY29ycmVjdAoJICBjb29yZGluYXRlcyBiZWluZyBzZW50IHVwc3RyZWFtIGluIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cy4KCjIwMTUtMDgtMTIgMDA6MTg6MjAgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IGZpeCBtb3Rpb24gZXZlbnQgbmFtZQoJICBzL21vdGlvbi9tb3VzZS8KCSAgRml4ZXMgaG92ZXIgaW50ZXJhY3Rpb24gd2l0aCBEVkQgbWVudXMKCjIwMTUtMDgtMTIgMDA6MTQ6MTQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IGNvcnJlY3QgbmF2aWdhdGlvbiBldmVudHMgZm9yIHdpbmRvdyBzY2FsaW5nCgkgIGkuZS4gdGFrZSBpbnRvIGFjY291bnQgdGhlIHBvc3NpYmxpdHkgb2Ygc2NhbGluZyBpbiB0aGUgc2luawoJICBvciB0aHJvdWdoIEdES19TQ0FMRS4KCSAgRml4ZXMgRFZEIE1lbnVzIHdpdGggYSBzY2FsZWQgZ3Rrd2lkZ2V0CgoyMDE1LTA4LTExIDE1OjAyOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEZpeCBzZXR0aW5nIHN0cmluZyBwYXJhbWV0ZXJzCgkgIFN0cmluZyBwYXJhbWV0ZXJzIGFyZSBleHBlY3RlZCB0byBiZSBwYXNzZWQgYXMgKGYwcl9wYXJhbV9zdHJpbmcgKiksCgkgIHdoaWNoIGFjdHVhbGx5IG1hcCB0byBjaGFyKiouIEluIHRoZSBmaWx0ZXJzIHRoaXMgaXMgZXZhbHVhdGVkIGFzCgkgICgqKGNoYXIqKilwYXJhbSkgd2hpY2ggY3VycmVudGx5IGxlYWQgdG8gY3Jhc2ggd2hlbiBwYXNzaW5nIGNoYXIqLgoJICBSZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBmb3Igc3RyaW5nLCBhbGwgdHlwZXMsIGluY2x1ZGluZyBjaGFyKiBhcwoJICBwYXNzZWQgYXMgYSByZWZlcmVuY2UuCgkgIGh0dHBzOi8vcGhhYnJpY2F0b3IuZnJlZWRlc2t0b3Aub3JnL1Q4MwoKMjAxNS0wOC0xMSAxMzozNDo1OSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0azogaW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgIE5vdyB3ZSBjYW4gcHVzaCBrZXkvbW91c2UgaW5wdXQgaW50byB0aGUgcGlwZWxpbmUgZm9yIERWRCB1c2UgY2FzZXMuCgoyMDE1LTA2LTMwIDEzOjUxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQ29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQgdGFncyBvcgoJICB3aXRoIG9ubHkgdGhlIGF1ZGlvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xMSAwNDoxNDoxOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY1OiBGaXggdGhlIGZyYW1lIHN0YXJ0IGRldGVjdGlvbiBjb2RlCgkgIENoZWNrIHNsaWNlIGhlYWRlcnMgaW4gYmV0d2VlbiBHU1RfSDI2NV9OQUxfU0xJQ0VfVFJBSUxfTgoJICBhbmQgR1NUX0gyNjVfTkFMX1NMSUNFX1JBU0xfUiBmb3IgZnJhbWUgc3RhcnQgZGV0ZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDk3CgoyMDE1LTA4LTExIDAzOjQ3OjQyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGgyNjU6IEF2b2lkIHNraXBwaW5nIG9mIEVPUyBhbmQgRU9CIG5hbHMKCSAgRW5kT2ZTZXF1ZW5jZSBhbmQgRW5kT2ZCaXRzdHJlYW0gbmFsIHVuaXRzIGhhdmUgc2l6ZSBvZiAyIGJ5dGVzLgoJICBEb24ndCBjb25zaWRlciB0aGVtIGFzIGJyb2tlbiBuYWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDk3CgoyMDE1LTA4LTEwIDIzOjAyOjEyICswMjAwICBWYW5lc3NhIENoaXBpIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiB3cm9uZyBmb3JtIHRvIHdyaXRlIHRoZSBkZWxldGUgb3BlcmF0b3IKCSAgVGhlIGRlbGV0ZSBvcGVyYXRvciBpcyB3cml0dGVuIHRoaXMgd2F5OiBkZWxldGUgKGNhc2NhZGUpLiBUaGlzIHdheSBpcwoJICBtaXNzcGVsbGVkLCBpdCBpcyBhbiBvcGVyYXRvciwgbm90IGEgZnVuY3Rpb24uIERlbGV0ZSB0aGUgcGFyZW50aGVzZXMuCgoyMDE1LTA4LTEwIDE5OjEzOjExICswMjAwICB2YW5lY2hpcGkgPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IHNpbXBsaWZ5IHJlcGVhdGVkIGNvZGUuCgkgIFN0b3JlIHRoZSB2YWx1ZSBvZiByLmhlaWdodCAvIDIgaW5zdGVhZCBvZiByZXBlYXRpbmcgdGhlIG9wZXJhdGlvbiBsaW5lCgkgIHRocmVlIHRpbWVzLgoKMjAxNS0wOC0xMCAxOTowMjoxMCArMDIwMCAgdmFuZWNoaXBpIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBSZWR1bmRhbmN5IGV4aXN0cyBpbiBjb2RlLgoJICBDaGVja2luZyB0aGUgdmVjdG9yIGlzIG5vdCBlbXB0eSBhbmQgY2hlY2tpbmcgdGhlIHZlY3RvciBzaXplIGlzIGdyZWF0ZXIKCSAgdGhhbiB6ZXJvIGFyZSB0aGUgc2FtZSB0aGluZywgdGhpcyBpcyBhIHJlZHVuZGFuY3kgaW4gdGhlIGNvZGUuIE9ubHkKCSAgY2hlY2tpbmcgdGhlIHZlY3RvciBpcyBub3QgZW1wdHkgaXMgc3VmZmljaWVudCwgdGhlcmVmb3JlIHJlbW92aW5nIHRoZQoJICBvdGhlciBjaGVjay4KCjIwMTUtMDgtMTAgMTQ6NDg6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IEFkZCBvcGVuZ2xfdmVyc2lvbi5oIHRvIHRoZSBsaXN0IG9mIHNvdXJjZXMKCSAgQWRkaW5nIHRoaXMgcHJpdmF0ZSBoZWFkZXIgdG8gdGhlIGxpc3Qgb2Ygc291cmNlcy4gV2UgZG9uJ3Qgd2FudCB0byBtYWtlCgkgIHRoaXMgaGVhZGVyIHB1YmxpYywgYnV0IHdlIG5lZWQgaXQgaW4gdGhlIGxpc3Qgb2Ygc291cmNlcyBvdGhlcndpc2UgaXQKCSAgd29uJ3QgYmUgaW5jbHVkZWQgaW4gdGhlIHRhcmJhbGwuIFRoaXMgZml4ZXMgbWFrZSBkaXN0Y2hlY2suCgkgIFRoaXMgcmVncmVzc2lvbiB3YXMgaW50cm9kdWNlZCBieSBjb21taXQgMWE2ZmUzZGIKCjIwMTUtMDgtMTAgMTk6MDY6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBmYWNlZGV0ZWN0OiBvbmx5IGNyZWF0ZSB2YXJpYWJsZXMgd2hlbiBuZWVkZWQKCSAgVGhlIHZhcmlhYmxlcyB0byBzdG9yZSBmYWNlIHZhbHVlcyBhcmUgb25seSBuZWVkZWQgaWYgdGhleSB3aWxsIGJlIHVzZWQgdG8KCSAgY29udHJvbCB0aGUgdm9sdW1lLiBXaGljaCBpc24ndCB0aGUgZGVmYXVsdCB0byBhdm9pZCBwb3RlbnRpYWxseSBiZWluZyB2ZXJ5CgkgIGxvdWQgYWNjaWRlbnRhbGx5LiBPbmx5IGNyZWF0ZSB2YXJpYWJsZXMgd2hlbiBuZWVkZWQuCgoyMDE1LTA4LTEwIDE2OjUxOjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogbWFrZSB2b2x1bWUgY29udHJvbCBvcHRpb25hbAoKMjAxNS0wOC0xMCAxNjozODozMiArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHVzZSBnbGVzMiBzaGFkZXJzIGV2ZXJ5d2hlcmUKCSAgVGhpcyBlZmZlY3RpdmVseSBsaW1pdHMgYSBnbGZpbHRlciBzdWJjbGFzcyB0byBiZSA+IEdMKEVTKSAyLjAuCgkgIHJhdGhlciB0aGFuIGEgcG9zc2libGUgR0wgMS40LgoKMjAxNS0wOC0xMCAxNTo0NDo1NCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0L3dnbDogaW1wbGVtZW50IGdsMyBjb3JlIHByb2ZpbGUgY29udGV4dCBzZWxlY3Rpb24KCjIwMTUtMDItMjggMDE6MDc6NDQgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IGltcGxlbWVudCBwaXZvdCBwb2ludCBmb3Igcm90YXRpb24gYW5kIHNjYWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NjMKCSAgQWRkIGEgcGl2b3QgdmVjdG9yIGZvciBzZXR0aW5nIHRoZSBvcmlnaW4gb2Ygcm90YXRpb25zIGFuZCBzY2FsZXMuCgkgIFdpdGggdGhlIHBpdm90IHBvaW50IHRoZSByb3RhdGlvbiBhbmQgc2NhbGUgb3BlcmF0aW9ucyBjYW4gaGF2ZQoJICBkaWZmZXJlbnQgb3JpZ2lucy4gVGhpcyBhZGRzIHRoZSBhYmlsaXR5IHRvIHJvdGF0ZSBhcm91bmQgZGlmZmVyZW50IHBvaW50cy4KCSAgQ3VycmVudGx5IHRoZSBkZWZhdWx0ICgwLCAwKSBwaXZvdCBwb2ludCBpcyBwb3NzaWJsZSwKCSAgYSByb3RhdGlvbiBhcm91bmQgdGhlIGNlbnRlciwgYW5kIHpvb21pbmcgaW50byBhbmQgb3V0IG9mIHRoZSBjZW50ZXIuCgkgIFdpdGggYW4gcGl2b3QgcG9pbnQgdGhpcyBpcyBvcHRpb25hbC4KCSAgSSBkZWZpbmVkIHRoZSBmb2xsb3dpbmcgaW1hZ2UgY29vcmRpbmF0ZXMgZm9yIHRoZSBwaXZvdCBwb2ludDoKCSAgKC0xLDEpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKDEsMSkKCSAgfAkJCXwKCSAgfAkJCXwKCSAgfAkJCXwKCSAgfAkgICgwLDApCQl8CgkgIHwJCQl8CgkgIHwJCQl8CgkgIHwJCQl8CgkgICgtMSwtMSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAoMSwtMSkKCSAgRXhhbXBsZToKCSAgUm90YXRlIHRoZSB2aWRlbyBhdCB0aGUgYm90dG9tIGxlZnQgY29ybmVyCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyBcCgkgICEgZ2x0cmFuc2Zvcm1hdGlvbiBcCgkgIHNjYWxlLXg9MC41IFwKCSAgc2NhbGUteT0wLjUgXAoJICByb3RhdGlvbi16PTI1LjAgXAoJICBwaXZvdC14PS0xLjAgXAoJICBwaXZvdC15PS0xLjAgXAoJICAhIGdsaW1hZ2VzaW5rCgkgIFRoZSBwaXZvdC16IG9wdGlvbiBkZWZpbmVzIHRoZSBwaXZvdCBwb2ludCBpbiAzRCBzcGFjZS4KCSAgVGhpcyBvbmx5IGFmZmVjdHMgcm90YXRpb24sIHNpbmNlIHdlIGhhdmUgbm8gWiBkYXRhIHRvIHNjYWxlLgoJICBXaXRoIHRoaXMgb3B0aW9uIGEgdmlkZW8gY2FuIGJlIHJvdGF0ZWQgYXJvdW5kIGEgcG9pbnQgaW4gM0Qgc3BhY2UuCgkgIEV4YW1wbGU6CgkgIFJvdGF0ZSBhcm91bmQgcG9pbnQgYmVoaW5kIHRoZSB2aWRlbzoKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIFwKCSAgISBnbHRyYW5zZm9ybWF0aW9uIFwKCSAgcm90YXRpb24teD0xMC4wIFwKCSAgcGl2b3Qtej0tNC4wIFwKCSAgISBnbGltYWdlc2luawoKMjAxNS0wOC0wOCAxNDo0NTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBBZGQgc2hhZGVyIHRvIGNvbnZlcnQgQkdSQS9BUkdCIC0+IFJHQkEKCSAgRGVwZW5kaW5nIG9uIHRoZSBieXRlcyBvcmRlciB3ZSB3aWxsIGdldCBCR1JBIChsaXR0bGUpIGFuZCBBUkdCIChiaWcpCgkgIGZyb20gdGhlIGNvbXBvc2l0aW9uIG92ZXJsYXkgYnVmZmVyIHdoaWxlIG91ciBHTCBjb2RlIGV4cGVjdHMgUkdCQS4gQWRkCgkgIGEgZnJhZ21lbnQgc2hhZGVyIHRoYXQgZG8gdGhpcyBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODQyCgoyMDE1LTA4LTA4IDE3OjI4OjAzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBpbXBsZW1lbnQgdGhlIHJlcXVpcmVkIG11bHRpcGxlIEdMIGNvbnRleHQgc3luY2hvbmlzYXRpb24KCSAgRnJvbSBHU3RyZWFtZXIncyBHTCBjb250ZXh0IGludG8gdGhlIFFNTCBjb250ZXh0CgoyMDE1LTA4LTA4IDE3OjIyOjA1ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbC9zeW5jbWV0YTogaW1wbGVtZW50IHN5bmNocm9uaXNhdGlvbiB3aXRob3V0IGdsRmVuY2VTeW5jCgkgIFVzZXMgZ2xGaW5pc2ggYXMgdGhhdCdzIHRoZSBiZXN0IHdlIGhhdmUgZm9yIGxlc3NlciBPcGVuR0wgdmVyc2lvbnMuCgoyMDE1LTA4LTA4IDE1OjQ1OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBvdXRwdXQgVElNRSBzZWdtZW50IGlmIHdlIG91dHB1dCBhIHN0cmVhbSBhbmQgd29uJ3Qgc2VlayBiYWNrIGxhdGVyCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gaXMgc2Vla2FibGUgdmlhIGEgU0VFS0lORyBxdWVyeSBhbmQgb3V0cHV0IGEKCSAgQllURSBzZWdtZW50IGlmIHdlIHdhbnQgdG8gc2VlayBiYWNrIHRvIGZpeCB1cCB0aGUgaGVhZGVycyBsYXRlciwKCSAgYnV0IGlmIHdlJ3JlIHN0cmVhbWluZyBzZW5kIGEgVElNRSBzZWdtZW50IGluc3RlYWQgKHdoaWNoIGdvZXMKCSAgZG93biBiZXR0ZXIgd2l0aCBlLmcuIGFzZm11eCAhIHJ0cGFzZnBheSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTUtMDgtMDggMTU6MzA6NDMgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzL2dsY29udGV4dDogZml4IElOVkFMSURfRU5VTSBHTCBlcnJvciBpbiB0ZXN0CgoyMDE1LTA4LTA4IDE1OjIxOjAzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgY29udGV4dC9nbHg6IG9ubHkgdXNlIGdsWENyZWF0ZUNvbnRleHRBdHRyaWJzIGZvciBPcGVuR0wgMyBjb250ZXh0cwoJICBtZXNhIGZvciBleGFtcGxlIHdoZW4gY3JlYXRpbmcgYSBHTCAzLjEgY29tcGF0aWJpbGl0eSBjb250ZXh0CgkgIG92ZXJyaWRlcyBvdXIgY29udGV4dCBwcm9maWxlIHNlbGVjdGlvbiB0byBjcmVhdGUgYSBjb3JlIGNvbnRleHQuCgoyMDE1LTA4LTA4IDEzOjE5OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogb25seSBzZXQgdG8gcGxheWluZyB3aGVuIGl0J3Mgbm90IGFscmVhZHkKCjIwMTUtMDgtMDggMTI6NTI6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG9wZW5jdjogcmVtb3ZlIHVubmVjZXNzYXJ5IHNldHRpbmcgb2YgYSBwcm9wZXJ0eQoJICAiL2Rldi92aWRlbzAiIGlzIHRoZSBkZWZhdWx0IGRldmljZSBvZiB2NGwyc3JjLCBzZXR0aW5nIGl0IHRvIHRoaXMgaXMKCSAgcmVkdW5kYW50LgoKMjAxNS0wOC0wNyAxNTo0Mzo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IGZpeCBwcm9maWxlIGxvYWRpbmcgY2hlY2sKCSAgU2luY2UgdGhlIHByb2ZpbGUgZ2NoYXIgZGVwZW5kcyBvbiBERUZBVUxUX0ZBQ0VfUFJPRklMRSwgaXQgc2hvdWxkIG5ldmVyIGJlCgkgIE5VTEwuIEZ1cnRoZXJtb3JlIENhc2NhZGVDbGFzc2lmaWVyIGFjY2VwdHMgYW55IGlucHV0LCBldmVuCgkgIGFuIGVtcHR5IG9uZSwgYnV0IGlmIHRoZSBwcm9maWxlIGZhaWxzIHRvIGxvYWQgaXQgcmV0dXJucyBhbiBlbXB0eSBjYXNjYWRlLgoJICBDaGVjayBmb3IgdGhpcyBpbnN0ZWFkLCBhbmQgaW5mb3JtIHRoZSB1c2VyIGlmIHRoZXJlIHdhcyBhbiBFcnJvci4KCjIwMTUtMDgtMDYgMTE6MzA6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZG9uJ3Qgd2FybiBhYm91dCBkdXJhdGlvbiBpZiBpdCBpcyBub3Qga25vd24KCSAgQW5kIGFsc28gcHJpbnQgdGhlIHZhbHVlcyBpbiBjYXNlIG9mIHdhcm5pbmcKCjIwMTUtMDgtMDcgMTM6MTY6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGFkZCBuZXcgZXhhbXBsZSBmaWxlCgkgIENvbW1pdCAwMmI5ZGFhZmRmNjRhYjIwNWVkNzI1ZjU0OTZkZmE1Y2U4NjBlYWNjIGFkZGVkIGEgbmV3IGV4YW1wbGUgZmlsZQoJICB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LCBhZGRpbmcgaXQgdG8gLmdpdGlnbm9yZQoKMjAxNS0wOC0wNyAxMzowODoxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGNvbmZpZ3VyZTogdXBkYXRlIE9wZW5DViByZXF1aXJlbWVudHMgdG8gMi4zLjAKCSAgV2l0aCBmYWNlZGV0ZWN0IHBvcnRlZCB0byBDKysgdGhlIG1pbmltdW0gdmVyc2lvbiBvZiBPcGVuQ1YKCSAgc3VwcG9ydGVkIGlzIDIuMy4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDgtMDcgMDU6NTg6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbQoJICBTb21lIHZpZGVvIGJpdHN0cmVhbXMgcmVwb3J0IGEgdG9vIHJlc3RyaWN0aXZlIHNldCBvZiBwcm9maWxlcy4gSWYgYSB2aWRlbwoJICBkZWNvZGVyIHdhcyB0byBzdHJpY3RseSBmb2xsb3cgdGhlIGluZGljYXRlZCBwcm9maWxlLCBpdCB3b3VsZG4ndCBzdXBwb3J0IHRoYXQKCSAgc3RyZWFtLCB3aGVyZWFzIGl0IGNvdWxkIGluIHRoZW9yeSBhbmQgaW4gcHJhY3RpY2UuIFNvIHdlIHNob3VsZCByZWxheCB0aGUKCSAgcHJvZmlsZSByZXN0cmljdGlvbiBmb3IgYWxsb3dpbmcgdGhlIGRlY29kZXIgdG8gZ2V0IGNvbm5lY3RlZCB3aXRoIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wOC0wNiAxODoxMjowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICByZ2IyYmF5ZXI6IFVzZSBtYXBwZWQgZnJhbWUgc3RyaWRlCgoyMDE1LTA4LTA2IDE4OjExOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIHJnYjJiYXllcjogUHJvdGVjdCBhZ2FpbnN0IGZhaWxpbmcgbWFwCgoyMDE1LTA4LTA2IDE4OjA0OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogUmVhZCBzdHJpZGUgZnJvbSB0aGUgdmlkZW8gaW5mbwoKMjAxNS0wOC0wNiAxODowNDo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IFByb3RlY3QgYWdhaW5zdCBmYWlsaW5nIG1hcAoKMjAxNS0wOC0wNiAxOToyMzo0OSArMDMwMCAgSWx5YSBBdmVyeWFub3YgPGkuYXZlcnlhbm92QGdlb3NjYW4uYWVybz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSAgZWxlbWVudC10ZW1wbGF0ZTogRml4IHdyb25nIHBhZCBpbiB2aWRlb2VuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzMyNgoKMjAxNS0wOC0wMyAxNjo1NzozMSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggbGVhayBpbiBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2ZyYWdtZW50X2luZm8oKQoJICBUaGUgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9mcmFnbWVudF9pbmZvIGZ1bmN0aW9uIGNvdWxkIGNhbGwKCSAgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8gZnVuY3Rpb24gdHdpY2UuIFRoZQoJICBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2hlYWRlcnNfaW5mbyBmdW5jdGlvbiB3aWxsIHNldCBoZWFkZXJfdXJpIGFuZAoJICBpbmRleF91cmkgdG8gc29tZSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5ncy4gVGhlIHZhbHVlcyBzZXQgYnkgdGhlIGZpcnN0IGNhbGwgb2YKCSAgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8gd2lsbCBsZWFrIHdoZW4gdGhlIGZ1bmN0aW9uIGlzCgkgIGNhbGxlZCBmb3IgYSBzZWNvbmQgdGltZS4KCSAgVGhlIHNvbHV0aW9uIGlzIHRvIGNhbGwgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9mcmFnbWVudF9jbGVhciBiZWZvcmUgdGhlCgkgIHNlY29uZCBjYWxsIG9mIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxODgKCjIwMTUtMDgtMDUgMTQ6NTI6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogU2VnbWVudCBzaG91bGQgc3RhcnQgYXQgYmFzZSB0cwoJICBJbnN0ZWFkIHdlIHdvdWxkIHVzZSBjdXJfdHMgd2hpY2ggbWF0Y2hlcyB0aGUgbGFzdCBUUyBzdG9yZQoJICBpbiB0aGUgYnVmZmVyIGxpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMzcKCjIwMTUtMDgtMDUgMTI6NTY6NTcgKzAyMDAgIEFuZGVycyBKb25zc29uIDxhbmRlcnMuam9uc3NvbkBub3Jzam92YWxsZW4uc2U+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzdHJpbmcgdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjQxCgoyMDE1LTA4LTA1IDExOjU2OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBmYWNlZGV0ZWN0OiBmcmVlIElwbEltYWdlIHdpdGggY3ZSZWxlYXNlSW1hZ2UKCSAgVXNpbmcgZGVsZXRlKCkgd2l0aCBJcGxJbWFnZSB3aWxsIGZhaWwgdG8gZnJlZSBzb21lIG9mIHRoZSBzdHJ1Y3R1cmUncwoJICBjb250ZW50cy4gY3ZSZWxlYXNlSW1hZ2UoKSBpcyB0aGUgcHJvcGVyIHdheSBvZiBmcmVlaW5nIHRoZSBtZW1vcnkuCgoyMDE1LTA4LTA1IDExOjM5OjAxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBmYWNlZGV0ZWN0OiBjaGVjayBwb2ludGVyIGJlZm9yZSB1c2luZyBpdAoJICBDaGVjayBpZiBwcm9maWxlIGlzIE5VTEwgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQgd2l0aCBuZXcuIEFsc28sIG5ldyB3aWxsCgkgIG5ldmVyIHJldHVybiBOVUxMOyBpZiBhbGxvY2F0aW9uIGZhaWxzLCBhIHN0ZDo6YmFkX2FsbG9jIGV4Y2VwdGlvbiB3aWxsIGJlCgkgIHRocm93biBpbnN0ZWFkLiBSZW1vdmUgY2hlY2sgZm9yIGEgTlVMTCByZXR1cm4uCgkgIENJRCAjMTMxNTI1OAoKMjAxNS0wOC0wNSAxMToxNDo0OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogcmVtb3ZlIGRlYWQgY29kZQoJICBsZXZlbF9vayBpcyBvbmx5IHVzZWQgaW4gYSBjaGVjayB0aGF0IHdpbGwgbmV2ZXIgYmUgdHJ1ZSwgcmVtb3ZpbmcgaXQuCgkgIENJRCAjMTMxNTI1NQoKMjAxNS0wOC0wNSAxMToxMToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogZml4IG1lbW9yeSBsZWFrCgkgIEZyZWUgdnBzX25hbCBiZWZvcmUgcmV0dXJuaW5nLgoJICBDSUQgIzEzMTUyNTcKCjIwMTUtMDgtMDQgMjM6MTU6MzYgKzAyMDAgIENhcmxvcyBHYXJuYWNobyA8Y2FybG9zZ0Bnbm9tZS5vcmc+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IERvbid0IGxlYWsgYSBHc3RWaWRlb0NvZGVjU3RhdGUKCSAgVGhlcmUncyBhbHJlYWR5IHRoZSBvdXRwdXRfc3RhdGUgdmFyaWFibGUgd2l0aCBpdCwgbm8gbmVlZCB0bwoJICBjYWxsIGdzdF92aWRlb19kZWNvZGVyX2dldF9vdXRwdXRfc3RhdGUoKSBhbmQgZ2V0IGEgbmV3IHJlZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI2MgoKMjAxNS0wOC0wNCAyMTozMjo1MyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggZHVwbGljYXRlZCBmb3JtYXQgaW4gaGFuZGxlX3NlZWtfcHVsbAoJICBHc3RGb3JtYXQgdmFyaWFibGUgYXJlIGR1cGxpY2F0ZWQgaW4gaGFuZGxlX3NlZWtfcHVsbCBmdW5jdGlvbi4KCSAgU28gd2UgbmVlZCB0byBtb3ZlIHRoaXMgdmFyaWFibGUgaW4gY29uZGl0aW9uIHN0YXRlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI0MwoKMjAxNS0wOC0wNCAxNDozMDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogZmFjZWRldGVjdDogZml4IGNyYXNoZXMgaW4gZmluYWxpemUKCSAgRml4ZXMgZ3N0LWluc3BlY3QtMS4wIC1hIGNyYXNoaW5nLgoKMjAxNS0wOC0wMyAxOTo0Mjo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkgIHdpbnNjcmVlbmNhcDogUHJvcGVybHkgdGltZXN0YW1wIGJ1ZmZlcnMgd2l0aCB0aGUgY3VycmVudCBjbG9jayBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiBkb2luZyBtYWdpYwoJICBBbHNvIGltcGxlbWVudCBmcmFtZXJhdGUgaGFuZGxpbmcgY29ycmVjdGx5IGJ5IGJvcnJvd2luZyB0aGUgY29kZSBmcm9tCgkgIHhpbWFnZXNyYy4gR3N0QmFzZVNyYzo6Z2V0X3RpbWVzKCkgY2FuJ3QgYmUgdXNlZCBmb3IgdGhhdCwgd2UgaGF2ZSB0bwoJICBpbXBsZW1lbnQgcHJvcGVyIHdhaXRpbmcgb3Vyc2VsdmVzLgoKMjAxNS0wOC0wNCAwMDoyMDoyNyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBGaXggMzItYml0IGJ1aWxkIC8gZm9ybWF0IHN0cmluZ3MuCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBmb3IgZm9ybWF0IHN0cmluZ3Mgd2hlcmUgcmVsZXZhbnQKCjIwMTUtMDgtMDMgMTk6NDg6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzd2FwIGNvbnRyb2wgYmluZGluZyBwcm94eQoJICBUaGUgcmVmX29iamVjdCBhbmQgb2JqZWN0IHBhcmFtZXRlcnMgd2VyZSB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4KCSAgRm9yIHRoZSB0eXBpY2FsIHVzZSBjYXNlIHdoZXJlIGFuIGFwcGxpY2F0aW9uIGlzIHNldHRpbmcgYQoJICBHc3RDb250cm9sQmluZGluZyBvbiB0aGUgcmV0dXJuZWQgZ2hvc3QgcGFkOgoJICAxLiBvdXIgY29udHJvbCBiaW5kaW5nIHdvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgbmV3IG9uZSB3YXMgc2V0CgkgIDIuIHN5bmNfdmFsdWVzIGNhbGxzIHdlcmUgbm90IGJlaW5nIGZvcndhcmRlZCBmcm9tIHRoZSBpbnRlcm5hbAoJICBwYWQgdG8gdGhlIGdob3N0IHBhZC4KCSAgSWYgYW4gYXBwbGljYXRpb24gYXR0ZW1wdHMgdG8gcGVyZm9ybSBvdGhlciBjb250cm9sIGJpbmRpbmcKCSAgb3BlcmF0aW9ucyAoZ2V0XyogZmFtaWx5IG9mIGZ1bmN0aW9ucykgb24gdGhlIGludGVybmFsIHBhZCwgdGhleQoJICB3aWxsIGFsc28gYmUgZm9yd2FyZGVkIHRvIHRoZSBnaG9zdCBwYWQgd2hlcmUgYSBwb3NzaWJsZQoJICBHc3RDb250cm9sQmluZGluZyB3aWxsIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSB2YWx1ZXMuCgoyMDE1LTA4LTAxIDE1OjUyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBwbHVnIGxlYWsgaW4gc2VnbWVudHRlbXBsYXRlIHBhcnNpbmcKCSAgT25seSBjb3B5IHRoZSB2YWx1ZXMgZnJvbSB0aGUgcGFyZW50IGlmIHRoZSBjdXJyZW50IG5vZGUgZG9lc24ndAoJICBoYXZlIHRoYXQgdmFsdWUsIHRoZXkgd2VyZSBiZWluZyBjb3BpZWQgZnJvbSB0aGUgcGFyZW50IGFuZAoJICB0aGVuIG92ZXJ3cml0ZW4gYnkgdGhlIGNoaWxkIG5vZGUsIGxlYWtpbmcgdGhlIHBhcmVudCdzIGNvcHkKCjIwMTUtMDgtMDEgMTU6NTE6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoX21wZDogYWRkIGNoZWNrIGZvciBzZWdtZW50dGVtcGxhdGUgaW5oZXJpdGFuY2UKCSAgQ2hlY2tzIGlmIHRoZSB2YWx1ZXMgYXJlIHByb3Blcmx5IGluaGVyaXRlZCBhbmQgb3ZlcndyaXRlbgoKMjAxNS0wOC0wMSAxNTowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hfbXBkOiBhZGQgb25lIG1vcmUgYmFzZVVSTCB0ZXN0CgkgIFRoaXMgb3RoZXIgdHlwZSBvZiBiYXNlVVJMIHRlc3Qgd2FzIHJlcGxhY2VkIGJ5IGEgbW9yZSBjb21wbGV4IG9uZSwKCSAgYmV0dGVyIGhhdmUgYm90aCB0byBrZWVwIGJvdGggb3B0aW9ucyB3b3JraW5nCgkgIEFsc28gYWRkcyBhbm90aGVyIDIgdmFyaWF0aW9ucyBvZiBob3cgYmFzZVVSTCBjYW4gYmUgZ2VuZXJhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzYKCjIwMTUtMDctMjMgMTA6NTQ6MzYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgZHVyYXRpb24gZm9ybWF0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NgoKMjAxNS0wNy0yMiAxMTo0MjoyMyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiB1cGRhdGUgdW5pdCB0ZXN0IGZvciBiYXNlVVJMCgkgIFVwZGF0ZSB0aGUgdW5pdCB0ZXN0IGZvciBiYXNlVVJMIHRvIHRlc3QgdGhhdCBpdCBpcyBwcm9wZXJseQoJICByZXNvbHZlZCB0YWtpbmcgaW50byBhY2NvdW50IHBhcmVudCBiYXNlVVJMIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzc2CgoyMDE1LTA4LTAxIDExOjUxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogcmV2ZXJ0IHJlbmFtZSBvZiBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgZG9lc24ndCBuZWVkIHRvIGhhdmUgaXRzIG5hbWUgY2hhbmdlZCBiZWNhdXNlIG9mIEMrKywKCSAganVzdCB0aGUgaW5zdGFuY2UgdmFyaWFibGVzLgoKMjAxNS0wNy0zMSAxNzozMToxNSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZmFjZWRldGVjdDogQWRkIHVuaXQgdGVzdAoJICBJIGNyZWF0ZWQgZm91ciB1dGlsaXRpZXMgb2YgdGhlIGRldGVjdGVkIGZlYXR1cmVzOgoJICAxLSBJZiB5b3UgaGlkZSB5b3VyIG1vdXRoLCB0aGUgdm9sdW1lIG9mIHZpZGVvIGlzIGxvdy4KCSAgMi0gSWYgeW91IGhpZGUgdGhlIG5vc2UsIHRoZSB2b2x1bWUgb2YgdGhlIHZpZGVvIGlzIHVwLgoJICAzLSBJZiB5b3UgaGlkZSB0aGUgZnVsbCBmYWNlLCB0aGUgdmlkZW8gc3RvcHMuCgkgIFlvdSBjYW4gc2VlIHByb29mIG9mIHRoaXMgaGVyZToKCSAgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1weHplak5LVl9XUQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mzc3CgoyMDE1LTA3LTMxIDE2OjQwOjA3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICB0ZW1wbGF0ZW1hdGNoOiByZW5hbWUgY29uZmxpY3RpbmcgdmFyaWFibGUKCSAgV2l0aCB0aGUgc3dpdGNoIG9mIGdzdG9wZW5jdi5jIHRvIEMrKywgYWxsIE9wZW5DViBlbGVtZW50cyBhcmUgYnVpbHQgd2l0aAoJICBnKysuIFRoZSB0ZW1wbGF0ZSB2YXJpYWJsZSBjbGFzaGVzIHdpdGggQysrJ3MgZmVhdHVyZSBvZiB0aGUgc2FtZSBuYW1lLgoJICBSZW5hbWUgdGVtcGxhdGUgdG8gdGVtcGwgdG8gYXZvaWQgYW55IGNsYXNoLgoKMjAxNS0wNy0zMSAxMzo0NTo0MyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmNwcDoKCSAgZmFjZWRldGVjdDogbmVlZCB0byBtaWdyYXRlIHRvIEMrKwoJICBUaGUgY2FzY2FkZSBjbGFzc2lmaWVyIGNoYW5nZXMgaXRzIHN0cnVjdHVyZSBvbiBuZXcgdmVyc2lvbiBvZiBPcGVuQ1YuCgkgIFRoZSBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrIHRvIHV0aWxpemUgdGhlIG5ldyBsb2FkIG1ldGhvZCBvZiBPcGVuQ1Ygd2hpY2gKCSAgYWxsb3dzIHRvIGxvYWQgdGhlIG5ldyBjbGFzc2lmaWVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wNy0zMSAxMDo0NzoyNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IHRhZ2xpc3QgbGVhawoJICB0YWdsaXN0IG1lcmdlIGRvZXNudCB0YWtlIG93bmVyc2hpcC4gU28gc2hvdWxkIGZyZWUgdGhlIHRhZ3MgYWZ0ZXIgdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwODYKCjIwMTUtMDctMzAgMjM6MzE6MjEgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXBwbGVtZWRpYS9hdnNhbXBsZTogRml4IHJhY3kgY2xlYW51cCBvZiBDQSBsYXllcgoJICBUaGUgYmxvY2sgdGhhdCBpcyBkaXNwYXRjaGVkIGFzeW5jIHRvIHRoZSBtYWluIHRocmVhZCBhc3N1bWVkIHRoZQoJICB3cmFwcGluZyBHc3RBdlNhbXBsZVZpZGVvU2luayB0byBiZSBhbGl2ZS4gSG93ZXZlciwgYXQgdGhlIHRpbWUgb2YKCSAgdGhlIGJsb2NrIGV4ZWN1dGlvbiB0aGUgR3N0T2JqZWN0IGluc3RhbmNlIHRoYXQgaXMgZGVmZXJlbmNlZCB0byBhY2Nlc3MKCSAgdGhlIENBIGxheWVyIG1pZ2h0IGFscmVhZHkgYmUgZnJlZWQsIHdoaWNoIGNhdXNlZCBvY2Nhc2lvbmFsIGNyYXNoZXMuCgkgIEluc3RlYWQsIHdlIG5vdyBvbmx5IHBhc3MgdGhlIENvcmVBbmltYXRpb24gbGF5ZXIgdGhhdCBuZWVkcyB0byBiZQoJICByZWxlYXNlZCB0byB0aGUgYmxvY2suIFdlIHVzZSBfX2Jsb2NrIHRvIG1ha2Ugc3VyZSB0aGUgYmxvY2sgaXMgbm90CgkgIGluY3JlYXNpbmcgdGhlIHJlZmNvdW50IG9mIHRoZSBDQSBsYXllciBhZ2FpbiBvbiBpdHMgb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDgxCgoyMDE1LTA3LTAyIDE5OjM0OjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3Igc2Vla2luZyBsaXZlIHBpcGVsaW5lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTAyIDE5OjE5OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBNYWtlIHNvdXJjZSBsaXZlIHRvIHJlLWVuYWJsZSBhZ2dyZWdhdG9yIHRpbWVvdXQgdGVzdHMKCSAgVGhlIGxpdmUgbW9kZSBpcyBvbmx5IGVuYWJsZWQgaWYgb25lIG9mIHRoZSBzb3VyY2VzIGlmIGxpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMDIgMTg6Mzc6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IEFkZCBhdWRpb2ludGVybGVhdmUgdGVzdCB0byBzaG93IHRoYXQgcXVldWluZyB3b3JrcwoJICBUaGlzIHRlc3RzIGZhaWxzIHdpdGhvdXQgdGhlIHF1ZXVpbmcgcGF0Y2ggYmVjYXVzZSBpbmNvbWluZyBidWZmZXJzIGFyZQoJICBub3QgZGVsaXZlcmVkIGJlZm9yZSB0aGV5IGFyZSBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMDIgMTg6MzM6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBdm9pZCBjYXBzIHByb2Nlc3NpbmcgaWYgbm90IHlldCBuZWdvdGlhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMTYgMTc6MDY6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBPbiB0aW1lb3V0LCByZXN5bmMgcGFkcyB3aXRoIG5vdCBlbm91Z2ggZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDE5OjUwOjA4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWV1ZSAibGF0ZW5jeSIgYnVmZmVycyBhdCBlYWNoIHNpbmsgcGFkLgoJICBJbiB0aGUgY2FzZSB3aGVyZSB5b3UgaGF2ZSBhIHNvdXJjZSBnaXZpbmcgdGhlIEdzdEFnZ3JlZ2F0b3Igc21hbGxlcgoJICBidWZmZXJzIHRoYW4gaXQgdXNlcywgd2hlbiBpdCByZWFjaGVzIGEgdGltZW91dCwgaXQgd2lsbCBjb25zdW1lIHRoZQoJICBmaXJzdCBidWZmZXIsIHRoZW4gdHJ5IHRvIHJlYWQgYW5vdGhlciBidWZmZXIgZm9yIHRoZSBwYWQuIElmIHRoZQoJICBwcmV2aW91cyBlbGVtZW50IGlzIG5vdCBmYXN0IGVub3VnaCwgaXQgbWF5IGdldCB0aGUgbmV4dCBidWZmZXIgZXZlbgoJICB0aG91Z2ggaXQgbWF5IGJlIHF1ZXVlZCBqdXN0IGJlZm9yZS4gVG8gcHJldmVudCB0aGF0IHJhY2UsIHRoZSBlYXNpZXN0CgkgIHNvbHV0aW9uIGlzIHRvIG1vdmUgdGhlIHF1ZXVlIGluc2lkZSB0aGUgR3N0QWdncmVnYXRvclBhZCBpdHNlbGYuIEl0CgkgIGFsc28gbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBuZWVkIGZvciBzdHJhbmdlIGNvZGUgY2F1c2UgYnkgaW5jcmVhc2luZwoJICB0aGUgbWluIGxhdGVuY3kgd2l0aG91dCBpbmNyZWFzaW5nIHRoZSBtYXggbGF0ZW5jeSBwcm9wb3J0aW9uYWxseS4KCSAgVGhpcyBhbHNvIG1lYW5zIHF1ZXVpbmcgdGhlIHN5bmNocm9uaXplZCBldmVudHMgYW5kIHBvc3NpYmx5IGFjdGluZwoJICBvbiB0aGVtIG9uIHRoZSBzcmMgdGFzay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMTozMjowNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1vdmUgYnJva2VuIF9jbGlwIHZmdW5jCgkgIEl0IG5ldmVyIGRvZXMgYW55dGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMzAgMDg6NTg6NDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEF2b2lkIGNoZWNraW5nIGZvciBOb24gTWFuZGF0b3J5IFZQUyBOQUwKCSAgVlBTIGlzIG5vdCBtYW5kYXRvcnksIGFuZCBuZWVkIG5vdCBjaGVjayBmb3IgaXRzIHByZXNlbmNlIGJlZm9yZSBzZXR0aW5nCgkgIHRoZSBjYXBzLiBCZWNhdXNlIG9mIHRoZSBjaGVjaywgaW4gc3RyZWFtcyB3aGljaCBkb24ndCBoYXZlIFZQUywKCSAgc3RpY2t5IGV2ZW50IG1pc2hhbmRsaW5nIGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MDcKCjIwMTUtMDctMzAgMTU6MzM6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBhc3NlcnRpb24gZXJyb3IgZHVlIHRvIHdyb25nIGNvbmRpdGlvbiBjaGVjawoJICBJbiBtZWRpYSB0byBjYXBzIGZ1bmN0aW9uLCByZXNlcnZlZF9rZXlzIGFycmF5IGlzIGJlaW5nIHVzZWQgZm9yIHZhcmlhYmxlIGksCgkgIGxlYWRpbmcgdG8gR0xpYi1DUklUSUNBTCAqKjogZ19hc2NpaV9zdHJjYXNlY21wOiBhc3NlcnRpb24gJ3MxICE9IE5VTEwnIGZhaWxlZAoJICBjaGFuZ2VkIGl0IHRvIHZhcmlhYmxlIGoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0zMCAxMToxMjoyMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJICBnc3RnbGZpbHRlcmJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICByZXMgaXMgc2V0IG11bHRpcGxlIHRpbWVzIGJ1dCBuZXZlciB1c2VkIG9yIHJldHVybmVkLiBSZW1vdmluZyBpdC4KCjIwMTUtMDctMjkgMjA6MDc6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERlZmF1bHQgdG8gInplcm8iIHN0YXJ0IHRpbWUgc2VsZWN0aW9uIG1vZGUgYXMgZG9jdW1lbnRlZAoKMjAxNS0wNy0yOSAyMDowNjoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSWdub3JlIHRoZSAiZmlyc3QiIG1vZGUgaWYgdGhlIHNlZ21lbnQgbm90IGEgdGltZSBzZWdtZW50CgoyMDE1LTA3LTI5IDE5OjEwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBSZW1vdmUgZGVidWcgb3V0cHV0IGZyb20gZ3N0X2dsX3VwbG9hZF90cmFuc2Zvcm1fY2FwcygpCgkgIFdlIGNhbid0IGtub3cgaWYgdGhlIEdzdEdMVXBsb2FkIHR5cGUgaXMgaW5pdGlhbGl6ZWQgYXQgdGhpcyBwb2ludCBhbHJlYWR5LAoJICBhbmQgdGh1cyBvdXIgZGVidWcgY2F0ZWdvcnkgbWlnaHQgbm90IGJlIGluaXRpYWxpemVkIHlldC4uLiBhbmQgY2F1c2UgYW4KCSAgYXNzZXJ0aW9uIGhlcmUuCgkgIEFzIHdlIGRvbid0IHByaW50IGRlYnVnIG91dHB1dCBmb3IgYW55IG9mIHRoZSBvdGhlciB0cmFuc2Zvcm0gZnVuY3Rpb25zLCBsZXQncwoJICBkZWZlciB0aGlzIHByb2JsZW0gZm9yIG5vdy4KCjIwMTUtMDctMjkgMTc6NDg6NTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSAgZ2xzdGVyZW9taXg6IHJlbW92ZSByZWR1bmRhbnQgaW5pdGlhbGl6YXRpb24KCSAgdiBpcyBpbml0aWFsaXplZCBpbiB0aGUgZm9yIGxvb3AgaW5pdCwgbm8gbmVlZCB0byBkbyBpdCB0d2ljZS4gUmVtb3ZpbmcKCSAgZmlyc3QgaW5pdGlhbGl6YXRpb24uCgoyMDE1LTA3LTI5IDE3OjI5OjI4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBWYWx1ZSBzZXQgdG8gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgbGVhc3Qgb25jZSBhdCB0aGUgZW5kIG9mIHRoZSB3aGlsZQoJICBsb29wLCByZW1vdmluZyBhc3NpZ25tZW50LgoKMjAxNS0wNy0yOSAxNzoyOToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIEdRdWV1ZSBpbnN0ZWFkIG9mIEdMaXN0IHByZXBlbmQvcmV2ZXJzZQoKMjAxNS0wNy0yOSAxNzoxNzoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgYXNzaWdubWVudAoJICBWYWx1ZSBvZiBwIGlzIGFscmVhZHkgc2V0IGJlbG93IGp1c3QgYmVmb3JlIGJlaW5nIHVzZWQuIFJlbW92aW5nIHRoaXMKCSAgZmlyc3QgYXNzaWdubWVudCB0aGF0IHdpbGwgYmUgaWdub3JlZC4KCjIwMTUtMDctMjkgMTY6NTE6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiByZW1vdmUgcmVkdW5kYW50IGNoZWNrCgkgIE5vIG5lZWQgdG8gY2hlY2sgaWYgZG9uZSBpcyBUcnVlIHNpbmNlIGJyZWFrIHdpbGwgYWxyZWFkeSB0ZXJtaW5hdGUgdGhlIGZvcgoJICBsb29wLgoKMjAxNS0wNy0yOSAxMzowOTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IERvbid0IGFzc2VydCBpbiBHc3RBZGFwdGVyIGlmIG5vIGRhdGEgd2FzIHJlY2VpdmVkIGJlZm9yZSBFT1MKCjIwMTUtMDctMjggMjI6MzA6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEFkZCB1bml0IHRlc3RzIGZvciB0aGUgbmV3IGFnZ3JlZ2F0b3Igc3RhcnQtdGltZS1zZWxlY3Rpb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTk2NgoKMjAxNS0wNi0xNSAxODozMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IGhvdyB0byBkZWNpZGUgb24gYSBzdGFydCB0aW1lCgkgIEJlZm9yZSBhZ2dyZWdhdG9yIGJhc2VkIGVsZW1lbnRzIGFsd2F5cyBzdGFydGVkIGF0IHJ1bm5pbmcgdGltZSAwLAoJICBub3cgaXQncyBwb3NzaWJsZSB0byBzZWxlY3QgdGhlIGZpcnN0IGlucHV0IGJ1ZmZlciBydW5uaW5nIHRpbWUgb3IKCSAgZXhwbGljaXRseSBzZXQgYSBzdGFydC10aW1lIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5OTY2CgoyMDE1LTA3LTI5IDExOjI1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogU3RyaXAga2V5cyBmcm9tIHRoZSBmbXRwIHRoYXQgd2UgdXNlIGludGVybmFsbHkgaW4gb3VyIGNhcHMKCSAgU2tpcCBrZXlzIGZyb20gdGhlIGZtdHAsIHdoaWNoIHdlIGFscmVhZHkgdXNlIG91cnNlbHZlcyBmb3IgdGhlCgkgIGNhcHMuIFNvbWUgc29mdHdhcmUgaXMgYWRkaW5nIHJhbmRvbSB0aGluZ3MgbGlrZSBjbG9jay1yYXRlIGludG8KCSAgdGhlIGZtdHAsIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgaGVyZSBzZXQgYSBzdHJpbmctdHlwZWQgY2xvY2stcmF0ZQoJICBpbiB0aGUgY2Fwcy4uLiBhbmQgdGh1cyBmYWlsIHRvIGNyZWF0ZSB2YWxpZCBSVFAgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTI5IDIyOjU5OjU2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBtb3JlIE5BTCB0eXBlcyBmb3IgZGVidWdnaW5nIG91dHB1dC4KCSAgUmVnaXN0ZXIgbW9yZSBOQUwgdW5pdCB0eXBlcyBzbyB0aGF0IHRoZXkgYXJlIGR1bXBlZAoJICBieSBuYW1lIGluIHRoZSBkZWJ1ZyBvdXRwdXQgaW5zdGVhZCBvZiBiZWluZyBsYWJlbGxlZAoJICAnSW52YWxpZCcKCjIwMTUtMDctMjkgMjI6NTc6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBEb24ndCBjbGVhciB0aGUgUElEIG9uIHJlc2V0LgoJICBUaGUgUElEIG9uIGEgcGFkIHNob3VsZG4ndCBjaGFuZ2Ugb24gYSBzdGF0ZSBjaGFuZ2UsIG9ubHkKCSAgaWYgdGhlIHBhZCBpcyBmcmVlZCBhbmQgYSBuZXcgb25lIGNyZWF0ZWQuIENsZWFyaW5nIHRoZSBQSUQKCSAgcHJldmVudGVkIG1wZWd0c211eCBmcm9tIGJlaW5nIHJldXNlZCwgYmVjYXVzZSBhbGwgcGFja2V0cwoJICB3b3VsZCBlbmQgdXAgbXV4ZWQgaW4gUElEIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5OQoKMjAxNS0wNy0yOSAyMjo1NjoyOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEFjY3VtdWxhdGUgc3RyZWFtaGVhZGVycyBpbiByZXZlcnNlCgkgIEFjY3VtdWxhdGUgc3RyZWFtaGVhZGVyIHBhY2tldHMgaW4gcmV2ZXJzZSBpbnRvIHRoZQoJICBHTGlzdCBmb3IgZWZmaWNpZW5jeSwgYW5kIHJldmVyc2UgdGhlIGxpc3Qgb25jZSB3aGVuCgkgIHByb2Nlc3NpbmcuCgkgIEltcHJvdmVzIG11eGluZyBzcGVlZCB3aGVuIHRoZXJlIGFyZSBhIGxvdCBvZgoJICBzdHJlYW1oZWFkZXJzLgoKMjAxNS0wNy0yOSAxMDoxMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IEFsd2F5cyBzZXQgaS1mcmFtZS1pbnRlcnZhbCBzZXR0aW5nCgkgIE1vc3QgZW5jb2RlcnMgZmFpbCB0byBpbml0aWFsaXplIGlmIHdlIGRvbid0IHNldCBpdCBhdCBhbGwuCgoyMDE1LTA3LTI5IDEyOjU2OjU0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY2FwcyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTkxCgoyMDE1LTA3LTI4IDIxOjE1OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWVyeSB0aGUgcGVlciBsYXRlbmN5IGFnYWluIG9uIHRoZSBuZXh0IG9wcG9ydHVuaXR5IGFmdGVyIGEgcGFkIHdhcyBhZGRlZCBvciByZW1vdmVkCgkgIEFkZGluZyBhIHBhZCB3aWxsIGFkZCBhIG5ldyB1cHN0cmVhbSB0aGF0IG1pZ2h0IGhhdmUgYSBiaWdnZXIgbWluaW11bSBsYXRlbmN5LAoJICBzbyB3ZSBtaWdodCBoYXZlIHRvIHdhaXQgbG9uZ2VyLiBPciBpdCBtaWdodCBiZSB0aGUgZmlyc3QgbGl2ZSB1cHN0cmVhbSwgaW4KCSAgd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgdG8gc3RhcnQgZGVhZGxpbmUgYmFzZWQgYWdncmVnYXRpb24uCgkgIFJlbW92aW5nIGEgcGFkIHdpbGwgcmVtb3ZlIGEgbmV3IHVwc3RyZWFtIHRoYXQgbWlnaHQgaGF2ZSBoYWQgdGhlIGJpZ2dlc3QKCSAgbGF0ZW5jeSwgc28gd2UgY2FuIG5vdyBzdG9wIHdhaXRpbmcgYSBiaXQgZWFybGllci4gT3IgaXQgbWlnaHQgYmUgdGhlIGxhc3QKCSAgbGl2ZSB1cHN0cmVhbSwgaW4gd2hpY2ggY2FzZSB3ZSBjYW4gc3RvcCBkZWFkbGluZSBiYXNlZCBhZ2dyZWdhdGlvbi4KCjIwMTUtMDctMjggMTE6MjA6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydC10ZXN0OiBUZXN0IG5vdGlmeSBmdW5jdGlvbiBmb3Igc2V0dXBfd3JhcHBlZAoJICBnc3RfZ2xfbWVtb3J5X3NldHVwX3dyYXBwZWQoKSBub3cgdGFrZXMgYSBkZXN0cm95IG5vdGlmeSBmdW5jdGlvbi4gVGhpcwoJICBkZXN0cm95IG5vdGlmeSBpcyBjYWxsZWQgdG8gdHJhY2sgdGhlIG1lbW9yeSBsaWZlIHRpbWUsIGhlbmNlIHdpbGwKCSAgbm90aWZ5IGVhY2ggdGltZSBhIG1lbW9yeSBnZXQgZGVzdHJveWVkLiBUaGlzIHRlc3QgY2hlY2sgdGhhdCB0aGUKCSAgY2FsbGJhY2sgY291bnQgaXMgY29ycmVjdC4KCjIwMTUtMDctMjggMTE6MDY6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydC10ZXN0OiBGaXggYnVpbGQKCjIwMTUtMDctMjggMDg6NTk6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBBZGQgZml4bWUgYWJvdXQgdXNpbmcgYnVmZmVycG9vbCBmb3IgcmF3CgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkzNwoKMjAxNS0wNy0yNyAxNjo1ODoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEtlZXAgaW5wdXQgZnJhbWUgbWFwcGVkIGFzIGxvbmcgYXMgbmVlZGVkCgkgIFdoZW4gcGVyZm9ybWluZyBhIHJhdyB1cGxvYWQsIHdlIG5lZWQgdG8ga2VlcCB0aGUgcmF3IGRhdGEgbWFwcGVkIGFzCgkgIGxvbmcgYXMgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTM3CgoyMDE1LTA3LTI3IDE1OjU4OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgUmV2ZXJ0ICJnbHVwbG9hZDogbWVtY3B5IG9uIHJhdyBkYXRhIHVwbG9hZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4MmMwMTg5YjI4NDJlODcyOWU4MmE0ZTczNDkxZGZmYzk3N2JjN2MyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTM3CgoyMDE1LTA3LTE1IDE2OjIxOjAwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX2R1cmF0aW9uIHNldHMgZGVmYXVsdCB2YWx1ZSBpbiBjYXNlIG9mIHBhcnNpbmcgZXJyb3JzCgkgIFRoZSBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF9kdXJhdGlvbiBmdW5jdGlvbiB3aWxsIHNldCB0aGUKCSAgcHJvcGVydHlfdmFsdWUgdG8gdGhlIGRlZmF1bHRfdmFsdWUgaW4gY2FzZSB0aGUgcGFyc2luZyBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyNgoKMjAxNS0wNy0yNyAxODozOToxMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJICBvcHVzY29tbW9uOiBVc2UgR1N0cmluZyBpbnN0ZWFkIG9mIHNucHJpbnRmIGZvciBjb25jYXRpbmcKCSAgU2FmZXIsIGVhc2llciB0byB1bmRlcnN0YW5kLCBhbmQgbW9yZSBwb3J0YWJsZS4gQWxzbywgc2tpcAoJICBhbGwgdGhpcyBpZiB0aGUgbG9nIGxldmVsIGlzIHRvbyBsb3cuCgoyMDE1LTA3LTI3IDIxOjU0OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJICBnbGNvbnRleHQvd2dsOiBmaXggZGVmZW5pdGlvbiBvZiBnc3RfZ2xfY29udGV4dF93Z2xfbmV3CgkgIGdzdGdsY29udGV4dF93Z2wuYzogSW4gZnVuY3Rpb24gJ2dzdF9nbF9jb250ZXh0X3dnbF9uZXcnOgoJICBnc3RnbGNvbnRleHRfd2dsLmM6ODM6NDA6IGVycm9yOiAnZGlzcGxheScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCgoyMDE1LTA3LTI3IDIwOjAzOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkgIGdsL2NvY29hOiBmaXggZGVmaW5pdGlvbiBvZiBnc3RfZ2xfY29udGV4dF9uZXcKCSAgZ3N0Z2xjb250ZXh0X2NvY29hLm06NzU6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZ3N0X2dsX2NvbnRleHRfY29jb2FfbmV3JwoKMjAxNS0wNy0yNyAyMDowMDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBmaXggZGVmaW5pdGlvbiBvZiBnc3RfZ2xfd2luZG93X3dpbjMyX25ldwoKMjAxNS0wNy0yNyAxODoyMToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgd2F5bGFuZDogZmFpbCB3aW5kb3cgb3BlbiBpZiB0aGUgZGlzcGxheSBpcyB0aGUgY29ycmVjdCB0eXBlCgkgIEVycm9ycyBvdXQgY2xlYW5seSBpZiBhIHdheWxhbmQgY29tcG9zaXRvciBpcyBub3QgcnVubmluZwoKMjAxNS0wNy0yNCAxNzowMDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBwYXNzIGRpc3BsYXkgdG8gaW1wbGVtZW50YXRpb24ncyBfbmV3KCkKCSAgU28gdGhleSBoYXZlIHRvIG9wcG9ydHVuaXR5IHRvIGZhaWwgaWYgdGhleSBjYW5ub3QgaGFuZGxlIHRoZQoJICBkaXNwbGF5IGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NDMKCjIwMTUtMDctMjQgMTY6MTE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2xjb250ZXh0OiBwYXNzIGRpc3BsYXkgdG8gaW1wbGVudGF0aW9uJ3MgX25ldygpCgkgIFRoaXMgYWxsb3dzIHRoZSBjb250ZXh0IHRvIGZhaWwgY3JlYXRpb24gYmFzZWQgb24gaW5jb21wYXRpYmxlCgkgIGRpc3BsYXkgdHlwZSdzLiBlLmcuIGdseCBjb250ZXh0IHdpdGggYW4gd2F5bGFuZCBkaXNwbGF5IGhhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0wNiAwMDo1MjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHN1cHBvcnQgY2dsLCBlZ2wgYW5kIGdseCB3aXRoaW4gYSBzYW1lIGJ1aWxkCgkgIE9uIG9zeCwgd2l0aCB0aGUgc2FtZSBidWlsZCwKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsgd29ya3Mgd2l0aDoKCSAgR1NUX0dMX1BMQVRGT1JNPWVnbCBHU1RfR0xfV0lORE9XPXgxMSBHU1RfR0xfQVBJPWdsZXMyCgkgIEdTVF9HTF9QTEFURk9STT1lZ2wgR1NUX0dMX1dJTkRPVz14MTEgR1NUX0dMX0FQST1vcGVuZ2wKCSAgR1NUX0dMX1BMQVRGT1JNPWdseCBHU1RfR0xfV0lORE9XPXgxMSBHU1RfR0xfQVBJPW9wZW5nbAoJICBHU1RfR0xfUExBVEZPUk09Y2dsIEdTVF9HTF9XSU5ET1c9Y29jb2EgR1NUX0dMX0FQST1vcGVuZ2wKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hIEdTVF9HTF9BUEk9b3BlbmdsMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTI3IDE2OjM2OjQwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ2hlY2sgdGhhdCBjYXBzIGNvbnRhaW4gZGVzaXJlZCBjYXBzIGZlYXR1cmVzCgkgIFVzZSAnY29udGFpbnMnIGNoZWNrcyBpbnN0ZWFkIG9mIGVxdWFsaXR5IGNoZWNrcyBvbiBjYXBzIGZlYXR1cmVzCgkgIHRvIGFsbG93IGZvciB1cGxvYWRpbmcgd2hlbiBjYXBzIGFsc28gY29udGFpbiBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbgoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTEyCgoyMDE1LTA3LTI1IDA5OjAzOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IEFkZCBidWlsdCBzb3VyY2VzIHRvIENMRUFORklMRVMKCjIwMTUtMDctMjAgMTA6NTA6NDQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhaGRlbXV4OiBhdm9pZCBvdmVyZmxvd3MgaW4gY29tcHV0YXRpb24gb2Ygc2VnbWVudCBzdGFydCB0aW1lIGFuZCBkdXJhdGlvbgoJICBVc2VkIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSB0byBhdm9pZCBvdmVyZmxvd3Mgd2hlbiBzZWdtZW50IHN0YXJ0IHRpbWUKCSAgb3IgZHVyYXRpb24gaXMgY29tcHV0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MjAKCjIwMTUtMDctMTMgMTU6Mzc6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZGVtb3RlIGVycm9yIHRvIHdhcm5pbmcKCSAgSXQgaXMgbm90IGZhdGFsIGFuZCBjYW4gYmUgcXVpdGUgbm9ybWFsIHdoZW4gdGhlIG5ldHdvcmsgaXMKCSAgdG9vIHNsb3cKCjIwMTUtMDctMjQgMDk6NDI6NTMgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBkbyBub3QgY2hlY2sgaW5wdXQgYnVmZmVycwoJICBXaXRoIHRoaXMgd2UgYXZvaWQgYW4gdW5uZWNlc3NhcnkgYW5kIGNvbnNpZGVyYWJsZSBvdmVyaGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NAoKMjAxNS0wNy0wNiAwMDo0NTo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBtb3ZlIEdMX05VTV9FWFRFTlNJT05TIGRlZmluaXRpb24gYWZ0ZXIgZ2wuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTIzIDIzOjU5OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogcmVtb3ZlIHVudXNlZCBsYWJlbCBjb250ZXh0X2NyZWF0aW9uX2Vycm9yCgkgIEJ1aWxkIGVycm9yIGludHJvZHVjZWQgYnkgY29tbWl0CgkgIDU0NTdlNTVmMjU1NTE4ZDY3OWI1OWExNzA5NTFlMjk5ZWNkOGM1ZjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yNCAwMjo0NjoyMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvbid0IGRpc2NhcmQgZmlyc3QgQVUgZGVsaW1pdGVyCgkgIERvbid0IHRocm93IGF3YXkgQVUgZGVsaW1pdGVyKHMpIHRoYXQgcHJlY2VkZSB0aGUgU1BTL1BQUy4gU2hvdWxkCgkgIGZpeCBNUEVHLVRTIHBsYXliYWNrIG9uIGlPUy9RdWlja3RpbWUgd2hlbiBtdXhpbmcgc3RyZWFtcyB0aGF0CgkgIGFscmVhZHkgaGF2ZSBBVSBkZWxpbWl0ZXJzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjIxMyBmb3IgZ2V0dGluZwoJICBoMjY0cGFyc2UgdG8gaW5zZXJ0IEFVIGRlbGltaXRlcnMgd2hlbiB0aGV5IGRvbid0IGFscmVhZHkKCSAgZXhpc3QuCgoyMDE1LTA3LTIzIDExOjE4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggYWxsb2NhdGlvbiBtZXRhIHN0cnVjdHVyZSBsZWFrCgkgIGdzdF9xdWVyeV9hZGRfYWxsb2NhdGlvbl9tZXRhKCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAKCSAgb2YgdGhlIHN0cnVjdHVyZSwgZm9yIHNvbWUgcmVhc29uLgoJICBDSUQgMTMxMjEzNQoKMjAxNS0wNy0yMyAxMDo1NzoyNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IG1lbW9yeSBsZWFrCgkgIEdzdENhcHNGZWF0dXJlcyBuZWVkIHRvIGJlIGZyZWVkIHdpdGggZ3N0X2NhcHNfZmVhdHVyZXNfZnJlZSgpIGFmdGVyIHVzZS4KCSAgQ0lEICMxMzEyMTM2LCBDSUQgIzEzMTIxMzYKCjIwMTUtMDctMDIgMjA6MTA6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogQWRkIEdzdENvbnRyb2xCaW5kaW5nIHByb3h5CgkgIFRoaXMgaXMgdXNlZCB0byBwcm94eSBHc3RDb250cm9sQmluZGluZyB0byB0aGUgcGFkIG9uIHRoZQoJICBwYXJlbnQgb2JqZWN0LiBUaGlzIGF2b2lkIGhhdmluZyB0byBzeW5jIHRoZSB2YWx1ZXMgaW4gdGhlIHByb3h5IHBhZCwKCSAgdGhpcyBpcyB0b28gZWFybHkgaWYgeW91IGhhdmUgYSBxdWV1ZSBiZXR3ZWVuIHRoZSBwYWQgYW5kIHRoZSBhY3R1YWwKCSAgYWdncmVnYXRpb24gb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDYwCgoyMDE1LTA3LTIyIDE5OjI3OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogUmVnaXN0ZXIgZnVuY3Rpb24gbmFtZQoJICBPdGhlcndpc2UsIGl0IHNvbWV0aW1lcyBzZWdmYXVsdHMgd2l0aCBkZWJ1Z2dpbmcgZW5hYmxlZAoKMjAxNS0wNy0yMiAxOToyNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFVzZSAxLjAgc3R5bGUgYnVmZmVyIGFsbG9jYXRpb24KCjIwMTUtMDctMjIgMTY6NTg6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IEZvcndhcmQgY29tcG9zaXRpb24gbWV0YSBldmVuIHdpdGhvdXQgcGFyYW1zCgkgIFdoZW4gdGhlIHNpbmsgZG9lcyBub3Qga25vdyB0aGUgd2luZG93IHNpemUgKGUuZyBub3QgY3JlYXRlZCB5ZXQpCgkgIGl0IHdpbGwgbm90IGFkZCBhbnkgcGFyYW0gdG8gdGhlIHRoZSBjb21wb3NpdGlvbiBtZXRhLiBUaGlzIGlzIG5vCgkgIHJlYXNvbiBub3QgdG8gZm9yd2FyZCB0aGlzIG1ldGEgQVBJLiBGaXhlcyBpc3N1ZSB3aGVyZSBpdCBjb3VsZCBub3QKCSAgYXR0YWNoIHVudGlsIHdlIHJlc2l6ZSB0aGUgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDE1OjU2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBLZWVwIG1lbW9yeSBwb2ludGVyIGFsaXZlCgkgIEtlZXAgdGhlIGNvbXBvc2l0aW9uIG1lbW9yeSBwb2ludGVyIGFsaXZlIHdoaWxlIGl0J3MgYmVpbmcKCSAgd3JhcHBlZCBpbnNpZGUgYSBHc3RHTE1lbW9yeSBvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTQ6MTc6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IFBhc3MgYnVmZmVyIHN0cmlkZQoJICBUaGUgb3ZlcmxheSBwaXhlbCBidWZmZXIgc3RyaWRlIHdhcyBub3QgZ2l2ZW4gYmFjawoJICB0byB0aGUgR0wgaW1hZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDUtMTkgMTY6MDg6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFN5bmMgcGFkIHZhbHVlcyBiZWZvcmUgYWdncmVnYXRpbmcKCSAgV2UgbmVlZCB0byBzeW5jIHRoZSBwYWQgdmFsdWVzIGJlZm9yZSB0YWtpbmcgdGhlIGFnZ3JlZ2F0b3IgYW5kIHBhZCBsb2NrcwoJICBvdGhlcndpc2UgdGhlIGVsZW1lbnQgd2lsbCBqdXN0IGRlYWRsb2NrIGlmIHRoZXJlJ3MgYW55IHByb3BlcnR5IGNoYW5nZXMKCSAgc2NoZWR1bGVkIHVzaW5nIEdzdENvbnRyb2xsZXIgc2luY2UgdGhhdCBpbnZvbHZlcyB0YWtpbmcgdGhlIGFnZ3JlZ2F0b3IgYW5kIHBhZAoJICBsb2Nrcy4KCSAgQWxzbyBhZGQgYSB0ZXN0IGZvciB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTc0CgoyMDE1LTA3LTIyIDE0OjA1OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBIaWRlIEdzdENvbXBzaXRpb25PdmVybGF5IG9iamVjdAoJICBUaGlzIG9iamVjdCBpcyBvbmx5IHVzZWQgaW5zaWRlIHRoZSBjb21wb3NpdG9yIGFuZCBkb2VzIG5vdAoJICBuZWVkIHRvIGJlIGV4cG9zZSBpbiBsaWJnc3RnbCBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTM6MzM6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgbGliZ3N0Z2w6IE1ha2VmaWxlIHN0eWxlIGZpeAoKMjAxNS0wNy0yMSAyMzo0ODoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBjb21wb3NpdGlvbi1vdmVybGF5OiBQb3NpdGlvbnMgYXJlIHJlbGF0aXZlIHRvIHRleHR1cmUKCSAgVGhlIGNvb3JkaW5hdGUgYXJlIHJlbGF0aXZlIHRvIHRoZSB0ZXh0dXJlIGRpbWVuc2lvbiBhbmQgbm90CgkgIHRoZSB3aW5kb3cgZGltZW5zaW9uIG5vdy4gVGhlcmUgaXMgbm8gbmVlZCB0byBwYXNzIHRoZSB3aW5kb3cKCSAgZGltZW5zaW9uIG9yIHRvIHVwZGF0ZSB0aGUgb3ZlcmxheSBpZiB0aGUgZGltZW5zaW9uIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjEgMjE6Mjc6NDUgLTA0MDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBDcmVhdGUgb3duIHNoYWRlciBvYmplY3QKCSAgTWFrZSBnbG92ZXJsYXljb21wb3NpdG9yIGluZGVwZW5kZW50IG9mIHRoZSBzaGFkZXIgdXNlZCBpbiB0aGUgc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMSAxODo0Nzo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBQcm9wZXJseSBoYW5kbGUgY29tcHNvc2l0b3IgbGlmZSB0aW1lCgkgIFNob3VsZCBiZSBjcmVhdGVkIGluIFJFQURZX1RPX1BBVVNFRCwgbm90IFBBVVNFRF9UT19QTEFZSU5HLgoJICBTaG91bGQgYmUgY2xlYXJlZCBpbiBQQVVTRURfVE9fUkVBRFkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTY6MTA6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZQoJICByZXQgaXMgZGVjbGFyZWQganVzdCB0byBpbml0aWFsaXplIHRvIFRSVUUgYW5kIG92ZXJ3cml0ZSB3aXRoIHRoZSB2YWx1ZSBvZgoJICB2cmV0LiBXZSBjYW4gcmV0dXJuIHRoZSB2YWx1ZSBvZiB2cmV0IGRpcmVjdGx5LiB2cmV0IGlzIFRSVUUgdW5sZXNzIHRoZQoJICBmb3J3YXJkX2V2ZW50X2Z1bmMgc2V0cyBpdCB0byBGQUxTRS4KCjIwMTUtMDctMjIgMTU6MTM6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBEb24ndCBkaXN0IGZpbGVzIHRoYXQgbWlnaHQgbm90IGV4aXN0CgkgIFdlIG9ubHkgcmVxdWlyZSBtb2MgYnVpbGRpbmcgYXQgYnVpbGQgdGltZS4KCjIwMTUtMDctMjIgMTU6NTA6MjYgKzA5MDAgIFlvdW5nIEhhbiBMZWUgPHkubGVlQGxnZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBsaWJ4bWwyID49IDIuOCBmb3IgREFTSCBwbHVnaW4KCSAgVGhlIERBU0ggcGx1Z2luIHVzZXMgeG1sQnVmZmVyRGV0YWNoIG5vdyBpbiB0aGUgY29kZQoJICB0aGF0IGhhbmRsZXMgQ29udGVudFByb3RlY3Rpb24gZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3MDMKCjIwMTUtMDctMjIgMDg6MDU6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBUaWR5IHVwIG1ha2VmaWxlIGEgYml0IG1vcmUKCSAgU2VwYXJhdGUgZ2VuZXJhdGVkIGZpbGVzLCBmcm9tIGRpc3RlZCBmaWxlcwoKMjAxNS0wNy0yMSAyMDo1MjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFJlYWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiB3aXRoIGxvY2sgaGVsZAoKMjAxNS0wNy0yMSAxMToyMzoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdzdGdsd2lkZ2V0OiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgQWxzbyBoYW5kbGUgdGhlIGZhaWx1cmUgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxMToyODowOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTIxIDExOjIxOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkgIGdsc3RlcmVvc3BsaXQ6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBBbHNvIHVubG9jayB0aGUgbG9jayBvbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxNDoxMDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcmV0dXJuIGZhbHNlIGlmIGV2ZW50IGNvdWxkbid0IGJlIHB1c2hlZAoJICBNYWtlIHRoZSBnc3QgcGFkJ3MgZXZlbnQgZnVuY3Rpb24gcmV0dXJuIGZhbHNlIGlmIHRoZSBldmVudCBjb3VsZG4ndCBiZQoJICBwdXNoZWQgdG8gdGhlIHBhZC4KCjIwMTUtMDctMjEgMTM6MTE6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBmb3IgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM5OSBtb2RlCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE1LTA2LTE5IDExOjU3OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dCBpbiBtb3JlIGVsZW1lbnRzLgoJICBnbGJhc2VmaWx0ZXIsIGdsYmFzZW1peGVyIGFuZCBnbHRlc3RzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTc6MzQ6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2wvYnVpbGQ6IGZpeCB0eXBvIGluIF9IRUFERVJTIHJlc3VsdGluZyBpbiBpbnN0YWxsaW5nIHRoZSB3cm9uZyBmaWxlCgkgIC91c3IvaW5jbHVkZS9nc3RyZWFtZXItMS4wL2dzdC9nbC9nbC5oOjUxOjQzOiBmYXRhbCBlcnJvcjoKCSAgZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKMjAxNS0wNy0yMSAxNTozOTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBhZGQgUkdCIHRvIE5WMTIvTlYyMSBjb252ZXJzaW9uCgoyMDE1LTA3LTAxIDE0OjAxOjQ1ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFNlbmQgcmVjb25maWd1cmUgZXZlbnQgd2hlbiB3aW5kb3cgc2l6ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjAgMTQ6MjQ6MjIgLTA0MDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsaW1hZ2VzaW5rYmluOiBBZGQgYWxsb2NhdGlvbiBxdWVyeSBmb3IgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24KCSAgQWRkcyBhbiBHU1RfVklERU9fT1ZFUkxBWV9DT01QT1NJVElPTl9NRVRBX0FQSV9UWVBFIHF1ZXJ5IHRvIGdsdXBsb2FkCgkgIGFuZCBnbGltYWdlc2luay4gIERldGVjdHMgdGhlIHF1ZXJ5IGZyb20gdGhlIGRvd25zdHJlYW0gZWxlbWVudHMsIHNvCgkgIGl0IGlzIGV4ZWN1dGVkIG9ubHkgd2hlbiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBvdmVybGF5IEFQSS4KCSAgVGhpcyBtYWtlcyBwaXBlbGluZXMgd2l0aCB0ZXh0b3ZlcmxheSAhIGdsdXBsb2FkICEgZ2xkb3dubG9hZCAhIHh2aW1hZ2VzaW5rIHBvc3NpYmxlLgoJICBVc2VzIGFsbG9jYXRpb24gbWV0YSBzdHJ1Y3QgZm9yIHBhc3NpbmcgdGhlIHdpbmRvdyBzaXplIHVwc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA0LTIwIDEzOjE3OjA5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEFwcGx5IEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBidWZmZXIgdG8gY29udmVydGVkIGJ1ZmZlcgoJICBTaW5jZSBnbGNvbG9yY29udmVydCBjcmVhdGVzIGEgbmV3IEdzdEJ1ZmZlciwKCSAgd2l0aG91dCB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIGRhdGEsCgkgIGl0IG5lZWRzIHRvIGJlIGNvcGllZCB0byBub3QgYmUgZHJvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAxMzozNDo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBEZXRlY3Qgb3ZlcmxheSBtZXRhIGJ1ZmZlcnMgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMDU6NDM6NTAgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsaW1hZ2VzaW5rYmluOiBBZGQgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIGNhcHMgZmVhdHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAwNjowNDozNyArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogVXBsb2FkIGFuZCBkcmF3IG92ZXJsYXlzIHdpdGggR3N0R0xPdmVybGF5Q29tcG9zaXRvcgoJICBSZWNlaXZlcyB0aGUgR3N0T3ZlcmxheUNvbXBvc2l0aW9uIGJ1ZmZlciBpbiB0aGUgZ2xpbWFnZXNpbmsgYW5kIGRyYXdzIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMzAgMTc6NTk6MTIgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQWRkIEdzdEdMT3ZlcmxheUNvbXBvc2l0b3IgY2xhc3MKCSAgTWFuYWdlcyB0aGUgR3N0R0xDb21wb3NpdGlvbk92ZXJsYXkgb2JqZWN0cywKCSAgY2FjaGVzIGFscmVhZHkgdXBsb2FkZWQgb3ZlcmxheXMgYW5kIGRyYXdzIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMTQ6MTU6MDEgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJICBnbGNvbXBvc2l0aW9ub3ZlcmxheTogQWRkIGNvbXBhdGliaWxpdHkgZm9yIEdMIGNvbnRleHRzIHdpdGhvdXQgZ2xHZW5WZXJ0ZXhBcnJheXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xMyAxNTozNTo0NyArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuaDoKCSAgZ2xjb21wb3NpdGlvbm92ZXJsYXk6IEFkZCBjbGFzcyBmb3IgbWFuYWdpbmcgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25PdmVybGF5IGJ1ZmZlcnMKCSAgQWRkIGEgY2xhc3MgdG8gc3RvcmUgYW5kIG1hbmFnZSB0aGUgT3BlbkdMIHRleHR1cmUsCgkgIHZlcnRleCBidWZmZXIgYW5kIEdzdFZpZGVvT3ZlcmxheVJlY3RhbmdsZS4KCSAgVHJhbnNmb3JtcyBvdmVybGF5IGNvb3JkaW5hdGUgc3BhY2UgdG8gdmVydGV4IGJ1ZmZlciBzcGFjZSB3aXRoIGFzcGVjdCByYXRpb3MgaW4gbWluZC4KCSAgPSBFeGFtcGxlIFBpcGVsaW5lcyA9CgkgIFNpbXBsZSBwaXBlbGluZQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9IkhlbGxvIFdvcmxkIiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIGdsaW1hZ2VzaW5rCgkgIERpc3BsYXkgMyBzdGF0aWMgb3ZlcmxheXMgYXQgZGlmZmVyZW50IHBvc2l0aW9ucwoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9InRleHQxIiB2YWxpZ25tZW50PSJ0b3AiIGZvbnQtZGVzYz0ic2FucyBib2xkIDMwIiAhIFwKCSAgdGV4dG92ZXJsYXkgdGV4dD0idGV4dDIiIGhhbGlnbm1lbnQ9InJpZ2h0IiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9InRleHQzIiBoYWxpZ25tZW50PSJsZWZ0IiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIGdsaW1hZ2VzaW5rCgkgIERpc3BsYXkgc3VidGl0bGUgZmlsZSBvdmVyIHRlc3RzcmMKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgXAoJICB0ZXh0b3ZlcmxheSBuYW1lPWZvbyBmaWxlc3JjIGxvY2F0aW9uPWZvby5zcnQgISBzdWJwYXJzZSAhIHF1ZXVlICEgZm9vLiBmb28uICEgXAoJICBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDExOjMzOjI5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IE1vdmUgZGVidWcgaW5pdCB0byB0b3Agb2YgdGhlIGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNC0yMCAxNTowNDo1NiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IEZpeCBQTEMgZnJhbWUgc2l6ZSBjYWxjdWxhdGlvbnMKCSAgUHJldmlvdXNseSwgUExDIGZyYW1lcyBhbHdheXMgaGFkIGEgbGVuZ3RoIG9mIDEyMG1zLCB3aGljaCBjYXVzZWQgYXVkaW8KCSAgcXVhbGl0eSBkZWdyYWRhdGlvbiBhbmQgc3luY2hyb25pemF0aW9uIGVycm9ycy4gRml4IHRoaXMgYnkgY2FsY3VsYXRpbmcgYW4KCSAgYXBwcm9wcmlhdGUgbGVuZ3RoIGZvciB0aGUgUExDIGZyYW1lLgoJICBUaGUgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyLjVtcy4gQ2FsY3VsYXRlIGEgbXVsdGlwbGUgb2YgMi41bXMgdGhhdAoJICBpcyBuZWFyZXN0IHRvIHRoZSBjdXJyZW50IFBMQyBsZW5ndGguIEFueSBsZWZ0b3ZlciBQTEMgbGVuZ3RoIHRoYXQgZGlkbid0CgkgIG1ha2UgaXQgaW50byB0aGlzIGZyYW1lIGlzIGFjY3VtdWxhdGVkIGZvciB0aGUgbmV4dCBQTEMgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNjcKCjIwMTUtMDctMTggMjE6MTg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgkgIE5vIG5lZWQgZm9yIGEgZm9yZWFjaCBjYWxsYmFjayBmdW5jdGlvbiB0aGF0J3MganVzdCBhIGZldwoJICBsaW5lcyBvZiBjb2RlIGFuZCBpcyBvbmx5IHVzZWQgb25jZSwganVzdCBkbyB0aGUgZXZlbnQKCSAgcHVzaGluZyBpbmxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTEKCjIwMTUtMDItMDYgMTM6MjI6MTQgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgUHJvdGVjdGlvbiBldmVudHMgZnJvbSBDb250ZW50UHJvdGVjdGlvbiBlbGVtZW50cwoJICBJZiBhIENvbnRlbnRQcm90ZWN0aW9uIGVsZW1lbnQgaXMgcHJlc2VudCBpbiBhbiBBZGFwdGF0aW9uU2V0IGVsZW1lbnQsCgkgIHNlbmQgUHJvdGVjdGlvbiBldmVudHMgb24gdGhlIHNvdXJjZSBwYWQsIHNvIHRoYXQgcXRkZW11eCBjYW4gdXNlIHRoaXMKCSAgaW5mb3JtYXRpb24gdG8gY29ycmVjdGx5IGdlbmVyYXRlIGl0cyBzb3VyY2UgY2FwcyBmb3IgREFTSCBDRU5DCgkgIGVuY3J5cHRlZCBzdHJlYW1zLgoJICBUaGlzIGFsbG93cyBxdGRlbXV4IHRvIHN1cHBvcnQgQ0VOQyBlbmNyeXB0ZWQgREFTSCBzdHJlYW1zIHdoZXJlIHRoZQoJICBjb250ZW50IHByb3RlY3Rpb24gc3BlY2lmaWMgaW5mb3JtYXRpb24gaXMgY2FycmllZCBpbiB0aGUgTVBEIGZpbGUKCSAgcmF0aGVyIHRoYW4gaW4gcHNzaCBib3hlcyBpbiB0aGUgaW5pdGlhbGlzYXRpb24gc2VnbWVudHMuCgkgIFRoaXMgY29tbWl0IGFkZHMgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGFkYXB0aXZlZGVtdXggYmFzZSBjbGFzcyB0byBhbGxvdwoJICBhIEdzdEV2ZW50IHRvIGJlIHF1ZXVlZCBmb3IgYSBzdHJlYW0uIFRoZSBxdWV1ZSBvZiBldmVudHMgYXJlIHNlbnQgdGhlCgkgIG5leHQgdGltZSBhIGJ1ZmZlciBpcyBwdXNoZWQgZm9yIHRoYXQgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkxCgoyMDE1LTA3LTIwIDEyOjQwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBmaXggb3V0cHV0IGNhcHMgZm9yIHN0cmVhbS1mb3JtYXQ9QURUUwoJICBTaG91bGQgaGF2ZSBmcmFtZWQ9dHJ1ZSBpbiBjYXBzLiBGaXhlcyB2b2FhY2VuYyAhIG1wZWd0c211eC4KCjIwMTUtMDctMjAgMTI6Mzg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBhYWMgY2FwcyBpbiBwYWQgdGVtcGxhdGUgZm9yIHJhdyBhYWMKCSAgUmF3IGFhYyBkb2Vzbid0IG5lZWQgZnJhbWVkPXRydWUuCgkgIEZpeGVzIG5vdC1uZWdvdGlhdGVkIGVycm9yIHdpdGggdm9hYWNlbmMgISBtcGVndHNtdXguCgoyMDE1LTA3LTIwIDExOjA5OjIwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogTG9nIEdESyBHTCBlcnJvciB3aGVuIGZhaWxsaW5nIGNyZWF0aW5nIEdka0dMQ29udGV4dAoKMjAxNS0wNy0yMCAxODoxOTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBjaGVjayBmb3IgcGJvIGF2YWlsYWJpbGl0eSBiZWZvcmUgYXR0ZW1wdGluZyBwYm8gZG93bmxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE2NQoKMjAxNS0wNy0xOCAxNzoxOToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCBnZXRfY3VycmVudF9nbF9hcGkgb24geDExL252aWRpYSBkcml2ZXJzCgkgIFRoZXkgcmVxdWlyZSB0byBnZXRfcHJvY19hZGRyZXNzIHNvbWUgZnVuY3Rpb25zIHRocm91Z2ggdGhlCgkgIHBsYXRmb3JtIHNwZWNpZmljIHtnbFgsZWdsfUdldFByb2NBZGRyZXNzIHJhdGhlciB0aGFuIHRoZSBkZWZhdWx0CgkgIEdMIGxpYnJhcnkgc3ltYm9sIGxvb2t1cC4KCjIwMTUtMDctMTggMTc6MDg6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2xjb250ZXh0OiBjb25zb2xpZGF0ZSBnZXRfcHJvY19hZGRyZXNzIGZ1bmN0aW9uIGRlZmluaXRpb24KCSAgUGFzcyB0aGUgR3N0R0xBUEkgZGlyZWN0bHkuCgoyMDE1LTA3LTE3IDE3OjQ3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0ZWxlbWVudDogcHJvcGFnYXRlIGZhaWx1cmUgdG8gY29udmVydCBidWZmZXIgdXBzdHJlYW0KCSAgUmF0aGVyIHRoYW4ganVzdCBzaWxlbnRseSBjb250aW51aW5nCgoyMDE1LTA3LTE3IDEzOjQ4OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0L2dseDogdHJ5IGNyZWF0aW5nIGEgY29udGV4dCB3aXRoIHRoZSBoaWdoZXN0IHZlcnNpb24KCSAgbnZpZGlhIGRyaXZlcnMgcmV0dXJuIHRoZSBleGFjdCB2ZXJzaW9uIGluIGdsR3N0U3RyaW5nIChHTF9WRVJTSU9OKQoJICB3ZSByZXF1ZXN0IG9uIGNyZWF0aW9uIHNvIHN0YXJ0IHdpdGggdGhlIGhpZ2hlc3Qga25vd24gdmVyc2lvbiBhbmQKCSAgd29yayBvdXIgd2F5IGRvd24uCgoyMDE1LTA3LTE2IDAwOjM3OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogdHJhY2sgc2hhcmVkbmVzcyB3aXRoIGEgY29va2llCgkgIFRoZSBwcmV2aW91cyBhcHByb2FjaCBvZiB0cmF2ZXJzaW5nIHRoZSBvdGhlcl9jb250ZXh0IHdlYWsgcmVmIHRyZWUgd2FzCgkgIDEuIExlc3MgcGVyZm9ybWFudAoJICAyLiBJbmNvcnJlY3QgZm9yIGNvbnRleHQgZGVzdHJ1Y3Rpb24gcmVtb3ZpbmcgYSBsaW5rIGluIHRoZSB0cmVlCgkgIEV4YW1wbGUgb2YgMjoKCSAgYzEgPSBjb250ZXh0X2NyZWF0ZSAoTlVMTCkKCSAgYzIgPSBjb250ZXh0X2NyZWF0ZSAoYzEpCgkgIGMzID0gY29udGV4dF9jcmVhdGUgKGMyKQoJICBjb250ZXh0X2Nhbl9zaGFyZSAoYzEsIGMzKSA9PSBUUlVFCgkgIGNvbnRleHRfZGVzdHJveSAoYzIpCgkgIHVucmVmIChjMikKCSAgY29udGV4dF9jYW5fc2hhcmUgKGMxLCBjMykgcmV0dXJucyBGQUxTRSB3aGVuIGl0IHNob3VsZCBiZSBUUlVFIQoJICBUaGlzIGRvZXMgbm90IHJlbW92ZSB0aGUgcmVzdHJpY3Rpb24gdGhhdCBjb250ZXh0IHNoYXJlZG5lc3MgY2FuIG9ubHkKCSAgYmUgdHJhY2tlZCBiZXR3ZWVuIEdzdEdMQ29udGV4dCdzLgoKMjAxNS0wNy0xNiAwMDozMzoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHVzZSB0aGUgZGVidWcgb2JqZWN0IHZhcmlhbnQgZm9yIGNvbXBsZXRlbmVzcwoKMjAxNS0wNy0xNyAxNjowMDowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnc3RnbHdpZGdldDogQ2xlYW51cCB1bnVzZWQgcHJpdmF0ZSBtZW1iZXIKCSAgbmV3X2J1ZmZlciBoYXMgYmVlbiBtb3ZlZCB0byBiYXNlIGNsYXNzLiBBbHNvIGNsZWFudXAKCSAgdGhlIHByb3BlcnRpZXMgY29tbWVudCwgd2hpY2ggYXJlIGFsc28gYWxsIG1vdmVkIGludG8KCSAgdGhlIGJhc2UgY2xhc3MuCgoyMDE1LTA3LTE3IDE1OjU3OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6ICJ3aWRnZXQiIG11c3QgYmUgYWNjZXNzIGZyb20gbWFpbiB0aHJlYWQKCSAgRG9jdW1lbnQgdGhhdCAid2lkZ2V0IiBwcm9wZXJ0eSBtdXN0IGJlIGFjY2Vzc2VkIGZyb20gdGhlCgkgIG1haW4gdGhyZWFkICh3aGVyZSBHVEsgaXMgcnVubmluZykuIFRoaXMgaXMgdGhlIHNhbWUgZm9yCgkgIHN0YXRlIHRyYW5zaXRpb24gb24gdGhlc2UgZWxlbWVudHMuIEl0IGlzIHZlcnkgbmF0dXJhbCB0bwoJICBkbyBzbyB1biBHVEsgYXBwbGljYXRpb25zLgoKMjAxNS0wNy0xNyAxNTowODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IERvbid0IGxlYWsgdmVydGV4IGFycmF5IGFuZCBidWZmZXJzCgkgIFRoaXMgaXMgbm93IHBvc3NpYmxlIHNpbmNlIHJlc2V0IGlzIGFsd2F5cyBjYWxsZWQgZnJvbSB0aGUKCSAgbWFpbiB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTcgMTQ6MzY6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrZ3N0YmFzZXdpZGdldDogRml4IGJsYWNrIGZyYW1lIG9uIHJlc2l6ZQoJICBUaGlzIGlzIHNvbHZlZCBieSBvbmx5IGFwcGx5aW5nIHRoZSBuZXcgZm9ybWF0IHdoZW4gdGhlIG5leHQKCSAgYnVmZmVyIGlzIHRvIGJlIHJlbmRlcmVkIGFuZCBvbiB0aGUgR1RLIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNyAxMzowNTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0a2dzdGJhc2V3aWRnZXQ6IFBhc3MgYWxyZWFkeSBwYXJzZWQgVmlkZW9JbmZvCgkgIEFzIHRoZSBiYXNlIHNpbmsgYWxyZWFkeSBwYXJzZSB0aGUgY2FwcyBpbnRvIFZpZGVvSW5mbyBpdAoJICBtYWtlcyBzZW5zZSB0byBwYXNzIGluIFZpZGVvSW5mbyB0byB0aGUgd2lkZ2V0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6NDk6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkgIGd0a2dsc2luazogUG9ydCB0byBHc3RHdGtCYXNlU2luayBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6MDA6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSAgZ3Rrc2luazogUG9ydCB0byBHc3RHdGtCYXNlU2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE1OjU5OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSAgZ3RrYmFzZXNpbms6IENyZWF0ZSBhIGJhc2UgY2xhc3MKCSAgVGhpcyBjb250YWlucyBhbGwgdGhlIGNvbW1vbiBjb2RlIGJldHdlZW4gdGhlIGd0a2dsc2luayBhbmQKCSAgZ3Rrc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNDozMDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0Lmg6CgkgIGd0a2dsc2luazogUG9ydCB0byBHdGtHc3RCYXNlV2lkZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTI6NTU6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuaDoKCSAgZ3Rrc2luazogUG9ydCB0byBHdGtHc3RCYXNlV2lkZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTI6NTE6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrOiBBZGQgR3RrR3N0QmFzZVdpZGdldAoJICBUaGlzIGlzIGEgInBzZXVkbyIgYmFzZSBjbGFzcy4gQmFzaWNhbGx5IGl0J3MgYSBzaGFyZWQgaW5zdGFuY2UKCSAgYW5kIGNsYXNzIHN0cnVjdHVyZSBhbmQgYSBzaGFyZWQgc2V0IG9mIGZ1bmN0aW9uIGJldHdlZW4gdGhlCgkgIHR3byB3aWRnZXQuIEl0IGNhbm5vdCBoYXZlIGl0J3Mgb3duIHR5cGUgbGlrZSBub3JtYWwgYmFzZSBjbGFzcwoJICBzaW5jZSB0aGUgb25lIGluc3RhbmNlIHdpbGwgaW1wbGVtZW50IEd0a0dMQXJlYSB3aGlsZSB0aGUgb3RoZXIKCSAgaW1wbGVtZW50cyBHdGtEcmF3aW5nQXJlYXkuIFRvIHdvcmthcm91bmQgdGhpcywgdGhlIHBhcmVudCBpbnN0YW5jZQoJICBhbmQgY2xhc3MgaXMgYSB1bmlvbiBvZiBib3RoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjQ3OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIHVwbG9hZGVsZW1lbnQ6IFByb3RlY3QgYWdhaW5zdCBOVUxMIHBvaW50ZXIKCSAgSSBub3RpY2UgdGhhdCBpZiB5b3Ugc3RvcCB0aGUgcGlwZWxpbmUgZHVyaW5nIGEgcmVuZWdvdGlhdGlvbgoJICB0aGUgdXBsb2FkIG1heSBiZSBOVUxMIHdoaWxlIGFuIGFsbG9jYXRpb24gcXVlcnkgaXMgYmVpbmcgcnVuLgoJICBJbiB0aGF0IHNjZW5hcmlvLCByZXR1cm5pbmcgRkFMU0UgdG8gdGhlIGFsbG9jYXRpb24gcXVlcnkgaXMgdGhlCgkgIGJlc3QgdGhpbmcuCgoyMDE1LTA3LTE1IDE3OjM1OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dzdGdsd2lkZ2V0OiBSZW1vdmUgdW51c2VkIGdsX2NhcHMKCjIwMTUtMDctMTUgMTY6NTY6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGtzaW5rOiBDcmVhdGUgYSB3aW5kb3cgaWYgdGhlIHdpZGdldCBpcyB1bnBhcmVudGVkCgkgIFRoZSBzYW1lIHdheSBhcyBpdCdzIG5vdyBkb25lIHdpdGggdGhlIGd0a2dsc2luaywgY3JlYXRlIGEgdG9wCgkgIGxldmVsIHdpbmRvdyBpZiB0aGUgd2lkZ2V0IGlzIG5vdCBwYXJlbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNSAxNDozNTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0a3Npbms6IEVuc3VyZSB0aGUgY29weSBwYXN0ZWQgY29kZSByZW1haW5zIHRoZSBzYW1lCgkgIE1vdmUgYmFjayB0aGUgZGVmYXVsdCBwcm9wZXJ0eSBhdCB0aGUgc2FtZSBwbGFjZSB0aGV5IGFyZSBpbiB0aGUKCSAgb3RoZXIgc2luay4gVGhpcyBoZWxwcyB3aGVuIHVzaW5nIGEgZGlmZiB2aWV3ZXIgdG8gc3luY2hyb25pemVkCgkgIHRoaXMgdW5mb3J0dW5hdGUgY29weSBwYXN0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNSAxNDozMjo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBGaXggcmFjZSBiZXR3ZWVuIHF1ZXVlX2RyYXcgYW5kIGRlc3Ryb3kKCSAgSW4gR1RLIGRpc3Bvc2UgY2FuIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGxhc3QgcmVmIGlzIHJlYWNoZWQuIFRoaXMKCSAgaGFwcGVucyB3aGVuIHlvdSBjbG9zZSB0aGUgY29udGFpbmVyIHdpbmRvdy4gVGhlIGRpc3Bvc2Ugd2lsbCBiZQoJICBleHBsaWNpdGx5IGNhbGxlZCwgYW5kIGRlc3Ryb3llZCBub3RpZnkgd2lsbCBiZSBmaXJlZC4gVGhpcyBwYXRjaAoJICBmaXhlcyB0aGlzIHJhY2UgYnkgcHJvcGVybHkgdHJhY2tpbmcgdGhlIHdpZGdldCBzdGF0ZS4KCSAgSW4gdGhlIHNpbmssIHdlIG5vdyBzZXQgdGhlIHdpZGdldCBwb2ludGVyIHRvIE5VTEwsIHNvIHRoZSB3aWRnZXQKCSAgd2lsbCBwcm9wZXJseSBnZXQgY3JlYXRlZCBhZ2FpbiBpZiB5b3Ugc2V0IHlvdXIgcGlwZWxpbmUgdG8gTlVMTAoJICBzdGF0ZSBhZnRlciB0aGUgd2lkZ2V0IHdhcyBkZXN0cm95LCBhbmQgc2V0IGl0IGJhY2sgdG8gUExBWUlORy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNiAyMToyODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB0eXBlZmluZGVyLCBtb3ZlIGl0IHRvIHR5cGVmaW5kZnVuY3Rpb25zIGluIC1iYXNlCgkgIE90aGVyd2lzZSB0aGlzIHBsdWdpbiB3aWxsIGJlIGxvYWRlZCBwcmV0dHkgbXVjaCB3aGVuZXZlcgoJICB0aGVyZSdzIGFueXRoaW5nIHRvIHR5cGVmaW5kLiBBbmQgdGhlIGNvZGUgd2FzIHByZXR0eSBtdWNoCgkgIGNvcHknbidwYXN0ZSBmcm9tIC1iYXNlIGFueXdheS4KCjIwMTUtMDctMTUgMTM6MDI6NTQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZGVmYXVsdCB0aW1lc2NhbGUgaXMgMQoJICBkZWZhdWx0IHRpbWVzY2FsZSB2YWx1ZSBzaG91bGQgYmUgMSwgbm90IDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTQKCjIwMTUtMDctMTUgMTM6NDE6MzcgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZnJlZSBwcm9wX3N0cmluZyBvbmx5IGFmdGVyIGl0J3Mgbm8gbG9uZ2VyIG5lZWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDE5CgoyMDE1LTA3LTE2IDE3OjIxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIFVwZGF0ZSBtYWlsaW5nIGxpc3QgYWRkcmVzcyBmcm9tIHNvdXJjZWZvcmdlIHRvIGZyZWVkZXNrdG9wCgoyMDE1LTA3LTE1IDExOjQ3OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtnc3R3aWRnZXQ6IEFkZCBtaXNzaW5nIGJyZWFrIGluIGdldF9wcm9wZXJ0eQoKMjAxNS0wNy0xNSAxMTo0NDozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkgIGd0a3NpbmtzOiBSZW1vdmUgdW5kZWZpbmVkIHByaXZhdGUgc3RydWN0dXJlCgkgIFRoZSBjbGFzc2VzIGNvbnRhaW5zIGEgcHJpdmF0ZSBzdHJ1Y3R1cmUgd2hpY2ggYXJlIG5vdCBkZWZpbmVkLAoJICBoZW5jZSB1bnVzZWQuCgoyMDE1LTA3LTE0IDE3OjQwOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IG1lbWNweSBvbiByYXcgZGF0YSB1cGxvYWQKCSAgQW55dGhpbmcgZWxzZSByZXF1aXJlcyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBHc3RWaWRlb0ZyYW1lIG1hcHBpbmcKCSAgYWNyb3NzIHBvc3NpYmxlIG11bHRpcGxlIGJ1ZmZlcnMgdG8gZW5zdXJlIGNvcnJlY3QgZGF0YSBwb2ludGVyCgkgIHVzYWdlLgoKMjAxNS0wNy0xNCAxNzozOTo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJICBnbGJhc2VidWZmZXI6IGFkZCBzb21lIGRlYnVnIGFuZCB6ZXJvIHRoZSBkYXRhIHBvaW50ZXJzIG9uIGluaXQKCjIwMTUtMDctMTAgMDE6MDA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IHdhaXQgZm9yIGRhdGEgb24gc3BhcnNlIGlucHV0cyBsaWtlIG1ldGFkYXRhIG9yIHN1YnRpdGxlIHN0cmVhbXMKCjIwMTQtMTEtMDkgMTk6MTY6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgYmFzaWMgc3VwcG9ydCBmb3IgYXN5bmNocm9ub3VzIEtMViBtZXRhZGF0YSBzdHJlYW1zCgkgIFRoaXMgaXMgZGVmaW5lZCBpbiBTTVBURSBScCAyMTcuIEluIHRoaXMgY2FzZSB0aGUKCSAgbWV0YWRhdGEgUEVTIHBhY2tldHMgY2Fycnkgbm8gdGltZXN0YW1wcyBvZiB0aGVpcgoJICBvd24gYW5kIG5vIE1ldGFkYXRhIEFjY2VzcyBVbml0IFdyYXBwZXJzIGFyZSB1c2VkLgoKMjAxNS0wNi0yOSAwMjo0MjowNiArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBoYW5kbGUgbm9uLWNvbnNlY3V0aXZlIEdzdEJ1ZmZlciBpbnB1dCB3aXRob3V0IGNvcHlpbmcKCSAgQ01CbG9ja0J1ZmZlciBvZmZlcnMgYSBtb2RlbCBzaW1pbGFyIHRvIEdzdEJ1ZmZlciwgYXMgaXQgY2FuCgkgIGNvbnNpc3Qgb2YgbXVsdGlwbGUgbm9uLWNvbnNlY3V0aXZlIG1lbW9yeSBibG9ja3MuCgkgIFByaW9yIHRvIHRoaXMgY2hhbmdlLCB3aGF0IHdlIHdlcmUgZG9pbmcgd2FzOgoJICAxKSBJbmNvcnJlY3Q6CgkgIENNQmxvY2tCdWZmZXJDcmVhdGVXaXRoTWVtb3J5QmxvY2sgZG9lcyBub3QgY29weSB0aGUgZGF0YSwKCSAgYnV0IHdlIGdzdF9idWZmZXJfdW5tYXAnZCByaWdodCBhd2F5LgoJICAyKSBJbmVmZmljaWVudDoKCSAgSWYgdGhlIEdzdEJ1ZmZlciBjb25zaXN0ZWQgb2Ygbm9uLWNvbnRpZ3VvdXMgbWVtb3J5IGJsb2NrcywKCSAgZ3N0X2J1ZmZlcl9tYXAgcmVzdWx0ZWQgaW4gbWFsbG9jIC8gbWVtY3B5LgoJICBXaXRoIHRoaXMgY2hhbmdlLCB3ZSBjb25zdHJ1Y3QgYSBDTUJsb2NrQnVmZmVyIG91dCBvZiBpbmRpdmlkdWFsIG1hcHBlZAoJICBHc3RNZW1vcnkgb2JqZWN0cy4gQ01CbG9ja0J1ZmZlciBpcyBtYWRlIHRvIHJldGFpbiB0aGUgR3N0TWVtb3J5CgkgIG9iamVjdHMgKHRocm91Z2ggdGhlIHVzZSBvZiBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UpLCBzbyB0aGUKCSAgb3JpZ2luYWwgR3N0QnVmZmVyIGNhbiBiZSB1bnJlZidkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQxCgoyMDE1LTA3LTEzIDIzOjIyOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJICBhcHBsZW1lZGlhL2F2c2FtcGxlOiBmaXggdW5jb25kaXRpb25hbCB1c2Ugb2YgT1NYIDEwLjEwIEFQSQoJICBXZSBjYW4ganVzdCBub3QgdXNlIHRoZSBlcnJvci9zdGF0dXMgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjMxCgoyMDE1LTA3LTEwIDE5OjA1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHRyeSBoYXJkZXIgdG8gZmluZCB0aGUgcmlnaHQgUXQ1IGJ1aWxkIHRvb2xzCgkgIEZpcnN0IGNoZWNrIGZvciBRdCBidWlsZCB0b29scyBpbiB0aGUgaG9zdF9iaW5zIGRpcmVjdG9yeQoJICBmcm9tIHRoZSBRdDVDb3JlIHBrZy1jb25maWcgZmlsZS4gVGhpcyBmaXhlcyB0aGUgc2l0dWF0aW9uCgkgIHdoZXJlIGJvdGggUXQ0IGFuZCBRdDUgYXJlIGluc3RhbGxlZCBidXQgdGhlIGdsb2JhbCBtb2MvdWljL2V0Yy4KCSAgYXJlIHRoZSBRdDQgdmVyc2lvbiwgd2hpY2ggd291bGQgcmVzdWx0IGluIGJ1aWxkIGZhaWx1cmVzLgoKMjAxNS0wNy0xMCAxNDowMTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgY29uZmlndXJlL3F0OiBGaXggYnVpbGQgd2l0aG91dCBRdDVYMTFFeHRyYXMKCjIwMTUtMDctMTAgMTM6MjY6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IGdfc2xpY2VfbmV3KCkgY2FuJ3QgcmV0dXJuIE5VTEwKCSAgSXQgd2lsbCBhYm9ydCgpIGlmIGFsbG9jYXRpb24gZmFpbHMuCgoyMDE1LTA3LTEwIDEzOjE5OjQwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgYWxsb3cgbmV0d29yayBhY2Nlc3Mgd2hlbiByZWFkaW5nIHRoZSBYTUwgZGF0YQoKMjAxNS0wNy0xMCAxOToyMjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBxdDogZG9uJ3QgZXJyb3Igb3V0IGlmIFF0IFgxMSBjb3VsZCBub3QgYmUgZm91bmQKCSAgUENLX0NIRUNLX01PRFVMRVMgZGVmYXVsdCBlcnJvci1pZi1ub3QtZm91bmQgaW1wbGVtZW50YXRpb24gZXJyb3JzCgkgIHNvIG92ZXJyaWRlIGl0IHdpdGggYSBzaW1wbGUgbm90aWNlIHRoYXQgd2UgY291bGRuJ3QgZmluZCB0aGUgbGlicmFyeS4KCjIwMTUtMDctMDYgMjM6MTA6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvLmdpdGlnbm9yZToKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L2dzdHF0c2luay5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL3BsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvcW1sLnFyYzoKCSAgbmV3IHF0NSBxbWwgR0wgdmlkZW8gc2luawoJICBWZXJ5IG11Y2ggaW4gdGhlIHNhbWUgc3Bpcml0IGFzIHRoZSBHdGsgR0wgc2luawoJICBUd28gdGhpbmdzIGFyZSBwcm92aWRlZAoJICAxLiBBIFFRdWlja0l0ZW0gc3ViY2xhc3MgdGhhdCByZW5kZXJzIG91dCBSR0JBIGZpbGxlZCBHc3RHTE1lbW9yeQoJICBidWZmZXJzIHRoYXQgaXMgaW5zdGFudGlhdGVkIGZyb20gcW1sLgoJICAyLiBBIHNpbmsgZWxlbWVudCB0aGF0IHdpbGwgcHVzaCBidWZmZXJzIGludG8gKDEpCgkgIFRvIHVzZQoJICAxLiBEZWNsYXJlIHRoZSBHc3RHTFZpZGVvSXRlbSBpbiBxbWwgd2l0aCBhbiBhcHByb3ByaWF0ZQoJICBvYmplY3ROYW1lIHByb3BlcnR5IHNldC4KCSAgMi4gR2V0IHRoZSBhZm9yZW1lbnRpb25lZCBHc3RHTFZpZGVvSXRlbSBmcm9tIHFtbCB1c2luZyBzb21ldGhpbmcgbGlrZQoJICBRUW1sQXBwbGljYXRpb25FbmdpbmUgZW5naW5lOwoJICBlbmdpbmUubG9hZChRVXJsKFFTdHJpbmdMaXRlcmFsKCJxcmM6L21haW4ucW1sIikpKTsKCSAgUU9iamVjdCAqcm9vdE9iamVjdCA9IGVuZ2luZS5yb290T2JqZWN0cygpLmZpcnN0KCk7CgkgIFFRdWlja0l0ZW0gKnZpZGVvSXRlbSA9IHJvb3RPYmplY3QtPmZpbmRDaGlsZDxRUXVpY2tJdGVtICo+ICgidmlkZW9JdGVtIik7CgkgIDMuIFNldCB0aGUgdmlkZW9JdGVtIG9uIHRoZSBzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxODUKCjIwMTUtMDctMDggMTc6MTc6MTggKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IEZpeCBtYWtlIGRpc3Qgd2hpbGUgYmx1ZXogPj0gNSBpcyBub3QgYXZhaWxhYmxlCgoyMDE1LTA3LTA5IDE4OjMxOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRml4IHByZXZpb3VzIGNvbW1pdAoJICBXZSBvbmx5IHdhbnQgdG8gZG8gYSBoYXJkIHJlc2V0IG9mIHRoZSBvYnNlcnZhdGlvbnMgaWYgd2UncmUgd29ya2luZwoJICB3aXRoIFRJTUUgc2VnbWVudHMgaW4gcHVzaCBtb2RlLiBGb3IgQllURSBzZWdtZW50IHdlIHdhbnQgdG8ga2VlcAoJICB0aGUgb2JzZXJ2YXRpb25zIChpbiBvcmRlciB0byBkbyBzZWVrcyBpbiBwdXNoLW1vZGUpLgoKMjAxNS0wNy0wOSAxNjo1OToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIG1vcmUgb24gRElTQ09OVCBidWZmZXJzIGluIHB1c2ggbW9kZQoJICBXaGVuIGluIHB1c2ggbW9kZSwgd2Ugd2FudCB0byBkaXNjYXJkIGFsbCBwcmV2aW91cyBvYnNlcnZhdGlvbnMgZnJvbSB0aGUKCSAgbXBlZ3RzcGFja2V0aXplciB3aGVuIHdlIGdldCBhIERJU0NPTlQgYnVmZmVyLgoJICBUaGlzIGF2b2lkcyB0cnlpbmcgdG8gY2FsY3VsYXRlIGJvZ3VzIHRpbWVzdGFtcHMgKGVzdGltYXRpbmcgdGhlbSB1c2luZyBvbGQKCSAgUENSIG9ic2VydmF0aW9ucykuCgkgIFdlIG9ubHkgZG8gYSBoYXJkIHJlc2V0IGluIHB1c2gtbW9kZS4gSW4gcHVsbC1tb2RlIHdlIHN0aWxsIG5lZWQgdGhlIG9ic2VydmF0aW9ucwoJICAoaW4gb3JkZXIgdG8gc2VlayBwcm9wZXJseSkKCjIwMTUtMDctMDkgMTE6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IEFkZCBuZXcgZ2VuZXJhdGVkIGZpbGVzCgoyMDE1LTA3LTA5IDExOjA1OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJICBibHVlejogSW5jbHVkZSBuZXcgZmlsZSBpbiBkaXN0J2VkIGZpbGVzCgkgIEZpeGVzIG1ha2UgZGlzdGNoZWNrIGFuZCB0YXJiYWxsIGdlbmVyYXRpb24KCjIwMTUtMDctMDkgMTM6MDM6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGd0azogYWRkIHRvIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0CgoyMDE1LTA2LTE3IDA5OjM2OjU3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBHc3RHdGtHTFNpbms6IEVuc3VyZSB3aWRnZXQgaGFzIGEgdG9wbGV2ZWwgcGFyZW50CgkgIENoZWNraW5nIGZvciBhIHBhcmVudCBpcyBub3QgZW5vdWdoLCBpdCBtdXN0IGhhdmUgYSB0b3BsZXZlbCBvbmUuCgkgIElmIHdpZGdldCBoYXMgbm8gdG9wbGV2ZWwgcGFyZW50IHRoZW4gYWRkIGl0IGluIGEgR3RrV2luZG93LCB0aGF0CgkgIG1ha2UgaXQgdXNhYmxlIGZyb20gZ3N0LWxhdW5jaC0xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDYtMTcgMDk6MzY6NDAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkgIEdzdEd0a0dMU2luazogUG9zdCBlcnJvciBpZiB3aWRnZXQgZ2V0cyBkZXN0cm95ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNi0xNiAxNjoyMToyNiAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgR3N0R3RrR0xTaW5rOiBmaXggcG9zc2libGUgd2FybmluZyBpbiBmaW5hbGl6ZQoJICBJZiB0aGUgZWxlbWVudCBpcyBmaW5hbGl6ZWQgYmVmb3JlIGdvaW5nIGluIFJFQURZIHN0YXRlCgkgIHRoZSB3aWRnZXQgY291bGQgc3RpbGwgYmUgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0wOCAyMzoxNDoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IEZpeCBzb21lIG1lbW9yeSBsZWFrcyBpbiB0aGUgTVBEIHBhcnNlciBhbmQgdW5pdCB0ZXN0CgoyMDE1LTA3LTA3IDE2OjU5OjUyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdHMgdG8gdGVzdCBhbGwgZnVuY3Rpb25zCgkgIEFkZGVkIHVuaXQgdGVzdHMgZm9yIGFsbCBmdW5jdGlvbnMuIENvZGUgY292ZXJhZ2U6CgkgIE92ZXJhbGwgY292ZXJhZ2UgcmF0ZToKCSAgbGluZXMuLi4uLi46IDgzLjglICgxOTQxIG9mIDIzMTYgbGluZXMpCgkgIGZ1bmN0aW9ucy4uOiAxMDAuMCUgKDE0MSBvZiAxNDEgZnVuY3Rpb25zKQoKMjAxNS0wNy0wOCAxNzowODo1NiArMDMwMCAgUm9tYW4gRG9uY2hlbmtvIDxyb21hbi5kb25jaGVua29AaXRzZWV6LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IGZpeCBhIEdzdENhcHMgb2JqZWN0IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NTIxMjcKCjIwMTUtMDMtMjYgMTE6MzQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoaXMgaXMgbm90IHB1YmxpYyBBUEksIHVzZSBnX2Fzc2VydCgpIGluc3RlYWQgb2YKCSAgZ19yZXR1cm5faWZfZmFpbCgpLCBzbyB0aGF0IGl0J3MgY29tcGlsZWQgb3V0IGluCgkgIHJlbGVhc2VzLiBJdCdzIG9ubHkgY2FsbGVkIGZyb20gb3VyIGNvZGUsIHdpdGggJmZvby4KCjIwMTQtMDYtMzAgMTM6MjA6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIEtMViBtZXRhZGF0YSBzdHJlYW1zCgkgIFRoZXJlJ3Mgbm8gdGltZXN0YW1wcyBmb3IgdGhlc2Ugc3RyZWFtcyB0aG91Z2gsIHdlCgkgIG1pZ2h0IHdhbnQgdG8gbWFrZSBzb21lIHVwIGJhc2VkIG9uIHRoZSBsYXN0L25leHQKCSAgdmlkZW8gUFRTIG9yIHNvLgoKMjAxNS0wNy0wOCAxNjozMTo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgIlJldmVydCAiZGFzaGRlbXV4OiBmaXhlZCBnc3RfbXBkX2NsaWVudF9hZHZhbmNlX3NlZ21lbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDg3NWRkZjU4NTVhMjZmMzQ5ZGY3YjM4NWI2OGViNjkyZTMxNGJmYS4KCSAgVGhpcyB3YXMgYmFzZWQgb24gYSBtaXN1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDg1CgoyMDE1LTA3LTA2IDEzOjI4OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogRG9uJ3QgY2FsbCBhbnl0aGluZyBzeW5jaHJvbm91c2x5IGZyb20gdGhlIG1haW4gdGhyZWFkCgkgIFRoaXMgd2lsbCBkZWFkbG9jayBpZiB0aGUgbWFpbiB0aHJlYWQgaXMgdGhlIG9uZSB3aG8gY3JlYXRlcyB0aGUgR3N0R0xDb250ZXh0LgoJICBBbGwgdGhpbmdzIHdlIGNhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgc2hvdWxkIGJlIHBvc3NpYmxlIGZyb20gYW55IHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMQoKMjAxNS0wNy0wOCAxMjoxNjozNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogcmVtb3ZlIHVubmVjZXNzYXJ5IGdvdG8KCSAgQWxsIGdvdG8gZmFpbCBoYXBwZW4gYmVmb3JlIHJldCBpcyBzZXQuIHJldCBtdXN0IGJlIE5VTEwsIGFuZCB0aGUgb25seQoJICB0aGluZyB0aGUgZmFpbCBzdGF0ZW1lbnQgYmxvY2sgZG9lcyBpcyByZXR1cm4gTlVMTC4gUmVwbGFjaW5nIHRoZSBqdW1wcyB0bwoJICBkbyB0aGlzIHJldHVybiBkaXJlY3RseS4KCSAgQ0lEICMxMzExMzI5CgoyMDE1LTA3LTA4IDExOjMyOjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHJlZHVuZGFudCBlbHNlIHN0YXRlbWVudAoJICBFbHNlIHN0YXRlbWVudCBpcyByZWR1bmRhbnQgd2hlbiB0aGUgaWYgYmxvY2sgZmluaXNoZXMgd2l0aCBhbiByZXR1cm4uCgoyMDE1LTA3LTA4IDExOjQyOjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBIMjY1L0hFVkMKCjIwMTUtMDYtMjkgMTI6NDA6NTUgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZml4IHJlZmNvdW50IGVycm9yIGluIGVycm9yIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2NDEKCjIwMTUtMDctMDcgMTk6NDg6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEV4cGxpY2l0bHkgY2hlY2sgZm9yIENVU1RPTV9FUlJPUiB3aGVuIGNvbnZlcnRpbmcgZXJyb3JzIHRvIEVPUwoJICBXZSB1c2UgdGhpbmdzIGxpa2UgQ1VTVE9NX1NVQ0NFU1MqIGluIG90aGVyIHBsYWNlcywgYW5kIHRob3NlIGFyZSBub3QgZXJyb3JzCgkgIGJ1dCBzaG91bGQganVzdCBiZSBoYW5kbGVkIGxpa2UgT0suCgoyMDE1LTA3LTA3IDE5OjI2OjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBmaXhlZCBnc3RfbXBkX2NsaWVudF9hZHZhbmNlX3NlZ21lbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkZmUzN2ZmYzU5ZmRmNWY0MDc1Njk2OTc2ZDk4ZWM4ZDZkYjczMTM4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDg1CgoyMDE1LTA3LTA3IDE5OjI1OjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRml4IG9mZi1ieS1vbmUgaW4gaGFzLW5leHQtc2VnbWVudCBjYWxjdWxhdGlvbgoKMjAxNS0wNy0wNyAxODozNzoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogSWYgZG93bmxvYWRpbmcgdGhlIGxhc3QgZnJhZ21lbnQgZmFpbHMsIGNvbnNpZGVyIHRoaXMgYXMgRU9TIGFuZCBub3QgRVJST1IKCSAgU29tZXRpbWVzIHRoZSBsYXN0IGZyYWdtZW50IGRvZXMgbm90IGV4aXN0IGJlY2F1c2Ugb2Ygcm91bmRpbmcgZXJyb3JzIHdpdGggdGhlCgkgIGR1cmF0aW9ucy4gSnVzdCBmaW5pc2ggdGhlIHN0cmVhbSBncmFjZWZ1bGx5IGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0IGluc3RlYWQuCgoyMDE1LTA3LTA3IDIyOjM1OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGRvd25sb2FkOiBvbmx5IHN0YXJ0IGEgZG93bmxvYWQgdHJhbnNmZXIgZm9yIHN5c21lbSBjYXBzIGZlYXR1cmVzCgoyMDE1LTA3LTA2IDEyOjA4OjUyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIGluZGVudGF0aW9uIGluIHhtbCBzdHJpbmdzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAyNwoKMjAxNS0wNy0wMyAxNjoxNzo1OCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCBwYXJzaW5nIG9mIGJpdHN0cmVhbVN3aXRjaGluZ0BBZGFwdGF0aW9uU2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNzAKCjIwMTUtMDctMDMgMTU6MzE6MzUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVncm91cGVkIGZ1bmN0aW9ucyBpbiBnc3RtcGRwYXJzZXIuaCBmaWxlCgkgIE1vdmVkIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X2VuZF90aW1lIGFuZAoJICBnc3RfbXBkX2NsaWVudF9hZGRfdGltZV9kaWZmZXJlbmNlIGZ1bmN0aW9ucyB0byBiZSBncm91cGVkIHdpdGgKCSAgZnVuY3Rpb25zIGZyb20gdGhlIHNhbWUgY2F0ZWdvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMjcKCjIwMTUtMDctMDYgMTQ6MjE6MTcgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogY29ycmVjdGVkIGNvZGUgbGF5b3V0CgkgIGRlbGV0ZWQgdGhlIGVtcHR5IGxpbmUgYmV0d2VlbiBnc3RfbXBkX3BhcnNlIGNhbGwgYW5kIGl0cyBjaGVjayBzbyB0aGF0CgkgIHRoZSBhc3NlcnQgaXMgbmV4dCB0byB0aGUgZnVuY3Rpb24gaXQgaXMgdGVzdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDI3CgoyMDE1LTA3LTA3IDEwOjU2OjQ3ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJICBtcGVndmlkZW9tZXRhOiBhZGQgbWV0YSB0cmFuc2Zvcm0gZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3OAoKMjAxNS0wNy0wNyAxMDo1NzoyNiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiB0cmFuc2Zvcm0gZnVuYzogcmV0dXJuIEZBTFNFIGlmIG5vdCBzdXBwb3J0ZWQgb3IgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzgKCjIwMTUtMDctMDYgMTQ6MTQ6MTIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MKCSAgRml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MgaWYgdGhlCgkgIG5ldyBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NTAKCjIwMTUtMDctMDcgMTY6Mzk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIGFuZHJvaWQ6IGFkZCBtaXNzaW5nIGVnbC5oIGluY2x1ZGUKCjIwMTUtMDctMDcgMTU6MzA6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGNvcnJlY3QgdmFvIHVzYWdlCgkgIGtlZXAgdGhlIHZhbyBib3VuZCBhZnRlciB1cGxvYWRpbmcgdGhlIG5ldyB2ZXJ0ZXggZGF0YQoJICBmaXhlcyBhIG1lc2EgR0wgZXJyb3IgIm5vIHZlcnRleCBhcnJheSBvYmplY3QgYm91bmQiIG9uIGNhcHMgY2hhbmdlcwoKMjAxNS0wNi0xNiAwNzo0OTozNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogY29uc29saWRhdGUgZWdsIGhlYWRlciBpbmNsdWRlcyB0byBlZ2wtb25seSBoZWFkZXJzCgkgIFRoZXkgbWF5IGNvbmZsaWN0IHdpdGggb3RoZXIgaGVhZGVycy4KCjIwMTUtMDctMDYgMTk6MzM6MzUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBSZWxlYXNlIHRoZSB3aWRnZXQgbG9jayB3aGVuIHRyeWluZyB0byBnZXQgdGhlIEdMIGNvbnRleHQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGJlIHdhaXRpbmcgZm9yIHRoZSBsb2NrIG9uIHRoZSBtYWluIGxvb3AgKGZvcgoJICBleGFtcGxlIGluIHRoZSAtPnJlbmRlciB2bWV0aG9kKSBhbmQgdGh1cyB3ZSB3aWxsIGRlYWRsb2NrLgoKMjAxNS0wNy0wNiAxODo1MTowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbW92ZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgZnJvbSB0aGUgY2FwcyByZXR1cm5lZCBieSBnZXRjYXBzCgkgIEF2b2lkaW5nIG5vdCBuZWdvdGlhdGVkIGVycm9yIHdoaWxlIG5lZ290aWF0aW5nIGFzIHdlIGFueXdheSBmb3JjZSAxLzEKCSAgYXMgb3V0cHV0CgoyMDE1LTA3LTA2IDE1OjI0OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybHNzaHNpbms6IHJlbW92ZSByZWR1bmRhbnQgZWxzZSBzdGF0ZW1lbnQKCSAgRWxzZSBzdGF0ZW1lbnQgaXMgcmVkdW5kYW50IHdoZW4gdGhlIGlmIGJsb2NrIGZpbmlzaGVzIHdpdGggYW4gcmV0dXJuLgoKMjAxNS0wNy0wMiAxNToxNzo1MSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBzZWdtZW50IHN0YXJ0IHdoZW4gc3BlY2lmaWVkIGJ5IFNlZ21lbnRUaW1lbGluZQoJICBAdCBhdHRyaWJ1dGUgaW4gc2VnbWVudCBUaW1lbGluZSBpcyByZWxhdGl2ZSB0byB0aGUgcGVyaW9kIHN0YXJ0LgoJICBDb3JyZWN0ZWQgdGhlIGNvZGUgdG8gdGFrZSB0aGlzIGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyBzZWdtZW50CgkgIHRpbWVzdGFtcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg0MQoKMjAxNS0wNy0wMyAxNzowMDozMSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiB3cm9uZyBzZWdtZW50IGR1cmF0aW9uIGNvbXB1dGVkIGJ5IGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uCgkgIENvcnJlY3RlZCBjb21wdXRhdGlvbiBvZiBzZWdtZW50IHN0YXJ0IGFuZCBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTkxNAoKMjAxNS0wNy0wMyAxNjoxMDoyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgc2VhcmNoIGZvciBhdWRpbyBsYW5ndWFnZXMKCSAgQ29ycmVjdGVkIHRoZSBpbml0aWFsaXNhdGlvbiBvZiBtaW1lVHlwZSBpbgoJICBnc3RfbXBkcGFyc2VyX2dldF9saXN0X2FuZF9uYl9vZl9hdWRpb19sYW5ndWFnZTogdGhlIHZhcmlhYmxlIGlzIHVzZWQKCSAgaW4gYSBsb29wLCBzbyBpdCBtdXN0IGJlIHNldCB0byBOVUxMIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBpdGVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MTEKCjIwMTUtMDctMDMgMjE6NTg6MjYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY3NGIyZGYgdG8gOWFlZDFkNwoKMjAxNS0wNy0wMyAxMjoxNzo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyLCBnbG1peGVyOiBBZGQgZGVzY3JpcHRpb24gYW5kIGtsYXNzCgoyMDE1LTA3LTAzIDE5OjI0OjU4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IEZpeCBicm9rZW4gQmx1ZVogY29uZmlndXJlIGNoZWNrCgkgIFRoZSBwcmV2aW91cyBjb21taXQgbGVmdCBhbiBleHRyYSBzZXQgb2YgYnJhY2tldHMsIGFuZCBtaXNzZWQgcmVtb3ZpbmcKCSAgdGhlIGV4cGxpY2l0IGRidXMgY2hlY2sgKHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQgc2luY2Ugd2UncmUgdXNpbmcKCSAgZ2RidXMpLgoKMjAxNS0wMS0xMyAxMDozMTo0MSAtMDgwMCAgTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IHJlbW92ZSBzdXBwb3J0IGZvciBibHVlejQKCjIwMTQtMTItMzAgMDc6MjE6NDQgLTA4MDAgIE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkqIHN5cy9ibHVlei9vcmcuYmx1ZXoueG1sOgoJICBibHVlejogcmVmYWN0b3IgdG8gdXNlIGdsaWIgYW5kIGFkZCBjb25uZWN0aW9uIHN0YXRlIHRyYWNraW5nCgoyMDE1LTA2LTE1IDIzOjQwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggYW5vdGhlciByZWdyZXNzaW9uCgkgIEludHJvZHVjZWQgYnkgYzRjOWZlNjBiIHBjYXBwYXJzZTogVGFrZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgYWRhcHRlcgoJICBVc2luZyBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcl9mYXN0KCkgY2FuIGxlYWQgdG8gYnVmZmVycyB0aGF0IGFyZQoJICBtYWRlIHVwIG9mIG11bHRpcGxlIG1lbW9yaWVzIHdpdGggdGhlIGZpcnN0IG1lbW9yeSBzbWFsbGVyIHRoYW4gdGhlCgkgIFJUUCBoZWFkZXIgc2l6ZSwgd2hpY2ggdmlvbGF0ZXMgYXNzdW1wdGlvbnMgR3N0UnRwQmFzZURlcGF5bG9hZGVyCgkgIG1ha2VzLCBuYW1lbHkgdGhhdCB0aGUgY29tcGxldGUgUlRQIGhlYWRlciB3aWxsIGJlIGluIHRoZSBmaXJzdAoJICBtZW1vcnkuIFRoaXMgbGVhZHMgdG8gc3VjaCBwYWNrZXRzIGJlaW5nIGRyb3BwZWQgd2hlbiBmZWVkaW5nCgkgIHRoZW0gZnJvbSBwY2FwcGFyc2UgdG8gUlRQIGRlcGF5bG9hZGVycy4gVXNlIHRha2VfYnVmZmVyKCkgc28KCSAgd2UgZ2V0IGJ1ZmZlcnMgd2l0aCBhIHNpbmdsZSBtZW1vcnkuCgoyMDE1LTA3LTAyIDEzOjQ1OjA0ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wY2FwcGFyc2UuYzoKCSAgdGVzdHM6IHBjYXBwYXJzZTogYWRkIHVuaXQgdGVzdCBmb3IgZnJhbWVzIHdpdGggZXRoIHBhZGRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg3OQoKMjAxNS0wNi0xNSAxMjo1NTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IHJlZ3Jlc3Npb24gd2hlbiBoYW5kbGluZyBwYWNrZXRzIHdpdGggZXRoIHBhZGRpbmcKCSAgSW50cm9kdWNlZCBieSBjNGM5ZmU2MGIgcGNhcHBhcnNlOiBUYWtlIGJ1ZmZlciBkaXJlY3RseSBmcm9tIHRoZSBhZGFwdGVyCgkgIEZsdXNoIGFueSB0cmFpbGluZyBieXRlcyBhZnRlciB0aGUgcGF5bG9hZCBmcm9tIHRoZSBhZGFwdGVyIGFzIHdlbGwsCgkgIG90aGVyd2lzZSB3ZSdsbCByZWFkIGEgYm9ndXMgcGFja2V0IHNpemUgZnJvbSB0aGUgYWRhcHRlciBuZXh0IGFuZAoJICB0aGVuIGV2ZXJ5dGhpbmcgZ29lcyBkb3duaGlsbCBmcm9tIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODc5CgoyMDE1LTA3LTAyIDE4OjUxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFVucmVmIHZpZGVvIGZyYW1lcyBhbmQgY29kZWMgc3RhdGUgaW4gYWxsIGNhc2VzCgoyMDE1LTA3LTAyIDEwOjI2OjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogaW5pdGlhbGl6ZSBvdXRwdXQgcGFyYW1zIHRvIDAgYmVmb3JlIGNhbGxpbmcgZ2wgZnVuY3Rpb25zCgkgIFRoZSBjbGllbnQgc2lkZSBBUEkgb2YgdGhlIENocm9taXVtJ3MgR1BVIFByb2Nlc3MgaGFzIGFzc2VydHMKCSAgaW4gZGVidWcgbW9kZSB0aGF0IGNoZWNrIHRoYXQgb3V0cHV0IHBhcmFtcyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC4KCjIwMTUtMDYtMjYgMTU6MzQ6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogRG9uJ3QgbGVhayBwb29sIGlmIHNldF9jb25maWcgZmFpbGVkCgoyMDE1LTA2LTI2IDE1OjMzOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBEb24ndCBjYWNoZSBidWZmZXIgcG9vbAoJICBDYWNoaW5nIGFuZCBzaGFyaW5nIHRvIG11bHRpcGxlIGVsZW1lbnQgdGhlIHNhbWUgcG9vbCBwcmV2ZW50cwoJICByZW5lZ290aWF0aW9uIGZyb20gcGFzc3Rocm91Z2ggdG8gbm90IHBhc3N0aHJvdWdoLgoKMjAxNS0wNy0wMiAxNDoxNTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBVbmluaXRpYWxpemluZyB0aGUgZGVjb2RlciBjYW4ndCBmYWlsIGFuZCB3aWxsIGFsd2F5cyByZXR1cm4gMCA9PSBjbVJlc3VsdFN1Y2Nlc3MKCSAgLi4uIGJ1dCB3aGVuIHdlIGNhc3QgY21SZXN1bHRTdWNjZXNzIHRvIGEgZ2Jvb2xlYW4gaXQgd2lsbCBiZSBGQUxTRSwgYW5kIG1ha2UKCSAgR3N0VmlkZW9EZWNvZGVyOjpzdG9wKCkgZmFpbCBmb3Igbm8gcmVhc29uLgoKMjAxNS0wNy0wMiAxNzowODoyNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXNlIGdfY2xlYXJfZXJyb3IgaW5zdGVhZCBvZiBnX2Vycm9yX2ZyZWUKCSAgcmVwbGFjZSBnX2Vycm9yX2ZyZWUgd2l0aCBnX2NsZWFyX2Vycm9yLCBhcyBpdCBpbnRlcm5hbGx5CgkgIGNoZWNrcyBpZiBlcnJvciB2YXJpYWJsZSBpcyB2YWxpZCBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MjMKCjIwMTUtMDctMDIgMTY6Mjc6MDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IGZpeCBjaGVjayB3aGV0aGVyIHdlIG1hbmFnZWQgdG8gYWNxdWlyZSBhIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODIxCgoyMDE1LTA2LTMwIDE1OjUyOjE4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBBZGQgY29uZmlnIGZvciB0aGUgcmVwbGF5IHdpbmRvdyBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MjkKCjIwMTUtMDYtMzAgMTM6MjA6NDMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHBhcnNpbmcgb2YgJXUgaW4gc2VnbWVudCB0ZW1wbGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTcxNgoKMjAxNS0wNi0yOSAyMjoxODozOCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcmVjb2duaXRpb24gb2YgJCQkIGluIHNlZ21lbnQgdGVtcGxhdGVzCgkgIGZpeGVkIHJlY29nbml0aW9uIG9mICQkIGFmdGVyIGEgJCB0aGF0IGVuZHMgYW4gaWRlbnRpZmllciwgZWcgJFRpbWUkJCQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTY4MgoKMjAxNS0wNi0yOSAxODo1MDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDYWxsIGluaXRpYWxpemVfY2xhc3NlcygpIGFsc28gd2hlbiB3ZSBnb3QgdGhlIEphdmEgVk0gZnJvbSB0aGUgYXBwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2NjQKCjIwMTUtMDYtMjkgMTY6MTA6MzkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogYWRkIG1pc3NpbmcgYnJlYWsKCSAgZ3N0X2dsX3ZpZXdfY29udmVydF9lbGVtZW50X3NldF9wcm9wZXJ0eSgpIGlzIG1pc3NpbmcgYSBicmVhayBhdCB0aGUgZW5kCgkgIG9mIHRoZSBQUk9QX09VVFBVVF9ET1dOTUlYX01PREUgY2FzZS4gQWRkaW5nIGl0LgoJICBDSUQgIzEzMDg5NDkKCjIwMTUtMDYtMjYgMTQ6MTI6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRG9uJ3QgbGVhayBwb29sCgkgIGdzdF9xdWVyeV9hZGRfYWxsb2NhdGlvbl9wb29sIGlzIHRyYW5zZmVyIG5vbmUuIEFsc28gdW5yZWYKCSAgaWYgdGhlcmUgd2FzIGEgY29uZmlndXJhdGlvbiBlcnJvci4KCjIwMTUtMDYtMjYgMTU6NTg6MjUgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIGRlcmVmZXJlbmNpbmcKCSAgZ3N0X3BzX2RlbXV4X2dldF9zdHJlYW0oKSBjb3VsZCByZXR1cm4gTlVMTCB3aGVuIGl0IGlzIHVua25vd24gc3RyZWFtLAoJICBjaGVjayB0aGlzIGhhc24ndCBoYXBwZW5lZCBiZWZvcmUgZGVyZWZlcmVuY2luZyB0aGUgcmV0dXJuZWQgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUyOAoKMjAxNS0wNi0yNiAxMzowOTo1NCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgbmV4dCBmcmFnbWVudCBkdXJhdGlvbiB2YWxpZGF0aW9uCgkgIEJlZm9yZSByZXR1cm5pbmcgdGhlIG5leHQgZnJhZ21lbnQgZHVyYXRpb24gdmFsdWUsIHRoZQoJICBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBmdW5jdGlvbiB0cmllcyB0byB2YWxpZGF0ZSBpdC4KCSAgQnV0IHRoZSBjb25kaXRpb24gd2FzIGluY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUzOQoKMjAxNS0wNi0yNSAyMzo0OToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTW92ZSB1bnJlZigpIGludG8gdGhlIHJpZ2h0IHNjb3BlCgoyMDE1LTA2LTI1IDIzOjMyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBQcm9wZXJseSBoYW5kbGUgcHJlc2VudGF0aW9uVGltZU9mZnNldCBmb3Igc2Vla2luZyBhbmQgbXVsdGktcGVyaW9kIHN0cmVhbXMKCSAgU2VnbWVudCBzdGFydC90aW1lL3Bvc2l0aW9uL2Jhc2Ugc2hvdWxkIG9ubHkgYmUgbW9kaWZpZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3QKCSAgdGltZSB3ZSBzZW5kIGEgc2VnbWVudCwgb3RoZXJ3aXNlIHdlIHdpbGwgb3ZlcnJpZGUgdmFsdWVzIGZyb20gdGhlIHNlZWsKCSAgc2VnbWVudCBpZiBuZXcgc3RyZWFtcyBoYXZlIHRvIGJlIGV4cG9zZWQgYXMgcGFydCBvZiB0aGUgc2Vlay4KCSAgU2VnbWVudCBiYXNlIHNob3VsZCBiZSBjYWxjdWxhdGVkIGZyb20gdGhlIHNlZ21lbnQgc3RhcnQgYmFzZWQgb24gdGhlIHN0cmVhbSdzCgkgIG93biBzZWdtZW50LCBub3QgdGhlIGRlbXV4ZXIncyBzZWdtZW50LiBCb3RoIG1pZ2h0IGRpZmZlciBzbGlnaHRseSBiZWNhdXNlIG9mCgkgIHRoZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0LgoJICBBbHdheXMgYWRkIHRoZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IChyZWxhdGl2ZSB0byB0aGUgcGVyaW9kIHN0YXJ0LCBub3QKCSAgdGltZXN0YW1wIDApIHRvIHRoZSBzZWdtZW50IHN0YXJ0IGFmdGVyIHJlc2V0dGluZyB0aGUgc3RyZWFtJ3Mgc2VnbWVudCBiYXNlZAoJICBvbiB0aGUgZGVtdXhlcidzIHNlZ21lbnQgKGkuZS4gYWZ0ZXIgc2Vla3Mgb3Igc3RyZWFtIHJlc3RhcnQpLiBBbHNvIG1ha2Ugc3VyZQoJICB0byBrZWVwIHRoZSBzdHJlYW0ncyBzZWdtZW50IHVwIHRvIGRhdGUgYW5kIG5vdCBqdXN0IHNlbmQgYSBuZXcgc2VnbWVudCBldmVudAoJICB3aXRob3V0IHN0b3JpbmcgdGhlIHNlZ21lbnQgaW4gdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wNi0yNSAyMzoyNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFN1YnRyYWN0IHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBmcm9tIHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0CgkgIFdlJ3JlIGludGVyZXN0ZWQgaW4gdGhlIG9mZnNldCBiZXR3ZWVuIHRoZSBwZXJpb2Qgc3RhcnQgdGltZXN0YW1wIGFuZCB0aGUKCSAgYWN0dWFsIG1lZGlhIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBwcm9wZXJseSBjb3JyZWN0IGZvciBpdC4gVGhlIGFic29sdXRlCgkgIHByZXNlbnRhdGlvbiBvZmZzZXQgdG8gdGltZXN0YW1wIDAgaXMgdXNlbGVzcyBhcyB0aGUgb25seSB0aGluZyB3ZSByZWFsbHkKCSAgY2FyZSBhYm91dCBpcyB0aGUgb2Zmc2V0IGJldHdlZW4gdGhlIGN1cnJlbnQgZnJhZ21lbnQgdGltZXN0YW1wIGFuZCB0aGUKCSAgbWVkaWEgdGltZXN0YW1wLgoKMjAxNS0wNi0yNSAyMDoxOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFN1YnRyYWN0IHRoZSBwZXJpb2Qgc3RhcnQgd2hlbiBzZWVraW5nIGJhc2VkIG9uIGEgdGVtcGxhdGUKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgbG9vayBmb3Igc2VnbWVudHMgYWZ0ZXIgdGhlIHBlcmlvZCB1c3VhbGx5LiBUaGUgc2VlawoJICB0aW1lc3RhbXAgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBwZXJpb2QgYW5kIHdlIGhhdmUgdG8KCSAgc2VsZWN0IGEgc2VnbWVudCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwZXJpb2QncyBzdGFydC4KCjIwMTUtMDYtMjUgMjA6MDk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBJbmNsdWRlIHRoZSBwZXJpb2Qgc3RhcnQgaW4gdGhlIGZyYWdtZW50IHRpbWVzdGFtcHMgaW4gYWxsIGNhc2VzCgkgIFdlIGRpZG4ndCBkbyB0aGlzIGZvciBmcmFnbWVudHMgdGhhdCBhcmUgZ2VuZXJhdGVkIG9uIGRlbWFuZCBmcm9tIGEgdGVtcGxhdGUsCgkgIG9ubHkgZm9yIHRoZSBvdGhlciBjYXNlcyB3aGVuIHRoZXkgd2VyZSBhbGwgZ2VuZXJhdGVkIHVwZnJvbnQuIFRoaXMgY2F1c2VkCgkgIGZyYWdtZW50IHRpbWVzdGFtcHMgdG8gc3RhcnQgZnJvbSAwIGFnYWluIGZvciBlYWNoIG5ldyBwZXJpb2QuCgoyMDE1LTA2LTI1IDIzOjIzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogU2VlayBvbiB0aGUgbmV3IHN0cmVhbXMgaWYgdGhlIHNlZWsgY2F1c2VkIGEgcGVyaW9kIHN3aXRjaAoJICBTZWVraW5nIG9uIHRoZSBvbGQgc3RyZWFtcyBpcyBwb2ludGxlc3MsIHRoZXkgYXJlIGdvaW5nIHRvIGJlIGZyZWVkIG9uIHRoZQoJICBuZXh0IG9wcG9ydHVuaXR5LgoKMjAxNS0wNi0yNSAxNTowNToyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogQ29ycmVjdCBjaGVjayBmb3IgdmFsaWQgdGltZVNoaWZ0QnVmZmVyRGVwdGgKCSAgSWYgbm90IHNldCwgdGhlIHRpbWVTaGlmdEJ1ZmZlckRlcHRoIGhhcyBhIGRlZmF1bHQgdmFsdWUgb2YgLTEuCgkgIFRoZSBzdGFuZGFyZCBzYXlzIHRoYXQgdGhpcyBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgaW5maW5pdGUuCgkgIFRoZSBnc3RfbXBkX2NsaWVudF9jaGVja190aW1lX3Bvc2l0aW9uIGZ1bmN0aW9uIGluY29ycmVjdGx5IGNvbXBhcmVzCgkgIHRpbWVTaGlmdEJ1ZmZlckRlcHRoIHdpdGggMCBpbnN0ZWFkIG9mIC0xIHRvIGRldGVybWluZSBpZiBpdCB3YXMgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTAwCgoyMDE1LTA2LTI1IDExOjAyOjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkgIGRvY3M6IGRlY29kZWJpbjIgLT4gZGVjb2RlYmluCgoyMDE1LTA0LTI3IDE1OjA5OjE4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSBzaGFyaW5nIG9mIENNQmxvY2tCdWZmZXIgZGF0YQoJICBJbnN0ZWFkIG9mIHdyYXBwaW5nIHdpdGggR1NUX01FTU9SWV9GTEFHX05PX1NIQVJFLCB3ZSBtYWtlIHRoZSBHc3RNZW1vcnkKCSAgb2JqZWN0IHJldGFpbiB0aGUgdW5kZXJseWluZyBDTUJsb2NrQnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDcyCgoyMDE1LTA0LTI3IDE1OjAyOjU5ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IENNQmxvY2tCdWZmZXIgY2FuIGJlIG5vbi1jb250aWd1b3VzCgkgIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHdvdWxkIHJldHVybiB0aGUgZW50aXJlIGRhdGEgbGVuZ3RoLCB3aGlsZQoJICBzaXplIG9mIGluZGl2aWR1YWwgYmxvY2tzIGNhbiBiZSBzbWFsbGVyLiBJdGVyYXRlIG92ZXIgdGhlIGJsb2NrIGJ1ZmZlcgoJICBhbmQgYWRkIHRoZSBpbmRpdmlkdWFsIChwb3NzaWJseSBub24tY29udGlndW91cykgbWVtb3J5IGJsb2Nrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA3MQoKMjAxNS0wNi0yNCAxNzoxNjo0NiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDb3JyZWN0ZWQgZHVyYXRpb24gYXJndW1lbnQgZm9yIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50IGNhbGwKCSAgVGhlIGxhc3QgcGFyYW1ldGVyIG9mIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50IGZ1bmN0aW9uIGlzIGEKCSAgZHVyYXRpb24uIEJ1dCB3aGVuIGNhbGxlZCBmcm9tIGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uLCB0aGUKCSAgbGFzdCBhcmd1bWVudCB3YXMgd3JvbmdseSBzZXQgdG8gUGVyaW9kRW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0NDkKCjIwMTUtMDYtMjQgMjE6NDI6MzIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogaW5jb3JyZWN0IHVzZSBvZiBwZXJpb2Qgc3RhcnQKCSAgVGhlIHBlcmlvZCBzdGFydCBpbmZvcm1hdGlvbiwgY2FsY3VsYXRlZCBpbiBnc3RfbXBkX2NsaWVudF9zZXR1cF9tZWRpYV9wcmVzZW50YXRpb24KCSAgZnVuY3Rpb24gaXMgc3RvcmVkIGluIHN0cmVhbV9wZXJpb2QtPnN0YXJ0LiBUaGUgaW5mb3JtYXRpb24gcmVhZCBmcm9tCgkgIHhtbCBmaWxlIGFuZCBzdG9yZWQgaW4gc3RyZWFtX3BlcmlvZC0+cGVyaW9kLT5zdGFydCBpcyBub3QgY2hhbmdlZC4KCSAgSWYgdGhlIHhtbCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gdGhlIHBlcmlvZCBzdGFydCBpbmZvcm1hdGlvbiwKCSAgc3RyZWFtX3BlcmlvZC0+cGVyaW9kLT5zdGFydCB3aWxsIGJlIC0xLgoJICBUaGUgZnVuY3Rpb24gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfZW5kX3RpbWUgd2FudHMgdG8KCSAgdXNlIHBlcmlvZCBzdGFydCB0aW1lLCBidXQgaW5jb3JyZWN0bHkgdXNlcyBzdHJlYW1fcGVyaW9kLT5wZXJpb2QtPnN0YXJ0CgkgICh2YWx1ZSBmcm9tIHhtbCBmaWxlLCB3aGljaCBjb3VsZCBiZSAtMSkgaW5zdGVhZCBvZiBzdHJlYW1fcGVyaW9kLT5zdGFydAoJICAoY29tcHV0ZWQgdmFsdWUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0NjUKCjIwMTUtMDYtMTUgMTc6MTg6NDEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogcmVuYW1lZCBmdW5jdGlvbnMKCSAgUmVuYW1lZCAyIHRlc3RjYXNlIGZ1bmN0aW9uczoKCSAgLSBkYXNoX21wZHBhcnNlcl9wcm9ncmFtX2luZm9ybWF0aW9uCgkgIC0gZGFzaF9tcGRwYXJzZXJfYmFzZV9VUkwKCjIwMTUtMDYtMjUgMDA6MDQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNS4yID09PQoKMjAxNS0wNi0yNCAyMzozNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjIKCjIwMTUtMDYtMjQgMjM6MDE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wNi0xNSAxNzozMDoyNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGRlZCBleHBsaWNpdCB0eXBlIGNvbnZlcnNpb25zCgkgIGZsZXhlbGludCAoaHR0cDovL3d3dy5naW1wZWwuY29tL2h0bWwvZmxleC5odG0pIHN0YXRpYyBjb2RlIGFuYWx5c2VyCgkgIGNvbXBsYWluZWQgYWJvdXQgaW1wbGljaXQgY29udmVyc2lvbnMgZnJvbSB1bnNpZ25lZCB0byBzaWduZWQsIHNvIEkgYWRkZWQKCSAgZXhwbGljaXQgY29udmVyc2lvbnMuCgkgIElkZWFsbHksIHRoZSBzaXplIHBhcmFtZXRlciBvZiBnc3RfbXBkX3BhcnNlIGZ1bmN0aW9uIHNob3VsZCBiZSB1bnNpZ25lZCwKCSAgYnV0IEkgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgdGhlIEFQSS4KCjIwMTUtMDYtMTUgMTY6NTk6MzMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogY29ycmVjdGVkIHJldHVybiB0eXBlIGZvciBkdXJhdGlvbl90b19tcyBmdW5jdGlvbgoJICBUaGUgZHVyYXRpb25fdG9fbXMgZnVuY3Rpb24gY29udmVydHMgYSB0aW1lIHNwZWNpZmllZCBieSB5ZWFyLCBtb250aCwgZGF5LAoJICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgdG8gYSBtaWxsaXNlY29uZCB2YWx1ZS4gQmVjYXVzZSBhbGwgdGhlCgkgIGFyZ3VtZW50cyBhcmUgcG9zaXRpdmUgbnVtYmVycywgdGhlIHJlc3VsdCBtdXN0IGFsc28gYmUgcG9zaXRpdmUuCgkgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgcmV0dXJuZWQgdmFsdWUgZnJvbSBhIGdpbnQ2NCB0byBhIGd1aW50NjQgdHlwZS4KCjIwMTUtMDYtMjQgMTE6MTU6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMjMgMTg6MTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFsc28gdXBkYXRlIHNlZ21lbnQuYmFzZSBhbmQgc2VnbWVudC50aW1lIHdoZW4gc3dpdGNoaW5nIHBlcmlvZHMKCSAgQW5kIGluY2x1ZGUgdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQgaW4gdGhlIGxhc3Qga25vd24gcG9zaXRpb24gZm9yIGVhY2gKCSAgc3RyZWFtLCBhbmQganVzdCBiZWNhdXNlIHdlIGNhbiBhbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGxhdGVzdCBrbm93biBwb3NpdGlvbgoJICBpbnNpZGUgdGhlIGRlbXV4ZXIgc2VnbWVudC4KCjIwMTUtMDYtMjMgMTY6NDY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBSZXZlcnQgImdsL3dpbmRvdy94MTE6IGRvbid0IGNyZWF0ZSBvdXIgb3duIFgxMSBkaXNwbGF5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU2OTdiNmI4OWI0YjJhMTVjNDViZDQ3YmU5NDBhMTdmNDQxMmVhMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwMDMKCjIwMTUtMDYtMjMgMTQ6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBSZXZlcnQgImVhZ2w6IERvbid0IGRpc3BhdGNoX3N5bmMoKSB0byB0aGUgbWFpbiB0aHJlYWQgaWYgd2UgYXJlIG9uIHRoZSBtYWluIHRocmVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwYmZmNDgxMDExY2Y3NGM1OTg2OWI1MTEzOTNkMTY5NmI1NzBlM2Q1LgoJICBJdCB3YXNuJ3Qgc3VwcG9zZWQgdG8gYmUgbWVyZ2VkIGFuZCBhbHNvIGRvZXNuJ3QgZml4IHRoZSBwcm9ibGVtLgoKMjAxNS0wNi0yMyAxMzoxMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogUmVtZW1iZXIgdGhlIGxhc3QgcmV0dXJuIHZhbHVlIG9mIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fdXBkYXRlX2ZyYWdtZW50X2luZm8oKQoJICBJdCdzIGdvaW5nIHRvIHJldHVybiBFT1MgaWYgdGhlIHBlcmlvZCBlbmRlZCBvciBvdGhlcndpc2UgdGhlcmUgaXMganVzdCBubwoJICBuZXh0IGZyYWdtZW50IGxlZnQuIElmIHdlIGRvbid0IHN0b3JlIHRoZSBsYXN0IHJldHVybiB2YWx1ZSwgaXQgd2lsbCBhbHdheXMKCSAgc3RheSBPSyBhbmQgZ3N0X2FkYXB0aXZlX2RlbXV4X2NvbWJpbmVfZmxvd3MoKSB3aWxsIGFsd2F5cyByZXR1cm4gT0sgaW5zdGVhZAoJICBvZiBFT1Mgb25jZSBhbGwgc3RyZWFtcyBhcmUgZG9uZS4KCSAgVGhpcyBwYXJ0aWFsbHkgc3dpdGNoZXMgcGVyaW9kIGNoYW5nZXMgaW4gREFTSCBieSBhdCBsZWFzdCB0cnlpbmcgdG8gc3dpdGNoCgkgIGluc3RlYWQgb2YganVzdCBzdG9wcGluZy4gV2hhdCBpcyBzdGlsbCBsZWZ0IGlzIHRoYXQgYWZ0ZXIgYSBwZXJpb2QgY2hhbmdlCgkgIHdpdGggREFTSCB0aGUgdGltZXMgYWxsIHN0YXJ0IGF0IDAgYWdhaW4gaW5zdGVhZCBvZiBjb250aW51aW5nLgoKMjAxNS0wNi0yMyAxMTowNTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGVhZ2w6IERvbid0IGRpc3BhdGNoX3N5bmMoKSB0byB0aGUgbWFpbiB0aHJlYWQgaWYgd2UgYXJlIG9uIHRoZSBtYWluIHRocmVhZAoJICBUaGlzIHdpbGwgb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAxCgoyMDE1LTA2LTIzIDEwOjMxOjQ0ICswMjAwICBKb2huIEx1ZHdpZyA8am9obkB0aGVsdWR3aWdzLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJICBnbDogSW5jbHVkZSB0ZXhQYXJhbWV0ZXJmIGluIHRoZSBHTCBmdW5jdGlvbiB0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjI4CgoyMDE1LTA1LTI5IDE0OjI3OjI0ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGVycm9yaWdub3JlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGVycm9yaWdub3JlLmg6CgkgIGVycm9yLWlnbm9yZTogTmV3IGVsZW1lbnQgdG8gY29udmVydCBzb21lIEdzdEZsb3dSZXR1cm4gdHlwZXMgaW50byBvdGhlcnMKCSAgQ2FuIGJlIHVzZWQgdG8gZml4IG1pc2JlaGF2aW5nIHNpbmtzLiBJdCB3aWxsIHBhc3MgdGhyb3VnaCBhbGwgYnVmZmVycwoJICB1bnRpbCBpdCBlbmNvdW50ZXJzIEdTVF9GTE9XX0VSUk9SIG9yIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIChjb25maWd1cmFibGUpLgoJICBBdCB0aGF0IHBvaW50IGl0IHdpbGwgdW5yZWYgdGhlIGJ1ZmZlcnMgYW5kIHJldHVybiBHU1RfRkxPV19OT1RfTElOS0VECgkgIChjb25maWd1cmFibGUpIC0gdW50aWwgdGhlIG5leHQgUkVBRFlfVE9fUEFVU0VEIG9yIEZMVVNIX1NUT1AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwOTgKCjIwMTUtMDYtMjAgMTM6MzY6MjcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBzaW1wbGlmaWVzIGFuZCBpbXByb3ZlcyBzaW5rX2dldF9jYXBzLgoJICBUaGUgcHJvYmxlbSBoZXJlIHdhcyB0aGF0IGFmdGVyIHJlbW92aW5nIHRoZSBmb3JtYXRzIGFuZAoJICBhbGwgdGhlIHRoaW5ncyB3ZSBjb3VsZCBjb252ZXJ0LCB3ZSB0aGVuIGludGVyc2VjdGVkIHRoZXNlCgkgIGNhcHMgd2l0aCB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgSGVuY2UgaWYgYSBzdWJjbGFzcyBvZmZlcmVkIHBlcm1pc3NpdmUgc2luayB0ZW1wbGF0ZXMKCSAgKGVnIGFsbCB0aGUgcG9zc2libGUgZm9ybWF0cyB2aWRlb2NvbnZlcnQgaGFuZGxlcyksIGJ1dCBvbmx5CgkgIG9uZSBvdXRwdXQgZm9ybWF0LCB0aGVuIGF0IG5lZ290aWF0aW9uIHRpbWUgZ2V0Y2FwcyByZXR1cm5lZAoJICBjYXBzIHdpdGggdGhlIGZvcm1hdCByZXN0cmljdGVkIHRvIHRoYXQgZm9ybWF0LCBldmVuIHRob3VnaAoJICB3ZSBkbyBoYW5kbGUgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI1NQoKMjAxNS0wNi0yMiAxNTo0NzoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFBvcnQgdG8gZ19nZXRfY3VycmVudF90aW1lCgkgIFRoaXMgaXMgbW9yZSBwb3J0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTIyMQoKMjAxNS0wNi0xNiAxNzoxODo1MiArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhZGQgZnJhbWUgcmF0ZSByYW5nZSB0byBjYXBzCgkgIFdoZW4gQVZGb3VuZGF0aW9uIGluZGljYXRlcyBhIHN1cHBvcnRlZCBmcmFtZSByYXRlIHJhbmdlLCBhZGQgaXQgdG8KCSAgdGhlIGNhcHMuIFRoaXMgaXMgaW1wb3J0YW50IGZvciBkZXZpY2VzIHN1Y2ggYXMgdGhlIGlQaG9uZSA2LCB3aGljaAoJICBpbmRpY2F0ZSBhIHNpbmdsZSBBVkZyYW1lUmF0ZVJhbmdlIG9mIDJmcHMgLSA2MGZwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA0OAoKMjAxNS0wNi0xNSAxNzozNzo0MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGRlZCBwYXJzaW5nIG9mIHBlcmlvZCBlbGVtZW50CgkgIEltcHJvdmVkIGRhc2hfbXBkIHVuaXQgdGVzdHMgYnkgYWRkaW5nIG5ldyB0ZXN0cyB0aGF0IHBhcnNlIHRoZSBQZXJpb2QgZWxlbWVudC4KCSAgQ29kZSBjb3ZlcmFnZSByZXBvcnRlZCBieSBsY292IGZvciBkYXNoL2dzdG1wZHBhcnNlci5jIGlzOgoJICBsaW5lcy4uLi4uLjogNDMuMCUgKDk4NSBvZiAyMjkwIGxpbmVzKQoJICBmdW5jdGlvbnMuLjogNDcuNSUgKDY3IG9mIDE0MSBmdW5jdGlvbnMpCgoyMDE1LTA2LTIyIDE0OjA2OjA0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZml4IGNvbnNpc3RlbmN5IGFib3V0IHBibyBhdmFpbGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNjUKCjIwMTUtMDYtMTUgMTc6MzQ6NDggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogZXh0ZW5kZWQgTVBEIGVsZW1lbnQgdGVzdCB0byB0ZXN0IHhtbCBuYW1lc3BhY2VzCgkgIEV4dGVuZGVkIHRoZSBkYXNoX21wZHBhcnNlcl9tcGQgdGVzdGNhc2UgdG8gYWxzbyB0ZXN0IHBhcnNpbmcgdGhlIHhtbAoJICBuYW1lc3BhY2UgYXR0cmlidXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODYzCgoyMDE1LTA2LTE1IDEzOjQzOjUzICswMjAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBBZGQgYml0cmF0ZSB0byB0aGUgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwOTkyCgoyMDE1LTA2LTE1IDEyOjU5OjU1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBjb21wdXRhdGlvbiBvZiBwZXJpb2QncyBkdXJhdGlvbgoJICBBY2NvcmRpbmcgdG8gSVNPL0lFQyAyMzAwOS0xOjIwMTQoRSksIGNoYXB0ZXIgNS4zLjIuMQoJICAiVGhlIFBlcmlvZCBleHRlbmRzIHVudGlsIHRoZSBQZXJpb2RTdGFydCBvZiB0aGUgbmV4dCBQZXJpb2QsIG9yIHVudGlsCgkgIHRoZSBlbmQgb2YgdGhlIE1lZGlhIFByZXNlbnRhdGlvbiBpbiB0aGUgY2FzZSBvZiB0aGUgbGFzdCBQZXJpb2QuIgoJICBUaGlzIG1lYW5zIHRoYXQgYSBjb25maWd1cmVkIHZhbHVlIGZvciBvcHRpb25hbCBhdHRyaWJ1dGUgcGVyaW9kIGR1cmF0aW9uCgkgIHNob3VsZCBiZSBpZ25vcmVkIGlmIHRoZSBuZXh0IHBlcmlvZCBjb250YWlucyBhIHN0YXJ0IGF0dHJpYnV0ZSBvciBpdCBpcwoJICB0aGUgbGFzdCBwZXJpb2QgYW5kIHRoZSBNUEQgY29udGFpbnMgYSBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGF0dHJpYnV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc5NwoKMjAxNS0wNi0yMiAxMzoyOToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJICBiYXllcjogdXBkYXRlIE9SQyBmaWxlcwoJICBVcGRhdGUgT1JDIGZpbGVzIHdpdGggbmV3ZXN0IE9SQyB0byBmaXggYmFja3VwIGNvZGUgZ2VuZXJhdGlvbiBlcnJvci4KCjIwMTUtMDYtMjIgMTA6NDk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgaXJ0c3BwYXJzZTogcmVmbG93IGNvZGUgdG8gYXZvaWQgdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIFRoaXMgc2hvdWxkIGhvcGVmdWxseSBhbGxvdyBldmVuIHRoZSBtb3N0IGNoYWxsZW5nZWQgc3RhdGljCgkgIGNvZGUgYW5hbHl6ZXIgdG8gZmlndXJlIG91dCB0aGF0IGl0J3MgYWxsIGZpbmUuIEFsc28gbWFrZXMKCSAgdGhlIGZsb3cgY2xlYXJlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNQoKMjAxNS0wNi0yMiAxMDo1ODowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IGNvZGUgc3R5bGUgZml4CgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDUKCjIwMTUtMDYtMjIgMDk6MjM6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBmaXggc21hbGwgbGVhayBpbiBjYXBzIHF1ZXJ5IGhhbmRsZXIKCSAgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdCgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzLgoKMjAxNS0wNi0yMiAxMTowMzoxNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRfc3JjOiBhZGQgbWlzc2luZyBicmVhayBpbiBjYXBzIHF1ZXJ5IGhhbmRsZXIKCSAgVGhlcmUgaXMgYSBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBpbiBzd2l0Y2gsCgkgIHdoaWNoIHdpbGwgcmVzdWx0IGluIGV4ZWN1dGluZyBkZWZhdWx0IGNhc2UgYXMgd2VsbAoJICByZXN1bHRpbmcgaW4gd3JvbmcgYmVoYXZpb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNQoKMjAxNS0wNi0yMiAwOTowODowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnMXN5cy8uZ2l0aWdub3JlOgoJKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5oOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9tcGVnMXN5cy9tcGVnMXN5c3RlbWVuY29kZS52Y3Byb2o6CgkqIGdzdC9tcGVnMXN5cy9zeXN0ZW1zLmM6CgkgIG1wZWcxc3lzOiByZW1vdmUgYW5jaWVudCBwbHVnaW4gdGhhdCdzIG5ldmVyIGV2ZW4gYmVlbiBwb3J0ZWQgdG8gMC44CgoyMDE1LTA2LTIxIDE3OjEzOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogYWRkIHNvbWUgcGFkZGluZyB0byBTY2FuSGRyIHN0cnVjdAoJICBGb3IgYml0cyB0aGF0IHdlIGRvbid0IHBhcnNlIG91dCBhdCB0aGUgbW9tZW50LgoKMjAxNS0wNi0yMSAxNzowMzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGFkZCBuZXcgQVBJIHRvIC5kZWYgZmlsZQoKMjAxNS0wNi0yMSAxNDo1ODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBkb2NzIGZvciB0YWJsZSBwYXJzaW5nIGZ1bmN0aW9ucwoKMjAxNS0wNi0yMSAxMzo1NToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgZG9jczogYWRkIG5ldyBKUEVHIGNvZGVjcGFyc2VyIEFQSSB0byB0aGUgZG9jcwoJICBBbmQgc3ByaW5rbGUgc29tZSBtb3JlIFNpbmNlIG1hcmtlcnMKCjIwMTUtMDYtMjEgMTE6NTE6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9wYXJzZS12cDguYzoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZwOHBhcnNlci10ZXN0LmM6CgkgIGV4YW1wbGVzOiBtb3ZlIHZwOCBwYXJzZXIgdGVzdCB0byBjb2RlY3BhcnNlciBleGFtcGxlIGRpcmVjdG9yeQoKMjAxNS0wNi0yMSAxMToyMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL3BhcnNlLWpwZWcuYzoKCSAgZXhhbXBsZXM6IGFkZCBzbWFsbCBqcGVnIGNvZGVjcGFyc2VyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0yMCAyMjo0OToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCB2YWxpZGl0eSBjaGVja2luZyBvZiBkYXRhIHBhcnNlZAoJICBnX3JldHVybl92YWxfaWZfZmFpbCgpIGFuZCBnX2Fzc2VydCgpIGFyZSBub3QgYXBwcm9wcmlhdGUKCSAgZm9yIGNoZWNraW5nIHVudHJ1c3RlZCBleHRlcm5hbCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTIwIDE5OjUyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCB1cCBBUEkKCSAgLSBhZGQgZGF0YSBwb2ludGVyIHRvIEdzdEpwZWdTZWdtZW50IGFuZCBwYXNzIHNlZ21lbnQKCSAgdG8gYWxsIHBhcnNpbmcgZnVuY3Rpb25zLCByZW5hbWUgYWNjb3JkaW5nbHkKCSAgLSBzaG9ydGVuIEdzdEpwZWdNYXJrZXJDb2RlIGVudW0gdHlwZSBuYW1lIHRvIEdzdEpwZWdNYXJrZXIKCSAgLSBtb3ZlIGZ1bmN0aW9uIGd0ay1kb2MgYmx1cmJzIGludG8gLmMgZmlsZQoJICAtIGFkZCBzaW5jZSBtYXJrZXJzCgkgIC0gZmxlc2ggb3V0IGRvY3MgZm9yIFNPRiBtYXJrZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMTQgMTE6NDE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogdHdlYWsgQVBJIGEgbGl0dGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMTQgMTk6MDE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogaGlkZSBnc3RfanBlZ19zY2FuX2Zvcl9tYXJrZXJfY29kZSgpCgkgIE1ha2UgdGhpcyBmdW5jdGlvbiBwcml2YXRlIGZvciBub3csIHNpbmNlIGl0J3MgdW5jbGVhciB3aGV0aGVyCgkgIGl0J3MgYWN0dWFsbHkgbmVlZGVkIHNlZWluZyB0aGF0IGdzdF9qcGVnX3BhcnNlKCkgc2NhbnMgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDEzLTA5LTI0IDE2OjEwOjQ1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggYW5kIG9wdGltaXplIHNjYW4gZm9yIG5leHQgbWFya2VyIGNvZGUuCgkgIEZpeCBzY2FuIGZvciBuZXh0IG1hcmtlciBjb2RlIHdoZW4gdGhlcmUgaXMgYW4gb2RkIG51bWJlciBvZiBmaWxsZXIKCSAgKDB4ZmYpIGJ5dGVzIGJlZm9yZSB0aGUgYWN0dWFsIG1hcmtlciBjb2RlLiBBbHNvIG9wdGltaXplIHRoZSBsb29wCgkgIHRvIGV4ZWN1dGUgd2l0aCBmZXdlciBpbnN0cnVjdGlvbnMgKH4xMCUpLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgZm9yIFNwZWN0cmFsZmFuLm1vdi4KCjIwMTMtMDktMTggMTU6NTY6NTIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBjYWxjdWxhdGlvbiBvZiBzZWdtZW50IHNpemUuCgkgIFRoZSBzaXplIG9mIGEgbWFya2VyIHNlZ21lbnQgaXMgZGVmaW5lZCB0byBiZSBleGNsdXNpdmUgb2YgYW55IGluaXRpYWwKCSAgbWFya2VyIGNvZGUuIFNvLCBmaXggdGhlIHNpemUgZm9yIFNPSSwgRU9JIGFuZCBBUFBuIHNlZ21lbnRzIGJ1dCBhbHNvCgkgIHRoZSBzaXplIG9mIGFueSBwb3NzaWJsZSBzZWdtZW50IHRoYXQgaXMgdXN1YWxseSAicmVzZXJ2ZWQiIG9yIG5vdAoJICBleHBsaWNpdGx5IGRlZmluZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc0NDcKCjIwMTMtMDYtMTMgMTM6MjI6MTggKzA4MDAgIFdpbmQgWXVhbiA8ZmVuZy55dWFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBkZWZhdWx0IEh1ZmZtYW4gdGFibGVzIGdlbmVyYXRpb24uCgkgIEZpeCBidWlsZF9odWZmbWFuX3RhYmxlKCkgdG8gY29ycmVjdGx5IGZpbGwgaW4gdGhlIGFzc29jaWF0ZWQgSFVGRlZBTAoJICBlbnRyaWVzIHRvIHRoZSBkZWZhdWx0IEh1ZmZtYW4gdGFibGVzLgoKMjAxMi0wOS0xMiAxMDo0MDowNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGFkZCBKUEVHIGJpdHN0cmVhbSBwYXJzZXIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTIwIDE2OjA3OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdHlwbyBpbiBsb2cgbWVzc2FnZQoKMjAxNS0wNi0xNSAxNjowOTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsZGlzcGxheTogYWRkIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIEl0IGFsc28gZW1pdHMgYSBjcmVhdGUtY29udGV4dCBzaWduYWwgc28gdGhhdCBhbiBhcHBsaWNhdGlvbgoJICBjYW4gcHJvdmlkZSBhbiBleHRlcm5hbCBHc3RHTENvbnRleHQgYmFja2VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNi0xNSAxNjozNjoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBtb3ZlIGRpc3BsYXkgZnJvbSBwcml2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDYtMTggMTA6NTU6MjggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIFJldmVydCAiZ2xjb250ZXh0OiBhZGQgZ3N0X2dsX2NvbnRleHRfc2V0X2Rpc3BsYXkgaGVscGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDcxYjgxMDNjYmQxNmZmZjljZjVhNjVjZjUxNzA4M2NiNzk0YWEzYjUuCgoyMDE1LTA2LTE4IDEwOjUyOjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBSZXZlcnQgImdsOiBhZGQgR3N0R0xDb250ZXh0R1BVUHJvY2VzcyBiYWNrZW5kIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGIzNzcxMTJlZTM4OTEyZDMxNmU3N2I0ZTIxMDIwNDEzODlkYzAwNTEuCgoyMDE1LTA2LTE5IDE0OjM1OjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUmVtb3ZlIGR1cGxpY2F0ZSwgdXNlbGVzcyBsaW5lIG9mIGNvZGUKCjIwMTUtMDYtMTggMjI6MTE6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBvcGVuZ2w6IGdsc3Rlcm8qIGFyZSBvbmx5IGJ1aWx0IHdpdGggZnVsbCBPcGVuR0wKCSAgRG9uJ3QgdHJ5IHRvIHJlZ2lzdGVyIHRoZSBlbGVtZW50cyB1bmxlc3MgdGhleSBhcmUgYnVpbHQuCgoyMDE1LTA2LTE4IDIxOjA5OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc3R5bGU6IFJlbW92ZSB3aGl0ZSBzcGFjZXMgYXQgdGhlIGVuZCBvZiBsaW5lCgoyMDE1LTA2LTE4IDE4OjA5OjU1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggR0xFUzIgY29tcGF0aWJpbGl0eQoKMjAxNS0wNi0xOCAxODowMjoyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogRml4IGJyb2tlbiB2YWxpZGl0eSBjaGVjawoKMjAxNS0wNi0xNSAxNjowNjo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1vdmUgUEFSIGNhbGNzLCBhbmQgdXNlIHRoZW0gZm9yIHN0ZXJlb3Njb3BpYyBoYWxmLWFzcGVjdAoJICBNb3ZlIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb25zIGhpZ2hlciB1cCBpbiBjYXBzCgkgIGRldGVybWluYXRpb24sIHNvIHRoZSByZXN1bHRzIGFyZSBhdmFpbGFibGUgZm9yIGEgY2FsbCB0bwoJICBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgd2hlbiBzdGVyZW9zY29waWMgdmlkZW8KCSAgaXMgZGV0ZWN0ZWQuCgoyMDE1LTA1LTMwIDAzOjA5OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vM2R2aWRlby52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbXZpZXd3aWRnZXQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbXZpZXd3aWRnZXQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJICAzZHZpZGVvOiBBZGQgc2ltcGxlIGd0ayBleGFtcGxlIHN0ZXJlb3Njb3BpYyB2aWRlbyBwbGF5ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNS0zMCAwMjoyOTowNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguaDoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuaDoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogQWRkIGdsdmlld2NvbnZlcnQsIGdsc3RlcmVvbWl4IGFuZCBnbHN0ZXJlb3NwbGl0IGVsZW1lbnRzCgkgIENvbnZlcnNpb24gZWxlbWVudHMgZm9yIHRyYW5zZm9ybWluZyBtdWx0aXZpZXcvc3RlcmVvc2NvcGljIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDUtMzAgMDI6MjY6MzIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogU3VwcG9ydCBtdWx0aXZpZXcvc3RlcmVvc2NvcGljIHZpZGVvCgkgIFN1cHBvcnQgdmlkZW8gd2l0aCBtdWx0aXZpZXcgaW5mbyBpbiB0aGUgY2FwcywgdHJhbnNmb3JtCgkgIGl0IHRvIG1vbm8gYW5hZ2x5cGggYnkgZGVmYXVsdCwgYnV0IGFsbG93IGZvciBjb25maWd1cmluZwoJICBvdGhlciBvdXRwdXQgbW9kZXMgYW5kIGhhbmRvZmYgdG8gdGhlIGFwcCB2aWEKCSAgdGhlIGRyYXcgc2lnbmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA1LTMwIDAyOjIxOjQzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2wgbGliczogQWRkIGdsdmlld2NvbnZlcnQgaGVscGVyIG9iamVjdAoJICBBZGQgQVBJIGZvciBhIGhlbHBlciBvYmplY3QgdGhhdCBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudAoJICBzdGVyZW9zY29waWMgdmlkZW8gcmVwcmVzZW50YXRpb25zLCBhbmQgbGF0ZXIgZG8gZmlsdGVyaW5nCgkgIG9mIG11bHRpcGxlIHZpZXcgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNi0xOCAxNjoyMDoyNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCB3YXJuaW5ncyBpbiBnc3RfbXBkX2NsaWVudF9zZXR1cF9zdHJlYW1pbmcgZnVuY3Rpb24KCSAgQWRkZWQgc29tZSB3YXJuaW5nIG1lc3NhZ2VzIGluIGdzdF9tcGRfY2xpZW50X3NldHVwX3N0cmVhbWluZyB0byBoZWxwCgkgIGRlYnVnIHNpdHVhdGlvbnMgd2hlbiB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gRkFMU0UuCgkgIFJlbmFtZWQgYSB3cm9uZ2x5IHNwZWxsZWQgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNDkKCjIwMTUtMDYtMTggMTI6MjE6NDMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIGNvbW1lbnRzIGluIGdzdG1wZHBhcnNlci5oCgkgIENvcnJlY3RlZCBzb21lIGNvbW1lbnRzIGluIGdzdG1wZHBhcnNlci5oIGZpbGUuCgkgIE1vdmVkIGdzdF9tcGRfY2xpZW50X2dldF9hZGFwdGF0aW9uX3NldHMgZnVuY3Rpb24gdG8gYmUgZ3JvdXBlZCB3aXRoCgkgIG90aGVyIGZ1bmN0aW9ucyBmcm9tIEFkYXB0YXRpb25TZXQgZ3JvdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE0OQoKMjAxNS0wNi0xOCAxMzowODoyNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBnZXR0aW5nIHJlcHJlc2VudGF0aW9uIGJhc2VkIG9uIG1heCBiYW5kd2lkdGgKCSAgVGhlIGdzdF9tcGRwYXJzZXJfZ2V0X3JlcF9pZHhfd2l0aF9tYXhfYmFuZHdpZHRoIGZ1bmN0aW9uIGFzc3VtZXMKCSAgcmVwcmVzZW50YXRpb25zIGFyZSBvcmRlcmVkIGJ5IGJhbmR3aWR0aCBhbmQgaW5jb3JyZWN0bHkgcmV0dXJucyB0aGUKCSAgZmlyc3Qgb25lIHdoZW4gd2FudGluZyB0aGUgb25lIHdpdGggbWluaW11bSBiYW5kd2lkdGguCgkgIENvcnJlY3RlZCBnc3RfbXBkcGFyc2VyX2dldF9yZXBfaWR4X3dpdGhfbWF4X2JhbmR3aWR0aCBmdW5jdGlvbiB0byBnZXQgdGhlCgkgIGNvcnJlY3QgcmVwcmVzZW50YXRpb24gaW4gY2FzZSBtYXhfYmFuZHdpZHRoIHBhcmFtZXRlciBpcyAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTUzCgoyMDE1LTA2LTE4IDE0OjM4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQWxsb3cgdGhlIGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgdGhlIEphdmEgVk0KCSAgSW4gSk5JX09uTG9hZCgpIHdlIHdpbGwgYWxyZWFkeSBnZXQgdGhlIEphdmEgVk0gcGFzc2VkIGFuZCBjb3VsZAoJICBqdXN0IGRpcmVjdGx5IHVzZSB0aGF0LiBnc3RyZWFtZXJfYW5kcm9pZC0xLjAuYyB3aWxsIG5vdyBwcm92aWRlCgkgIHRoaXMgdG8gdXMuCgkgIFJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGFwcGFyZW50bHkgbm90IGFsbCBBbmRyb2lkIHN5c3RlbSBhcmUKCSAgcHJvdmlkaW5nIHRoZSBKTkkgZnVuY3Rpb25zIHRvIGdldCB0aGUgY3VycmVudGx5IHJ1bm5pbmcgSmF2YSBWTXMsIHNvCgkgIHdlIHdvdWxkIGZhaWwgdG8gZ2V0LiBXaXRoIHRoaXMgd2Ugd2lsbCBhbHdheXMgYmUgYWJsZSB0byBnZXQgdGhlIEphdmEKCSAgVk0gb24gc3VjaCBzeXN0ZW1zLgoKMjAxNS0wNi0xOCAxNDozMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogUHJlZmVyIHNvZnR3YXJlIGNvZGVjcyBvdmVyIGhhcmR3YXJlIGNvZGVjcyBmb3IgYXVkaW8KCSAgSGFyZHdhcmUgY29kZWNzIGRvbid0IG1ha2Ugc2Vuc2UgZm9yIGF1ZGlvIGFuZCBhcmUgZ2VuZXJhbGx5IGxlc3MgcmVsaWFibGUgb24KCSAgQW5kcm9pZCB0aGFuIHRoZSBzb2Z0d2FyZSBjb2RlY3MuCgoyMDE1LTA2LTE4IDE0OjI5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbmRyb2lkbWVkaWE6IEZhaWxpbmcgdG8gZGV0YWNoIGEgdGhyZWFkIGlzIG5vdCB0aGF0IG11Y2ggb2YgYSBwcm9ibGVtCgkgIFNvbWVvbmUgZWxzZSBtaWdodCBoYXZlIGRldGFjaGVkIGl0IGJlZm9yZSB1cywgc28gbWFrZSB0aGlzIGp1c3Qgbm9ybWFsIGRlYnVnCgkgIG91dHB1dCBpbnN0ZWFkIG9mIGEgR1NUX0VSUk9SKCkKCjIwMTUtMDYtMTggMTA6NDM6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgZmFpbCBpZiBKTklfQ3JlYXRlSmF2YVZNIGNhbid0IGJlIGZvdW5kCgkgIFdlIG9ubHkgbmVlZCB0aGF0IGlmIG5vIEphdmEgVk0gaXMgcnVubmluZyB5ZXQsIGFuZCBhbGwgdXN1YWwgY2FzZXMsCgkgIGkuZS4gd2hlbiBjYWxsaW5nIEdTdHJlYW1lciBmcm9tIGFuIGFjdHVhbCBBbmRyb2lkIGFwcCwgdGhlcmUgd2lsbCBhbHJlYWR5CgkgIGJlIGEgSmF2YSBWTSB3ZSBjYW4ganVzdCB1c2UuCgkgIEl0IHNlZW1zIGxpa2Ugc29tZSBwaG9uZXMgY29tZSB3aXRob3V0IHRoYXQgc3ltYm9sLCBsZXQncyBob3BlIHRoZXkgY29tZQoJICB3aXRoIHRoZSBvdGhlciBzeW1ib2wgYnV0IGZvciBub3cgZG9uJ3QgbWFrZSBhIG1pc3NpbmcgSk5JX0NyZWF0ZUphdmFWTSBmYXRhbC4KCjIwMTUtMDYtMTggMTI6NTk6MTggKzA3MDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGdldCByZW5kZXJlZCBhbmQgZHJvcHBlZCBzdGF0cyBmcm9tIFFPUyBtZXNzYWdlcwoJICBVc2UgUU9TIG1lc3NhZ2VzIHRvIHVwZGF0ZSByZW5kZXJlZCBhbmQgZHJvcHBlZCBmcmFtZSBzdGF0cy4gVGhpcyBpcwoJICB0aGUgb25seSBhY2N1cmF0ZSBtZXRob2QuIFRoZSBvbGQgbWV0aG9kIGRpZG4ndCB0YWtlIG1heC1sYXRlbmVzcyBhbmQKCSAgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgoyMDE1LTA2LTE3IDEwOjQ0OjE2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJICBuYWx1dGlsczogdHJpdmlhbCBwYXRjaCB0byBjaGVjayBpZgoJICB0cml2aWFsIHBhdGNoIHRvIGFkZCBwcm9wZXIgKCB3aGlsZSBjaGVja2luZyBmb3IgaWYoR19VTkxJS0VMWSgpKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDg3CgoyMDE1LTA2LTE2IDE3OjQ4OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjAxNWQyNiB0byBmNzRiMmRmCgoyMDE1LTA2LTE1IDIxOjMyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHdpZGdldDogQ29uc3QnaWZ5IGFub3RoZXIgYXJyYXkKCjIwMTUtMDYtMTUgMjE6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsd2lkZ2V0OiBDYWxjdWxhdGUgdGhlIHZpZXdwb3J0IHNpemUgb3Vyc2VsdmVzCgkgIEdldHRpbmcgdGhlIGN1cnJlbnQgdmlld3BvcnQgYW5kIG1vZGlmeWluZyBpdCByZWxhdGl2ZWx5IHdpbGwgcHJvZHVjZSBhbgoJICBpbnRlcmVzdGluZyBmZWVkYmFjayBsb29wIGR1cmluZyB3aWRnZXQgcmVzaXppbmcuIE92ZXIgYSBmZXcgZnJhbWVzIHdlCgkgIHdpbGwgZ3JhZHVhbGx5IG1vdmUgdGhlIHZpZXdwb3J0IGEgYml0IHVudGlsIGl0IGNvbnZlcmdlZCBhZ2FpbiwgYWRkaW5nCgkgIHVubmVjZXNzYXJ5IGFkZGl0aW9uYWwgYm9yZGVycyBhdCB0aGUgdG9wIGFuZCBsZWZ0LgoKMjAxNS0wNi0xNSAyMToyNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBVc2UgdGhlIGRpc3BsYXkgd2lkdGgvaGVpZ2h0IGZvciB0aGUgd2lkZ2V0J3MgcHJlZmVycmVkIHdpZHRoL2hlaWdodAoKMjAxNS0wNi0xNSAyMDo0NToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtzaW5rOiBBZGQgc3VwcG9ydCBmb3IgeFJHQi9CR1J4CgoyMDE1LTA2LTE1IDIwOjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogQ2Fpcm8gY29sb3IgZm9ybWF0cyBhcmUgaW4gbmF0aXZlIGVuZGlhbm5lc3MsIEdTdHJlYW1lcidzIGluIG1lbW9yeSBvcmRlcgoJICBDQUlST19GT1JNQVRfQVJHQjMyIGlzIEFSR0Igb24gYmlnIGVuZGlhbiBhbmQgQkdSQSBvbiBsaXR0bGUgZW5kaWFuLgoKMjAxNS0wNi0xNSAyMDozNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IEltcGxlbWVudCBpZ25vcmUtYWxwaGEgcHJvcGVydHkgYW5kIGVuYWJsZSBpdCBieSBkZWZhdWx0CgoyMDE1LTA2LTE1IDIwOjEzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0azogU3luYyBwcm9wZXJ0aWVzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHdpZGdldCB1cG9uIHdpZGdldCBjcmVhdGlvbgoKMjAxNS0wNi0xNSAxMDowODo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IFJlbW92ZSByZWR1bmRhbnQgbWluX2R0cwoJICBBZnRlciBmZXcgaXRlcmF0aW9uLCB0aGlzIHZhcmlhYmxlIGJlY2FtZSB0aGUgc2FtZSBhcyBkdHMuIEl0J3Mgbm90CgkgIHRoZSBtaW4gYXMgdGhlIG5hbWUgc2F5cywgYnV0IHRoZSBkdHMgb2YgdGhlIGN1cnJlbnQgYnVmZmVyLiBTaW1wbHkKCSAgcmVtb3ZlIGFuZCBwbGFjZSB3aXRoIGR0cy4gQWxzbyBtb3ZlIHRoZSBkZWJ1ZyB0cmFjZSB0byBhY3R1YWxseQoJICBwcmludCB0aGUgc2lnbmVkIHZlcnNpb24gb2YgdGhlIHJ1bm5pbmctdGltZSBkdHMuCgoyMDE1LTA2LTE1IDIyOjQzOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGFkZCBtaXNzaW5nIGhhbmRsZS1ldmVudHMvaWdub3JlLWFscGhhIHByb3BlcnR5IHRvIHRoZSBiaW4KCjIwMTUtMDYtMTUgMTg6Mjg6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCBwaXhlbCBhbmQgZGlzcGxheSBhc3BlY3QgcmF0aW8gaGFuZGxpbmcKCjIwMTUtMDYtMTUgMTQ6Mjk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUHJpbnQgc29tZSBkZWJ1ZyBvdXRwdXQgaWYgd2UgY2hhbmdlIHRoZSB0aW1lc3RhbXAgb2Zmc2V0CgoyMDE1LTA2LTE1IDE0OjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTA2LTE1IDE0OjIyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBNb3ZlIHZhcmlhYmxlcyBpbnRvIHRoZSBzY29wZSB3aGVyZSB0aGV5IGFyZSBuZWVkZWQKCjIwMTUtMDYtMTUgMTQ6MTk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3QgdXBkYXRlIHRoZSB0cy1vZmZzZXQgYmVmb3JlIHVwZGF0aW5nIHRoZSBhY3R1YWwgY29uZmlndXJlZCBjYXBzCgoyMDE1LTA2LTE1IDE0OjE4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbWVtYmVyIGlmIHRoZSBsYXN0IExBVEVOQ1kgcXVlcnkgcmV0dXJuZWQgbGl2ZSBvciBub3QgYW5kIHVzZSB0aGUgaW4gdGhlIFFvUyBtZXNzYWdlcwoKMjAxNS0wNi0xNSAxMjoyMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgcXVlcnkgc3VwcG9ydGVkIGNvbG9yIGZvcm1hdHMgZm9yIG5vbi12aWRlbyBjb2RlY3MKCjIwMTUtMDYtMTUgMTA6MzQ6NTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBidWlsZCBlcnJvcgoJICBhZnRlciBlMDAwYTZmMGE0OTg0ZmJlODExOTBkZjZjZDQzOWM3MGRhZmRlM2Q2LCB0aGVyZSBpcyBidWlsZCBlcnJvciBpbiBiYWQgcGx1Z2lucwoJICB0aGlzIGhhcHBlbnMgYmVjYXVzZSwgR1NUX0NMT0NLX1NUSU1FX0lTX1ZBTElEICgpIGlzIGJlaW5nIGNoZWNrZWQgZm9yIHBhZF9kYXRhCgkgIGJ1dCBpdCBleHBlY3RzIGEgR3N0Q2xvY2tUaW1lIHBhcmFtZXRlci4gQ2hhbmdpbmcgdGhlIGNoZWNrIHRvICdkdHMnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA5NjEKCjIwMTUtMDYtMTUgMTY6NDc6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcm86CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgcXQgZXhhbXBsZXMgZm9yIGFwaSBjaGFuZ2VzCgoyMDE1LTA2LTE1IDE0OjM1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogc2lsZW5jZSB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MgZm9yIHVuc3VwcG9ydGVkIHdpbnN5cycKCjIwMTUtMDYtMTUgMTQ6MzM6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgYmFzaWMgd2F5bGFuZCBHTCBzdXBwb3J0CgoyMDE1LTA2LTE0IDIzOjIwOjM4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHVwZGF0ZSB6b3JkZXIgZG9jdW1lbnRhdGlvbi4KCSAgSXQgaXMgbm90IGJvdW5kIGJldHdlZW4gMCBhbmQgMTAwMDAgYW55bW9yZS4KCjIwMTUtMDYtMTQgMjM6MTM6NTkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBObyBuZWVkIHRvIGFydGlmaWNpYWxseSBib3VuZCB0aGUgem9yZGVyLgoJICBJdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyIHNvIHRoZSB1cHBlciBib3VuZCBpcyBHX01BWFVJTlQuCgoyMDE0LTEwLTI5IDE1OjAzOjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBhY3R1YWxseSByZXR1cm4gZnVsbCBudW1iZXIgb2YgYml0cyBvZiByZXN5bmMgbWFya2VyCgkgIFN3aXRjaCB0aGUgaW5jcmVtZW50IG9mIG1hcmtlcnNpemUgZnJvbSB3aGVuIGl0IGlzIHVzZWQgdG8gd2hlbiBpdCBpcwoJICByZXR1cm5lZCBmcm9tIGNvbXB1dGVfcmVzeW5jX21hcmtlcl9zaXplLgoJICBUaGlzIGFsc28gbWFrZXMgdGhlIENIRUNLX1JFTUFJTklORyBpbiBnc3RfbXBlZzRfcGFyc2VfdmlkZW9fcGFja2V0X2hlYWRlcgoJICBjaGVjayBmb3IgdGhlIGFjdHVhbGx5IHJlcXVpcmVkIG51bWJlciBvZiBiaXRzIG5vdyBhbmQgbm90IG9uZSB0b28gZmV3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ1CgoyMDE1LTA2LTEzIDE3OjM2OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBSZXZlcnQgImNvZGVjcGFyc2VyczogcmVtb3ZlIGlnbm9yZWQgaW5jcmVtZW50IG9mIHJldHVybiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5MTZiOTU0MzE1YWJjMmY5NDM0OGVjMGJlM2UxMTZjMTliMDgwYjU0LgoJICBDbGVhcmx5IHNvbWV0aGluZyBlbHNlIHdhcyBpbnRlbmRlZCwgYW5kIGl0IGFsc28gbWFrZXMKCSAgbW9yZSBzZW5zZSB0byBhZGQgdGhlIGV4dHJhIGJpdC4gVGhlIHJlc3luYyBtYXJrZXIgaXMKCSAgTiB6ZXJvIGJpdHMgcGx1cyBhIDEgYml0LCBhbmQgdGhlIHBhdHRlcm4vbWFzayBuZWVkcyB0bwoJICBiZSBydW4gb24gTisxIGJpdHMgdG9vLgoJICAoRXZlbiBhZnRlciB0aGUgcmV2ZXIgdGhlIGNvZGUgZG9lc24ndCBkbyB0aGF0IG9mIGNvdXJzZSwgc28KCSAgaXQgc3RpbGwgbmVlZHMgdG8gYmUgZml4ZWQgZGlmZmVyZW50bHkuKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ1CgoyMDE1LTA2LTEyIDE4OjA4OjQ0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uaDoKCSAgb3BlbnNsZXM6IEZpeCBidWlsZCB3aXRoIEFuZHJvaWQgQVBJIGxldmVsIDwgMTQKCSAgSGVhZGVycyB3ZXJlIGJyb2tlbiBvbiBvbGRlciBBbmRyb2lkIHZlcnNpb25zLCBhcHBhcmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDU5CgoyMDE1LTAxLTI4IDEzOjA2OjM5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJICBvcGVuc2xlc3Npbms6IEFsbG93IHNldHRpbmcgdGhlIHN0cmVhbSB0eXBlIHZpYSBhIHByb3BlcnR5CgoyMDE1LTAxLTI3IDE1OjI1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlc3NyYzogSW1wbGVtZW50IHJlY29yZGluZyBwcmVzZXRzCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHNpZ25hbCB3aGF0IGtpbmQgb2YgYXVkaW8gd2UgYXJlIGV4cGVjdGluZyB0byByZWNvcmQsCgkgIHdoaWNoIHNob3VsZCB0ZWxsIHRoZSBzeXN0ZW0gdG8gYXBwbHkgZmlsdGVycyAoc3VjaCBhcyBlY2hvCgkgIGNhbmNlbGxhdGlvbiwgbm9pc2Ugc3VwcHJlc3Npb24sIGV0Yy4pIGlmIHJlcXVpcmVkLgoKMjAxNS0wNi0xMyAxMTo0MDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogUmVtb3ZlIGxhdGUgZnJhbWUtZHJvcHBpbmcgd29ya2Fyb3VuZCBmb3IgYmFzZXNpbmsgYnVnCgkgIFRoaXMgd2FzIGZpeGVkIGJ5IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyNTgKCSAgaW4gYmFzZXNpbmssIGFuZCBpcyBub3QgbmVjZXNzYXJ5IHRvIGR1cGxpY2F0ZSBoZXJlIGFueW1vcmUuCgoyMDE1LTA2LTEzIDE4OjQzOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJICBnbG1peGVyYmluOiBpbXBsZW1lbnQgcHJvcGVyIGR5bmFtaWMgcGFkIHJlbW92YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg4MQoKMjAxNS0wNi0xMiAyMDoxNDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogRG9uJ3QgZG8gcG9vbCBjYWNoaW5nCgkgIFdlIG5vdyBrbm93IHRoYXQgcG9vbCBjYWNoaW5nIGNhbiBjYXVzZSByZW5lZ290aWF0aW9uIGlzc3VlcwoJICB3aGVuIGFuIGVsZW1lbnQgaW4gdGhlIHBpcGVsaW5lIGNoYW5nZSBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vdAoJICBwYXNzdGhyb3VnaC4gQXMgaXQncyBub3QgbmVlZGVkLCBkb24ndCBjYWNoZSBleGlzdGluZyBwb29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM0NAoKMjAxNS0wNi0xMiAxODowODo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSByZWZlcmVuY2UgdG8gY3ZzCgoyMDE1LTA2LTEwIDE3OjA1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZWdtZW50IHN0YXJ0IHNob3VsZCBtYXRjaCBmaXJzdCBQVFMKCSAgVGhlIHNlZ21lbnQgc2hvdWxkIHN0YXJ0IGF0IGZpcnN0IFBUUywgYW5kIHRoZSB2YWlyYWJsZSBuYW1lIGxvd2VyX3B0cwoJICBzdGF0ZSBzbyBjb3JyZWN0bHkuIFRob3VnaCB3ZSB3aGVyZSB1c2luZyB0aGUgZmlyc3QgRFRTIGluc3RlYWQuIFRoaXMKCSAgY291bGQgbGVhZCB0byBzbWFsbCBkZXN5bmNocm9uaXphdGlvbiBvZiB2aWRlbyBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTI6MzI6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogQWRkIG5lZ2F0aXZlIERUUyBzdXBwb3J0CgkgIFVzZSB0aGUgc2F2ZWQgRFRTLCBtYWtlIGl0IHNpZ25lZCBhbmQgcGFzcyB0aGF0IHRvIHRoZSBzdHJlYW0gbXV4ZXIuIFRoaXMKCSAgcHJlc2VydmVzIHRoZSBydW5uaW5nIHRpbWUgc2lnbi4gQWxsIHVzYWdlIG9mIC0xIGFzIGludmFsaWQgVFMgYXJlIG5vdwoJICByZXBsYWNlZCB3aXRoIEdfTUlOSU5UNjQuIE5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHNlZW4gYXMgd3JhcC1hcm91bmQKCSAgcG9pbnQsIGJ1dCB0aGUgZGVsdGEgYmV0d2VlbiBQVFMgYW5kIERUUyB3aWxsIHJlbWFpbiBjb3JyZWN0LiBEZW11eGVycwoJICBkb24ndCBjYXJlIGFib3V0IGFic29sdXRlIHZhbHVlcywgdGhleSBvbmx5IGNhcmVzIGFib3V0IGRlbHRhcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxMjozMToxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgdHNtdXg6IFJlbW92ZSB1bmVlZGVkIGNhc3QgYW5kIGNhc3QgbWFjcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxMTozOTowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBQcm9wZXJseSBkZXRlY3QgYmFja3dhcmQgRFRTCgkgIFRoZXJlIHdhcyBjb2RlIHRvIGRldGVjdCBiYWNrd2FyZCBkdHMsIGJ1dCB0aGUgbWFya2VyIG1pbl9kdHMKCSAgd2FzIG5ldmVyIHNldC4gU2V0dGluZyBpdCBlbmFibGUgdGhpcyBmZWF0dXJlIHRoYXQgcHJldmVudHMKCSAgcG90ZW50aWFsIGludGVnZXIgb3ZlcmZsb3cgd2hlbiBnZW5lcmF0aW5nIFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEyIDE2OjQ0OjU1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIHNlZ2ZhdWx0IGZvciBtaXNzaW5nIGRlZmF1bHQgbmFtZXNwYWNlCgkgIEFkZGVkIGEgY2hlY2sgZm9yIGFfbm9kZS0+bnMgYmVmb3JlIGFjY2Vzc2luZyBhX25vZGUtPm5zLT5ocmVmIGluCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9ub2RlX25hbWVzcGFjZS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHhtbAoJICBpcyBtaXNzaW5nIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2NgoKMjAxNS0wNi0xMiAyMjozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBEb24ndCByZXF1aXJlIHRoZSBzYW1lIGZyYW1lcmF0ZSBpbiB0aGUgaW5wdXQgYXMgdGhlIG1vZGUncyBmcmFtZXJhdGUKCSAgV2Ugb25seSByZWFsbHkgY2FyZSBhYm91dCB0aGUgdGltZXN0YW1wcyBmb3IgdGhlIHNpbmsuCgoyMDE1LTA2LTEzIDAxOjQwOjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkgIGV4YW1wbGVzOiBwbGF5b3V0OiBBZGQgYmV0dGVyIGhlbHAgdGV4dAoJICBUaGlzIHNob3VsZCBoZWxwIHBlb3BsZSBmaWd1cmUgb3V0IGhvdyB0byB1c2UgdGhlIGV4YW1wbGUgYSBiaXQgYmV0dGVyCgoyMDE1LTA2LTEzIDAxOjM1OjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkgIGV4YW1wbGVzOiBwbGF5b3V0OiBEZWNyZW1lbnQgdGhlIGN1cnJlbnRseS1wbGF5aW5nIGNvdW50ZXIgY29ycmVjdGx5CgkgIE9ubHkgZG8gdGhhdCB3aGVuIHdlJ3JlIHJlbW92aW5nIGFuIGl0ZW0gdGhhdCB3YXMgcGxheWluZywgb3RoZXJ3aXNlIHdlJ2xsIG1lc3MKCSAgdGhpbmdzIHVwIHdoaWxlIHRyeWluZyB0byBlZGl0IHRoZSBwbGF5IHF1ZXVlIChwbGF5bGlzdCkuCgoyMDE1LTAxLTI5IDAwOjU2OjI2ICswMDAwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJICBwbGF5b3V0OiBOZXcgZXhhbXBsZSBmb3Igc2VhbWxlc3MgYXVkaW8vdmlkZW8gcGxheWJhY2sKCSAgQW4gZXhhbXBsZSBhcHAgdGhhdCB0YWtlcyB2aWRlbyBVUklzIGFzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgYW5kIHN3aXRjaGVzCgkgIGJldHdlZW4gdGhlbSBzZWFtbGVzc2x5IG9uZSBhZnRlciB0aGUgb3RoZXIgdXNpbmcgY29tcG9zaXRvciBhbmQgYXVkaW9taXhlci4KCSAgQm90aCBhdWRpby12aWRlbyBhbmQgdmlkZW8tb25seSBtZWRpYSBmaWxlcyBhcmUgdmFsaWQgaW5wdXRzLCBidXQgbWl4aW5nIGZpbGVzCgkgIG9mIGJvdGggdHlwZXMgaW4gYSBzaW5nbGUgaW52b2NhdGlvbiBpcyBjdW1iZXJzb21lIHRvIHN1cHBvcnQsIGFuZCBoZW5jZSBkb2VzCgkgIG5vdCB3b3JrLiBUaGUgZXhhbXBsZSBhdHRlbXB0cyB0byBrZWVwIHRoZSBhdWRpbyBzdHJlYW0gbW92aW5nIGFsb25nIHBlcmZlY3RseSwKCSAgYW5kIGR1cGxpY2F0ZXMgdmlkZW8gZnJhbWVzIHdoZXJlIG5lY2Vzc2FyeSB0byBjb3ZlciBnYXBzIGluIHRoZSB2aWRlbwoJICB0aW1lc3RhbXBzIHVzaW5nIHRoZSAnaWdub3JlLWVvcycgdmlkZW9hZ2dyZWdhdG9yIHBhZCBwcm9wZXJ0eS4KCSAgRW5zdXJpbmcgc2VhbWxlc3MgKGFuZCBtb3N0bHktZ2xpdGNoLWZyZWUpIHN3aXRjaGluZyBpcyBoYXJkZXIgdGhhbiBpdCBzb3VuZHMsCgkgIGFuZCBoZW5jZSB0aGUgZXhhbXBsZSBjb250YWlucyBwbGVudHkgb2YgcGFkIHByb2JlcyBhbmQgcnVubmluZyB0aW1lCgkgIGNhbGN1bGF0aW9ucyB0byBtYWtlIHRoaW5ncyB3b3JrLgoJICBUaGUgR1B0ckFycmF5IHBsYXlfcXVldWUgY29udGFpbnMgaXRlbXMgdGhhdCBhcmUgYmVpbmcgcGxheWVkIGJhY2ssIGhhdmUgYmVlbgoJICBwcmVwYXJlZCBmb3IgcGxheWJhY2ssIGFuZCB3aWxsIGJlIHBsYXllZCBiYWNrIGluIHRoZSBmdXR1cmUuIFRoZSBxdWV1ZSBpdHNlbGYKCSAgaXMgbXV0YWJsZSBiZXNpZGVzIHRoZSBmaXJzdCB0d28gaXRlbXMgKHBsYXlpbmcgYW5kIHByZXBhcmVkKS4gVGhlIGl0ZW0gdGhhdCBoYXMKCSAgYmVlbiBwcmVwYXJlZCBzaG91bGQgbm90IGJlIGVkaXRlZCBvciByZW1vdmVkIHNpbmNlIGl0IGhhcyBiZWVuIHByZXBhcmVkIGluCgkgIGFkdmFuY2UgdG8gYmUgYWN0aXZhdGVkIGltbWVkaWF0ZWx5IG9uIHRoZSBjdXJyZW50IGl0ZW0ncyBFT1MuCgkgIFRoZSBleGFtcGxlIGFsc28gaGFzIHN1cHBvcnQgZm9yIHN3aXRjaGluZyB0byB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZQoJICBwcmVtYXR1cmVseTsgc2VlIHRoZSAtLXN3aXRjaC1hZnRlci8tcyBmbGFnIHRvIHRoZSBhcHBsaWNhdGlvbi4KCSAgTm90ZTogdGhlIG91dHB1dCB2aWRlbyBpcyBoYXJkLWNvZGVkIGF0IDEyODB4NzIwLCBhbmQgaW5wdXQgdmlkZW8gaXMgc2NhbGVkIGFzCgkgIG5lZWRlZCB0byBmaXQgdGhpcyBzaXplLiBTZXQgT1VUUFVUX1ZJREVPX1dJRFRIL0hFSUdIVCB0byBjaGFuZ2UgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODk0NwoKMjAxNS0wNi0wNiAyMDo0MDoxMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHRoZSAnaWdub3JlLWVvcycgY29tcG9zaXRvciBzaW5rIHBhZCBwcm9wZXJ0eQoJICBXaGVuIHRoZSAnaWdub3JlLWVvcycgcHJvcGVydHkgaXMgc2V0IG9uIGEgcGFkLCBjb21wb3NpdG9yIHdpbGwga2VlcCByZXNlbmRpbmcKCSAgdGhlIGxhc3QgYnVmZmVyIG9uIHRoZSBwYWQgdGlsbCB0aGUgcGFkIGlzIHVubGlua2VkLiBXZSBjb3VudCB0aGUgYnVmZmVycwoJICByZWNlaXZlZCBvbiBhcHBzaW5rLCBhbmQgaWYgaXQncyBtb3JlIHRoYW4gdGhlIGJ1ZmZlcnMgc2VudCBieSB2aWRlb3Rlc3RzcmMsIHRoZQoJICB0ZXN0IHBhc3Nlcy4KCjIwMTUtMDItMTAgMDA6NDk6MzUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGFkZCAiaWdub3JlLWVvcyIgcHJvcGVydHkgZm9yIGlucHV0IHBhZHMKCSAgV2hlbiBzZXQsIGl0IGNhdXNlcyB2aWRlb2FnZ3JlZ2F0b3IgdG8gcmVwZWF0ZWRseSBhZ2dyZWdhdGUgdGhlIGxhc3QgYnVmZmVyIG9uCgkgIGFuIEVPUyBwYWQgaW5zdGVhZCBvZiBza2lwcGluZyBpdCBhbmQgb3V0cHV0dGluZyBzaWxlbmNlLiBUaGlzIGlzIHVzZWZ1bCwgZm9yCgkgIGluc3RhbmNlLCB3aGlsZSBwbGF5aW5nIGJhY2sgZmlsZXMgc2VhbWxlc3Mgb25lIGFmdGVyIHRoZSBvdGhlciwgdG8gYXZvaWQKCSAgdmlkZW9hZ2dyZWdhdG9yIGV2ZXIgb3V0cHV0dGluZyBzaWxlbmNlICh0aGUgY2hlY2tlcmJvYXJkIHBhdHRlcm4pLgoJICBJdCBpcyB0byBiZSBub3RlZCB0aGF0IGlmIGFsbCB0aGUgcGFkcyBvbiB2aWRlb2FnZ3JlZ2F0b3IgaGF2ZSB0aGlzIHByb3BlcnR5IHNldAoJICBvbiB0aGVtLCB0aGUgbWl4ZXIgd2lsbCBuZXZlciBmb3J3YXJkIEVPUyBkb3duc3RyZWFtIGZvciBvYnZpb3VzIHJlYXNvbnMuIEhlbmNlLAoJICBhdCBsZWFzdCBvbmUgcGFkIHdpdGggJ2lnbm9yZS1lb3MnIHNldCB0byBGQUxTRSBtdXN0IHNlbmQgRU9TIHRvIHRoZSBtaXhlcgoJICBiZWZvcmUgaXQgd2lsbCBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODk0NgoKMjAxNC0xMi0xOSAxNDo0MzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHJldHVybiBlYXJseSBpZiBwYWNrZXRpemluZyBzaG9ydCBzZWN0aW9uCgkgIFNob3J0IHNlY3Rpb25zIGhhdmUgMyBieXRlcyBvZiBjb21tb24gaGVhZGVyLCB3aGlsZSBvdGhlciBzZWN0aW9ucwoJICBoYXZlIDggYnl0ZXMgb2YgY29tbW9uIGhlYWRlci4gSWYgcGFja2V0aXppbmcgY29tbW9uIGhlYWRlciBvZiBzaG9ydAoJICBzZWN0aW9uLCB3ZSBzaG91bGQgc3RvcCBhZnRlciB0aGUgZmlyc3QgMyBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY1MwoKMjAxNS0wNi0xMiAxNzoxNDowMiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJICBkZWJ1Z3V0aWxzYmFkOiBNaW5vciBjbGVhbnVwCgkgIFJhbiBnc3QtaW5kZW50IG9uIGRlYnVndXRpbHNiYWQuYywgbW92ZWQgaGVhZGVycyB0byBub2luc3QgaW4gTWFrZWZpbGUuYW0KCjIwMTUtMDYtMTIgMTU6Mzk6NTYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBEbyBub3QgdHJ5IHRvIGFjdGl2YXRlIGEgTlVMTCBHTENvbnRleHQKCSAgQXQgdGhhdCBwb2ludCBpbiB0aGUgY29kZSBub3RoaW5nIGd1YXJhbnRlZXMgaXQgZXhpc3RzCgoyMDE1LTA2LTEyIDIxOjMxOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2wvdGVzdHM6IHJlbW92ZSByZWZlcmVuY2UgdG8gdW5kZWZpbmVkIGJ1ZmZlciB0ZXN0CgoyMDE1LTA2LTExIDE4OjI2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogc2VwYXJhdGUgcGJvIHRyYW5zZmVyIGZyb20gdGV4dHVyZSB0cmFuc2ZlcnMKCSAgV2hlbiBzdXBwb3J0ZWQsIHRoZSBwb3RlbnRpYWxseSBsb25nZXIgcGJvIHVwbG9hZC9kb3dubG9hZCBjYW4gYmUKCSAgaW5pdGlhdGVkIGJlZm9yZSB0aGUgdGV4dHVyZSB1cGxvYWQvZG93bmxvYWQsIHBvdGVudGlhbGx5IGluY3JlYXNpbmcKCSAgdGhyb3VnaHB1dC4KCjIwMTUtMDYtMTAgMTY6MzY6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGltcGxlbWVudCBvbiB0b3Agb2YgZ2xiYXNlYnVmZmVyCgkgIFByb3ZpZGVzIGNvbnZlbmllbnQgYWNjZXNzIHRvIFBCTyB1c2FnZS4KCSAgQ3VycmVudGx5IHRleHR1cmUgdXBkYXRlcyBhcmUgY291cGxlZCB0aWdodGx5IHRvIGRhdGEgdHJhbnNmZXJzLgoKMjAxNS0wNi0xMCAxNjoyNDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuaDoKCSAgZ2w6IG5ldyBnbGJhc2VidWZmZXIgR3N0TWVtb3J5IG9iamVjdAoJICBQcm92aWRlcyBnZW5lcmljIGhhbmRsaW5nIG9mIEdMIGJ1ZmZlciBvYmplY3RzIGFjY2Vzc2libGUgdXNpbmcKCSAgdGhlIEdMIGJpbmQgcG9pbnRzIChHTF9BUlJBWV9CVUZGRVIsIEdMX1BJWEVMXypfQlVGRkVSKS4KCSAgSW1wbGVtZW50YXRpb24gYmFzZWQgb2ZmIHRoZSBjdXJyZW50IEdzdEdMTWVtb3J5LgoKMjAxNS0wNi0xMCAxNjoyMzozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYnVmZmVycy5oOgoJICBnbC9wcm90b3R5cGVzOiBhZGQgc29tZSBidWZmZXIgZnVuY3Rpb24gcHJvdG90eXBlcwoKMjAxNS0wNi0xMiAxNToxNzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IHZpZGVvIGFzcGVjdC1yYXRpbyBoYW5kbGluZwoJICBGb3IgYm90aCB0aGUgc29mdHdhcmUgYW5kIHRoZSBHTCBzaW5rJ3MuCgkgIERvZXNuJ3QgZGVhbCB3aXRoIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgYXQgYWxsIHlldC4KCjIwMTUtMDYtMTIgMTM6MTQ6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdy94MTE6IG9ubHkgbGlzdGVuIG9uIHRoZSBYIERpc3BsYXkgd2hlbiBuZWVkZWQKCSAgNTY5N2I2Yjg5YjRiMmExNWM0NWJkNDdiZTk0MGExN2Y0NDEyZWExMSBjYXVzZXMgdXMgdG8gcG9zc2libHkgbGlzdGVuCgkgIG9uIGEgdG9vbGtpdCBwcm92aWRlZCBEaXNwbGF5IGNvbm5lY3Rpb24uICBXZSB0aHVzIGNvdWxkIGVhdCB0aGVpcgoJICBwcmVjaW91cyB3aW5zeXMgZXZlbnRzLiAgT25seSBsaXN0ZW4gaWYgd2UgbmVlZCB0bwoJICAoIWZvcmVpZ25fZGlzcGxheSBvciB2aWRlb292ZXJsYXkpLgoKMjAxNS0wNi0xMiAxMjo0MDo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0azogZml4IGEgY291cGxlIG9mIHR5cG9zCgoyMDE1LTA2LTEyIDEyOjI5OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGtnbHNpbms6IHJlc2V0IHRoZSBjb250ZXh0L2Rpc3BsYXkgaW4gUkVBRFlfVE9fTlVMTAoJICBGaXhlcyBjb250ZXh0IHByb3BhZ2F0aW9uIGluIHBpcGVsaW5lcyB3aXRoIHVwc3RyZWFtIEdMIGVsZW1lbnRzLgoKMjAxNS0wNi0xMSAxNzoyNTo0OSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCBlcnJvciBjYWxjdWxhdGluZyBsYXJnZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IHZhbHVlcwoJICBJZiB0aGUgcHJlc2VudGF0aW9uVGltZU9mZnNldCBhdHRyaWJ1dGUgb2YgYSBEQVNIIG1hbmlmZXN0IGNvbnRhaW5zCgkgIGEgdmFsdWUgdGhhdCBpcyBsYXJnZXIgdGhhbiAyXjMyLCBnc3RtcGRwYXJzZXIgaW5jb3JyZWN0bHkgY2FsY3VsYXRlcwoJICB0aGUgc3RyZWFtJ3MgcHJlc2VudGF0aW9uIHRpbWUgb2Zmc2V0LiBUaGlzIGlzIGR1ZSB0byB0d28gYnVnczoKCSAgMTogVXNpbmcgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfdW5zaWduZWRfaW50ZWdlciByYXRoZXIgdGhhbgoJICBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF91bnNpZ25lZF9pbnRlZ2VyXzY0IHRvIHBhcnNlIHRoZQoJICBhdHRyaWJ1dGUKCSAgMjogZ3N0X21wZF9jbGllbnRfc2V0dXBfcmVwcmVzZW50YXRpb24gbXVsdGlwbHlpbmcgdGhlIHZhbHVlIGJ5CgkgIEdTVF9TRUNPTkQgYW5kIHRoZW4gZGl2aWRpbmcgYnkgdGltZXNjYWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4MDQKCjIwMTUtMDYtMTEgMTI6NDE6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSAgZ3N0Z3RrOiBObyBuZWVkIHRvIHJlYWxpemUgdGhlIHdpZGdldAoJICBUaGUgd2lkZ2V0IGFscmVhZHkgZG9lcyB0aGF0LgoKMjAxNS0wNi0xMSAxMjozODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3Rrc2luay5jOgoJICBnc3RndGs6IERvbid0IGxlYWsgdGhlIHdpZGdldAoJICBnX29iamVjdF9nZXQoKSByZXR1cm5zIGEgcmVmLCBndGtfY29udGFpbmVyX2FkZCgpIG9ubHkgcmVmX3NpbmsoKS4KCSAgVGhhdCBtZWFuIHdlIHN0aWxsIG5lZWQgdG8gdW5yZWYgYWZ0ZXJ3YXJkLiBUaGlzIGxlYWsgd2FzIGhpZGluZwoJICBhIHJlZmVyZW5jZSBidWcgcHJldmlvdXNseSBwcmVzZW50LgoKMjAxNS0wNi0xMSAxMjoxMDoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGdzdGd0azogQWxsb3cgZG9pbmcgZ3N0LWluc3BlY3QtMS4wIG9uIHRoZXNlIGVsZW1lbnRzCgkgIFRoaXMgcGF0Y2ggYWxsb3cgZ29pbmcgZ3N0LWluc3BlY3QtMS4wIG9uIHRoZXNlIGVsZW1lbnRzIHJlbW92aW5nCgkgIHVnbHkgY3Jhc2ggdGhhdCB3YXMgcHJldmlvdXNseSBvY2N1cnJpbmcuIFRoZSBtZXRob2QgY29uc2lzdCBvZgoJICBtYWtpbmcgdGhlIHdpZGdldCBjcmVhdGlvbiBhcyBsYXp5IGFzIHBvc3NpYmxlLiBUaGlzIHdheSB3ZSBkb24ndAoJICBlbmR1cCBkb2luZyBndGtfaW5pdCgpIGJlZm9yZSB0aGUgYXBwbGljYXRpb24uIFdlIGFsc28gcmVmX3NpbmsoKQoJICB0aGUgd2lkZ2V0LCBzbyB3ZSBkb24ndCBjcmFzaCBpZiB0aGUgcGFyZW50IHdpZGdldCBpcyBkaXNjYXJkZWQsCgkgIGFuZCBjbGVhbmx5IGVycm9yIG91dCB3aXRoIEdMIGlmIHRoZSB3aWRnZXQgaGFzIG5vIHBhcmVudCB3aW5kb3csCgkgIGJlY2F1c2UgY2FsbGluZyBndGtfd2lkZ2V0X3JlYWxpemVkKCkgY2FuIG9ubHkgYmUgZG9uZSBpZiB0aGUgd2lkZ2V0CgkgIGhhcyBiZWVuIHBhcmVudGVkIHRvIGEgd2luZG93KS4KCjIwMTUtMDUtMzAgMDI6MTU6NTEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSB2aWV3cyBpbiB1cGxvYWQsIGNvbG91ciBjb252ZXJ0IGFuZCBkb3dubG9hZAoJICBTdXBwb3J0IG11bHRpcGxlIGF0dGFjaGVkIHZpZXdzIG9uIGlucHV0L291dHB1dCBidWZmZXJzCgkgIGJ5IHByb2Nlc3NpbmcgZWFjaCBvbmUsIG5vdCBqdXN0IHRoZSBmaXJzdC4KCjIwMTUtMDUtMzAgMDE6Mzg6MTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgcGFzc2luZyBzdGVyZW9zY29waWMvbXVsdGl2aWV3IGluZm8KCSAgUGFzcyBhbnkgbXVsdGl2aWV3IGluZm8gZnJvbSB0aGUgY29udGFpbmVyIG9yIFNFSSBpbmZvIGRvd25zdHJlYW0KCjIwMTUtMDYtMTEgMDE6NTc6MDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBEb24ndCBzd2l0Y2ggdG8gcGFzc3Rocm91Z2ggb24gc2V0X2NhcHMoKQoJICBXYWl0IHVudGlsIGF0IGxlYXN0IG9uZSBrZXlmcmFtZSBoYXMgYmVlbiBwYXJzZWQgYmVmb3JlCgkgIGRlY2lkaW5nIHRvIHN3aXRjaCB0byBwYXNzdGhyb3VnaCBtb2RlLCBpbiBjYXNlIHRoZQoJICBzdHJlYW0gY29udGFpbnMgU0VJIG1lc3NhZ2VzIHRoYXQgc3VwcGxlbWVudCB0aGUgb3V0cHV0CgkgIGNhcHMgLSBmb3IgZXhhbXBsZSBieSBwcm92aWRpbmcgc3RlcmVvc2NvcGljIGluZm9ybWF0aW9uCgoyMDE1LTA2LTEyIDAwOjMyOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBkb24ndCBjcmVhdGUgb3VyIG93biBYMTEgZGlzcGxheQoJICBJdCdzIG5vdCBuZWVkZWQgYW55bW9yZSB3aXRoIG1vc3Qgd2luZG93IG9wZXJhdGlvbnMgb2NjdXJpbmcgaW4gdGhlCgkgIEdMIHRocmVhZC4KCjIwMTUtMDYtMTIgMDA6MzA6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdy94MTE6IGhhbmRsZV9ldmVudHMoKSBtYXkgYmUgY2FsbGVkIGJlZm9yZSB0aGUgd2luZG93IGhhcyBiZWVuIGNyZWF0ZWQKCSAgRml4ZXMgYW4gWElPIGZhdGFsIGVycm9yCgoyMDE1LTA2LTEyIDAwOjI5OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJICBnbDogbW92ZSBiYXNlc2luayBwcm9wZXJ0aWVzIGZyb20gZ2xpbWFnZXNpbmtiaW4gdG8gZ2xzaW5rYmluCgoyMDE1LTAzLTI1IDE5OjI3OjQyICswMjAwICBZYW5rbyBLYW5ldGkgPHlhbmV0aUBkZWNsZXJhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogUmVtb3ZlIGFyYml0cmFyeSBjb25zdHJhaW50IG9uIHByb2ctbWFwIHByb2dyYW0gaWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NjUKCjIwMTUtMDYtMTEgMTU6MjI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkgIGdsOiBVc2UgZ3N0X29iamVjdF9yZWZfc2luaygpIGZvciBnbHtmaWx0ZXIsbWl4ZXIsc3JjfWJpbiB0b28KCjIwMTUtMDYtMTEgMTU6MTc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkgIGdsc2lua2JpbjogVXNlIGdzdF9vYmplY3RfcmVmX3NpbmsoKSBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgdmlkZW8tc2luayBwcm9wZXJ0eSBvbiBwbGF5YmluCgoyMDE1LTA2LTExIDE1OjAyOjQ0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IHRyeSB0byBpbml0aWFsaXplIGRpc3BsYXkgaWYgd2UgaGF2ZSBub3QgaGF2ZSBhIEdMQ29udGV4dCB5ZXQKCjIwMTUtMDYtMTEgMTQ6NTg6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkgIGd0azogQWRkIG1pc3NpbmcgQ0ZMQUdTIHRvIGV4YW1wbGUKCjIwMTQtMTItMTggMTc6MDA6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0cGx1Z2luLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3Rrc2luay5jOgoJICBJbXBsZW1lbnQgZ3RrIHNpbmtzCgkgIHR3byBzaW5rcyBhcmUgcHJvdmlkZWQuICBndGtzaW5rIHdoaWNoIGlzIGEgY2Fpcm8vc29mdHdhcmUgYmFzZWQgcmVuZGVyZXIKCSAgYW5kIGd0a2dsc2luayB3aGljaCB1dGlsaXNlcyB0aGUgR0wgc3VwcG9ydCBpbiBndGsgYW5kIGdzdHJlYW1lci4KCjIwMTUtMDYtMTAgMTA6MzY6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJICBoMjYzcGFyc2U6IEZpeCBQU0MgbWF0Y2hpbmcKCSAgV2Ugd2VyZSBvZmYgYnkgb25lIGJ5dGUgaW4gdGhlIG1hdGNoaW5nCgkgIEl0IHNob3VsZCBiZSAodXNpbmcgMjQgYml0IG1hdGNoaW5nKToKCSAgKiBzdGFydGNvZGUgIDogMDAwMCAwMDAwIDAwMDAgMDAwMCAxMDAwIDAweHgKCSAgKiBtYXNrIChiaW4pIDogMTExMSAxMTExIDExMTEgMTExMSAxMTExIDExMDAKCSAgKiBtYXNrIChoZXgpIDogICAgZiAgICBmICAgIGYgICAgZiAgICBmICAgIGMKCSAgKiBtYXRjaCAgICAgIDogICAgMCAgICAwICAgIDAgICAgMCAgICA4ICAgIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY4NQoKMjAxNS0wNS0xMSAxNjo0NzoyNSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBhbHdheXMgZW5xdWV1ZSBmcmFtZXMsIGV2ZW4gb24gZXJyb3IKCSAgRXZlbiB3aGVuIHdlIGZhaWwgdG8gZW5jb2RlIGZyYW1lLCB3ZSBzaG91bGQgc3RpbGwgZW5xdWV1ZSBpdCBzbwoJICBpdCBjb3VsZCBiZSBwYXNzZWQgaW50byBoYW5kbGVfZnJhbWUgKHdpdGggb3V0cHV0X2J1ZmZlciA9PSBOVUxMKS4KCSAgT3RoZXJ3aXNlLCB3ZSByaXNrIEdzdFZpZGVvRW5jb2RlcidzIHF1ZXVlIG9mIGZyYW1lcyBncm93aW5nIHVuYm91bmRlZC4KCSAgTm90ZTogV2UncmUgc2xpZ2h0bHkgY2hhbmdpbmcgdGhlIHJlbmVnb3RpYXRpb24gY29kZSB0byBhY2NvbW1vZGF0ZSBmb3IKCSAgZnJhbWVzIHdpdGhvdXQgb3V0cHV0IGJ1ZmZlcnMsIGJ1dCB0aGlzIGNvbW1pdCB0YWtlcyBubyBvd25lcnNoaXAgb3ZlcgoJICB0aGUgd2F5IG5lZ290aWF0aW9uIGlzIGJlaW5nIGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NjkKCjIwMTUtMDYtMTAgMTU6MDM6MzEgKzAyMDAgIEZhYmlvIENldHJpbmkgPGZjZXRyaW5pQGhvdG1haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQXZvaWQgZnJhbWUgcmVuZGVyaW5nIHdoaWxlIHRoZSB3aW5kb3cgaXMgY29tcGxldGVseSBoaWRkZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg1NgoKMjAxNS0wNi0xMCAxMTo0MjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IE9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0IGlzIGltcHJvcGVybHkgaW1wbGVtZW50ZWQgb24gUG93ZXJWUiBTR1ggNTQ0TVAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDE4NQoKMjAxNS0wNS0xMSAxNjo0MDowNyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmcmVlIGlucHV0IGJ1ZmZlciBBU0FQCgkgIFZUQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUgcmV0YWlucyB0aGUgQ1ZQaXhlbEJ1ZmZlciBkdXJpbmcKCSAgZW5jb2RpbmcsIGFuZCB3aWxsIHJlbGVhc2UgaXQgYXMgc29vbiBhcyBpdCBjYW4gKGUuZy4gYmVmb3JlIGl0IGV2ZW4KCSAgY2FsbHMgb3VyIGNhbGxiYWNrKS4gVGhpcyBtZWFucyB3ZSBjYW4gc2FmZWx5IHJlbGVhc2UgaW5wdXQgYnVmZmVyCgkgIGF0IHRoaXMgcG9pbnQsIHBvc3NpYmx5IGFsbG93aW5nIHRoZSBzeXN0ZW0gdG8gcmV1c2UgaXQgc29vbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjcxCgoyMDE1LTA1LTExIDE2OjM5OjE5ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEFkZCBtaXNzaW5nIGdzdF92dGVuY19mcmFtZV9mcmVlKCkgaW4gZXJyb3IgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjY4CgoyMDE1LTA2LTA5IDE2OjMzOjM5ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRml4IG1lbW9yeSBsZWFrcyBpdGVyYXRpbmcgb3ZlciBwYWRzCgkgIFJlYmFzZWQgZm9yIGxhdGVzdCBtYXN0ZXIgYnkgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NDgKCjIwMTUtMDYtMTAgMDA6MTY6MjcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYWRkIGFsaWdubWVudD1hdSB0byBzaW5rIGNhcHMKCSAgVlQgY29tcHJlc3Npb24gY2FsbGJhY2sgZ2V0cyBhIENNU2FtcGxlQnVmZmVyIHBlciBmcmFtZSwgc28gdnRlbmNfaDI2NAoJICBzaG91bGQgc2V0ICdhbGlnbm1lbnQ9YXUnIGluIHNpbmsgY2FwcyB0byBpbmRpY2F0ZSB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjM1CgoyMDE1LTA2LTA5IDE4OjMwOjU1ICswMTAwICBDaHJpcyBDbGF5dG9uIDxjaHJpczI1NTNAZ29vZ2xlbWFpbC5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYwMQoKMjAxNS0wNS0xMiAwMDoxODowMiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGF2ZmFzc2V0c3JjOiBmaXggaHVnZSBtZW1vcnkgbGVhawoJICBDTVNhbXBsZUJ1ZmZlcnMgd2VyZSByZXRhaW5lZCAtPiBodWdlIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjM4CgoyMDE1LTA1LTExIDE2OjQ0OjMzICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IG5vIG5lZWQgZm9yIHF1ZXVlX2xlbmd0aCB3aXRoIHRyeV9wb3AKCjIwMTUtMDUtMDUgMTU6MDc6NTMgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZG9uJ3QgY29weSBtZXRhIGZyb20gaW5wdXQgdG8gb3V0cHV0CgkgIENvcHlpbmcgYXJiaXRyYXJ5IG1ldGFzIGlzIGdvaW5nIHRvIGNhdXNlIHByb2JsZW1zIGFuZCB0aGlzIHNob3VsZCByZWFsbHkgYmUKCSAgaGFuZGxlZCBieSB0aGUgYmFzZSBjbGFzcy4gSXQgb3ZlcnJpZGVzIG1vc3Qgb3RoZXIgdGhpbmdzIGFscmVhZHkgYW55d2F5LAoJICBpbmNsdWRpbmcgdGltZXN0YW1wIGFuZCBkdXJhdGlvbi4gVGhvc2UgYXJlIGp1c3Qgc2V0IGhlcmUgbm93IHNvIHdlIGNhbgoJICBpbnNlcnQgdGhlIGZyYW1lIHNvcnRlZCBpbnRvIHRoZSBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODkyMgoKMjAxNS0wNi0wOSAxNTozMjozNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogYWRkIHRoZSBvYnNvbGV0ZSB0bXBsIGRpciB0byBjcnVmdC1kaXJzCgoyMDE1LTA2LTA5IDE0OjM3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBmaXggbWlzbGVhZGluZyBkb2N1bWVudGF0aW9uIGNvcGllZCBmcm9tIGFkZGVyCgoyMDE1LTA2LTA5IDEyOjExOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkgIGRhc2g6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gTElCQURECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MTkKCjIwMTUtMDYtMDkgMTE6MzA6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ5YTMzNTMgdG8gNjAxNWQyNgoKMjAxNS0wNi0wOSAwOTowNzo0NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IE1hcCB0aGUgcGl4ZWwgZGF0YSBvbmNlIHBlciByZW5kZXIsIG5vdCAqYWhlbSogdHdpY2UgcGVyIGJ5dGUuCgkgIFRoZSBuYWl2ZSBwb3J0IHRvIDEuMCBmcm9tIHllYXJzIGFnbyB3YXMgc2lsbHksIG1ha2UgaXQgYmV0dGVyLgoKMjAxNS0wNi0wOCAyMzowODowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDM3YWYzMiB0byBkOWEzMzUzCgoyMDE1LTA2LTA1IDE3OjIwOjIwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhlIHBhcnNpbmcgb2YgTVBEIGVsZW1lbnQKCSAgQ3JlYXRlIGEgZGFzaCB0ZXN0IHRhcmdldCBhbmQgYWRkIHVuaXQgdGVzdHMgdGhhdCBjaGVjayB0aGUgcGFyc2luZyBvZgoJICBhdHRyaWJ1dGVzIG9mIHRoZSBNUEQgZWxlbWVudCBhbmQgdGhlIGZvbGxvd2luZyBjaGlsZCBlbGVtZW50czoKCSAgLSBiYXNlVVJMCgkgIC0gcHJvZ3JhbSBpbmZvcm1hdGlvbgoJICAtIGxvY2F0aW9uCgkgIC0gbWV0cmljcwoJICBUaGVzZSB0ZXN0cyBjaGVjayB0aGUgY29tcGxpYW5jZSBvZiBwYXJ0cyBvZiB0aGUgTVBEIHBhcnNlciBpbiB0aGUKCSAgZGFzaGRlbXV4IGVsZW1lbnQgYWdhaW5zdCB0aGUgREFTSCBzcGVjaWZpY2F0aW9uIFsxXS4KCSAgWzFdIGh0dHA6Ly9zdGFuZGFyZHMuaXNvLm9yZy9pdHRmL1B1YmxpY2x5QXZhaWxhYmxlU3RhbmRhcmRzL2MwNjUyNzRfSVNPX0lFQ18yMzAwOS0xXzIwMTRfRWxlY3Ryb25pY19pbnNlcnRzLnppcAoJICBodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXR0Zi9QdWJsaWNseUF2YWlsYWJsZVN0YW5kYXJkcy9jMDY1Mjc0X0lTT19JRUNfMjMwMDktMV8yMDE0LnppcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzkwCgoyMDE1LTA1LTA2IDE0OjI5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogc2ltcGxpZnkgYWdncmVnYXRlIHJldHVybmluZwoJICBSZXdvcmsgc3BlY2lhbCBoYW5kbGluZyB3aXRoIGdvdG8vbGFiZWxzIHRvIG9ubHkgaGF2ZSBvbmUgY2FzZQoJICBhbmQgb3RoZXJ3aXNlIGp1c3QgcmV0dXJuIG5vcm1hbGx5LgoKMjAxNS0wNS0wNiAxNDoxOTozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlZmFjdG9yIGNhcHMgcmVjb25maWd1cmUgdG8gaXRzIG93biBmdW5jdGlvbgoJICBNYWtlcyB0aGUgYWdncmVnYXRpb24gY29kZSBzaG9ydGVyIGFuZCBlYXNpZXIgdG8gcmVhZAoKMjAxNS0wNS0wNiAxMzo1OTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeGluZyB0eXBlcyBpbiBhZ2dyZWdhdGUgZnVuY3Rpb24KCSAgQ29ycmVjdGx5IHVzZSBib29sZWFuIGFuZCBHc3RGbG93UmV0dXJuIHR5cGVzIGluIHRoZSBmdW5jdGlvbi4KCjIwMTUtMDUtMDYgMTM6MDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgbWFjcm8gdG8gYWNjZXNzIGFnZ3JlZ2F0b3Igc3JjIHBhZAoJICBNYWtlcyBjb2RlIGEgYml0IG1vcmUgcmVhZGFibGUKCjIwMTUtMDUtMDYgMTM6MDc6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIGEgY29udmVuaWVuY2UgbWFjcm8gdG8gZ2V0IHRoZSBzb3VyY2UgcGFkCgkgIEVhc2llciB0aGFuIGNhc3Rpbmcgb3IgYWNlc3NpbmcgdGhlIHBhcmVudCBldmVyeXdoZXJlCgoyMDE1LTA2LTA4IDE0OjE2OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29ycmVjdCBmaXggZm9yIGRlYWQgY29kZQoJICBSZW5hbWUgdGVtcGxhdGUgdG8gY2FwcyB0byBrZWVwIHRoZSBvcmlnaW5hbCBpbnRlbnRpb24gb2YgdGhlIGNvZGUgYWZ0ZXIKCSAgY29tbWl0IGI0YzlhYTFjCgkgIENJRCAjMTMwNDY3NAoKMjAxNS0wNi0wOCAxNDoxNDo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIFJldmVydCAidHNkZW11eDogcmVtb3ZlIGRlYWQgY29kZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNjM1YWNmZWMwNDFiMWM2NjRiYzA3NzA4MzliMWE1NzZlMzU5OGIxLgoKMjAxNS0wNi0wOCAxMzozNzozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUKCSAgQWZ0ZXIgY29tbWl0IGI0YzlhYTFjMzA4Zjg4YmY0ZTFmNjlhYjAxNTZlZDlmOTk4MTVlOGUgdGVtcGxhdGUgd2lsbCBhbHdheXMgYmUKCSAgTlVMTC4gVGhlIGlmIGNvbmRpdGlvbmFsIHdpbGwgYWx3YXlzIGJlIEZBTFNFLCBzbyByZW1vdmluZyBpdC4KCSAgQ0lEICMxMzA0Njc0CgoyMDE1LTA2LTA3IDIzOjA2OjM4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMWJhMmU1IHRvIGQzN2FmMzIKCjIwMTUtMDYtMDcgMTc6MzI6MDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0MDg1ODMgdG8gMjFiYTJlNQoKMjAxNS0wNi0wNyAxNzowMzoxNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgdmFyaWFibGVzIHRoYXQgd2UgZGVmaW5lIGluIHRoZSBzbmlwcGV0IGZyb20gY29tbW9uCgkgIFRoaXMgaXMgc3luY2luZyBvdXIgTWFrZWZpbGUuYW0gd2l0aCB1cHN0cmVhbSBndGtkb2MuCgoyMDE1LTA2LTA3IDE3OjE2OjI1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNjc2OTkzIHRvIGM0MDg1ODMKCjIwMTUtMDYtMDcgMTY6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTUtMDYtMDcgMTY6Mjg6NDMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IG9ubHkgYWRkIHRoZSBsaWJzIHRoYXQgd2UgYWN0dWFsbHkgZG9jdW1lbnQgcmlnaHQgbm93CgkgIEtlZXAgdGhlIGxpYnMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIHVubGVzcyBhIHNwZWNpZmljIGxpbmsgb3JkZXIgaXMgcmVxdWlyZWQuCgkgIEFsc28gcmVtb3ZlIHRoZSAtTCBkaXJlY3RpdmVzIGFzIHdlIHNwZWNpZnkgdGhlIGRpcmVjdCBwYXRoIHRvIHRoZSAubGEgZmlsZXMuCgoyMDE1LTA2LTA3IDE2OjI4OjIyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBkb2NzOiByZW1vdmUgZHVwbGljYXRlZCBlbnRyeSBmcm9tIHR5cGVzIGZpbGUKCjIwMTUtMDYtMDcgMTU6NTk6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHpiYXI6IHNwbGl0IHRlc3QKCSAgTGV0cyBub3QgY3JhbSBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgdGVzdCAtIHRoaXMgd291bGQgcmVuZGVyIHRoZSB0ZXN0IG5hbWUKCSAgdXNlbGVzcyBmb3IgcXVpY2sgZGlhZ25vc2lzLiBIYXZpbmcgc2VwYXJhdGUgdGVzdHMgZm9yIHRoZSBvcHRpb25hbCBmZWF0dXJlIGlzCgkgIGFsc28gdmVyaWZ5aW5nIHRoZSBiZWhhdmlvdXIgd2hlbiB0aGUgZmVhdHVyZSBpcyBvZmYuCgo9PT0gcmVsZWFzZSAxLjUuMSA9PT0KCjIwMTUtMDYtMDcgMTA6NTU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMQoKMjAxNS0wNi0wNyAwOTozNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNS0zMCAyMTozNTozNiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IHdyb25nIGdzdC1sYXVuY2ggY29tbWFuZCBpbiB0aGUgZGVzY3JpcHRpb24KCSAgRml4IHdyb25nIGdzdC1sYXVjaCBjb21tYW5kIGluIHRoZSBkZXNjcmlwdGlvbi4KCSAgVGhpcyBwYXRjaCBtYXkgaGVscCBwZW9wbGUgdG8gZ2V0IHJpZ2h0IHRlc3RpbmcgcmVzdWx0cyB1c2luZyB0aGUgc2NyaXB0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTQzCgoyMDE1LTA2LTA1IDE0OjQ5OjE4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IHJlbW92ZSBpZ25vcmVkIGFzc2lnbm1lbnRzCgkgIFJlbW92ZSBhc3NpZ25tZW50cyB0byBERkJSZXN1bHQgcmVzIHRoYXQgYXJlIG5ldmVyIHJlYWQuCgoyMDE1LTA2LTA1IDE0OjM0OjU1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGlnbm9yZWQgYXNzaWdubWVudAoJICBGdW5jdGlvbiBnb2VzIHRvIGRvbmUgYmVmb3JlIHRoZSB2YWx1ZSBzZXQgaW4gc3RhcnRfb2Zmc2V0IGlzIGV2ZXIgdXNlZC4KCjIwMTUtMDYtMDUgMDk6MzU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBGaXggYSBjb21tb24gdHlwbzogcmV0cmVpdmUgLT4gcmV0cmlldmUKCSAgU2VlbXMgdG8gaGF2ZSBiZWVuIGNvcHkgcGFzdGVkIGFyb3VuZCBhIGZldyBwbGFjZXMKCjIwMTUtMDYtMDUgMDk6MjI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRyb3AgVE9ETyB0aGF0IGRvZXNuJ3QgbmVlZCBhIHNvbHV0aW9uCgkgIENvbm5lY3Rpb24gc3BlZWQgaXMgb25seSBjaGVja2VkIGF0IHRoYXQgcG9pbnQgaW4gaGxzZGVtdXggc28gdGhlcmUKCSAgaXMgbm8gcmVhbCBuZWVkIHRvIHJlZmFjdG9yIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI4CgoyMDE1LTA2LTA1IDA5OjE1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJICBSZXZlcnQgImhsc2RlbXV4OiBTaW1wbGlmeSBsb2dpYyBpbiBwcm9jZXNzX21hbmlmZXN0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRjYTNhMjJiNmIzM2FkOGJlNDM4MzA2M2U3NmY3OWM0ZDM0NjUzNWQuCgkgIFRoZSBjb25uZWN0aW9uLXNwZWVkPTAgaXMgdXNlZCBhcyBhIHNwZWNpYWwgdmFsdWUgaW4gdGhlIHByb3BlcnR5CgkgIG9mIGhsc2RlbXV4IHRvIG1lYW4gJ2F1dG9tYXRpYycgc2VsZWN0aW9uLCBtM3U4LmMgZG9lc24ndCBuZWVkCgkgIHRvIGtub3cgYWJvdXQgdGhhdCBhcyBpdCBzaG91bGQgYmUgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLgoJICBTbyB0aGlzIHBhdGNoIGhpZGVzIHRoaXMgYXV0b21hdGljIHNlbGVjdGlvbiBkb2N1bWVudGVkIGluIGhsc2RlbXV4CgkgIGludG8gbTN1OCBsb2dpYyBhbmQgSSB0aGluayB0aGUgZ2V0cyBoYXJkZXIgdG8gdW5kZXJzdGFuZCB0aGUgY29kZS4KCSAgSXQgYWxzbyBtYWtlcyB0aGUgaGxzZGVtdXggdW5pdCB0ZXN0cyB3b3JrIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjgKCjIwMTUtMDYtMDUgMTQ6MzA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBGaXggaW52ZXJ0ZWQgbG9naWMgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAxNS0wNi0wNSAwODo1ODowMyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSAgc2ltcGxldmlkZW9tYXJrZGV0ZWN0OiBmaXggZGV0ZWN0IG9mIHZpZGVvbWFyayBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSB2aWRlbwoJICBJbiBjYXNlIG9mIHRoZSB2aWRlb21hcmsgYmVpbmcgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUsCgkgIGFuIGVycm9yIHdhcyBiZWluIHRocm93biBzYXlpbmcsIG1hcmsgd2lkdGggaXMgbW9yZSB0aGFuIHZpZGVvIHdpZHRoLgoJICBBbmQgd2hlbiB0aGUgd2lkdGgsIG9mZnNldCBwcm9wZXJ0aWVzIGFyZSBzZXQgdG8gbWF4aW11bSBpdCByZXN1bHRlZCBpbiBjcmFzaC4KCSAgSW5zdGVhZCBvZiB0aHJvd2luZyBlcnJvciwgYWRkZWQgbG9naWMgdG8gZGV0ZWN0IHRoZSBtYXJrCgkgIGluIGNhc2Ugb2YgcGFydGlhbCB2aXNpYmlsaXR5IG9yIGRvbnQgc2hvdyB0aGUgbWFyayB3aGVuIGl0IGlzIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDgKCjIwMTUtMDYtMDUgMTQ6MTA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBzZWdtZW50cyB3ZSBoYXZlIHdoZW4gYSBzZWdtZW50IHRlbXBsYXRlIGluc3RlYWQgb2YgYSBsaXN0IGlzIHVzZWQKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGp1c3QgY29udGludWUgZG93bmxvYWRpbmcgbmV3IGZpbGVzIGZvcmV2ZXIgdW50aWwgd2UgZ2V0CgkgIDQwNCBmb3IgdGhlIGZpcnN0IG9uZSwgYW5kIHRoZW4gZXJyb3Igb3V0IGluc3RlYWQgb2YgZ29pbmcgRU9TLgoKMjAxNS0wNi0wNSAwODo1MzozMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSAgc2ltcGxldmlkZW9tYXJrOiBBZGQgRXJyb3IgbG9ncwoJICBXaGVuIHRoZSBwYXR0ZXJuIG9mZnNldCBpcyBvdXRzaWRlIHRoZSB2aWRlbywgdGhlIHByaW50IGVycm9yIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwOAoKMjAxNS0wNi0wNSAxMzoyODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgIm1wZHBhcnNlcjogRG9uJ3QgY29uc2lkZXIgc3RyZWFtcyB3aXRoIGEga25vd24gbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uIGFzIGxpdmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzcwMTFlNTE5ODMwZTA3ODZmYTZlMzA3ZWQyNjAwM2EyYTg3NzRmMS4KCSAgVGhpcyBjaGFuZ2Ugd2FzIGFjdHVhbGx5IGNvbXBsZXRlbHkgdW5uZWNlc3NhcnksIHRoZSBzdHJlYW1zIGluIHF1ZXN0aW9uIGFyZQoJICBtYXJrZWQgYXMgc3RhdGljIGFuZCBhcmUgbm90IGNvbnNpZGVyZWQgbGl2ZSBhbnl3YXkuCgoyMDE1LTA2LTA1IDEzOjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgY29uc2lkZXIgc3RyZWFtcyB3aXRoIGEga25vd24gbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uIGFzIGxpdmUKCjIwMTUtMDYtMDUgMTE6MjY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEVycm9yIG91dCBpZiBkb3dubG9hZGluZyBhIHNlZ21lbnQgZmFpbGVkIHRvbyBvZnRlbiBpbiBsaXZlIG1vZGUKCSAgSXQncyB0cnVlIHRoYXQgd2Ugc2hvdWxkbid0IGNvbnNpZGVyIGVycm9ycyBmYXRhbCBpbW1lZGlhdGVseSwgYnV0IGlmIHdlCgkgIGFsd2F5cyBpZ25vcmUgdGhlbSB3ZSB3aWxsIGxvb3AgaW5maW5pdGVseSBvbiBsaXZlIHN0cmVhbXMgd2l0aCBzZWdtZW50cwoJICB0aGF0IGNhbid0IGJlIGRvd25sb2FkZWQgYXQgYWxsLgoKMjAxNS0wNi0wMyAxMjoxNzoxOSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogQWxsb3cgZ2V0dGluZyBzc3JjIG9mIG1vcmUgcGFja2FnZSB0eXBlcyB0aGFuIFJSIGFuZCBTUgoJICBUaGlzIGFsbG93cyBkZWNyeXB0aW5nIHJlZHVjZSBzaXplIHBhY2thZ2VzLiBTZWUgUkZDIDU1MDYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMyNgoKMjAxNS0wNi0wNCAxMzozNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVmYWN0b3IgcGFkIGNyZWF0aW9uCgkgIEF2b2lkIHJlcGVhdGluZyB0aGUgc2FtZSBwYWQgY3JlYXRpb24gY29kZSBldmVyeXdoZXJlCgoyMDE1LTA2LTA0IDE1OjU3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgY3Jhc2ggaW4gZGVidWcgb3V0cHV0IGlmIHN0cmVhbS0+c2VnbWVudHMgaXMgTlVMTAoKMjAxNS0wNi0wNCAxMzozMTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IGZpeCBsb2dpYyBhbmQgdGltZXN0YW1wIG5vbi1tdXhlZCBzdHJlYW1zIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzODEKCjIwMTUtMDYtMDQgMTI6NTM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliZGUyNjUvZ3N0bGliZGUyNjUuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NWRlYzogZml4IHVwIHBsdWdpbiBuYW1lIGFuZCBkZWNvZGVyIGRlc2NyaXB0aW9uCgoyMDE1LTA2LTA0IDEzOjM2OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBDbGFtcCBzZWVrIHRpbWVzIHRvIHRoZSBhdmFpbGFiaWxpdHlTdGFydFRpbWUKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc2VlayB0byBuZWdhdGl2ZSB0aW1lcywgd2hpY2ggYXJlIGludGVycHJldGVkIGFzIHVuc2lnbmVkCgkgIGludGVnZXJzIGxhdGVyLgoKMjAxNS0wNi0wNCAxMzoxMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEltcHJvdmUgZGVidWcgb3V0cHV0IGEgYml0IHdoZW4gYWR2YW5jaW5nIHNlZ21lbnRzCgoyMDE1LTA2LTA0IDEyOjM2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBSZWxlYXNlIHRoZSBtYW5pZmVzdCBtdXRleCBiZWZvcmUgd2FpdGluZyBmb3IgYSBkb3dubG9hZAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBodXJ0IHBhcmFsbGVsIGRvd25sb2FkcyBpbiB0aGUgYmVzdCBjYXNlLCBhbmQgb2Z0ZW4gY2F1c2UKCSAgZGVhZGxvY2tzLgoKMjAxNS0wNi0wNCAxMTo1NDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogSWYgY2hhbm5lbC9yYXRlIG5lZ290aWF0aW9uIGZhaWxzLCBmYWxsIGJhY2sgdG8gc3RlcmVvIGFuZCA0OGtIegoKMjAxNS0wNi0wNCAxMTo1Mjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IFNldCB1cCBkZWZhdWx0IGhlYWRlciB3aXRoIDQ4a0h6IHNhbXBsZSByYXRlIGluc3RlYWQgb2YgMAoKMjAxNS0wNi0wNCAxMTo0NTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZ3N0X3N0cnVjdHVyZV9maXhhdGVfZmllbGRfbmVhcmVzdF9pbnQoKSBvbmx5IHdvcmtzIGlmIHRoZSBzdHJ1Y3R1cmUgaGFzIHRoaXMgZmllbGQKCSAgSnVzdCBzZXQgdGhlIHJhdGUvY2hhbm5lbHMgZGlyZWN0bHkgaWYgdGhlIGNhcHMgZG9uJ3QgaGF2ZSB0aGlzIGZpZWxkLgoKMjAxNS0wNi0wNCAxMTowNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IFVzZSA2NCBiaXQgaW50ZWdlciBmb3JtYXQgc3RyaW5ncyB3aGVuIHBhc3NpbmcgYSA2NCBiaXQgaW50ZWdlcgoJICBPdGhlcndpc2Ugd2UnbGwgb25seSBnZXQgaGFsZiBvZiBpdHMgYml0cyBwcmludGVkIG9uIDMyIGJpdCBhcmNoaXRlY3R1cmVzLgoJICBGb3IgdGhpcywgcHJvbW90ZSB0aGUgJWQtc3R5bGUgZm9ybWF0IHN0cmluZ3MgdG8gc29tZXRoaW5nIHRoYXQgYWNjZXB0cwoJICA2NCBiaXQgaW50ZWdlcnMgd2l0aCBHX0dJTlQ2NF9NT0RJRklFUi4KCjIwMTUtMDYtMDQgMTA6NDc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IFZhbGlkYXRlIGZvcm1hdCBzdHJpbmdzIGJlZm9yZSB1c2luZyB0aGVtCgkgIFVzaW5nIGZvcm1hdCBzdHJpbmdzIGZyb20gYW4gdW50cnVzdGVkIHNvdXJjZSB3aXRob3V0IHZhbGlkYXRpb24gaXMKCSAgY2FsbGluZyBmb3IgcHJvYmxlbXMsIGFuZCBhdCBsZWFzdCBhbGxvd3MgdG8gcmVtb3RlbHkgY3Jhc2ggeW91ciBhcHBsaWNhdGlvbi4KCSAgSWYgbm90IHdvcnNlLgoKMjAxNS0wNi0wNCAwOTo0MDoxOSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IEZpeCBidWlsZAoKMjAxNS0wNi0wMyAyMjoyMTozMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZTogZml4IGJ1aWxkIGVycm9yIHdoZW4gY29tcGlsaW5nIGNvY29hLXZpZGVvb3ZlcmxheQoJICBsaWJ0b29sOiBlcnJvcjogaWdub3JpbmcgdW5rbm93biB0YWcgT0JKQwoJICBhbmQKCSAgY2xhbmc6IGVycm9yOiBhcmd1bWVudCB1bnVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uOiAnLXB0aHJlYWQnCgoyMDE1LTA2LTA0IDE1OjAxOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3dpbmRvdy9kaXNwbWFueDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTUtMDYtMDQgMTI6MTY6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSAgZ2wvd2luZG93OiB1c2UgdGhlIGRlZmF1bHQgbWFpbiBsb29wIGltcGxlbWVudGF0aW9uIGZvciBhbGwgYmFja2VuZHMKCSAgZml4ZXMgZ2xpbWFnc2luayBiZWluZyB1bmFibGUgdG8gZGlzcGxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMzNwoKMjAxNS0wNi0wMyAyMToyMjowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2x3aW5kb3dfY29jb2E6IHVzZSBwYXJlbnQgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzM3CgoyMDE1LTA2LTAzIDIwOjAzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQWRkIHRoZSBzdGFydE51bWJlciBhcyBvZmZzZXQgdG8gdGhlIHNlZ21lbnQgaW5kZXggd2hlbiB1c2luZyBhIHRlbXBsYXRlCgoyMDE1LTA2LTAzIDE2OjU5OjQ0ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJICBkdGxzZGVjOiBGaXggY3JpdGljYWwgd2FybmluZyAiZ290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50IgoJICBGb3J3YXJkIHN0aWNreSBldmVudHMgb24gcmVxdWVzdGVkIHNyYyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzNDgKCjIwMTUtMDYtMDMgMTU6MjU6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiByZW1vdmUgdXNlbGVzcyB2YWx1ZSBhc3NpZ25tZW50cwoJICBJbiBhbGwgdGhlc2UgY2FzZXMgcmV0IGlzIHNldCBidXQgb3ZlcndyaXR0ZW4gYmVmb3JlIHRoZSByZXR1cm4gb2YgdGhlIGZ1bmN0aW9uCgoyMDE1LTA2LTAzIDE0OjQ0OjMxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhYmluMi10ZXN0OiBwcm90ZWN0IGZyb20gZGl2aXNpb24gYnkgemVybwoJICBIaWdobHkgdW5saWtlbHkgdG8gaGF2ZSAwIGNhcHR1cmVzLCBidXQgcHJvdGVjdCBmcm9tIGNyYXNoZXMgaW4gdGhlIGZ1dHVyZSBieQoJICBkb2luZyBub25lIG9mIHRoZSBtYXRoIGlmIHRoZXJlIGlzIG5vIGRhdGEuCgoyMDE1LTA2LTAyIDIwOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxvd2VyIGN1cmwgcmVxdWlyZW1lbnQgdG8gNy4zNS4wCgkgIEJ1aWxkIGFuZCB1bml0IHRlc3RzIHdlcmUgdGVzdGVkIGFnYWluc3QgNy4zNSB0b28gbm93LAoJICB3aGljaCBpcyB0aGUgdmVyc2lvbiBpbiBVYnVudHUgMTQuMDQuCgoyMDE1LTA2LTAyIDE2OjQwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkbyBub3QgYWNjZXNzIHZhcmlhYmxlIGFmdGVyIHVucmVmCgkgIERhdGEgbWlnaHQgbm90IGV4aXN0IGFueW1vcmUKCjIwMTUtMDYtMDIgMTU6NDU6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IGF1ZGlvaW50ZXJsZWF2ZTogdGVzdCBub3Qgc2V0dGluZyBwb3NpdGlvbnMKCSAgRGlzYWJsZSAiY2hhbm5lbC1wb3NpdGlvbnMtZnJvbS1pbnB1dCIsIGJ1dCB3aXRob3V0IGFjdHVhbGx5IGdpdmluZwoJICBhIHBvc2l0aW9uIHRhYmxlLCBzbyBldmVyeSBwb3NpdGlvbiBzaG91bGQgYmUgTk9ORQoKMjAxNS0wNi0wMiAxNTo0NDo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogRml4IGluZGVudGF0aW9uIGluIGF1ZGlvaW50ZXJsZWF2ZSB0ZXN0CgoyMDE1LTA2LTAyIDExOjMxOjAwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGRvbid0IGlnbm9yZSB6YmFyX3NjYW5faW1hZ2UoKSBlcnJvcnMKCjIwMTUtMDYtMDMgMDA6MzE6NDIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogU2V0IG5ldyBzeW5jIHBvaW50IHdoZW4gY29weWluZwoJICBTZXQgYSBuZXcgc3luYyBwb2ludCB3aGVuIGNvcHlpbmcgaW5zdGVhZCBvZgoJICB0cmFuc2ZlcnJpbmcgdGhlIChub24tcmVmY291bnRlZCkgR0wgc3luYyBvYmplY3QKCSAgZnJvbSB0aGUgc291cmNlIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyNzkKCjIwMTUtMDYtMDIgMjM6NTk6NTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogQWRkIHNvbWUgZGVidWcgb3V0cHV0CgoyMDE1LTA2LTAyIDE2OjAyOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZwOHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIGNoZWNrOiBVc2UgR1NUX0NIRUNLX01BSU4gKCkgbWFjcm8gZXZlcnl3aGVyZQoJICBNYWtlcyBzb3VyY2UgY29kZSBzbWFsbGVyLCBhbmQgZW5zdXJlcyB3ZSBnbyB0aHJvdWdoIGNvbW1vbiBpbml0aWFsaXphdGlvbgoJICBwYXRoIChsaWtlIHRoZSBvbmUgdGhhdCBzZXRzIHVwIFhNTCB1bml0IHRlc3Qgb3V0cHV0IC4uLikKCjIwMTUtMDYtMDIgMTA6MjE6NDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkgIHNpbXBsZXZpZGVvbWFyazogZml4IGRpc3BsYXkgb2YgdmlkZW9tYXJrIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlIHZpZGVvCgkgIEluIGNhc2Ugb2YgdGhlIHZpZGVvbWFyayBiZWluZyBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSwgYW4gZXJyb3Igd2FzIGJlaW5nCgkgIHRocm93biBzYXlpbmcgdGhlIG1hcmsgd2lkdGggaXMgbW9yZSB0aGFuIHZpZGVvIHdpZHRoLiBBbmQgd2hlbiB0aGUgd2lkdGgsCgkgIG9mZnNldCBwcm9wZXJ0aWVzIGFyZSBzZXQgdG8gbWF4aW11bSBpdCByZXN1bHRlZCBpbiBjcmFzaC4gSW5zdGVhZCBvZiB0aHJvd2luZwoJICBhbiBlcnJvciwgYWRkIGxvZ2ljIHRvIGRldGVjdCB0aGUgbWFyayBpbiBjYXNlIG9mIHBhcnRpYWwgdmlzaWJpbGl0eSBvciBkb24ndAoJICBzaG93IHRoZSBtYXJrIHdoZW4gaXQgaXMgb3V0c2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwOAoKMjAxNS0wMy0yNCAxNToxNzoxNiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGVuYWJsZSBDaGluZXNlIEFWUyB2aWRlbyBzdHJlYW0KCSAgQ2hpbmVzZSBicm9hZGNhc3RlciBlbmNhcHN1bGF0ZSBBVlMgdmlkZW8gY29kZWMgaW50byBNUEVHMi1UUy4gVGhleQoJICB1c2UgdGhlIHN0cmVhbV9pZCAweDQyIHRvIGlkZW50aWZ5IEFWUyB2aWRlbyBzdHJlYW1zLiBJdCBzaG91bGQgYmUgbm90ZWQKCSAgdGhhdCB0aGlzIGlkIGlzIGN1cnJlbnRseSB3aXRoaW4gdGhlIElTTyByZXNlcnZlZCByYW5nZSwgaGVuY2UgaXQncwoJICB1dGlsaXNhdGlvbiBpcyB1bm9mZmljaWFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NzMxCgoyMDE1LTA2LTAyIDE3OjI0OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHByb3ZpZGUgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIGZvciBHTEVTMiBmb3IgR0xfUkdCQTgKCjIwMTUtMDYtMDIgMTY6MzI6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBjb25zb2xpZGF0ZSBpbnRlcm5hbF9yZ2JhX2Zvcm1hdCBpbnRvIGdsbWVtb3J5CgkgIEV4cG9zZSBzb21lIHVzZWZ1bCB2YWx1ZSBmb3JtYXQgY29udmVyc2lvbiBmdW5jdGlvbnMgYXZhaWxhYmxlIGluCgkgIEdzdEdMTWVtb3J5LgoKMjAxNS0wNi0wMSAxOTo0MzoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IEFsd2F5cyBoYXZlICJjaGFubmVscyIgYmUgdGhlIGFjdHVhbCBwYWQgY291bnQKCSAgRG9uJ3QgZm9yY2UgaXQgYW55d2hlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI1MgoKMjAxNS0wNi0wMSAxOTo0Mjo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IFVzZSB0aGUgY2hhbm5lbCBjb3VudCBmcm9tIHRoZSBzZXQgY2FwcwoJICBUaGlzIGlzIHRoZSBzYW1lIG51bWJlciB0aGF0IHdhcyB1c2VkIHRvIGFsbG9jYXRlIHRoZSBidWZmZXIKCjIwMTUtMDYtMDEgMTg6NTA6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IHRoYXQgdGhlIGxhdGVuY3kgaXMgaW4gbnMKCjIwMTUtMDYtMDEgMjA6MDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IE9ubHkgbG93ZXIgcmFua3Mgb2YgT01YLkV4eW5vcy4gYXVkaW8gY29kZWNzLCB0aGUgdmlkZW8gY29kZWNzIGFyZSBhY3R1YWxseSB3b3JraW5nCgoyMDE1LTA2LTAxIDE5OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBHaXZlIG1hcmdpbmFsIHJhbmsgdG8gY29kZWNzIHRoYXQgc3RhcnQgd2l0aCBPTVguRXh5bm9zLgoJICBPTVguRXh5bm9zLiBjb2RlY3MgYXJlIGV4aXN0aW5nIG9uIHNvbWUgZGV2aWNlcyBsaWtlIHRoZQoJICBHYWxheHkgUzUgbWluaSwgYW5kIGNhdXNlIHJhbmRvbSBjcmFzaGVzIChvZiB0aGUgZGV2aWNlLAoJICBub3QgdGhlIGFwcCEpIGFuZCBnZW5lcmFsbHkgbWlzYmVoYXZlLiBUaGF0IHNwZWNpZmljIGRldmljZQoJICBoYXMgb3RoZXIgY29kZWNzIHRoYXQgd29yayB3aXRoIGEgZGlmZmVyZW50IG5hbWUsIGJ1dCBsZXQncwoJICBqdXN0IGdpdmUgdGhlbSBtYXJnaW5hbCByYW5rIGluIGNhc2UgdGhlcmUgYXJlIGRldmljZXMgdGhhdAoJICBoYXZlIG5vIG90aGVyIGNvZGVjcyBhbmQgdGhlc2UgYXJlIGFjdHVhbGx5IHRoZSBvbmx5IHdvcmtpbmcKCSAgb25lcwoKMjAxNS0wNi0wMSAxOToyMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogR2l2ZSBsb3dlciByYW5rcyB0byBjb2RlY3Mgbm90IHN0YXJ0aW5nIHdpdGggT01YLgoJICBPbiBzb21lIGRldmljZXMgdGhlcmUgYXJlIGNvZGVjcyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggT01YLiwgd2hpbGUKCSAgdGhlcmUgYXJlIGFsc28gc29tZSB0aGF0IGRvLiBBbmQgb24gc29tZSBvZiB0aGVzZSBkZXZpY2VzIHRoZSBvbmVzCgkgIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBPTVguIGp1c3QgY3Jhc2ggZHVyaW5nIGluaXRpYWxpemF0aW9uIHdoaWxlCgkgIHRoZSBvdGhlcnMgd29yay4gVG8gbWFrZSB0aGluZ3MgZXZlbiBtb3JlIGNvbXBsaWNhdGVkIG90aGVyIGRldmljZXMKCSAgaGF2ZSBjb2RlY3Mgd2l0aCB0aGUgc2FtZSBuYW1lIHRoYXQgd29yayBhbmQgbm8gYWx0ZXJuYXRpdmVzLgoJICBTbyBqdXN0IGdpdmUgYSBsb3dlciByYW5rIHRvIHRoZXNlIG5vbi1PTVggY29kZWNzIGFuZCBob3BlIHRoYXQKCSAgdGhlcmUncyBhbiBhbHRlcm5hdGl2ZSB3aXRoIGEgaGlnaGVyIHJhbmsuCgkgIEFsc28gc3RhZ2VmcmlnaHQgZ2l2ZXMgY29kZWNzIHN0YXJ0aW5nIHdpdGggT01YLiBhIGhpZ2hlciByYW5rIHRvbyBhbmQKCSAgY29uc2lkZXJzIG90aGVyIGNvZGVjcyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggT01YLiBhcyBzb2Z0d2FyZSBjb2RlY3MuCgoyMDE1LTA2LTAxIDExOjEyOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiB6YmFyOiBjaGVjayBmb3IgZnJhbWUgZmllbGQgb24gYXR0YWNoLWZyYW1lPXRydWUKCSAgQWxzbyBjaGVjayBmb3IgdGhlIHNhbXBsZSB0byBoYXZlIGEgYnVmZmVyIGFuZCBjYXBzCgkgIGFzc29jaWF0ZWQgd2l0aCBpdC4KCSAgUmVsYXRlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU1NwoKMjAxNS0wNS0yMCAxNTowNDo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogUmVxdWlyZSB3aWR0aCBhbmQgaGVpZ2h0IGZpZWxkIGZvciBIMjY0CgkgIFRoaXMgZGVjb2RlciBkb2VzIG5vdCB3b3JrIGlmIHdpZHRoIGFuZCBoZWlnaHQgZmllbGQgYXJlIG5vdCBzZXQKCSAgaW4gdGhlIHNpbmtwYWQgY2Fwcy4gTGV0J3MgbWFrZSB0aGlzIGV4cGxpY2l0IGJ5IGFkZGluZyB0aGVtIHRvCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjU1CgoyMDE1LTA2LTAxIDE0OjA3OjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5jOgoJICBnbGNvbnRleHRfZ3B1X3Byb2Nlc3M6IGNsb3NlIHRoZSB3aW5kb3cgd2hlbiBkb25lCgoyMDE1LTA2LTAxIDE0OjA1OjU4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmM6CgkgIGdsd2luZG93X2dwdV9wcm9jZXNzOiBhdm9pZCBlbXB0eSBzdHJ1Y3QKCjIwMTUtMDYtMDEgMTI6NTg6MTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBtb3ZlIG1haW4gbG9vcC9jb250ZXh0IGNyZWF0aW9uIGJhY2sgdG8gaW5pdC9maW5hbGl6ZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTk5CgoyMDE1LTA2LTAxIDE0OjA1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJICBleGFtcGxlczogRml4IGdsIHVzYWdlIHdpdGhvdXQgd2F5bGFuZCBzdXBwb3J0CgkgIE5vdCBhbGwgcGxhdGZvcm1zIGhhdmUgd2F5bGFuZCBzdXBwb3J0LiBIYW5kbGUgdGhhdCBncmFjZWZ1bGx5IGF0CgkgIGNvbXBpbGUgdGltZQoKMjAxNS0wNi0wMSAxMzo1NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBJbml0aWFsaXplIEdzdE1hcEluZm8KCSAgQXZvaWRzIGRvaW5nIGEgY2FsbCB0byB1bm1hcCB3aXRoIGl0IHVuaW5pdGlhbGl6ZWQKCSAgQ0lEICMxMzAyODM0CgoyMDE1LTA2LTAxIDEyOjUxOjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogY2xlYW4gZGVyZWZlcmVuY2VzIG9mIHByaXZhdGUgc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDQtMjUgMjI6NTU6MjggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogZml4IGtleWZyYW1lIHJlcXVlc3QgcmFjZSBjb25kaXRpb24KCSAgSXQgaXMgaW5jb3JyZWN0IHRvIG1vZGlmeSB0aGUgZnJhbWUgcHJvcGVydGllcyBhZnRlciBwYXNzaW5nIHRoZW0sIHNpbmNlCgkgIFZUQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUgdGFrZXMgcmVmZXJlbmNlIGFuZCB3ZSBoYXZlIG5vIGNvbnRyb2wKCSAgb3ZlciB3aGVuIGl0J3MgYmVpbmcgdXNlZC4KCSAgSW4gZmFjdCwgdGhlIGNvZGUgY2FuIGJlIHNpbXBsaWZpZWQuIFdlIGp1c3QgcHJlYWxsb2NhdGUgdGhlIGZyYW1lCgkgIHByb3BlcnRpZXMgZm9yIGtleWZyYW1lIHJlcXVlc3RzLCBhbmQgcGFzcyBOVUxMIG90aGVyd2lzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ2NwoKMjAxNS0wNi0wMSAxMTo1NjoxMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBtYWtlIHByaXZhdGUgYWxsIHZhcmlhYmxlIHN1YmNsYXNzZXMgZG9uJ3QgbmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA1LTAxIDIzOjIwOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogYWRkIGZyYW1lIHNhbXBsZSB0byBiYXJjb2RlIG1lc3NhZ2UKCSAgTmV3IGF0dGFjaC1mcmFtZSBwcm9wZXJ0eSBlbmFibGVzIGJhcmNvZGUgZnJhbWUKCSAgZHVtcGluZyB3aGVuIHNldCB0byB0cnVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU3CgoyMDE1LTA1LTMxIDIxOjMwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgZ2w6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6MjQ2OjQxOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdzdXJmYWNlX2xpc3RlbmVyJyBbLVdlcnJvciwtV3VudXNlZC1jb25zdC12YXJpYWJsZV0KCSAgc3RhdGljIGNvbnN0IHN0cnVjdCB3bF9zdXJmYWNlX2xpc3RlbmVyIHN1cmZhY2VfbGlzdGVuZXIgPSB7CgkgIF4KCjIwMTUtMDUtMjcgMjM6MzQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBDb25kaXRpb25hbGx5IHVzZSBnZXRfe2lucHV0LG91dHB1dH1fYnVmZmVyKCkgQW5kcm9pZCAyMSBBUElzCgkgIEFsc28gcHJvcGVybHkgc2V0IGxpbWl0L3Bvc2l0aW9uIG9uIGJ5dGUgYnVmZmVyLCBzb21lIGNvZGVjcyBwcmVmZXIgdG8gaGF2ZQoJICBjb3JyZWN0IHZhbHVlcyB0aGVyZS4KCjIwMTUtMDUtMzEgMTY6NTM6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogZml4IGNvbXBpbGVyIGVycm9yCgkgIGdzdGdsd2luZG93LmM6MTExODo1NDQ6IGVycm9yOiAncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3JdCgkgIGdfcmV0dXJuX2lmX2ZhaWwgKEdTVF9HTF9JU19XSU5ET1cgKHdpbmRvdykpOwoKMjAxNS0wNS0zMSAxNTo0Mjo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGd0ayBleGFtcGxlcyBmb3IgZ2x1cGxvYWQKCjIwMTUtMDUtMzEgMTU6NDA6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZ3RrIGV4YW1wbGVzIGZvciB3YXlsYW5kCgoyMDE1LTA1LTI5IDE4OjA2OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbC93YXlsYW5kOiBpbXBsZW1lbnQgc2V0dGluZyB0aGUgcmVuZGVyIHJlY3RhbmdsZQoJICBQbGFjZXMgb3VyIHN1YnN1cmZhY2UgYXQgdGhlIHJlY3RhbmdsZSBwcm92aWRlZCBwb3NpdGlvbgoKMjAxNS0wNS0yOSAxODowMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBoYW5kbGUgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUKCjIwMTUtMDUtMjkgMTg6MDE6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IGRvbid0IGJsb2NrIHRoZSBldmVudCBsb29wIGFmdGVyIHBvbGwKCSAgVXNlIHRoZSBkaXNwYXRjaF9wZW5kaW5nIHNldCBvZiBmdW5jdGlvbnMgd2hpY2gganVzdCBydW4gdGhlIGN1cnJlbnRseQoJICBxdWV1ZWQgdXAgZXZlbnRzIGluc3RlYWQgb2YgcG90ZW50aWFsbHkgd2FpdGluZyBmb3IgYW4gZXZlbnQgdG8gb2NjdXIuCgoyMDE1LTA1LTI3IDE2OjQyOjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuaDoKCSAgdGVzdHMvZ2wvZ3RrOiBpbXBsZW1lbnQgc2V0dGluZyBhIHdheWxhbmQgZGlzcGxheS9zdXJmYWNlCgoyMDE1LTA1LTI3IDE2OjM5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2wvd2F5bGFuZDogaW1wbGVtZW50IGJhc2ljIHZpZGVvIG92ZXJsYXkgc3VwcG9ydCB2aWEgc3Vic3VyZmFjZXMKCSAgQ3VycmVudGx5IGRvZXMgbm90IHBvc2l0aW9uIHRoZSBzdWJzdXJmYWNlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgc3VyZmFjZSBhdCBhbGwKCjIwMTUtMDUtMjcgMTU6NDQ6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IGFsbG93IGEgTlVMTCB3bF9ldmVudF9xdWV1ZQoJICBwZXJmb3JtIG9wZXJhdGlvbnMgb24gdGhlIGRlZmF1bHQgd2xfZGlzcGxheSBldmVudCBxdWV1ZSBpbiB0aGF0IGNhc2UKCjIwMTUtMDUtMjcgMTU6NDM6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsL3V0aWxzOiBpbXBsZW1lbnQgd2F5bGFuZCBkaXNwbGF5IEdzdENvbnRleHQKCSAgcmVxdXJpZWQgZm9yIHNoYXJpbmcgR0wgY29udGV4dHMgb3Igc3Vic3VyZmFjZSBzdXBwb3J0CgoyMDE1LTA1LTIyIDE2OjA3OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJICBnbC93YXlsYW5kOiBydW4gZWFjaCB3aW5kb3cgb24gYSBzZXBhcmF0ZSBxdWV1ZQoJICBCYXNlZCBvbiBwYXRjaCBieSBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc0NwoKMjAxNS0wNS0zMCAwMjoxOToyNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IERvbid0IGxlYWsgdGVtcCBzdHJpbmdzIGluIF9SR0JfcGl4ZWxfb3JkZXIoKQoJICBGaXggYSBtZW1vcnkgbGVhayBvZiB0ZW1wb3Jhcnkgc3RyaW5ncyB3aGVuIGNvbXB1dGluZwoJICBzd2l6emxpbmcgb2YgUkdCIGZvcm1hdHMuCgoyMDE1LTA1LTMwIDAyOjI5OjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IEFkZCB0cmFuc2Zvcm1faW50ZXJuYWxfY2FwcygpIHZmdW5jCgkgIEFkZCBhIHZmdW5jIHRoYXQgaXMgY2FsbGVkIGJ5IGdsZmlsdGVyIGJlZm9yZSBpdCBzZXRzCgkgIGNhcHMgZmVhdHVyZXMgYW5kIGludGVyc2VjdHMgd2l0aCB0aGUgcGVlciBjYXBzLCBhbmQKCSAgbW92ZSByZW1vdmluZyB0aGUgc2l6ZSBmcm9tIGNhcHMgaW50byBpdHMgZGVmYXVsdAoJICBpbXBsZW1lbnRhdGlvbi4gQWxsb3dzIHN1Yi1jbGFzc2VzIHRvIGRvIG1vcmUKCSAgc29waGlzdGljYXRlZCBtYW5hZ2VtZW50IG9mIHRoZSBzaXplIGZpZWxkcyBpbiBjYXNlIHRoZXkKCSAgZG9uJ3Qgc3VwcG9ydCBhcmJpdHJhcnkgcmVzaXppbmcgb3IgaGF2ZSBkaXN0aW5jdAoJICBwcmVmZXJlbmNlcy4KCjIwMTUtMDUtMzAgMDI6MjM6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBEb24ndCByZW1vdmUgc2l6ZSBmaWVsZHMgZnJvbSBjYXBzCgkgIEluc3RlYWQgb2YgcmVtb3Zpbmcgc2l6ZSBmaWVsZHMsIHNldCB0aGVtIHRvIHRoZSBmdWxsIHJhbmdlCgkgIGxpa2UgdmlkZW9zY2FsZSBkb2VzLCBzbyB0aGUgY2FwcyBhcmUgY2xlYXJseSB1bmZpeGVkIGluCgkgIGFsbCBjYXNlcy4KCjIwMTUtMDUtMTAgMTg6NTU6MTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogQWRkIGNsYXNzIHByb3BlcnR5IHRvIGRpc2FibGUgY2FwcyBzY2FsaW5nCgkgIEFkZCBwcmVzZXJ2ZV91cGRhdGVfY2Fwc19yZXN1bHQgYm9vbGVhbiBvbiB0aGUgY2xhc3MgdG8gYWxsb3cKCSAgc3ViLWNsYXNzZXMgdG8gZGlzYWJsZSB2aWRlb2FnZ3JlZ2F0b3IgcmVtb3Zpbmcgc2l6ZXMgYW5kIGZyYW1lcmF0ZQoJICBmcm9tIHRoZSB1cGRhdGVfY2FwcygpIHJldHVybiByZXN1bHQuCgoyMDE1LTA1LTA0IDE4OjE3OjIxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDYXRjaCBlcnJvcnMsIGFuZCBhbGxvdyBzdWItY2xhc3MgdG8gcmV0dXJuIE5VTEwgZnJvbSBnZXRfb3V0cHV0X2J1ZmZlcigpCgkgIEEgcmV0dXJuIHZhbHVlIG9mIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBmcm9tIGdldF9vdXRwdXRfYnVmZmVyKCkKCSAgbWVhbnMgdGhlIHN1Yi1jbGFzcyBkb2Vzbid0IHdhbnQgdG8gcHJvZHVjZSBhbiBvdXRwdXQgYnVmZmVyLCBzbwoJICBza2lwIGl0LgoJICBJZiBnc3RfdmlkZW9hZ2dyZWdhdG9yX2RvX2FnZ3JlZ2F0ZSgpIGdlbmVyYXRlcyBhbiBlcnJvciwgbWFrZSBzdXJlCgkgIHRvIHByb3BhZ2F0ZSBpdCAtIGRvbid0IGp1c3QgaWdub3JlIGFuZCBkaXNjYXJkIHRoZSBlcnJvciBieQoJICBvdmVyLXdyaXRpbmcgaXQgd2l0aCB0aGUgZ3N0X3BhZF9wdXNoKCkgcmVzdWx0LgoKMjAxNS0wNS0yOSAxNjowMjozMSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJICBydG1wc2luazogRG8gbm90IGNyYXNoIHdoZW4gcmVjZWl2aW5nIGJ1ZmZlcnMgYWZ0ZXIgR1NUX0ZMT1dfRVJST1IKCSAgSWYgdGhlIFJUTVAgVVJJIGlzIGludmFsaWQsIHRoZSBydG1wc2luayB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgSWYgaXQgc3RpbGwgcmVjZWl2ZXMgYnVmZmVycyBhZnRlciB0aGF0LCBpdCBzaG91bGRuJ3QgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDQKCjIwMTUtMDUtMjkgMDk6MDE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGF2b2lkIGFzc2VydGlvbiB3aGVuIHNwbGl0dGluZyBidWZmZXIKCSAgUGFzcyBzaXplPS0xIGFzIGlzIGlmIHRoYXQgaXMgdGhlIGNhc2UgaW5zdGVhZCBvZiBzdWJ0cmFjdGluZwoJICB0aGUgb2Zmc2V0LiBPdGhlcndpc2Ugd2UgaGF2ZSBhbiBpbnZhbGlkIHNpemUgcGFzc2VkIGZvciB0aGF0CgkgIGJ1ZmZlci4KCjIwMTUtMDUtMjggMTU6NTk6MDIgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsc3NydHBkZWM6IFJlbGVhc2UgcmVxdWVzdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAzNgoKMjAxNS0wNS0yOCAxNTo1NzoxMCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IFJlbW92ZSB1bm5lY2Vzc2FyeSByZWYvdW5yZWYgb3BlcmF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDM2CgoyMDE1LTA1LTI4IDE1OjU1OjAzICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IHJlbGVhc2UgcmVxdWVzdCBwYWQgZnVuY3Rpb24KCSAgRG9uJ3QgdW5yZWYgdGhlIHBhZCByZWZlcmVuY2Ugd2UgZG9uJ3Qgb3duIGFuZCBqdXN0IHJlbW92ZSB0aGUgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDM2CgoyMDE1LTA1LTI4IDE0OjMwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTZWFyY2ggbW9yZSB3aGVuIGFkdmFuY2luZyBmcmFnbWVudAoJICBJbiBsaXZlIHNpdHVhdGlvbnMsIGl0IGlzIG5vdCB1bmNvbW1vbiBmb3IgdGhlIGN1cnJlbnQgZnJhZ21lbnQgdG8gZW5kCgkgIHVwIG91dCBvZiB0aGUgKHVwZGF0ZWQpIHBsYXkgcmFuZ2UgKGxvd2VzdC9oaWdoZXN0IHNlcXVlbmNlKS4gQnV0IHRoZSBuZXh0CgkgIGZyYWdtZW50IHRvIHBsYXkgKmlzKiBwcmVzZW50IGluIHRoZSBwbGF5IHJhbmdlLgoJICBXaGVuIGFkdmFuY2luZywgaWYgd2UgY2FuJ3QgZmluZCB0aGUgY3VycmVudCBHc3RNM1U4TWVkaWFGaWxlLCBkb24ndCBhYm9ydAoJICBzdHJhaWdodCBhd2F5LiBJbnN0ZWFkLCBsb29rIGlmIGEgR3N0TTNVOE1lZGlhRmlsZSB3aXRoIHRoZSBuZXh0IHNlcXVlbmNlIHZhbHVlCgkgIGlzIHByZXNlbnQsIGFuZCBpZiBzbyBzd2l0Y2ggdG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMjgKCjIwMTUtMDUtMjcgMTA6NTg6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBhZGQgR3N0R0xDb250ZXh0R1BVUHJvY2VzcyBiYWNrZW5kCgkgIEl0IGJ1aWxkcyBpdHMgR0wgdnRhYmxlIGZyb20gYSBwcm9jIGFkZHJlc3MgcHJvdmlkZWQKCSAgYnkgdGhlIGFwcGxpY2F0aW9uLgoKMjAxNS0wNS0yNyAxNjoyODozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGFkZCBhbmQgdXNlIGdzdF9nbF9pbnRlcm5hbF9mb3JtYXRfcmdiYQoJICBQcmV2aW91c2x5IHdoZW4gY29tcGlsaW5nIEdzdEdMIHdpdGggYm90aCBHTCBhbmQgR0xFUzIsCgkgIEdMX1JHQkE4IHdhcyBwaWNrZWQgZnJvbSBHTC9nbC5oLiBCdXQgYSBjbGFzaCBtYXkgaGFwcGVuIGF0CgkgIHJ1bnRpbWUgd2hlbiBvbmUgaXMgc2VsZWN0aW5nIEdMRVMyLgoJICBnc3RfZ2xfaW50ZXJuYWxfZm9ybWF0X3JnYmEgYWxsb3dzIHRvIGNoZWNrIGF0IHJ1bnRpbWUKCSAgaWYgaXQgc2hvdWxkIHVzZSBHTF9SR0JBIG9yIEdMX1JHQkE4LgoKMjAxNS0wNS0yNyAxNDoxMDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2x3aW5kb3dfeDExOiB1c2UgcGFyZW50IGRlZmF1bHQgaW1wbGVtZW50YXRpb24KCjIwMTUtMDUtMjcgMTE6MTY6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dF9nbHg6IHJlbmFtZSB2YXJpYWJsZSBmcm9tIHdpbmRvdyB0byBjb250ZXh0CgoyMDE1LTA1LTI3IDExOjExOjU1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogaW5pdGlhbGl6ZSBkZWJ1ZyBpbiBjbGFzc19pbml0CgkgIFVzZWZ1bCBpZiBvbmUgdXNlcyBnc3RfZ2xfd2luZG93X3gxMV9uZXcgZGlyZWN0bHkKCSAgaW5zdGVhZCBvZiBnc3RfZ2xfd2luZG93X25ldy4KCjIwMTUtMDUtMjcgMTE6MDc6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGluaXRpYWxpemUgZGVidWcgaW4gY2xhc3NfaW5pdAoJICBVc2VmdWwgaWYgb25lIHVzZXMgZ3N0X2dsX2NvbnRleHRfZWdsX25ldyBkaXJlY3RseQoJICBpbnN0ZWFkIG9mIGdzdF9nbF9jb250ZXh0X25ldy4KCjIwMTUtMDUtMjcgMTA6NTU6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGdzdF9nbF9jb250ZXh0X3NldF9kaXNwbGF5IGhlbHBlcgoKMjAxNS0wNS0yNyAxNToyNTo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIG1pc3NpbmcgX0NBU1QgYWZ0ZXIgR19UWVBFX0NIRUNLX0NMQVNTCgoyMDE1LTA1LTI3IDEwOjUxOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogYWRkIG1pc3NpbmcgX0NBU1QgYWZ0ZXIgR19UWVBFX0NIRUNLX0NMQVNTCgoyMDE1LTA1LTI2IDE4OjM4OjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogcHJvdmlkZXMgc29tZSBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyB0byBmYWN0b3JpemUgd2l0aCBhbGwgYmFja2VuZHMKCjIwMTUtMDUtMjggMDA6NTk6MzkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQdXNoIEVPUyBvbiBlcnJvciByZXR1cm4uCgkgIEJlZm9yZSBzaHV0dGluZyBkb3duIHRoZSBzcmNwYWQgdGFzayBkdWUgdG8gYQoJICBkb3duc3RyZWFtIGVycm9yLCBwdXNoIGFuIEVPUyB0byBnaXZlIGRvd25zdHJlYW0KCSAgYSBjaGFuY2UgdG8gc2h1dCBkb3duIHNvbWV3aGF0IGNsZWFubHkuCgoyMDE1LTA1LTI3IDEzOjEyOjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBvdmVyd3JpdGUgdmFsdWUKCSAgVmFsdWUgb2YgcmVzIGlzIHJlc2V0IHRvIEZBTFNFIGluIGVhY2ggaXRlcmF0aW9uIG9mIHRoZSB3aGlsZSBsb29wLiBXZSB3YW50IHRvCgkgIGNvbnNlcnZlIFRSVUUgaWYgYW55IHBhZCBldmVudCBzdWNjZWVkZWQgdW50aWwgd2UgYXJyaXZlIHRvIGRvbmUuCgkgIEFsc28sIGJ1ZiBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mICpvdXRidWYgdHdpY2UuIFJlbW92aW5nIHRoZSBmaXJzdCBhc3NpZ25tZW50CgkgIHNpbmNlIHRoZSBzZWNvbmQgb25lIGlzIG91dHNpZGUgb2YgYSBjb25kaXRpb25hbC4KCjIwMTUtMDUtMjcgMTM6MDg6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSAgb3BlbmN2OiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24KCSAgJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQzg5LCBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9ucwoJICB0byBiZWZvcmUgdGhlICdmb3InIGxvb3BzLgoKMjAxNS0wNS0yNyAxMzowNToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24KCSAgJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQzg5LCBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9ucwoJICB0byBiZWZvcmUgdGhlICdmb3InIGxvb3BzLgoKMjAxNS0wNS0yNyAxMjowMzo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAgVGhlIGRhdGEgdmFyaWFibGUgaXMgaW5jcmVtZW50ZWQgYnV0IG5ldmVyIHJlYWQgYWdhaW4uIFJlbW92ZSB0aGUgdW51c2VkIHZhbHVlCgkgIGFzc2lnbm1lbnQuCgoyMDE1LTA1LTI3IDA2OjE3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlbW92ZSBtb3JlIHVudXNlZCBhdHRyaWJ1dGVzCgkgIFRob3NlIGFyZSBub3QgdXNlZCBvciBvbmx5IHJlYWQKCjIwMTUtMDUtMjcgMDU6MzU6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBhdHRyaWJ1dGUKCSAgSXQgaXMgbmV2ZXIgcmVhZCBmb3IgYW55dGhpbmcgdXNlZnVsCgoyMDE1LTA1LTI2IDE2OjQ3OjQ3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogZml4IGEgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE1OjEwOjI4IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogcHJvcGVybHkgaGFuZGxlIGVycm9ycyB3aGlsZSBsb2FkaW5nIGZpbGUKCSAgUG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIGFueXRoaW5nIGJhZCBoYXBwZW5zIHdoaWxlIHJlYWRpbmcKCSAgYW5kIHBhcnNpbmcgdGhlIGltYWdlIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTU6MDQ6MzQgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBnbG92ZXJsYXk6IHJlbW92ZSB1bnVzZWQgdHlwZV9maWxlIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTU6MDE6MzcgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBmcm9tIGZpbHRlciBhbmQgZmlsdGVyX3RleHR1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNjozOTo1OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHVudXNlZCBhc3NpZ25tZW50CgkgIGJ1ZiBpcyBpbmNyZW1lbnRlZCBqdXN0IGJlZm9yZSByZXR1cm5pbmcsIHRoaXMgbmV3IHZhbHVlIGlzIG5ldmVyIHVzZWQuCgkgIFJlbW92aW5nIHVudXNlZCBhc3NpZ25tZW50LgoKMjAxNS0wNS0yNiAxNToyNDo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uCgkgICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDODksIG1vdmluZyB0aGUgZGVjbGFyYXRpb24KCSAgdG8gYmVmb3JlIHRoZSAnZm9yJyBsb29wLgoKMjAxNS0wNS0yNiAxNDoxNDozNCArMDEwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBleGNsdXNpb246IGV4Y2VwdGlvbiB3aGVuIHNldCBmYWN0b3IgdG8gMAoJICBXaGVuIGZhY3RvciBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgdHJhbnNmb3JtIGp1c3QgcmV0dXJucy4KCSAgQWRqdXN0IHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDcKCjIwMTUtMDUtMjYgMTI6NDc6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBwcm9wZXJseSBpbml0aWFsaXplIHRoZSBzaGFkZXJzIGFjcm9zcyBjb250ZXh0cyBpbXBsZW1lbnRpbmcgbXVsdGlwbGUgQVBJJ3MKCjIwMTUtMDUtMjYgMTI6NDQ6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzX2xhcGxhY2lhbjogZml4IHNoYWRlciBjb21waWxhdGlvbiBpbiBnbDMvZ2xlczIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM5MwoKMjAxNS0wNS0yNSAxMjozMzo1MCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSAgY3VybHNpbms6IGhhbmRsZSBzb2NrZXQgY2FsbGJhY2sgZm9yIGFjdGl2ZSBGVFAgY29ubmVjdGlvbnMgYXMgd2VsbAoJICBTaW5jZSB2ZXJzaW9uIDcuMjguMCwgbGliY3VybCBhbGxvd3MgYXBwbGljYXRpb24gdG8gc2V0CgkgIHNvY2tldCBvcHRpb25zIGZvciBhY3RpdmUgRlRQIGNvbm5lY3Rpb25zLgoJICBCdW1wIGxpYmN1cmwgcmVxdWlyZW1lbnQgdG8gdmVyc2lvbiB0ZXN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4MTUKCjIwMTUtMDUtMjAgMTI6MDg6MzggKzAxMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBzZWdmYXVsdCBpbnRyb2R1Y2VkIGJ5IHNlZ21lbnQgaXRlcmF0aW9uIHJlZmFjdG9yaW5nICgyMTA1YTMxMCkuCgkgIFRoZSBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBuZXh0IGZyYWdtZW50LCBuZXh0IGZyYWdtZW50IHRpbWVzdGFtcCBhbmQgdG8gYWR2YW5jZQoJICB0byB0aGUgbmV4dCBmcmFnbWVudCBuZWVkIHRvIHdvcmsgZGlmZmVyZW50bHkgd2hlbiBzdHJlYW0tPnNlZ21lbnRzIGlzIE5VTEwuCgkgIFVzZSBsb2dpYyBzaW1pbGFyIHRvIHRoYXQgaW50cm9kdWNlZCBieSBjb21taXQgMjEwNWEzMTAgdG8gcGVyZm9ybSB0aGVzZQoJICBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2ODQKCjIwMTUtMDUtMTggMjI6MzM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB1c2Ugc2lnbmVkIGludGVnZXQgdG8gcmVwcmVzZW50IHNlZ21lbnQgaW5kZXgKCSAgV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlcHJlc2VudCAtMSB0byBjaGVjayB3aGVuIHdlIGFyZSBFT1MKCSAgb24gcmV2ZXJzZSBwbGF5YmFjayBhbmQgdW5zaWduZWQgaW50ZWdlciB3b24ndCBhbGxvdyB0aGF0LgoJICBDSUQgIzEyOTgxOTMKCSAgQ0lEICMxMjk4MTk0CgkgIENJRCAjMTI5ODE5NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM0CgoyMDE1LTA1LTI1IDEwOjMwOjU1ICswOTAwICBTdWh3YW5nIEtpbSA8c3Vod2FuZy5raW1AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBvdXRkYXRlZCBleGFtcGxlIGxhdW5jaCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4MDkKCjIwMTUtMDUtMjIgMTM6MTI6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IHJlbW92ZSBkZWFkIGV2ZW50IHNvdXJjZSBjb2RlCgoyMDE1LTA1LTIxIDE3OjQ4OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBnbC93YXlsYW5kOiBhZGQgR3N0R0xEaXNwbGF5V2F5bGFuZAoJICBTaW1wbGUgaW1wbGVtZW50YXRpb24gc3BsaXQgZnJvbSBHc3RHTFdpbmRvd1dheWxhbmQKCSAgQ2FuIG5vdyBoYXZlIG11bHRpcGxlIGdsaW1hZ2VzaW5rIGVsZW1lbnRzIGFsbCBkaXNwbGF5aW5nIG91dHB1dAoJICBsaW5rZWQgdmlhIEdMIG9yIG90aGVyd2lzZSAoYmFycmluZyBHTCBwbGF0Zm9ybSBsaW1pdGF0aW9ucykuCgkgIFRoZSBpbnRlbCBkcml2ZXIgaXMgcmFjeSBhbmQgY2FuIGNyYXNoIHNldHRpbmcgdXAgdGhlIHR3byBnbGltYWdlc2luayBjb250ZXh0cy4KCSAgZS5nLgoJICB2aWRlb3Rlc3RzcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBnbHVwbG9hZCAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB0LiAhIHF1ZXVlICEgZ2xlZmZlY3RzX2JsdXIgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdmlkZW90ZXN0c3JjICEgZ2x1cGxvYWQgISBnbGZpbHRlcmN1YmUgISB0ZWUgbmFtZT10ICEgcXVldWUgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdC4gISBxdWV1ZSAhIGdsZWZmZWN0c19ibHVyICEgZ2xpbWFnZXNpbmtlbGVtZW50CgoyMDE1LTA1LTI1IDE3OjI3OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBmaXggRHJhd0VsZW1lbnRzIGNhbGwgZm9yIGVsZW1lbnQgYXJyYXkgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NzM0CgoyMDE1LTA1LTIzIDAxOjAwOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IHByb3ZpZGUgdGhlIGV4YWN0IEdMIGFwaSB2ZXJzaW9uIGZvciB0aGUgd3JhcHBlZCBjb250ZXh0CgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgYmVpbmcgbWlzdGFrZW4gZm9yIHRoZSBkaWZlcmVuY2UgYmV0d2VlbiBhCgkgIGdsMyBhbmQgYSBnbDIgY29udGV4dCByZXN1bHRpbmcgaW4gYSBmYWlsdXJlIGdldHRpbmcgdGhlIGxpc3Qgb2YKCSAgZXh0ZW5zaW9ucyBmcm9tIHRoZSB3cmFwcGVkIGNvbnRleHQgZHVlIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KCSAgZ2xHZXRTdHJpbmcgYW5kIGdsR2V0U3RyaW5naSBmb3IgdGhlIEdMX0VYVEVOU0lPTlMgdG9rZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk3MjgKCjIwMTUtMDUtMjIgMDI6NDA6MzcgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZW1pY29sb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY5MQoKMjAxNS0wNS0yMSAxNTozMDozNCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogZG8gbm90IGNhbGwgU2V0UGFyZW50IGluIHJlbGVhc2VfcGFyZW50X3dpbl9pZCgpCgkgIFdoZW4gY2FsbGVkIGZyb20gZ3N0X2dsX3dpbmRvd193aW4zMl9jbG9zZSgpLCBpbnRlcm5hbCB3aW5kb3cKCSAgY291bGQgbm90IGV4aXN0LCBhbmQgaWYgaXQgZG9lcyBpdCdzIGdvaW5nIHRvIGJlIGRlc3Ryb3llZCBqdXN0CgkgIGFmdGVyIHRoYXQgYW55d2F5LiBBbHNvIGl0IGNhdXNlcyB3aW5kb3dfcHJvYygpIHRvIGJlIGNhbGxlZAoJICBhbmQgY3Jhc2ggYmVjYXVzZSBpdCBnZXRzIGEgTlVMTCBjb250ZXh0LgoJICBXaGVuIGNhbGxlZCBmcm9tIGdzdF9nbF93aW5kb3dfd2luMzJfc2V0X3dpbmRvd19oYW5kbGUoKSB3ZSBhcmUKCSAgZ29pbmcgdG8gc2V0IGFub3RoZXIgcGFyZW50IGFueXdheSwgYW5kIGl0J3MgcHJvYmFibHkgYmV0dGVyIHRvCgkgIHJlcGFyZW50IGRpcmVjdGx5IGluc3RlYWQgb2YgcGFzc2luZyBieSBhIE5VTEwgcGFyZW50IHdoaWNoIGNvdWxkCgkgIGNhdXNlIHRoZSBpbnRlcm5hbCB3aW5kb3cgdG8gcG9wdXAgYnJpZWZseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMSAxNTozMDowMCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTc6MDk6MjEgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IGZpeCBjcmFzaCB3aGVuIGZpbmFsaXppbmcgR3N0R0xDb250ZXh0CgkgIGdzdF9nbF9jb250ZXh0X2ZpbmFsaXplKCkgaXMgY2FsbGluZyBnc3RfZ2xfd2luZG93X3dpbjMyX3F1aXQoKQoJICB3aGljaCB3YXMgcG9zdGluZyBhIG1lc3NhZ2UuIEJ1dCB0aGVuIHdpbmRvd19wcm9jIHRha2VzIHdpbmRvdydzCgkgIGNvbnRleHQgYW5kIGdldCBhIE5VTEwuCgkgIE5vdyB0aGF0IHdlJ3ZlIGdvdCBhIEdNYWluTG9vcCB3ZSBjYW4gZG8gbGlrZSBvdGhlciBiYWNrZW5kcyBhbmQKCSAgc2ltcGx5IGNhbGwgZ19tYWluX2xvb3BfcXVpdCgpLgoJICBUaGlzIGFsc28gcmVtb3ZlIGR1cGxpY2F0ZWQgY29kZSB0byByZWxlYXNlIHRoZSBwYXJlbnQgd2luZG93IGFuZAoJICBwb3RlbnRpYWwgY3Jhc2ggdGhlcmUgYmVjYXVzZSBwYXJlbnRfcHJvYyBjb3VsZCBiZSBOVUxMIGlmIHdlIG5ldmVyCgkgIGNyZWF0ZWQgdGhlIGludGVybmFsIHdpbmRvdy4gVGhhdCBjb3VsZCBoYXBwZW4gZm9yIGV4YW1wbGUgaWYgc2V0dGluZwoJICBzdGF0ZSB0byBSRUFEWSB0aGVuIHNldHRpbmcgYSB3aW5kb3dfaGFuZGxlLCBhbmQgZ28gYmFjayB0byBOVUxMIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE3OjA2OjQyIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBGaXggbGVha2VkIEdzdEdMQ29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE1OjMwOjQ5IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBzZXQgdGhlIHBhcmVudCB3aW5kb3cgd2hlbiBjcmVhdGluZyBpbnRlcm5hbCB3aW5kb3cKCSAgV2hlbiBfc2V0X3dpbmRvd19oYW5kbGUoKSB3YXMgY2FsbGVkIGluIFJFQURZIHN0YXRlLCBpdCB3YXNuJ3QKCSAgc2V0IHRvIHRoZSBpbnRlcm5hbCB3aW5kb3cgY3JlYXRlZCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNToyOTo1MCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi93aW4zMl9tZXNzYWdlX3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvd2luMzJfbWVzc2FnZV9zb3VyY2UuaDoKCSAgZ2w6IHdpbjMyOiB1c2UgYSBHTWFpbkNvbnRleHQgdG8gZGlzcGF0Y2ggd2luMzIgbWVzc2FnZXMKCSAgZ3N0X2dsX3dpbmRvd193aW4zMl9zZW5kX21lc3NhZ2VfYXN5bmMoKSBjb3VsZCBiZSBjYWxsZWQgYmVmb3JlIHRoZQoJICBpbnRlcm5hbCB3aW5kb3cgaXMgY3JlYXRlZCBzbyB3ZSBjYW5ub3QgdXNlIFBvc3RNZXNzYWdlIHRoZXJlLgoJICB4MTEgYW5kIHdheWxhbmQgYmFja2VuZHMgYm90aCBjcmVhdGUgYSBjdXN0b20gR1NvdXJjZSBmb3IgdGhpcywKCSAgc28gdGhlcmUgaXMgbm8gcmVhc29uIHRvIG5vdCBkbyB0aGF0IGZvciB3aW4zMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMiAwMDoyNzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IERvbid0IGxlYWsgYWxsIG1lbW9yeSB1cGxvYWRlZCB2aWEgcmF3IHVwbG9hZHMuCgkgIFJlbW92ZSBhbiBleHRyYSByZWYgbWlzc2VkIHdoZW4gc3dpdGNoaW5nIG92ZXIgdG8gbm90CgkgIHJldXNpbmcgb3V0cHV0IHRleHR1cmVzCgoyMDE1LTA1LTIxIDE2OjI0OjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3IvZ2x2aWRlb21peGVyOiBEb24ndCBjYWxjdWxhdGUgUEFSL0RBUiB3aXRoIHVuc2V0IEdzdFZpZGVvSW5mb3MKCSAgT3RoZXJ3aXNlIHdlIGRpdmlkZSBieSB6ZXJvLgoKMjAxNS0wNS0yMSAxNjoxOTowOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRml4IGRvdWJsZSBhc3NpZ25tZW50CgoyMDE1LTA1LTIxIDE1OjA1OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogcmVxdWlyZSBhIHNoYWRlciB2ZXJzaW9uIHRvIGluaXRpYWxpemUuCgkgIEl0J3MgdmVyeSBuZWFyIHBvaW50bGVzcyB0byB0cnkgb3VyIEdMIGltcGxlbWVudGF0aW9uIHdpdGhvdXQgc2hhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI4NAoKMjAxNS0wNS0yMCAwMjozODo1MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJICBGaXggZmxhZ3Mgb3JkZXIgaW4gR0wgZXhhbXBsZXMgZm9yIHVuaW5zdGFsbGVkIGJ1aWxkCgoyMDE1LTA1LTIwIDAxOjU3OjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogRml4IGZsYWdzIG9yZGVyIGZvciB1bmluc3RhbGxlZCBidWlsZAoKMjAxNS0wNS0yMSAwMDo1NjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3IvZ2x2aWRlb21peGVyOiBmaXggdXAgcGFyIGhhbmRsaW5nCgkgIFdlIHdlcmUgdXNpbmcgdGhlIHdyb25nIGZvcm11bGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYzNAoKMjAxNS0wNC0xNyAxNTozNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29uc2lkZXIgU0VJIE5BTFUgYXMgIkhFQURFUiIgcGFja2V0cwoJICBMaWtlIFNQUy9QUFMgdGhleSBkbyBjb250YWluIGluZm9ybWF0aW9uIHdoaWNoIHdpbGwgYmUgbmVlZGVkIHRvCgkgIGRlY29kZSB0aGUgZm9sbG93aW5nIGRhdGEgKGFzIHBlciBkZWZpbml0aW9uIG9mIHRoZSBmbGFnKQoJICBBbHNvIGVuc3VyZXMgdGhhdCB0aGUgc2VyaWVzIG9mIFNQUy9QUFMvU0VJIE5BTFUgYmVmb3JlIGEga2V5ZnJhbWUKCSAgY2FuIGJlIGNvbnNpZGVyZWQgYXMgb25lIGNvbnRpZ3VvdXMgaGVhZGVyCgoyMDE1LTA0LTE3IDE1OjM1OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBDYXJyeSBvdmVyIEdTVF9CVUZGRVJfRkxBR19IRUFERVIKCSAgSW4gdGhlIHNhbWUgd2F5IHdlIGRvIGl0IGZvciB0aGUgREVMVEFfVU5JVCBmbGFnCgkgIFRoaXMgYWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgdG8ga25vdyB3aGV0aGVyIGEgZ2l2ZW4gbXBlZy10cwoJICBwYWNrZXQgY29udGFpbnMgYSBjb3JyZXNwb25kaW5nIEhFQURFUiBlbGVtZW50YXJ5IHVuaXQKCjIwMTUtMDUtMjAgMTI6MTE6MzEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBPbmx5IGNvcHkgVlBTL1NQUy9QUFMgTkFMIHVuaXRzIGluIGhlYWRlciBidWZmZXIKCSAgUHJldmlvdXNseSB0aGUgVlBTIHVuaXQgd2FzIGRldGVjdGVkIGFuZCBhbGwgbmV4dCBwYWNrZXRzIHdoZXJlIGNvcGllZAoJICBpbnRvIHRoZSBoZWFkZXIgYnVmZmVyIGFzc3VtaW5nIG9ubHkgU1BTIGFuZCBQUFMgd291bGQgZm9sbG93LiAgVGhpcyBpcwoJICBub3QgYWx3YXlzIHRydWUsIGFsc28gb3RoZXIgdHlwZXMgb2YgTkFMIHVuaXRzIGZvbGxvdyB0aGUgVlBTIHVuaXQgYW5kCgkgIHdoZXJlIGNvcGllZCB0byB0aGUgaGVhZGVyIGJ1ZmZlci4gTm93IHRoZSBWUFMvU1BTL1BQUyBhcmUgZXhwbGljaXRlbHkKCSAgZGV0ZWN0ZWQgYW5kIGNvcGllZCBpbiB0aGUgaGVhZGVyIGJ1ZmZlci4KCjIwMTUtMDUtMjAgMTE6Mjc6MjUgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBGaXggdHVuZSBwYXJhbWV0ZXIgbWlzbWF0Y2gKCSAgVGhlcmUgd2FzIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgdHVuZSBwYXJhbWV0ZXIgaW4geDI2NSBhbmQgdGhlIGVudW0KCSAgdXNlZCBpbiB0aGlzIGVsZW1lbnQuIFRoZSB2YWx1ZSBpbiB0aGUgZW51bSBpcyB0aGUgeDI2NSB0dW5lCgkgIHBhcmFtZXRlciArIDEuCgoyMDE1LTA1LTE5IDE4OjAyOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIGFtY2F1ZGlvZGVjOiBBZGQgYW4gb3V0cHV0IGFkYXB0ZXIgZm9yIGNodW5raW5nIHRoZSBvdXRwdXQgaW50byBjb2RlYyBmcmFtZXMKCSAgT3RoZXJ3aXNlIHRoZSBiYXNlIGNsYXNzIHdpbGwgYmUgY29uZnVzZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NzMwCgoyMDE1LTA1LTE5IDEwOjQzOjI4IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2w6IGZpeCBjcmFzaCBvbiB3aW5kb3dzIHdpdGggaW50ZWwgZHJpdmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk0MzAKCjIwMTUtMDUtMjAgMDA6NTA6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogc3RhdGljIGNvbnN0IHRoZSBpbmRpY2VzIGFycmF5CgkgIHRoZSBjb250ZW50cyB3aWxsIG5ldmVyIGNoYW5nZSBhbnl3YXkuCgoyMDE1LTA1LTIwIDAwOjI4OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBjb3JyZWN0bHkgdXNlIHRoZSBzeW5jIG1ldGEgYWNyb3NzIG11bHRpcGxlIGNvbnRleHRzCgkgIDEuIFNldCB0aGUgc3luYyBwb2ludCBhZnRlciB0aGUgKHBvc3NpYmxlKSB1cGxvYWQgaGFzIG9jY3VyZWQKCSAgMi4gV2FpdCBpbiB0aGUgY29ycmVjdCBHTCBjb250ZXh0ICh0aGUgZHJhdyBjb250ZXh0KQoJICBOb3RlOiBXZSBkb24ndCBhZGQgdGhlIEdMIHN5bmMgbWV0YSB0byB0aGUgaW5wdXQgYnVmZmVyIGFzIGl0J3Mgbm90CgkgIHdyaXRhYmxlIGFuZCBhIGNvcHkgd291bGQgYmUgZXhwZW5zaXZlLgoJICBTaW1pbGFyIHRvIHRoZSBjaGFuZ2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGZvciBnbGltYWdlc2luawoKMjAxNS0wNS0yMCAwMDoyODowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogdXBkYXRlIGZvciBHTDMgZWxlbWVudCBhcnJheSBidWZmZXIgdXNhZ2UKCSAgZml4ZXMgYmxhbmsgb3V0cHV0CgoyMDE1LTA1LTE5IDE2OjIyOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBjb3JyZWN0bHkgdXNlIHRoZSBzeW5jIG1ldGEgYWNyb3NzIG11bHRpcGxlIGNvbnRleHRzCgkgIDEuIFNldCB0aGUgc3luYyBwb2ludCBhZnRlciB0aGUgKHBvc3NpYmxlKSB1cGxvYWQgaGFzIG9jY3VyZWQKCSAgMi4gV2FpdCBpbiB0aGUgY29ycmVjdCBHTCBjb250ZXh0ICh0aGUgZHJhdyBjb250ZXh0KQoJICBOb3RlOiBXZSBkb24ndCBhZGQgdGhlIEdMIHN5bmMgbWV0YSB0byB0aGUgaW5wdXQgYnVmZmVyIGFzIGl0J3Mgbm90CgkgIHdyaXRhYmxlIGFuZCBhIGNvcHkgd291bGQgYmUgZXhwZW5zaXZlLgoKMjAxNS0wNS0xOSAxNjoxOTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IHByb3ZpZGUgYSBjdXJyZW50IHdyYXBwZWQgR3N0R0xDb250ZXh0IGZvciBjYWxsYmFja3MKCSAgU28gdGhhdCB0aGUgZHJhdyBhbmQgcmVzaXplIGNhbGxiYWNrcyBjYW4gZ2V0IHRoZSBjdXJyZW50IEdzdEdMQ29udGV4dC4KCjIwMTUtMDUtMTkgMTY6MTQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGVuc3VyZSB0aGF0IHRoZSBGZW5jZSBpcyBnb2luZyB0byBiZSBleGVjdXRlZAoJICBPdGhlcndpc2UgaXQgY291bGQgc3RheSBjbGllbnQgc2lkZSB3aXRob3V0IGJlaW5nIHN1Ym1pdHRlZCB0byB0aGUgR0wKCSAgc2VydmVyIHJlc3VsdGluZyBpbiBhbm90aGVyIGNvbnRleHQgd2FpdGluZyBvbiBhIEZlbmNlIHRoYXQgd2lsbCBuZXZlcgoJICBiZWNvbWUgc2lnbmFsbGVkIGNhdXNpbmcgYSBkZWFkbG9jay4KCjIwMTUtMDUtMTkgMTE6NDc6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZG9uJ3QgcmV1c2Ugb3V0cHV0IHRleHR1cmVzIGZvciByYXcgZGF0YSB1cGxvYWQKCSAgQ2F1c2VzIHN0YWxlIHRleHR1cmVzIHRvIGJlIHVzZWQgZnVydGhlciBkb3duIHRoZSBjaGFpbi4KCjIwMTUtMDUtMTkgMTE6MTE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGRvbid0IGNsZWFyIHRoZSBmcmFtZWJ1ZmZlcgoJICBCcmVha3MgYXR0ZW1wdGluZyB0byBibGVuZCB3aXRoIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgYW5kIHNob3VsZCBiZSBkb25lCgkgIGV4cGxpY2l0bHkgYnkgdGhlIGNhbGxiYWNrIGFueXdheS4KCjIwMTUtMDUtMTkgMTE6MDk6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiB0cmFjayBnbF9zdGFydC9zdG9wIGNvcnJlY3RseQoJICBEb24ndCBzdGFydCBtdWx0aXBsZSB0aW1lcyB3aXRob3V0IGNhbGxpbmcgZ2xfc3RvcC4KCjIwMTUtMDUtMTggMjA6MTY6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgUmV2ZXJ0ICJkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGZmNmM3MzZmZTA4ZTAxZjQzMjBjNGIwMmU4MTFhMGI1N2NmOTdjYzEuCgkgIFRoaXMgaXMgZml4ZWQgYnkgdGhlIGd0ay1kb2MgMS4yMyByZWxlYXNlLgoJICA8cGFyYT4gY2Fubm90IGNvbnRhaW4gPHJlZnNlY3QyPjoKCSAgaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvZW4vaHRtbC9wYXJhLmh0bWwKCSAgaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvZW4vaHRtbC9yZWZzZWN0Mi5odG1sCgoyMDE1LTA1LTE0IDAyOjExOjUwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU2ltcGxpZnkgbG9naWMgaW4gcHJvY2Vzc19tYW5pZmVzdAoJICBTaW1wbGlmeSBsb2dpYyBpbiBwcm9jZXNzX21hbmlmZXN0IGFuZCByZW1vdmUgYSBUT0RPIGl0ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjgKCjIwMTUtMDUtMTggMTQ6MTI6NTYgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIGN2c21vb3RoOiByZW5hbWUgcHJvcGVydGllcwoJICBUaGUgcHJvcGVydGllcyBhcmUgbmFtZWQgYXMgcGFyYW0xIHRvIHBhcmFtNCwgd2hpY2ggbWFrZXMgdmVyeSBsaXR0bGUgc2Vuc2UKCSAgaGVuY2UgcmVuYW1lZCB0aGUgcHJvcGVydGllcyBhY2NvcmRpbmcgdG8gd2hhdCBpdCBpcyBkb2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUyMwoKMjAxNS0wNS0xOCAxNDowMTo1OSArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkgIGN2c21vb3RoOiBXcm9uZyBhc3NpZ25tZW50IG9mIHByb3AgbGVhZHMgdG8gY3Jhc2gKCSAgd2hlbiBzZXR0aW5nIHBhcmFtMiBwcm9wZXJ0eSwgaXQgaXMgd3JvbmdseSBiZWluZyBhc3NpZ25lZCB0byBwYXJhbTEuCgkgIFRoaXMgbGVhZHMgdG8gd3JvbmcgYmVoYXZpb3IgYW5kIGEgY3Jhc2ggd2hlbiBwYXJhbTIgaXMgc2V0IGFzIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MjMKCjIwMTUtMDUtMTggMTQ6MzA6MTkgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogd3JvbmcgdmFsdWUgb2YgbGV2ZWwgcHJvcGVydHkKCSAgVGhlIHByb3BlcnR5IGxldmVsIGhhcyBhIG1pbmltdW0gdmFsdWUgb2YgMC4gQnV0IHdoZW4gd2Ugc2V0IHRoZSBsZXZlbCBhcyAwLAoJICBpdCBnZXRzIGFuIGFzc2VydGlvbiBlcnJvci4gVGhlIGZ1bmN0aW9uIGljdlB5clNlZ21lbnRhdGlvbjh1QzNSIHJldHVybnMgZmFsc2UKCSAgaWYgbGV2ZWwgaXMgc2V0IGFzIDAsIHNpbmNlIHRoZSBtaW5pbXVtIGxldmVsIGNhbnQgYmUgMCBhbmQgdGh1cyByZXN1bHRzIGluIGVycm9yLgoJICBIZW5jZSBjaGFuZ2luZyB0aGUgbWluaW11bSB2YWx1ZSB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTI1CgoyMDE1LTA1LTE2IDIzOjM4OjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlCgkgIFdpdGggZ3RrZG9jIDEuMjIsIHRoZSBYTUwgZ2VuZXJhdG9yIGZhaWxzIHdoZW4gYSBpdGVtaXplZGxpc3QgaXMKCSAgZm9sbG93ZWQgYnkgYSByZWZzZWN0Mi4gV29ya2Fyb3VuZCB0aGUgaXNzdWUgYnkgd3JhcHBpbmcgdGhlCgkgIHJlZnNlY3QyIGludG8gcGFyYS4KCjIwMTUtMDUtMDYgMTU6MTc6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IGJ1ZmZlciB0aW1lc3RhbXAgbm90IGJlaW5nIGluIHN0cmVhbSB0aW1lCgkgIFRpbWVzdGFtcHMgc2hvdWxkIHN0YXJ0IGF0IHRoZSBzZWdtZW50IHN0YXJ0LCByYXRoZXIgdGhhbiAwLCBzbwoJICB3ZSBuZWVkIHRvIG5vdCBzdWJ0cmFjdCB0aGUgZmlyc3QgdGltZXN0YW1wLiBUaGlzIG1ha2VzIHRoZSBzaW5rCgkgIGNvcnJlY3RseSBhY2NvdW50IGZvciBydW5uaW5nIHRpbWUgd2hlbiBzd2l0Y2hpbmcgUE1UcyB3aGVyZSBhCgkgIHN0cmVhbSBzdGFydHMgbm90IHF1aXRlIGF0IHplcm8sIGNhdXNpbmcgdGltaW5nIG9mZnNldHMgdGhhdCBjYW4KCSAgYmVjb21lIG5vdGljZWFibGUgYW5kIGNhdXNpbmcgZHJvcHBlZCBmcmFtZXMgYWZ0ZXIgYSBmZXcgdGltZXMuCgoyMDE1LTA1LTA2IDE1OjE2OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFjY3VtdWxhdGUgcHJldmlvdXMgc2VnbWVudCBiYXNlIHRpbWUKCjIwMTUtMDQtMjQgMTI6NTY6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogZml4IHJlZmNvdW50aW5nIHdoZW4gYXBwbHlpbmcgYSBuZXcgUE1UCgkgIEEgbmV3IHByb2dyYW0gb2JqZWN0IGlzIGNyZWF0ZWQgdG8gcmVwbGFjZSBhbiBleGlzdGluZyBvbmUKCSAgaW4gdGhlIHByb2dyYW1zIGhhc2ggdGFibGUsIHNvIGl0cyByZWZjb3VudCBuZWVkcyB0byBtYXRjaC4KCSAgV2l0aCB0aGUgZGVmYXVsdCBvZiAwIHJlZmNvdW50IG9uIGNyZWF0aW9uLCB0aGUgbmV4dCBQQVQKCSAgY2hhbmdlIHdpbGwgY2F1c2UgdGhhdCByZWZjb3VudCB0byBiZSBib3RoIGluY3JlbWVudGVkIGFuZAoJICBkZWNyZW1lbnRlZCAoYXNzdW1pbmcgdGhlIG5ldyBQQVQgcmVmZXJlbmNlcyB0aGF0IHN0cmVhbSB0b28pLAoJICB3aGljaCB3aWxsIGNhdXNlIHRoZSBwcm9ncmFtIHRvIGJlIGRlc3Ryb3llZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQxMgoKMjAxNS0wNS0xNCAxNjowNjo1NSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJICBkdGxzOiBGaXggbWVtb3J5IGxlYWsKCSAgS2V5cyB3ZXJlIG5vdCBjb3JyZWN0bHkgcmVsZWFzZWQgd2hlbiBpdCB3YXMgZ2V0IGFzIGEgcHJvcGVydHkKCSAgbm9yIHdoZW4gYSBzZWNvbmQga2V5IHdhcyByZWNlaXZlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzgwCgoyMDE1LTA1LTE0IDIxOjIxOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZyZWUgdGhlIHZlcnRleCBidWZmZXIgd2hlbiBkb25lCgkgIGZpeGVzIGEgbWVtb3J5IGxlYWsKCjIwMTUtMDEtMjIgMTg6MDA6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb250ZXh0L2NvY29hOiBpbXBsZW1lbnQgR0wzIGNvcmUgY29udGV4dCBzZWxlY3Rpb24KCjIwMTUtMDUtMTQgMTg6MzU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzL2dsOiBmaXggdHlwbwoKMjAxNS0wNS0xNCAxNjo0MjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IHJlbW92ZSB1c2VsZXNzIGdse0VuLERpc31hYmxlIChHTF9URVhUVVJFXyopIGNhbGxzCgkgIFdlIGFyZSB1c2luZyBzaGFkZXJzIGV2ZXJ5d2hlcmUgYW5kIHNvIHRoZXkgYXJlIG5vdCBuZWVkZWQKCjIwMTUtMDUtMTQgMTU6MTA6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGNsZWFudXAgcHJvcGVydGllcwoJICByZW1vdmUgdW51c2VkICJkaXNwbGF5LW5hbWUiCgkgIGVuc3VyZSBkZWZhdWx0cyBiZXR3ZWVuIHRoZSBiaW4vZWxlbWVudCBhcmUgdGhlIHNhbWUKCjIwMTUtMDUtMTQgMTQ6NTY6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBvbmx5IHRyeSB0aGUgR0wyIHNoYWRlciBpbml0IHBhdGggaWYgd2UgaGF2ZSBhIEdMMiBjb250ZXh0CgoyMDE1LTA1LTEyIDIyOjA0OjI2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGF0dGVtcHQgdG8gZGV0ZWN0IHRoZSBnbGVzMiBpbnNpZGUgb3BlbmdsMyBjYXNlCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHVzZSBnbGVzMiBzaGFkZXJzIGluIGEgR0wgMyBjb3JlIGNvbnRleHQgb24KCSAgT1MgWCB3aGljaCBmYWlscyB3aXRob3V0IGEgcHJvcGVyICN2ZXJzaW9uIGJlaW5nIHNldCBvbiB0aGUgc2hhZGVycy4KCjIwMTUtMDUtMTIgMTc6NTU6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogcmVtb3ZlIHJlZmVyZW5jZXMgdG8gZ2wzIHNwZWNpZmljIHNoYWRlcnMKCSAgV2UgcmVseSBzcGVjaWZpY2FsbHkgb24gZ2xlczIgc2hhZGVycyBiZWluZyBzdXBwb3J0ZWQgYnkgdGhlIEdMCgkgIGltcGxlbWVudGF0aW9uIHdpdGggR0wzIGNvcmUgcHJvZmlsZS4KCjIwMTUtMDUtMDEgMTI6MDQ6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGVsZW1lbnQgYnVmZmVycyBhcmUgcGFydCBvZiB2YW8gc3RhdGUKCSAgVXNlIHRoZW0gYXMgc3VjaC4gIFRoZXkgYXJlIGFsc28gcmVxdWlyZWQgZm9yIEdMMyBjb3JlIHByb2ZpbGUgc3VwcG9ydAoJICB3aXRoIGdsRHJhd0VsZW1lbnRzIG9uIE9TIFguCgoyMDE1LTA1LTA3IDEyOjI1OjEwICswNzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHByb3Blcmx5IGRldGVjdCAoaG9wZWZ1bGx5KSB0aGUgY29ycmVjdCBleHRfcmcvYXJiX3JnIHZhcmlhbnQKCSAgR0xfRVhUX3RleHR1cmVfcmcgaXMgb25seSB2YWxpZCBmb3IgR0xFUzIuIEdMRVMzIHVzZXMgc2ltaWxhciB3b3JkaW5nIHRvCgkgIHRoZSBHTF9BUkJfdGV4dHVyZV9yZyB3aGljaCByZXF1aXJlcyBhIHNpemVkIGludGVybmFsIGZvcm1hdCB0aGF0IHRoZQoJICBHTF9FWFRfdGV4dHVyZV9yZyBkb2VzIG5vdCByZXF1aXJlLgoJICBodHRwczovL3d3dy5raHJvbm9zLm9yZy9yZWdpc3RyeS9nbGVzL2V4dGVuc2lvbnMvRVhUL0VYVF90ZXh0dXJlX3JnLnR4dAoJICBodHRwczovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5L3NwZWNzL0FSQi90ZXh0dXJlX3JnLnR4dAoKMjAxNS0wNS0xNCAxMzowNDoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IGltcGxlbWVudCBwcm9wZXIgcGFyIGhhbmRsaW5nCgkgIFdlIHdlcmUgcHJldmlvdXNseSBmYWlsaW5nIG9uIGRpZmZlcmVudCBpbnB1dCBhbmQgb3V0cHV0IHBhcgoKMjAxNS0wNS0xMiAxMzo0MToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBhdm9pZCBidXN5LWxvb3Bpbmcgd2hlbiB3YWl0aW5nIGZvciBuZXcgZnJhZ21lbnQKCSAgV2hlbiBhbGwgZnJhZ21lbnRzIGhhdmUgYWxyZWFkeSBiZWVuIGRvd25sb2FkZWQgb24gYSBsaXZlIHN0cmVhbQoJICBkYXNoZGVtdXggd291bGQgYnVzeSBsb29wIGFzIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mCgkgIGhhc19uZXh0X2ZyYWdtZW50IHdvdWxkIHJldHVybiBUUlVFLiBJbXBsZW1lbnQgaXQgdG8gY29ycmVjdGx5CgkgIHNpZ25hbCBpZiBhZGFwdGl2ZWRlbXV4IHNob3VsZCB3YWl0IGZvciB0aGUgbWFuaWZlc3QgdXBkYXRlIGJlZm9yZQoJICB0cnlpbmcgdG8gZ2V0IG5ldyBmcmFnbWVudHMuCgoyMDE1LTA1LTExIDE0OjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEltcHJvdmUgbGl2ZSBzdHJlYW0gbWFuaWZlc3QgdXBkYXRlIHJlcG9zaXRpb25pbmcKCSAgV2hlbiB1cGRhdGluZyB0aGUgbWFuaWZlc3QgdGhlIHRpbWVzdGFtcHMgb24gaXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIGEgbGl0dGxlCgkgIGR1ZSB0byByb3VuZGluZyBhbmQgdGltZXNjYWxlIGNvbnZlcnNpb25zLiBJZiB0aGUgY2hhbmdlIG1ha2VzIHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGN1cnJlbnQgc2VnbWVudCB0byBnbyB1cCBpdCBtYWtlcyBkYXNoZGVtdXggcmVwb3NpdGlvbiB0byB0aGUgcHJldmlvdXMKCSAgb25lIGNhdXNpbmcgb25lIGV4dHJhIHVubmVjZXNzYXJ5IGRvd25sb2FkLgoJICBTbyB3aGVuIHJlcG9zaXRpb25pbmcgYWRkIGFuIGV4dHJhIDEwIG1pY3Jvc2Vjb25kcyB0byBjb3ZlciBmb3IgdGhhdCByb3VuZGluZwoJICBpc3N1ZXMgYW5kIGluY3JlYXNlIHRoZSBjaGFuY2Ugb2YgZmFsbGluZyBpbiB0aGUgc2FtZSBzZWdtZW50LgoJICBBZGRpdGlvbmFsbHksIGFsc28gaW1wcm92ZSB0aGUgdGltZSB1c2VkIHdoZW4gdGhlIGNsaWVudCBpcyBhbHJlYWR5IGFmdGVyIHRoZQoJICBsYXN0IHNlZ21lbnQuIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxhc3Qgc2VnbWVudCBzdGFydGluZyB0aW1lc3RhbXAgdXNlIHRoZQoJICBmaW5hbCB0aW1lc3RhbXAgdG8gbWFrZSBpdCByZXBvc2l0aW9uIHRvIHRoZSBuZXh0IG9uZSBhbmQgbm90IHRvIHRoZSBvbmUgdGhhdAoJICBoYXMgYWxyZWFkeSBiZWVuIGRvd25sb2FkZWQuCgoyMDE1LTA1LTExIDEyOjMwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgbW9yZSBwcm90ZWN0aW9uIHdoZW4gYWNlc3NpbmcgZ3B0cmFycmF5IGVudHJpZXMKCSAgVGhlIGdsaWIgc3RydWN0dXJlIGRvZXNuJ3QgZG8gcmFuZ2UgY2hlY2tpbmcgc28gd2UgaGF2ZSB0byBkbyBpdAoJICBvdXJzZWx2ZXMuCgkgIEFsc28gYWRkcyBzb21lIG1vcmUgZGVidWdnaW5nIG1lc3NhZ2VzCgoyMDE1LTA1LTA4IDE2OjU4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCSAgVGhlc2UgZnVuY3Rpb25zIG9mIGRpcmVjdGx5IGdldHRpbmcgYW5kIHNldHRpbmcgc2VnbWVudCBpbmRleGVzCgkgIGFyZSBubyBsb25nZXIgdXNlZnVsIGFzIG5vdyB3ZSBuZWVkIDIgaW5kZXhlczogcmVwZWF0IGFuZCBzZWdtZW50CgkgIGluZGV4LgoJICBUaGUgb25seSBvcGVyYXRpb25zIG5lZWRlZCBhcmUgYWR2YW5jZV9zZWdtZW50LCBnb2luZyBiYWNrIHRvIHRoZQoJICBmaXJzdCBvbmUgb3Igc2Vla2luZyBmb3IgYSB0aW1lc3RhbXAuCgoyMDE1LTA1LTA4IDE2OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJldXNlIHNlZWtpbmcgZnVuY3Rpb24gdG8gcmVkdWNlIHJlcGVhdGVkIGNvZGUKCSAgSW5zdGVhZCBvZiB3cml0aW5nIGEgc2VlayByb3V0aW5lLCBqdXN0IHVzZSB0aGUgbXBkcGFyc2VyIGZ1bmN0aW9uLgoJICBBbHNvIHJlbW92ZSBmdW5jdGlvbiB0aGF0IGlzIG5vdCBuZWVkZWQgYW55bW9yZQoKMjAxNS0wNS0wOCAxNjozMTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBzZWdtZW50IGl0ZXJhdGlvbiBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlCgkgIFNlZ21lbnRzIGFyZSBub3cgc3RvcmVkIHdpdGggdGhlaXIgcmVwZWF0IGNvdW50cyBpbnN0ZWFkIG9mIHNwYW5kaW5nCgkgIHRoZW0gdG8gbXVsdGlwbGUgc2VnbWVudHMuIFRoaXMgY2F1c2VkIGFkdmFuY2luZyB0byB0aGUgbmV4dCBzZWdtZW50CgkgIHVzaW5nIGEgc2luZ2xlIGluZGV4IHRvIGhhdmUgdG8gaXRlcmF0ZSBvdmVyIHRoZSB3aG9sZSBsaXN0IGV2ZXJ5IHRpbWUuCgkgIFRoaXMgY29tbWl0IGFkZHJlc3NlcyB0aGlzIGJ5IHN0b3JpbmcgYm90aCB0aGUgc2VnbWVudCBpbmRleCBhcyB3ZWxsCgkgIGFzIHRoZSByZXBlYXQgaW5kZXggYW5kIG1ha2VzIGFkdmFuY2luZyB0byBuZXh0IHNlZ21lbnQganVzdCBhbgoJICBpbmNyZW1lbnQgb2YgdGhlIHJlcGVhdCBvciB0aGUgc2VnbWVudCBpbmRleC4KCjIwMTUtMDUtMDcgMTY6MzA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIG1wZCBwYXJzaW5nIGZvciByZXBlYXRlZCBzZWdtZW50IGVudHJpZXMKCSAgVXNlIGEgc2luZ2xlIHNlZ21lbnQgdG8gcmVwcmVzZW50IGl0IGludGVybmFsbHkgdG8gYXZvaWQgdXNpbmcgdG9vCgkgIG11Y2ggbWVtb3J5LiBUaGlzIGhhcyB0aGUgZHJhd2JhY2sgb2YgaXNzdWluZyBhIGxpbmVhciBzZWFyY2ggdG8KCSAgZmluZCB0aGUgY29ycmVjdCBzZWdtZW50IHRvIHBsYXkgYnV0IHRoaXMgY2FuIGJlIGZpeGVkIGJ5IHVzaW5nCgkgIGJpbmFyeSBzZWFyY2hlcyBvciBjYWNoaW5nIHRoZSBjdXJyZW50IHBvc2l0aW9uIGFuZCBqdXN0IGxvb2tpbmcKCSAgZm9yIHRoZSBuZXh0IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM2OQoKMjAxNS0wNS0xMiAxMjo1NTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkcm9wIGRlYnVnIG1lc3NhZ2UgdGhhdCB3YXMgd3JvbmcKCSAgRU9TIGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWVhbiB0aGF0IG5vIGZyYWdtZW50IHdhcyBkb3dubG9hZGVkCgoyMDE1LTA1LTEyIDEyOjU1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJ1biBnc3QtaW5kZW50CgkgIFRvIGFsbG93IGNvbW1pdGluZyBvbiB0aGlzIGZpbGUgY2xlYW5seQoKMjAxNS0wNS0xMSAxMTo1Njo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0aGUgcGFyZW50IGlzIHByb3ZpZGVkIGluIHRoZSBmdW5jdGlvbgoJICBObyBuZWVkIHRvIGdldCBpdCBhZ2FpbgoKMjAxNS0wNS0xMyAxNTo1OTo0OCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogRml4IG1lbW9yeSBsZWFrIHJlbGVhc2luZyBjb25uZWN0aW9uX2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMTgKCjIwMTUtMDUtMTMgMTU6MzM6NDkgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IEZpeCBtZW1vcnkgbGVhayB3aGlsZSBzZXR0aW5nIGNvbm5lY3Rpb24taWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMxOAoKMjAxNS0wNS0xMyAxNzoxNTo1NyArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IG1lbW9yeSBsZWFrLCByZWxlYXNlIHByZXZpb3VzIHBlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzIyCgoyMDE1LTA1LTEzIDE2OjA2OjUyICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggbWVtb3J5IGxlYWsgb24gZGlzcG9zZQoJICBQYXJlbnQgZGlzcG9zZSBmdW5jdGlvbiB3YXMgbm90IGNhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzIyCgoyMDE1LTA1LTEzIDE3OjE5OjI1ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsc2Nvbm5lY3Rpb246IEZpeCBtZW1vcnkgbGVhayB3aGlsZSBzZXR0aW5nIGNsb3N1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyNQoKMjAxNS0wNS0xMyAxNjoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBmYWFkMiB2ZXJzaW9uIGNoZWNrCgkgIE9uIGZlZG9yYSAyMiwgdGhlIG91dHB1dCBvZiBjcHAgaW5zZXJ0cyBleHRyYSBkZWJ1ZyBjb21tZW50cywgd2hpY2gKCSAgbWFrZXMgb3VyIHJlZ2V4cCBmb3IgdGhlIGZhYWQyIHZlcnNpb24gY2hlY2sgZmFpbC4gVGhpcyBpbiB0dXJuIGNhdXNlcwoJICBpdCB0byBjb21waWxlIHdpdGggdGhlIHdyb25nIGFyZ3VtZW50cyBwYXNzZWQgd2hpY2ggdGhlbiBjYXVzZXMgc3RhY2sKCSAgY29ycnVwdGlvbiBhbmQgY3Jhc2hlcy4KCSAgRml4IHRoaXMgYnkgb25seSBjaGVja2luZyBmb3IgdGhlIHZlcnNpb24gKHdoaWNoIHNob3VsZCBiZSBieSBpdHNlbGYgb24KCSAgYSBzaW5nbGUgbGluZSkuIFRoaXMgaXMgcG90ZW50aWFsbHkgbGVzcyBzYWZlLCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0aGF0CgkgIGEgc2ltaWxhciBzdHJpbmcgd291bGQgYXBwZWFyIGluIGEgbGF0ZXIgdmVyc2lvbiBpbiB0aGUgaGVhZGVyIGZpbGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1NzEKCjIwMTUtMDUtMTMgMjM6NTU6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBwcm9wYWdhdGUgdGhlIHZlcnNpb24vZXh0ZW5zaW9uIGZhaWx1cmUgdXB3YXJkcwoJICBPdGhlcndpc2UgdGhlIGNhbGxpbmcgY29kZSBoYXMgbm8gaWRlYSB0aGF0IHRoZSBjb250ZXh0IGZhaWxlZCB0bwoJICBiZSBjcmVhdGVkIGZ1bGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Mjg0CgoyMDE1LTA1LTEzIDIzOjU0OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogZG9uJ3QgZGVhZGxvY2sgb24gY29udGV4dCBjcmVhdGlvbiBmYWlsdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyODQKCjIwMTUtMDUtMTMgMTU6NDI6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJICBnbG1peGVyYmluOiBEb24ndCB1bnJlZiBwYWQgdGVtcGxhdGVzCgkgIE90aGVyd2lzZSB3ZSB1bnJlZiB0aGUgcmVmZXJlbmNlIHRoYXQgaXMgb3duZWQgYnkgdGhlIGVsZW1lbnQgY2xhc3MuCgoyMDE1LTA1LTEzIDEyOjMxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBmaXggZmFpbHVyZSByZXR1cm4gdmFsdWVzIGZyb20gY3JlYXRlX3Nlc3Npb24oKQoJICBjcmVhdGVfc2Vzc2lvbigpIHJldHVybnMgYW4gZXJyX3N0YXR1c190IHdpdGgKCSAgZXJyX3N0YXR1c19vaz0wIGFuZCBlcnJfc3RhdHVzX2ZhaWw9MSwgc28KCSAgcmV0dXJuaW5nIFRSVUUvRkFMU0UgaXMgbm90IHF1aXRlIHJpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzA0CgoyMDE1LTA1LTEzIDEzOjE0OjE0ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogZml4IG92ZXIgdW5sb2NraW5nCgkgIENhbGxlZCBzaG91bGQgY2FsbCBmdW5jdGlvbiB3aXRoIGxvY2ssIGFuZCBpcwoJICBhbHNvIHJlc3BvbnNpYmxlIGZvciB1bmxvY2tpbmcgaXQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMDQKCjIwMTUtMDUtMTIgMTU6NDc6MzMgKzA4MDAgIEx5b24gV2FuZyA8bHlvbi53YW5nQGZyZWVzY2FsZS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBjdXN0b20gcGljdHVyZSBmb3JtYXQgKENQRk1UKSBwYXJzaW5nCgkgIEluIHRoZSBIMjYzIHNwZWMsIENQRk1UIGlzIHByZXNlbnQgb25seSBpZiB0aGUgdXNlIG9mIGEgY3VzdG9tCgkgIHBpY3R1cmUgZm9ybWF0IGlzIHNpZ25hbGxlZCBpbiBQTFVTRVBUWVBFIGFuZCBVRkVQIGlzICIwMDEiLAoJICBzbyB3ZSBuZWVkIHRvIGNoZWNrIHBhcmFtcy0+Zm9ybWF0IGFuZCBvbmx5IGlmIHRoZSB2YWx1ZSBpcwoJICA2IChjdXN0b20gc291cmNlIGZvcm1hdCkgdGhlIENQRk1UIHNob3VsZCBiZSByZWFkLCBvdGhlcndpc2UKCSAgaXQncyBub3QgcHJlc2VudCBhbmQgd3JvbmcgZGF0YSB3aWxsIGJlIHBhcnNlZC4KCSAgV2hlbiByZWFkaW5nIHRoZSBDUEZNVCwgdGhlIHdpZHRoIGFuZCBoZWlnaHQgd2VyZSBub3QKCSAgY2FsY3VsYXRlZCBjb3JyZWN0bHkgKHdyb25nIGJpdG1hc2spLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0OTI1MwoKMjAxNS0wNS0xMyAxNzozODozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IGZpeCByZWN0YW5nbGUgb2JzY3VyZSB0ZXN0IHRvIGNsYW1wIGFnYWluc3QgdGhlIG91dHB1dCBmcmFtZSBzaXplCgkgIFJhdGhlciB0aGFuIG9uZSBvZiB0aGUgaW5wdXQgcGFkIHZpZGVvIGluZm8ncy4KCSAgVGhlIHRlc3QgY2hlY2tpbmcgdGhpcyB3YXMgbm90IGNvbnN0cmFpbmluZyB0aGUgb3V0cHV0IGZyYW1lIHNpemUKCSAgdG8gZW5zdXJlIHRoYXQgdGhlIG91dCBvZiBmcmFtZSBzdHJlYW0gd2FzIG5vdCBiZWluZyBkaXNwbGF5ZWQuCgoyMDE1LTA1LTEzIDE3OjExOjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogaW1wbGVtZW50IHBhciBoYW5kbGluZwoJICBXZSB3ZXJlIHByZXZpb3VzbHkgaWdub3JpbmcgaXQgY29tcGxldGVseQoKMjAxNS0wNS0xMyAxNzoxMDo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IHVwbG9hZCB0aGUgdmVydGV4IGRhdGEgZXZlcnkgZnJhbWUKCSAgQWRkIHRoZSBtaXNzaW5nIGNhY2hlIHRyYWNraW5nIHN0YXRlbWVudC4KCjIwMTUtMDUtMTIgMTY6MzY6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IFJlbW92ZSB1bmVlZGVkIGhlYWRlciBhbmQgZGVmaW5lcwoKMjAxNS0wNS0xMSAxNTowMjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IFVzZSBkZWZhdWx0IGdldF9jYXBzIGltcGxlbWVudGF0aW9uCgkgIFRoZSBjdXN0b20gY29kZSBpcyB3cm9uZyBhcyBpdCBpZ25vcmVzIHRoZSB0ZW1wbGF0ZXMsIHdoaWNoIGxlYWRzIHRvCgkgIG1pc3NpbmcgZmllbGRzIGluIHRoZSByZXN1bHQuIEluc3RlYWQsIHNpbXBseSB1c2UgdGhlIGRlZmF1bHQgZ2V0X2NhcHMKCSAgaW1wbGVtZW50YXRpb24gd2hpY2ggZG9lcyBpdCBjb3JyZWN0bHkgKGdldCB0aGUgdGVtcGxhdGUsIGludGVyc2VjdAoJICB3aXRoIGZpbHRlciBhbmQgcmV0dXJuKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIzNwoKMjAxNS0wNS0xMSAxNTo1NDo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IEltcGxlbWVudCBHc3RWaWRlb0FnZ3JlZ2F0b3I6OmZpbmRfYmVzdF9mb3JtYXQoKQoJICBXaXRob3V0IHRoaXMsIHdlIHdpbGwgZml4YXRlIHdlaXJkIHBpeGVsLWFzcGVjdC1yYXRpb3MgbGlrZSAxLzIxNDc0ODM2NDcuIEJ1dAoJICBpbiB0aGUgZW5kLCBhbGwgdGhlIG5lZ290aWF0aW9uIGNvZGUgaW4gdmlkZW9hZ2dyZWdhdG9yIG5lZWRzIGEgYmlnIGNsZWFudXAKCSAgYW5kIHZpZGVvYWdncmVnYXRvciBuZWVkcyB0byBnZXQgcmlkIG9mIHRoZSBzb2Z0d2FyZS1taXhlciBzcGVjaWZpYyB0aGluZ3MKCSAgZXZlcnl3aGVyZS4KCjIwMTUtMDUtMTEgMjI6NTM6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGRlbW90ZSB1cGxvYWQvY29udmVydC9kb3dubG9hZCBlbGVtZW50cyB0byBub25lCgkgIENvcHkgcGFzdGUgZXJyb3IKCjIwMTUtMDUtMTEgMjI6Mzc6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGV4cG9zZSBpbnRlcm5hbCBnbHZpZGVvbWl4ZXJlbGVtZW50XAoJICBXZSBtaWdodCB3YW50IG1vcmUgY29udHJvbCBvdmVyIHRoZSBleGFjdCBwaXBlbGluZQoJICBBbHNvIHJlZHVjZXMgb3ZlcmhlYWQKCjIwMTUtMDUtMTEgMjI6MzU6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGV4cG9zZSBpbnRlcm5hbCBnbGltYWdlc2lua2VsZW1lbnQKCSAgV2UgbWlnaHQgd2FudCBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgZXhhY3QgcGlwZWxpbmUuCgkgIEFsc28gcmVkdWNlcyBvdmVyaGVhZC4KCjIwMTUtMDUtMDcgMjE6MTg6MjcgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IHVuY29uZGl0aW9uYWwgYnVmZmVyIHF1ZXVlIHVubG9jawoJICBVbmxlc3Mgc3RvcFJlcXVlc3QgaXMgc2V0LCB3ZSBzaG91bGQgdW5sb2NrIGNvbmRpdGlvbmFsbHkgLS0gb3RoZXJ3aXNlLAoJICB0aGUgJ2NyZWF0ZTonIG1ldGhvZCBjYW4gd2FrZSB1cCB0byBhbiBlbXB0eSBidWZmZXIgcXVldWUKCSAgYW5kIHB1bGwgYSBuaWwgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDU0CgoyMDE1LTA1LTExIDEyOjE4OjI4ICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogUmVuYW1lIG1vZGUgMjA0OHAgdG8gMTU1NnAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIxOAoKMjAxNS0wNS0xMSAxMjowNDo0NyArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogVXNlIGNvcnJlY3QgZnJhbWUgcmF0ZSBmb3IgbW9kZSAyMTYwcDUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMTgKCjIwMTUtMDUtMTEgMTI6MDI6NDcgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBSZW5hbWUgbW9kZSAzMTg0cCB0byAyMTYwcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjE4CgoyMDE1LTAxLTIyIDE1OjQzOjIyICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTLnNraXAgYW5kIFBPVEZJTEVTLmluCgkgIFRoZSBvbmVzIGluIC5za2lwIG5lZWQgdG8gYmUgYWRkZWQgYmFjayB0byBQT1RGSUxFUy5pbgoJICBhZnRlciBwb3J0aW5nIHRvIDEueC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM1MgoKMjAxNS0wNS0wOCAxNDoyMDo0NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogcmVtb3ZlIGdzdF9yZW1vdmVfc2lsZW5jZV9yZXNldCgpCgkgIE5vIG5lZWQgdG8gY2FsbCBnc3RfcmVtb3ZlX3NpbGVuY2VfcmVzZXQoKSBpbiBnc3RfcmVtb3ZlX3NpbGVuY2VfaW5pdCgpIGJlY2F1c2UKCSAgdmFkX25ldygpIGFscmVhZHkgY2FsbHMgdGhpcyBmdW5jdGlvbi4gU2luY2UgdGhlcmUgYXJlIG5vIG1vcmUgdXNlcyBvZgoJICBfc2lsZW5jZV9yZXNldCgpLCB3ZSBjYW4gcmVtb3ZlIGl0IGFsdG9nZXRoZXIuCgoyMDE1LTA1LTA4IDE0OjU1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFdlIHNob3VsZG4ndCBtYW51YWxseSBjaGVjayByZWNvbmZpZ3VyZSBmbGFnIG9uIHBhZHMgYnV0IGluc3RlYWQgaW1wbGVtZW50IDo6bmVnb3RpYXRlKCkKCSAgQWRkIEZJWE1FIGNvbW1lbnQgcmVsYXRlZCB0byB0aGF0LgoKMjAxNS0wNS0wOCAxMzo1NDowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgVXBkYXRlIHJlZmVyZW5jZXMgdG8gZGVjb2RlYmluCgkgIFVwZGF0ZSBvbGQgcmVmZXJlbmNlcyBmb3IgZGVjb2RlYmluMiB0byBkZWNvZGViaW4uCgoyMDE1LTA1LTA4IDEzOjQ5OjM4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJICByZW1vdmVzaWxlbmNlOiB1cGRhdGUgZXhhbXBsZSBsYXVuY2ggbGluZQoKMjAxNS0wNS0wNyAyMTowNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmg6CgkgIGR0bHNzcnRwZGVjOiBEb24ndCBtZXJnZSBSVFAgYW5kIFJUQ1Agc3RyZWFtcyB0aGF0IHdlcmUganVzdCBzcGxpdCBieSBzcnRwZGVjCgkgIFRoZSBmdW5uZWwgaGFzIHNvbWUgb3ZlcmhlYWQsIGFuZCBsYXRlciBydHBiaW4gd2lsbCBoYXZlIHRvIHNwbGl0IGJvdGggc3RyZWFtcwoJICBhZ2FpbiBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg3MjMKCjIwMTUtMDUtMDYgMTU6NDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsaW1hZ2VzaW5rOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9uIHRoZSBiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ5NmU0M2IwMzRhMDNmZTU0NjMzOTA3YmMxYmYyYTI2ZmU1Zjk1ZmIuCgoyMDE1LTA1LTA2IDE1OjQ3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbGltYWdlc2luazogZm9yd2FyZCBBTEwgdGhlIHByb3BlcnRpZXMgb24gdGhlIGJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTlmYjBmODMwZjA4ZTNlNTlmODdmODNkZjhmYTNjMmQ5ZjNkOTc0MS4KCjIwMTUtMDUtMDYgMTU6NDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGJlOTM4ZjkyZDk0ZThhY2NjZjU5MzEyODI4MWY2ZTA5MjEzNjAwYTAuCgoyMDE1LTA1LTA2IDE1OjQ2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgUmV2ZXJ0ICJnbDogcmVhZGQgZ2x1cGxvYWQvZG93bmxvYWQgb250byBlbGVtZW50IHBhZHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODdkODI3MGYzMDJiMDNmNjNjZTA0Zjk4NmQ4MjQ4OTJhMmMxMzFmZC4KCjIwMTUtMDUtMDYgMTU6NDM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgd2l0aCBnbG1peGVyYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNGJkMTFmMmYzYTYwMjI0ZDE4OGIyN2FiNTViMjc4MDc3Y2IxMjE3LgoKMjAxNS0wNS0wNiAxMjo1OTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWN0dWFsbHkgc2V0IHRoZSBjYXBzIG9uIHRoZSBzcmNwYWQgaW5zdGVhZCBvZiBqdXN0IGNhbGxpbmcgdGhlIGRlZmF1bHQgZXZlbnQgaGFuZGxlciBmb3IgdGhlIHNpbmtwYWQKCSAgRml4ZXMgdXAgZGFmYTExYjlkMjFkMDZhMDI3MzAwNzYyOGEyYTBiYjRkNzg1ODY1OAoKMjAxNS0wNC0yOSAxODoyMzozMSArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBvbmx5IHVwZGF0ZSBzdHJlYW0gcG9zaXRpb24gaWYgcXVlcnkgc3VjY2VzcwoJICBXZSBkb24ndCBuZWVkIHRvIGNoZWNrIGFib3V0IHRoZSBxdWVyeSBmYWlsIGNhc2UuCgkgIGJlY2F1c2UgaXQgaXMgdXBkYXRlIHRvIHNlZ21lbnQgcG9zaXRpb24gZXZlbiB0aG91Z2ggcXVlcnkgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUyOQoKMjAxNS0wNS0wNSAxMjo0NToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGVja2xpbms6IERpc2FibGUgZGVja2xpbmsgcGx1Z2luIG9uIEFuZHJvaWQKCjIwMTUtMDUtMDUgMTQ6NDQ6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGZpeHVwIHNpemUgZGVjbGFyYXRpb24KCjIwMTUtMDUtMDQgMjM6NDI6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogaGFuZGxlIHRoZSBsb2NhbF9jb250ZXh0IHF1ZXJ5CgkgIHNvIHRoYXQgdXBzdHJlYW0gZWxlbWVudHMgY2FuIGdldCB0aGUgR0wgY29udGV4dCBmcm9tIGdsaW1hZ2VzaW5rCgoyMDE1LTA1LTAzIDE0OjU2OjA1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cG9ydCBmb3IgQ09MT1JfRm9ybWF0WVYxMgoJICBSZWZlcmVuY2U6IGh0dHA6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvZ3JhcGhpY3MvSW1hZ2VGb3JtYXQuaHRtbCNZVjEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDQtMzAgMTE6NDQ6MDYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBEZWNsYXJlIFFPTVhfQ09MT1JfRk9STUFUWVZVNDIwUGFja2VkU2VtaVBsYW5hcjMybU11bHRpVmlldyBjb25zdGFudAoJICBUaGlzIGNvbG9yIGZvcm1hdCBpcyB0aGUgc2FtZSBhcyBRT01YX0NPTE9SX0ZPUk1BVFlVVjQyMFBhY2tlZFNlbWlQbGFuYXIzMm0KCSAgYnV0IHN0b3JlcyB0d28gaW1hZ2VzIG9uZSBhZnRlciB0aGUgb3RoZXIgaW4gYSB0b3AtYm90dG9tIGxheW91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wNS0wNCAxMToyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJICBvcHVzZGVwYXk6IFNldCBtdWx0aXN0cmVhbT1GQUxTRSBvbiB0aGUgT3B1cyBjYXBzCgkgIFRoZSBSVFAgT3B1cyBtYXBwaW5nIG9ubHkgYWxsb3dzIG1vbm8vc3RlcmVvLCBhbmQgbm90IG11bHRpc3RyZWFtIE9wdXMKCSAgc3RyZWFtcy4KCjIwMTUtMDUtMDQgMTA6MzU6NTUgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNoZWFkZXI6IERvIG5vdCBpbmNsdWRlIHJhdGUgaW4gY2FwcyBpZiBpdCBpcyAwCgkgIEFzIGV4cHJlc3NlZCBpbiBnc3Rfb3B1c19oZWFkZXJfY3JlYXRlX2NhcHMsIHZhbHVlIDAgbWVhbnMgdW5zZXQuCgkgIFNldHRpbmcgcmF0ZSB2YWx1ZSB0byAwIG1ha2UgbmVnb3RpYXRpb24gd2l0aCBkZWNvZGVyIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg4NzUKCjIwMTUtMDUtMDQgMDg6MDY6MzUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzbGljZS1oZWlnaHQgZm9yIFRlZ3JhIDMgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4ODY3CgoyMDE1LTAzLTEzIDE2OjA3OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cHBvcnQgZm9yIENPTE9SX0Zvcm1hdFlVVjQyMEZsZXhpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDMtMjUgMTc6NDM6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3Vwb3J0IGZvciBJbnRlbCBjb2xvciBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDUtMDIgMTg6MDY6MTggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IHByb2ZpbGUgYW5kIGxldmVsIHNldHRpbmcgaW4gY2FwcwoJICBEb24ndCB1c2UgdGhlIGFwaXMgaW4gY29kZWMtdXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwKCSAgc3ludGF4IGVsZW1lbnRzIHNpbmNlIGl0IGlzIHdyb25nIGlmIHRoZXJlIGFyZSBlbXVsYXRpb24gcHJldmVudGlvbgoJICBieXRlcyBleGlzdGluZyBpbiB0aGUgYnl0ZS1zdHJlYW0gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNS0wMyAyMzowODoxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBJbXByb3ZlIHBhc3N0aHJvdWdoIGNoZWNrIHdoZW4gbm8gY29udmVyc2lvbiBpcyBuZWVkZWQuCgkgIE1ha2UgdGhlIHBhc3N0aHJvdWdoIGNoZWNrIGNvbnRpbmdlbnQgb24gb25seSB0aGUgZmllbGRzIHdlCgkgIGNhbiBtb2RpZnkgYmVpbmcgdW5jaGFuZ2VkLCBhbmQgcHJlLWNvbXB1dGUgaXQgd2hlbiBjYXBzCgkgIGNoYW5nZSBpbnN0ZWFkIG9mIGNoZWNraW5nIG9uIGVhY2ggYnVmZmVyLiBNYWtlcyB0aGUgcGFzc3Rocm91Z2gKCSAgbW9yZSBsZW5pZW50IGlmIGNvbnN1bWVycyBhcmUgbGF4IGFib3V0IG1ha2luZyBpbnB1dCBhbmQgb3V0cHV0CgkgIGNhcHMgY29tcGxldGUuCgoyMDE1LTA1LTAxIDE5OjM5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGhhbmRsZSB3aGVuIHNvdXJjZSBjcmVhdGlvbiBmYWlsCgkgIFJlbWVtYmVyIHRvIHNldCB0aGUgc291cmNlIHRvIE5VTEwgc3RhdGUgYXMgYWRkaW5nIGl0IHRvIHRoZSBwaXBlbGluZQoJICB3aWxsIHNldCBpdCB0byB0aGUgUkVBRFkgc3RhdGUuCgoyMDE1LTA1LTAxIDE5OjMxOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBlbGVtZW50IGxpbmtpbmcgb3JkZXIKCSAgVmlkZW8gc291cmNlIHNob3VsZCBiZSBsaW5rZWQgdG8gdmlkZW9jcm9wIGFuZCBub3QgdG8KCSAgdmlkZW9jb252ZXJ0IGFzIGl0IGlzIGRvbmUgaW4gdGhlIG1haW4gbGlua2luZyBwYXRoCgoyMDE1LTAzLTEzIDA2OjEwOjUyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogQWRkIGEgY2hlY2sgZm9yIHRoZSBuZXcgY29tcG9zaXRvciBwYWQtaXMtb2JzY3VyZWQgb3B0aW1pemF0aW9uCgkgIFdlIHZlcmlmeSB0aGF0IGFsbCB0aGUgYnVmZmVycyBvbiBhbiBvYnNjdXJlZCBzaW5rcGFkIGFyZSBza2lwcGVkIGJ5IG92ZXJyaWRpbmcKCSAgdGhlIG1hcCgpIGZ1bmN0aW9uIGluIHRoZSBHc3RWaWRlb01ldGEgb2YgdGhlIGJ1ZmZlcnMgdG8gc2V0IGEgdmFyaWFibGUgd2hlbgoJICBjYWxsZWQuIFdlIGFsc28gdGVzdCB0aGF0IHRoZSBidWZmZXJzIGRvIGdldCBtYXBwZWQgd2hlbiB0aGV5J3JlIG5vdCBvYnNjdXJlZC4KCSAgQmxhbWVeV0NyZWRpdCBmb3IgdGhlIEdzdFZpZGVvTWV0YSBtYXAoKSBpZGVhIGdvZXMgdG8gVGltLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTE4IDE1OjEwOjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IE9ubHkgbWFwIHRoZSBmcmFtZSBmcm9tIGEgYnVmZmVyIGlmIGl0IHdpbGwgYmUgdXNlZAoJICBJdCdzIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHRvIG1hcCBpdCBpZiBpdCB3b24ndCBiZSBjb252ZXJ0ZWQKCSAgb3IgdXNlZCBhdCBhbGwuIFNpbmNlIHdlIG1vdmVkIHRoZSBmcmFtZSBtYXBwaW5nIGRvd24sIHdlIG5lZWQKCSAgdG8gdXNlIHRoZSBHU1RfVklERU9fSU5GTyBhY2Nlc3NvciBtYWNyb3Mgbm93IGluIHRoZSBjb2RlIGFib3ZlCgkgIHRoYXQgaW5zdGVhZCBvZiB0aGUgR1NUX1ZJREVPX0ZSQU1FIGFjY2Vzc29yIG1hY3Jvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0xOCAxNTowOTowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB1c2UgYWNjZXNzb3IgbWFjcm9zIGZvciBjb25zaXN0ZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTE4IDE1OjA5OjAyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IFNraXAgcGFkcyB0aGF0IGFyZSBjb21wbGV0ZWx5IG9ic2N1cmVkIGJ5IGEgaGlnaGVyIHpvcmRlciBwYWQKCSAgRm9yIGVhY2ggZnJhbWUsIGNvbXBhcmUgdGhlIGZyYW1lIGJvdW5kYXJpZXMsIGNoZWNrIGlmIHRoZSBmb3JtYXQgY29udGFpbnMgYW4KCSAgYWxwaGEgY2hhbm5lbCwgY2hlY2sgb3BhY2l0eSwgYW5kIHNraXAgdGhlIGZyYW1lIGlmIGl0J3MgZ29pbmcgdG8gYmUgY29tcGxldGVseQoJICBvdmVyd3JpdHRlbiBieSBhIGhpZ2hlciB6b3JkZXIgZnJhbWUuIFRoZSBjaGVjayBpcyBPKG5eMiksIGJ1dCB0aGF0IGRvZXNuJ3QKCSAgbWF0dGVyIGhlcmUgYmVjYXVzZSB0aGUgbnVtYmVyIG9mIHNpbmtwYWRzIGlzIHNtYWxsLgoJICBNb3JlIGNhbiBiZSBkb25lIHRvIGF2b2lkIG5lZWRsZXNzIGRyYXdpbmcsIGJ1dCB0aGlzIGNvdmVycyB0aGUgbWFqb3JpdHkgb2YKCSAgY2FzZXMuIFNlZSBUT0RPcy4gSWRlYWxseSwgYSByZXZlcnNlIHBhaW50ZXIncyBhbGdvcml0aG0gc2hvdWxkIGJlIHVzZWQgZm9yCgkgIG9wdGltYWwgZHJhd2luZywgYnV0IG1lbWNweSBkdXJpbmcgY29tcG9zaXRpbmcgaXMgc21hbGwgY29tcGFyZWQgdG8gdGhlIENQVSB1c2VkCgkgIGZvciBmcmFtZSBjb252ZXJzaW9uIG9uIGVhY2ggcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTMwIDE5OjA4OjI1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBzb3VyY2UgY2FwcyB0byByZXBvcnQgY3JvcHBlZCBkaW1lbnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTU6MzQ6NDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHRoZSBtZW1vcnkgZnJlZWluZyBvZiBzdG9yZWQgVlBTIG5hbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0zMCAxODozNjozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggcHJvZmlsZSwgdGllciBhbmQgbGV2ZWwgc2V0dGluZyBpbiBjYXBzCgkgIERvbid0IHVzZSB0aGUgYXBpcyBpbiBjb2RlYy11dGlscyB0byBleHRyYWN0IHRoZSBwcm9maWxlLHRpZXIgYW5kIGxldmVsCgkgIHN5bnRheCBlbGVtZW50cyBzaW5jZSBpdCBpcyB3cm9uZyBpZiB0aGVyZSBhcmUgZW11bGF0aW9uIHByZXZlbnRpb24KCSAgYnl0ZXMgZXhpc3RpbmcgaW4gdGhlIGJ5dGUtc3RyZWFtIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTcgMTU6MTU6MzMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IG5hbCB1bml0IHNpemUgY2hlY2tpbmcKCSAgVGhlIEVPUyBhbmQgRU9CIG5hbHMgaGF2ZSB0aGUgc2l6ZSAyIHdoaWNoIGlzIHRoZSBzaXplIG9mCgkgIG5hbCB1bml0IGhlYWRlciBpdHNlbGYuIFRoZSBnc3RfaDI2NV9wYXJzZXJfaWRlbnRpZnlfbmFsdSgpCgkgIGlzIG5vdCByZXF1aXJlZCB0byBzY2FuIHN0YXJ0IGNvZGUgYWdhaW4gaW4gdGhpcyBjYXNlLgoJICBJbiBvdGhlciBjYXNlcywgZm9yIGEgdmFsaWQgbmFsdW5pdCB0aGUgbWluaW11bSByZXF1aXJlZCBzaXplCgkgIGlzIDMgYnl0ZXMgKDIgYnl0ZSBoZWFkZXIgYW5kIGF0IGxlYXN0IDEgYnl0ZSBSQlNQIHBheWxvYWQpCgoyMDE1LTA0LTE3IDE1OjAzOjM0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBDYWxjdWxhdGUgY3JvcCByZWN0YW5nbGUgZGltZW5zaW9ucwoKMjAxNS0wNC0xNyAxNTowMTo1NyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHBhcnNpbmcgbXVsdGlwbGUgU0VJIG1lc3NhZ2VzIGluIGEgc2luZ2xlIFNFSSBOYWwKCSAgQW4gU0VJIE5hbCBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIFNFSSBtZXNzYWdlLgoJICBDaGFuZ2UgaW4gQVBJOiB0aGUgZ3N0X2gyNjVfcGFyc2VyX3BhcnNlX3NlaSgpCgoyMDE1LTA0LTMwIDIxOjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBNYWtlIHN1cmUgdG8gc2VuZCBjYXBzIGV2ZW50cyBkb3duc3RyZWFtIGJlZm9yZSBhbnkgc2VnbWVudCBldmVudHMKCSAgVXBzdHJlYW0gbWlnaHQgbm90IGdpdmUgdXMgYSBjYXBzIGV2ZW50IChkdGxzc3J0cGRlYykgYmVjYXVzZSBpdCBtaWdodCBiZSBhbgoJICBSVFAvUlRDUCBtaXhlZCBzdHJlYW0sIGJ1dCB3ZSBzcGxpdCB0aGUgdHdvIHN0cmVhbXMgYW55d2F5IGFuZCBzaG91bGQgcmVwb3J0CgkgIHByb3BlciBjYXBzIGRvd25zdHJlYW0gaWYgcG9zc2libGUuCgkgIEZpeGVzICJzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmciIHdhcm5pbmdzIHdpdGggZHRsc3NydHBkZWMuCgoyMDE1LTA0LTMwIDEwOjUwOjE5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgcnRqcGVnOiByZW1vdmUgdW51c2VkIHF1YWxpdHkgcHJvcGVydHkKCjIwMTUtMDQtMzAgMTE6MTU6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiByZWFkZCBnbHVwbG9hZC9kb3dubG9hZCBvbnRvIGVsZW1lbnQgcGFkcwoJICBBbGxvd3MgaW5zZXJ0aW9uIG9mIGdsIGVsZW1lbnRzIGludG8gbm9uLWdsIHBpcGVsaW5lcyB3aXRob3V0IGNvbnZlcnRlcgoJICAodXBsb2FkL2Rvd25sb2FkKSBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzk3NAoKMjAxNS0wNC0yOSAyMjo1NTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCB3aXRoIGdsbWl4ZXJiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGZiNTY3MzhhMTQzOTFmMjQ4YWEwYmU4NzU2YWRlYWY5NzhiYWEwYy4KCjIwMTUtMDQtMjkgMjI6Mzg6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgImdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGEwMDE3ZTIxZDVmOWE4NTA3ZjA1OTNjNmIyNGY3MjNhYTQxNTI1OC4KCjIwMTUtMDQtMjkgMjI6MzI6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgImdsaW1hZ2VzaW5rOiBmb3J3YXJkIEFMTCB0aGUgcHJvcGVydGllcyBvbiB0aGUgYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRiZTQ1ZTVmMzBkYzYxMjFmMjc2OTMyMzYwMzQ0N2Y1OTFjYTRhMGEuCgoyMDE1LTA0LTI5IDIyOjMyOjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJnbGltYWdlc2luazogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvbiB0aGUgYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJiYTZiYjliOTMyNWI2M2Y1OGE5ZmYwYjJjODJmYTI4NzU5ZGNhYmMuCgoyMDE1LTA0LTI5IDA5OjU3OjUyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogZG9uJ3QgdGltZXN0YW1wIGJ1ZmZlcnMgZm9yIG11eGVkIHN0cmVhbXMKCjIwMTUtMDQtMjkgMjE6Mzc6NTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICBrc3ZpZGVvc3JjOiBmaXggaGVhZGVyIHNpemUgZm9yIG11eGVkIHN0cmVhbXMKCjIwMTUtMDQtMjkgMTk6Mzk6MTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHRoZSBudW1iZXIgb2YgdGlsZSByb3dzL2NvbHVtbnMgcGFyc2luZwoJICBUaGUgcG9zc2libGUgbWluaW11bSB2YWx1ZSBmb3IgbnVtX3RpbGVfY29sdW1uc19taW51czEgYW5kIG51bV90aWxlX3Jvd3NfbWludXMxCgkgIGlzIHplcm8gKDcuNC4zLjMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjQxCgoyMDE1LTA0LTI5IDE3OjIwOjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgbWl4bWF0cml4OiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbXMKCSAgVGhlc2UgdHdvIHByb3BlcnRpZXMgaGF2ZSBiZWVuIHRoZXJlIHNpbmNlIHRoZSBvcmlnaW4gb2YgdGhlIGVsZW1lbnQgYnV0IHRoZXkKCSAgYXJlbid0IHVzZWQuIFJlbW92aW5nIHRoZW0uCgoyMDE1LTA0LTI5IDE1OjQxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggY29tcGFyaXNpb24gbG9naWMKCSAgV2UgY2FuJ3QgYW5zd2VyIHRoZSBTRUVLSU5HIHF1ZXJ5IGlmIHdlIGRvICpub3QqIGhhdmUgdGhlIG1hbmlmZXN0CgoyMDE1LTA0LTI5IDEwOjU2OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkgIGFpZmY6IFJlLWFkZCBub2luc3RfSEVBREVSUyBpbnN0cnVjdGlvbgoJICBXYXMgcmVtb3ZlZCBpbiB0aGUgcHJldmlvdXMgYW5kcm9pZCBjbGVhbnVwIGNvbW1pdAoKMjAxNS0wNC0yOCAyMTo0Mzo1NiArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc2RldmljZXByb3ZpZGVyLmM6CgkqIHN5cy93aW5rcy9rc2RldmljZXByb3ZpZGVyLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJICBHc3REZXZpY2VQcm92aWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgV0lOIEtlcm5lbCBTdHJlYW1pbmcgcGx1Z2luCgkgIGdzdF9rc19kZXZpY2VfcHJvdmlkZXJfcHJvYmUoKSBpcyBhIG5vLWJyYWllciwganVzdCBydW5zIGtzX2VudW1lcmF0ZV9kZXZpY2VzKCkKCSAgYW5kIHJlcG9ydHMgdGhlIHJlc3VsdHMuCgkgIE1vbml0b3JpbmcgaXMgYSBiaXQgbW9yZSB0cmlja3kuIFdlIGhhdmUgdG8gY3JlYXRlIGEgZHVtbXkgbWVzc2FnZS1wcm9jZXNzaW5nCgkgIHdpbmRvdyBhbmQgcmVnaXN0ZXIgZGV2aWNlIGNoYW5nZSBub3RpZmljYXRpb25zIGZvciBpdC4KCSAgQXMga2VybmVsIHN0cmVhbWluZyBjYW4gKGFuZCBzaG91bGQpIGJlIHVzZWQgZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIGF1ZGlvCgkgIHBsYXliYWNrLCB0aGlzIGNoYW5nZSBhbHNvIGhhcyBjZXJ0YWluIHBsYWNlaG9sZGVycyBmb3Igc3VjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzc1NwoKMjAxNS0wNC0yOSAwMjozMDowNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBDYWNoZSBjYXBzIGZvciBwYXNzaW5nIHRvIHRoZSBjbGllbnQgZHJhdyBjYWxsCgkgIERvbid0IGNvbnZlcnQgdGhlIEdzdFZpZGVvSW5mbyB0byBjYXBzIG9uIGV2ZXJ5IGRyYXcgY2FsbCwKCSAganVzdCBjYWNoZSB0aGUgY2FwcyBhbmQgcGFzcyB0aGVtIGludG8gdGhlIEdzdFNhbXBsZS4KCjIwMTUtMDQtMjkgMDI6MjA6MDkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBNYWtlIHVwbG9hZCBtZXRob2Qgc3RhdGljIGNhcHMgbm9uLWNvbnN0LgoJICBSZXRyaWV2aW5nIGEgR3N0U3RhdGljQ2FwcyBkb2VzIGEgb25lIHRpbWUgaW50ZXJuYWwKCSAgaW5pdGlhbGlzYXRpb24gYW5kIGNhY2hlcyBpdCAtIHRoZXkgY2FuJ3QgYmUgc3RvcmVkIGFzCgkgIGNvbnN0IHN0cnVjdHVyZXMuCgoyMDE1LTA0LTI4IDE3OjI0OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGZpeCBpbmNsdWRlcyBhbmQgY29tcGlsYXRpb24gYWdhaW5zdCBvcHVzIGluIG5vbi1zdGFuZGFyZCBwcmVmaXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU5NAoKMjAxNS0wNC0yOCAxNjo1ODoyMSArMDIwMCAgTWVyc2FkIEplbGFjaWMgPG1lcnNhZEBheGlzLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MKCSAgVXNlIHRoZSBoZWxwZXIgZnVuY3Rpb24gYXZhaWxhYmxlIGluIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODUKCjIwMTUtMDQtMjggMTY6MDY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGRlMjY1ZGVjOiB1c2UgZ19nZXRfbnVtX3Byb2Nlc3NvcnMoKSBpZiBhdmFpbGFibGUKCSAgQW5kIHByb3ZpZGUgaG9tZS1tYWRlIGZhbGxiYWNrIGZvciBvbGRlciBHTGliIHZlcnNpb25zLAoJICBzbyB0aGF0IHdlIGNhbiBsYXRlciBmaW5kIHRoZXNlIGFuZCByZW1vdmUgdGhlbSB3aGVuCgkgIHdlIGJ1bXAgdGhlIEdMaWIgcmVxdWlyZW1lbnQgKHdoaWNoIGlzIGNlcnRhaW5seSBnb2luZwoJICB0byBoYXBwZW4gYmVmb3JlIDIuMCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTUKCjIwMTUtMDQtMjggMTY6MDI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGdzdDogcmVtb3ZlIHNvbWUgdW5uZWNlc3NhcnkgZ2xpYiB2ZXJzaW9uIGNoZWNrcwoJICBXZSByZXF1aXJlIDIuMzIsIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGFueXRoaW5nIG9sZGVyCgkgIHRoYW4gdGhhdC4KCjIwMTUtMDQtMjggMTE6Mjg6MzkgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IGZpeCBkZXNjcmlwdG9yIGxlYWsKCSAgRnJlZSB0aGUgZXhpc3RpbmcgZGVzY3JpcHRvciBhcnJheSwgaWYgYW55LCBiZWZvcmUgcmVwbGFjaW5nIGl0LgoJICBGaXggbGVha3Mgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5zY3J1Yl9mb3J3YXJkX3NlZWtpbmcudGVzdC1tcGVnMi1tcDNfbXhmIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTgwCgoyMDE1LTA0LTI4IDEwOjEzOjM1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCB0YWdsaXN0IGxlYWsKCSAgSWYgdGhlIHN0cmVhbSB3aGljaCBpcyBhYm91dCB0byBiZSByZW1vdmVkIHN0aWxsIGhhcyBhIHJlZiBvbiBhIHRhZyBsaXN0IHdlCgkgIHNob3VsZCBkcm9wIGl0LgoJICBGaXggYSBsZWFrIHdoaWNoIHdhcyBvY2Nhc2lvbmFsbHkgaGFwcGVuaW5nIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUucGxheWJhY2suY2hhbmdlX3N0YXRlX2ludGVuc2l2ZS50cm9uX2VuX2dlX2FhY19oMjY0X3RzIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTc2CgoyMDE1LTA0LTI3IDIyOjQ0OjI4ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggZmluZF9zdWJ0YWJsZSgpIHJldHVybiB2YWx1ZQoJICBmaW5kX3N1YnRhYmxlKCkgcmV0dXJucyBhIHBvaW50ZXIsIHNvIHJldHVybiBOVUxMIGFuZAoJICBub3QgRkFMU0Ugd2hlbiBub3RoaW5nIGlzIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTI3CgoyMDE1LTA0LTI4IDE0OjUyOjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZGVmcwoKMjAxNS0wNC0yOCAyMDo0Njo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZW1vdmUgdW5lZWRlZCB1bnJlZgoJICBUaGUgY2FsbCB0byBfZ2xfbWVtX2FsbG9jX2RhdGEgd2lsbCB1bnJlZiBhbmQgTlVMTGlmeSAnZGVzdCcgZm9yIHVzLgoJICBXZSBqdXN0IG5lZWQgdG8gcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTA0LTI4IDA5OjM3OjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBVc2UgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMgaW4gOjpnZXRfY2FwcygpCgoyMDE1LTA0LTI4IDIwOjExOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsdXBsb2FkOiBwcm92aWRlIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMgdGhhdCBjb3VsZCBiZSB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzOTkKCjIwMTUtMDQtMjcgMTk6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYTogYWRkIHpvb20gcHJvcGVydHkgdG8gVUkKCSAgQWRkIGEgc2xpZGVyIHRvIG1vZGlmeSB0aGUgem9vbSBpbiBjYW1lcmFiaW4KCjIwMTUtMDQtMjcgMTg6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhOiByZW1vdmUgd2lkZ2V0cyBkZXByZWNhdGVkIGluIEdUSzMuMAoJICBWQm94IGFuZCBIQm94IGFyZSBub3cgc2ltcGx5IEJveAoKMjAxNS0wNC0yNyAxNTo0MTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYTogdXBkYXRlIHRvIEdUSzMKCSAgV2hlbiBvcGVuaW5nIHRoZSAudWkgZmlsZSBpdCBjb21wbGFpbnMgYWJvdXQgYmVpbmcgZm9yIEdUSyAyIGFuZAoJICBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgaXQgdG8gR1RLMy4gQ29tbWl0IHRoaXMgdmVyc2lvbiBhbmQgdXBkYXRlCgkgIHRoZSBtYWtlZmlsZQoKMjAxNS0wNC0yNyAxMzo0MTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgVGhlIHN0cnVjdHVyZSBpcyBjcmVhdGVkIGFuZCBuZXZlciB1c2VkIGFueW1vcmUuIFJlbW92ZSBpdC4KCjIwMTUtMDQtMjcgMTM6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiB1c2UgZGlnaXRhbHpvb20gZWxlbWVudAoJICBSZXBsYWNlIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyIHdpdGggdGhlIGRpZ2l0YWx6b29tCgkgIGJpbiB0aGF0IGhhcyB0aGUgc2FtZSBwaXBlbGluZSBpbnRlcm5hbGx5IGFuZCBhbHJlYWR5IHVwZGF0ZXMKCSAgdGhlIGNhcHNmaWx0ZXIgYXV0b21hdGljYWxseSB3aGVuIGNhcHMgY2hhbmdlLCByZW1vdmluZyB0aGlzIGNvZGUKCSAgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIGFuZCBtYWtpbmcgaXQgY2xlYW5lci4KCjIwMTUtMDQtMjcgMjE6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkgIGRpZ2l0YWx6b29tOiBjaGFuZ2UgdmlkZW9jcm9wIHBhcmFtZXRlcnMgYmVmb3JlIHBhc3NpbmcgY2FwcyBldmVudAoJICBBdm9pZHMgb25lIGV4dHJhIHVuZWVkZWQgcmVuZWdvdGlhdGlvbiBpZiB0aGUgZWxlbWVudHMgYXJlIGFscmVhZHkKCSAgY29uZmlndXJlZCB0byB0aGVpciBmaW5hbCBwcm9wZXJ0eSB2YWx1ZXMgd2hlbiB0aGUgY2FwcyBldmVudAoJICBnb2VzIHRocm91Z2guCgkgIEFsc28gYXZvaWRzIGhpdHRpbmcgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNDQKCjIwMTUtMDQtMjIgMTM6MDY6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkgIGRpZ2l0YWx6b29tOiBhbHNvIHNraXAgaW50ZXJuYWwgcGlwZWxpbmUgaW4gdXBzdHJlYW0gY2FwcyBxdWVyeQoJICBUbyBhdm9pZCBnb2luZyB0aHJvdWdoIG91ciBjYXBzZmlsdGVyIHdoaWNoIHdvdWxkIGxpbWl0IHRoZSBjaG9pY2VzLgoKMjAxNS0wNC0yMiAxMzowNTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSAgZGlnaXRhbHpvb206IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gY2FwcyBpcyBhbnkKCjIwMTUtMDQtMjEgMjM6MTA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5oOgoJICBjYW1lcmFiaW46IGRpZ2l0YWx6b29tOiBjcmVhdGUgYSBiaW4gZWxlbWVudCBmb3IgZGlnaXRhbCB6b29taW5nCgkgIEl0IGNvbnRhaW5zIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyIGFuZCBpbXBsZW1lbnRzIGRpZ2l0YWwKCSAgem9vbWluZy4KCSAgQXQgdGhpcyBtb21lbnQsIGl0IGlzIGEgcHJpdmF0ZSBlbGVtZW50IG9mIHRoZSBjYW1lcmFiaW4gcGx1Z2luLgoJICBUaGlzIHdpbGwgcmVtb3ZlIHNvbWUgY29kZSB1c2VkIGluIHdyYXBwZXJjYW1lcmFiaW5zcmMgdG8gbWFrZQoJICBjb2RlIGNsZWFyZXIgYW5kIGRpZ2l0YWx6b29tIGNhbiBwb3RlbnRpYWxseSBiZSB1c2VkIGJ5IG90aGVyCgkgIGFwcGxpY2F0aW9ucyBpbiB0aGUgZnV0dXJlLCBpdCBoYXMgbm90aGluZyBjYW1lcmFiaW4gc3BlY2lmaWMuCgoyMDE1LTA0LTI3IDEwOjExOjQxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZWdsOiBVc2UgbWF4aW11bSBiaXRzIHBlciBjb2xvciBpbnN0ZWFkIG9mIG1pbmltdW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQyNQoKMjAxNS0wNC0yNiAyMDo1NTowMyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1OiBXMzIgdGhyZWFkIGNvdW50IHN1cHBvcnQKCSAgVGhpcyBjb2RlIGlzIGltcG9ydGVkIGZyb20gR0xpYiBnX2dldF9udW1fcHJvY2Vzc29ycygpLiBUaGlzIGZ1bmN0aW9uCgkgIHdhcyBhZGRlZCBpbiAyLjM2IGJ1dCB3ZSBkZXBlbmQgb24gMi4zMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NQoKMjAxNS0wNC0yNiAyMTowMDowNiArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1OiBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3NpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NgoKMjAxNS0wNC0yNiAyMTowMzo0NSArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5kc3A6IERvbid0IHVzZSB0aGUgcHJpdmF0ZSBmaWVsZCAnbWlzc2luZ19zYW1wbGVzJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk3CgoyMDE1LTA0LTI3IDE0OjU2OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbQoJICBUaGUgcHJvcGVydHkgZW51bSBpdGVtIGhhcyBiZWVuIHRoZXJlIHNpbmNlIHRoZSBvcmlnaW4gb2YgdGhlIGVsZW1lbnQgYnV0IGl0CgkgIGhhcyBuZXZlciBiZWVuIHVzZWQuIFJlbW92aW5nIGl0LgoKMjAxNS0wNC0yNyAxNDo0OTo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgZ2xmaWx0ZXJjdWJlOiBEb24ndCBpbml0aWFsaXplIG11bHRpcGxlIHNoYWRlcnMgb24gcmVuZWdvdGlhdGlvbgoKMjAxNS0wNC0yNyAxMDo1NToxMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGZyb20gQVJHXyB0byBQUk9QXwoJICBQcm9wZXJ0eSBlbnVtIGl0ZW1zIHNob3VsZCBiZSBuYW1lZCBQUk9QXyBmb3IgY29uc2lzdGVuY3kgYW5kIHJlYWRhYmlsaXR5LgoKMjAxNS0wNC0yNyAxMDoyNDowMCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUmVtb3ZlIHVudXNlZCBzdG9wIGZ1bmN0aW9uCgoyMDE1LTA0LTI3IDE2OjA0OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVucmVmIHRoZSBwb29sIGluIHRoZSBjb3JyZWN0IHBsYWNlCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBob2xkIGEgcG9vbCB0byBhIGNvbnRleHQgdGhhdCBpcyBuZXZlciBnb2luZyB0byBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA1CgoyMDE1LTA0LTI3IDEwOjAxOjUzICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogVW5yZWYgc2hhZGVyIGluIDo6c3RvcCgpCgoyMDE1LTA0LTI3IDE1OjIwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogdW5yZWYgZGlzcGxheS9vdGhlci1jb250ZXh0IGluIHRoZSBjb3JyZWN0IHBsYWNlCgkgIE90aGVyd2lzZSBzdGF0ZSBjaGFuZ2VzIGZyb20gUExBWUlORy0+UkVBRFktPlBBVVNFRCB3aWxsIGNhdXNlIHRoZXJlIHRvCgkgIHRvIGJlIG5vIGRpc3BsYXkgY29uZmlndXJlZCBvbiB0aGUgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNQoKMjAxNS0wNC0xMCAxNDowODo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzCgkgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBmcm9tIHppZy16YWcgc2NhbgoJICBvcmRlciBpbnRvIHJhc3RlciBzY2FuIG9yZGVyIGFuZCB2aWNlLXZlcnNhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTQ6MDc6NTYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogc2tpcCBieXRlIGFsaWdubWVudCBiaXRzIHdoaWxlIHBhcnNpbmcgc2xpY2UgaGVhZGVyCgkgIFNraXAgdGhlIGJ5dGUgYWxpZ25tZW50IGJpdHMgYXMgcGVyIHRoZSBsb2dpYyBvZiBieXRlX2FsaWdubWVudCgpCgkgIHByb3ZpZGVkIGluIGhldmMgc3BlY2lmaWNhdGlvbi4gVGhpcyB3aWxsIGZpeCB0aGUgY2FsY3VsYXRpb24gb2YKCSAgc2xpY2UgaGVhZGVyIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTQ6MDc6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHRoZSBOdW1EZWx0YVBvY3MgY2FsY3VsYXRpb24KCSAgQWx3YXlzIHVzZSB0aGUgZXF1YXRpb24gcHJvdmlkZWQgaW4gc3BlYyAoNy01NykgZm9yIGZpbmRpbmcKCSAgdGhlIE51bURlbHRhUG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE0OjA0OjE3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCB0aGUgTnVtUG9jVG90YWxDdXJyIGNhbGN1bGF0aW9uCgkgIFRoZSBOdW1Qb2NUb2FsQ3VyciBzaG91bGQgYmUgY2FsY3VsYXRlZCBmb3IgYWxsIEIgYW5kIFAgc2xpY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDEzOjU5OjUwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCBuYWwgc2l6ZSBjYWxjdWxhdGlvbiBmb3IgRU9TIGFuZCBFT0IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0yNiAyMTo0MjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBEZS1jYW1lbGNhc2Ugb25Jbml0RkJPKCkgdmZ1bmMKCjIwMTUtMDQtMjYgMjE6Mzk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogUmVtb3ZlIG9uU3RhcnQvb25TdG9wIHZmdW5jcywgYW5kIHVudXNlZCBvblJlc2V0KCkKCSAgb25TdGFydC9vblN0b3AgYXJlIGp1c3QgZHVwbGljYXRlcyBvZiB0aGUgYmFzZXRyYW5zZm9ybSBvbmVzLCBvblJlc2V0CgkgIHdhcyBuZXZlciBjYWxsZWQgYnV0IHdhcyB1c2VkIGV2ZXJ5d2hlcmUgd2hlbiBzdG9wIHNob3VsZCd2ZSBiZWVuIHVzZWQuCgoyMDE1LTA0LTIxIDA5OjQzOjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBkb24ndCBpbml0aWFsaXplIG11bHRpcGxlIHNoYWRlcnMgb24gcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA3CgkgICogZGVsZXRlIHNoYWRlciBpZiBvbmUgZXhpc3RzCgkgICogc2V0IGl0IHRvIE5VTEwgYWZ0ZXIgdW5yZWZpbmcKCjIwMTUtMDQtMjYgMjE6MTE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoyMzA6MTk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ2luX3N0cnVjdHVyZScKCSAgWy1XZXJyb3IsLVd1bnVzZWQtdmFyaWFibGVdCgkgIEdzdFN0cnVjdHVyZSAqaW5fc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CgkgIF4KCjIwMTUtMDQtMTUgMDE6MjQ6NDUgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZHJvcCBmcmFtZXMgd2UgZ2V0IGJlZm9yZSB3ZSBoYXZlIGEgY2xvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA1NAoKMjAxNS0wNC0yNiAyMDozMzo0MSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IFVucmVmIG90aGVyIGNvbnRleHQgaW4gZmluYWxpemUsIGFuZCBkaXNwbGF5IGluIFJFQURZLT5OVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDUKCjIwMTUtMDQtMTkgMTk6MTY6NTUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBLZWVwIGNvbG9yaW1ldHJ5IGFuZCBjaHJvbWEtc2l0ZSBmaWVsZHMgaWYgcGFzc3Rocm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODE0MQoKMjAxNS0wNC0yNiAxODowNDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjUvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZnhiYWQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG9ic29sZXRlIEFuZHJvaWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDE1LTA0LTE5IDAwOjU1OjUwICswOTAwICBZdWppbiBMZWUgPHNhZGRvcG9wQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICB2dGRlYzogZml4IGJ1aWxkIGVycm9yIHdpdGggY2xhbmcKCSAgVGhpcyBjb21taXQgZml4ZXMgYSBzaW1wbGUgYnVpbGQgZXJyb3IgYnkgY2xhbmcgd2l0aAoJICBieSBjbGFuZyB3aXRoIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLXBvaW50ZXItY29tcGFyZV0gb3B0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODExMAoKMjAxNS0wNC0yNiAxOTowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogT25seSBhbnN3ZXIgdGhlIGR1cmF0aW9uIHF1ZXJ5IGluIG5vbi1saXZlIG1vZGUKCjIwMTUtMDQtMjUgMTg6NTA6NTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggdGhlIGxpY2Vuc2UgZnJvbSBHUEwgdG8gTEdQTAoJICBUaGlzIHdhcyBhIGNvcHknbidwYXN0ZSBidWYgaW4gdGhlIGluaXRpYWwgY29tbWl0IGRvbmUgYnkgbXlzZWxmLgoKMjAxNS0wNC0yNSAxODo0Njo0MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggdGhlIGxpY2Vuc2UgZnJvbSBHUEwgdG8gTEdQTAoJICBUaGlzIHdhcyBhIGNvcHknbidwYXN0ZSBidWYgaW4gdGhlIGluaXRpYWwgY29tbWl0IGRvbmUgYnkgbXlzZWxmLgoKMjAxNS0wNC0yNSAxMzozODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogcmVtb3ZlIEdQTDMgY29kZSB3ZSBkb24ndCBuZWVkCgkgIElmIDk1JSBvZiB0aGUgY29kZSBvZiBhbiBleGFtcGxlIGFwcCBjb25zaXN0cyBvZiBHT2JqZWN0CgkgIGNvZGUsIG1heWJlIHRoYXQncyBkZWZlYXRpbmcgdGhlIHBvaW50IGEgbGl0dGxlLiBTbyBqdXN0CgkgIHJlbW92ZSBhIGxvdCBvZiB0aGF0IGFuZCB0cmltIGRvd24gdGhlIGV4YW1wbGUgdG8gdGhlCgkgIGFic29sdXRlIG1pbmltdW0uIEFsc28gcmVtb3ZlcyB0aGUgbGFzdCByZW1haW5pbmcgR1BMMwoJICBsaWNlbnNlZCBjb2RlIGluIC1iYWQuCgoyMDE1LTA0LTI1IDEyOjUyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHNpbXBsaWZ5IHByb3BlcnR5IHNldHRpbmcKCjIwMTUtMDQtMjUgMTI6NDg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogcG9ydCB0byAxLngKCjIwMTQtMTEtMjAgMDA6MzM6NDQgKzAxMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuaDoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiByZWxpY2Vuc2Ugb3BlbmN2IGV4YW1wbGUgdG8gTEdQTHYyCgoyMDE1LTA0LTI0IDE0OjA0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogYWRkIHRlc3RzIGZvciBHc3RQaG90b2dyYXBoeSBpbWFnZSBjYXB0dXJlCgkgIEdzdFBob3RvZ3JhcGh5IGVuYWJsZXMgbmV3IHBhdGhzIGluIHdyYXBwZXJjYW1lcmFiaW5zcmMgdGhhdCBhbGxvd3MKCSAgdGhlIHNvdXJjZSB0byBiZSBub3RpZmllZCBhYm91dCB0aGUgY2FwdHVyZSBjYXBzIGFuZCBwcm92aWRlIGFuCgkgIGFsdGVybmF0aXZlIGNhcHMgaWYgZGVzaXJlZCBieXBhc3NpbmcgdGhlIG5lZ290aWF0aW9uICh0aGlzIGRvZXNuJ3QKCSAgc2VlbSBsaWtlIGEgZ29vZCBpZGVhIHRoZXNlIGRheXMpLiBUbyBtYWtlIHN1cmUgaXQga2VlcHMgd29ya2luZwoJICB1bnRpbCB3ZSByZW1vdmUgaXQgZnJvbSB0aGUgQVBJIGluIGZhdm9yIG9mIHN0YW5kYXJkIGNhcHMgbmVnb3RpYXRpb24KCSAgZmVhdHVyZXMgdGhpcyB0ZXN0IHdhcyBhZGRlZC4KCSAgSXQgYWRkcyAzIGV4dHJhIHRlc3RzIHdpdGggYSBzaW1wbGUgdGVzdCBzb3VyY2UgdGhhdCB3aWxsOgoJICAxKSBUZXN0IHRoYXQgY2FwdHVyaW5nIHdpdGggQU5ZIGNhcHMgd29yawoJICAyKSBUZXN0IHRoYXQgY2FwdHVyaW5nIHdpdGggYSBmaXhlZCBjYXBzIHdvcmsKCSAgMykgVGVzdCB0aGF0IGNhcHR1cmluZyB3aXRoIGEgZml4ZWQgY2FwcyBhbmQgaGF2aW5nIHRoZSBzb3VyY2UKCSAgcGljayBhIGRpZmZlcmVudCByZXNvbHV0aW9uIGZyb20gR3N0UGhvdG9ncmFwaHkgQVBJIHdvcmtzCgkgIGJ5IGhhdmluZyB3cmFwcGVyY2FtZXJhYmluc3JjIGNyb3AgdGhlIGNhcHR1cmUgdG8gdGhlIGZpbmFsCgkgIHJlcXVlc3RlZCBkaW1lbnNpb25zCgoyMDE1LTA0LTI0IDE0OjE5OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmV3b3JrIGNyb3BwaW5nIGZvciB6b29tIGFuZCBkaW1lbnNpb24gcmVkdWN0aW9uCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgaGFzIGEgdmlkZW9jcm9wIGVsZW1lbnQgdG8gYmUgdXNlZCBmb3IKCSAgem9vbWluZyBhbmQgZm9yIGNyb3BwaW5nIHdoZW4gaW5wdXQgY2FwcyBpcyBkaWZmZXJlbnQgd2hlbiB1c2VkCgkgIHdpdGggdGhlIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZS4gVGhlIHpvb21pbmcgcGFydCBuZWVkcwoJICB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJICBjYXBzZmlsdGVyICEgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIKCSAgVGhlIGNhcHNmaWx0ZXJzIHNob3VsZCBhbHdheXMgaGF2ZSB0aGUgc2FtZSBjYXBzIHRvIGVuc3VyZSB0aGUKCSAgem9vbWluZyBpcyBkb25lIGFuZCBwcmVzZXJ2ZXMgZGltZW5zaW9ucywgdW5sZXNzIHdoZW4gaXQgaXMgbmVlZGVkCgkgIHRvIGRvIG1vcmUgY3JvcHBpbmcgZHVlIHRvIGlucHV0IGRpbWVuc2lvbnMgdGhvc2UgY2FwcwoJICBuZWVkIHRvIGJlIG1vZGlmaWVkIGFjY29yZGluZ2x5IHRvIHByZXNlcnZlIHRoZSBvdXRwdXQgZGltZW5zaW9ucy4KCSAgVGhpcywgaG93ZXZlciwgbWFrZXMgaXQgaGFyZCB0byBnZXQgY2FwcyBuZWdvdGlhdGlvbiB0byB3b3JrIHByb3Blcmx5CgkgIGFzIHdlIG5lZWQgdG8gaGF2ZSBkaWZmZXJlbnQgY2FwcyBpbiB0aGUgY2Fwc2ZpbHRlcnMgdG8gYWNjb3VudCBmb3IKCSAgdGhlIGV4dHJhIGNyb3BwaW5nIG5lZWRlZC4gSXQgY291bGQgYmUgc2ltcGxlIGZvciBmaXhlZCBjYXBzIGJ1dCBpdAoJICBnZXRzIHRyaWNreSB3aXRoIHVuZml4ZWQgb25lcy4KCSAgVG8gc29sdmUgdGhpcywgdGhpcyBwYXRjaCBzcGxpdHMgdGhlIHpvb21pbmcgYW5kIGRpbWVuc2lvbiByZWR1Y3Rpb24KCSAgY3JvcHBpbmcgaW50byAyIHNlcGFyYXRlIHZpZGVvY3JvcCBlbGVtZW50cy4gVGhlIGZpcnN0IG9uZSBkb2VzCgkgIHRoZSBkaW1lbnNpb24gY3JvcHBpbmcsIHdoaWNoIGlzIG9ubHkgbmVlZGVkIHdoZW4gdGhlIEdzdFBob3RvZ3JhcGh5CgkgIEFQSSBpcyB1c2VkIGFuZCB0aGUgc291cmNlIHByb3ZpZGVzIGEgY2FwcyB0aGF0IGlzIGRpZmZlcmVudCB0aGFuCgkgIHdoYXQgaXMgcmVxdWVzdGVkLCB3aGlsZSB0aGUgc2Vjb25kIGlzIGRlZGljYXRlZCB0byB6b29tIGNyb3Agb25seS4KCSAgVGhlIGZpcnN0IHBhcnQgb2YgdGhlIHBpcGVsaW5lIGdvZXMgZnJvbToKCSAgc3JjICEgdmlkZW9jb252ZXJ0ICEgY2Fwc2ZpbHRlciAhIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyCgkgIHRvCgkgIHNyYyAhIHZpZGVvY3JvcCAhIHZpZGVvY29udmVydCAhIGNhcHNmaWx0ZXIgISB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlcgoJICBJdCBtaWdodCBhZGQgYW4gZXh0cmEgb3ZlcmhlYWQgaW4gdGhlIGltYWdlIGNhcHR1cmUgYXMgdGhlIGltYWdlIG1pZ2h0IG5lZWQKCSAgdG8gYmUgY3JvcHBlZCB0d2ljZSBidXQgdGhpcyBjYW4gYmUgc29sdmVkIGJ5IGVuYWJsaW5nIHZpZGVvY3JvcCB0byB1c2UKCSAgY3JvcCBtZXRhcyBzbyBvbmx5IHRoZSBsYXRlciBvbmUgZG9lcyB0aGUgcmVhbCBjcm9wcGluZy4KCSAgSXQgYWxzbyBtYWtlcyB0aGUgY29kZSBhIGJpdCBzaW1wbGVyLgoKMjAxNS0wNC0yNCAxNDoxNzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmUgb2Jzb2xldGUgY29tbWVudAoJICBUaGlzIGlzIGFscmVhZHkgaGFuZGxlZCBpbiBhbm90aGVyIHBsYWNlIGFuZCBkb2Vzbid0IG1ha2Ugc2Vuc2UKCSAgaW4gdGhlIGZ1bmN0aW9uIGNvbnRleHQgYW55bW9yZQoKMjAxNS0wNC0yNCAxNDoxNjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBlcnJvciBvdXQgaWYgc291cmNlIGZhaWxzIHRvIHByZXBhcmUgZm9yIGNhcHR1cmUKCSAgUG9zdCBhbiBlcnJvciB3aGVuIHByZXBhcmluZyB0aGUgaW1hZ2UgY2FwdHVyZSB0aHJvdWdoIHBob3RvZ3JhcGh5CgkgIGludGVyZmFjZSBmYWlscwoKMjAxNS0wNC0yNCAxNDoxMzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBpbnRlcnNlY3QgaW5zdGVhZCBvZiBjb21wYXJlIGZvciBlcXVhbGl0eQoJICBJbnRlcnNlY3QgaXMgZW5vdWdoIHRvIGNoZWNrIGlmIHRoZSByZXF1ZXN0ZWQgY2FwcyBhcmUgY29tcGF0aWJsZQoJICB3aXRoIHdoYXQgdGhlIHNvdXJjZSBpcyBnb2luZyB0byBwcm92aWRlLiBFcXVhbGl0eSB3aWxsIGJlIHRvbyBzdHJpY3QuCgoyMDE1LTA0LTI0IDE0OjEzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCB0eXBvCgoyMDE1LTA0LTI0IDAyOjIyOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB0ZXN0czogcmVtb3ZlIHVudXNlZCBtYWNyb3MKCSAgVGhvc2UgbWFjcm9zIHdlcmUgd2l0aCB0aGUgd3JvbmcgbmFtZSAobGlrZWx5IGEgY29weSBuIHBhc3RlIG1pc3Rha2UpCgkgIGFuZCB3ZXJlIHVudXNlZC4KCjIwMTUtMDQtMjMgMTQ6Mjg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZW1vdmUgb2Jzb2xldGUgY2hlY2sgZm9yIDAuMTAgZmVhdHVyZQoKMjAxNS0wNC0yNCAxNjo0ODoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuCgoyMDE1LTA0LTI0IDE3OjEzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGJhbGFuY2UgY2hhbmdlX3N0YXRlIGRpc3BsYXkgcmVmL3VucmVmCgkgIHRoZSBkaXNwbGF5IHdhcyBiZWluZyB1bnJlZmZlZCBvbiB0aGUgaW5jb3JyZWN0IHN0YXRlIGNoYW5nZSBjYXVzaW5nCgkgIGludmFsaWQgc3RhdGUgd2hlbiBjaGFuZ2luZyBmcm9tIFBMQVlJTkcvUEFVU0VELT5SRUFEWS0+UEFVU0VEL1BMQVlJTkcuCgoyMDE1LTA0LTIzIDE3OjQzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBjbGFpbSB0byBiZSBsaXZlIHdoZW4gYW5zd2VyaW5nIHRoZSBMQVRFTkNZIHF1ZXJ5CgkgIEV2ZW4gZm9yICJsaXZlIiBzdHJlYW1zIHdlIGFyZSBub3QgbGl2ZSBpbiB0aGUgR1N0cmVhbWVyIG1lYW5pbmcgb2YgdGhlIHdvcmQuCgkgIFdlIGRvbid0IHByb2R1Y2UgYnVmZmVycyB0aGF0IGFyZSB0aW1lc3RhbXBlZCBiYXNlZCBvbiB0aGVpciAiY2FwdHVyZSB0aW1lIgoJICBhbmQgb3VyIGNsb2NrLCBidXQganVzdCBiYXNlZCBvbiB3aGF0ZXZlciB0aW1lc3RhbXBzIHRoZSBzdHJlYW0gbWlnaHQgY29udGFpbi4KCSAgQWxzbyBldmVuIGlmIHdlIHdhbnRlZCB0byBjbGFpbSB0byBiZSBsaXZlLCB0aGF0IHdvdWxkbid0IHdvcmsgd2VsbCBhcyB3ZQoJICB3b3VsZCBoYXZlIHRvIHJldHVybiBHU1RfU1RBVEVfQ0hBTkdFX05PX1BSRVJPTEwgd2hlbiBnb2luZyBmcm9tIFJFQURZIHRvCgkgIFBBVVNFRCwgd2hpY2ggd2UgY2FuJ3QuIFdlIGZpcnN0IG5lZWQgZGF0YSB0byBrbm93IGlmIHdlIGFyZSAibGl2ZSIgb3Igbm90LgoKMjAxNS0wNC0yMyAxNzozOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogVXNlIHRoZSBkb3dubG9hZGVyIG9mIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQgb2YgY3JlYXRpbmcgb3VyIG93bgoJICBUaGUgb25lIG9mIHRoZSBiYXNlIGNsYXNzIGlzIGNvbXBsZXRlbHkgdW51c2VkIGJlY2F1c2Ugd2Ugb3ZlcnJpZGUgYWxsCgkgIHRoZSBkb3dubG9hZGluZyBoZXJlLCBzbyBsZXQncyBqdXN0IHVzZSB0aGF0IG9uZSBpbnN0ZWFkLgoKMjAxNS0wNC0yMyAxNzozNjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGNhbid0IG1hdGNoIHZhcmlhbnQgcGxheWxpc3RzIGFmdGVyIHVwZGF0aW5nCgkgIEl0J3MgYmV0dGVyIHRvIGp1c3Qgc2VsZWN0IHNvbWUgcmFuZG9tIHZhcmlhbnQgcGxheWxpc3QgaW5zdGVhZCBvZiBzdG9wcGluZywKCSAgY2hhbmNlcyBhcmUgdGhhdCBpdCdzIHN0aWxsIGNvbnRpbnVpbmcgdG8gd29yayBhbmQgd2UgbWlnaHQganVzdCBoYXZlIHRvCgkgIHNlbGVjdCBhIGRpZmZlcmVudCB2YXJpYW50IGFnYWluIGxhdGVyLgoKMjAxNS0wNC0yMyAxNzozMzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBob3cgdGhlIHBsYXlsaXN0cyBhcmUgcmVmcmVzaGVkCgkgIFdlIHNob3VsZCBvbmx5IHJlZnJlc2ggdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YXJpYW50IHBsYXlsaXN0IChpZiBhbnksCgkgIG90aGVyd2lzZSB0aGUgbWFpbiBwbGF5bGlzdCksIG5vdCB0aGUgbWFpbiBwbGF5bGlzdC4gQW5kIG9ubHkgdHJ5IHRvCgkgIHJlZnJlc2ggdGhlIG1haW4gcGxheWxpc3QgaWYgdXBkYXRpbmcgdGhlIHZhcmlhbnQgcGxheWxpc3QgZmFpbHMuCgkgIFNvbWUgc2VydmVycyAoV293emEpIHVzZSB0aGUgcmVxdWVzdCBvZiB0aGUgbWFpbiBwbGF5bGlzdCB0byBjcmVhdGUgYQoJICAic2Vzc2lvbiIsIHdoaWNoIGlzIHRoZW4gcGFydCBvZiB0aGUgVVJJIG9mIHRoZSB2YXJpYW50IHBsYXlsaXN0IGFuZAoJICBhbHNvIHRoZSBmcmFnbWVudHMuIFJlZnJlc2hpbmcgdGhlIG1haW4gcGxheWxpc3Qgd291bGQgZ2VuZXJhdGUgYSBuZXcKCSAgc2Vzc2lvbiwgYW5kIHRoZSBzZXJ2ZXIgcmF0ZSBsaW1pdHMgdGhhdCB1c3VhbGx5LiBBbmQgYWZ0ZXIgYSBmZXcgcmV0cmllcwoJICB0aGUgc2VydmVyIGp1c3Qga2lja3MgdXMgb3V0LgoJICBBbHNvIGFzIGEgc2lkZSBlZmZlY3Qgd2Ugbm93IHVzZSB0aGUgc2FtZSBkb3dubG9hZGVyIGZvciBhbGwgcGxheWxpc3RzLCBzbwoJICB0aGF0IHdlIG9ubHkgaGF2ZSAyIGluc3RlYWQgb2YgMyBjb25uZWN0aW9ucyB0byB0aGUgc2VydmVyLiBBbmQgYWxzbwoJICBwcmV2aW91c2x5IHdlIGp1c3QgaWdub3JlZCB0aGUgZG93bmxvYWRlZCBkYXRhIGZyb20gdGhlIG1haW4gcGxheWxpc3QgdGhhdAoJICB0aGUgYmFzZSBjbGFzcyBnYXZlIHRvIHVzLgoKMjAxNS0wNC0yMyAxNzoyMjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQWxsb3cgc3ViY2xhc3NlcyB0byBvdmVycmlkZSBob3cgYSBuZXcgbWFuaWZlc3Qgd291bGQgYmUgZG93bmxvYWRlZAoKMjAxNS0wNC0yMyAxNzowMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBFeHBvc2UgZG93bmxvYWRlcgoJICBUaGlzIGFsbG93cyBzdWJjbGFzc2VzIHRvIHVzZSBpdCBhbmQgc2hhcmUgY29ubmVjdGlvbnMgaWYgcG9zc2libGUuCgoyMDE1LTA0LTIzIDE2OjQzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMTUtMDQtMjMgMTY6NDA6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRlZmluZSBHU1RfQ0hFQ0tfVEVTVF9FTlZJUk9OTUVOVF9CRUFDT04KCSAgTWFrZSBzdXJlIHRoZSB0ZXN0IGVudmlyb25tZW50IGlzIHNldCB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6Mzk6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjE0IGFuZCBhdXRvY29uZiB0byAyLjY5CgkgIFRoaXMgaXMgb25seSByZXF1aXJlZCBmb3IgYnVpbGRzIGZyb20gZ2l0LCBwZW9wbGUgY2FuIHN0aWxsCgkgIGJ1aWxkIHRhcmJhbGxzIGlmIHRoZXkgb25seSBoYXZlIG9sZGVyIGF1dG90b29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6NDc6NDAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkOiBSZWxlYXNlIGdsdXBsb2FkIGJ1ZmZlciB3aGVuIGNhcHMgYXJlIGNoYW5nZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3MQoKMjAxNS0wNC0yMyAxMTo0NzozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkgIGdhdWRpOiBkb24ndCBydW4gZ2F1c3NpYW4gZnVuY3Rpb24gaWYgc2lnbWEgaXMgMAoKMjAxNS0wNC0yMiAxOToyODozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaGFuZGxlIHRvbyBzaG9ydCBzZWdtZW50cwoJICBXaGVuIHRoZSBzZWdtZW50IGlzIHZlcnkgc2hvcnQgaXQgbWlnaHQgYmUgdGhlIGNhc2UgdGhhdCB0aGUKCSAgdHlwZWZpbmRpbmcgZmFpbHMgYW5kIHdoZW4gZmluaXNoaW5nIHRoZSBzZWdtZW50IGhsc2RlbXV4IHdvdWxkCgkgIGNvbnNpZGVyIHRoZSByZW1haW5pbmcgZGF0YSAocGVuZGluZ19idWZmZXIpIGFzIGFuIGVuY3J5cHRpb24KCSAgbGVmdG92ZXIuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYW5kIG1ha2VzIHN1cmUgYW4gZXJyb3IgaXMgcHJvcGVybHkgcG9zdGVkCgkgIGlmIHR5cGVmaW5kIGZhaWxlZCBieSByZWZhY3RvcmluZyBidWZmZXIgaGFuZGxpbmcgdG8gYSBmdW5jdGlvbgoJICBhbmQgdXNpbmcgaXQgZnJvbSB0aGUgZGF0YV9yZWNlaXZlZCBhbmQgZmluaXNoX2ZyYWdtZW50IGZ1bmN0aW9ucy4KCjIwMTUtMDQtMjIgMTk6MDQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVzZSBjb3JyZWN0IHZhcmlhYmxlIHR5cGUKCSAgZ3N0X2J1ZmZlcl9yZXNpemUgbmVlZHMgZ3NzaXplIGFuZCBub3QgZ3NpemUuIFRoaXMgbWFrZXMgZ2RiCgkgIHByaW50IGl0IGNvcnJlY3RseSB3aGVuIGRlYnVnZ2luZy4KCjIwMTUtMDQtMjIgMTc6MDg6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogZml4IG1vZGUgYXV0b2RldGVjdGlvbgoJICBUaGUgYXV0b2RldGVjdGlvbiBtb2RlIHdhcyBicm9rZW4gYmVjYXVzZSBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBpbnB1dCBtb2RlCgkgIHNldHRpbmcuIFRoZSBtb2RlIGNvdWxkIGJlIHJldmVydGVkIGJhY2sgd2hlbiBpdCB3YXMgcmVwbGFjZWQgaW4KCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgYnkgdGhlIG9sZCBtb2RlIGluIHRoZSBtaWRkbGUgb2YgbW9kZSBjaGFuZ2VkIGNhbGxiYWNrLgoKMjAxNS0wNC0yMiAxNzowNDoyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IGRvIG5vdCByZXBlYXQgZmlyc3QgdmlkZW8gZm9ybWF0IGluIGNhcHMgdGVtcGxhdGUKCSAgVGhlIGZpcnN0IGVudHJ5IGluIHRoZSBtb2RlcyBhcnJheSBpcyB1c2VkIGFzIGRlZmF1bHQgbW9kZSBmb3IgYXV0b2RldGVjdGlvbi4KCSAgVGhlcmUncyBubyBuZWVkIHRvIGNvcHkgaXQgaW50byB0aGUgY2FwcyB0ZW1wbGF0ZS4KCjIwMTUtMDQtMjIgMTU6MDQ6MDMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaTogZml4IHRvIDMwNzgwZGIxCgkgIFRoZSBzZWNvbmQgY2hlY2sgZm9yIChmYWN0b3IgPT0gMCkgY3JlZXBlZCBpbiB0aGUgbGFzdCBjb21taXQuCgkgIEFwb2xvZ2llcy4KCjIwMTUtMDQtMjIgMTQ6MzA6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaTogZml4IGV4Y2x1c2lvbidzIGZhY3RvciByYW5nZQoJICBBdm9pZCBkaXZpZGluZyBieSB6ZXJvIHdoZW4gdGhlIGZhY3RvciBpcyB6ZXJvLiBJbnN0ZWFkLCBvdXRwdXQgYSBidWZmZXIgd2l0aAoJICBhbGwgY29sb3IgdmFsdWVzIGFzIHplcm8uCgoyMDE1LTA0LTIyIDE0OjE1OjEzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaTogcmVtb3ZlIGZsb29yIHZhcmlhYmxlIGluIHNvbGFyaXplCgkgIEZsb29yIHZhcmlhYmxlIGhhcyBubyBlZmZlY3QgYW5kIGl0IGlzbid0IHdvcnRoIGl0IHRvIGhhdmUgaXQgYWRqdXN0YWJsZS4KCjIwMTUtMDQtMjIgMTM6NTU6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpOiByZW1vdmUgdW51c2VkIHByb3BlcnR5CgoyMDE1LTA0LTIyIDE4OjU0OjQ1ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBXaGlsZSBwcmludGluZyBlcnJvciBtZXNzYWdlIHdoZW4gY29udGV4dCBmYWlscywgZXJyb3IgdmFyaWFibGUgaXMgbm90IGJlaW5nIHVzZWQgYW55bW9yZQoJICBzbyBpdCB3aWxsIGxlYWQgdG8gbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgyODcKCjIwMTUtMDQtMjIgMTA6Mzg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBJTlNUQUxMOgoJICBSZW1vdmUgSU5TVEFMTCBmaWxlCgkgIGF1dG90b29scyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHRoaXMsIGFuZCB3aGVuIHVzaW5nIGRpZmZlcmVudCB2ZXJzaW9ucwoJICBmb3IgYXV0b2dlbi5zaCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBjaGFuZ2VzIHRvIGEgZmlsZSB0cmFja2VkIGJ5IGdpdC4KCjIwMTUtMDQtMjIgMTA6Mzg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSAgUmVtb3ZlIExJQ0VOU0VfcmVhZG1lCgkgIEl0J3MgY29tcGxldGVseSBvdXRkYXRlZCBhbmQganVzdCBjb25mdXNpbmcsIGJldHRlciBpZiBwZW9wbGUgYXJlCgkgIGZvcmNlZCB0byBsb29rIGF0IHRoZSBhY3R1YWwgY29kZSBpbiBxdWVzdGlvbiB0aGFuIHRydXN0aW5nIHRoaXMgZmlsZS4KCjIwMTUtMDQtMjEgMjI6MDQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERvbid0IHN0b3AgYWxsIHRhc2tzIGFuZCBzdHJlYW1zIGZyb20gdGhlIHVwZGF0ZSB0YXNrIG9uIGVycm9ycwoJICBJdCB3aWxsIGRlYWRsb2NrcyBhcyB3ZSB3aWxsIHRoZW4gam9pbigpIHRoZSB1cGRhdGUgdGFzayBmcm9tIGl0c2VsZi4gSW5zdGVhZAoJICBqdXN0IHBvc3QgYW4gYWN0dWFsIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBhbmQgb25seSBzdG9wIHRoZSB1cGRhdGUgdGFzay4KCSAgVGhlIGFwcGxpY2F0aW9uIGlzIHRoZW4gcmVzcG9uc2libGUgZm9yIHNodXR0aW5nIGRvd24gdGhlIGVsZW1lbnQsIGFuZCB0aHVzCgkgIGFsbCB0aGUgb3RoZXIgdGFza3MgYW5kIGV2ZXJ5dGhpbmcsIGJhc2VkIG9uIHRoZSBlcnJvciBtZXNzYWdlIGl0IGdldHMuCgoyMDE1LTA0LTIxIDE4OjI5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IHNlZWtpbmcKCSAgV2UgYWxzbyBoYXZlIHRvIHVwZGF0ZSB0aGUgY3VycmVudF9maWxlIEdMaXN0IHBvaW50ZXIgaW4gdGhlIE0zVSBwbGF5bGlzdAoJICBjbGllbnQsIG90aGVyd2lzZSB3ZSBhcmUganVzdCBjb250aW51aW5nIHBsYXliYWNrIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgaW5zdGVhZCBvZiBzZWVraW5nLgoKMjAxNS0wNC0yMSAxODowNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IGNhbGwgdW5sb2NrKCkganVzdCB0byBjYWxsIGxvY2soKSBpbW1lZGlhdGVseSBhZnRlcndhcmRzCgoyMDE1LTA0LTIwIDA4OjIxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlc2V0IHpvb20gZWxlbWVudCBjYXBzIHRvIGdvIHRvIHZpZXdmaW5kZXIgbW9kZQoJICBBdm9pZHMgbm90LW5lZ290aWF0ZWQgZmFpbHVyZXMgcmVsYXRlZCB0byB1c2luZyBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgc3RpbGwgd2hlbiBhZGp1c3RpbmcgdG8gZ28gYmFjayB0byB2aWV3ZmluZGVyLgoKMjAxNS0wNC0yMCAwODoyMDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGFkZCB0ZXN0IGZvciBjYXB0dXJlIHdpdGggZGlmZmVyZW50IGNhcHMKCSAgQWRkcyBhIHRlc3QgdG8gdmVyaWZ5IHRoYXQgdmlld2ZpbmRlciBhbmQgaW1hZ2UgY2FwdHVyZSBjYXBzCgkgIGNhbiBiZSBzZXQgdG8gbm9uLWludGVyc2VjdGluZyBjYXBzIGFuZCBzdGlsbCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODY4CgoyMDE1LTA0LTIwIDA4OjQyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBsZWFrIG9mIGRyYWluIHF1ZXJ5CgkgIGdzdF9wYWRfcGVlcl9xdWVyeSBkb2Vzbid0IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBxdWVyeSBvYmplY3QKCjIwMTUtMDQtMjAgMDg6NDI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWZhY3RvciBpbnRlcm5hbCBwaXBlbGluZQoJICBSZW1vdmUgdGVlIGFuZCBvdXRwdXQtc2VsZWN0b3IgYW5kIGp1c3QgbGluayB0aGUgc291cmNlCgkgIHBhZCB0byB0aGUgb3V0cHV0cyB3ZSB3YW50IGFzIG5lZWRlZC4KCSAgVGhlIHdheSB3ZSBuZWVkIHRvIHByaW9yaXRpemUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYWxsb2NhdGlvbgoJICBxdWVyaWVzIGRlcGVuZGluZyBvbiB0aGUgbW9kZSBlbmFibGVkIGlzIHRvbyBjdXN0b20gdG8gYmUKCSAgaGFuZGxlZCB1c2luZyB0ZWUgYW5kIG91dHB1dC1zZWxlY3Rvci4KCSAgVGhpcyBwcm92aWRlcyBtb3JlIGZsZXhpYmlsaXR5IGFuZCBkb2Vzbid0IGdldCBpbiB0aGUgd2F5IG9mIHByb3BlcgoJICBoYW5kbGluZyBvZiBuZWdvdGlhdGlvbiBhbmQgYWxsb2NhdGlvbiBxdWVyaWVzLgoKMjAxNS0wNC0wNSAyMDoxODo1NiArMDIwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBDcmVhdGUgZWxlbWVudCBmb3IgZWFjaCBlZmZlY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMiAxMToyMjo1MiArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IE1lcmdlIGxhcGxhY2lhbiBmaWx0ZXIgaW50byBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjIgMTE6MjA6NDkgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IE1lcmdlIHNvYmVsIGZpbHRlciBpbnRvIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMiAxMToxMzozMCArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogTWVyZ2UgYmx1ciBmaWx0ZXIgaW50byBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjEgMjM6NTA6MzMgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIGdsZWZmZWN0czogQ29ycmVjdCBhdHRyaWJ1dGVzIGZvciBoY29udiBhbmQgdmNvbnYgc2hhZGVycwoJICBXaWR0aCBhbmQgaGVpZ2h0IHdlcmUgc3dpdGNoZWQgZm9yIGdsb3cgc2hhZGVycy4gRm9yIGJsdXIKCSAgZmlsdGVyIGF0dHJpYnV0ZXMgbmFtZXMgd2VyZSBvYnNvbGV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMSAyMzoyMToxMyArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IEZpeCBmaXNoZXllIHNoYWRlciAtIHBhc3MgZmxvYXQgdG8gc3FydAoJICBPbiBPU1ggcGFzc2luZyBsaXRlcmFsIGludCB0byBzcXJ0KCkgaW4gR0xTTCByZXN1bHRzIGluIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTA0LTIxIDA3OjI4OjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBmaXggc2hhZGVyIG1lbW9yeSBsZWFrCgoyMDE1LTA0LTIxIDEyOjI1OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHRyYWNrIGNvbnRleHQgYWN0aXZhdGlvbiBwcm9wZXJseQoJICBXZSBvbmx5IG5lZWQgdG8gZGVhY3RpdmF0ZS9yZWFjdGl2YXRlIHRoZSBjb250ZXh0IGlmZiBpdCB3YXMgYWxyZWFkeQoJICBhY3RpdmUuCgoyMDE1LTA0LTIxIDEyOjE5OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbGRpc3BsYXk6IHN5bmNocm9uaXplIHRoZSBzZWFyY2hpbmcgYW5kIGNyZWF0aW9uIG9mIEdzdEdMQ29udGV4dCdzCgkgIE9vdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIHdpdGggbXVsdGlwbGUgZWxlbWVudHMgaW4gZGlmZmVyZW50IGNoYWlucwoJICBlYWNoIGNyZWF0aW5nIGEgY29udGV4dC4gIEZpeGVzIGNvbnRleHQgY3JlYXRpb24gd2l0aCBnbHZpZGVvbWl4ZXIuCgoyMDE1LTA0LTIwIDE0OjM1OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZW1vdmUgZGVhZCBjb2RlCgkgIFRoZSBkZXRlY3Rpb24gZm9yIG1pc3NpbmcgZm9ybWF0L2FsaWdubWVudCBpcyBkb25lIHdheSBiZWZvcmUgdGhpcwoJICBjb2RlcGF0aCBpcyByZWFjaGVkIChhdCB3aGljaCBwb2ludCB3ZSBoYXZlIGFscmVhZHkgZGVjaWRlZCBvZiBhCgkgIGZvcm1hdCBhbmQgYWxpZ25tZW50KS4KCSAgQ0lEICMxMjMyODAwCgoyMDE1LTAxLTA3IDE2OjI2OjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSB1bm5lZWRlZCBjaGVjawoJICBWYXJpYWJsZSBoYW5kcyBpcyBhbHJlYWR5IGNoZWNrZWQgdG8gY29udGFpbiBhIHZhbHVlIHByZXZpb3VzbHkgYXQgdGhlIGJlZ2lubmluZwoJICBvZiB0aGUgY3VycmVudCBibG9jay4gVGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBhZ2Fpbi4gVGhpcyBpcyBsb2dpY2FsbHkgZGVhZCBjb2RlLgoJICBDSUQgMTE5NzY5MwoKMjAxNS0wNC0yMCAxNDoyMDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBFbnN1cmUgc3RyaW5nIHJlY2VpdmVkIGZyb20gcmVjdigpIGlzIE5VTEwtdGVybWluYXRlZAoJICBXZSB3aWxsIGJlIGRvaW5nIHN0cmluZyBvcGVyYXRpb25zIG9uIGl0IGxhdGVyLgoJICBDSUQgIzEyOTI4MzAKCjIwMTUtMDQtMjAgMTE6MzA6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjbGVhbiBhc3NpZ25tZW50IHR5cG8KCSAgTm8gbmVlZCB0byBzZXQgdGhlIHZhbHVlIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgkgIENJRCAjMjk1MTIyCgoyMDE1LTA0LTIwIDEwOjU3OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGRlYWQgY29kZQoJICBwb3NpdGlvbiBvZiBHc3RTZWdtZW50IGlzIGFuIHVuc2lnbmVkIGludDY0LCBpdCBjYW4gbmV2ZXIgYmUgYmVsb3cgemVyby4KCSAgQ0lEICMxMjk1MTIzCgoyMDE1LTAyLTA5IDExOjI5OjQ2ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogZXhjZXB0aW9uIHdoZW4gYmxvY2sgd2lkdGggdG8gMAoJICBXaGVuIGJsb2NrIHdpZHRoIHByb3BlcnR5IGlzIHNldCB0byAwLCBleGNlcHRpb24gb2NjdXJzLgoJICBUaGlzIGhhcHBlbnMgZHVlIHRvIGRpdmlkZSBieSB6ZXJvIGVycm9ycyBpbiBjYWxjdWxhdGlvbnMuCgkgIGJsb2NrIHdpZHRoIHByb3BlcnR5IGNhbiBuZXZlciBiZSAwLiBIZW5jZSBhZGp1c3RpbmcgdGhlIG1pbmltdW0gdmFsdWUgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE4OAoKMjAxNS0wNC0xNSAxNToyMjozNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBmaXggY2FwcyBsZWFrIGluIGdzdF9nbF9taXhlcl9wYWRfc2lua19nZXRjYXBzKCkKCSAgQ2FwcyByZWZjb3VudGluZyB3YXMgYWxsIHdyb25nIGluIHRoaXMgZnVuY3Rpb24uIFJld3JvdGUgaXQgYW5kIGFkZCBzb21lCgkgIGNvbW1lbnRzIHRvIG1ha2UgaXQgY2xlYXJlci4KCSAgRml4IGNhcHMgbGVha3Mgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxNQoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMjAgMTc6MDg6MjMgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdm9pZCBpbXBsaWNpdCBjb2xvciBjb252ZXJzaW9ucwoJICBSZXdvcmsgdGhlIEdMIHRleHR1cmUgY29kZSBhIGxpdHRsZSB0byBhdm9pZCBpbXBsaWNpdCBjb2xvciBjb252ZXJzaW9uIGluc2lkZQoJICBBVkYvVlQgb24gYm90aCBpT1MgYW5kIE9TWC4KCjIwMTUtMDQtMTkgMDE6MTU6MDcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBmcmVlIHRleHR1cmUgY2FjaGUgb24gaU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMjIKCjIwMTUtMDQtMTkgMDE6MjE6NDAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgZm9yIGZhaWx1cmUgdG8gY3JlYXRlIGJ1ZmZlcgoJICBnc3RfY29yZV9tZWRpYV9idWZmZXJfbmV3IGFuZCBnc3RfY29yZV92aWRlb190ZXh0dXJlX2NhY2hlX2dldF9nbF9idWZmZXIKCSAgY2FuIGZhaWwgZm9yIHZhcmlvdXMgcGxhdGZvcm0gcmVhc29ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODEyMgoKMjAxNS0wNC0xOSAxMzoxMjowNSArMDkwMCAgWXVqaW4gTGVlIDxzYWRkb3BvcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIGZhaWx1cmUgd2l0aCBjbGFuZwoJICBVc2UgZmFicyBmb3IgZmxvYXRpbmcgcG9pbnQgaW5wdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMjgKCjIwMTUtMDQtMTcgMTM6NTc6MzggLTA2MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgdW51c2VkIGxhdGVuY3kgcXVlcnkgY29kZQoJICBUaGUgYmVoYXZpb3IgY2hhbmdlcyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBzZWdtZW50LAoJICBub3Qgb24gdGhlIGxpdmVuZXNzIG9mIHRoZSBzb3VyY2UuCgoyMDE1LTA0LTE3IDEzOjU1OjI2IC0wNjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYW51cCBsYXRlbmN5IHF1ZXJ5IGhhbmRsaW5nCgkgIFRoZSBtaW5pbXVtIGxhdGVuY3kgaXMgYWx3YXlzIDAgb3IgbW9yZS4gQW5kIHdlIHNob3VsZAoJICByZXF1ZXJ5IHVwc3RyZWFtIGFzIGl0IG1heSBoYXZlIGNoYW5nZWQuCgoyMDE0LTA3LTE3IDEwOjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFuZGxlIHF1ZXVlL3JlbGVhc2UgZXJyb3JzIG5vbi1mYXRhbAoJICBUaGV5IGNhbiBoYXBwZW4gc29tZXRpbWVzIGFzIGEgdHJhbnNpZW50IHByb2JsZW0sIGUuZy4gaWYgdGhlcmUKCSAgaXMgYSBwcm9ibGVtIGluIHRoZSBzdHJlYW0uIE9ubHkgaGFuZGxlIHRoZW0gYXMgZmF0YWwgaWYgbWFueSBvZgoJICB0aGVtIGhhcHBlbiBpbiBhIHJvdy4KCjIwMTUtMDQtMTEgMTY6NTM6MzggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5oOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBDaGFuZ2Ugb3BlbmN2IHBsdWdpbiB0byB1c2Ugb3BlbmN2Mi1zdHlsZSBpbmNsdWRlcwoJICBJZiBvbGQgb3BlbmN2MS1zdHlsZSBsZWdhY3kgaW5jbHVkZSBkaXJlY3RvcnkgaXMgYXZhaWxhYmxlLAoJICB0aGlzIGNoYW5nZSBiZWNvbWVzIHB1cmVseSBjb3NtZXRpYyAobWF5YmUgd2lsbCBjb21waWxlIGEgYml0IGZhc3RlcikuCgkgIEl0IGJlY29tZXMgYW4gRlRCRlMgZml4IHdoZW4gb3BlbmN2MS1zdHlsZSBpbmNsdWRlIGRpcmVjdG9yeSBpcyBtaXNzaW5nCgkgIChwb3NzaWJseSBiZWNhdXNlIG9wZW5jdiBwYWNrYWdlIG1haW50YWluZXIgZGVjaWRlZCBub3QgdG8gcGFjayBpdCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MDUKCjIwMTUtMDQtMTIgMDA6NTY6NDggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IENoYW5nZSBjb25maWd1cmUgdGVzdCB0byBjaGVjayBmb3IgT3BlbkNWMiBoZWFkZXJzCgkgICogQ2hlY2tzIGZvciBvcGVuY3YyIGhlYWRlcnMgb25seSwgbm90IGZvciBsZWdhY3kgb3BlbmN2MSBoZWFkZXJzCgkgICogQ2hlY2tzIGZvciBldmVyeSBvcGVuY3YyIGhlYWRlciB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBuZWVkcywKCSAgbm90IGp1c3QgaGlnaGd1aV9jLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE2MwoKMjAxNS0wNC0xNyAwNToxMjoxMCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBnZXQgY29ubmVjdGlvbiBhbmQgaW5wdXQgY2xvY2sgZWFybHkKCjIwMTUtMDQtMTcgMTU6MzI6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVbmlmeSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIFVzZSAweCUwNHggZm9yIFBJRHMKCjIwMTUtMDQtMTcgMTU6MzA6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVbmlmeSBkdXJhdGlvbiBxdWVyeWluZyBjb2RlCgkgIEFuZCBwcm9wZXJseSB1c2UgaXQgaW4gdGhlIFNFRUtJTkcgcXVlcnkuCgkgIEZpeGVzIHNlZWtpbmcgd2l0aCBnc3QtcGxheQoKMjAxNS0wNC0xNiAxNDoxNzowNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNhcHMgbGVhayB3aGVuIGVhcmx5IHJldHVybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTkzCgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0xNiAxNDoyMToxNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiB1bnJlZiBvd25lZCBjYXBzIHdoZW4gZmluYWxpemluZyB0aGUgbWl4ZXIKCSAgRml4IGEgY2FwcyBsZWFrIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTUKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTE1IDE1OjE2OjMzICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHBhc3MgdGhlIHByb3BlciBmcmVlIGZ1bmN0aW9uIHRvIGZyYW1lcyBhbmQgYnVmZmVycyBhcnJheQoJICAnYXJyYXlfYnVmZmVycycgY29udGFpbiBib3Jyb3dlZCBHc3RCdWZmZXIgYW5kIHNvIHNob3VsZG4ndCBoYXZlIGEgZnJlZQoJICBmdW5jdGlvbi4gJ2ZyYW1lcycgaXMgdGhlIG9uZSBjb250YWluaW5nIEdzdEdMTWl4ZXJGcmFtZURhdGEgYW5kIHNvIHNob3VsZCB1c2UKCSAgX2ZyZWVfZ2xtaXhlcl9mcmFtZV9kYXRhIGFzIGZyZWUgZnVuY3Rpb24uCgkgIEZpeCBHc3RHTE1peGVyRnJhbWVEYXRhIGxlYWtzIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTMKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTE3IDE1OjIwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWRlbGVtZW50OiBEb3dubG9hZCAqZnJvbSogT3BlbkdMLCBub3QgaW50bwoKMjAxNS0wNC0xNyAwOToyNDoxMiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZXJpY3Nzb24uY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBjb21wbGV4aXR5IHByb3BlcnR5IGZvciBzcGVlZC9xdWFsaXR5IHRyYWRlb2ZmCgoyMDE1LTA0LTE3IDE0OjI0OjI4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsY29udGV4dDogTWFrZSBnc3RfZ2xfY29udGV4dF9lZ2xfYWN0aXZhdGUgZmFpbCBpZiB0aGUgb2xkIHN1cmZhY2UgY291bGQgbm90IGJlIGRlc3Ryb3llZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjUxCgoyMDE1LTA0LTE3IDEwOjM4OjE2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IFVucmVmIEdzdEdMVXBsb2FkIG9iamVjdCBhbmQgY2FwcyBpbiA6OnN0b3AoKQoJICBGaXggbGVhayBvZiB0aGUgR3N0R0xVcGxvYWQgb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDMzCgoyMDE1LTA0LTE3IDE0OjA5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJICBnbDogUmVtb3ZlIHNvbWUgZW1wdHkgOjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9ucwoKMjAxNS0wNC0xNyAxNDowNjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkZWxlbWVudDogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMTUtMDQtMTcgMTQ6MDU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZGVsZW1lbnQ6IFJlbW92ZSB1bnVzZWQgOjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9uCgoyMDE1LTA0LTE3IDE0OjAzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydGVsZW1lbnQ6IEFsc28gdW5yZWYgY2FwcyBpbiA6OnN0b3AoKSBhbHJlYWR5CgkgIFRoZXkgYXJlIG5vdCB1c2VmdWwgYW55bW9yZSBhZnRlcndhcmRzLCBzbyBrZWVwaW5nIHRoZW0gdW50aWwgOjpmaW5hbGl6ZSgpCgkgIG1pZ2h0IG9ubHkgY2F1c2Ugc29tZW9uZSB0byB1c2UgdGhlbSBsYXRlciBhbmQgdGhlbiBmYWlsLgoKMjAxNS0wNC0xNSAxNDo0OTowMiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0ZWxlbWVudDogZml4IEdzdEdMQ29sb3JDb252ZXJ0IGxlYWsKCSAgY29udmVydC0+Y29udmVydCB3YXMgbmV2ZXIgdW5yZWZmZWQuCgkgIFRoaXMgY2FuIGJlIHJlcHJvZHVjZSB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTExCgoyMDE1LTA0LTE2IDIyOjQzOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJICBhcGV4c2luazogRml4IGJ1ZmZlciBvdmVyZmxvdywgaW4gY2FzZSBhbnlvbmUgZXZlciBwb3J0cyBpdC4KCSAgRml4IGEgc2ltcGxlIGJ1ZmZlciBvdmVyZmxvdyAtIDE2IGJ5dGVzIGlzbid0IGVub3VnaCB0byBob2xkCgkgIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBndWxvbmcgb24geDg2XzY0LiBJIGd1ZXNzIHRoZQoJICBpbnRlbnQgd2FzIHRvIGdlbmVyYXRlIGEgMzIgYml0IHJhbmRvbSBrZXksIHNvIGxldCdzIGRvIHRoYXQuCgkgIE9ubHkgbWF0dGVycyBpZiBhbnlvbmUgZXZlciBwb3J0cyB0aGUgc2luayB0byAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjUyNAoKMjAxNS0wNC0xNiAxMzozNTowMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBwYWQgbGVhayB3aGVuIG5vdCBhZGRpbmcgYSBuZXcgcGFkIGFmdGVyIG5vLW1vcmUtcGFkcwoKMjAxNS0wNC0wOSAxNzozNTo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggc2VnbWVudCBwb3NpdGlvbiB0cmFja2luZyBmb3IgdGhlIGdlbmVyYWwgY2FzZQoJICBEaWZmZXJlbnQgc3RyZWFtcyBjYW4gaGF2ZSBkaWZmZXJlbnQgUFRTL0RUUyBiYXNlcywgYW5kIHNvbWUKCSAgc3RyZWFtcyBtYXkgbm90IGV2ZW4gaGF2ZSBEVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDQtMTYgMTA6NDI6NDUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbGNvbnRleHQ6IE1ha2UgZ3N0X2dsX2NvbnRleHRfZWdsX2FjdGl2YXRlIGZhaWwgaWYgdGhlIHN1cmZhY2UgY291bGQgbm90IGJlIGNyZWF0ZWQKCSAgQWxzbyBhZGQgc29tZSBlcnJvciBsb2dnaW5nLgoKMjAxNS0wNC0xNSAyMTowNzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG9uJ3QgdW5yZWYgYnVmZmVyIHRoYXQgd2FzIHVucmVmZmVkIGp1c3QgYSBmZXcgbGluZXMgYmVmb3JlIGFscmVhZHkKCjIwMTUtMDQtMTEgMDQ6MjA6NDMgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBBZGQgYWRhcHRpdmVkZW11eCwgYmFkdmlkZW8gYW5kIGJhZGJhc2UgdG8gdGhlIGxpbmstbGlzdCBmb3IgdGhlIGRvY3NjYW5uZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzY5NwoKMjAxNS0wNC0xMiAwMTo1ODozMSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoJICBDb21wbGVtZW50IGNvbW1pdCA1NDk2ZmQzZTc1ZTY1YTRlMzg3NzE1ZDBiYTA3NDA3OTBhZWZhNWY2IGJ5IHJlbW92aW5nCgkgIHRoZSBpbnZvbHZlZCB2YXJpYWJsZXMuCgoyMDE1LTA0LTE0IDIwOjMzOjI1ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggR0wgbmVnb3RpYXRpb24KCjIwMTUtMDQtMTQgMTg6MDU6MzEgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGxvZyB0aW1lc3RhbXBzCgoyMDE1LTA0LTEzIDExOjU1OjQyICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHN1YnRyYWN0IHRpbWUgc3BlbnQgaW4gQVZGIHF1ZXVlcwoJICBUaGUgdGltZSBzcGVudCBpbiBBVkYgcXVldWVzIHdhcyBiZWluZyBpbmNvcnJlY3RseSBhZGRlZCB0byBydW5uaW5nIHRpbWUKCSAgcmF0aGVyIHRoYW4gc3VidHJhY3RlZC4KCjIwMTUtMDQtMTEgMDc6Mzg6NTcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IEdMIHRleHR1cmUgbmVnb3RpYXRpb24KCSAgR1NUX1ZJREVPX0dMX1RFWFRVUkVfVVBMT0FEX01FVEFfQVBJX1RZUEUgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgoJICBJbnN0ZWFkLCBqdXN0IGdldCB0aGUgR0wgY29udGV4dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1MgoKMjAxNS0wNC0xMyAxOTo0MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IHR5cG8KCjIwMTUtMDQtMTMgMTk6NDA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzc3J0cGRlYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDQtMTMgMTk6NDA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTA0LTEwIDA5OjM0OjAxICswOTAwICBZdWppbiBMZWUgPHNhZGRvcG9wQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGVuYWJsZSBwbGF5YmFjayBvZiBjb250ZW50IHdpdGggdGV4dCBzdHJlYW1zCgkgIFRoZXJlIGlzIGEgcGxheWJhY2sgZXJyb3Igd2hlbiB0cnlpbmcgdG8gcGxheSBhIGNvbnRlbnQgdGhhdAoJICBoYXMgJ2FwcGxpY2F0aW9uJyBtaW1lVHlwZS4gVGhpcyBjb21taXQgcHJldmVudHMgYW4gZXhjZXB0aW9uIGZyb20KCSAgc2V0dXAgdGV4dCBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTI1CgoyMDE1LTA0LTEyIDEzOjAxOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IFJlc2V0IERUUyB0byBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBnZXQgYSBwcmV2aW91cyBEVFMgc2V0IGZyb20gYSByZWN5Y2xlZCBidWZmZXIgdGhhdCB3ZSBnZXQKCSAgYmFjayBmcm9tIGEgYnVmZmVyIHBvb2wsIHdoaWNoIHRoZW4gY29uZnVzZXMgc3luY2hyb25pemF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzIyCgoyMDE1LTAzLTI4IDE1OjQ0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW1jOiBVc2UgbmV3IEpOSSB1dGlscyBhbG1vc3QgZXZlcnl3aGVyZQoKMjAxNS0wMy0yOCAxNTo0ODoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEFsbG93IGNyZWF0aW5nIGdsb2JhbCBhbmQgbG9jYWwgcmVmZXJlbmNlcyBvZiBvYmplY3RzCgoyMDE1LTAzLTI4IDE1OjIxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogTWFrZSBHRXJyb3IgYXJndW1lbnQgb3JkZXIgbW9yZSBjb25zaXN0ZW50CgoyMDE1LTAzLTI4IDE1OjA4OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogQWRkIGhlbHBlciBmdW5jdGlvbiBmb3IgZ2V0dGluZyBhIGRpcmVjdCBidWZmZXIgYXJyYXkKCjIwMTUtMDMtMjggMTU6MDg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBKYXZhIGxvbmdzIGFyZSBnaW50NjRzCgoyMDE1LTAzLTI4IDE0OjMxOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogSW1wcm92ZSBKTkkgdXRpbGl0aWVzIGFuZCBhZGQgc29tZSBtaXNzaW5nIG9uZXMKCSAgV2Ugbm93IGZpbGwgR0Vycm9ycyBmb3IgZXZlcnl0aGluZyB0aGF0IGNvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiwgYW5kIG1ldGhvZAoJICBjYWxscyBub3cgYWx3YXlzIHJldHVybiBhIGdib29sZWFuIGFuZCB0aGVpciB2YWx1ZSBpbiBhbiBvdXQtcGFyYW1ldGVyIHRvCgkgIGRpc3Rpbmd1aXNoIGZhaWx1cmVzIGZyb20gb3RoZXIgdmFsdWVzLgoKMjAxNS0wNC0xMSAxOTozNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGxhc3QgY29tbWl0CgoyMDE1LTA0LTExIDE5OjE3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogUmVtb3ZlIGlPUy9FQUdMIHdvcmthcm91bmQgZm9yIFIvUkcgdGV4dHVyZXMKCSAgVGhpcyBzaG91bGQgYmUgdW5uZWVkZWQgbm93IGFmdGVyIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MDcKCjIwMTUtMDQtMTEgMTk6MTQ6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEFkZCBjb3JyZWN0IGNoZWNrIGZvciBSRy9SIHRleHR1cmVzIGluIGdsY29sb3Jjb252ZXJ0IHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTA3CgoyMDE1LTA0LTExIDEyOjEyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZGVidWcgbWVzc2FnZSBwYXJhbWV0ZXIgZm9ybWF0CgkgIFRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBHVUlEIHN0cnVjdHVyZSBpcyBhIERXT1JECgkgIHdoaWNoIGlzIGRlZmluZWQgYXMgYW4gdW5zaWduZWQgbG9uZywgc28gd2UgbmVlZAoJICB0byBlaXRoZXIgY2FzdCBvciB1c2UgJTA4bHguCgoyMDE1LTA0LTEwIDIwOjI1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBUYWtlIGJ1ZmZlciBkaXJlY3RseSBmcm9tIHRoZSBhZGFwdGVyCgkgIE5vIG5lZWQgdG8gbWFrZSBhIGNvcHkgaW50byBhIG5ldyBidWZmZXIsIGp1c3QgdGFrZSB0aGUgZGF0YQoJICBmcm9tIHRoZSBhZGFwdGVyLgoKMjAxNS0wNC0xMCAyMDoxNTo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUHJvZHVjZSBHc3RCdWZmZXJMaXN0CgoyMDE1LTA0LTEwIDE2OjIzOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZlIHVudXNlZCBhdHRyaWJ1dGUgYW5kIHJlbGF0ZWQgcGFkIHByb2JlCgkgIFRoZSB2YXJpYWJsZSB3YXMgbmV2ZXIgc2V0IHRvIHRydWUgYW5kIGNhbiBiZSByZW1vdmVkIGFsb25nCgkgIHdpdGggdGhlIHByb2JlIGluIHdoaWNoIGl0IHVzZWQgdG8gYWN0CgoyMDE1LTAzLTMxIDE3OjEwOjQ1ICswMTAwICBBbnRvbiBPYnpoaXJvdiA8b2J6aGlyb3ZAeWFob28uY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogYXZvaWQgc2VnZmF1bHQgd2hlbiBnbCBwbGF0Zm9ybSBpcyBub3QgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjQKCjIwMTUtMDQtMDkgMTY6MjA6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogZml4IHR5cGUgbWlzbWF0Y2ggaW4gdmFyYXJncyBwYXNzaW5nCgkgIEEgYml0bWFzayBpcyA2NCBiaXRzLCBidXQgaW50ZWdlciBpbW1lZGlhdGVzIGFyZSBwYXNzZWQgYXMgaW50CgkgIGluIHZhcmFyZ3MsIHdoaWNoIGhhcHBlbiB0byBiZSAzMiBiaXQgd2l0aCBoaWdoIHByb2JhYmlsaXR5LgoJICBUaGlzIHRyaWdnZXJlZCBhIHZhbGdyaW5kIGp1bXAtcmVsaWVzLW9uLXVuaW5pdGFsaXplZC12YWx1ZQoJICByZXBvcnQgd2VsbCBhd2F5IGZyb20gdGhlIHNpdGUsIHNpbmNlIGl0IGRvZXNuJ3QgdHJpZ2dlciBvbgoJICBzdGFjayBhY2Nlc3NlcywgYW5kIHRoZXJlIG11c3QgaGF2ZSBiZWVuIGVub3VnaCB6ZXJvZXMgdG8gc3RvcAoJICBnX29iamVjdF9zZXQgYXQgdGhlIHJpZ2h0IHBsYWNlLgoKMjAxNC0wOC0yMCAxMzo0NjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBoYW5kbGUgc2Vla3Mgd2l0aCBubyB0YXJnZXQgKGllLCBrZWVwIGN1cnJlbnQgcG9zaXRpb24pCgkgIFN1Y2ggc2Vla3MgYXJlIHVzZWQgdG8gY2hhbmdlIHBsYXliYWNrIHJhdGUgYW5kIHdlIGRvIG5vdCB3YW50CgkgIHRvIGFsdGVyIHRoZSBwb3NpdGlvbiBpbiB0aGF0IGNhc2UsIHNvIHdlIGJ5cGFzcyB0aGUgZmx1c2gvc2VlawoJICBsb2dpYywgYW5kIHNldCB0aGluZ3MgdXAgc28gYSBuZXcgc2VnbWVudCBpcyBzY2hlZHVsZWQgdG8gYmUKCSAgcmVnZW5lcmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMDAKCjIwMTUtMDMtMjYgMTM6NDY6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBmaXggdGltZXN0YW1wcyBub3QgdXBkYXRpbmcgYWZ0ZXIgYSBQTVQgY2hhbmdlCgkgIFRoZSBQQ1JzIHN0YXkgbG9ja2VkIG9udG8gdGhlIHNhbWUgUElEIGFzIGJlZm9yZSB0aGUgY2hhbmdlLAoJICBidXQgdGhlIHJlbGV2YW50IFBJRCBoYXMgbm8gcmVhc29uIHRvIGJlIHRoZSBzYW1lIGFmdGVyIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTAzLTI0IDEyOjU2OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNlbmQgbmV3IHNlZ21lbnQgd2hlbiBhIHN0cmVhbSBpcyBhZGRlZAoJICBUaGlzIHdpbGwgaGFwcGVuIHdoZW4gdGhlIFBNVCBjaGFuZ2VzLCByZXBsYWNpbmcgc3RyZWFtcyB3aXRoCgkgIG5ldyBvbmVzLiBJbiB0aGF0IGNhc2UsIHdlIG5lZWQgdG8gYWNjdW11bGF0ZSB0aGUgcnVubmluZyB0aW1lCgkgIGZyb20gdGhlIHByZXZpb3VzIGNoYWluIGluIHRoZSBzZWdtZW50IGJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDMtMDkgMDk6NTY6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDoga2VlcCB0cmFjayBvZiBjdXJyZW50IHBvc2l0aW9uCgkgIFRoaXMgYWxsb3dzIHNlZWtpbmcgdG8gY29ycmVjdGx5IHNldCB0aGUgYmFzZSBvbiB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wNC0wOSAxNTo0MTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRG9uJ3QgcnVuIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdCBvbiB0aGUgZHRscyBlbGVtZW50cwoJICBUaGVyZSBpc24ndCByZWFsbHkgYW55IHdheSB0byB0ZXN0IHRoZSBlbGVtZW50cyBzdGFuZGFsb25lLgoKMjAxNS0wNC0wOCAxOToyOTo0MCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1vdmUgYnJva2VuIHRpbWVzdGFtcHMtZ29pbmctYmFja3dhcmRzIGNoZWNrCgkgIFRoaXMgd291bGQndmUgYWxzbyB0cmlnZ2VyZWQgaWYgZm9yIHNvbWUgcmVhc29uIHRoZSBzZWdtZW50IHdhcyB1cGRhdGVkCgkgIGluIHN1Y2ggYSB3YXkgdGhhdCBQVFMgd2VudCBiYWNrd2FyZHMsIGJ1dCB0aGUgcnVubmluZyB0aW1lIGluY3JlYXNlZC4gTGlrZQoJICB3aGF0IGhhcHBlbnMgd2hlbiBub24tZmx1c2hpbmcgc2Vla3MgYXJlIGRvbmUuCgkgIFdlJ3JlIGRvaW5nIGEgcHJvcGVyIGJ1ZmZlci1mcm9tLXRoZS1wYXN0IGNoZWNrIGEgZmV3IGxpbmVzIGJlbG93IGJhc2VkIG9uIHRoZQoJICBydW5uaW5nIHRpbWUsIHdoaWNoIGlzIHRoZSBvbmx5IHRpbWUgd2Ugc2hvdWxkIGNhcmUgYWJvdXQgaGVyZS4KCjIwMTUtMDQtMDggMTg6NTE6NTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIGtzdmlkZW9zcmM6IGZpeCBzdXBwb3J0IGZvciBEViBkZXZpY2VzCgoyMDE1LTAyLTEwIDEzOjMyOjAwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICBrc3ZpZGVvc3JjOiBvbmx5IGxpc3QgY2FwdHVyZSBkZXZpY2VzCgoyMDE1LTA0LTA4IDE2OjQ2OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBBTV9URVNUU19FTlZJUk9OTUVOVAoJICBOZWVkZWQgYnkgdGhlIG5ldyBhdXRvbWFrZSB0ZXN0IHJ1bm5lcgoKMjAxNS0wNC0wOCAxMDo1MjoxNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogRXhwbGljaXRseSBzcGVjaWZ5IGxheW91dD1pbnRlcmxlYXZlZCBpbiBjYXBzCgkgIFRoaXMgaXMgZmluZSB0byBoYXJkLWNvZGUuIFNlY3Rpb24gOS4xLjggb2YgdGhlIE9wZW5TTCBFUyAxLjEKCSAgc3BlY2lmaWNhdGlvbiwgaXQgaXMgZXhwZWN0ZWQgdGhhdCBtdWx0aS1jaGFubmVsIGF1ZGlvIGlzIGFsd2F5cwoJICBpbnRlcmxlYXZlZC4KCjIwMTUtMDQtMDcgMTU6NTc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGVwZW5kIG9uIG9wZW5oMjY0ID49IDEuMy4wCgkgIFJlcXVpcmVkIGZvciB0aGUgdmVyc2lvbiBjaGVjayBoZWFkZXIsIGFzIGFncmVlZCB1cG9uIG9uIElSQwoKMjAxNS0wNC0wNSAwNTozNzowOSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggc2V0dGluZyBvZiBidWZmZXIgb2Zmc2V0IGVuZAoJICBEb24ndCBzZXQgb2Zmc2V0IGVuZCB0byByYW5kb20gdmFsdWVzIG9mZiB0aGUgc3RhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTIKCjIwMTUtMDQtMDcgMTE6MDk6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuMjY0OiBGaXggR1R5cGUvZ3NpemUgdXNhZ2UKCSAgZ3N0b3BlbmgyNjRlbmMuY3BwOjEwODo3OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMgWy1Xc3RyaWN0LWFsaWFzaW5nXQoKMjAxNS0wNC0wNyAxMToyMTo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBEZXRlY3QgMS40IEFQSSBjaGFuZ2UKCSAgQXMgbWVudGlvbm5lZCBpbiByZWxlYXNlIG5vdGVzIDogQWRkZWQgbmV3IFNwcy9QcHMgc3RyYXRlZ2llcyBmb3IgcmVhbC10aW1lCgkgIHZpZGVvIChyZXBsYWNlIHRoZSBvbGQgc2V0dGluZyB2YXJpYWJsZSAnYkVuYWJsZVNwc1Bwc0lkQWRkaXRpb24nIHdpdGgKCSAgJ2VTcHNQcHNJZFN0cmF0ZWd5JykKCjIwMTUtMDQtMDYgMjA6Mjg6MjIgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IERpc2Nvbm5lY3QgbW91c2Uva2V5IGV2ZW50IHNpZ25hbCBoYW5kbGVycyBmcm9tIHdpbmRvdyB3aGVuIHNodXR0aW5nIGRvd24gY29udGV4dAoKMjAxNS0wNC0wNiAyMDoyNDowNiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogR3VhcmQgYWdhaW5zdCBkaXNjb25uZWN0aW5nIGludmFsaWQgc2lnbmFsIGlkcwoKMjAxNS0wMy0yNiAxMTo1MjozMyArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggbWVtb3J5IGxlYWsKCSAgUmVzZXQgdGhlIGludGVybmFsIHNlZ21lbnQgYmVmb3JlIGZyZWVpbmcgaXQuCgkgIG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKCkgYWxsb2NhdGVzIGRhdGEgaW5zaWRlIHRoZSBzZWdtZW50CgkgIChsaWtlIHNlZ21lbnQtPmRlbHRhX2VudHJpZXMpIHdoaWNoIGhhdmUgdG8gYmUgZnJlZWQgdXNpbmcKCSAgbXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcmVzZXQoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgwMwoKMjAxNS0wNC0wNCAxMDo1Njo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHdyaXRlIHRoZSBwbGF5bGlzdCBlbmQgbWFya2VyIG9uIEVPUwoJICBDYXRjaCBFT1MgZnJvbSB0aGUgbXVsdGlmaWxlc2luayBhbmQgYWRkIHRoZSBlbmRsaXN0IG1hcmtlciB0bwoJICB0aGUgcGxheWxpc3Qgd2hlbiBpdCBoYXBwZW5zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczMTkKCjIwMTUtMDMtMjkgMTc6NTM6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZG9jdW1lbnQgZ2FwIGhhbmRsaW5nIGJlaGF2aW9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDkKCjIwMTUtMDMtMjcgMTk6MzY6NDIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZHJvcCBzdGFsZSB3aGl0ZSBzcGFjZSBhdCB3YXJuaW5nCgoyMDE1LTAzLTI3IDE5OjI4OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4IHR5cG8gaW4gdGVzdCBzdWl0ZQoKMjAxNS0wMy0yNyAxODozMjoyNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBnYXAgZXZlbnQgaGFuZGxpbmcgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDkKCjIwMTUtMDMtMTcgMjI6MTM6MDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogaW1wbGVtZW50IGdhcCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQ5CgoyMDE1LTA0LTAzIDE4OjU3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiYzc2YThiIHRvIGM4ZmIzNzIKCjIwMTUtMDQtMDMgMTE6NDY6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBGaXggaW5jb3JyZWN0IGZhbGwtdGhyb3VnaCBjb25kaXRpb24gaW4gcHJvcGVydHkgZ2V0dGVyCgoyMDEyLTA0LTI3IDE4OjI5OjE0ICswMjAwICBHdWlsbGF1bWUgRW1vbnQgPGd1aWplbW9udEBpZ2FsaWEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBhZGQgYW4gc2htLWFyZWEtbmFtZSBwcm9wZXJ0eQoJICBUaGUgc2htLWFyZWEtcHJvcGVydHkgdGVsbHMgdGhlIG5hbWUgb2YgdGhlIHNobSBhcmVhIHVzZWQgYnkgdGhlIGVsZW1lbnQuIFRoaXMKCSAgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSBzaG1zaW5rIGlzIG5vdCBhYmxlIHRvIGNsZWFuIHVwIChjYWxsaW5nCgkgIHNobV91bmxpbmsoKSksIGUuZy4gaWYgaXQgaXMgaW4gYSBzYW5kYm94LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTM0CgoyMDE1LTA0LTAxIDIyOjEwOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbmlmeSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIGFuZCBmbHVzaGluZwoJICBBbHNvIG1lYW5zIHRoYXQgaGF2aW5nIGEgbm9uLU9LIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCSAgd2FrZXMgdXAgdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMSAyMTo0NTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRmx1c2hpbmcgaXMgYWx3YXlzIGluIHBhZCBsb2NrLCBubyBuZWVkIHRvIGF0b21pY3MKCSAgVGhlIHVzYWdlIG9mIGF0b21pY3Mgd2FzIGFsd2F5cyBkb3VidGZ1bCBhcyBpdCB3YXMgdXNlZCB0byByZWxlYXNlIGEKCSAgR0NvbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMSAyMTozODoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVzZXQgcGVuZGluZ19lb3Mgb24gcGFkIGZsdXNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDEgMjE6Mzc6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVuaWZ5IGNvZGUgdG8gc2V0IGEgcGFkIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDIgMTg6MDU6NTUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBsaWJnc3RnbDogZml4IHJlbmRlcmluZyBvbiBpT1MKCSAgU3RvcCBhc3N1bWluZyB0aGF0IHRoZSBoYW5kbGUgaGFzIGJlZW4gc2V0IGJ5IHRoZSB0aW1lIC0+Y3JlYXRlX2NvbnRleHQgaXMKCSAgY2FsbGVkLiBBZnRlciBiYzdhNzI1OWYzNTdiMDA2NWRkOTRlMDY2OGI1YTg5NWQ4M2ZhNTNhIHNldF93aW5kb3dfaGFuZGxlIGFsd2F5cwoJICBoYXBwZW5zIGFmdGVyIC0+Y3JlYXRlX2NvbnRleHQgaW4gZmFjdC4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA5MAoKMjAxNS0wMy0wNiAyMToxMjo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFF1ZXJ5IGxhdGVuY3kgb24gZmlyc3QgaW5jb21pbmcgYnVmZmVyLgoJICBBbmQga2VlcCBvbiBxdWVyeWluZyB1cHN0cmVhbSB1bnRpbCB3ZSBnZXQgYSByZXBseS4KCSAgQWxzbywgdGhlIF9nZXRfbGF0ZW5jeV91bmxvY2tlZCgpIG1ldGhvZCByZXF1aXJlZCBiZWluZyBjYWxsZAoJICB3aXRoIGEgcHJpdmF0ZSBsb2NrLCBzbyByZW1vdmVkIHRoZSBfdW5sb2NrZWQoKSB2YXJpYW50IGZyb20gdGhlIEFQSS4KCSAgQW5kIGl0IG5vdyByZXR1cm5zIEdTVF9DTE9DS19USU1FX05PTkUgd2hlbiB0aGUgZWxlbWVudCBpcyBub3QgbGl2ZSBhcwoJICB3ZSB0aGluayB0aGF0IDAgdXBzdHJlYW0gbGF0ZW5jeSBpcyBwb3NzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNC0wMSAyMDozMjo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBbGxvdyBkb3duc3RyZWFtIGNhcHMgd2l0aCBhIG5vbi1kZWZhdWx0IGNoYW5uZWwtbWFzawoJICBJbnN0ZWFkIG9mIGZhaWxpbmcsIHRha2UgdGhlIGRvd25zdHJlYW0gY2hhbm5lbCBtYXNrIGlmIHRoZSBjaGFubmVsCgkgIGNvdW50IGlzIDEuCgoyMDE1LTAzLTMxIDE2OjI3OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IERvbid0IHVzZSBjb250ZXh0IGlmIG5vdCBwcmVzZW50CgkgIEF2b2lkcyBhc3NlcnRpb25zIGF0IHJ1bnRpbWUKCjIwMTUtMDMtMzEgMTE6MjQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkgIGludHJvc3BlY3Rpb246IERvbid0IHVzZSBnLWlyLXNjYW5uZXIgY2FjaGUgYXQgY29tcGlsZSB0aW1lCgkgIEl0IHBvbGx1dGVzIHVzZXIgZGlyZWN0b3JpZXMgYW5kIHdlIGRvbid0IG5lZWQgdG8gY2FjaGUgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzA5NQoKMjAxNS0wMy0zMSAxMDo1Mzo1NSArMDEwMCAgVmljdG9yIFRvc28gPHZpY3RvcnRvc29AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBJbXBsZW1lbnQgdm9sdW1lIGFuZCBtdXRlCgkgIFVzaW5nIHRoZSBNaXhlckFQSSBhcyBJRGlyZWN0U291bmRDYXB0dXJlQnVmZmVyIGRvZXNuJ3QgaW1wbGVtZW50IHZvbHVtZQoJICBjb250cm9sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzgzCgoyMDE1LTAzLTMwIDEzOjQ5OjAxICswMTAwICBBbnRvbiBPYnpoaXJvdiA8b2J6aGlyb3ZAeWFob28uY28udWs+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBnbGVmZmVjdHM6IHBvcnQgYWxsIGVmZmVjdHMgdG8gR0xFUzIuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTU1CgoyMDE1LTAzLTI4IDExOjQwOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogaW1wbGVtZW50IGEgY2hhaW5fbGlzdCB0byByZXF1ZXN0IGtleSB1bml0IGZvciBzZWdtZW50cwoJICB1cHN0cmVhbSBtaWdodCBzZW5kIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mIGJ1ZmZlcnMgYW5kIGhsc3NpbmsncwoJICBwcm9iZSB3b24ndCBnZXQgY2FsbGVkIGFuZCBhIG5ldyBzZWdtZW50IHdvbid0IGJlIGNyZWF0ZWQgd2hlbiBuZWVkZWQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgYWRkaW5nIGEgY2hhaW5fbGlzdCBmdW5jdGlvbiB0byB0aGUgc2luayBwYWQKCSAgdGhhdCB3aWxsIGp1c3QgcGFzcyB0aHJvdWdoIHRoZSB3aG9sZSBidWZmZXJsaXN0IGlmIG5vIHNlZ21lbnQgbmVlZHMKCSAgdG8gYmUgcmVxdWVzdGVkIGF0IHRoZSBtb21lbnQgb3IgY29udmVydCB0aGUgbGlzdCBpbnRvIGJ1ZmZlcnMgdG8KCSAgY2hlY2sgdGhlIHByb3BlciB0aW1lc3RhbXAgdG8gcmVxdWVzdCB0aGUgbmV4dCBrZXktdW5pdCB0aGF0IHdpbGwKCSAgc3RhcnQgdGhlIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY5MDYKCjIwMTUtMDMtMjggMTc6Mjg6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjggMTc6Mjg6MjYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yNyAwMDoyNzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3QgdHJ5IHRvIGFkdmFuY2UgZnJhZ21lbnQgaWYgdGhlcmUgaXMgbm9uZQoJICBJdCBtaWdodCByZXR1cm4gT0sgZnJvbSBzdWJjbGFzc2VzIGFuZCBpdCBjb3VsZCBjYXVzZSBhIGJpdHJhdGUKCSAgcmVuZWdvdGlhdGlvbi4gRm9yIERBU0ggYW5kIE1TUyB0aGF0IGlzIG9rIGFzIHRoZXkgd29uJ3QgZXhwb3NlCgkgIG5ldyBwYWRzIGFzIHBhcnQgb2YgdGhpcyBidXQgaXQgY2FuIGNhdXNlIGlzc3VlcyBmb3IgSExTIGFzCgkgIGl0IHdpbGwgZXhwb3NlIG5ldyBwYWRzLCBsZWFkaW5nIHRvIHBhZHMgdGhhdCB3aWxsIG9ubHkgaGF2ZSBFT1MKCSAgdGhhdCBjYXVzZSBkZWNvZGViaW4gdG8gZmFpbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTA1CgoyMDE1LTAzLTI0IDEzOjU3OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBGb3J3YXJkIHN0ZXJlbyBwcmVmZXJlbmNlcyBmcm9tIGNhcHMgdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yNCAxMzo1NjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogU2V0IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgdG8gMiBhcyBwZXIgUkZDIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMTcgMjE6NDk6NDAgKzA4MDAgIEp1biBYaWUgPHhpeGkxMDExMTAxMUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBzZXQgZGVmYXVsdCBAc3RhcnROdW1iZXIgYW5kIGFsc28gYXZvaWQgd3Jvbmcgb3ZlcndyaXRlCgkgIFNldCBkZWZhdWx0IEBzdGFydE51bWJlciB0byAxLCBpZiBAc3RhcnROdW1iZXIgaXMgbWlzc2luZyBhdCBhbGwgbGV2ZWwuCgkgIEFsc28gYXZvaWQgaW5jb3JyZWN0IG92ZXJ3cml0aW5nIGluaGVyaXRlZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM0NwoKMjAxNS0wMy0yNCAxNjoxODoyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IGNoZWNrIHNpbmsgY2FwcyBhcmUgdmFsaWQKCjIwMTUtMDMtMjQgMTY6MTc6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgUmV2ZXJ0ICJhdWRpb2FnZ3JlZ2F0b3I6IGNoZWNrIHNpbmsgY2FwcyBhcmUgdmFsaWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ0ZDBkMWNkZjdjNzUzMWZiZjcyY2UzOWUxZWFiMTI2MGQyMDU1MC4KCSAgTmV2ZXIgcHV0IGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgaW50byBhbiBhc3NlcnRpb24sIGl0IGNhbiBiZSBjb21waWxlZCBvdXQKCjIwMTUtMDMtMjQgMTU6NDU6MjUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBjaGVjayBzaW5rIGNhcHMgYXJlIHZhbGlkCgkgIENJRCAjMTI5MTYyMgoKMjAxNS0wMy0yNCAxNToxMzo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZmFsbCB0aHJvdWdoIHN3aXRjaCBzdGF0ZW1lbnQKCSAgQWRkaW5nIGEgY29tbWVudCBtYWtlcyBjb3Zlcml0eSBoYXBweSBhbmQgcXVlbGxzIHRoZSBpc3N1ZS4KCSAgQ0lEIDEyOTE2MjkKCjIwMTUtMDMtMjQgMTk6MDU6MDAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb2N1bWVudCB3aHkgYnVmZmVyX3ZpbmZvIGlzIG5lZWRlZAoKMjAxNS0wMy0yNCAxOTowNDoyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENoZWNrIGlmIHRoZXJlJ3MgYSBwcmV2aW91cyBidWZmZXIgdG8gJ2tlZXAnCgkgIElmIHdlIHdhbnQgdG8ga2VlcCBhIHByZXZpb3VzIGJ1ZmZlciBidXQgdGhlcmUncyBubyBwcmV2aW91cyBidWZmZXIsIHdlIGFjdHVhbGx5CgkgIG5lZWQgbW9yZSBkYXRhIGluc3RlYWQuCgoyMDE1LTAzLTIzIDE2OjQzOjAxICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbC9kaXNwbWFueDogc3VyZmFjZWxlc3MgRUdMIGNvbnRleHQgc3VwcG9ydAoJICBTaG93IHRoZSBEaXNwbWFuWCB3aW5kb3cgb25seSBpZiB0aGVyZSdzIG5vIHNoYXJlZCBleHRlcm5hbCBHTCBjb250ZXh0CgkgIHNldCB1cC4gV2hlbiBhIHdpbmRvdyBpcyByZXF1aXJlZCBieSB0aGUgY29udGV4dCBhIHRyYW5zcGFyZW50CgkgIERpc3BtYW5YIGVsZW1lbnQgaXMgY3JlYXRlZCBhbmQgbGF0ZXIgb24gbWFkZSB2aXNpYmxlIGJ5IHRoZSA6OnNob3cKCSAgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjMyCgoyMDE1LTAzLTIzIDE1OjA5OjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGNsZWFuIHNvbGFyaXplIGNvZGUKCjIwMTUtMDMtMjMgMTQ6Mzk6NTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiByZW1vdmluZyB2YWx1ZXMgb25seSB1c2VkIG9uY2UKCjIwMTUtMDMtMjMgMTE6MTM6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogc21hbGwgY2xlYW51cCBpbiBoZWFkZXJzCgoyMDE1LTAzLTIzIDEzOjE1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBTZXQgb3V0cHV0IGZvcm1hdCBpbW1lZGlhdGVseSBhZnRlciBjcmVhdGluZyB0aGUgZW5jb2RlciBpbnN0YW5jZQoJICBXZSBrbm93IHRoZSBjYXBzIGJ5IHRoZW4sIHRoZXJlJ3Mgbm8gbmVlZCB0byB3YWl0IHVudGlsIHdlIGFjdHVhbGx5IHJlY2VpdmUKCSAgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMTUtMDMtMjMgMTM6MTM6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogUmVtb3ZlIGFub3RoZXIgdW51c2VkIHZhcmlhYmxlCgoyMDE1LTAzLTIzIDEzOjExOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2VuYzogUmVtb3ZlIHVzZWxlc3MgaGVhZGVycyBhbmQgaGVhZGVyX3NlbnQgdmFyaWFibGVzIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBUaGV5IGFyZSBvbmx5IHVzZWQgaW5zaWRlIGEgc2luZ2xlIGZ1bmN0aW9uLgoKMjAxNS0wMy0yMyAxMjoyNDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEhhbmRsZSBzcHJvcC1zdGVyZW8gYW5kIHNwcm9wLW1heGNhcHR1cmVyYXRlIFJUUCBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTIzIDEyOjA5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUYWtlIGNoYW5uZWxzIGFuZCBzYW1wbGUgcmF0ZSBmcm9tIHRoZSBjYXBzIGlmIHdlIGhhdmUgbm8gc3RyZWFtIGhlYWRlcgoKMjAxNS0wMy0yMyAxMjowNzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogUmVzZXQgdGhlIGRlY29kZXIgaWYgdGhlIGNhcHMgY2hhbmdlCgoyMDE1LTAzLTIzIDExOjU3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUYWtlIG91dHB1dCBzYW1wbGUgcmF0ZSBmcm9tIHRoZSBzdHJlYW0gaGVhZGVycyB0b28KCSAgVGhpcyB3YXkgd2UgbGV0IG9wdXNkZWMgZG8gdGhlIHJlc2FtcGxpbmcgaWYgbmVlZGVkIGFuZCBkb24ndCBjYXJyeQoJICBhcm91bmQgYnVmZmVycyB3aXRoIGEgdG9vIGhpZ2ggc2FtcGxlIHJhdGUgaWYgbm90IHJlcXVpcmVkLgoJICBXaGlsZSBPcHVzIGFsd2F5cyB1c2VzIDQ4a0h6IGludGVybmFsbHksIHRoaXMgaW5mb3JtYXRpb24gZnJvbSB0aGUKCSAgaGVhZGVyIHNwZWNpZmllcyB3aGljaCBmcmVxdWVuY2llcyBhcmUgc2FmZSB0byBkcm9wLgoKMjAxNS0wMy0yMyAxMTo1NjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2hlYWRlcjogUHV0IG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlIHJhdGUgaW50byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTIyIDE5OjEyOjE1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogcmVtb3ZlIHVudXNlZCBnbF90aHJlYWQgZmllbGQKCjIwMTUtMDMtMjIgMTk6MDM6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGZpeCBHVGhyZWFkIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MQoKMjAxNS0wMy0yMCAxODozMzo0NSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MQoKMjAxNS0wMy0xOCAxMToyNTo0MiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTkgMTY6MTc6NTggKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IERvIG5vdCBkcm9wIGFsbCBidWZmZXJzIGluIGJ1ZmZlciBsaXN0IGlmIG9uZSBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE5IDEzOjU5OjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1cGRhdGUgY29weXJpZ2h0IGRhdGVzIG9mIGRpbGF0ZQoKMjAxNS0wMy0xOSAxMzo1ODoyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogZmFjdG9yaXplIHRyYW5zZm9ybSBjb2RlIG9mIGRpbGF0ZQoKMjAxNS0wMy0xOSAxNDowNDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IFBhc3MgdGhlIGNvbm5lY3Rpb24gaW5zdGFuY2UgYXMgZGF0YSB0byB0aGUgdGhyZWFkIHBvb2wKCSAgTm8gbmVlZCB0byByZWYvdW5yZWYgdGhlIGNvbm5lY3Rpb24gZXZlcnkgdGltZSB3ZSBwdXNoIHNvbWV0aGluZyBvbiB0aGUgcG9vbC4KCSAgSG93ZXZlciB3ZSBoYXZlIHRvIHByb3ZpZGUgbm9uLU5VTEwgZGF0YSB0byB0aGUgcG9vbCwgc28gbGV0J3MganVzdCBnaXZlIGl0CgkgIHNvbWUgY29mZmVlLgoKMjAxNS0wMy0xOSAxMzo1NTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IFJlbW92ZSB1bnVzZWQgdGhyZWFkIHN0cnVjdCBmaWVsZAoKMjAxNS0wMy0xOSAxMzozMDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsczogVXNlIGEgc2hhcmVkIHRocmVhZCBwb29sIGZvciB0aGUgdGltZW91dHMKCSAgVGhpcyB3YXkgd2Ugd2lsbCBzaGFyZSB0aHJlYWRzIHdpdGggb3RoZXIgRFRMUyBjb25uZWN0aW9ucyBpZiBwb3NzaWJsZSwgYW5kCgkgIGRvbid0IGhhdmUgdG8gc3RhcnQvc3RvcCB0aHJlYWRzIGZvciB0aW1lb3V0cyBpZiB0aGVyZSBhcmUgbWFueSB0byBiZSBoYW5kbGVkCgkgIGluIGEgc2hvcnQgcGVyaW9kIG9mIHRpbWUuCgkgIEFsc28gdXNlIHRoZSBzeXN0ZW0gY2xvY2sgYW5kIGFzeW5jIHdhaXRpbmcgb24gaXQgZm9yIHNjaGVkdWxpbmcgdGhlIHRpbWVvdXRzLgoKMjAxNS0wMy0xOCAxODoxNzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IFNodXRkb3duIHRpbWVvdXQgdGhyZWFkIHdoZW4gaXQncyBub3QgbmVlZGVkCgkgIEl0IGlzIG5vdCBuZWVkZWQgbW9zdCBvZiB0aGUgdGltZSBhbmQgdXN1YWxseSB3ZSBoYXZlIGEgdGhyZWFkCgkgIGlkbGluZyBhcm91bmQgZG9pbmcgbm90aGluZyBhbGwgdGhlIHRpbWUgYWZ0ZXIgdGhlIGZpcnN0IGZldyBzZWNvbmRzLgoKMjAxNS0wMy0xOCAxMDoxMjo0OSAtMDcwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvZG9jczogdXBkYXRlIHNvbWUgZG9jIGNvbW1lbnRzCgoyMDE1LTAzLTE4IDE3OjQwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBDbGVhciB0aGUgcXVldWUgd2hlbiBkZWFjdGl2YXRpbmcgdGhlIHBhZAoKMjAxNS0wMy0xOCAxNzozODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJICBkdGxzZW5jOiBIYW5kbGUgcGFkIGFjdGl2aXR5IHN0YXRlcyBwcm9wZXJseQoKMjAxNS0wMy0xOCAxNzozNToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogRG9uJ3QgbWFudWFsbHkgYWN0aXZhdGUvZGVhY3RpdmF0ZSBzcmNwYWQKCjIwMTUtMDMtMTggMTA6NDc6MTUgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFNlcGFyYXRlIGJ1ZmZlciBlbmNvZGluZyBmdW5jdGlvbmFsaXR5IGludG8gYSBkaWZmZXJlbnQgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAxMDoxNjo0MSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMDk6Mzk6NDkgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEFkZCBtaXNzaW5nIGxvY2tzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMDk6MTc6MzEgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFNwbGl0IGNoYWluIGZ1bmN0aW9uYWxpdHkgc28gaXQgY2FuIGJlIHJldXNlZCBmb3IgYnVmZmVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAxMzo1MjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJICBkdGxzZW5jOiBVc2UgYSBHUXVldWUgaW5zdGVhZCBvZiBhIEdQdHJBcnJheQoJICBVc2luZyBhIEdQdHJBcnJheSBhcyBhIHF1ZXVlIGlzIG5vdCB2ZXJ5IGVmZmljaWVudCBhcyB0aGUgd2hvbGUKCSAgYXJyYXkgaGFzIHRvIGJlIGNvcGllZCB3aGVuZXZlciBhbiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUKCSAgYmVnaW5uaW5nLgoKMjAxNS0wMy0xOCAxMDowNjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IGxvY2tpbmcKCSAgRXNwZWNpYWxseSBkb24ndCBob2xkIGFueSBtdXRleCB3aGlsZSBhZGRpbmcvcmVtb3ZpbmcgcGFkcyBvciBwdXNoaW5nIGRhdGEuCgoyMDE1LTAzLTE4IDA5OjU3OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE4IDA5OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5oOgoJICBkdGxzOiBGaXggc29tZSBzZWFyY2ggJiByZXBsYWNlIG1pc3Rha2VzIGZyb20gcmVuYW1pbmcgdGhlIGVsZW1lbnRzCgoyMDE1LTAzLTE3IDE2OjQ5OjU0ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBJbXByb3ZlIG1lbW9yeSBtYW5hZ2VtZW50IG9uIGNoYWluIGZ1bmN0aW9uCgkgIEF2b2lkaW5nIGNvcHkgdGhlIGJ1ZmZlciB0d2ljZSwgb25lIHdoaWxlIG1hcHBpbmcgYW5kIG90aGVyIHdpdGggbWVuY3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzNTYKCjIwMTUtMDMtMTcgMTY6NTA6NDEgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEZpeCB0eXBvIGluIGxvZwoKMjAxNS0wMy0xNyAxMTo0MzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJICBkdGxzOiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGVhcmxpZXIKCSAgT3RoZXJ3aXNlIHRoZSBvcGVuc3NsIGluaXRpYWxpemF0aW9uIHdpbGwgdXNlIGl0IGJlZm9yZSBpbml0aWFsaXphdGlvbgoKMjAxNC0xMS0xMyAyMDozOToxMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBZGQgdW5pdCB0ZXN0cwoJICBBbG1vc3QgYSBjb3B5IG9mIHRoZSAiaW50ZXJsZWF2ZSIgdW5pdCB0ZXN0cywgaW1wcm92ZWQgdG8gc3VwcG9ydAoJICB0aGUgdGhyZWFkIG9uIHRoZSBzcmMgcGFkIG9uIEdzdEFnZ3JlZ2F0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTUtMDMtMDYgMTM6NDk6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmg6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogU2V0IHNyYyBjYXBzIGluIGFnZ3JlZ2F0ZQoJICBUaGlzIHByZXZlbnRzIHJhY2VzIGJldHdlZW4gdGhlIHNldGNhcHMgb2YgdGhlIHNpbmsgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE0LTExLTEzIDE1OjQwOjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb2ludGVybGVhdmU6IEFkZCBpbnRlcmxlYXZlIGVsZW1lbnQgYmFzZWQgb24gYXVkaW9hZ2dyZWdhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTUtMDMtMDYgMTY6NTE6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBQcmludCBhIG1lc3NhZ2Ugd2hlbiBhIGJ1ZmZlciBpcyBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTQtMTEtMTUgMTc6NTQ6NTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBEb24ndCByZS1zZW5kIHRoZSBjYXBzIGlmIHRoZXkgZGlkIG5vdCBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNC0xMS0wNiAxNzoxNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFNwbGl0IGJhc2UgY2xhc3MgZnJvbSBhdWRpb21peGVyCgkgIEFsc286CgkgIC0gIERvbid0IG1vZGlmeSBzaXplIG9uIGVhcmx5IGJ1ZmZlcgoJICBUaGUgc2l6ZSBpcyB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyLCBub3Qgb2YgcmVtYWluaW5nIHBhcnQuCgkgIC0gVXNlIHRoZSBpbnB1dCBjYXBzIHdoZW4gbWFuaXB1bGF0aW5nIHRoZSBpbnB1dCBidWZmZXIKCSAgQWxzbyBzdG9yZSBpbiBpbiB0aGUgc2luayBwYWQKCSAgLSBSZXBseSB0byB0aGUgcG9zaXRpb24gcXVlcnkgaW4gYnl0ZXMgdG9vCgkgIC0gUHV0IEdBUCBmbGFnIG9uIG91dHB1dCBpZiBhbGwgaW5wdXRzIGFyZSBHQVAgZGF0YQoJICAtIE9ubHkgdHJ5IHRvIGNsaXAgYnVmZmVyIGlmIHRoZSBpbmNvbWluZyBzZWdtZW50IGlzIGluIHRpbWUgb3Igc2FtcGxlcwoJICAtIFVzZSBpbmNvbWluZyBzZWdtZW50IHdpdGggaW5jb21pbmcgdGltZXN0YW1wCgkgIEhhbmRsZSBub24tdGltZSBzZWdtZW50cyBhbmQgTk9ORSB0aW1lc3RhbXBzCgkgIC0gRG9uJ3QgcmVzZXQgdGhlIHBvc2l0aW9uIHdoZW4gcHVzaGluZyBvdXQgbmV3IGNhcHMKCSAgLSBNYWtlIGEgbnVtYmVyIG9mIG1lbWJlciB2YXJpYWJsZXMgcHJpdmF0ZQoJICAtIENvcnJlY3RseSBoYW5kbGUgY2FzZSB3aGVyZSBubyBwYWQgaGFzIGEgYnVmZmVyCgkgIElmIG5vbmUgb2YgdGhlIHBhZHMgaGF2ZSBidWZmZXJzIHRoYXQgY2FuIGJlIGhhbmRsZWQsIGRvbid0IGNsYWltIHRvIGJlIEVPUy4KCSAgLSBFbnN1cmUgcHJvcGVyIGxvY2tpbmcKCSAgLSBPbmx5IHN1cHBvcnQgdGltZSBzZWdtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE1LTAzLTA3IDIyOjA4OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbGVhc2UgcGFkIG9iamVjdCBsb2NrIGJlZm9yZSBkcm9wcGluZyBidWZmZXIKCSAgT3RoZXJ3aXNlLCB0aGUgbG9ja2luZyBvcmRlciBpcyB2aW9sYXRlZCBhbmQgZGVhZGxvY2tzIGhhcHBlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMDoyMjoxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogT25seSBpZ25vcmUgcGFkcyB3aXRoIG5vIGJ1ZmZlcnMgb24gdGltZW91dAoJICBXaGVuIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQsIG9ubHkgaWdub3JlIHBhZHMgd2l0aCBubyBidWZmZXJzLCBpdGVyYXRlCgkgIG92ZXIgdGhlIG90aGVyIHBhZHMgdW50aWwgYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIHJlYWQuIFRoaXMgaXMgaW1wb3J0YW50CgkgIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgaW5wdXQgYnVmZmVycyBhcmUgc21hbGxlciB0aGFuIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIxOjEyOjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBCZSBtb3JlIGFnZ3Jlc3NpdmUgd2l0aCBpbnZhbGlkIHJlcGxpZXMgdG8gb3VyIGxhdGVuY3kgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMDoyNTowMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogT25seSBhZHZhbmNlIGJ5IHRoZSBidWZmZXIgc2l6ZSB3aGVuIGEgYnVmZmVyIGlzIGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0xNiAxNzo0OTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogbWFrZSBzdXJlIHdlIGFjdHVhbGx5IGxvZyBpbnRvIHRoZSByaWdodCBkZWJ1ZyBjYXRlZ29yeQoJICBHU1RfRFRMU19VU0VfR1NUX0xPRyBpcyBub3QgZGVmaW5lZCBhbnl3aGVyZSwgc28KCSAgd2UnZCBqdXN0IGxvZyBpbnRvIHRoZSBkZWZhdWx0IGNhdGVnb3J5IGJ5IGFjY2lkZW50LgoJICBXZSB1c2UgdGhlIGdzdCBsb2dnaW5nIHN5c3RlbSB1bmNvbmRpdGlvbmFsbHkgbm93LAoJICBzbyBtaWdodCBqdXN0IGFzIHdlbGwgcmVtb3ZlIHRoaXMgI2lmICNlbHNlLgoKMjAxNS0wMy0xNiAxNzozNjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBmaXggc29tZSBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdjYy00LjkuMjoKCSAgZ3N0ZHRsc2FnZW50LmM6MTE0OjE6IGVycm9yOiBvbGQtc3R5bGUgZnVuY3Rpb24gZGVmaW5pdGlvbgoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjI1MzozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjI5MTozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjM5MTozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjQzNDozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjc3MzoxOiBlcnJvcjogJ0JJT19zX2dzdF9kdGxzX2Nvbm5lY3Rpb24nIHdhcyB1c2VkIHdpdGggbm8gcHJvdG90eXBlIGJlZm9yZSBpdHMgZGVmaW5pdGlvbgoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjc3MzoxOiBlcnJvcjogb2xkLXN0eWxlIGZ1bmN0aW9uIGRlZmluaXRpb24KCjIwMTUtMDMtMTYgMTc6NTM6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9NYWtlZmlsZS5hbToKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29tbW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsczogVW5jb25kaXRpb25hbGx5IHVzZSBHU3RyZWFtZXIgZGVidWcgbG9nIHN5c3RlbQoKMjAxNS0wMy0xNiAxNzo0ODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29tbW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmg6CgkqIGV4dC9kdGxzL3BsdWdpbi5jOgoJICBkdGxzOiBSZS1uYW1lc3BhY2UgZnJvbSBFciB0byBHc3QKCjIwMTUtMDMtMTYgMTc6MzU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjEyODozMjogZXJyb3I6IHBhc3NpbmcgJ2NvbnN0IGNoYXIgWzMwXScgdG8gcGFyYW1ldGVyIG9mIHR5cGUgJ3ZvaWQgKicKCSAgZGlzY2FyZHMgcXVhbGlmaWVycyBbLVdlcnJvciwtV2luY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzLWRpc2NhcmRzLXF1YWxpZmllcnNdCgkgIFNTTF9nZXRfZXhfbmV3X2luZGV4ICgwLCAiZ3N0ZHRsc2FnZW50IGNvbm5lY3Rpb24gaW5kZXgiLCBOVUxMLCBOVUxMLAoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIC91c3IvaW5jbHVkZS9vcGVuc3NsL3NzbC5oOjE5ODE6NDM6IG5vdGU6IHBhc3NpbmcgYXJndW1lbnQgdG8gcGFyYW1ldGVyICdhcmdwJyBoZXJlCgkgIGludCBTU0xfZ2V0X2V4X25ld19pbmRleChsb25nIGFyZ2wsIHZvaWQgKmFyZ3AsIENSWVBUT19FWF9uZXcgKm5ld19mdW5jLAoJICBeCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6ODIyOjQwOiBlcnJvcjogYXJpdGhtZXRpYyBvbiBhIHBvaW50ZXIgdG8gdm9pZCBpcyBhIEdOVSBleHRlbnNpb24KCSAgWy1XZXJyb3IsLVdwb2ludGVyLWFyaXRoXQoJICBtZW1jcHkgKG91dF9idWZmZXIsIHByaXYtPmJpb19idWZmZXIgKyBwcml2LT5iaW9fYnVmZmVyX29mZnNldCwgY29weV9zaXplKTsKCSAgfn5+fn5+fn5+fn5+fn5+fiBeCgoyMDE1LTAzLTE2IDE3OjM0OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9wbHVnaW4uYzoKCSAgZHRsczogRml4IGluZGVudGlvbgoKMjAxNS0wMy0xNiAxNzozMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZHRscy9NYWtlZmlsZS5hbToKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5oOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb21tb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuaDoKCSogZXh0L2R0bHMvcGx1Z2luLmM6CgkgIGR0bHM6IEFkZCBuZXcgRFRMUyBwbHVnaW4KCSAgVGhpcyBpcyBhIGNvcHkgb2YgdGhlIEVyaWNzc29uIERUTFMgcGx1Z2luIGZyb20KCSAgaHR0cHM6Ly9naXRodWIuY29tL0VyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucy90cmVlL21hc3Rlci9leHQvZXJkdGxzL3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTgyCgoyMDE1LTAzLTE2IDAzOjUzOjMzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJICBjb21wb3NpdG9yOiBSZXZlcnQgbW9zdCBvZiBwcmV2aW91cyBwYXRjaC4KCSAgVGhlIGNhbGN1bGF0aW9uIGRvZXNuJ3QgcHJvZHVjZSB0aGUgc2FtZSByZXN1bHRzLgoJICBLZWVwIGp1c3QgdGhlIGNoYW5nZSB0byBkaXZpZGUgYWxwaGEgYnkgMjU1IGluc3RlYWQgb2YgMjU2LAoJICBmb3Igc2xpZ2h0bHkgYmV0dGVyIGFjY3VyYWN5CgoyMDE1LTAzLTE1IDE2OjU1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGhlbHBlcnMgZm9yIGNhbGxpbmcgc3RhdGljIG1ldGhvZHMKCjIwMTUtMDMtMTUgMTY6Mzg6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBGaXggaW5kZW50aW9uCgoyMDE0LTA2LTA1IDEwOjMzOjU2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIG1vcmUgSk5JIGhlbHBlciBmdW5jdGlvbnMKCjIwMTQtMDYtMDIgMTI6Mzc6MDkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBTcGxpdCBqbmkgY29kZSB0byBnc3Rqbml1dGlscy5jCgoyMDE1LTAzLTE1IDE2OjEwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkcm9wIHNvbWUgc3VwZXJmbHVvdXMgYXNzZXJ0aW9ucwoJICBnX3JldHVybl8qX2lmX2ZhaWwoKSBpcyBmb3IgcHVibGljIEFQSSB0byBjYXRjaAoJICBwcm9ncmFtbWluZyBlcnJvcnMuIEZvciBpbnRlcm5hbCBjb2RlLCB3ZSBzaG91bGQKCSAganVzdCB1c2UgZ19hc3NlcnQoKSB0byBjaGVjayBpbnRlcm5hbCBzdGF0ZS4KCjIwMTUtMDMtMTUgMTU6NTQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIHRlc3QgZm9yIGtleWZyYW1lL2RlbHRhIGZsYWcgcHJvcGFnYXRpb24KCSAgVGhlIGZpcnN0IG91dHB1dCBNUEVHLVRTIHBhY2tldCB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgdmlkZW8gaW5wdXQKCSAgYnVmZmVyIHdoaWNoIGhhZCB0aGUgZGVsdGEgZmxhZyBjbGVhcmVkIChpLmUuIHdhcyBhIGtleWZyYW1lKQoJICBzaG91bGQgaGF2ZSB0aGUgZGVsdGEgZmxhZyBjbGVhcmVkIGFzIHdlbGwuCgkgIFRoaXMgaXMgbmVlZGVkIGUuZy4gYnkgdGNwc2VydmVyc2luayBpbiBvcmRlciB0byBrZWVwIHRyYWNrCgkgIG9mIHRoZSBsYXN0IGtleWZyYW1lIGFuZCBiZSBhYmxlIHRvIGJ1cnN0IGRhdGEgdG8gbmV3bHktCgkgIGNvbm5lY3RlZCBjbGllbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2ODcyCgoyMDE1LTAzLTE1IDE0OjM1OjE1ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGdsL2RvY3M6IGFkZCBtaXNzaW5nIGZ1bmN0aW9ucy9vYmplY3RzCgoyMDE1LTAzLTE1IDEyOjU4OjI2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogdGVudGF0aXZlIHByb3BlciBjb250ZXh0IGNvbGxpc2lvbiBkZXRlY3Rpb24KCSAgRml4ZXMKCSAgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpYW1nZXNpbmsgdC4gISBxdWV1ZSAhIGdsaW1hZ2VzaW5rCgoyMDE0LTA3LTE4IDEwOjQ0OjU5ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggbmFtZXNwYWNlIG9mIHNvbWUgaW50ZXJuYWwgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzNDcKCjIwMTUtMDMtMTYgMDA6MjI6MTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkgIGNvbXBvc2l0b3I6IEZpeCBibGVuZGluZyBmdW5jdGlvbnMKCSAgQ29ycmVjdGx5IGNhbGN1bGF0ZSBhbHBoYSBpbiBhIGZldyBwbGFjZXMgYnkgZGl2aWRpbmcgYnkgMjU1LAoJICBub3QgMjU2LgoJICBGaXggdGhlIGFyZ2IgYW5kIGJncmEgYmxlbmRpbmcgZnVuY3Rpb25zIHRvIGF2b2lkIGFuIG9mZi1ieS1vbmUKCSAgZXJyb3IgaW4gdGhlIGNhbGN1bGF0aW9ucywgc28gcGFpbnRpbmcgd2l0aCBhbHBoYSA9IDB4ZmYgZG9lc24ndAoJICBldmVyIGJsZWVkIHRocm91Z2ggZnJvbSBiZWhpbmQKCjIwMTUtMDMtMTUgMTI6MDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIHVuaXQgdGVzdCBmb3IgImFsaWdubWVudCIgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOQoKMjAxNS0wMy0xNCAxNToyNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbWFrZSAiYWxpZ25tZW50IiBwcm9wZXJ0eSBtb3JlIHVzZWZ1bCBmb3IgcGFja2V0aXNhdGlvbgoJICBDdXJyZW50bHkgdGhlIGFsaWdubWVudCBwcm9wZXJ0eSBqdXN0IG1ha2VzIHN1cmUgdGhhdCB3ZQoJICBvdXRwdXQgdGhpbmdzIGluIG11bHRpcGxlcyBvZiBhbGlnbipwYWNrZXRfc2l6ZSBieXRlcywgYnV0CgkgIHdpdGggbm8gY2xlYXIgbWF4aW11bSBzaXplLiBXaGVuIHN0cmVhbWluZyBNUEVHLVRTIG92ZXIKCSAgVURQIG9uZSB3YW50cyBidWZmZXJzIHdpdGggYSBtYXhpbXVtIHBhY2tldCBzaXplIG9mIDEzMTYuCgkgIFRoZSBhbGlnbm1lbnQgcHJvcGVydHkgc28gZmFyIHdvdWxkIGp1c3Qgb3V0cHV0IGJ1ZmZlcnMKCSAgdGhhdCBhcmUgYSBtdWx0aXBsZSBvZiAxMzE2IHRoZW4uCgkgIEluc3RlYWQgd2Ugbm93IG1ha2UgdGhlIGFsaWdubWVudCBwcm9wZXJ0eSBvdXRwdXQKCSAgaW5kaXZpZHVhbCBidWZmZXJzIHdpdGggdGhlIGFsaWdubWVudCBzaXplLCB3aGljaAoJICBpcyBlbnRpcmVseSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHRoZSBleHBlY3RlZAoJICBiZWhhdmlvdXIgdXAgdW50aWwgbm93LiBGb3IgZWZmaWNpZW5jeSByZWFzb24KCSAgY29sbGVjdCBhbGwgdGhvc2UgYnVmZmVycyBpbiBhIGJ1ZmZlciBsaXN0IGFuZAoJICBzZW5kIHRoYXQgZG93bnN0cmVhbS4KCSAgQWxzbyBjb2xsZWN0IGRhdGEgdG8gcHVzaCBkb3duc3RyZWFtIGluIGEgYnVmZmVyCgkgIGxpc3QgZnJvbSB0aGUgYWRhcHRlciBpZiB3ZSBkb24ndCBhbGlnbiB0aGluZ3MsCgkgIHdoaWNoIGlzIHN0aWxsIG1vcmUgZWZmaWNpZW50IGJlY2F1c2Ugb2YgdGhlCgkgIHNpbGx5IHdheSB0aGUgbXV4ZXIgY3VycmVudGx5IGNyZWF0ZXMgb3V0cHV0CgkgIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjkKCjIwMTUtMDMtMTEgMjM6MDM6MjQgKzA4MDAgIHhpeGkgPHhpeGkxMDExMTAxMUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmZXRjaCB3cm9uZyBzZWdtZW50IGF0IHRoZSBlbmQgb2YgUGVyaW9kCgkgIEZpeCBjaGVjayBmb3IgZW5kIG9mIFBlcmlvZCB0aW1lIHRvIGF2b2lkIHRyeWluZwoJICB0byBmZXRjaCBhIHNlZ21lbnQgdGhhdCBkb2Vzbid0IGV4aXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwMzgKCjIwMTUtMDMtMTQgMTk6NDg6MjEgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IG1vdmUgbWV0YS1kYXRhIGNvcHkgaW50byBnc3QtZ2wgbGlicmFyeQoJICBJbiBzb21lIHVwbG9hZCBpbXBsZW1lbnRhdGlvbnMgdGhlIG91dCBidWZmZXIgaGFzIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlcywKCSAgdHVybmluZyB0aGUgYnVmZmVyIG5vdCB3cml0YWJsZSwgc28gaXQgd29uJ3QgYmUgcG9zc2libGUgdG8gbW9kaWZ5IGl0cwoJICBtZXRhLWRhdGEuCgkgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlIG1ldGEtZGF0YSBjb3B5IGJlZm9yZSBpbmNyZWFzaW5nIHRoZSByZWZlcmVuY2Ugb2YgdGhlIG91dAoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNzMKCjIwMTUtMDMtMTQgMTg6NDU6MDEgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZml4IHRoZSBzbGlnaHQgZGlmZmVyZW5jZSBiZXR3ZWVuIEVYVF9yZyBhbmQgQVJCX3JnCgkgIEdMX0VYVF90ZXh0dXJlX3JnIGRvZXNuJ3QgdGFrZSBzaXplZCBmb3JtYXRzIGZvciB0aGUgaW50ZXJuYWxmb3JtYXQKCSAgcGFyYW1ldGVyIG9mIFRleEltYWdlKiBidXQgR0xfQVJCX3RleHR1cmVfcmcgYW5kIEdMKEVTKTMgZG8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MDcKCjIwMTUtMDMtMTQgMTc6Mjk6MDIgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgaGFjayBhcm91bmQgYnVnIDY0ODM1OQoJICBJdCBpcyBhbHJlYWR5IGZpeGVkCgoyMDE1LTAzLTE0IDEyOjI0OjUzICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGRlcHJlY2F0ZWQgZ19hdG9taWMgZnVuY3Rpb24KCSAgV2UgZGVwZW5kIG9uIDIuMzIgYWxyZWFkeQoKMjAxNS0wMy0xNCAxMTo0NToyMCArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggcGFkIGxlYWsKCSAgT25seSBnZXQgdGhlIHBhZCBpZiBpdCBpcyByZWFsbHkgZ29pbmcgdG8gYmUgdXNlZCB0byBhdm9pZAoJICBsZWFraW5nIGl0CgoyMDE1LTAzLTE0IDE4OjEwOjI0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiBmaXh1cCBnZW5lcmljIGN1YmUgZXhhbXBsZSBmb3IgTkRDCgkgIHRyYW5zbGF0aW5nIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uIGRvZXNuJ3Qgd29yawoKMjAxNS0wMy0xNCAxNTozODoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUyLmM6CgkgIGdsL2V4YW1wbGVzOiBhZGQgc2Rsc2hhcmUyIHRoYXQgdXNlcyBnbGltYWdlc2luayB0byBvdXRwdXQgdGV4dHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTY4MQoKMjAxNS0wMy0xNCAxNjozMDo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGtlZXAgd2luZG93IGludmlzaWJsZSB3aGVuIHNoYXJpbmcgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk2ODEKCjIwMTUtMDMtMTQgMTU6MTY6NTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSAgZ2xpbWFnZXNpbms6IHByb3ZpZGUgR3N0U2FtcGxlIGluIGNsaWVudC1kcmF3IHNpZ25hbAoJICBJbnN0ZWFkIG9mIHByaXZpZGluZyB0ZXh0dXJlIGFuZCBzaXplIGRpcmVjdGx5LgoJICBBbmQgYXBwbHkgY2hhbmdlcyB0byBleGFtcGxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTY4MQoKMjAxNS0wMy0xNCAxNTozNzowNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgc2Rsc2hhcmU6IHVzZSBnbHVwbG9hZCBhbmQgdW5tYXAgZnJhbWUKCjIwMTUtMDMtMTQgMTY6MjU6MjkgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2xzeW5jbWV0YTogbWFrZSBjb250ZXh0IHRvIHdhaXQgYW5kIHNldCBzeW5jIGV4cGxpY2l0CgkgIG90aGVyd2lzZSB3ZSBtYXkgd2FpdCBvbiBhIHN5bmMgb2JqZWN0IGluIHNhbWUgY29udGV4dCBieSBhY2NpZGVudAoKMjAxNS0wMy0xNCAxNToxNjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQKCSAgV2FzIHN1cHBvc2VkIHRvIGJlIHNxdWFzaGVkIGludG8gZWFybGllciBjb21taXQuCgoyMDE1LTAzLTE0IDE1OjE1OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTUtMDMtMTQgMTQ6NDM6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5oOgoJICBSZW1vdmUgdW5wb3J0ZWQgYW5kIHVzZWxlc3Mgb3N4dmlkZW9zcmMgZWxlbWVudAoJICBUaGVyZSBhcmUgb3RoZXIgZWxlbWVudHMgZm9yIHRoaXMgbm93LgoKMjAxNS0wMy0xMyAxODoyNDo0MyArMDAwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcHJvcGVybHkgZXNjYXBlIHBlcmNlbnQgc2lnbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAzLTE0IDEyOjU4OjIyICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEFkZCBOVUxMIGNoZWNrIGluIGVycm9yIGNhc2UKCSAgT3RoZXIgY29udGV4dCBtYXkgYmUgTlVMTCBpZiBzb21ldGhpbmcgd2VudCB3cm9uZy4gQXZvaWQgdHJ5aW5nIHRvIHVucmVmCgkgIGEgTlVMTCBwb2ludGVyLgoKMjAxNS0wMy0xNCAxMTowMToxMiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZml4IGEgY291cGxlIG9mIHR5cG9zIGluIGNvbmZpZ3VyZS5hYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MDIwCgoyMDE1LTAzLTE0IDEwOjM5OjA2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQvY29sb3Jjb252ZXJ0OiBvbmx5IGNvcHkgdGltZXN0YW1wcyBpZiB0aGUgaW5wdXQgYnVmZmVyICE9IG91dHB1dAoKMjAxNS0wMy0xMSAwMDowNjo1NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsZGlzcGxheV9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGFkZCBHc3RHTERpc3BsYXlDb2NvYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDEyCgoyMDE1LTAzLTEzIDA5OjA3OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBleGFtcGxlczogaW5pdGlhbGl6ZSBOU0FwcCBhdCB0aGUgYmVnaW5uaW5nCgoyMDE1LTAzLTE0IDA3OjQ5OjE0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZG8gbm90IHRlcm1pbmF0ZSBsb29wIGluIGdzdF9nbF93aW5kb3dfY29jb2FfY2xvc2UKCSAgSXQgaXMgbm93IGRvbmUgaW4gX2ZpbmFsaXplLgoJICBGaXggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5CgkgICJnbC93aW5kb3c6IGNyZWF0ZSB0aGUgbWFpbiBsb29wL2NvbnRleHQgb24gaW5pdC9maW5hbGl6ZSIKCSAgYmM3YTcyNTlmMzU3YjAwNjVkZDk0ZTA2NjhiNWE4OTVkODNmYTUzYQoKMjAxNS0wMy0xMyAxNTozNDo1NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogYXZvaWQgb3ZlcndyaXRpbmcgZGlzcGxheSBhbmQgY29udGV4dCB0byBOVUxMCgkgIEl0IGhhcHBlbnMgd2hlbiB0aGUgYXBwbGljYXRpb24gcHJvdmlkZXMgZGlzcGxheQoJICBhbmQvb3IgY29udGV4dC4KCjIwMTUtMDMtMTMgMTc6NDE6MTcgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBhdHRyaWJ1dGUgbG9jYXRpb25zIGFyZSAtMSBvbiBlcnJvcgoKMjAxNS0wMy0xMyAxNzowNDoxNyArMDAwMCAgTmVvczM0NTIgPG5lb3MzNDUyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogcHJldmVudCBmcm9tIGdldHRpbmcgYXR0cmlidXRlcyB3aXRob3V0IHZlcnRleCBzaGFkZXIKCSAgSXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHF1ZXJ5IGZvciB2ZXJ0ZXggYXR0cmlidXRlcyB3aXRob3V0IGEgdmVydGV4CgkgIHNoYWRlci4gTW9yZW92ZXIgdGhpcyBpcyBjYXVzaW5nIGEgY3Jhc2ggb24gT1NYLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTY4CgoyMDE1LTAzLTE0IDAyOjUzOjAwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJICBHTDogUmVtb3ZlIGFubm95aW5nIHByaW50ZiBpbiB0aGUgZmlsdGVyYmluIGNsYXNzX2luaXQKCjIwMTUtMDMtMTIgMDk6Mjc6MzAgKzAxMDAgIGlqc2YgPGlqc2ZAZ214Lm5ldD4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIFJlc3RyaWN0ZWQgYWN0aXZlVmlkZW9NYXhGcmFtZUR1cmF0aW9uIHRvIGZpeCBmcmFtZSByYXRlCgoyMDE1LTAzLTEzIDEyOjQzOjEzICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb24gdGhlIGJpbgoKMjAxNS0wMy0xMyAxMjo0MDowNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiB1bnJlZiB0aGUgYnVmZmVycG9vbAoKMjAxNS0wMy0xMyAxMjoyOTo1NCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmb3J3YXJkIEFMTCB0aGUgcHJvcGVydGllcyBvbiB0aGUgYmluCgoyMDE1LTAzLTEzIDEyOjI4OjM2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogcHJvcGVybHkgdW5yZWYgYnVmZmVycyB0aGF0IGFyZSB0aGUgc2FtZSBhcyB0aGUgaW5wdXQKCSAgYmFzZXRyYW5zZm9ybSBkb2Vzbid0IHVucmVmIGVxdWFsIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVycwoKMjAxNS0wMy0xMyAxMDoyNTozNSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogZ2V0IHRoZSBjb250ZXh0IGZyb20gYmFzZW1peGVyL2Jhc2VmaWx0ZXIKCjIwMTUtMDMtMTMgMDk6Mzg6NTQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcmV0cmVpdmUgdGhlIGdsZGlzcGxheS9hcHAgZ2wgY29udGV4dCBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIGZpeGVzIHRoZSB1c2FnZSBvZiBnc3RfZ2xfZGlzcGxheV9maWx0ZXJfZ2xfYXBpCgoyMDE1LTAzLTEzIDA5OjM3OjQ2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbC90ZXN0czogZml4IGRlYWRsb2NrIG9uIGdsY29udGV4dCB3cmFwcGVkIGNvbnRleHQgdGVzdAoKMjAxNS0wMy0xMiAxNjo0Njo0NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGNhY2hlIGluZGljZXMgaW4gYSBidWZmZXIgb2JqZWN0CgoyMDE1LTAzLTEyIDE3OjExOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBGaXggZGlzY29udCBkZXRlY3Rpb24gYW5kIGJ1ZmZlciBhbGlnbm1lbnQgY29kZQoJICBBY3R1YWxseSBhY2N1bXVsYXRlIHRoZSBzYW1wbGUgY291bnRlciB0byBjaGVjayB0aGUgYWNjdW11bGF0ZWQgZXJyb3IKCSAgYmV0d2VlbiBhY3R1YWwgdGltZXN0YW1wcyBhbmQgZXhwZWN0ZWQgb25lcyBpbnN0ZWFkIG9mIGp1c3QgcmVzZXR0aW5nCgkgIHRoZSBlcnJvciBiYWNrIHRvIDAgd2l0aCBldmVyeSBuZXcgYnVmZmVyLgoJICBBbHNvIGRvbid0IHJlc2V0IGRpc2NvbnRfdGltZSB3aGVuZXZlciB3ZSBkb24ndCByZXN5bmMuIFRoZSB3aG9sZSBwb2ludCBvZgoJICBkaXNjb250X3RpbWUgaXMgdG8gcmVtZW1iZXIgd2hlbiB3ZSBmaXJzdCBkZXRlY3RlZCBhIGRpc2NvbnQgdW50aWwgd2UgYWN0dWFsbHkKCSAgYWN0IG9uIGl0IGEgYml0IGxhdGVyIGlmIHRoZSBkaXNjb250IHN0YXllZCBhcm91bmQgZm9yIGRpc2NvbnRfd2FpdCB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDMyCgoyMDE1LTAzLTA4IDE4OjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgY2FvcGVuZ2xsYXllcnNpbms6IGltcGxlbWVudCBhcyBhIGJpbiBsaWtlIGdsaW1hZ2VzaW5rCgoyMDE1LTAzLTAzIDE4OjA1OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogYXZvaWQgZGVhZGxvY2sgd2hlbiBjcmVhdGluZyBjb250ZXh0IG9uIHRoZSBtYWluIHRocmVhZC4KCSAgTWFrZSB3aW5kb3cvdmlldyBjcmVhdGlvbiBhc3luYyBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvCgkgIGdzdF9nbF9jb250ZXh0X2NyZWF0ZSBmcm9tIHRoZSBtYWluIHRocmVhZC4KCjIwMTUtMDMtMDMgMTc6MjY6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbDogc3RvcmUgdGhlIGxpc3Qgb2YgY29udGV4dHMgd2l0aGluIGdsZGlzcGxheQoJICBSZW1vdmVzIHRoZSByZWxpYW5jZSBvbiB0aGUgYWxsb2NhdGlvbiBxdWVyeSB0byBwcm9wb2dhdGUgR0wgY29udGV4dHMuCgkgIEFsbG93cyB0aHJlYWQgc2FmZWx5IGdldHRpbmcgYSBjb250ZXh0IGZvciB0aGUgYSBzcGVjaWZpYyB0aHJlYWQuCgoyMDE1LTAzLTAzIDE2OjQ4OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVuc2V0IHRoZSBjdXJyZW50IHNoYWRlciBhZnRlciByZW5kZXJpbmcKCSAgZml4ZXMgZ2x0ZXN0c3JjICEgZ2xpbWFnZXNpbmsgd2hlbiBnbHRlc3RzcmMgZG9lc24ndCB1c2UgYSBzaGFkZXIKCjIwMTUtMDMtMDMgMTY6Mzg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IHJlbW92ZSB1c2FnZSBvZiBnbGRvd25sb2FkIGxpYnJhcnkgb2JqZWN0CgoyMDE1LTAyLTI4IDAwOjMwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBzdG9yZSB0aGUgdGhyZWFkIGN1cnJlbnQgY29udGV4dAoKMjAxNS0wMi0yNiAxODoyNjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBnbHNyY2JpbiBlbGVtZW50CgoyMDE1LTAyLTI2IDEzOjQ1OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCB3aXRoIGdsbWl4ZXJiaW4KCSAgVGhlIHJlbGV2YW50IHByb3BlcnRpZXMgYXJlIGZvcndhcmRlZCB0by9mcm9tIHRoZSBjb250YWluaW5nIGJpbgoJICBhbmQgc2luayBwYWRzLgoKMjAxNS0wMi0yNiAwMDoyMDozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogcmVtb3ZlIHVzYWdlIG9mIHVwbG9hZC9kb3dubG9hZCBvYmplY3RzCgoyMDE1LTAyLTI1IDIzOjQ4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBnbG1peGVyYmluIGVsZW1lbnQKCjIwMTUtMDItMjAgMTY6NDc6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGltYWdlc2luazogaW1wbGVtZW50IGFzIGEgYmluCgkgIGdsdXBsb2FkICEgZ2xjb2xvcmNvbnZlcnQgISBzaW5rCgkgIFNvbWUgcHJvcGVydGllcyBhcmUgbWFudWFsbHkgZm9yd2FyZGVkLiAgVGhlIHJlc3QgYXJlIGF2YWlsYWJsZSB1c2luZwoJICBHc3RDaGlsZFByb3h5LgoJICBUaGUgdHdvIHNpZ25hbHMgYXJlIGZvcndhcmRlZCBhcyB3ZWxsLgoKMjAxNS0wMi0xOSAxODoyMzozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGdsc2lua2JpbiBlbGVtZW50CgkgIHNpbWlsYXIgdG8gZ2xmaWx0ZXJiaW4gYnV0IGZvciBzaW5rcwoKMjAxNS0wMi0xOSAxNDoxOTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBkb24ndCB1c2UgdGhlIGxpYnJhcnkgdXBsb2FkL2NvbnZlcnQgb2JqZWN0cwoKMjAxNS0wMi0xOSAxMzozMzoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBlbGVtZW50IGdsZmlsdGVyYmluCgkgIEl0IGVuY2Fwc3VsYXRlcyBhIGNvbmZpdXJhYmxlIEdMIHByb2Nlc3NpbmcgZWxlbWVudCBpbiB0aGUKCSAgdXBsb2FkL2NvbG9yY29udmVydC9kb3dubG9hZCBkYW5jZSByZXF1aXJlZCB0byB0cmFuc3BhcmVudGx5IHByb2Nlc3MKCSAgdGhlIG1ham9yaXR5IG9mIEdzdEJ1ZmZlcidzLgoKMjAxNS0wMi0xOSAxMzoyNDo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBuZXcgZ2xkb3dubG9hZGVsZW1lbnQKCSAgU2ltcGx5IHRyYW5zZm9ybXMgY2FwcyB0by9mcm9tIHJhdy9nbG1lbW9yeSBjYXBzZmVhdHVyZXMKCjIwMTUtMDItMTIgMTc6NTk6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBhIG5ldyBnbGNvbG9yY29udmVydCBlbGVtZW50IGJhc2VkIG9uIHRoZSBnbGNvbG9yY29udmVydCBsaWJyYXJ5IG9iamVjdAoKMjAxNS0wMy0xMSAxNjo1NjoxNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBpbXBsZW1lbnQgcHJvcG9zZV9hbGxvY2F0aW9uIHBvb2wgaGFuZGxpbmcgZm9yIGdsbWVtb3J5IHVwbG9hZAoKMjAxNS0wMi0xMSAyMzoyOTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIGEgbmV3IGdsdXBsb2FkIGVsZW1lbnQgYmFzZWQgb24gdGhlIGdsdXBsb2FkIGxpYnJhcnkgb2JqZWN0CgoyMDE1LTAyLTExIDE0OjQ4OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbDogYWRkIGEgbmV3IGdsYmFzZW1peGVyIGNsYXNzIGJlbG93IGdsbWl4ZXIKCSAgSXQgZGVhbHMgd2l0aCBwcm9wYWdhdGluZyB0aGUgZ2wgZGlzcGxheS9jb250ZXh0cyB0aHJvdWdob3V0IHRoZQoJICBhcHBsaWNhdGlvbi9waXBlbGluZQoKMjAxNS0wMi0xMSAwMTo0ODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogYWRkIGEgbmV3IGdsYmFzZWZpbHRlciBjbGFzcyBiZWxvdyBnbGZpbHRlcgoJICBJdCBkZWFscyB3aXRoIHByb3BhZ2F0aW5nIHRoZSBnbCBkaXNwbGF5L2NvbnRleHRzIHRocm91Z2hvdXQgdGhlCgkgIGFwcGxpY2F0aW9uL3BpcGVsaW5lCgoyMDE1LTAyLTExIDAxOjI3OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHV0aWxzOiBleHBvc2UgcnVubmluZyBhIHF1ZXJ5IG9uIGEgc2V0IG9mIHNyYy9zaW5rIHBhZHMKCjIwMTUtMDMtMTIgMTI6NDk6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHJlcGxhY2UgY2JyIGFuZCBjb25zdHJhaW5lZC12YnIgcHJvcGVydGllcyB3aXRoIGFuIGVudW0KCSAgSXQgd2FzIGRlZW1lZCBjb25mdXNpbmcgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTA5CgoyMDE1LTAzLTEyIDEwOjE0OjUwICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGFkdmVydGlzZSByZXNpemUgaW4gdGhlIGNhcHMgbmVnb3RpYXRpb24gcHJvcGVybHkKCjIwMTUtMDMtMTIgMDE6NDk6NTggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIGxvY2tpbmcgdG8gZmlsbF9idWZmZXIgYW5kIGZpeCBtaXhfYnVmZmVyCgkgIFRoZSBhdWRpb21peGVyIHBhZCBzdHJ1Y3QgZmllbGRzIG1heSBiZSBjaGFuZ2VkIGZyb20gb3RoZXIgdGhyZWFkcwoKMjAxNS0wMy0xMiAwMTo1Njo0NCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IE1hcmsgYSBkaXNjb250IHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50CgkgIFRoaXMgYWxsb3dzIHVzIHRvIGhhbmRsZSBuZXcgc2VnbWVudCBldmVudHMgY29ycmVjdGx5OyBlaXRoZXIgYnkgZHJvcHBpbmcKCSAgYnVmZmVycyBvciBpbnNlcnRpbmcgc2lsZW5jZTsgZm9yIGV4YW1wbGUgaWYgdGhlIG9mZnNldCBpcyBjaGFuZ2VkIG9uIGFuIHNyY3BhZAoJICBjb25uZWN0ZWQgdG8gYXVkaW9taXhlci4KCjIwMTUtMDMtMTIgMDk6NDY6MDIgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogd2UgZG9uJ3QgZG8gcmVzaXppbmcgb2YgdGhlIHZpZGVvIGZyYW1lcwoJICBBcyB3ZSBjYW5ub3QgZG8gYWNjdXJhdGUgdGV4ZWwgc2FtcGxpbmcgdGhlbiBkdWUgdG8gdGhlIHRleHR1cmUKCSAgY29vcmRpbmF0ZXMgYmVpbmcgaW50ZXJwb2xhdGVkIGJhc2VkIG9uIHRoZSBvdXRwdXQgZnJhbWUgc2l6ZS4KCjIwMTUtMDEtMjAgMTk6NTM6MDkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBXaGlsZSBhZ2dyZWdhdGluZywgc3luYyB2YWx1ZXMgZm9yIGFsbCBwYWRzIGJlZm9yZSBjb252ZXJ0aW5nIGZyYW1lcwoKMjAxNS0wMy0xMSAxODo0OToyMiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBkb24ndCBYR2V0V2luZG93QXR0cmlidXRlcyBldmVyeSBYRXZlbnQKCSAgZml4ZXMgYSBkZWFkbG9jayBpbiB4Y2Igd2hlcmUgdGhlIFggd2luZG93IG1heSBub3QgZXhpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU2MzMKCjIwMTUtMDMtMTEgMTQ6NTA6MjggKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvd2luZG93OiBob3BlZnVsbHkgZml4dXAgY29tcGlsZSB3YXJuaW5ncyBvbiBhbmRyb2lkL2lvcwoKMjAxNS0wMy0xMSAxNzoxOToxNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSByZWR1bmRhbnQgY2hlY2sgZm9yIGNsZWFyaW5nIGNvbnRleHQgb24gcmVzZXQuCgkgIFRoZSBjb250ZXh0IGlzIGFscmVhZHkgY2xlYXJlZCBhIGZldyBsaW5lcyBhYm92ZS4KCjIwMTUtMDMtMTEgMTY6NTU6MTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSAgUmVtb3ZlIGEgYnVuY2ggb2Ygc2lsbHkgJzs7JyB0eXBvcyBhdCB0aGUgZW5kIG9mIGxpbmVzCgoyMDE1LTAzLTA2IDE1OjMxOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3c6IGNyZWF0ZSB0aGUgbWFpbiBsb29wL2NvbnRleHQgb24gaW5pdC9maW5hbGl6ZQoJICBBdm9pZHMgcmFjZXMgc2V0dGluZyB0aGUgd2luZG93IGhhbmRsZSBmcm9tIHRoZSBtYWluIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTYzMwoKMjAxNS0wMy0wOCAwMjowNDoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yeTogZG9uJ3QgcmVkZWZpbmUgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MKCjIwMTUtMDMtMDQgMTE6MTI6MzIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtb3ZlIHVudXNlZCBsYWJlbC92YXJpYWJsZQoKMjAxNS0wMy0xMCAxNTozMToyMSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggZ2V0X3ByZXNlbnRhdGlvbl9vZmZzZXQgY2hlY2suCgkgIEFuZCByZXR1cm4gMCBpc250ZWFkIG9mIEZBTFNFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTAyIDE0OjAwOjAzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBnZXRfcHJlc2VudGF0aW9uX29mZnNldC4KCSAgVG8gYWNjb3VudCBmb3IgcHJlc2VudGF0aW9uVGltZU9mZnNldCBhcyBwZXIgc2VjdGlvbiA3LjIuMSAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDIgMTM6NTM6MDMgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBbQVBJXTogZ2V0X3ByZXNlbnRhdGlvbl9vZmZzZXQgdmlydHVhbCBtZXRob2QuCgkgIEFza3MgdGhlIHN1YmNsYXNzIGZvciBhIHBvdGVudGlhbCB0aW1lIG9mZnNldCB0byBhcHBseSB0byBlYWNoCgkgIHNlcGFyYXRlIHN0cmVhbSwgaW4gZGFzaCBzdHJlYW1zIGNhbiBoYXZlICJwcmVzZW50YXRpb24gdGltZSBvZmZzZXRzIiwKCSAgd2hpY2ggY2FuIGJlIGRpZmZlcmVudCBmb3IgZWFjaCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDYgMTI6MjQ6NDQgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBnc3RtcGRwYXJzZXI6IFJlYWxseSBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHN0YXJ0TnVtYmVyLgoJICArIFRoZSBzcGVjcyBhc2sgZm9yIGEgZGVmYXVsdCBvZiAxLCB0aGUgY3VycmVudCBjb2RlIG9ubHkgZGlkCgkgIHNldCBhIGRlZmF1bHQgd2hlbiB0aGUgZmllbGQgd2FzIHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDkgMTE6MTE6MTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyOiB1bnVzZWQgdmFsdWUKCSAgVmFsdWUgc2V0IGluIG9mZiB3aWxsIGJlIGltbWVkaWF0ZWx5IG92ZXJ3cml0dGVuIGFmdGVyIGdvaW5nIHRvIG5leHQuCgkgIENJRCAjMTIyNjQ3NgoKMjAxNS0wMy0wOSAxMjo1MToyMSArMDkwMCAgaG9vbmhlZS5sZWUgPGhvb25oZWUubGVlQGxnZS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZW1pY29sb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg3NwoKMjAxNS0wMy0wOSAxMjo0MTo1OSArMDkwMCAgaG9vbmhlZS5sZWUgPGhvb25oZWUubGVlQGxnZS5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0czogZ2xjb250ZXh0OiByZW1vdmUgdW5uZWNlc3Nhcnkgc2VtaWNvbG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4NzUKCjIwMTUtMDMtMDYgMTQ6NDk6MjAgKzAyMDAgIE1vaGFtbWVkIEhhc3NhbiA8bW9oYW1tZWQuaGFzc2FuQGpvbGxhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgem9vbSBwYXJhbSBzcGVjIGlmIHZpZGVvIHNvdXJjZSBjaGFuZ2VzIGl0cyBtYXgtem9vbQoJICBJZiB0aGUgdmlkZW8gc291cmNlIGhhcHBlbnMgdG8gYWxsb3cgbWF4LXpvb20gdG8gYmUgZ3JlYXRlciB0aGFuIG91ciBtYXhpbXVtIGhhcmQgY29kZWQKCSAgdmFsdWUgb2YgMTAgdGhlbiB0aGUgdXNlciBjYW5ub3Qgc2V0IGFueXRoaW5nIGdyZWF0ZXIgdGhhbiBvdXIgbWF4aW11bSBzcGVjaWZpZWQgaW4gdGhlCgkgIHBhcmFtIHNwZWMuIFdlIGhhdmUgdG8gdXBkYXRlIG91ciBwYXJhbSBzcGVjIHRvIHByZXZlbnQgZ2xpYiBmcm9tIGNhcHBpbmcgdGhlIHZhbHVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NDAKCjIwMTUtMDMtMDcgMTA6Mjg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgdnRkZWM6IFJlZ2lzdGVyIGEgaGFyZHdhcmUtb25seSB2dGRlY19odyBvbiBPU1ggYW5kIGdpdmUgaXQgYSBoaWdoZXIgcmFuawoJICB3aGlsZSBoYXZpbmcgdGhlIGRlZmF1bHQgdnRkZWMgYXQgc2Vjb25kYXJ5IHJhbmsuIFRoaXMgYWxsb3dzIGRlY29kZWJpbi9wbGF5YmluCgkgIHRvIHByZWZlciB0aGUgaGFyZHdhcmUgYmFzZWQgZGVjb2RlcnMsIGFuZCBpZiB0aGF0IGZhaWxzIHRvIGluaXRpYWxpemUgYmVjYXVzZQoJICBoYXJkd2FyZSByZXNvdXJjZXMgYXJlIGJ1c3kgdG8gZmFsbCBiYWNrIHRvIGUuZy4gdGhlIGxpYmF2IGJhc2VkIGgyNjQgZGVjb2RlcgoJICBpbnN0ZWFkIG9mIHRoZSBzb2Z0d2FyZSBiYXNlZCB2dGRlYyAod2hpY2ggaXMgc2xvd2VyKSwgYW5kIG9ubHkgZmFsbCBiYWNrIHRvCgkgIHRoZSBzb2Z0d2FyZSBiYXNlZCB2dGRlYyBpZiB0aGVyZSBpcyBubyBoaWdoZXIgcmFua2VkIGRlY29kZXIgYXZhaWxhYmxlLgoKMjAxNS0wMy0wNiAyMDoxMTowMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogRG9uJ3Qgc2hhcmUgb3VyIGRvd25zdHJlYW0gcG9vbCB3aXRoIHVwc3RyZWFtCgkgIFBvb2wgY2Fubm90IGhhdmUgbXVsdGlwbGUgb3duZXIuIFRoaXMgY2FuIGxlYWQgdG8gc3B1cmlvdXMKCSAgcG9vbCB3YXMgZmx1c2hpbmcgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MAoKMjAxNS0wMy0wNSAxNjoyODozNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBEb24ndCBjaGFpbiBkb3duc3RyZWFtIHBvb2wKCSAgQ2hhaW5pbmcgYSBkb3duc3RyZWFtIHBvb2wgd291bGQgbGVhZCB0byB0d28gb3duZXIgb2YgdGhlIHNhbWUKCSAgcG9vbC4gSW4gZHluYW1pYyBwaXBlbGluZSwgaWYgb25lIG93bmVyIGlzIHJlbW92ZWQgZnJvbSB0aGUgcGlwZWxpbmUKCSAgdGhlIHBvb2wgd2lsbCBiZSBzdG9wcGVkLCBhbmQgdGhlIHJlc3Qgb2YgdGhlIHBpcGVsaW5lIHdpbGwgZmFpbAoJICBzaW5jZSB0aGUgcG9vbCB3aWxsIG5vdyBiZSBmbHVzaGluZy4gQWxzbyBmaXggcHJvcG9zZWQgcG9vbCBjYWNoaW5nLAoJICBmaWx0ZXItPnBvb2wgd2FzIG5ldmVyIHNldCwgbmV2ZXIgdW5yZWZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwNQoKMjAxNS0wMy0wNSAxNTo0OTo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBPbmx5IGNhY2hlIHBvb2wsIGRvbid0IG1hbmFnZSBpdAoJICBHTEltYWdlIGRvZXMgbm90IHVzZSBhbnkga2luZCBvZiBpbnRlcm5hbCBwb29sLiBUaGVyZSB3YXMgc29tZQoJICByZW1haW5pbmcgY29kZSBhbmQgY29tbWVudCBzdGF0aW5nIHRoYXQgaXQgd2FzIG1hbmFnaW5nIHRoZQoJICBwb29sLCBhbmQgaXQgd2FzIGluIGZhY3Qgc2V0dGluZyB0aGUgYWN0aXZlIHN0YXRlIHdoZW4gZG9pbmcKCSAgdG8gcmVhZHkgc3RhdGUuCgkgICogT25seSBjcmVhdGUgdGhlIHBvb2wgaWYgcmVxdWVzdGVkIGFuZCBpbiBwcm9wb3NlX2FsbG9jYXRpb24KCSAgKiBDYWNoZSB0aGUgcG9vbCB0byBhdm9pZCByZWFsbG9jYXRpb24gb24gc3B1cmlvdXMgcmVjb25maWd1cmUKCSAgKiBEb24ndCB0cnkgdG8gZGVhY3RpdmF0ZSB0aGUgcG9vbCAod2UgZG9uJ3Qgb3duIGl0KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzA1CgoyMDE1LTAzLTA2IDEyOjA3OjQ3IC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBzdG9wIHNwYW1taW5nIGluZm8gbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc1NQoKMjAxNS0wMy0wNiAxODo1NDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsZG93bmxvYWQ6IFNpbXBsaWZ5IGNhcHMgZmVhdHVyZSBzZXR0aW5nIGNvZGUKCjIwMTUtMDMtMDYgMTg6MTU6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBSZW1vdmUgZm9ybWF0IGluZm8gaW4gZ2xjb2xvcmNvbnZlcnQncyB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIG9uIGV2ZXJ5IGNhbGxlcgoJICAuLi4gYW5kIGxldCBnbG1peGVyIGFjdHVhbGx5IHRyYW5zZm9ybSB0aGUgY2FwcyBpdCBpcyBzdXBwb3NlZCB0byB0cmFuc2Zvcm0KCSAgaW5zdGVhZCBvZiBpbnZlbnRpbmcgbmV3IGNhcHMuCgoyMDE1LTAzLTA2IDE4OjQ5OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBSZXZlcnQgInZpZGVvYWdncmVnYXRvcjogQ3JlYXRlIG5ldyBjYXBzIGZyb20gdGhlIHZpZGVvLWluZm8iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzgyMTViZTBkZmJiNGU4ZWQ0ZjI0OWUxNjFhOTRjNjQ0MzI4ZDI4ZC4KCSAgYmVjYXVzZSBpdCBicm9rZSBnbHZpZGVvbWl4ZXIgd2l0aCBjdXN0b20gY2FwcyBmZWF0dXJlcy4KCjIwMTUtMDMtMDYgMTg6MzY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFNpbXBsaWZ5IGNhcHMgZmVhdHVyZSBzZXR0aW5nIGNvZGUKCjIwMTUtMDMtMDYgMTQ6NTQ6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGRvbmxfcHJlc2VudCB2YXJpYWJsZSB1bnVzZWQKCSAgZG9ubF9wcmVzZW50IGlzIG5vdCBpbXBsZW1lbnRlZCwgeWV0IHRoZSB2YWx1ZSBpcyBzZXQgYW5kIGNoZWNrZWQgYSBmZXcgdGltZXMuCgkgIENsZWFuaW5nIHRoaXMuCgkgIENJRCAjMTI0OTY4NwoKMjAxNS0wMy0wNiAxNDoyNzo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBmYWxsIHRocm91Z2ggc3dpdGNoIHN0YXRlbWVudAoJICBBZGRpbmcgYSBjb21tZW50IG1ha2VzIGNvdmVyaXR5IGhhcHB5IGFuZCBxdWVsbHMgdGhlIGlzc3VlLgoJICBDSUQgIzExMzk3NDgKCjIwMTUtMDMtMDYgMTQ6MzY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ3JlYXRlIG5ldyBjYXBzIGZyb20gdGhlIHZpZGVvLWluZm8KCSAgSW4gY2FzZSB0aGUgb3JpZ2luYWwgY2FwcyB3ZXJlIG1pc3Npbmcgc29tZSBvcHRpb25hbCBmaWVsZHMgbGlrZQoJICBpbnRlcmxhY2UtbW9kZS4gV2UgYXNzdW1lIGRlZmF1bHQgdmFsdWVzIGZvciB0aG9zZSBldmVyeXdoZXJlLAoJICBidXQgdGhleSBjYW4gc3RpbGwgY2F1c2UgbmVnb3RpYXRpb24gdG8gZmFpbCBpZiBhIGRvd25zdHJlYW0gZWxlbWVudAoJICBleHBlY3RzIHRoZSBmaWVsZCB0byBiZSB0aGVyZSBhbmQgYXQgYSBzcGVjaWZpYyB2YWx1ZS4KCjIwMTUtMDItMjUgMTM6NTI6MjEgKzAxMDAgIEZsb3JpYW4gWndvY2ggPGZ6d29jaEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWxsb3cgImNhcHR1cmUtc2NyZWVuIiBtb2RlIHRvIHNlbGVjdCB3aGljaCBzY3JlZW4gdG8gY2FwdHVyZSB2aWEgdGhlICJkZXZpY2UtaW5kZXgiIG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTYxCgoyMDE1LTAzLTA1IDE5OjA5OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IE9ubHkgdXNlIGRlYnVnZ2luZyBpZiB3ZSBoYXZlIHZhbGlkIHZhbHVlcwoJICBUaGUgZGVidWcgY2F0ZWdvcnkgd29uJ3QgaGF2ZSBiZWVuIGNyZWF0ZWQvYWN0aXZhdGVkIGlmIGl0J3Mgbm90IGEKCSAgdmFsaWQgZGlzcGxheQoKMjAxNS0wMy0wNSAxNTo1NDo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG1vdGlvbmNlbGxzOiBwcm90ZWN0IGFnYWluc3Qgbm90IGZvdW5kIGlkCgkgIElmIHNlYXJjaElkeCgpIGRvZXNuJ3QgZmluZCB0aGUgaWQgaXQgcmV0dXJucyAtMSwgd2hpY2ggYnJlYWtzCgkgIG1vdGlvbmNlbHNzdmVjdG9yLmF0IChpZHgpLiBDaGVjayBmb3IgaXQgYW5kIHJldHVybiBpZiBub3QgZm91bmQuCgkgIENoYW5naW5nIGEgZmV3IG90aGVyIGxpbmVzIGZvciBzdHlsZSBjb25zaXN0ZW5jeS4KCjIwMTUtMDMtMDUgMTU6MzQ6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiByZW1vdmUgYWx3YXlzLXRydWUgY2hlY2sKCSAgZmlsdGVyLT5jdkltYWdlIGhhcyBqdXN0IGJlZW4gdXNlZC9kZXJlZmVyZW5jZWQsIHRoZXJlIHdvdWxkIGJlIGFuIGVycm9yCgkgIHRoZXJlIGlmIHRoZSBwb2ludGVyIHdhcyBOVUxMLiBObyBuZWVkIHRvIGNoZWNrIHNpbmNlIGl0IHdpbGwgYWx3YXlzIGJlIHRydWUuCgoyMDE1LTAzLTA0IDE2OjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBDYWxjdWxhdGUgdGhlIGR1cmF0aW9uIG1vcmUgYWNjdXJhdGVseSBmcm9tIHRoZSBjYXB0dXJlIHRpbWUgYW5kIG51bWJlcnMgb2Ygc2FtcGxlcwoJICBUaGlzIHNob3VsZCBwcmV2ZW50IGFueSBhY2N1bXVsYXRpbmcgcm91bmRpbmcgZXJyb3JzIHdpdGggdGhlIGR1cmF0aW9uLgoKMjAxNS0wMy0wNCAxNjowNToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRml4IHRoZSB0aW1lc3RhbXAgYW5kIG9mZnNldCBjYWxjdWxhdGlvbnMgZXZlbiBtb3JlCgoyMDE1LTAzLTA0IDE2OjA0OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCBzdWJ0cmFjdCB0aGUgZHVyYXRpb24gZnJvbSB0aGUgY2FwdHVyZSB0aW1lCgkgIFdlIGFscmVhZHkgaGF2ZSB0aGUgcmVhbCBjYXB0dXJlIHRpbWUsIG5vdCB0aGUgdGltZSB3aGVuIHdlIHJlY2VpdmVkCgkgIHRoZSBlbmQgb2YgdGhlIHBhY2tldC4KCjIwMTUtMDMtMDQgMTM6MTY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIFJldmVydCAiYXVkaW9taXhlcjogTGF0ZW5jeSBpcyB0d2ljZSB0aGUgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiwgbm90IG9ubHkgb25jZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMzg3Y2Y2N2RmOTFiNTk1NDBmMzJlZTE3YjRjMDJmNzQ3OTY5YWRkLgoJICBUaGUgYW5hbHlzaXMgd2FzIHdyb25nOiBUaGUgZmlyc3QgMjBtcyBvZiBsYXRlbmN5IGFyZSBpbnRyb2R1Y2VkIGJ5IHRoZSBzb3VyY2UKCSAgYWxyZWFkeSBhbmQgcHV0IGludG8gdGhlIGxhdGVuY3kgcXVlcnksIG1ha2luZyBpdCBvbmx5IG5lY2Vzc2FyeSB0byBjb3ZlciB0aGUKCSAgYWRkaXRpb25hbCAyMG1zIG9mIGF1ZGlvbWl4ZXIgaW5zaWRlIGF1ZGlvbWl4ZXIuCgoyMDE1LTAzLTA0IDA5OjI0OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGxhdGVuY3kgcXVlcnkgaW4gRkVDIGNhc2UKCSAgVGhlIG1heCBsYXRlbmN5IHBhcmFtZXRlciBpcyAidGhlIG1heGltdW0gdGltZSBhbiBlbGVtZW50CgkgIHN5bmNocm9uaXppbmcgdG8gdGhlIGNsb2NrIGlzIGFsbG93ZWQgdG8gd2FpdCBmb3IgcmVjZWl2aW5nIGFsbAoJICBkYXRhIGZvciB0aGUgY3VycmVudCBydW5uaW5nIHRpbWUiIChkb2NzL2Rlc2lnbi9wYXJ0LWxhdGVuY3kudHh0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDMzOAoKMjAxNS0wMy0wMyAxMTo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZXNldCB0aGUgcGFyc2VyIGluZm9ybWF0aW9uIHdoZW4gY2FwcyBjaGFuZ2VzCgkgIFRoaXMgcHJldmVudHMgaXQgZnJvbSBnb2luZyBpbnRvIHBhc3N0aHJvdWdoIGFmdGVyIHJlY2VpdmluZyAyCgkgIGJ5dGUtc3RyZWFtIGNhcHMgKGRpZmZlcmVudCBvbmVzKSBhcyBpdCB3b3VsZCBrZWVwIHRoZSBoYXZlX3BwcyBhbmQKCSAgaGF2ZV9zcHMgc2V0IHRvIHRydWUgYW5kIHdvdWxkIGp1c3QgZ28gaW50byBwYXNzdGhyb3VnaCB3aXRob3V0CgkgIHVwZGF0aW5nIGl0cyBjYXBzLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IHJlc2V0IGl0cyBzdHJlYW0gaW5mb3JtYXRpb24gdG8gcmVzdGFydCBwcm9wZXJseQoJICB3aGVuIG5ldyBjYXBzIGFyZSByZWNlaXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQwOQoKMjAxNS0wMy0wMyAxNzo0Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHRpbWVzdGFtcCBvbiBkaXNjb250IGJ1ZmZlcnMKCSAgTWFrZSBzdXJlIGRpc2NvbnQgYnVmZmVycyBoYXZlIGl0cyB0aW1lc3RhbXAgc2V0IHRvIGFsbG93IGRvd25zdHJlYW0KCSAgdG8gcmVzeW5jIGlmIG5lZWRlZAoKMjAxMi0wMy0yMiAwODo0Nzo1NyArMDEwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBjaGVjayBuZWdvdGlhdGVkIGNhcHMgYXZvaWQgcmVzZXRpbmcgb2YgdGhlIHBpcGUKCSAgVG8gYXZvaWQgdXNlbGVzcyByZW5lZ290aWF0aW9uIG9mIHRoZSBwaXBlIHdlIGNhbiBjaGVjayBmb3IKCSAgbmVnb3RpYXRlZCBjYXBzIG9uIHNyY19maWx0ZXIgYW5kIGNvbXBhcmUgaXQgd2l0aCByZXF1ZXN0ZWQKCSAgZmlsdGVyLiBJZiB0aGUgY2FwcyBpbnRlcnNlY3QsIGF2b2lkIHJlc3RhcnQuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI2MTAKCjIwMTUtMDMtMDIgMDE6MDg6MTUgKzAzMDAgIElseWEgQXZlcnlhbm92IDxpLmF2ZXJ5YW5vdkBnZW9zY2FuLmFlcm8+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFJlbW92ZSBkdXBsaWNhdGUgY29kZQoJICBUaGUgbXV4ZXIgaXMgYWxyZWFkeSBhbGxvY2F0ZWQgaW4gcmVzZXQoKSwgd2hpY2ggaXMgY2FsbGVkIHNvb24gYWZ0ZXJ3YXJkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTUwNgoKMjAxNS0wMy0wMyAxMDoxMjoxMSArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogU2V0IHF1ZXJ5IEFMTE9DQVRJT04gbmVlZF9wb29sIHRvIEZBTFNFCgkgIFNldCBxdWVyeSBBTExPQ0FUSU9OIG5lZWRfcG9vbCB0byBGQUxTRSBhcyBpdCBvbmx5IG5lZWQgcXVlcnkgaWYgY2FuCgkgIHN1cHBvcnQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDk1CgoyMDE1LTAzLTA0IDE0OjM4OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJICBhcHBsZW1lZGlhL2F2c2FtcGxlc2luazogdXRpbGlzZSBhIHB1bGwgYmFzZWQgYXBwcm9hY2ggb2YgZGlzcGxheWluZyB2aWRlbyBmcmFtZXMKCSAgVXNpbmcgcmVxdWVzdE1lZGlhRGF0YVdoZW5SZWFkeU9uUXVldWUgdGhlIGxheWVyIHdpbGwgZXhlY3V0ZSBhIGJsb2NrCgkgIHdoZW4gaXQgd291bGQgbGlrZSBtb3JlIGZyYW1lcy4gVXNpbmcgdGhpcyB3ZSBjYW4gcHJvdmlkZSB0aGUgY3VycmVudAoJICBmcmFtZSBhbmQgYXZvaWQgbmVlZGxlc3NseSBmaWxsaW5nIHRoZSBsYXllcidzIGJ1ZmZlciBxdWV1ZSBjYXVzaW5nCgkgIG9sZGVyIGZyYW1lcyB0byBiZSBkaXNwbGF5ZWQgd2hlbiB1bmRlciByZXNvdXJjZSBwcmVzc3VyZS4KCjIwMTUtMDMtMDMgMTU6MjI6MzggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBGaXggdXBzaWRlIGRvd24gYW5kIG1pc3MtYWxpZ25lZCBKUEVHCgkgIExpYkpQRUcgdXNlcyBtYWNyb2Jsb2NrIG9mIDh4OCBzYW1wbGUuIEluIHRoaXMgZWxlbWVudCB3ZSB1c2UgUkdCIGFuZAoJICBZNDQ0LCB0d28gMjRiaXQgZm9ybWF0cyB0aGF0IGFyZSBzdG9yZWQgaW4gMzJiaXQgcGl4ZWxzLiBUaGlzIG1lYW4gd2UKCSAgaGF2ZSAzMngzMiBieXRlcyBtYWNyb2Jsb2Nrcy4gRm9yIHRoaXMgcmVhc29uLCB3ZSBuZWVkIHRvIGFsbG9jYXRlCgkgIG91ciBidWZmZXIgc2xpZ2h0bHkgbGFyZ2VyLiBXZSBhbHNvIG5lZWQgdG8gcGFzcyB0aGUgbGluZSBwb2ludGVyIGluCgkgIHRoZSByaWdodCBvcmRlciwgb3RoZXJ3aXNlIHRoZSBpbWFnZSBlbmR1cCB1cHNpZGUtZG93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwOQoKMjAxNS0wMy0wMyAyMDowMzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTGF0ZW5jeSBpcyB0d2ljZSB0aGUgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiwgbm90IG9ubHkgb25jZQoJICBMZXQncyBhc3N1bWUgYSBzb3VyY2UgdGhhdCBvdXRwdXRzIG91dHB1dHMgMjBtcyBidWZmZXJzLCBhbmQgYXVkaW9taXhlciBoYXZpbmcKCSAgYSAyMG1zIG91dHB1dCBidWZmZXIgZHVyYXRpb24uIEhvd2V2ZXIgdGltZXN0YW1wcyBkb24ndCBhbGlnbiBwZXJmZWN0bHksIHRoZQoJICBzb3VyY2UgYnVmZmVycyBhcmUgb2Zmc2V0dGVkIGJ5IDVtcy4KCSAgRm9yIG91ciBBU0NJSSBhcnQgcGljdHVyZSwgZWFjaCBsZXR0ZXIgaXMgNW1zLCBlYWNoIHBpcGUgaXMgdGhlIHN0YXJ0IG9mIGEKCSAgMjBtcyBidWZmZXIuIFNvIHdoYXQgaGFwcGVucyBpcyB0aGUgZm9sbG93aW5nOgoJICAwICAgMjAgIDQwICA2MAoJICBPT09PT09PT09PT09PT09PCgkgIHwgICB8ICAgfCAgIHwKCSAgNSAgIDI1ICA0NSAgNjUKCSAgSUlJSUlJSUlJSUlJSUlJSQoJICB8ICAgfCAgIHwgICB8CgkgIFRoaXMgbWVhbnMgdGhhdCB0aGUgc2Vjb25kIG91dHB1dCBidWZmZXIgKDIwIHRvIDQwbXMpIG9ubHkgZ2V0cyBpdHMgbGFzdCA1bXMKCSAgYXQgdGltZSA0NW1zICh0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGJ1ZmZlciBpcyB0aGUgdGltZSB3aGVuIHRoZSBidWZmZXIKCSAgYXJyaXZlcykuIEJ1dCBpZiB3ZSBvbmx5IGhhdmUgYSBsYXRlbmN5IG9mIDIwbXMsIHdlIHdvdWxkIHdhaXQgdW50aWwgNDBtcwoJICB0byBnZW5lcmF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgbWlzcyB0aGUgbGFzdCA1bXMgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMTUtMDItMTggMjE6MjE6MDEgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkgIGdsdHJhbnNmb3JtYXRpb246IG5vcm1hbGl6ZSB0cmFuc2xhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc2MwoJICAqIEx1Ym9zejogdXNlIG1heGZsb2F0IGZvciB0cmFuc2Zvcm1hdGlvbiByYW5nZQoKMjAxNS0wMi0xOCAyMDo0MToxNCAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogRml4IGRvYyB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NjMKCjIwMTUtMDMtMDMgMTM6NDU6NDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogR2V0IHJpZCBvZiB1cGxvYWRlciBpZiBjYXBzIGhhdmUgY2hhbmdlZAoJICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgdXBsb2FkZXIgZm9ybWF0IGlmIHRoYXQgY2FwcyBoYXZlIGNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1NDkKCjIwMTUtMDMtMDMgMTY6NTA6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICB3YXlsYW5kc2luazogZ19ta3N0ZW1wIGlzIHNhZmVyIHRoYW4gbWtzdGVwCgoyMDE1LTAzLTAzIDE2OjQ5OjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgUmV2ZXJ0ICJ3YXlsYW5kc2luazogbWtzdGVtcCByZXF1aXJlcyBzZXR0aW5nIHBlcm1pc3Npb24gbWFzayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxODkwZTczNTVhNTQ2NGZjZmZmNTg2MzM4NTEyNjViM2ZjN2EzNzMxLgoJICBCZXR0ZXIgdG8gdXNlIGdfbWtzdGVtcCB0aGF0IHRha2VzIGNhcmUgb2YgdGhlIG1hc2sgd2l0aG91dCBhZmZlY3RpbmcgdGhlCgkgIGVudGlyZSBwcm9jZXNzLgoKMjAxNS0wMy0wMyAxNjo1NToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogRml4IGNvbnRleHQgbGVha3MKCSAgSW50cm9kdWNlZCBieSBhMTJjYTEzNzUwYTE1MzAwYWIzYzcxOGViZGUyOTg0ZGMzZDU4N2IzCgoyMDE1LTAzLTAzIDE2OjIzOjQwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY29uZGl0aW9uYWwKCSAgVGhlIHR3byBicmFuY2hlcyBvZiB0aGUgaWYgY29uZGl0aW9uYWwgYXJlIGlkZW50aWNhbCwgd2hpY2ggbWVhbnMgaW4gYWxsIGNhc2VzCgkgIHRoZSBzYW1lIGdzdF9hc2ZfcHV0X2d1aWQoKSB3aWxsIGJlIGV4ZWN1dGVkLiBEbyBpdCBkaXJlY3RseS4KCSAgQ0lEICMxMjI2NDQ4CgoyMDE1LTAzLTAzIDE1OjUxOjUwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgd2F5bGFuZHNpbms6IG1rc3RlbXAgcmVxdWlyZXMgc2V0dGluZyBwZXJtaXNzaW9uIG1hc2sKCSAgVXNpbmcgbWtzdGVtcCB3aXRob3V0IHNldHRpbmcgdGhlIHBlcm1pc3Npb24gbWFzayBpcyBwb3RlbnRpYWxseSBoYXJtZnVsLgoJICBQT1NJWCBzcGVjaWZpY2F0aW9uIG9mIG1rc3RlbXAoKSBkb2VzIG5vdCBzYXkgYW55dGhpbmcgYWJvdXQgZmlsZSBtb2Rlcywgc28gd2UKCSAgbmVlZCB0byBtYWtlIHN1cmUgaXRzIGZpbGUgbW9kZSBjcmVhdGlvbiBtYXNrIGlzIHNldCBhcHByb3ByaWF0ZWx5IGJlZm9yZQoJICBjYWxsaW5nIGl0LgoKMjAxNS0wMy0wMiAxNjo0NTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IFJlc2V0IHRoZSBjbG9jayBjYWxpYnJhdGlvbiB3aGVuIHVuc2V0dGluZyB0aGUgbWFzdGVyIGNsb2NrCgkgIE90aGVyd2lzZSB0aGUgb2xkIGNhbGlicmF0aW9uIHdpbGwgc3RpY2sgYXJvdW5kIGZvciB0aGUgbmV4dCB0aW1lIHdlIHVzZSBpdCwKCSAgcG90ZW50aWFsbHkgZ2l2aW5nIHVzIGNvbXBsZXRlbHkgd3JvbmcgdGltZXMuCgoyMDE1LTAzLTAyIDEzOjU3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDItMTIgMTM6NDM6MzAgKzAxMDAgIERhbmllbEQxMCA8ZC5kZWRpc3NlQHZvZ28uZnI+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSW5jb3JyZWN0IGZyYW1lIHJhdGUgZm9yIGludGVybGFjZWQgbW9kZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM4NgoKMjAxNS0wMy0wMSAxOTo1NzoyMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiByZWdpc3RlciBvbmx5IG9uZSBjdXN0b20gbnNhcHAgbG9vcAoJICBPdGhlcndpc2UgdGhlIHBpcGVsaW5lIHN0YWxscyB3aGVuIHJ1bm5pbmcKCSAgbW9yZSB0aGFuIG9uZSBnbGltYWdlc2luayB3aXRoIGdzdC1sYXVuY2guCgkgIEFsc28gb25seSByZWdpc3RlciB0aGUgY3VzdG9tIG5zYXBwIGxvb3AKCSAgd2hlbiBzZXR0aW5nIHVwIHRoZSBuc2FwcCBmcm9tIGdzdGdsLgoKMjAxNS0wMy0wMSAxNjo1NDoxMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBpbnN0ZWFkIG9mIGNsYXNzX2luaXQgdXNlIGdfb25jZSB0byBzZXR1cCBuc2FwcAoKMjAxNS0wMi0yNiAyMzowNDowOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBjaGVjayBmb3IgZGVwcmVjYXRlZCBjb25zdGFudHMgcHJpb3IgdG8gT1NYIDEwLjEwCgoyMDE1LTAzLTAxIDA5OjQzOjMyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBGaXggb2Zmc2V0IGZvciBvZGQgaGVpZ2h0CgkgIFdlIGFsc28gbmVlZCB0byByZWNhbGN1bGF0ZSB0aGUgb2Zmc2V0LCBzaW5jZSBvdGhlcndpc2UgdGhlIGZyYW1lCgkgIG1hcHBpbmcgd2lsbCBiZSBmb3J3YXJkIHR3byBsaW5lcyBpbiB0aGUgVSBhbmQgViBwbGFuZXMgKEk0MjApIGR1ZQoJICB0byBnc3RfdmlkZW9faW5mb19hbGlnbigpIHJvdW5kIHVwIHRoZSBZIHBsYW5lIHRvIGEgZXZlbiBudW1iZXIgb2YKCSAgbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwNTQKCjIwMTUtMDMtMDEgMDA6MDg6NDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbC10ZXN0OiBQb3J0IHVuaXQgdGVzdHMgdG8gbmV3IEFQSQoKMjAxNS0wMi0yOCAxNTowMDoxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFN1cHBvcnQgb2Zmc2V0IHdoZW4gZG93bmxvYWRpbmcKCSAgTWFrZSBzdXJlIHdlIHN1cHBvcnQgb2Zmc2V0IGFuZCB2aWRlbyBhbGlnbm1lbnQgd2hlbiBkb3dubG9hZGluZyB0b28uCgkgIFRoaXMgaXMgY3VycmVudGx5IG5vdCB1c2VkIChwbGFuZV9zdGFydCBpcyBhbHdheXMgMCksIGJ1dCBpdCBtYWtlcwoJICB0aGUgY29kZSBjb3JyZWN0IGlmIHdlIHdhbnQgdG8gdXNlIHRoYXQgbGF0ZXIuCgoyMDE1LTAyLTI4IDEzOjAxOjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogUHJvdmlkZSBjb3JyZWN0IHNpemUgb24gdXBsb2FkCgkgIFByb3ZpZGUgdGhlIHJpZ2h0IHNpemUgdG8gR0wgd2hlbiB1cGxvYWRpbmcuIFVzaW5nIG1heHNpemUgaXMgd3JvbmcKCSAgc2luY2Ugd2Ugb2Zmc2V0IHRoZSBkYXRhIHBvaW50IHdpdGggdGhlIG1lbW9yeSBvZmZzZXQgYW5kIHZpZGVvCgkgIGFsaWduZW1lbnQgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI4IDEyOjQ4OjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogUHJvdmlkZSBjb3JyZWN0IHNpemUgb24gZG93bmxvYWQKCSAgUHJvdmlkZSB0aGUgcmlnaHQgc2l6ZSB0byBHTCB3aGVuIGRvd25sb2FkaW5nLiBUaGlzIGZpeGVzIGRvd25sb2FkaW5nCgkgIGZyb20gR0xNZW1vcnkgdGhhdCB3aGVyZSBjcmVhdGVkIGZvciBsaWJhdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yOCAxMTo1NToyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBVc2UgZmFsbGJhY2sgZm9yIHBhcnRpYWwgY29weQoJICBXaGVuIHRoZSBtZW1vcnkgaXMgcGFydGlhbCBjb3B5LCB0aGUgdGV4dHVyZSBzaXplIGFuZCB2aWRlb2luZm8gbm8KCSAgbG9uZ2VyIG1ha2Ugc2Vuc2UuIEFzIHdlIGNhbm5vdCBndWVzcyB3aGF0IHRoZSBhcHBsaWNhdGlvbiB3YW50cywgd2UKCSAgc2FmZWx5IGNvcHkgaW50byBhIHN5c21lbSBtZW1vcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjUgMTg6MDc6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbG1lbW9yeTogQWRkIEdzdEFsbG9jYXRpb25QYXJhbXMgYW5kIGFsaWdubWVudCBzdXBwb3J0CgkgIFRoaXMgaW1wbGVtZW50cyBzdXBwb3J0IGZvciBHc3RBbGxvY2F0aW9uUGFyYW1zIGFuZCBtZW1vcnkgYWxpZ25tZW50cy4KCSAgVGhlIHBhcmFtZXRlcnMgd2hlcmUgc2ltcGx5IGlnbm9yZWQgd2hpY2ggY291bGQgbGVhZCB0byBjcmFzaCBvbgoJICBjZXJ0YWluIHBsYXRmb3JtIHdoZW4gdXNlZCB3aXRoIGxpYmF2IGFuZCBubyBsdWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI4IDE4OjIxOjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHBlcmZvcm0gZWdsIHVwbG9hZCBvbiB0aGUgZ2wgdGhyZWFkCgkgIEZpeGVzIEVHTEltYWdlIHVzYWdlIG9uIHJhc3BiZXJyeSBwaQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTE0CgoyMDE1LTAyLTI3IDExOjA3OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBGaXggc2NhbGluZyB3aXRoIHJhdGUgb2YgaW50ZXJuYWwvZXh0ZXJuYWwgY2xvY2sKCjIwMTUtMDItMjcgMDA6MjY6MDAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2Ugc3RhbmRhcmQgdXBzdHJlYW0gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYwoJICBUaGUgc2FtZSBmdW5jdGlvbmFsaXR5IGlzIGR1cGxpY2F0ZWQgaW4gdGhlIGRlZmF1bHQgbGF0ZW5jeSBxdWVyeWluZwoJICBub3cuCgoyMDE1LTAyLTI3IDAwOjAxOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogVXNlIGRlZmF1bHQgdXBzdHJlYW0gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYwoJICBXZSBjYW4gcmVseSBvbiB0aGUgc3RhbmRhcmQgdXBzdHJlYW0gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYyBhbmQgdGhlbiBhZGQKCSAgb3VyIG93biBsYXRlbmN5LgoKMjAxNS0wMi0yNiAxMzoyMDoyNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFNldCBmcmVlZCBtZXRob2QgaW1wbGVtZW50YXRpb24gdG8gTlVMTAoJICBXaGVuIHRyeWluZyB0byByZW5kZXIgYnVmZmVycyB3aXRoIG1ldGE6R0xUZXh0dXJlVXBsb2FkIHRoZSBnbGltYWdlc2luayBjcmFzaGVzCgkgIHdpdGggYSBzZWdtZW50YXRpb24gZmF1bHQuCgkgIFRoaXMgcGF0Y2ggd29ya2Fyb3VuZHMgdGhpcyBjcmFzaCBzZXR0aW5nIHRvIE5VTEwgdGhlIG1ldGhvZCBpbXBsZW1lbnRhdGlvbgoJICBhZnRlciBmcmVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MjA2CgoyMDE1LTAyLTI1IDE0OjQ4OjU5ICswMTAwICBSb21hbiBOb3dpY2tpIDxyLm5vd2lja2lAc2ltcy5wbD4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgZXhpc3RpbmcgRDNEIHN3YXAgY2hhaW4gb24gaW5pdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTU5CgoyMDE1LTAyLTI0IDE5OjAxOjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIG9wZW5nbDogQ2xlYW4gTWFrZWZpbGUuYW0KCSAgKyBTcGxpdCBoZWFkZXJzIGZyb20gc291cmNlCgkgICsgUmVtb3ZlIHVuZWVkZWQgQU1fQ0ZMQUdTLCBBTV9MREZMQUdTCgkgICsgQWx3YXlzIHNldCBPQkpDRkxBR1MKCSAgRHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhIC5tIGFuZCByZWdhcmRsZXNzIG9mIHRoZSBjb25kaXRpb25hbCB2YWx1ZXMsCgkgIGF1dG9tYWtlIHdpbGwgcHJvbW90ZSB0aGUgbGluayBjb21tYW5kIHRvIE9CSkMgdXNpbmcgT0JKQ0ZMQUdTLiBPbmx5CgkgIHRoZSBiYXNpYyBmbGFncyAobGlrZSB3YXJuaW5ncyBhbmQgb3B0aW1pemF0aW9uKSBhcmUgZ29pbmcgdG8gbWFrZSBhCgkgIGRpZmZlcmVuY2UgdGhvdWdoLgoJICBUaGlzIGNsZWFudXAgYnVpbGRzIHVwIHRoZSBtYWtlZmlsZSB3aXRoIGxlc3Mgc3BlY2lmaWMgZmlsZXMgZmlyc3QKCSAgdG93YXJkIG1vcmUgc3BlY2lmaWMgZmlsZS4gRkxBR1MgYXJlIGJ1aWx0IHdpdGggdGhlIGJhc2ljIHRoYXQgdW51c2VkCgkgIGZsYWdzIHdpbGwgaGF2ZSBlbXB0eSB2YXJpYWJsZS4KCjIwMTUtMDItMjQgMTI6NTQ6NTQgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY29zbWV0aWMgY2xlYW51cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA1CgoyMDE1LTAyLTI0IDE5OjUyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBvcGVuZ2w6IGRvbid0IGFkZCAtLXRhZz1DQyB0d2ljZSB0byBMSUJUT09MRkxBR1MKCjIwMTUtMDItMjQgMTQ6MzU6MzcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgb3BlbmdsOiBBZGQgLS10YWc9Q0MgdG8gTElCVE9PTENMRkFHUwoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciBzdGF0aWMgYnVpbGQuCgoyMDE1LTAyLTI0IDE4OjUwOjAzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGludGVybGFjZWQgZG9lc24ndCBtZWFuIHByb2dyZXNzaXZlIHNjYW4KCSAgUmVtb3ZpbmcgaW50ZXJsYWNlZCB2YXJpYWJsZSBzaW5jZSBpdCBpcyBtZWFudCB0byBtZWFuIHByb2dyZXNzaXZlIHNjYW4KCSAgYW5kIHRoYXQgaXNuJ3QgdXNlZC4KCjIwMTUtMDItMjQgMTg6Mzg6MzEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgUmV2ZXJ0ICJ0ZXN0czogY2hlY2sganBlZ3BhcnNlIGZvciBwcm9ncmVzc2l2ZSBtYXJrZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWM3N2QxMmNlODc3MGYwZTA2NWU5YzAwYzM1ZDcxMWZkZWYxYzlmOC4KCSAgImludGVybGFjZWQiIGluIHRoZSBjYXBzIGRvbid0IG1lYW4gdGhlIHNhbWUgdGhpbmcgYXMgdGhlIFNPRjIgbWFya2VyIGluIHRoZQoJICBKUEVHIGZvcm1hdC4gVGhpcyB0ZXN0IHBhc3NlcyBiZWNhdXNlIG9mIGJyb2tlbiBiZWhhdmlvdXIuCgoyMDE1LTAyLTI0IDE3OjQxOjQzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBjaGVjayBqcGVncGFyc2UgZm9yIHByb2dyZXNzaXZlIG1hcmtlcgoKMjAxNS0wMi0yNCAxNDowMTowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogRGVhY3RpdmF0ZSB3aW5kb3cgYmVmb3JlIGNoYW5naW5nIGhhbmRsZQoJICBXaGVuIHNldHRpbmcgYSBuZXcgd2luZG93IGhhbmRsZSwgd2UgbmVlZCB0byBlbnN1cmUgYWxsIGltcGxlbWVudGF0aW9ucwoJICB3aWxsIGRldGVjdCB0aGUgY2hhbmdlLgoJICBGb3IgdGhhdCB3ZSBkZWFjdGl2YXRlIHRoZSBjb250ZXh0IGJlZm9yZSBzZXR0aW5nIHRoZSB3aW5kb3cgaGFuZGxlLCB0aGVuCgkgIHJlYWN0aXZhdGUgdGhlIGNvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA5MAoKMjAxNS0wMi0yNCAxMzo1ODoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSAgZ2wvZWdsOiBEZXRlY3Qgd2luZG93IGhhbmRsZSBjaGFuZ2VzCgkgIFdoZW4gKHJlKWFjdGl2YXRpbmcgdGhlIGNvbnRleHQsIHRoZSBiYWNraW5nIHdpbmRvdyBoYW5kbGUgbWlnaHQgaGF2ZSBjaGFuZ2VkLgoJICBJZiB0aGF0IGhhcHBlbmVkLCBkZXN0cm95IHRoZSBwcmV2aW91cyBzdXJmYWNlIGFuZCBjcmVhdGUgYSBuZXcgb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwOTAKCjIwMTUtMDItMjQgMTQ6MjA6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSAgZ2w6IHJlbW92ZSBkb2Nib29rIHJlbGF0ZWQgd2FybmluZ3MKCjIwMTUtMDItMjQgMTM6NTE6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE1LTAyLTI0IDEzOjM2OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1Zzogbm90IHVzaW5nIGRlcHJlY2F0ZWQgQVBJIGFueW1vcmUKCjIwMTUtMDItMjQgMTM6MTY6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZSBjb21tYW5kCgoyMDE1LTAyLTI0IDE5OjAzOjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IGEgY29tcGlsZXIgd2FybmluZwoJICBDYXVzZXMgdGhlIGZvbGxvd2luZyB3YXJuaW5nIG9uIGNsYW5nOgoJICBnc3QtZHZiLXNlY3Rpb24uYzo1Njc6MzY6IGVycm9yOiBmb3JtYXQgc3BlY2lmaWVzIHR5cGUgJ3Vuc2lnbmVkIGxvbmcnIGJ1dCB0aGUgYXJndW1lbnQgaGFzIHR5cGUgJ2ludCcgWy1XZXJyb3IsLVdmb3JtYXRdCgkgIGRlc2NyaXB0b3JzX2xvb3BfbGVuZ3RoLCBlbmQgLSA0IC0gZGF0YSk7CgkgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn4KCjIwMTUtMDItMjQgMjM6NTQ6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBvbmx5IGF0dGVtcHQgdXNlIG9mIHRoZSB0ZXh0dXJlIGNhY2hlIHdpdGggR0xNZW1vcnkgY2FwcyBmZWF0dXJlcwoJICBPdGhlcndpc2Ugd2Ugc2VuZCByZWN0YW5nbGUgdGV4dHVyZXMgdG8gZ2xpbWFnZXNpbmsKCjIwMTUtMDItMjQgMjM6NTI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogcmVuZGVyIGJsYWNrIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhIHRleHR1cmUgdG8gZGlzcGxheQoJICBMaWtlIHdoZW4gdGhlIHdpbnN5cyBhc2tzIHVzIHRvIHJlZHJhdyBiZWZvcmUgdGhlIHBpcGVsaW5lIGhhcyBzdGFydGVkCgoyMDE1LTAyLTI1IDAwOjAwOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFsbG93IHNoYXJpbmcgYmV0d2VlbiBidWZmZXJzCgkgIFRoZXJlIHdhcyBubyByZWFsIHJlYXNvbiB3aHkgdGhlIGZsYWcgd2FzIHNldC4gIFdlIHNob3VsZCBiZSBhYmxlCgkgIHRvIGhhbmRsZSBpdC4gIEZpeGVzIGxhc3Qtc2FtcGxlIGhhbmRsaW5nIG9uIGdsIHNpbmtzCgoyMDE1LTAyLTI0IDIwOjM0OjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBhZGQgY29tcGF0IGRlZmluaXRpb24gZm9yIGdsZXMyCgoyMDE1LTAyLTI0IDExOjE5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgaW5pdGlhbGl6ZSB0aGUgcmVuZGVyIHdpbmRvdyBzd2FwIGNoYWluIHdoaWxlIHRoZSBkZXZpY2UgaXMgbG9zdCBhbmQgd2UncmUgd2FpdGluZyBmb3IgcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxNQoKMjAxNS0wMi0yNCAxMToxODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRGVhY3RpdmF0ZSB0aGUgZmFsbGJhY2sgYnVmZmVyIHBvb2wgd2hlbiByZXBsYWNpbmcgaXQgZHVyaW5nIGNhcHMgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjE1CgoyMDE1LTAxLTI5IDE3OjQxOjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBuZXcgY2FvcGVuZ2xsYXllcnNpbmsgZWxlbWVudAoJICByZW5kZXJzIGdzdHJlYW1lciBnbCBzY2VuZS92aWRlbyBmcmFtZXMgdG8gYSBjYW9wZW5nbGxheWVyIHJldHJlaXZhYmxlCgkgIGZyb20gdGhlICJsYXllciIgcHJvcGVydHkuCgoyMDE1LTAxLTE5IDEyOjQzOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hdnNhbXBsZXNpbmsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay9tYWluLm06CgkgIGFwcGxlbWVkaWE6IG5ldyBBVlNhbXBsZUJ1ZmZlckxheWVyU2luawoJICBSZW5kZXJzIGJ1ZmZlcnMgdXNpbmcgdGhlIENBTGF5ZXIgc3ViY2xhc3MgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIKCSAgd2hpY2ggY2FuIGJlIHBsYWNlZCBpbnNpZGUgYSBDb3JlIEFuaW1hdGlvbiByZW5kZXIgdHJlZS4KCjIwMTUtMDItMjQgMTk6MDY6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogZG9uJ3QgdXNlIHRoZSBhc3luYyBjYWxsYmFjayB0byByZW5kZXIKCSAgbm90IHVudGlsIHdlIGNhbiBwcm92aWRlIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSBmb3Igb3RoZXIgd2luZG93CgkgIGltcGxlbWVudGF0aW9ucy4KCjIwMTUtMDItMjQgMDE6MjA6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGFsc28gc3VwcG9ydGVkIHdpdGggZ2xlczMKCjIwMTUtMDItMjQgMTQ6MjM6NDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBsaWJnc3RnbDogZWFnbDogaGFuZGxlIENBTGF5ZXIgcmVzaXplCgoyMDE1LTAyLTIzIDE2OjEzOjMxICswMTAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEZpeCB0cmFuc2Zlcl9wYm8gbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk3NwoKMjAxNS0wMi0yMiAxMDowMzo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiByZWR1Y2UgY3VzdG9tIG1haW4gbG9vcCBsYXRlbmN5CgkgIFRoaXMgZml4IGEgdmVyeSBzbG93IHJlbmRlcmluZyByYXRlIHJlZ3Jlc3Npb24gdGhhdCBvbmx5CgkgIGhhcHBlbnMgd2hlbiB1c2luZyBnc3QtbGF1bmNoLCBpLmUuIGluIHRoZSBjYXNlIHdoZXJlCgkgIHRoZSBtYWluIHRocmVhZCBkb2VzIG5vdCBydW4gYW55IE5TQXBwIGxvb3AuCgkgIEdpdCBiaXNlY3QgcmVwb3J0ZWQgaXQgaGFzIGJlZW4gaW50cm9kdWNlZCBieSB0aGUgY29tbWl0CgkgIGUxMGQyNDE3ZTJmZTdhYTQ3MzNjMDc2OTg0MzM5YjBkNjFjYWExNjk6CgkgICJtb3ZlIHRvIENHTCBhbmQgQ0FPcGVuR0xMYXllciBmb3IgcmVuZGVyaW5nIi4KCSAgVGhlbiB0aGUgY29tbWl0IDdkNDYzNTc2MjcxZTVhNGNjMTA3MDc4MGJhMWE2OWM5NzFlOGJlMWQ6CgkgICJnc3RnbHdpbmRvd19jb2NvYTogZml4IHNsb3cgcmVuZGVyIHJhdGUiIGF0dGVtcHRlZCB0byBmaXgKCSAgdGhlIHNsb3cgcmVuZGVyaW5nIHJhdGUgcHJvYmxlbSB3aGVuIHVzaW5nIGdzdC1sYXVuY2guCgkgIEF0IGxlYXN0IGZvciBtZSBpdCBkb2VzIG5vdCB3b3JrLiBJIHRyaWVkIHNldmVyYWwKCSAgY29tYmluYXRpb25zLCBmb3IgZXhhbXBsZSB0byBmbHVzaCBDQSB0cmFuc2FjdGlvbnMgaW4gdGhlCgkgIGN1c3RvbSBhcHAgbG9vcCwgYXMgbWVudGlvbmVkIGluIHRoZSBkb2MsIGJ1dCB0aGUgb25seSBzb2x1dGlvbgoJICB0aGF0IGZpeGVzIHRoZSBzbG93IHJlbmRlcmluZyBpcyBieSByZWR1Y2luZyB0aGUgbG9vcCBsYXRlbmN5LgoJICBGcm9tIHdoYXQgSSB0ZXN0ZWQsIG5vIG5lZWQgdG8gcHV0IGxlc3MgdGhhbiA2MG1zLCBldmVuIGlmIHRoZQoJICBmcmFtZXJhdGUgaGFzIGFuIGludGVydmFsIG11Y2ggbG93ZXIgKDE2LjZtcyBmb3IgNjAgZnBzKS4KCjIwMTUtMDItMTcgMjM6NTA6NTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgZ2xtaXhlcjogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgZ3N0Z2xtaXhlci5oOjQzOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYg4oCYR3N0R0xNaXhlcuKAmQoJICBnc3RnbG1peGVycGFkLmg6MzI6IGVycm9yOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiDigJhHc3RHTE1peGVy4oCZIHdhcyBoZXJlCgkgIGdzdGdsbWl4ZXIuaDo0NjogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIOKAmEdzdEdMTWl4ZXJGcmFtZURhdGHigJkKCSAgZ3N0Z2xtaXhlcnBhZC5oOjMzOiBlcnJvcjogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYR3N0R0xNaXhlckZyYW1lRGF0YeKAmSB3YXMgaGVyZQoKMjAxNS0wMi0yMSAxOTowNzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDE1LTAyLTIxIDE5OjA3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIG9wdXMgZWxlbWVudHMgdG8gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMi0yMSAxODo1MjowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGRvbid0IHF1aXQgb24gV2FybmluZwoJICBEb24ndCBxdWl0IG9uIFdhcm5pbmcuCgkgIFByaW50IG91dCBhIG1lc3NhZ2Ugd2hlbiB0aGVyZSBpcyBhbiBFcnJvciBvciBXYXJuaW5nLgoKMjAxNS0wMi0yMSAxODo0NzoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGFsd2F5cyBzaG93IGd0ayB3aW5kb3cKCSAgU2hvdyBndGsgd2luZG93IGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gdGFncywgdG8gYWx3YXlzIGhhdmUgdmlzdWFsIGZlZWRiYWNrCgkgIGFib3V0IHRoZSBwaXBlbGluZSBydW5uaW5nLgoKMjAxNS0wMi0yMSAxNzozNTowMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IG1lcmdlIHJldHVybnMgaW4gZ192YWx1ZV90b19zdHJpbmcoKQoKMjAxNS0wMi0yMSAxNzoyNTo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IG1ha2UgYnVzX2NhbGxiYWNrIGNvbnNpc3RlbnQKCSAgU2ltcGxpZnkgdGhlIGJ1c19jYWxsYmFjayB0byBtYWtlIGl0IGNvbnNpc3RlbiB3aXRoIG90aGVyIGV4YW1wbGVzLgoKMjAxNS0wMi0yMSAxNzoxODowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGZpeCB1c2FnZSBvZiBhcmdjIGFuZCBhcmd2CgoyMDE1LTAyLTIxIDE3OjAyOjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4gZXhhbXBsZXM6IHJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZQoJICByZXQgaXMgb25seSB1c2VkIG9uY2UsIHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgaXQgaW4gYSB2YXJpYWJsZSBmb3IgdGhhdC4KCjIwMTUtMDItMjEgMTQ6NDI6MDUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnc3RnbG1lbW9yeTogUmVtb3ZlIG5vdyB1bnVzZWQgdHJhbnNmZXJfdXBsb2FkIGZ1bmN0aW9uLgoKMjAxNS0wMi0yMSAyMzoyOToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBkaXNhYmxlIGF1dG9tYXRpYyBwYm8gdXBsb2FkCgkgIHVudGlsIHdlIGNhbiB0cmFjayB3aGVyZSB0aGUgZGF0YSBpcy9vciBpcyBnb2luZyB0byBiZS4KCjIwMTUtMDItMjAgMTM6NTU6MDUgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogc2VsZWN0IGNvcnJlY3Qgc3RhcnRpbmcgcG9zaXRpb24gZm9yIGxpdmUgc3RyZWFtcwoJICBXaGVuIHBsYXlpbmcgbGl2ZSBITFMgc3RyZWFtcywgdGhlIG1lZGlhIHBsYXliYWNrIHN0YXJ0cyBmcm9tIHRoZQoJICBiZWdpbm5pbmcgb2YgdGhlIG1lZGlhIHBsYXlsaXN0LiBXaGVuIHBsYXlpbmcgYSBsaXZlIEhMUyBzdHJlYW0sCgkgIG1lZGlhIHBsYXliYWNrIHNob3VsZCBzdGFydCBmcm9tIDMgZnJhZ21lbnRzIGZyb20gdGhlIGVuZCBvZiB0aGUKCSAgcGxheWxpc3QuCgkgIFNlZSBzZWN0aW9uIDYuMy4zLiBvZiB0aGUgSExTIGRyYWZ0IFsxXQoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBsb2dpYyB0byBzZWxlY3QgMyBmcmFnbWVudHMgZnJvbSB0aGUgZW5kIHdoZW4KCSAgcGxheWluZyBhIGxpdmUgc3RyZWFtLgoJICBbMV0gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtcGFudG9zLWh0dHAtbGl2ZS1zdHJlYW1pbmctMTIjcGFnZS0yOQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NzQyCgoyMDE1LTAyLTIwIDE4OjQyOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsZW1lbW9yeTogb25seSBzdG9yZSBhbmQgYWN0IG9uIHRoZSBtYXAgZmxhZ3Mgb24gZmlyc3QvbGFzdCBtYXAvdW5tYXAKCSAgQW55dGltZSBlbHNlLCB3ZSBoYXZlIG5vIGlkZWEgaG93IHRvIG1hdGNoIHVwIG1hcCBhbmQgdW5tYXBzLgoJICBXZSBhbHNvIGRvbid0IGtub3cgZXhhY3RseSBob3cgdGhlIGNhbGxpbmcgY29kZSBpcyB1c2luZyB1cy4KCSAgQWxzbyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB3ZSdyZSB0cnlpbmcgdG8gdHJhbnNmZXIgd2hpbGUgc29tZW9uZSBlbHNlCgkgIGlzIGFjY2Vzc2luZyBvdXIgZGF0YSBwb2ludGVyIG9yIHRleHR1cmUgcmVzdWx0aW5nIGluIG1pc21hdGNoZWQgdmlkZW8KCSAgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0ODM5CgoyMDE1LTAyLTE5IDIxOjIxOjU2IC0wNTAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSBzcmNfbG9jayB0byBwcm90ZWN0IGxhdGVuY3kgcmVsYXRlZCBtZW1iZXJzCgkgIE9uZSBoYXMgdG8gdXNlIHRoZSBzcmNfbG9jayBhbnl3YXkgdG8gcHJvdGVjdCB0aGUgbWluL21heC9saXZlIHNvIHRoZXkKCSAgY2FuIGJlIG5vdGlmaWVkIGF0b21pY2FsbHkgdG8gdGhlIHNyYyB0aHJlYWQgdG8gd2FrZSBpdCB1cCBvbiBjaGFuZ2VzLAoJICBzdWNoIGFzIHByb3BlcnR5IGNoYW5nZXMuIFNvIG5vIHBvaW50IGluIGhhdmluZyBhIHNlY29uZCBsb2NrLgoJICBBbHNvLCB0aGUgb2JqZWN0IGxvY2sgd2FzIGJlaW5nIGhlbGQgYWNyb3NzIGEgY2FsbCB0bwoJICBHU1RfRUxFTUVOVF9XQVJOSU5HLCBndWFyYW50ZWVpbmcgYSBkZWFkbG9jay4KCjIwMTUtMDItMTkgMTg6NTM6MzIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSB1bnRydWUgY29tbWVudAoKMjAxNS0wMi0xOSAxODozMDozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgdHJ5IHRvIHB1c2ggdGFncyB3aGlsZSBmbHVzaCBzZWVraW5nCgkgIFRoZSBkb3duc3RyZWFtIHNlZ21lbnQgY291bGQgaGF2ZSBiZWVuIGZsdXNoZWQgYWxyZWFkeSwgc28KCSAgbmVlZCB0byByZS1zZW5kIHRoZSBzZWdtZW50IGV2ZW50IGJlZm9yZSByZS1zZW5kaW5nIHRoZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE5IDE0OjM0OjIzICswMTAwICBHdWlsbGF1bWUgU2VndWluIDxndWlsbGF1bWVAc2VndS5pbj4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZWR1Y2UgcGxheWxpc3QncyBFWFQtWC1WRVJTSU9OIHRvIDMKCSAgV2UgYXJlIG5vdCB1c2luZyBhbnkgZmVhdHVyZXMgZ3JlYXRlciB0aGFuIHRoZSAzcmQgdmVyc2lvbiwKCSAgc28gcmVkdWNlIHRvIHdoYXQgd2UgYWN0dWFsbHkgdXNlIHRvIG1ha2UgaXQgY29tcGF0aWJsZSB3aXRoCgkgIG1vcmUgcGxheWVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0Njg5CgoyMDE1LTAyLTE5IDE0OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogZGVmYXVsdCBlbmNvZGluZyBuYW1lIHRvIE9QVVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNDowNTowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMDUgMTA6Mjc6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBuZWdvdGlhdGUgdGhlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgZW5jb2RpbmcgbmFtZSB0aGF0IGdzdHJlYW1lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNzoyMTo0NiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkgIHNpbXBsZXZpZGVvbWFya2RldGVjdDogbW92ZSBvZmZzZXQgY2FsY3VsYXRpb25zIG91dCBvZiBpbm5lciBsb29wcwoJICB0aGUgY2FsY3VsYXRpb25zIGZvciBkZXRlY3RpbmcgdGhlIHZpZGVvbWFyayBpcyBiZWluZyByZXBlYXRlZAoJICBpbiBmb3IgbG9vcCB1bm5lY2Vzc2FyaWx5LiBNb3ZpbmcgdGhpcyBvdXRzaWRlIG9mIGZvciBsb29wCgkgIHN1Y2ggdGhhdCB0aGUgY29kZSBuZWVkIG5vdCBiZSBleGVjdXRlZCBldmVydGltZSB0aGUgbG9vcCBpcyBleGVjdXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc3OAoKMjAxNS0wMi0xOSAxMTowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHRoZSBzaW5rcGFkcyBpdGVyYXRvciBkaXJlY3RseSB0byBxdWVyeSB1cHN0cmVhbSBsYXRlbmNpZXMKCSAgV2hpbGUgZ3N0X2FnZ3JlZ2F0b3JfaXRlcmF0ZV9zaW5rcGFkcygpIG1ha2VzIHN1cmUgdGhhdCBldmVyeSBwYWQgaXMgb25seQoJICB2aXNpdGVkIG9uY2UsIGV2ZW4gd2hlbiB0aGUgaXRlcmF0b3IgaGFzIHRvIHJlc3luYywgdGhpcyBpcyBub3QgYWxsIHdlIGhhdmUKCSAgdG8gZG8gZm9yIHF1ZXJ5aW5nIHRoZSBsYXRlbmN5LiBXaGVuIHRoZSBpdGVyYXRvciByZXN5bmNzIHdlIGFjdHVhbGx5IGhhdmUKCSAgdG8gcXVlcnkgYWxsIHBhZHMgZm9yIHRoZSBsYXRlbmN5IGFnYWluIGFuZCBmb3JnZXQgb3VyIHByZXZpb3VzIHJlc3VsdHMuIEl0CgkgIG1pZ2h0IGhhdmUgaGFwcGVuZWQgdGhhdCBhIHBhZCB3YXMgcmVtb3ZlZCwgd2hpY2ggaW5mbHVlbmNlZCB0aGUgcmVzdWx0IG9mCgkgIHRoZSBsYXRlbmN5IHF1ZXJ5LgoKMjAxNS0wMi0xOSAxMDo1NzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTW92ZSBnc3RfYWdncmVnYXRvcl9nZXRfbGF0ZW5jeV91bmxvY2tlZCgpIGEgYml0CgkgIEl0IHdhcyBiZXR3ZWVuIGFub3RoZXIgZnVuY3Rpb24gYW5kIGl0cyBoZWxwZXIgZnVuY3Rpb24gYmVmb3JlLCB3aGljaCB3YXMKCSAgY29uZnVzaW5nIHdoZW4gcmVhZGluZyB0aGUgY29kZSBhcyBpdCBoYWQgbm90aGluZyB0byBkbyB3aXRoIHRoZSBvdGhlcgoJICBmdW5jdGlvbnMuCgoyMDE1LTAyLTE5IDAxOjI4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSAgcnNuaW5wdXRzZWxlY3RvcjogRmFpbCB0aGUgbGF0ZW5jeSBxdWVyeSBpZiBvbmUgb2YgdGhlIHVwc3RyZWFtIHF1ZXJpZXMgZmFpbHMKCjIwMTUtMDItMTkgMDE6Mjg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZhaWwgdGhlIGxhdGVuY3kgcXVlcnkgaWYgb25lIG9mIHRoZSB1cHN0cmVhbSBxdWVyaWVzIGZhaWxzCgoyMDE1LTAyLTE5IDAxOjI4OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGYWlsIHRoZSBsYXRlbmN5IHF1ZXJ5IGlmIG9uZSBvZiB0aGUgdXBzdHJlYW0gcXVlcmllcyBmYWlscwoKMjAxNS0wMi0xOCAxOTowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBPbmx5IHNldCBsYXRlbmN5IGlmIHdlIGFscmVhZHkga25vdyBvdXIgY2FwcwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc2V0IGJvZ3VzIHZhbHVlcyBvciBHU1RfQ0xPQ0tfVElNRV9OT05FLgoJICBBbHNvIG1ha2Ugc3VyZSB0byByZXNldCB0aGUgY2FwcyBmaWVsZCB0byBOVUxMIGFmdGVyIHVucmVmZmluZwoJICB0aGUgY2FwcyB0byBwcmV2ZW50IGFjY2lkZW50aWFsIHVzZSBhZnRlcndhcmRzLCBhbmQgdW5yZWYgYW55CgkgIG9sZCBjYXBzIGJlZm9yZSB3ZSByZW1lbWJlciBuZXcgY2Fwcy4KCjIwMTUtMDItMTggMTU6NTM6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGxvY2tpbmcgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNToxMToxNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVuYW1lIGNvbmZ1c2lubHkgbmFtZWQgU1JDX1NUUkVBTV9MT0NLIG1hY3JvcyB0byBTUkNfTE9DSwoJICBUaGlzIHdpbGwgbWF0Y2ggdGhlIG5hbWUgb2YgdGhlIGxvY2sgaXRzZWxmLiBJdCBpcyBhbHNvIG5vdCBhIHN0cmVhbQoJICBsb2NrIGFzIGl0IG5vdCByZWN1cnNpdmUgYW5kIG5vdCBoZWxkIHdoaWxlIHB1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTU6MDY6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbmFtZSBjb25mdXNpbmdseSBuYW1lZCBzdHJlYW0gbG9jayB0byBmbHVzaCBsb2NrCgkgIFRoaXMgbG9jayBpcyBub3Qgd2hhdCBpcyBjb21tb25seSBrbm93biBhcyBhICJzdHJlYW0gbG9jayIgaW4gR1N0cmVtZXIsCgkgIGl0J3Mgbm90IHJlY3Vyc2l2ZSBhbmQgaXQncyB0YWtlbiBmcm9tIHRoZSBub24tc2VyaWFsaXplZCBGTFVTSF9TVEFSVCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNTowNDowNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IG1hY3JvIGluZGVuZGF0aW9uCgkgIENoYW5nZXMgbm8gY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE3OjEwOjQ4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybTogRml4IGluY2x1ZGVzIG9mIGdyYXBoZW5lIGhlYWRlcnMKCSAgVGhlIGdyYXBoZW5lLTEuMCBwYXJ0IHNob3VsZCBub3QgYmUgaW4gdGhlIHNvdXJjZSBjb2RlLiBUaGlzIGRpcmVjdG9yeQoJICBpcyBwYXJ0IG9mIHRoZSBjZmxhZ3MgaW5jbHVkZS4gVGhpcyBpcyBzaW1pbGFyIHRvIGdzdHJlYW1lci0xLjAvCgkgIGRpcmVjdG9yeS4gVGhpcyBicmVhayBjb21waWxhdGlvbiBpZiB0aGUgaW5jbHVkZSBkaXJlY3Rvcnkgd2hlcmUKCSAgZ3JhcGhlbmUgaXMgaW5zdGFsbGVkIGlzIG5vdCBpbiB5b3VyIGluY2x1ZGUgcGF0aC4KCjIwMTUtMDItMTggMTk6MDc6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZW1vdmUgdW5uZWVkZWQgdmFsdWVzCgkgIE5vIG5lZWQgdG8gc3RvcmUgdGhlIEdzdEZsb3dSZXR1cm4gd2hlbiB3ZSBjYW4gY2hlY2sgaWYgaXQgaXMgbm90IE9LIGRpcmVjdGx5CgoyMDE1LTAyLTE4IDE4OjMzOjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVuYW1pbmcgR3N0Rmxvd1JldHVybiB2YXJpYWJsZQoJICBIYXZpbmcgYSB2YXJpYWJsZSBuYW1lZCByZXQgaW4gYSBzdGF0aWMgdm9pZCBmdW5jdGlvbiBpcyB2ZXJ5IGNvbmZ1c2luZyBzaW5jZQoJICB0aGlzIHVzdWFsbHkgaXMgdG8gc3RvcmUgd2hhdCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uCgoyMDE1LTAyLTE4IDE4OjAwOjQ4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVtb3ZlIGlnbm9yZWQgdmFsdWUKCSAgVmFsdWUgc3RvcmVkIGluIHJldCB3aWxsIGJlIG92ZXdyaXR0ZW4gaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBsb29wLiBXaGljaAoJICBtZWFucyBpdCBpcyBuZXZlciB1c2VkLgoJICBQbHVzIGEgc3R5bGUgaXNzdWUgdG8gbWFrZSBnc3QtaW5kZW50IGhhcHB5IGFuZCBhbGxvdyB0aGUgY29tbWl0LgoKMjAxNS0wMi0xOCAxNzo0MToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogUmVtb3ZlIGdfd2FybmluZ3MoKSBmb3IgdGhlIGRlcHJlY2F0ZWQgYXVkaW8gcHJvcGVydHkKCSAgT3RoZXJ3aXNlIHRoZXJlIGFyZSBnX3dhcm5pbmdzKCkgYWxyZWFkeSB3aGVuIGp1c3QgdXNpbmcgZ3N0LWluc3BlY3Qgb3IKCSAgZHVtcGluZyBhIHBpcGVsaW5lIGdyYXBoLgoKMjAxNS0wMi0xNSAyMzoxNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByb3RlY3QgYWdhaW5zdCBtYWxmb3JtZWQgaXNvbWJmZiBmb3JtYXQKCSAgQmUgbW9yZSBjYXJlZnVsIGFyb3VuZCBtYWxmb3JtZWQgbXBkcyB0aGF0IGFubm91bmNlIHVzaW5nCgkgIGlzb21iZmYgcHJvZmlsZSBidXQgYWN0dWFsbHkgYXJlIHJlZ3VsYXIgbXBkcwoKMjAxNS0wMi0xOCAxMjo0NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IERlYWN0aXZhdGUgdGhlIGZhbGxiYWNrIHBvb2wgYW5kIHVucmVmIHRoZSBmYWxsYmFjayBidWZmZXIgd2hlbiByZXNldHRpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc3RpbGwgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3VyZmFjZSBsZWZ0LCB3aGljaCB3b3VsZAoJICBwcmV2ZW50IGFjdGl2YXRpbmcgdGhlIHNpbmsgYWdhaW4gbGF0ZXIuIEUuZy4gYWZ0ZXIgd2UgbG9zdCB0aGUgZGV2aWNlLgoJICBIb3BlZnVsbHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxNQoKMjAxNS0wMi0xNyAxMTo1Mzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBkZWZpbmUKCjIwMTUtMDItMTcgMTE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVzZSBjb3JyZWN0IGZ1bmN0aW9uIHRvIGNsZWFyIGZyYWdtZW50IGluZm8KCSAgSnVzdCBmcmVlaW5nIHRoZSB1cmwgd29uJ3QgcmVzZXQgdGhlIGJ5dGUgcmFuZ2VzIGFuZCBjYW4gbGVhZCB0byB3cm9uZwoJICByYW5nZXMgYmVpbmcgdXNlZC4KCjIwMTUtMDItMTcgMTA6NTA6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBkZXByYWNhdGUgYmFuZHdpZHRoLXVzYWdlIGluIGZhdm9yIG9mIGJpdHJhdGUtbGltaXQKCSAgQml0cmF0ZS1saW1pdCBpcyBhbHJlYWR5IGF2YWlsYWJsZSBpbiB0aGUgYmFzZWNsYXNzIGFuZCwgZXZlbiB0aG91Z2gKCSAgdGhlIGJhbmR3aWR0aC11c2FnZSBuYW1lIGlzIGJldHRlciwgaGxzIGFuZCBtc3MgYWxyZWFkeSB1c2VkCgkgIGJpdHJhdGUtbGltaXQuIFRoaXMgcGF0Y2ggZGVwcmVjYXRlcyB0aGUgYmFuZHdpZHRoLXVzYWdlIGFuZCBtYXBzCgkgIGl0IHRvIHRoZSBiYXNlY2xhc3MgYml0cmF0ZS1saW1pdGUuCgoyMDE1LTAyLTE3IDEwOjQwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgYml0cmF0ZS1saW1pdCBwcm9wZXJ0eQoJICBNb3ZlIHRoZSBwcm9wZXJ0eSBmcm9tIHN1YmNsYXNzZXMgdG8gYWRhcHRpdmVkZW11eCwgaXQgYWxsb3dzCgkgIHNlbGVjaW5nIHRoZSBwZXJjZW50YWdlIG9mIHRoZSBtZWFzdXJlZCBiaXRyYXRlIHRvIGJlIHVzZWQgd2hlbgoJICBzZWxlY3Rpbmcgc3RyZWFtIGJpdHJhdGVzCgoyMDE1LTAyLTE3IDEwOjA0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogYWxsb3cgY3JlYXRpb24gb2YgJ2luZmluaXRlJyBwbGF5bGlzdAoJICBBbGxvdyB0aGUgcGxheWxpc3QtbGVuZ3RoIHRvIGFjY2VwdCAnMCcgYXMgYSB2YWx1ZSwgaW5kaWNhdGluZwoJICB0aGF0IG5vIHNlZ21lbnQgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgcGxheWxpc3QuIFRoaXMgYWxsb3dzCgkgIGdlbmVyYXRpbmcgcGxheWxpc3RzIHRvIGJlIHVzZWQgYXMgVk9EIHdoZW4gY29tcGxldGUuCgoyMDE1LTAyLTE3IDEwOjA0OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzc2luazogcmVtb3ZlIHVudXNlZCBhdHRyaWJ1dGUKCSAgdGhlIEdGaWxlIGF0dHJpYnV0ZSBpcyBuZXZlciB1c2VkCgoyMDE1LTAyLTE3IDEwOjAzOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eQoJICBBbGxvd3MgdG8gc2V0IGEgYml0cmF0ZSBkaXJlY3RseSBpbnN0ZWFkIG9mIG1lYXN1cmluZyBpdCBpbnRlcm5hbGx5CgkgIGJhc2VkIG9uIHRoZSByZWNlaXZlZCBjaHVua3MuIFRoZSBjb25uZWN0aW9uLXNwZWVkIHdhcyByZW1vdmVkIGZyb20KCSAgbXNzZGVtdXggYW5kIGhsc2RlbXV4IGFzIGl0IGlzIG5vdyBpbiB0aGUgYmFzZSBjbGFzcwoKMjAxNS0wMi0xNyAwMDozNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogZG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMKCSAgRG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMgdG8gY2hlY2sKCSAgd2hldGhlciBpdCBoYXMgYmVlbiBmcmVlZCBhbHJlYWR5IG9yIG5vdC4gSnVzdCBjbGVhciBtdXRleAoJICBhbmQgR0NvbmQgdW5jb25kaXRpb25hbGx5IGluIGZyZWUgZnVuY3Rpb24sIHRoZXkgYXJlIGFsd2F5cwoJICBpbml0ZWQgYW55d2F5LCBhbmQgdGhlIGZyZWUgZnVuY3Rpb24gY2FuJ3QgYmUgY2FsbGVkIG11bHRpcGxlCgkgIHRpbWVzIGVpdGhlci4KCjIwMTUtMDItMTYgMjM6NTQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBkb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscwoJICBEb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscyB0byBjaGVjawoJICB3aGV0aGVyIGl0IGhhcyBiZWVuIGZyZWVkIGFscmVhZHkgb3Igbm90LiBKdXN0IHR1cm4gZGlzcG9zZQoJICBmdW5jdGlvbiBpbnRvIGZpbmFsaXplIGZ1bmN0aW9uIHdoaWNoIHdpbGwgb25seSBiZSBjYWxsZWQKCSAgb25jZSwgdGhhdCB3YXkgd2UgY2FuIGp1c3QgY2xlYXIgdGhlIG11dGV4IHVuY29uZGl0aW9uYWxseS4KCjIwMTUtMDItMTcgMTg6MTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBkb24ndCBkZWFkbG9jayBpZiB0aGUgZGlzcGF0Y2hfc3luYyBpcyBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCSAgUHJvdmlkZSBhIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHdlIGFyZSBiZWluZyBjYWxsZWQgZnJvbQoJICB0aGUgbWFpbiB0aHJlYWQgYW5kIGFjdCBhcHByb3ByaWF0ZWx5LgoKMjAxNS0wMi0xNyAxNjo0MToxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IG9ubHkgc3RhcnQgZHJhd2luZyBpZiB0aGUgcGFyZW50IGdsIGNvbnRleHQgaXMgcmVhZHkKCSAgb3RoZXJ3aXNlIHdlIG1heSB0cnkgdG8gdXNlIEdzdEdMRnVuY3MgKiB0aGF0IGhhc24ndCBiZWVuIHNldCB5ZXQKCjIwMTUtMDItMTcgMTY6Mzk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBzbWFsbCByZWZhY3RvciBvZiBsYXllci92aWV3IGNyZWF0aW9uIGludG8gdGhlIHdpbmRvdwoKMjAxNS0wMi0xNyAwMTowNDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogUmVtb3ZlIGFzc2VydGlvbiBpbiBnc3RfZ2xfd2luZG93X3Nob3coKSBmb3Igc3ViY2xhc3NlcyBub3QgaW1wbGVtZW50aW5nIGl0CgkgIE9uIEFuZHJvaWQgYW5kIGlPUyB3ZSBjYW4ndCBjcmVhdGUgYSB3aW5kb3cgb3Vyc2VsdmVzLCBzbyBhbHNvIGNhbid0IGp1c3Qgc2hvdwoJICBvbmUuIFRoYXQncyBub3QgYSBwcm9ibGVtIGFuZCBhbiBhc3NlcnRpb24gaXMgbm90IHJlYWxseSBuZWVkZWQgaGVyZS4KCjIwMTUtMDItMTYgMTI6MzU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQ2hlY2sgaWYgVlRTZXNzaW9uQ29weVByb3BlcnR5KCkgc3VjY2VlZHMgYmVmb3JlIHVzaW5nIHRoZSByZXN1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU4NQoKMjAxNS0wMi0xMyAyMzo0NToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZHJvcCBHQVAgZXZlbnRzIHVudGlsIHdlIGhhbmRsZSB0aGVtIHByb3Blcmx5CgoyMDE1LTAyLTEyIDEyOjA0OjQ0ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSAgc2ltcGxldmlkZW9tYXJrOiByZWZhY3RvciBjb2RlCgkgIHRoZSBjYWxjdWxhdGlvbnMgZm9yIGRyYXdpbmcgdGhlIHZpZGVvbWFyayBpcyBiZWluZyByZXBlYXRlZAoJICBpbiBmb3IgbG9vcCB1bm5lY2Vzc2FyaWx5LiBNb3ZpbmcgdGhpcyBvdXRzaWRlIG9mIGZvciBsb29wCgkgIHN1Y2ggdGhhdCB0aGUgY29kZSBuZWVkIG5vdCBiZSBleGVjdXRlZCBldmVydGltZSB0aGUgbG9vcCBpcyBleGVjdXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM3MQoKMjAxNS0wMi0wOSAxMToyMTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogRml4IHNlZ21lbnQgYW5kIHNlZ21lbnQgZXZlbnQgaGFuZGxpbmcgZHVyaW5nIHNlZWtpbmcKCSAgQWx3YXlzIHVwZGF0ZSB0aGUgc2VnbWVudCBhbmQgbm90IG9ubHkgZm9yIGFjY3VyYXRlIHNlZWtpbmcgYW5kIGFsd2F5cwoJICBzZW5kIGEgbmV3IHNlZ21lbnQgZXZlbnQgYWZ0ZXIgc2Vla3MuCgkgIEZvciBub24tYWNjdXJhdGUgZm9yY2UgYSByZXNldCBvZiBvdXIgc2VnbWVudCBpbmZvIHRvIHN0YXJ0IGZyb20KCSAgd2hlcmUgb3VyIHNlZWsgbGVkIHVzIGFzIHdlIGRvbid0IG5lZWQgdG8gYmUgYWNjdXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM2MwoKMjAxNS0wMi0xMyAxNjowNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogdXNlIG5ldyBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoKMjAxNS0wMi0xMyAxNjowMzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgoyMDE1LTAyLTEzIDE1OjUzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogdXNlIG5ldyBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoKMjAxNS0wMi0xMyAxNTo0OTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCSAgc3RlYWxfYnVmZmVyKCkgKyB1bnJlZiBzZWVtcyB0byBiZSBhIHdpZGUtc3ByZWFkIGlkaW9tCgkgICh3aGljaCBwZXJoYXBzIGluZGljYXRlcyB0aGF0IHNvbWV0aGluZyBpcyBub3QgcXVpdGUKCSAgcmlnaHQgd2l0aCB0aGUgd2F5IGFnZ3JlZ2F0b3IgcGFkIHdvcmtzIGN1cnJlbnRseSkuCgoyMDE1LTAyLTEyIDEzOjMyOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBvbmx5IHBvc3QgbGF0ZW5jeSBtZXNzYWdlIGlmIGFueXRoaW5nIGNoYW5nZWQKCSAgUGVyaGFwcyB3ZSBzaG91bGQgY2hlY2sgZm9yIGVsZW1lbnQgc3RhdGUgYXMgd2VsbCBhbmQKCSAgb25seSBwb3N0IGl0IGlmIGluIFBMQVlJTkcgc3RhdGUuCgoyMDE1LTAyLTEyIDE1OjQ4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiByZW1vdmUgR1NUX0RJU0FCTEVfUEFSU0UgZ3VhcmRzIGZyb20gdHdvIHRlc3RzIHRoYXQgZG9uJ3QgcmVxdWlyZSBpdAoKMjAxNS0wMS0yOCAxMjoxMjoyNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogTWFrZSBkZWJ1ZyBjYXRlZ29yeSBuYW1pbmcgYSBiaXQgbW9yZSBjb25zaXN0ZW50CgoyMDE1LTAyLTEzIDE5OjEyOjIwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBmaXggY3Jhc2ggd2hlbiBub24tR0wgbWVtb3J5IGlzIHVzZWQKCjIwMTUtMDItMDUgMTg6MTA6MTUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IGxvZ2ljIGluIGZyYWdtZW50X2Rvd25sb2FkX2ZpbmlzaC4KCSAgVGhpcyB3YXMgcHJldmVudGluZyB1cyBmcm9tIHN1cmZhY2luZyBhIG1lYW5pbmdmdWwgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3MDMKCjIwMTUtMDItMTIgMjI6MDY6MTcgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBoYW5kbGluZyBvZiBsaXZlIHN0cmVhbXMgd2l0aCB0aW1lc2hpZnQgYnVmZmVycy4KCSAgQnkgaW1wbGVtZW50aW5nIGdldF9saXZlX3NlZWtfcmFuZ2UuCgkgIEFzIHNob3duIGJ5IDoKCSAgZ3N0LXZhbGlkYXRlLTEuMCBwbGF5YmluIFwKCSAgdXJpPWh0dHA6Ly9kZXYtaXBsYXRmb3Jtcy5rdy5iYmMuY28udWsvZGFzaC9uZXdzMjQtYXZjMy9uZXdzMjQucGhwCgkgIFRoaXMgcGF0Y2ggaGFuZGxlcyBsaXZlIHNlZWtpbmcsIGJ5IHNldHRpbmcgYSBsaXZlIHNlZWsgcmFuZ2UKCSAgY29tcHJpc2VkIGJldHdlZW4gbm93IC0gdGltZVNoaWZ0QnVmZmVyRGVwdGggYW5kIG5vdy4KCSAgVGhlIGludGVlcnN0aW5nIHRoaW5nIHdpdGggdGhpcyBzdHJlYW0gaXMgdGhhdCBvbmUgY2FuIGFjdHVhbGx5CgkgIGFzayBmcmFnbWVudHMgdXAgdG8gYXZhaWxhYmlsaXR5U3RhcnRUaW1lLCBidXQgaXQgc2VlbXMgcXVpdGUgY2xlYXIKCSAgaW4gdGhlIHNwZWMgdGhhdCBjb250ZW50IGlzIG9ubHkgZ3VhcmFudGVlZCB0byBleGlzdCB1cCB0bwoJICB0aW1lU2hpZnRCdWZmZXJEZXB0aC4KCSAgT25lIGNhbiB0ZXN0IGxpdmUgc2Vla2luZyB0aGlzIHdheSA6CgkgIGdzdC12YWxpZGF0ZS0xLjAgcGxheWJpbiBcCgkgIHVyaT1odHRwOi8vZGV2LWlwbGF0Zm9ybXMua3cuYmJjLmNvLnVrL2Rhc2gvbmV3czI0LWF2YzMvbmV3czI0LnBocCBcCgkgIC0tc2V0LXNjZW5hcmlvIHNlZWtfYmFjay5zY2VuYXJpbwoJICB3aXRoIHNjZW5hcmlvIGJlaW5nOgoJICBkZXNjcmlwdGlvbiwgc2Vlaz10cnVlCgkgIHNlZWssIHBsYXliYWNrLXRpbWU9cG9zaXRpb24rNS4wLCBzdGFydD0icG9zaXRpb24tNjAwLjAiLAoJICBmbGFncz1hY2N1cmF0ZStmbHVzaAoJICBUaGlzIGV4YW1wbGUgd2lsbCBwbGF5IHRoZSBzdHJlYW0sIHdhaXQgZm9yIGZpdmUgc2Vjb25kcywgdGhlbiBzZWVrIGJhY2sKCSAgdG8gYSBwb3NpdGlvbiAxMCBtaW51dGVzIGVhcmxpZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNjIKCjIwMTUtMDItMTIgMjI6MDQ6MTAgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogU2V0IGZpcnN0IHNlZ21lbnQgdGltZSB0byBzZWdtZW50IHN0YXJ0LgoJICBPdGhlcndpc2UgYXMgbG9uZyBhcyBhIHNlZWsgd2Fzbid0IGV4ZWN1dGVkLCB0aGUgcG9zaXRpb24gd2FzCgkgIHJlcG9ydGVkIGluY29ycmVjdGx5OgoJICBnc3QtdmFsaWRhdGUtMS4wIHBsYXliaW4gXAoJICB1cmk9aHR0cDovL2Rldi1pcGxhdGZvcm1zLmt3LmJiYy5jby51ay9kYXNoL25ld3MyNC1hdmMzL25ld3MyNC5waHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM2MgoKMjAxNS0wMi0xMiAxNzozMzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxNS0wMi0xMiAxNTowMjozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsOiBBZGQvVXBkYXRlIG1vcmUgZGVidWcgc3RhdGVtZW50cwoJICBXaGVyZSBwb3NzaWJsZSwgdXNlIHRoZSBfT0JKRUNUIHZhcmlhbnRzIGluIG9yZGVyIHRvIHRyYWNrIGJldHRlciBmcm9tCgkgIHdoaWNoIG9iamVjdCB0aGUgZGVidWcgc3RhdGVtZW50IGlzIGNvbWluZyBmcm9tCgkgIERlZmluZSAoYW5kIHVzZSkgR1NUX0NBVF9ERUZBVUxUIHdoZXJlIGFwcGxpY2FibGUKCSAgVXNlIEdTVF9QVFJfRk9STUFUIHdoZXJlIGFwcGxpY2FibGUKCjIwMTUtMDItMTIgMTQ6NTg6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbDogTWFrZSBnbGNvbnRleHQgZGVidWcgY2F0ZWdvcnkgdXNlZCBpbiBtb3JlIHBsYWNlcwoJICBBcyBhIGJvbnVzIGl0IG1ha2VzIHRoZSBlZ2wgY29udGV4dCBkZWJ1ZyBtZXNzYWdlcyB2aXNpYmxlIG5vdyA6KQoKMjAxNS0wMi0xMiAxNDo1NjoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogU3ByaW5rbGUgbW9yZSBkZWJ1ZwoKMjAxNS0wMi0xMiAxMToxNTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogc2V0IHByb3BlciBzdHJlYW0gdHlwZSB0byBzdHJlYW1zCgkgIHN0cm5jbXAgcmV0dXJucyAwIHdoZW4gaXQgY29tcGFyZXMgZXF1YWwgYW5kIG5vdCBhCgkgIGJvb2xlYW4KCjIwMTUtMDItMTIgMTE6MjY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGNhbGN1bGF0ZSBzdHJlYW1fdGltZSB1c2VkIHRvIHN5bmMgcGFkIHZhbHVlcyBjb3JyZWN0bHkKCSAgVXNlIHBhZCAoaW5wdXQpIHNlZ21lbnQgdG8gY2FsY3VsYXRlIHRoZSBzdHJlYW0gdGltZSBmcm9tIHRoZQoJICBpbnB1dCB0aW1lc3RhbXAsIG5vdCB0aGUgYWdncmVnYXRvciAob3V0cHV0KSBzZWdtZW50LgoKMjAxNS0wMi0xMiAxMToxMToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBPbmx5IHVzZSB0aGUgZHVyYXRpb24gb2YgdGhlIHNhbXBsZSBpZiBpdCBpcyB2YWxpZAoKMjAxNS0wMS0yNyAxMzo0ODo0MiArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRyYWNrIHBlci1mcmFnbWVudCBiaXRyYXRlcy4KCSAgQW5kIHVzZSB0aGUgYXZlcmFnZSB0byBnbyB1cCBpbiByZXNvbHV0aW9uLCBhbmQgdGhlIGxhc3QgZnJhZ21lbnQKCSAgYml0cmF0ZSB0byBnbyBkb3duLgoJICBUaGlzIGFsbG93cyB0aGUgZGVtdXhlciB0byByZWFjdCByYXBpZGx5IHRvIGJpdHJhdGUgbG9zcywgYW5kCgkgIGJlIGNvbnNlcnZhdGl2ZSBmb3IgYml0cmF0ZSBpbXByb3ZlbWVudHMuCgkgICsgQWRkIGEgY29uc3RydWN0IG9ubHkgcHJvcGVydHkgdG8gZGVmaW5lIHRoZSBudW1iZXIgb2YgZnJhZ21lbnRzCgkgIHRvIGNvbnNpZGVyIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGF2ZXJhZ2UgbW92aW5nIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI5NzkKCjIwMTUtMDItMTEgMTQ6NDQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IEFkZCBzdXBwb3J0IGZvciAxMGJpdCA0OjI6MCBhbmQgNDo0OjQgZm9ybWF0cwoKMjAxNS0wMi0xMSAxNDoxNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgSW1wcm92ZSBhbmQgZml4IExBVEVOQ1kgcXVlcnkgaGFuZGxpbmcKCSAgVGhpcyBub3cgZm9sbG93cyB0aGUgZGVzaWduIGRvY3MgZXZlcnl3aGVyZSwgZXNwZWNpYWxseSB0aGUgbWF4aW11bSBsYXRlbmN5CgkgIGhhbmRsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTA2CgoyMDE1LTAyLTEwIDE1OjU1OjUwICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4gZXhhbXBsZXM6IG1lbW9yeSBsZWFrIGluIGNhbWVyYWJpbiBleGFtcGxlcyBjb2RlCgkgIHNob3VsZCB1bnJlZiBjYXBzIGFmdGVyIHNldCB0byBwcm9maWxlLiBwcm9maWxlIHdpbGwgcmVmIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjE5CgoyMDE1LTAyLTEwIDE1OjUzOjIxICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbiBleGFtcGxlczogbWVtb3J5IGxlYWsgaW4gY2FtZXJhYmluIGV4YW1wbGVzIGNvZGUKCSAgc2hvdWxkIHVucmVmIGFmdGVyIHNldCBvYmplY3QuIFRoZSBvYmplY3Qgd2lsbCBiZSByZWZlZCB3aGVuIHNldAoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxOQoKMjAxNS0wMi0xMCAxNjoxODozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBPbmx5IGFsbG9jYXRlIGF0IG1vc3QgaGFsZiB0aGUgbnVtYmVyIG9mIGludGVybmFsIGJ1ZmZlcnMgYXMgZXh0ZXJuYWwgYXVkaW9yaW5nYnVmZmVyIG9uZXMKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGVuZCB1cCByZWFkaW5nIHRvbyBtdWNoIGZyb20gdGhlIGF1ZGlvcmluZ2J1ZmZlciwgd2hpY2gKCSAgd291bGQgcmVzdWx0IGluIHJlYWRpbmcgc2lsZW5jZS4KCjIwMTUtMDItMTAgMTY6MDE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFwcGx5IHRoZSBkaWZmIGJldHdlZW4gZWxlbWVudCBhbmQgcGlwZWxpbmUgImJhc2UiIHRpbWUgaW4gYWxsIGNhc2VzCgkgIEV2ZW4gaWYgYm90aCBjbG9ja3MgaGF2ZSB0aGUgc2FtZSByYXRlLCB3ZSBuZWVkIHRvIGFwcGx5IHRoaXMgZGlmZi4gT25seSB3aGVuCgkgIGl0J3MgdGhlIHNhbWUgY2xvY2sgd2UgZG9uJ3QsIGFzIGl0J3Mgb3VyIGNsb2NrIHRoZW4uCgoyMDE1LTAyLTEwIDE1OjMwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgdGhlIGRpZmYgYmV0d2VlbiB0aGUgcGlwZWxpbmUgYmFzZSB0aW1lIGFuZCB3aGVuIHdlIHN0YXJ0IHRvIHBsYXkKCSAgQWRkIHRoZSBkaWZmIGJldHdlZW4gdGhlIGV4dGVybmFsIHRpbWUgd2hlbiB3ZSB3ZW50IHRvIHBsYXlpbmcgYW5kCgkgIHRoZSBleHRlcm5hbCB0aW1lIHdoZW4gdGhlIHBpcGVsaW5lIHdlbnQgdG8gcGxheWluZy4gT3RoZXJ3aXNlIHdlCgkgIHdpbGwgYWx3YXlzIHN0YXJ0IG91dHB1dHRpbmcgZnJvbSAwIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcnVubmluZwoJICB0aW1lLgoKMjAxNS0wMi0xMCAxNDo1Mzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBY3R1YWxseSBpbmNsdWRlIHRoZSBjaGFuZ2UgbWVudGlvbmVkIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAxNS0wMi0xMCAxNDo0ODowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3tzcmMsc2lua306IFNhbXBsZSB0aGUgaW50ZXJuYWwgY2xvY2sgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRpbmcgdGhlIGRldmljZQoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc3RheSBhdCAwLjBzIGZvciB0b28gbG9uZyBiZWNhdXNlIHdlIHdpbGwgdGFrZSB0aGUgZmlyc3QKCSAgdGltZXN0YW1wIHdlIGV2ZXIgc2VlIGFzIDAuMC4uLiB3aGljaCB3aWxsIGJlIGFmdGVyIHdlIHN0YXJ0ZWQgdGhlIGRldmljZS4KCjIwMTUtMDItMTAgMTA6NTY6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogV2hlbiByZWNlaXZpbmcgdGltZW91dCBiZWZvcmUgY2FwcywgbWFrZSBzdXJlIHRvIGFsc28gYWR2YW5jZSBvdXIgZnJhbWUgY291bnRlcgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBkaXJlY3RseSBnbyBFT1Mgb24gdGhlIG5leHQgbm9uLXRpbWVvdXQuCgoyMDE1LTAyLTEwIDEwOjQ5OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQYXVzZSBzcmNwYWQgdGFzayBvbiBmbG93IGVycm9ycwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjYWxsIHRoZSB0YXNrIGZ1bmN0aW9uIG92ZXIgYW5kIG92ZXIgYWdhaW4gdW50aWwKCSAgdXBzdHJlYW0gZmluYWxseSBoYW5kbGVkIHRoZSBmbG93IHJldHVybiBhbmQgc2h1dHMgdXMgZG93bi4KCjIwMTUtMDItMDkgMDA6NTk6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggYnVmZmVyIHNlbGVjdGlvbiB3aGVuIGR1cmF0aW9uPS0xCgkgIElmIHRoZSBzcmMgZnJhbWVyYXRlIGFuZCB2aWRlb2FnZ3JlYXRvcidzIG91dHB1dCBmcmFtZXJhdGUgd2VyZQoJICBkaWZmZXJlbnQsIHRoZW4gd2Ugd2VyZSB0YWtpbmcgZXZlcnkgc2luZ2xlIGJ1ZmZlciB0aGF0IGhhZCBkdXJhdGlvbj0tMQoJICBhcyBpdCBjYW1lIGluIHJlZ2FyZGxlc3Mgb2YgdGhlIGJ1ZmZlcidzIHN0YXJ0IHRpbWUuICBUaGlzIGNhdXNlZCB0aGUgc3JjCgkgIHRvIHBvc3NpYmx5IHJ1biBhdCBhIGRpZmZlcmVudCBzcGVlZCB0byB0aGUgb3V0cHV0IGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDA5NgoKMjAxNS0wMi0wOSAyMTowNDoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggY29tcGlsZXIgd2FybmluZyB3aXRoIGdjYwoJICBnc3RkZWNrbGluay5jcHA6IEluIG1lbWJlciBmdW5jdGlvbiAndmlydHVhbCBIUkVTVUxUIEdTdHJlYW1lckRlY2tsaW5rSW5wdXRDYWxsYmFjazo6VmlkZW9JbnB1dEZyYW1lQXJyaXZlZChJRGVja0xpbmtWaWRlb0lucHV0RnJhbWUqLCBJRGVja0xpbmtBdWRpb0lucHV0UGFja2V0KiknOgoJICBnc3RkZWNrbGluay5jcHA6NDk4OjIyOiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQgaW50ZWdlciBleHByZXNzaW9ucyBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCgkgIGlmIChjYXB0dXJlX3RpbWUgPiBtX2lucHV0LT5jbG9ja19zdGFydF90aW1lKQoJICBeCgkgIGdzdGRlY2tsaW5rLmNwcDo1MDM6MjI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIGV4cHJlc3Npb25zIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KCSAgaWYgKGNhcHR1cmVfdGltZSA+IG1faW5wdXQtPmNsb2NrX29mZnNldCkKCSAgXgoKMjAxNS0wMi0wOSAxNzoxNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBJbXBsZW1lbnQgY2xvY2sgc2xhdmluZyBpZiB0aGUgcGlwZWxpbmUgY2xvY2sgaXMgbm90IHRoZSBkZWNrbGluayBjbG9jawoKMjAxNS0wMi0wOSAxNzoxNToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3tzcmMsc2lua306IE9ubHkgc3RhcnQgc3RyZWFtcyAvIHNjaGVkdWxlZCBwbGF5YmFjayBpZiB0aGVyZSBpcyBhIHZpZGVvc3JjIGF0IHRoaXMgcG9pbnQKCjIwMTUtMDItMDkgMTc6MDQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IHByb3ZpZGUgYSBjbG9jawoJICBUaGUgYXVkaW8gc291cmNlIG9ubHkgd29ya3MgdG9nZXRoZXIgd2l0aCB0aGUgdmlkZW8gc291cmNlLCBhbmQgdGhlIHZpZGVvCgkgIHNvdXJjZSBpcyBhbHJlYWR5IHByb3ZpZGluZyBhIGNsb2NrLgoKMjAxNS0wMi0wOSAxNjoxODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBUaHJvdHRsZSByZWFkaW5nIGZyb20gdGhlIHJpbmdidWZmZXIKCSAgVGhlIGRyaXZlciBoYXMgYW4gaW50ZXJuYWwgYnVmZmVyIG9mIHVuc3BlY2lmaWVkIGFuZCB1bmNvbmZpZ3VyYWJsZSBzaXplLCBhbmQKCSAgaXQgd2lsbCBwdWxsIGRhdGEgZnJvbSBvdXIgcmluZyBidWZmZXIgYXMgZmFzdCBhcyBpdCBjYW4gdW50aWwgdGhhdCBpcyBmdWxsLgoJICBVbmZvcnR1bmF0ZWx5IHRoYXQgbWVhbnMgdGhhdCB3ZSBwdWxsIHNpbGVuY2UgZnJvbSB0aGUgcmluZ2J1ZmZlciB1bmxlc3MgaXRzCgkgIHNpemUgaXMgYnkgY29uaW5jaWRlbmNlIGxhcmdlciB0aGFuIHRoZSBkcml2ZXIncyBpbnRlcm5hbCByaW5nYnVmZmVyLgoJICBUaGUgZ29vZCBuZXdzIGlzIHRoYXQgaXQncyBub3QgcmVxdWlyZWQgdG8gY29tcGxldGVseSBmaWxsIHRoZSBidWZmZXIgZm9yCgkgIHByb3BlciBwbGF5YmFjay4gU28gd2Ugbm93IHRocm90dGxlIHJlYWRpbmcgZnJvbSB0aGUgcmluZ2J1ZmZlciB3aGVuZXZlcgoJICB0aGUgZHJpdmVyIGhhcyBidWZmZXJlZCBtb3JlIHRoYW4gaGFsZiBvZiBvdXIgcmluZ2J1ZmZlciBzaXplIGJ5IHdhaXRpbmcKCSAgb24gdGhlIGNsb2NrIGZvciB0aGUgYW1vdW50IG9mIHRpbWUgdW50aWwgaXQgaGFzIGJ1ZmZlcmVkIGxlc3MgdGhhbiB0aGF0CgkgIGFnYWluLgoKMjAxNS0wMi0wOSAxNToxOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBTdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgd2hlbiBnb2luZyB0byBQTEFZSU5HCgkgIFRoZSByaW5nYnVmZmVyJ3MgYWNxdWlyZSgpIGlzIHRvbyBlYXJseSwgYW5kIHJpbmdidWZmZXIncyBzdGFydCgpIHdpbGwgb25seSBiZQoJICBjYWxsZWQgYWZ0ZXIgdGhlIGNsb2NrIGhhcyBhZHZhbmNlZCBhIGJpdC4uLiB3aGljaCBpdCB3b24ndCB1bmxlc3Mgd2Ugc3RhcnQKCSAgc2NoZWR1bGVkIHBsYXliYWNrLgoKMjAxNS0wMi0wOSAyMToxODoyNCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGZpeCB0ZXh0dXJlIHNoYXJpbmcgb24gaU9TCgkgIE1vdmUgR0xFUyBjYWxscyB0byB0aGUgY29udGV4dCB0aHJlYWQuIEZpeAoJICBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlQ3JlYXRlVGV4dHVyZUZyb21JbWFnZSB1c2FnZSBvbiBpT1MuCgoyMDE1LTAyLTA5IDIwOjQ0OjUwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBsaWJnc3RnbDogc2V0IHVzZXIgZGF0YSBhbmQgR0Rlc3Ryb3lOb3RpZnkgZm9yIHdyYXBwZWQgdGV4dHVyZXMKCjIwMTUtMDItMDggMjE6NTM6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogVGFrZSB0aGUgY2FwdHVyZSB0aW1lcyBmcm9tIHRoZSBwaXBlbGluZSBjbG9jawoJICBOb3QgZnJvbSB0aGUgZGVja2xpbmsgY2xvY2suIEJvdGggd2lsbCByZXR1cm4gZXhhY3RseSB0aGUgc2FtZSB0aW1lIG9uY2UgdGhlCgkgIGRlY2tsaW5rIGNsb2NrIGdvdCBzbGF2ZWQgdG8gdGhlIHBpcGVsaW5lIGNsb2NrIGFuZCByZWNlaXZlZCB0aGUgZmlyc3QKCSAgb2JzZXJ2YXRpb24sIGJ1dCB1bnRpbCB0aGVuIGl0IHdpbGwgcmV0dXJuIGJvZ3VzIHZhbHVlcy4gQnV0IGFzIGJvdGggcmV0dXJuCgkgIGV4YWN0bHkgdGhlIHNhbWUgdmFsdWVzLCB3ZSBjYW4gYXMgd2VsbCB1c2UgdGhlIHBpcGVsaW5lIGNsb2NrIGRpcmVjdGx5LgoKMjAxNS0wMi0wOCAxNDozMjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBzZXQgZWxlbWVudCBmYWN0b3J5IGRldGFpbHMKCSAgVGhpcyBpcyBhbiBhYnN0cmFjdCBiYXNlIGNsYXNzLCBub3QgYW4gZWxlbWVudC4KCjIwMTUtMDItMDggMDE6MTk6NDIgKzExMDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBzb21lIG9wdGltaXphdGlvbnMKCSAgRGV0ZWN0IGludmlzaWJsZSBwaXhlbHMsIGFuZCBza2lwIGdzdHNwdV92b2JzdWJfYmxlbmRfY29tcF9idWZmZXJzKCkKCSAgd2hlbiB0aGVyZSBhcmUgb25seSBpbnZpc2libGUgcGl4ZWxzLiAgVGhpcyBzaWduaWZpY2FudGx5IHJlZHVjZXMgdGhlCgkgIENQVSBsb2FkIGluIGNhc2VzIG9mIERWRHMgd2hpY2ggZG9uJ3QgdXNlIHRoZSBjbGlwX3JlY3QgdG8gZXhjbHVkZQoJICBwcm9jZXNzaW5nIGZvciBwYXJ0cyBvZiB0aGUgc2NyZWVuIHdoZXJlIHRoZSB2aWRlbyBpcyB2aXNpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIxCgoyMDE1LTAyLTA4IDA1OjA2OjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQXZvaWQgd2FybmluZyBpZiB0aGUgdmlkZW8gZm9yIGEgc3RpbGwgZnJhbWUgYXJyaXZlcyBhZnRlciB0aGUgU1BVCgkgIFdoZW4gd2UgZG9uJ3QgaGF2ZSBhIHNlZ21lbnQgb24gdGhlIHZpZGVvIHBhZCB5ZXQgZHVyaW5nIGEgc3RpbGwgZnJhbWUKCSAgZG9uJ3QgZnJlYWsgb3V0LgoKMjAxNS0wMi0wOCAwNDo1MToxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIG1lYW5pbmdsZXNzIHNlZ21lbnQgcG9zaXRpb24gZG93bnN0cmVhbQoJICBEb24ndCBwbGFjZSBhIG1lYW5pbmdsZXNzIHZhbHVlIGluIHRoZSBwb3NpdGlvbiBmaWVsZCBpbgoJICBvdXRnb2luZyBzZWdtZW50cyAtIHZhbHVlcyBoYXZlIHRvIGJlIGluIHRoZSByYW5nZSBzdGFydC0+c3RvcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU1OAoKMjAxNS0wMi0wNiAxNjoyMjoyNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBSZXZlcnQgImFpZmZwYXJzZTogbWFrZSBzdXJlIHdlIGhhdmUgZGF0YSBiZWZvcmUgaGFuZGxpbmcgc2luayBldmVudCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhNGJhYWJiNDhkMjUyMjE0ZDM4MzNiNTAyYzc5MDNkOWYxNWYzNTAyLgoKMjAxNS0wMi0wNiAxNToxMDo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IG1ha2Ugc3VyZSB3ZSBoYXZlIGRhdGEgYmVmb3JlIGhhbmRsaW5nIHNpbmsgZXZlbnQKCSAgQ2hlY2sgQUlGRl9QQVJTRV9EQVRBIGlzIFRydWUgYmVmb3JlIGhhbmRsaW5nIHNpbmsgZXZlbnQsIGlmIG5vdCBnb3RvIGV4aXQuCgoyMDE1LTAyLTA1IDE1OjU3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiByZW1vdmUgbm93LXVudXNlZCBiYXNlX3RpbWUgZmllbGQgaW4gb2JqZWN0IHN0cnVjdHVyZQoKMjAxNS0wMi0wNiAxMDo1OToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU3RyZWFtbGluZSBsYXRlbmN5IGNhbGN1bGF0aW9ucwoJICBNaW4gbGF0ZW5jeSBjYW4gbmV2ZXIgYmUgaW52YWxpZCwgbGF0ZW5jeSBwcm9wZXJ0eSBjYW4gbmV2ZXIgYmUgaW52YWxpZAoJICBlaXRoZXIuIFNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGFsbCB0aGVzZSB0aGluZ3MgaW4gdmFyaW91cyBwbGFjZXMuCgoyMDE1LTAyLTA2IDEwOjM2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBJZiB1cHN0cmVhbSBoYXMgbm8gbWF4IGxhdGVuY3kgYnV0IHRoZSBzdWJjbGFzcyBoYXMsIHRha2UgdGhlIHN1YmNsYXNzIG1heCBsYXRlbmN5CgoyMDE1LTAyLTA2IDEwOjMzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggbWluPm1heCBsYXRlbmN5IGVycm9yIGNoZWNrCgkgIFdlIGhhdmUgdG8gaW5jbHVkZSB0aGUgdXBzdHJlYW0gbGF0ZW5jeSwgb3VyIG93biBsYXRlbmN5IGFuZCB0aGUgc3ViY2xhc3MKCSAgbGF0ZW5jeSBpbiB0aGUgY2FsY3VsYXRpb25zLgoJICBGSVhNRTogVGhpcyBpcyBzdGlsbCBub3QgZW50aXJlbHkgY29ycmVjdAoKMjAxNS0wMi0wNiAxMDozMDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHByb3BlcnR5IHRvIHRoZSBtYXggbGF0ZW5jeQoJICBJdCBoYXMgbm8gbWVhbmluZyBmb3IgdGhlIG1heCBsYXRlbmN5IGFuZCBpcyBvbmx5IHVzZWQgdG8gaW5jcmVhc2UgdGhlIG1pbgoJICBsYXRlbmN5LgoKMjAxNS0wMi0wNiAxMjo1MzoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy92YW8uaDoKCSAgZ2xwcm90by92YW86IG9ubHkgc3VwcG9ydGVkIGluIGNvcmUgZm9yIEVTIDMuMCsKCSAgV2FzIGNhdXNpbmcgaG9yaXpvbnRhbGx5IGZsaXBwZWQgdmlkZW8gZm9yIGZyYW1lIDIgb253YXJkIG9uIGFuZHJvaWQKCjIwMTUtMDItMDUgMTM6MzE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVsYWNlIHBhcnNlZCB3aXRoIGZyYW1lZCBpbiBhYWMgY2FwcwoJICBGb3IgQUFDIGl0IHNob3VsZCBhbHdheXMgYmUgJ2ZyYW1lZCcgYW5kIG5vdCAncGFyc2VkJwoKMjAxNS0wMi0wNSAxMTozOTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggb3V0cHV0IGNhcHMgdG8gbmVnb3RpYXRlIHdpdGggc29tZSBtdXhlcnMKCSAgQWRkIHBhcnNlZC9mcmFtZWQ9dHJ1ZSB0byBhbGxvdyBuZWdvdGlhdGlvbiB3aXRoIHNvbWUKCSAgbXV4ZXJzIHRoYXQgcmVxdWlyZWQgcGFyc2VkIGlucHV0LiBFbmNvZGVycyBhbHJlYWR5IHByb3ZpZGUKCSAgcGFyc2VkL2ZyYW1lZCBvdXRwdXQgc28gaXQgc2hvdWxkIHNheSBzbyBpbiBjYXBzLgoKMjAxNS0wMi0wNSAxNTo0ODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IGNvbXBvc2l0b3I6IGFkZCB1bml0IHRlc3QgZm9yIHByb3BlciBzZWdtZW50LmJhc2UgaGFuZGxpbmcKCSAgQXMgYWRqdXN0ZWQgYnkgZ3N0X3BhZF9zZXRfb2Zmc2V0KCksIG9yIHdoZW4gZG9pbmcgc2VnbWVudCBzZWVrcwoJICBvciBsb29waW5nIGZvciBleGFtcGxlLgoKMjAxNS0wMi0wNSAxNToyMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvbWl4ZXI6IGFkZCB1bml0IHRlc3QgZm9yIHByb3BlciBzZWdtZW50LmJhc2UgaGFuZGxpbmcKCSAgQXMgYWRqdXN0ZWQgYnkgZ3N0X3BhZF9zZXRfb2Zmc2V0KCksIG9yIHdoZW4gZG9pbmcgc2VnbWVudCBzZWVrcwoJICBvciBsb29waW5nIGZvciBleGFtcGxlLiBTZWUgcHJldmlvdXMgYXVkaW9taXhlciBjb21taXQuCgoyMDE1LTAyLTA1IDE2OjAyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgd2VpcmQgYW5kIHdyb25nIHNlZ21lbnQgaGFuZGxpbmcKCSAgVGhlcmUncyBubyByZWFzb24gd2h5IGF1ZGlvbWl4ZXIgc2hvdWxkIG92ZXJyaWRlIHRoZSBzZWdtZW50CgkgIGJhc2Ugb2YgdXBzdHJlYW0gd2l0aCB3aGF0ZXZlciB2YWx1ZSBpdCBnb3QgZnJvbSBhIFNFRUsgZXZlbnQsCgkgIG9yIGV2ZW4gd29yc2UuLi4gd2l0aCAwIGlmIHRoZXJlIHdhcyBubyBTRUVLIGV2ZW50IHlldC4gVGhpcwoJICBicm9rZSBzeW5jaHJvbml6YXRpb24gaWYgdXBzdHJlYW0gcHJvdmlkZWQgYSBzZWdtZW50IGJhc2Ugb3RoZXIKCSAgdGhhbiAwLCBlLmcuIHdoZW4gdXNpbmcgcGFkIG9mZnNldHMuCgkgIEFsc28gdGhhdCB0aGlzIGNvZGUgZGlkIHRoaW5ncyBjb25kaXRpb25hbCBvbiB0aGUgZWxlbWVudCdzIHN0YXRlCgkgIHNob3VsZCd2ZSBiZWVuIGEgYmlnIHdhcm5pbmcgYWxyZWFkeSB0aGF0IHNvbWV0aGluZyBpcyBqdXN0IHdyb25nLgoJICBJZiB0aGlzIGJyZWFrcyBhbnl0aGluZyBlbHNlIG5vdywgbGV0J3MgZml4IGl0IHByb3Blcmx5IDopCgkgIEFsc28gZG9uJ3QgZG8gZmFuY3kgc2VnbWVudCBwb3NpdGlvbiB0cmlja2VyeSB3aGVuIHJlY2VpdmluZyBhCgkgIHNlZ21lbnQgZXZlbnQuIEl0J3MganVzdCBub3QgY29ycmVjdC4KCjIwMTUtMDItMDUgMTI6MjQ6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogT25seSBwcmUtcm9sbCBhIHNpbmdsZSBidWZmZXIKCSAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIHByZS1yb2xsIG1vcmUgYnVmZmVycyBoZXJlIGFzIHdlIGhhdmUgb3VyIG93biByaW5nYnVmZmVyCgkgIHdpdGggbW9yZSBzZWdtZW50cyBhcm91bmQgaXQsIGFuZCB3ZSBjYW4gaW1tZWRpYXRlbHkgcHJvdmlkZSBtb3JlIGJ1ZmZlcnMgdG8KCSAgT3BlblNMIEVTIHdoZW4gaXQgcmVxdWVzdHMgdGhhdCBmcm9tIHRoZSBjYWxsYmFjay4KCSAgUHJlLXJvbGxpbmcgYSBzaW5nbGUgYnVmZmVyIGJlZm9yZSBzdGFydGluZyBpcyBuZWNlc3NhcnkgdGhvdWdoLCBhcyBvdGhlcndpc2UKCSAgd2Ugd2lsbCBvbmx5IG91dHB1dCBzaWxlbmNlLgoJICBMb3dlcnMgbGF0ZW5jeSBhIGJpdCwgZGVwZW5kaW5nIG9uIGxhdGVuY3ktdGltZSBhbmQgYnVmZmVyLXRpbWUgc2V0dGluZ3MuCgoyMDE1LTAyLTA1IDEyOjIyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IEFsbG9jYXRlIGF0IG1vc3QgNCBpbnRlcm5hbCBidWZmZXJzCgkgIDQgaXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYnVmZmVycyBkZWZpbmVkIGJ5IEFuZHJvaWQncyBPcGVuU0wgRVMKCSAgaW1wbGVtZW50YXRpb24sIGFuZCBpdHMgY29kZSBpcyBvcHRpbWl6ZWQgZm9yIHRoaXMuIEFsc28gYmVjYXVzZSB3ZQoJICBoYXZlIG91ciBvd24gcmluZ2J1ZmZlciBhcm91bmQgdGhpcywgd2Ugd2lsbCBhbHdheXMgaGF2ZSBlbm91Z2gKCSAgYnVmZmVyaW5nIG9uIG91ciBzaWRlIGFscmVhZHkuCgkgIEFsbG93cyBmb3IgbW9yZSBlZmZpY2llbnQgcHJvY2Vzc2luZy4KCjIwMTUtMDItMDUgMTI6MjE6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlc3Npbmsvc3JjOiBMb3dlciBkZWZhdWx0IGJ1ZmZlciB0aW1lIHRvIDIwMG1zIGxpa2UgYWxzYXNpbmsKCjIwMTUtMDItMDUgMTY6NDY6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZW5zdXJlIHRoYXQgdGhlIGlucHV0IHVwbG9hZC9jb2xvcmNvbnZlcnQgYXJlIGFsd2F5cyBhdmFpbGFibGUKCjIwMTUtMDItMDUgMTE6MDY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogbG9nIHRoZSBjb252ZXJ0ZWQgY2FwcwoKMjAxNS0wMi0wNSAxMTowNTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZXN0cmljdCBFR0wgYW5kIFVwbG9hZE1ldGEgdG8gUkdCQQoJICBvdGhlciBmb3JtYXRzIGFyZSBoaWdobHkgdW50ZXN0ZWQuCgoyMDE1LTAyLTA1IDExOjA0OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGRvbid0IGludGVyc2VjdCB3aXRoIHRoZSBpbnB1dCBjYXBzCgkgIHRoYXQgbGltaXRzIG91ciBmb3JtYXRzIHRvIHdoYXRldmVyIGlzIGluIHRoZSBpbnB1dCBjYXBzCgoyMDE1LTAyLTA0IDE0OjEwOjEzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBmaXggbWVtb3J5IGxlYWsKCSAgSW4gZ3N0X2dsX2ZpbHRlcl9maXhhdGVfY2FwcyAoKSBpdCBjYW4gZ290byBkb25lIHdpdGhvdXQgZnJlZWluZyB0aGUgbWVtb3J5IG9mCgkgIHRoZSB0bXAgR3N0U3RydWN0dXJlLiBUaGlzIG1ha2VzIGl0IGdvIG91dCBvZiBzY29wZSBhbmQgbGVhay4KCSAgQ0lEICMxMjY1NzY1CgoyMDE1LTAyLTA0IDExOjUyOjI2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBpbml0aWFsaXplIGNsYXNzIHZhcmlhYmxlcwoJICBTb21lIHZhcmlhYmxlcyBhcmUgbm90IGluaXRpYWxpemVkIGluIHRoZSBjb25zdHJ1Y3Rvci4gSXQgaXMgaGlnaGx5IHVubGlrZWx5CgkgIHRoZXkgYXJlIHVzZWQgYmVmb3JlIGJlaW5nIHNldCwgYnV0IGl0IGlzIHNhZmVyIHRvIGluaXRpYWxpemUgdGhlbS4KCSAgQ0lEICMxMTk3NzA0CgoyMDE1LTAyLTAzIDE4OjEzOjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgIGtzdmlkZW9zcmM6IEZpeCBtaXNzaW5nIGJyYWNlIHdhcm5pbmcKCSAgVGhlcmUgaXMgbW9yZSBidXQgaXQncyBmcm9tIGtzLmggR1VJRCBpbml0aWFsaXplciwgd2hpY2ggaXMgc2hpcHBlZAoJICB0aGlzIHdheSB3aXRoIG1pbmd3LgoKMjAxNS0wMi0wMyAxNzo0NDozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogRml4IGJ1ZmZlciBoYW5kbGluZwoJICBUaGUgcHNldWRvIGJ1ZmZlciBwb29sIGNvZGUgd2FzIHVzaW5nIGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKQoJICBhbG9uZSB0byB0cnkgYW5kIGZpZ3VyZS1vdXQgaWYgY2FjaGVkIGJ1ZmZlciBjb3VsZCBiZSByZXVzZWQuCgkgIEl0IG5lZWRzIHRvIGNoZWNrIGZvciBtZW1vcnkgd3JpdGFiaWxpdHkgdG9vLiBBbHNvIGNoZWNrIG1hcAoJICByZXN1bHQgYW5kIGZpeCBtYXAgZmxhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjQKCjIwMTUtMDItMDMgMTc6MDU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgbGVha2luZyBmb3JjZSBrZXl1bml0IGV2ZW50IHdoZW4gZ29pbmcgdG8gTlVMTAoJICBEbyBub3Qgc2V0IHRvIE5VTEwgYmVmb3JlIHVucmVmZmluZyB0aGUgZXZlbnQgb3IgaXQgd2lsbCBsZWFrCgoyMDEzLTAzLTE4IDA4OjE1OjAwICswMDAwICBBbnRvbiBHcml0c2F5IDxhbnRvbkBhbmdyaS5ydT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcGFyc2UgZm9yY2Uga2V5IHVuaXQgZXZlbnRzIHdpdGggdGhlIGNvcnJlY3QgZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIGl0IHdvbid0IGJlIHBhcnNlZCBhbmQgYm9ndXMgdmFsdWVzIHdvdWxkIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwMzIKCjIwMTUtMDEtMjYgMjA6NDI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHJlbW92ZSB1cGRhdGUgc2VnbWVudCBsb2dpYwoJICBUaGlzIGlzIG5vdCBuZWVkZWQgaW4gMS54IHNlcmllcyBhbnltb3JlCgoyMDE1LTAyLTAzIDEwOjU5OjE2IC0wMzAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvbid0IG1hcmsgc3RyZWFtcyBhcyBuZWVkaW5nIGEgbmV3IHNlZ21lbnQgb24gZmx1c2gKCSAgVGhlIGZsdXNoIGlzIGNhbGxlZCBvbiBkaXNjb250IGFuZCB3ZSBzaG91bGRuJ3Qgb3V0cHV0IGEgbmV3IHNlZ21lbnQKCSAgZWFjaCB0aW1lIGEgZGlzY29udCBoYXBwZW5zLiBTbyB0aGlzIGNvbW1pdCByZW1vdmUgdGhlIG1hcmsgZm9yIGEgbmV3CgkgIHNlZ21lbnQgd2hlbiBmbHVzaGluZyBzdHJlYW1zIGJ5IHByb3BhZ2F0aW5nIHRoZSAnaGFyZCcgZmxhZyBwYXNzZWQKCSAgb24gdGhlIGZsdXNpbmcgZnJvbSB0aGUgYmFzZSBjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM2MwoKMjAxNS0wMi0wMyAxNzozMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IEFkZCBzb21lIGFzc2VydGlvbnMgaW5zdGVhZCBvZiBqdXN0IGRlcmVmZXJlbmNpbmcgTlVMTAoKMjAxNS0wMi0wMyAxNzoyOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IERvbid0IHVuY29uZGl0aW9uYWxseSB1c2UgdGhlIENvcmVNZWRpYSBtZXRhIG9uIGlPUwoJICBXZSBtaWdodCBpbnN0ZWFkIGhhdmUgYSBDb3JlVmlkZW8gbWV0YS4KCjIwMTUtMDItMDMgMTQ6NTU6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVuZG8gYWNjaWRlbnRhbCBjb21tb24gbW9kdWxlIHJld2luZAoJICBpbiBjb21taXQgN2Q0NjM1NzYKCjIwMTUtMDItMDMgMTU6Mzg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBmcmFtZXMgd2hlbiBkcmFpbmluZy9mbHVzaGluZwoKMjAxNS0wMi0wMyAxNTozMDowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHJlbW92ZSB0aGUgZWdsIGNhcHMgZnJvbSB0aGUgc3JjIHBhZHMKCSAgd2UgZG9uJ3QgYWN0dWFsbHkgc3VwcG9ydCBwcm9kdWNpbmcgRUdMSW1hZ2UgYnVmZmVycyBhbnl3aGVyZS4KCjIwMTUtMDItMDMgMTM6MzI6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHB1dCBHc3RHTFN5bmNNZXRhIG9uIG91dHB1dCBidWZmZXJzCgkgIGFsbG93cyB0aHJlYWQgc2FmZWx5IHVzaW5nIHRoZSBwcm92aWRlZCBvdXRwdXQgYnVmZmVyIGluIGEgc2VwYXJhdGUKCSAgdGhyZWFkCgoyMDE1LTAyLTAzIDAwOjM1OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IG9ubHkgdHJ5IHRoZSBnbG1lbW9yeSB1cGxvYWQgZm9yIHN5c21lbS9nbG1lbW9yeSBjYXBzIGZlYXR1cmVzCgkgIEFsbG93cyBzZWxlY3RpbmcvdGVzdGluZyB0aGUgdXBsb2FkIHBhdGggd2l0aCBleHBsaWNpdCBjYXBzIGZlYXR1cmVzLgoKMjAxNS0wMi0wMyAwMDoyNjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgbWlzc2luZyBpbml0aWxpc2F0aW9uIG9mIHRleF90YXJnZXQgd2hlbiBjb3B5aW5nCgkgIGZpeGVzOgoJICBnbGNvbG9yc2NhbGUgISB2aWRlby94LXJhd1wobWV0YTpHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGFcKSAhCgkgIGdsaW1hZ2VzaW5rCgoyMDE1LTAyLTAzIDAwOjE1OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGFsbG93IE5VTEwgYnVmZmVyIGZvciBhY2NlcHQgdmZ1bmMKCjIwMTUtMDItMDMgMDA6MTM6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVtb3ZlIHVuc2VkIGNvbnZlcnQgZmllbGQgaW4gcHJpdmF0ZSBzdHJ1Y3QKCjIwMTUtMDItMDMgMDA6MTE6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1cGxvYWQvZG93bmxvYWQvY29udmVydDogcHJvdmlkZSB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbnMKCSAgQWxsb3dzIGZpbmVyIGdyYWluIGRlY2lzaW9ucyBhYm91dCBmb3JtYXRzIGFuZCBmZWF0dXJlcyBhdCBlYWNoCgkgIHN0YWdlIG9mIHRoZSBwaXBlbGluZS4KCSAgQWxzbyBwcm92aWRlIHByb3Bvc2VfYWxsb2NhdGlvbiBmb3IgZ2x1cGxvYWQgYmVzZWQgb24gdGhlIHN1cHBvcnRlZAoJICBtZXRob2RzLgoKMjAxNS0wMi0wMyAxMTowNzo1OCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnc3RnbHdpbmRvd19jb2NvYTogZml4IHNsb3cgcmVuZGVyIHJhdGUKCSAgSW4gZ3N0X2dsX3dpbmRvd19jb2NvYV9kcmF3IHdlIHVzZWQgdG8ganVzdCBjYWxsIHNldE5lZWRzRGlzcGxheTpZRVMuIFRoYXQgd2FzCgkgIGNyZWF0aW5nIGFuIGltcGxpY2l0IENBIHRyYW5zYWN0aW9uIHdoaWNoIHdhcyBnZXR0aW5nIGNvbW1pdHRlZCBhdCB0aGUgbmV4dAoJICBydW5sb29wIGl0ZXJhdGlvbi4gU2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgb2Z0ZW4gdGhlIG1haW4gcnVubG9vcCBpcyBydW5uaW5nLAoJICBhbmQgd2hlbiB3ZSBydW4gaXQgaW1wbGljaXRseSAoZnJvbSBnc3RfZ2xfd2luZG93X2NvY29hX25zYXBwX2l0ZXJhdGlvbikgd2Ugb25seQoJICBkbyBzbyBldmVyeSAyMDBtcywgdXNlIGFuIGV4cGxpY2l0IENBIHRyYW5zYWN0aW9uIGluc3RlYWQgYW5kIGNvbW1pdCBpdAoJICBpbW1lZGlhdGVseS4gQ0EgdHJhbnNhY3Rpb25zIG5lc3QgYW5kIGRlYm91bmNlIGF1dG9tYXRpY2FsbHkgc28gdGhpcyB3aWxsIG5ldmVyCgkgIHJlc3VsdCBpbiBleHRyYSB3b3JrLgoKMjAxNS0wMi0wMiAyMzo0MDoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJICBnc3RnbGNhb3BlbmdsbGF5ZXI6IHVzZSB0aGUgY29ycmVjdCByZWN0YW5nbGUgdHlwZSBmb3IgaU9TIGFuZCBPUyBYCgoyMDE1LTAyLTAyIDIxOjA3OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHVzZSB0aGUgY29ycmVjdCBjYXBzIGZlYXR1cmUgZm9yIHN1cHBvcnRlZCBjYXBzCgkgIGdsY29sb3Jjb252ZXJ0IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIGNvbnZlcnRpbmcgYmV0d2VlbiBHTE1lbW9yeQoJICB0YXJnZXRzLgoKMjAxNS0wMi0wMiAyMDo1MTozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZG9uJ3QgdXNlIHRoZSBnc3QgZGVidWcgb2JqZWN0IHZhcmlhbnRzCgkgIFdlIGFyZSBub3QgYSBHT2JqZWN0IG9yIGFueSBpbmZlcmFibGUgR3N0TWluaU9iamVjdCBzdXBwb3J0ZWQgYnkKCSAgdGhlIGdzdCBkZWJ1ZyBzeXN0ZW0uICBBbHNvIGZpeGVzIGEgc2VnZmF1bHQuCgoyMDE1LTAxLTMwIDE4OjUxOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiB1cGRhdGUgdW5pdCB0ZXN0IGZvciBnbG1lbW9yeSBhcGkgY2hhbmdlCgoyMDE1LTAxLTMwIDE1OjEzOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBjbG9iYmVyIHRoZSBhbHBoYSBjaGFubmVsIGJ5IGRlZmF1bHQKCSAgdGhpcyBjYW4gYmUgZGlzYWJsZWQgd2l0aCB0aGUgaWdub3JlLWFscGhhIHByb3BlcnR5CgoyMDE1LTAxLTMwIDEyOjMyOjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgUmV2ZXJ0ICJsaWJnc3RnbDogZ3N0Z2xjYW9wZW5nbGxheWVyOiBzZXQgdGhlIGxheWVyIGFzIG9wYXF1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZjE1MmQzODFjYTIxNTk1Y2RjODIzZjMyMzQxYzhmMmZlNzFiOWM3LgoJICBUaGUgbGF5ZXIgc2hvdWxkbid0IGJlIGFsd2F5cyBvcGFxdWUsIGl0IHNob3VsZCBiZSBtYWRlIGEgcHJvcGVydHkuCgoyMDE1LTAxLTMwIDEyOjIyOjI1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgbGliZ3N0Z2w6IGdzdGdsY2FvcGVuZ2xsYXllcjogc2V0IHRoZSBsYXllciBhcyBvcGFxdWUKCjIwMTUtMDEtMjkgMTY6MzA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IHBvc3NpYmlsaXR5IG9mIG5vbi1BcHBsZSBZQ2JDcjQyMiByZWN0YW5ndWxhciB0ZXh0dXJlcwoKMjAxNS0wMS0yOSAxNjoyNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogT25seSB1c2UgR0xfVEVYVFVSRV9SRUNUQU5HTEUgd2l0aCBPcGVuR0wKCSAgSXQncyBub3QgZGVmaW5lZCBmb3IgR0xFUy4KCjIwMTUtMDEtMzAgMDA6Mjg6MTggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiByZXdvcmsgR0wgdGV4dHVyZSBzaGFyaW5nCgkgIFVzZSBZVVYgaW5zdGVhZCBvZiBSR0IgdGV4dHVyZXMsIHRoZW4gY29udmVydCB1c2luZyB0aGUgbmV3IGFwcGxlIHNwZWNpZmljCgkgIHNoYWRlciBpbiBHc3RHTENvbG9yQ29udmVydC4gQWxzbyB1c2UgR0xNZW1vcnkgZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgR0wgdXBsb2FkIG1ldGEsIGF2b2lkaW5nIGFuIGV4dHJhIHRleHR1cmUgY29weSB3ZSB1c2VkIHRvIGhhdmUgYmVmb3JlLgoKMjAxNS0wMS0yOCAwMDo1Mzo1OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IENNQmxvY2tCdWZmZXJSZWYgbGVhawoJICBGaXggaHVnZSBsZWFrIHRoYXQgd2VudCB1bm5vdGljZWQgZm9yIHRvbyBsb25nLiBPb3BzLgoKMjAxNS0wMS0yOCAwMDo0ODoyNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgbGliZ3N0Z2w6IHJ1biBhIGN1c3RvbSBzaGFkZXIgdG8gY29udmVydCBZVVYgdG8gUkdCIG9uIG1hYyBhbmQgaW9zCgkgIFdoZW4gR0xfQVBQTEVfeWNiY3JfNDIyIGlzIGF2YWlsYWJsZSwgcnVuIGEgY3VzdG9tIHNoYWRlciB0byBjb252ZXJ0CgkgIEdMX1RFWFRVUkVfUkVDVEFOR0xFIHRleHR1cmVzIGZyb20gWVVWIHRvIFJHQi4KCSAgU2VlIGh0dHBzOi8vd3d3Lm9wZW5nbC5vcmcvcmVnaXN0cnkvc3BlY3MvQVBQTEUveWNiY3JfNDIyLnR4dAoKMjAxNS0wMS0yOCAwMDo0MzowOSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IGNhbGwgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyB3aGVuIGRvaW5nIHRleHR1cmUgc2hhcmluZwoJICBXaGVuIGRvaW5nIHRleHR1cmUgc2hhcmluZyB3ZSBkb24ndCBuZWVkIHRvIGNhbGwgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyB0bwoJICBtYXAgdGhlIGJ1ZmZlciBpbiBDUFUuIFRoaXMgY3V0cyBhYm91dCAxMCUgcmVsYXRpdmUgY3B1IHRpbWUgZnJvbSBhIHZ0ZGVjICEKCSAgZ2xpbWFnZXNpbmsgcGlwZWxpbmUuCgoyMDE1LTAxLTI4IDAwOjEzOjQ2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2w6IGluaXRpYWwgc3VwcG9ydCBmb3IgdGV4dHVyZSB0YXJnZXRzIG90aGVyIHRoYW4gR0xfVEVYVFVSRV8yRAoJICBNYWtlIEdzdEdMTWVtb3J5IGhvbGQgdGhlIHRleHR1cmUgdGFyZ2V0ICh0ZXhfdGFyZ2V0KSB0aGUgdGV4dHVyZSBpdCByZXByZXNlbnRzCgkgICh0ZXhfaWQpIGlzIGJvdW5kIHRvLiBNb2RpZnkgZ3N0X2dsX21lbW9yeV93cmFwcGVkX3RleHR1cmUgYW5kCgkgIGdzdF9nbF9kb3dubG9hZF9wZXJmb3JtX3dpdGhfZGF0YSB0byB0YWtlIHRoZSB0ZXh0dXJlIHRhcmdldCBhcyBhbiBhcmd1bWVudC4KCSAgVGhpcyBjaGFuZ2UgaXMgbmVlZGVkIHRvIHN1cHBvcnQgd3JhcHBpbmcgdGV4dHVyZXMgY3JlYXRlZCBvdXRzaWRlIGxpYmdzdGdsLAoJICB3aGljaCBtaWdodCBiZSBib3VuZCB0byBhIHRhcmdldCBvdGhlciB0aGFuIEdMX1RFWFRVUkVfMkQuIEZvciBleGFtcGxlIG9uIE9TWAoJICB0ZXh0dXJlcyBjb21pbmcgZnJvbSBWaWRlb1Rvb2xib3ggaGF2ZSB0YXJnZXQgR0xfVEVYVFVSRV9SRUNUQU5HTEUuCgkgIFdpdGggdGhpcyBjaGFuZ2Ugd2Ugc3RpbGwga2VlcCAoYW5kIHNvbWV0aW1lcyBpbXBseSkgR0xfVEVYVFVSRV8yRCBhcyB0aGUKCSAgdGFyZ2V0IG9mIHRleHR1cmVzIGNyZWF0ZWQgd2l0aCBsaWJnc3RnbC4KCSAgQVBJOiBtb2RpZnkgR3N0R0xNZW1vcnkKCSAgQVBJOiBtb2RpZnkgZ3N0X2dsX21lbW9yeV93cmFwcGVkX3RleHR1cmUKCSAgQVBJOiBnc3RfZ2xfZG93bmxvYWRfcGVyZm9ybV93aXRoX2RhdGEKCjIwMTUtMDEtMjIgMTM6MTg6MjMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdzdGdsY29sb3Jjb252ZXJ0OiBtaWNybyBvcHRpbWl6YXRpb24KCSAgRG9uJ3QgY2FsbCBnbENsZWFyICYmIGdsQ2xlYXJDb2xvciBhdCBlYWNoIGRyYXcgc2luY2Ugd2UncmUgZ29pbmcgdG8gZHJhdyB0aGUKCSAgd2hvbGUgdmlld3BvcnQgYW55d2F5LiBHZXRzIHJpZCBvZiBhIGdsRmx1c2ggdHJpZ2dlcmVkIGJ5IGdsQ2xlYXIgb24gT1NYLgoKMjAxNS0wMS0yMiAxMzoxNzoxMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvYnVmZmVyOiBtYWtlIG1hcHBpbmcgdGhlIENWUGl4ZWxCdWZmZXIgaW4gQ1BVIG9wdGlvbmFsCgkgIE1hcHBpbmcgaXMgbm90IG5lY2Vzc2FyeSBhbmQgaW1wYWN0cyBwZXJmb3JtYW5jZSB3aGVuIGRvaW5nIHRleHR1cmUgc2hhcmluZyB3aXRoCgkgIGRvd25zdHJlYW0KCjIwMTUtMDEtMjIgMTM6MTE6NDYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdzdGdsY29sb3Jjb252ZXJ0OiByZWxheCBjYXBzIGZlYXR1cmVzIGNoZWNrCgkgIFJlcXVpcmUgY2FwcyB0byBoYXZlIHRoZSBHU1RfQ0FQU19GRUFUVVJFX01FTU9SWV9HTF9NRU1PUlkgZmVhdHVyZSBidXQgYWxsb3cKCSAgdGhlbSB0byBoYXZlIG1vcmUgZmVhdHVyZXMuCgoyMDE1LTAxLTI4IDE2OjQzOjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBjaGFuZ2UgYXVkaW8gcHJvcGVydHkgdG8gYXVkaW8tdHlwZQoJICBUaGlzIGlzIG5vdyBhbiBlbnVtIHdpdGggdmFsdWVzIGdlbmVyaWMgKGRlZmF1bHQpIGFuZCB2b2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDg5MQoKMjAxNS0wMS0yOSAyMzo0NToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBmaXh1cCBjb21waWxhdGlvbgoKMjAxNS0wMS0yOSAxMTo1NDozNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSBkb3VibGUtc2V0dGluZyBvZiByZW5kZXIgZnVuY3Rpb24KCSAgTm8gbmVlZCB0byBzZXQgdGhlIGF1ZGlvdmlzdWFsaXplci0+cmVuZGVyIGZ1bmN0aW9uIHR3aWNlLiBPbmNlIGlzIGVub3VnaC4KCjIwMTUtMDEtMjkgMjI6MjU6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IG1ha2Ugc2hvd2luZyBhIHdpbmRvdyBleHBsaWNpdAoJICBBbHNvIGZpeGVzIHRoZSBjZ2wgY29udGV4dCBhbHdheXMgZGlzcGxheWluZyBhIHdpbmRvdyB0byByZW5kZXIgdG8gZm9yCgkgIGV2ZXJ5IEdzdEdMQ29udGV4dENvY29hIGNyZWF0ZWQKCjIwMTUtMDEtMjYgMTc6MDY6MjkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2xlYW51cCBsb2NraW5nIGFyb3VuZCBBZ2dyZWdhdG9yUGFkIGZsdXNoIHJlbGF0ZWQgZmllbGRzCgkgIEFuZCBkb2N1bWVudCB0aGUgbG9ja2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDEzOjExOjA1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGtlZXAgY2hhaW4gZnVuY3Rpb25zIGFzIGR1bWIgYXMgcG9zc2libGUuCgkgICsgQSBwYWQgY2hhaW4gZnVuY3Rpb24gaGFzIG5vIGJ1c2luZXNzIGNoZWNraW5nIG90aGVyIHBhZHMsCgkgIHRoYXQncyB3aGF0IHRoZSBhZ2dyZWdhdGUgdGhyZWFkIGlzIGZvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMTozMjo0NyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE1vcmUgZml4ZXMgYXJvdW5kIGxvY2tpbmcgd2hlbiBhY2Nlc3NpbmcgcHJvdGVjdGVkIHByaXZhdGUgZmllbGRzCgkgIEluIHNvbWUgbW9yZSBwbGFjZXMgd2Ugd2VyZSBhY2Nlc3NpbmcgR3N0QWdncmVnYXRvci0+c2VnbWVudAoJICBhbmQgR3N0QWdncmVnYXRvci0+c2VxbnVtIHdpdGhvdXQgaG9sZGluZyB0aGUgR1NUX09CSkVDVF9MT0NLCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTE6Mjk6MDggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IE1ha2UgdGhlIFBBRF9MT0NLIHByaXZhdGUKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgR1NUX09CSkVDVF9MT0NLIHdlIHNob3VsZCBoYXZlCgkgIGEgZGVkaWNhdGVkIG11dGV4IGZvciB0aGUgcGFkIGFzIGl0IGlzIGFsc28gYXNzb2NpYXRlZAoJICB3aXRoIHRoZSBtdXRleCBvbiB0aGUgRVZFTlRfTVVURVggb24gd2hpY2ggd2Ugd2FpdAoJICBpbiB0aGUgX2NoYWluIGZ1bmN0aW9uIG9mIHRoZSBwYWQuCgkgIFRoZSBHc3RBZ2dyZWdhdG9yUGFkLnNlZ21lbnQgaXMgc3RpbGwgcHJvdGVjdGVkIHdpdGggdGhlCgkgIEdTVF9PQkpFQ1RfTE9DSy4KCSAgUmVtb3ZlIHRoZSBnc3RfYWdncmVnYXRvcl9wYWRfcGVha191bmxvY2tlZCBtZXRob2QgYXMgaXQgZG9lcyBub3QgbWFrZQoJICBzZW5zZSBhbnltb3JlIHdpdGggYSBwcml2YXRlIGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTE6MjU6NTQgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEhpZGUgR3N0QWdncmVnYXRvclBhZCBidWZmZXIgYW5kIEVPUyBmaWxlZHMKCSAgQW5kIGFkZCBhIGdldHRlciBmb3IgdGhlIEVPUy4KCSAgVGhlIHVzZXIgc2hvdWxkIGFsd2F5cyB1c2UgdGhlIHZhcmlvdXMgZ2V0dGVycyB0byBhY2Nlc3MKCSAgdGhvc2UgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MDk6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE1ha2UgZmx1c2ggc3RhcnQvc3RvcCB0ZXN0IG5vbi1yYWN5CgkgIFRoZSBmbHVzaCBzdG9wIGNvdWxkIGhhdmUgaGFwcGVuZWQgYmV0d2VlbiB0aGUgc291cmNlIHRyeWluZwoJICB0byBwdXNoIHRoZSBzZWdtZW50IGV2ZW50IGFuZCB0aGUgYnVmZmVyLCB0aGlzIHdvdWxkIGNhdXNlIGEgd2FybmluZy4KCSAgUHJldmVudCB0aGF0IGJ5IHRha2luZyB0aGUgc291cmNlJ3Mgc3RyZWFtIGxvY2sgd2hpbGUgZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjIgMTc6NDE6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlcGxhY2UgcmFjeSB0aW1lb3V0IGJhc2VkIHRlc3RlZCB3aXRoIGRyYWluIHF1ZXJ5CgkgIFVzaW5nIHRoZSBkcmFpbiBxdWVyeSwgd2UgY2FuIGJlIGNlcnRhaW4gdGhhdCB0aGUgYnVmZmVyIGhhcyBkb25lIGdvaW5nCgkgIHRocm91Z2ggdGhlIGFnZ3JlZ2F0b3IgYnkgdGFraW5nIHRoZSBzdHJlYW0gbG9ja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDE6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGxvY2tpbmcgb2YgR3N0QWdncmVnYXRvclByaXZhdGUgbWVtYmVycwoJICBNb3N0IG9mIHRoZW0gYXJlIHByb3RlY3RlZCBieSB0aGUgb2JqZWN0IGxvY2ssIHNwZWNpZnkKCSAgd2hpY2ggb25lcyB1c2UgYSBkaWZmZXJlbnQgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0NzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgaG93IHRoZSBzZWdtZW50IGlzIHByb3RlY3RlZAoJICBEb2N1bWVudCB0aGF0IGl0IGNhbiBvbmx5IGJlIGFjY2Vzc2VkIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjQ0OjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IGFsbCBsYXRlbmN5IHJlbGF0ZWQgbWVtYmVycyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGUgbG9ja2luZyB3YXMgbm90IGNvbnNpc3RlbnQsIG5vdyBjb25zaXN0ZW50bHkgdXNlIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTo0MzoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGxvY2tpbmcgZm9yIGdzdF9hZ2dyZWdhdG9yX2dldF9sYXRlbmN5X3VubG9ja2VkKCkKCSAgUmVuYW1lZCBpdCB0byBfdW5sb2NrZWQoKSB0byBtYWtlIGl0IGNsZWFyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjM1OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IHRoZSBzcmNwYWQgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIHRoZSBzdHJlYW0gbG9jawoJICBJbnN0ZWFkIG9mIGFkZGluZyBhbm90aGVyIGxvY2ssIHVzZSB0aGUgc3JjcGFkIHN0cmVhbSBsb2NrLCB3aGljaCBpcyBhbHJlYWR5CgkgIHRha2VuIGFueXdheSB0byBwdXNoIG91dCB0aGUgbmV3IGNhcHMgaWYgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjMzOjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IHRoZSB0YWdzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoZSB0YWdzIHJlbGF0ZWQgdmFyaWFibGVzIHdlcmUgc29tZXRpbWVzIHByb3RlY3RlZCwgc29tZXRpbWVzIG5vdCBhbmQKCSAgc29tZXRpbWVzIGF0b21pYy4gUHV0IHRoZW0gYWxsIHVuZGVyIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTozMjozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQXZvaWQgcmFjZSBpbiBjYXBzIG5lZ290aWF0aW9uCgkgIFdpdGggdGhlIGN1cnJlbnQgYXVkaW9taXhlciwgdGhlIGlucHV0IGNhcHMgbmVlZCB0byBiZSB0aGUgc2FtZSwKCSAgb3RoZXJ3aXNlIHRoZXJlIGlzIGFuIHVuYXZvaWRhYmxlIHJhY2UgaW4gdGhlIGNhcHMgbmVnb3RpYXRpb24uIFNvCgkgIGVuZm9yY2UgdGhhdCB1c2luZyBjYXBzZmlsdGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjUzOjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDb25zaXN0ZW5seSBsb2NrIHRoZSBmbG93X3JldHVybiBzdGF0ZQoJICBVc2UgdGhlIG9iamVjdCdzIGxvY2sgdG8gcHJvdGVjdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0Nzo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQ2xlYXIgR3N0QXVkaW9JbmZvIHRoZSB0aGUgY2FwcwoJICBXaGVuIGNsZWFyaW5nIHRoZSBjYXBzLCBhbHNvIGNsZWFyIHRoZSBtYXRjaGluZyBHc3RBdWRpb0luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0NTozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ29uc2lzdGVudGx5IGxvY2sgc29tZSBtZW1iZXJzCgkgIFNvbWUgbWVtYmVycyBzb21ldGltZXMgdXNlZCBhdG9taWMgYWNjZXNzLCBzb21ldGltZXMgd2hlcmUgbm90IGxvY2tlZCBhdAoJICBhbGwuIEluc3RlYWQgY29uc2lzdGVudGx5IHVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlbSwgYWxzbyBkb2N1bWVudAoJICB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjM5OjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEb24ndCByZXNldCBjYXBzIG9uIGZsdXNoCgkgIEEgZmx1c2ggZXZlbnQgZG9lc24ndCBpbnZhbGlkYXRlIHRoZSBwcmV2aW91cyBjYXBzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTE0IDE0OjQ1OjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IExvY2sgYWNjZXNzIHRvIG1lbWJlcnMgb2YgR3N0QWdncmVnYXRvclBhZAoJICBUYWtlIHRoZSBwYWQncyBvYmplY3QgbG9jayBiZWZvcmUgYWNjZXNzaW5nIG1lbWJlcnMgb2YgdGhlCgkgIEdzdEFnZ3JlZ2F0b3JQYWQgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTE0IDE0OjM4OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgZXhwb3J0ZWQgcGFkIG1lbWJlcnMgd2l0aCB0aGUgcGFkJ3Mgb2JqZWN0IGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0xNCAxNDozNToxNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlcGxhY2UgZXZlbnQgbG9jayB3aXRoIHBhZCdzIG9iamVjdCBsb2NrCgkgIFJlZHVjZSB0aGUgbnVtYmVyIG9mIGxvY2tzIHNpbXBsaWZ5IGNvZGUsIHdoYXQgaXMgcHJvdGVjdHMKCSAgaXMgZXhwb3NlZCwgYnV0IHRoZSBsb2NrIHdhcyBub3QuCgkgIEFsc28gbWVhbnMgYWRkaW5nIGFuIF91bmxvY2tlZCB2ZXJzaW9uIG9mIGdzdF9hZ2dyZWdhdG9yX3BhZF9zdGVhbF9idWZmZXIoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0wOSAyMjowMTowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCBkYXRhIHdpdGggdGhlIHNhbWUgbXV0ZXggYXMgR0NvbmQKCSAgV2hlbmV2ZXIgYSBHQ29uZCBpcyB1c2VkLCB0aGUgc2FmZXN0IHBhcmFkaWdtIGlzIHRvIHByb3RlY3QKCSAgdGhlIHZhcmlhYmxlIHdoaWNoIGNoYW5nZSBpcyBzaWduYWxsZWQgYnkgdGhlIEdDb25kIHdpdGggdGhlIHNhbWUKCSAgbXV0ZXggdGhhdCB0aGUgR0NvbmQgZGVwZW5kcyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yOSAwMjoyODozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IElmIGdldHRpbmcgYSB0aW1lb3V0IGJlZm9yZSBoYXZpbmcgY2FwcywganVzdCBhZHZhbmNlIG91ciBwb3NpdGlvbgoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhpcyBpcyBhIGxpdmUgcGlwZWxpbmUgYW5kIG5vIHNvdXJjZSBwcm9kdWNlZCBhbnkgYnVmZmVyCgkgIGFuZCBzZW50IG5vIGNhcHMgdW50aWwgYW4gb3V0cHV0IGJ1ZmZlciBzaG91bGQndmUgYmVlbiBwcm9kdWNlZCBhY2NvcmRpbmcgdG8gdGhlCgkgIGxhdGVuY3kuCgkgIFRoaXMgZml4IGlzIHNpbWlsYXIgaW4gc3Bpcml0IHRvIGNvbW1pdCBiZTcwMzRkMSBieSBTZWJhc3RpYW4gZm9yIGF1ZGlvbWl4ZXIuCgoyMDE1LTAxLTI5IDE3OjMxOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NhbGF5ZXI6IGFkZCByZXNpemUgY2FsbGJhY2sgYmFzZWQgb24gdGhlIGJvdW5kcyByZWN0YW5nbGUKCjIwMTUtMDEtMjkgMTU6MjY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FvcGVuZ2xsYXllcjogZHJhdyBhc3luY2hyb25vdXNseQoJICBUaGlzIGVzc2VudGlhbGx5IG1ha2VzIHRoZSBDQU9wZW5HTExheWVyIGRyYXcgZXZlcnkgcmVmcmVzaCBjeWNsZS4KCjIwMTUtMDEtMjggMTc6NTk6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZG9uJ3Qgc2VnZmF1bHQgaWYgd2UgaGF2ZSBhIE5VTEwgZHJhdy9yZXNpemUvY2xvc2UgY2FsbGJhY2sKCjIwMTUtMDEtMjggMTc6MTY6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgY2dsL2NhbGF5ZXI6IHVzZSBhIGNhbGxiYWNrIGluc3RlYWQgb2YgaGFyZGNvZGluZyB0aGUgZHJhdyBmdW5jdGlvbmFsaXR5CgoyMDE1LTAxLTI4IDE3OjEzOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGNnbDogaW5zdGFsbCB0aGUgZ2wgY29udGV4dCBhbmQgZ2wgbGF5ZXIgaGVhZGVycwoKMjAxNS0wMS0yOCAxNzowNToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGNnbDogYWRkIGEgaGVhZGVyIGZvciB0aGUgQ0FPcGVuR0xMYXllciBzdXBwb3J0CgoyMDE1LTAxLTI4IDE3OjAyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFsd2F5cyBsb2NrIHRoZSBtdXRleCBiZWZvcmUgc3RhcnRpbmcgdGhlIHN0cmVhbXMKCjIwMTUtMDEtMjggMTY6NTg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogRml4IGRlYWRsb2NrCgoyMDE1LTAxLTI4IDE1OjQ4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c2luazogT25seSBzdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgb25jZSBib3RoIHNvdXJjZXMgYXJlIHJlYWR5IGFuZCB3ZSBhcmUgaW4gUExBWUlORwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc3RhcnQgdGhlIHNjaGVkdWxlZCBwbGF5YmFjayBiZWZvcmUgdGhlIGF1ZGlvIG9yIHZpZGVvIHN0cmVhbXMgYXJlCgkgIGFjdHVhbGx5IGVuYWJsZWQsIGFuZCB0aGVuIGVycm9yIG91dCBsYXRlciBiZWNhdXNlIHRoZXkgYXJlIGVuYWJsZWQgdG8gbGF0ZS4KCSAgV2UgZW5hYmxlIHRoZSBzdHJlYW1zIHdoZW4gZ2V0dGluZyB0aGUgY2Fwcywgd2hpY2ggbWlnaHQgYmUgKmFmdGVyKiB3ZSB3ZXJlCgkgIHNldCB0byBQTEFZSU5HIHN0YXRlLgoKMjAxNS0wMS0yOCAxNToyNjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBPbmx5IHN0YXJ0IHRoZSBzdHJlYW1zIG9uY2UgYm90aCBzb3VyY2VzIGFyZSByZWFkeSBhbmQgd2UgYXJlIGluIFBMQVlJTkcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHN0YXJ0IHRoZSBzdHJlYW1zIGJlZm9yZSB0aGUgYXVkaW8gb3IgdmlkZW8gc3RyZWFtcyBhcmUKCSAgYWN0dWFsbHkgZW5hYmxlZCwgYW5kIHRoZW4gZXJyb3Igb3V0IGxhdGVyIGJlY2F1c2UgdGhleSBhcmUgZW5hYmxlZCB0byBsYXRlLgoJICBXZSBlbmFibGUgdGhlIHN0cmVhbXMgd2hlbiBnZXR0aW5nIHRoZSBjYXBzLCB3aGljaCBtaWdodCBiZSAqYWZ0ZXIqIHdlIHdlcmUKCSAgc2V0IHRvIFBMQVlJTkcgc3RhdGUuCgoyMDE1LTAxLTI4IDE0OjIxOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogTWFrZSBzdXJlIG91ciBjbG9jayBuZXZlciByZXR1cm5zIE5PTkUsIGFsd2F5cyBhZHZhbmNlcyBhbmQgZG9lcyBub3QganVtcCB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFBMQVlJTkcKCSAgSXQgYmFzaWNhbGx5IGJlaGF2ZXMgdGhlIHNhbWUgYXMgdGhlIGF1ZGlvIGNsb2Nrcy4KCjIwMTUtMDEtMjggMTI6MjA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogSGFuZGxlIHRoZSBjbG9jayByZXR1cm5pbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSBwcm9wZXJseQoKMjAxNS0wMS0yOCAxMTo0MToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3tzaW5rLHNyY306IE1ha2UgZWxlbWVudHMgbW9yZSBzaW1pbGFyIHRvIHRoZSBhdWRpbyBlbGVtZW50cyBieSBlbmFibGluZyB0aGUgdmlkZW8gaW5wdXQvb3V0cHV0IG9ubHkgd2hlbiBnZXR0aW5nIHRoZSBhY3R1YWwgY2FwcwoJICBUaGlzIHdpbGwgYWxzbyBtYWtlIGl0IGVhc2llciBsYXRlciB0byBzdXBwb3J0IGNhcHMgY2hhbmdlcyBhbmQgc3VwcG9ydAoJICBzZWxlY3RpbmcgdGhlIG1vZGUgYmFzZWQgb24gdGhlIGNhcHMgaWYgdGhhdCBzaG91bGQgZXZlciBiZSBpbXBsZW1lbnRlZC4KCjIwMTUtMDEtMjYgMTk6MDI6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IFByb3Blcmx5IHJlcG9ydCBjYXBzIGlmIG1vZGUhPWF1dG8gYW5kIGhhbmRsZSBjYXBzIGNoYW5nZXMgcHJvcGVybHkgZm9yIG1vZGU9YXV0bwoKMjAxNS0wMS0yNiAxODoyNzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3QgcmVsZWFzZSBpbnB1dCBkZXZpY2UgdHdpY2Ugb24gZXJyb3JzIGluIHNldF9jYXBzKCkKCjIwMTUtMDEtMjcgMTE6MjU6NTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBmaXggYnVpbGQKCSAgQ29tbWl0IGFiNDhiYjZmMGY1NTA5MTY2MmU1OTVhMDAxZTE3ODE1NGNlNjBjZGIgY2hhbmdlZCB0aGUgQVBJIG9mCgkgIEdzdEdMV2luZG93LgoKMjAxNS0wMS0yNyAxNDo1Mjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBtb3JlIGNvbXBhdGliaWxpdHkgZGVmaW5lcyBmb3IgZ2xlczIgc3lzdGVtcwoKMjAxNS0wMS0yNyAxMjoxNTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogYWRkIHNvbWUgdGhyZWFkIHNhZmV0eSBmb3IgZ2wgb3BlcmF0aW9ucwoKMjAxNS0wMS0yNyAxMTo1Mzo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogdXNlIHBibydzIGZvciBkb3dubG9hZAoJICBJbiBvcmRlciB0byB1c2UgcGJvJ3MgZWZmaWNpZW50bHksIHRoZSB0cmFuc2ZlciBvcGVyYXRpb24gaGFzIHRvCgkgIGJlIHNlcGFyYXRlZCBmcm9tIHRoZSB1c2Ugb2YgdGhlIGRvd25sb2FkZWQgZGF0YSB3aGljaCByZXF1aXJlcyBzb21lCgkgIHJlYXJjaGl0ZWN0dXJpbmcgYXJvdW5kIGdsY29sb3Jjb252ZXJ0L2dsZG93bmxvYWQgYW5kIGVsZW1lbnRzCgoyMDE1LTAxLTI3IDExOjA0OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSAgZ2xwcm90b3R5cGVzOiBhZGQgc29tZSAodW4pbWFwIGJ1ZmZlciB2YXJpYW50cyBmb3IgR0wvR0xFUwoKMjAxNS0wMS0yNiAxNzo1MToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHVzZSBhdWRpb18lMDJ1IGFuZCB2aWRlb18lMDJ1IG5hbWVzIGZvciBwYWRzCgkgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgZ2hvc3RwYWQldSBuYW1pbmcuIFRoZSBhdWRpb18vdmlkZW9fCgkgIG5hbWVzIGFyZSBtb3JlIGNvbW1vbiBpbiBkZW11eGVycwoKMjAxNS0wMS0yNiAxNTozMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogUmVsZWFzZSB0aGUgYXVkaW8gaW5wdXQgb24gZXJyb3JzLCBub3QgdGhlIHZpZGVvIGlucHV0CgoyMDE1LTAxLTI2IDEzOjQ2OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlCgkgIFRoZSBicHMgdmFyaWFibGUgaXMgZGVjbGFyZWQgd2l0aCB2YWx1ZSBhaWZmLT5icHMsIHJlYWQgb25jZSBhbmQgbmV2ZXIgd3JpdHRlbi4KCSAgYWlmZi0+YnBzIGNhbiBiZSB1c2VkIGRpcmVjdGx5IGluc3RlYWQuCgoyMDE1LTAxLTI2IDEyOjQ5OjQ1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IHdoaWNoIHN0b3AgdmFyaWFibGUgaXMgdXNlZCBpbiBhc3NpZ25tZW50CgkgIEFzc2lnbm1lbnQgaXMgZG9uZSB0byB2YXJpYWJsZSBzZWdtZW50LnN0b3Agd2hlbiB0aGUgaW50ZW50aW9uIHdhcyB0byBhc3NpZ24gdG8KCSAgbG9jYWwgdmFyaWFibGUgc3RvcC4gSW5zdGVhZCBvZiBvdmVyd3JpdGluZyBpdCwgdGhlIHZhbHVlIGlzIG5vdyBjbGFtcGVkIGFuZAoJICBzZWdtZW50LnN0b3AgaXMgc2V0IHRvIGl0IHNvb24gYWZ0ZXIuCgkgIENJRCAjMTI2NTc3MgoKMjAxNS0wMS0yNiAwOToyMjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY3Jhc2ggd2hlbiByZWNlaXZpbmcgYnVmZmVyIHdpdGhvdXQgdGltZXN0YW1wcwoJICBVbnNldCBvdXQgYnVmZmVyIGluIGNsaXAgZnVuY3Rpb24gd2hlbiB3ZSB1bnJlZiB0aGUgYnVmZmVyIHRvIGJlCgkgIGNsaXBwZWQsIG90aGVyd2lzZSBhZ2dyZWdhdG9yIHdpbGwgY29udGludWUgdG8gdXNlIHRoZSBhbHJlYWR5LQoJICBmcmVlZCBidWZmZXIuIEZpeGVzIGNyYXNoIHdoZW4gYnVmZmVycyB3aXRob3V0IHRpbWVzdGFtcHMgYXJlCgkgIGJlaW5nIGZlZCB0byBhZ2dyZWdhdG9yLiBQYXJ0bHkgYmVjYXVzZSBhZ2dyZWdhdG9yIGlnbm9yZXMgdGhlCgkgIGVycm9yIGZsb3cgcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzM0CgoyMDE1LTAxLTE4IDE4OjA1OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBSZW1vdmUgdW5wb3J0ZWQgZGlyZWN0ZHJhdyBwbHVnaW4KCSAgVGhpcyBBUEkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgZXRlcm5pdGllcyBhbmQgbWljcm9zb2Z0CgkgIHN0b3BwZWQgc2hpcHBpbmcgdGhlIGhlYWRlcnMgaW4gMjAxMCBhY2NvZGluZyB0byB3aWtpcGVkaWEsCgkgIHNvIGxldCdzIGp1c3QgcmVtb3ZlIGl0IGFuZCBmb2N1cyBvbiBicmluZ2luZyB0aGUgcGx1Z2lucwoJICBiYXNlZCBvbiB0aGUgbmV3ZXIgQVBJcyB1cCB0byBzbnVmZi4KCjIwMTQtMDMtMjYgMTc6NDM6MzMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IHdyaXRlIHBhZGRpbmcgYnl0ZSBhdCBlbmQgb2YgU1NORCBjaHVuayBpZiBuZWVkZWQKCSAgQUlGRiBjaHVua3MgYXJlIHN1cHBvc2VkIHRvIGJlIGV2ZW4gYWxpZ25lZC4KCSAgQWxpZ25pbmcgdGhlIFNTTkQgY2h1bmsgd2lsbCBhbGxvdyB0aGUgYWlmZiBtdXhlciB0byBwcm9wZXJseSB3cml0ZQoJICBjaHVua3MgKGxpa2UgdGhlIElEMyBvbmUpIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDIKCjIwMTUtMDEtMjMgMTI6NDQ6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRnJlZSBsZWFrZWQgR3N0U3RydWN0dXJlCgkgIENvdmVyaXR5IENJRCA6IDEyNTY1NjUKCjIwMTUtMDEtMjMgMTI6NDE6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogRW5zdXJlIHZhcmlhYmxlIGlzIGluaXRpYWxpemVkIGJlZm9yZSB1c2FnZQoJICBDb3Zlcml0eSBDSUQ6IDEyNTY1NjkKCjIwMTUtMDEtMjMgMTI6MjY6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5jOgoJICBjb2RlY3BhcnNlcnM6IEluZGVudCBmaWxlCgkgIFNvbWVvbmUncyBiZWVuIGNvbW1pdGluZyB3aXRob3V0IHVzaW5nIGdzdC1pbmRlbnQgOikKCjIwMTUtMDEtMjMgMTI6MjQ6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgUkVBRF9VRV9NQVggbWFjcm8KCSAgUkVBRF9VRV9BTExPV0VEIHdhcyBhbG1vc3QgZXhjbHVzaXZlbHkgdXNlZCB3aXRoIG1pbiA9PSAwLCB3aGljaCBkb2Vzbid0CgkgIG1ha2UgbXVjaCBwb2ludCBmb3IgdW5zaWduZWQgaW50ZWdlcnMuCgkgIEFkZCBhIFJFQURfVUVfTUFYIHZhcmlhbnQgYW5kIHVzZSB0aGF0IGluc3RlYWQuIEFsc28gcmVwbGFjZWQgdHdvIHVzYWdlcwoJICBvZiBDSEVDS19BTExPV0VEIChhLDAsc29tZXRoaW5nKSBieSBDSEVDS19BTExPV0VEX01BWCAoYSwgc29tZXRoaW5nKQoKMjAxNS0wMS0yMyAxMjoyODo0MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggR0FQIGZsYWcgc2V0dGluZyBvbiBub24tYmxhY2sgZnJhbWVzCgkgIFRoZSBwcmV2aW91cyBjb21taXQgZml4ZWQgc2V0dGluZyB0aGUgR0FQIGZsYWcgb24gYmxhY2sgZnJhbWVzLCBidXQKCSAgaW5jb3JyZWN0bHkgZHJvcHBlZCB0aGUgZmxhZyBvbiByZXBlYXRlZCBwdXNoZXMgb2YgdGhlIHNhbWUgdmlkZW8KCSAgYnVmZmVyLgoKMjAxNS0wMS0yMyAxNzoyNzo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGdsd2luZG93IGFwaSBjaGFuZ2UKCjIwMTUtMDEtMjMgMTY6NTI6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvd2luZG93L2VhZ2w6IGZpeCBhIGNvdXBsZSBvZiB0eXBvcwoKMjAxNS0wMS0yMyAxNjozOTo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBjbGVhbnVwL3Jlb3JnYW5pemUgZnVuY3Rpb25zL21lbWJlcnMgaW50byBsb2dpY2FsIGdyb3VwcwoKMjAxNS0wMS0yMyAxNTowMjo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3IgZ3N0Z2wgY29jb2EgLT4gY2dsIGNoYW5nZQoKMjAxNS0wMS0yMyAxNDoxODoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9jb2NvYV91dGlscy5tbToKCSAgZ2wvcXQvZXhhbXBsZXM6IHVwZGF0ZSBmb3IgTlNPcGVuR0wgLT4gQ0dMIGNoYW5nZQoKMjAxNS0wMS0yMyAxNDoxMTo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogcmVtb3ZlIHdpZHRoL2hlaWdodCBmcm9tIF9kcmF3KCkKCSAgRGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2FzIG9ubHkgZXZlciBpbXBsZW1lbnRlZCB0byAxKSBzZXQgYQoJICBkZWZhdWx0IHN1cmZhY2Ugc2l6ZSwgMikgcmVzaXplIGJhc2VkIG9uIHRoZSB2aWRlbyBmcmFtZSBvciAzKSBub3RoaW5nLgoJICBJbnN0ZWFkLCBwcm92aWRlIGEgc2V0X3ByZWZlcnJlZF9zaXplICgpIHRoYXQgZWxlbWVudHMvYXBwbGljYXRpb25zCgkgIGNhbiB1c2UgdG8gcmVxdWVzdCBhIGNlcnRhaW4gc2l6ZSB3aGljaCBtYXkgYmUgaWdub3JlZCBmb3IKCSAgdmlkZW9vdmVybGF5L290aGVyIGNhc2VzLgoKMjAxNS0wMS0yMiAyMTo0Mzo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvbnRleHQvY29jb2E6IGF2b2lkIGRlc3Ryb3lpbmcgYSBwb3NzaWJseSAwIEdTb3VyY2UgaWQKCjIwMTUtMDEtMjAgMjI6MDE6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBtb3ZlIHRvIENHTCBhbmQgQ0FPcGVuR0xMYXllciBmb3IgcmVuZGVyaW5nCgkgIFJlbW92ZXMgdGhlIHVzZSBvZiBOU09wZW5HTCogdmFyaWV0eSBhbmQgZnVuY3Rpb25zLiAgQW55IENvY29hCgkgIHNwZWNpZmljIGZ1bmN0aW9ucyB0aGF0IHRvb2svcmV0dXJuZWQgYSBOU09wZW5HTCogb2JqZWN0IG5vdwoJICB0YWtlL3JldHVybiB0aGUgQ0dMIGVxdWl2YWxlbnRzLgoKMjAxNS0wMS0yMiAxNjowODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvbnRleHQvY29jb2E6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxNS0wMS0yMiAxMDo1MDoyMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggR0FQIGZsYWcgc2V0dGluZyBvbiBibGFjayBmcmFtZXMgY29ycmVjdGx5CgkgIFRoaXMgZGlkIG5vdCBhY3R1YWxseSB3b3JrIHNpbmNlIHRoZSB2aWRlb19idWZmZXIgd2FzIHNldCB0byBOVUxMIGFmdGVyCgkgIHRoZSBmaXJzdCBibGFjayBmcmFtZS4KCSAgUmVwb3J0ZWQgYnk6IFBhdHJpayBPbGRzYmVyZyA8cGF0cmlrLm9sZHNiZXJnQGVyaWNzc29uLmNvbT4KCjIwMTUtMDEtMjEgMjM6Mzc6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IG1heCB2YWx1ZSBvZiB0aGUgdGltZW91dCBwcm9wZXJ0eQoJICBSZXBvcnRlZCBieTogUGF0cmlrIE9sZHNiZXJnIDxwYXRyaWsub2xkc2JlcmdAZXJpY3Nzb24uY29tPgoKMjAxNS0wMS0yMSAyMzozNTo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogSW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlCgkgIFdpbGwgYmUgdXNlZnVsIHdoZW4gd2Ugd2FudCB0byBzZXQgcHJlc2V0cyBvbiB0aGUgZW5jb2RlciB2aWEgZW5jb2RlYmluCgkgIG9yIHN1Y2guCgoyMDE1LTAxLTIxIDE1OjMxOjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3luYyB3aXRoIGJhc2UgY2xhc3MgaW4gLWJhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wMS0yMSAxNTowNjoyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGVuc3VyZSBkZWZhdWx0IHF1ZXJ5L2V2ZW50IGhhbmRsZXJzIGFyZSB1c2VkCgkgIFN5bmMgYXVkaW92aXN1YWxpemVyIGNsYXNzIGltcGxlbWVudGF0aW9uIHRvIHRoZSBvbmUgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gVGhpcwoJICBjb21taXQgbWF0Y2hlcyA5ZGQwZTZjY2NjOTcxZDhhNmJjY2E0ZTllNGQyZWUxZGJiMjBmZmZhIGluIHRoYXQgbW9kdWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTAxLTIxIDEwOjE4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSAgc2lyZW46IE1ha2Ugc29tZSBsb2NhbCB2YXJpYWJsZXMgbm9uLXN0YXRpYyBmb3IgdGhyZWFkLXNhZmV0eQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBvdmVycmlkZSB2YWx1ZXMgZnJvbSBhbm90aGVyIHRocmVhZCBpZiB3ZSBlbmNvZGUKCSAgb3IgZGVjb2RlIGZyYW1lcyBhdCB0aGUgc2FtZSB0aW1lIGluIGRpZmZlcmVudCB0aHJlYWRzLgoKMjAxNS0wMS0yMSAxMDoxNzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iczJiL2dzdGJzMmIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWdwc211eC9jcmMuaDoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICBDb25zdGlmeSBzb21lIHN0YXRpYyBhcnJheXMgZXZlcnl3aGVyZQoKMjAxNS0wMS0yMSAwODo0OToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogRml4IGxpc3Qgb2YgZmlsZXMgdHJhY2tlZAoJICBzZnNpbmsvc2ZzcmMgaGF2ZW4ndCBiZWVuIHBvcnRlZCAoYW5kIHRoZXJlZm9yZSBkaXN0J2VkKSBpbiAxLngKCjIwMTQtMTItMDkgMDk6NTg6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IG1pbm9yIGRlYnVnIHVwZGF0ZQoJICBPbmx5IHNob3cgUFRTL0RUUyB3aGVuIHRoZXkgYXJlIHZhbGlkLCBhbmQgaW5jbHVkZSB0aGUgc3RyZWFtIGlkCgoyMDE1LTAxLTIwIDE0OjU1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCBza2lwIHRoZSBmaXJzdCBmcmFnbWVudAoJICBBdm9pZCBhZHZhbmNpbmcgZnJhZ21lbnQgcmlnaHQgYWZ0ZXIgZG93bmxvYWRpbmcgdGhlIGhlYWRlci4gSWYgaXQKCSAgaXMgdGhlIGhlYWRlciwgYnkgZGVmYXVsdCwgZG9uJ3QgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudC4KCjIwMTUtMDEtMjAgMTY6NTc6MTUgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzI1MQoKMjAxNS0wMS0xNiAxOTozMjoxNSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBzdGVyZW8taGlnaCBwcm9maWxlCgkgIEV4cG9zaW5nIHN0ZXJlby1oaWdoIHByb2ZpbGUgYXMgYSBjb21wYXRpYmxlIHByb2ZpbGUgb2YgbXVsdGl2aWV3LWhpZ2gKCSAgaWYgdGhlIG1heGltdW0gbnVtYmVyIG9mIGVuY29kZWQgdmlld3MgaW4gdGhlIHN0cmVhbSBpcyB0d28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNzQKCjIwMTUtMDEtMTkgMTc6MzE6MjYgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwYXJzZSBTUFMgc3Vic2V0CgkgIFRoaXMgcGF0Y2ggY2FsbHMgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3N1YnNldF9zcHMoKSB3aGVuIGEKCSAgU1BTIHN1YnNldCBOQUwgdHlwZSBpcyBmb3VuZC4KCSAgQWxsIHRoZSBiaXRzIHJlcXVpcmVkIGZvciBwYXJzaW5nIHRoZSBTUFMgc3Vic2V0IGluIE5BTHMgd2VyZQoJICBhbHJlYWR5IHRoZXJlLCBqdXN0IHdlIG5lZWQgdG8gY2FsbCB0aGVtIHdoZW4gdGhlIHRoaXMgTkFMIHR5cGUKCSAgaXMgZm91bmQuCgkgIFdpdGggdGhpcyBwYXJzaW5nLCB0aGUgbnVtYmVyIG9mIHZpZXdzIChtaW51cyAxKSBhdHRyaWJ1dGUgaXMKCSAgZmlsbGVkLCB3aGljaCB3YXMgYSByZXF1aXJlbWVudCBmb3IgbmVnb3RpYXRpbmcgdGhlIHN0ZXJlby1oaWdoCgkgIHByb2ZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNzQKCjIwMTMtMDMtMTkgMTQ6MjM6MDAgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgTVZDIE5BTCB1bml0cy4KCSAgSW5pdGlhbCBzdXBwb3J0IGZvciBNVkMgTkFMIHVuaXRzLiBJdCBpcyBvbmx5IG5lZWRlZCB0byBwcm9wYWdhdGUgdGhlCgkgIGNvbXBsZXRlIHNldCBvZiBOQUwgdW5pdHMgZG93bnN0cmVhbSBhdCB0aGlzIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYxMzUKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE1LTAxLTIwIDA5OjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBleHBsaWNpdCBjYXN0IHRvIG1ha2UgY2xhbmcgaGFwcHkKCSAgRml4ZXMgY29tcGlsYXRpb24KCjIwMTUtMDEtMTUgMTc6NDQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZWZhY3RvciBjaHVuayBkb3dubG9hZGluZyBmbG93CgkgIEFkZCBtb3JlIHBvd2VyIHRvIHRoZSBjaHVua19yZWNlaXZlZCBmdW5jdGlvbiAocmVuYW1lZCB0byBkYXRhX3JlY2VpdmVkKQoJICBhbmQgYWxzbyB0byB0aGUgZnJhZ21lbnRfZmluaXNoIGZ1bmN0aW9uLgoJICBUaGUgZGF0YV9yZWNlaXZlZCBmdW5jdGlvbiBtdXN0IHBhcnNlL2RlY3J5cHQgdGhlIGRhdGEgaWYgbmVjZXNzYXJ5IGFuZAoJICBhbHNvIHB1c2ggaXQgdXNpbmcgdGhlIG5ldyBwdXNoX2J1ZmZlciBmdW5jdGlvbiB0aGF0IGlzIGV4cG9zZWQgbm93LiBUaGUKCSAgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBnZXRzIGRhdGEgZnJvbSB0aGUgc3RyZWFtIGFkYXB0ZXIgKGFsbCBhdmFpbGFibGUpCgkgIGFuZCBwdXNoZXMgaXQuCgkgIFRoZSBmcmFnbWVudF9maW5pc2ggZnVuY3Rpb24gbXVzdCBhbHNvIGFkdmFuY2UgdGhlIGZyYWdtZW50LiBUaGUgZGVmYXVsdAoJICBpbXBsZW1lbnRhdGlvbiBvbmx5IGFkdmFuY2VzIHRoZSBmcmFnbWVudC4KCSAgVGhpcyBhbGxvd3MgdGhlIHN1YnNlZ21lbnQgaGFuZGxpbmcgaW4gZGFzaGRlbXV4IHRvIGNvbnRpbnVvdXNseSBkb3dubG9hZAoJICB0aGUgc2FtZSBmaWxlIGZyb20gdGhlIHNlcnZlciBpbnN0ZWFkIG9mIHN0b3BwaW5nIGF0IGV2ZXJ5IHN1YnNlZ21lbnQKCSAgYm91bmRhcnkgYW5kIHN0YXJ0aW5nIGEgbmV3IHJlcXVlc3QKCjIwMTUtMDEtMTkgMTI6Mzc6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSAgY29tcG9zaXRvcjogZml4IGlsbGVnYWwgbWVtb3J5IGFjY2VzcyBpbiBibGVuZCBmdW5jdGlvbiB3aXRoIG5lZ2F0aXZlIHlwb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTExNQoKMjAxNS0wMS0xOSAwODozNzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkIGxvZyBtZXNzYWdlIGFib3V0IHNlZ21lbnQgdGltZSBpbmZvcm1hdGlvbgoJICBGb3IgZGVidWdnaW5nIHB1cnBvc2VzCgoyMDE1LTAxLTE5IDA4OjM2OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBtdWx0aS1wZXJpb2QgcGxheWJhY2sKCSAgSWYgd2Ugc2F5IGl0IGlzIHRoZSBmaXJzdCBzZWdtZW50IGFmdGVyIGEgbmV3IHBlcmlvZCBpdCB3aWxsIHJlc3luYwoJICB0aGUgc2VnbWVudC5zdGFydCB2YWx1ZSBhbmQgYWxsIGJ1ZmZlcnMgd2lsbCBiZSBsYXRlIGZvciB0aGUgbmV3IHBlcmlvZAoJICB3ZSBhcmUgdHJ5aW5nIHRvIHBsYXkuIE90aGVyd2lzZSB3ZSB3YW50IHRvIGtlZXAgdGhlIHNlZ21lbnQuc3RhcnQgd2l0aAoJICB0aGUgcHJldmlvdXMgdmFsdWUgdG8gYWxsb3cgdGhlIHJ1bm5pbmcgdGltZSB0byBzbW9vdGhseSBpbmNyZWFzZQoKMjAxNS0wMS0xOSAxMToyMzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggY2xhbmcKCSAgZ3N0ZGFzaGRlbXV4LmM6MTMzMDoxMzogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdlbnVtIF9Hc3RBZGFwdGl2ZURlbXV4Rmxvd1JldHVybicgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdEZsb3dSZXR1cm4nIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICByZXQgPSBHU1RfQURBUFRJVkVfREVNVVhfRkxPV19TVUJTRUdNRU5UX0VORDsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNS0wMS0xOCAyMTowNTo0NCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBtZW1sZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNDIKCjIwMTUtMDEtMTggMTc6MjU6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBSZW1vdmUgcmVhbCBwbHVnaW4gd2hpY2ggaXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkCgkgIERlY29kZXJzIGZvciB0aGVzZSBmb3JtYXRzIGV4aXN0IGluIGdzdC1saWJhdiwgaWYgYW55b25lCgkgIHN0aWxsIGhhcyBhIG5lZWQgZm9yIHRoZW0uCgoyMDE1LTAxLTE4IDE3OjEwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgbGliZ215dGgtYmFzZWQgTXl0aFRWIHNvdXJjZSBlbGVtZW50IHdoaWNoIHdhcyBuZXZlciBwb3J0ZWQKCSAgZ215dGggc2VlbXMgdG8gYmUgdW5tYWludGFpbmVkIHVwc3RyZWFtLCBhbmQgbm8gb25lIGhhcyBhc2tlZAoJICBmb3IgdGhpcyB0byBiZSBwb3J0ZWQgZm9yIGEgdmVyeSBsb25nIHRpbWUsIHNvIGxldCdzIGp1c3QKCSAgcmVtb3ZlIGl0LiBOZWl0aGVyIGRlYmlhbiBub3IgRmVkb3JhIHNlZW0gdG8gc2hpcCBsaWJnbXl0aAoJICBhbnkgbG9uZ2VyLCBhbmQgaW4gYW55IGNhc2UgaXQncyBtb3N0IGxpa2VseSBkZXByZWNhdGVkIGJ5CgkgIHRoZSBVUG5QIHN1cHBvcnQgaW4gTXl0aFRWLgoKMjAxNS0wMS0xNyAxMDowNjo0MCArMTEwMCAgTGFzc2UgTGF1cnNlbiA8bGFzc2VAbGFzc2VsYXVyc2VuLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbGFwaTogZml4IGNvbXBpbGF0aW9uIHdpdGggbGF0ZXN0IE1TVkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzA0MQoKMjAxNS0wMS0xNSAxMjo1Nzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1c2UgdGhlIGNvcnJlY3Qgc2l6ZSBmb3IgdGhlIHBibwoJICBJdCB3YXMgbWlzc2luZyB0aGUgR3N0VmlkZW9BbGlnbm1lbnQgcGFkZGluZyB3aGljaCBjb3VsZCBjYXVzZSBHTAoJICBlcnJvcnMgcmVsYXRlZCB0byBvdmVycnVubmluZyB0aGUgc2l6ZSBvZiB0aGUgcGJvLgoKMjAxNS0wMS0xNiAxNjoxODozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBwcmV2ZW50IGVhcmx5IEVPUyB3aGVuIHN3aXRjaGluZyBhdCBsYXN0IGZyYWdtZW50CgkgIENoZWNrIGlmIHRoZXJlIGlzIGEgbmV4dCBmcmFnbWVudCBiZWZvcmUgYWR2YW5jaW5nIHRvIGF2b2lkIGNhdXNpbmcKCSAgYSBiaXRyYXRlIHN3aXRjaCAoYW5kIG1heWJlIGV4cG9zaW5nIG5ldyBwYWRzKSBvbmx5IHRvIHB1c2ggRU9TLgoJICBUaGlzIGNhdXNlcyBwbGF5YmFjayB0byBzdG9wIHdpdGggYW4gZXJyb3IgaW5zdGVhZCBvZiBwcm9wZXJseQoJICBmaW5pc2hpbmcgd2l0aCBFT1MgbWVzc2FnZS4KCjIwMTUtMDEtMTMgMTQ6MjI6MDIgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBkZXRlY3Rpb24gZm9yIHRoZSBlbmQgb2Ygc2VnbWVudC4KCSAgVGhlIHNlZ21lbnQgc3RhcnQgdGltZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBvZmZzZXQgaW50byB0aGUgY3VycmVudCBzZWdtZW50LgoJICBUaGUgb2xkIGNvbmRpdGlvbiB0byBkZXRlY3QgdGhlIGVuZCBvZiBwZXJpb2QgKGkuZS4gc2VnbWVudCBzdGFydCB0aW1lID4KCSAgcGVyaW9kIHN0YXJ0ICsgcGVyaW9kIGR1cmF0aW9uKSBmYWlsZWQgd2hlbiB0aGUgcGVyaW9kIHN0YXJ0IHdhcyBub3QgMCBzaW5jZQoJICB0aGUgc2VnbWVudCBzdGFydCB0aW1lIGRvZXMgbm90IHRha2UgdGhlIHBlcmlvZCBzdGFydCB0aW1lIGludG8gYWNjb3VudC4KCSAgRml4IHRoaXMgZGV0ZWN0aW9uIGJ5IG9ubHkgY29tcGFyaW5nIHRoZSBzZWdtZW50IHN0YXJ0IHRvIHRoZSBwZXJpb2QgZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzNjkKCjIwMTUtMDEtMTQgMjM6MTE6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIHNlZ21lbnQgYXR0cmlidXRlCgkgIEl0IHdhcyBuZXZlciB1c2VkLCBvbmx5IGluaXRpYWxpemVkCgoyMDE1LTAxLTEyIDE3OjQwOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IElTT0JNRkYgcHJvZmlsZSBoYW5kbGluZwoJICBUaGUgSVNPQk1GRiBwcm9maWxlIGFsbG93cyBkZWZpbmluZCBzdWJzZWdtZW50cyBpbiBhIHNlZ21lbnQuIEF0IHRob3NlCgkgIHN1YnNlZ21lbnQgYm91bmRhcmllcyB0aGUgY2xpZW50IGNhbiBzd2l0Y2ggZnJvbSBvbmUgcmVwcmVzZW50YXRpb24gdG8KCSAgYW5vdGhlciBhcyB0aGV5IGhhdmUgYWxpZ25lZCBpbmRleGVzLgoJICBUbyBoYW5kbGUgdGhvc2UgdGhlICdzaWR4JyBpbmRleCBpcyBwYXJzZWQgZnJvbSB0aGUgc3RyZWFtIGFuZCB0aGUKCSAgZW50cmllcyBwb2ludCB0byBwdHMvb2Zmc2V0IG9mIHRoZSBzYW1wbGVzIGluIHRoZSBzdHJlYW0uIEtub3dpbmcgdGhhdAoJICB0aGUgZW50cmllcyBhcmUgYWxpZ25lZCBpbiB0aGUgZGlmZmVyZW50IHJlcHJlc2VudGF0aW9uIGFsbG93cyB0aGUgY2xpZW50CgkgIHRvIHN3aXRjaCBtaWQgZnJhZ21lbnQuIEluIHRoaXMgcHJvZmlsZSBhIHNpbmdsZSBmcmFnbWVudCBpcyB1c2VkIHBlcgoJICByZXByZXNlbnRhdGlvbiBhbmQgdGhlIHN1YnNlZ21lbnRzIGFyZSBjb250YWluZWQgaW4gdGhpcyBmcmFnbWVudC4KCSAgVG8gbm90aWZ5IHRoZSBzdXBlcmNsYXNzIGFib3V0IHRoZSBzdWJzZWdtZW50IGJvdW5kYXJ5IHRoZSBjaHVua19yZWNlaXZlZAoJICBmdW5jdGlvbiByZXR1cm5zIGEgc3BlY2lhbCBmbG93IHJldHVybiB0aGF0IGluZGljYXRlcyB0aGF0LiBJbiB0aGlzIGNhc2UsCgkgIHRoZSBzdXBlciBjbGFzcyB3aWxsIGNoZWNrIGlmIGEgbW9yZSBzdWl0YWJsZSBiaXRyYXRlIGlzIGF2YWlsYWJsZSBhbmQgd2lsbAoJICBjaGFuZ2UgdG8gdGhlIHNhbWUgc3Vic2VnbWVudCBpbiB0aGlzIG5ldyByZXByZXNlbnRhdGlvbi4KCSAgSXQgYWxzbyByZXF1aXJlcyBzcGVjaWFsIGhhbmRsaW5nIG9mIHRoZSBwb3NpdGlvbiBpbiB0aGUgc3RyZWFtIGFzIHRoZQoJICBmcmFnbWVudCBhZHZhbmNpbmcgaXMgbm93IGRvbmUgYnkgaW5jcmVtZW50aW5nIHRoZSBpbmRleCBvZiB0aGUgc3Vic2VnbWVudC4KCSAgSXQgd2lsbCBvbmx5IGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQgb25jZSBhbGwgc3Vic2VnbWVudHMgaGF2ZSBiZWVuCgkgIGRvd25sb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNDgKCjIwMTUtMDEtMTIgMTE6NTc6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmg6CgkgIGRhc2hkZW11eDogcGFyc2UgdGhlIHNpZHggaW5kZXggZnJvbSBpc29ibWZmIHN0cmVhbXMKCSAgQWxsb3dzIGRhc2hkZW11eCB0byBpZGVudGlmeSB0aGUgc3Vic2VnbWVudHMgaW4gdGhlIHN0cmVhbSBhbmQKCSAgc3dpdGNoIGJpdHJhdGVzIHdoZW4gbmVlZGVkCgoyMDE1LTAxLTA5IDE2OjQzOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY2hlY2sgZm9yIHByb2ZpbGVzCgkgIENoZWNrIGZvciBhdmFpbGFibGUgcHJvZmlsZXMgdG8gZW5hYmxlIGNlcnRhaW4gZmVhdHVyZXMgZm9yCgkgIGRhc2ggcGxheWJhY2suIEZvciBub3cgd2UgY2hlY2sgZm9yIHRoZSBJU09GRiBPbiBEZW1hbmQgMjAxMSBwcm9maWxlLgoKMjAxNS0wMS0xMyAxMDoxNjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBhIHNwZWNpYWwgcmV0dXJuIHRvIHNpZ25hbCBzdWJzZWdtZW50IGJvdW5kYXJ5CgkgIFRoZSBzdWJzZWdtZW50IGJvdW5kYXJ5IHJldHVybiB0ZWxscyB0aGUgYWRhcHRpdmVkZW11eCB0aGF0IGl0IGNhbgoJICB0cnkgdG8gc3dpdGNoIHRvIGFub3RoZXIgcmVwcmVzZW50YXRpb24gYXMgdGhlIHN0cmVhbSBpcyBhdCBhIHN1aXRhYmxlCgkgIHBvc2l0aW9uIGZvciBzdGFydGluZyBmcm9tIGFub3RoZXIgYml0cmF0ZS4KCjIwMTUtMDEtMTMgMTA6MTU6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWN0dWFsbHkgdXNlIHRoZSBieXRlIHJhbmdlIGZvciB0aGUgZnJhZ21lbnQgdXJsCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgZG93bmxvYWQgdGhlIGZ1bGwgZnJhZ21lbnQuIFRoaXMgd291bGQKCSAgbWFrZSBoYW5kbGluZyBzdWJzZWdtZW50cyBpbiBEQVNIIGltcG9zc2libGUuCgoyMDE1LTAxLTEzIDEwOjEzOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbG93IGRvd25sb2FkcyBvZiBoZWFkZXJzIG9ubHkKCSAgSW4gb3JkZXIgdG8gZ2V0IHNvbWUgc3Vic2VnbWVudCBpbmZvcm1hdGlvbiwgc3ViY2xhc3NlcyBtaWdodCB3YW50CgkgIHRvIGRvd25sb2FkIG9ubHkgdGhlIGhlYWRlcnMgdG8gaGF2ZSBlbm91Z2ggZGF0YSAodGhlIGluZGV4KQoJICB0byBkZWNpZGUgd2hlcmUgdG8gc3RhcnQgZG93bmxvYWRpbmcgZnJvbSB0aGUgc3Vic2VnbWVudC4KCjIwMTUtMDEtMTIgMTg6MjI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVmYWN0b3IgY29tbW9uIGNvZGUgdG8gZnVuY3Rpb24KCSAgUmV1c2UgdGhlIHNhbWUgZnVuY3Rpb24gd2hlbiBmaW5pc2hpbmcgZG93bmxvYWRpbmcgYW5kIHNpZ25hbGluZyB0bwoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gZ2V0IHRoZSBuZXh0IGZyYWdtZW50IG9yIGFib3J0CgoyMDE1LTAxLTA5IDE3OjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogaW5mb3JtIHN1YmNsYXNzIHdoZW4gaGVhZGVycy9pbmRleCBhcmUgYmVpbmcgZG93bmxvYWRlZAoJICBUaGlzIGFsbG93cyB0aGUgc3ViY2xhc3NlcyB0byBrbm93IGlmIHRoZSBjaHVua3MgdGhhdCBhcmUgZG93bmxvYWRlZCBhcmUKCSAgcGFydCBvZiB0aGUgaGVhZGVyIG9yIG9mIHRoZSBpbmRleCBhbmQgd2lsbCBwYXJzZSB0aGUgcGFydHMgdGhhdCBhcmUKCSAgb2YgdGhlaXIgaW50ZXJlc3QuCgoyMDE1LTAxLTE1IDE2OjExOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogYSBmZXcgbGVhayBmaXhlcwoKMjAxNS0wMS0xNSAxMzoxNjowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJICBmcmFnbWVudDogZml4IGNhcHMgYW5kIGJ1ZmZlciBsZWFrcyBpbiBnZXRfcHJvcGVydHkKCjIwMTUtMDEtMTQgMTc6NDM6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBmcmFnbWVudHNfY2FjaGUgZmllbGQKCjIwMTUtMDEtMTQgMTY6NDI6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYSBmZXcgbGVhayBmaXhlcwoKMjAxNS0wMS0xMiAyMToyMjowNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9iczJiL2dzdGJzMmIuYzoKCSAgYnMyYjogaW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlCgkgIEluc3RlYWQgb2YgYSBwcmVzZXQgcHJvcGVydHkgaW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlIGluIGEgcmVhZC1vbmx5CgkgIGZhc2hpb24uCgoyMDE1LTAxLTEyIDEyOjExOjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSAgZG9jczogYWRkIG5ldyBiczJiIHBsdWdpbiBhbmQgZWxlbWVudAoKMjAxNS0wMS0xMCAyMTo0MToxMiArMDEwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2JzMmIvTWFrZWZpbGUuYW06CgkqIGV4dC9iczJiL2dzdGJzMmIuYzoKCSogZXh0L2JzMmIvZ3N0YnMyYi5oOgoJICBiczJiOiBhZGQgbmV3IHBsdWdpbiAoRWZmZWN0L0F1ZGlvLCBjcm9zc2ZlZWQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2ODkKCjIwMTUtMDEtMTUgMTM6MTM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IE1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciB0aW1lIGlzIGFsd2F5cyBiaWdnZXIgdGhhbiBwZXJpb2QgdGltZQoKMjAxNS0wMS0xNSAxMjo0OToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBbHNvIGNvbnNpZGVyIG1heC1sYXRlbmVzcyBwcm9wZXJ0eSB2YWx1ZSBiZWZvcmUgZHJvcHBpbmcgbGF0ZSBmcmFtZXMKCjIwMTUtMDEtMTUgMTQ6MDk6NDMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIHZ0ZGVjOiBpbXBsZW1lbnQgdGhlIEdMIHRleHR1cmUgdXBsb2FkIG1ldGEKCjIwMTUtMDEtMDkgMDA6MTY6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGF2ZnZpZGVvc3JjOiBpbXBsZW1lbnQgdGhlIEdMIHRleHR1cmUgdXBsb2FkIG1ldGEKCjIwMTUtMDEtMTUgMDk6NDc6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCB1cGxvYWQgaWYgYWxwaGEgPD0gMAoJICBJbXBsZW1lbnRlZCB1c2luZyBhIHVwbG9hZF9idWZmZXIgdmZ1bmMgd2l0aGluIEdzdEdMTWl4ZXIgYWxsb3dpbmcKCSAgTlVMTCB1cGxvYWRlZCBidWZmZXJzLgoKMjAxNS0wMS0xNSAwOTo0NToyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZW1vdmUgc3B1cmlvdXMgZ3N0X3ZpZGVvX2luZm9fYWxpZ24KCSAgVGhhdCB3aWxsIGJlIHRha2VuIGNhcmUgb2YgYnkgdGhlIGNhbGxpbmcgY29kZSAodHlwaWNhbGx5IGEgYnVmZmVycG9vbCkuCgkgIFRoZSBHc3RWaWRlb0FsaWdubWVudCBpcyBwdXJlbHkgaW5mb3JtYXRpb25hbCB0byBjb21wdXRlIHBsYW5lIGRhdGEgc2l6ZXMuCgoyMDE1LTAxLTE0IDIzOjQ4OjE2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IERvY3VtZW50IHRoZSB6b3JkZXIgcGFkIHByb3BlcnR5IGZyb20gZ3N0dmlkZW9hZ2dyZWdhdG9yCgoyMDE1LTAxLTE0IDIzOjQ3OjE5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE5pdHBpY2sgc3BhY2luZy9wdW5jdHVhdGlvbiBpbiBkZWJ1ZyBsb2dnaW5nCgoyMDE1LTAxLTE0IDE2OjMzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFN0b3Agc2NoZWR1bGVkIHBsYXliYWNrIHNob3J0bHkgaW4gUEFVU0VELT5QTEFZSU5HIGlmIGl0IHdhcyBydW5uaW5nIGFscmVhZHkKCSAgVGhpcyBmaXhlcyBoYW5kbGluZyBvZiBmbHVzaGluZyBzZWVrcywgd2hlcmUgd2Ugd2lsbCBnZXQgYSBQQVVTRUQtPlBMQVlJTkcKCSAgc3RhdGUgdHJhbnNpdGlvbiBhZnRlciB0aGUgcHJldmlvdXMgb25lIHdpdGhvdXQgYWN0dWFsbHkgZ29pbmcgdG8gUEFVU0VECgkgIGZpcnN0LgoKMjAxNS0wMS0xNCAxNjowMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogRG9uJ3Qgc2NoZWR1bGUgdG9vIGxhdGUgZnJhbWVzIGluIHByZXBhcmUoKQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBvdmVyZmxvdyB0aGUgaW50ZXJuYWwgYnVmZmVyIG9mIHRoZSBoYXJkd2FyZQoJICB3aXRoIHVzZWxlc3MgZnJhbWVzIGFuZCBydW4gaW50byBhbiBlcnJvci4gVGhpcyBpcyBuZWNlc3NhcnkgdW50aWwKCSAgdGhpcyBidWcgaW4gYmFzZXNpbmsgaXMgZml4ZWQ6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI5MTYKCjIwMTUtMDEtMTQgMTU6NTQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEtlZXAgdHJhY2sgb2YgdGhlIHRpbWUgd2hlbiB3ZSB3ZW50IHRvIFBMQVlJTkcgZm9yIHRoZSBleHRlcm5hbCBjbG9jayB0b28KCSAgT3RoZXJ3aXNlIHdlJ3JlIGFkZGluZyBhbiBvZmZzZXQgb2YgdGhlIHRpbWUgdGhlIHBpcGVsaW5lIHdhcyBpbiBQTEFZSU5HCgkgIGFscmVhZHkgdG8gdGhlIHJ1bm5pbmcgdGltZSB3aGVuIGNvbnZlcnRpbmcgaXQgdG8gb3VyIGludGVybmFsIGNsb2NrLgoKMjAxNS0wMS0xNCAxMzozMjo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBFbmFibGUgUW9TIGFuZCBzZXQgbWF4LWxhdGVuZXNzIHRvIDIwbXMKCjIwMTUtMDEtMTIgMTc6MjQ6NTIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBzdGFjayBzbWFzaGluZwoJICBFbnN1cmUgdGhhdCB3ZSBkbyBub3QgdHJ1c3QgdGhlIGJpdHN0cmVhbSB3aGVuIGZpbGxpbmcgYSB0YWJsZQoJICB3aXRoIGEgZml4ZWQgbWF4IHNpemUuCgkgIEFkZGl0aW9uYWxseSwgdGhlIGNvZGUgd2FzIG5vdCBxdWl0ZSBtYXRjaGluZyB3aGF0IHRoZSBzcGVjIHNheXM6CgkgIC0gYSB2YWx1ZSBvZiAzIGJyb2tlIGZyb20gdGhlIGxvb3AgYmVmb3JlIGFkZGluZyBhbiBlbnRyeQoJICAtIGFuIHVuaGFuZGxlZCB2YWx1ZSBkaWQgbm90IGFkZCBhbiBlbnRyeQoJICBUaGUgcmVmZXJlbmNlIGFsZ29yaXRobSBkb2VzIHRoZXNlIHRoaW5ncyBkaWZmZXJlbnRseSAoNy4zLjMuMQoJICBpbiBJVFUtVCBSZWMuIEguMjY0ICgwNS8yMDAzKSkuCgkgIFRoaXMgcGxheXMgKGFwcGFyZW50bHkgY29ycmVjdGx5KSB0aGUgb3JpZ2luYWwgcmVwcm8gZmlsZSwgd2l0aAoJICBubyBzdGFjayBzbWFzaGluZy4KCSAgQmFzZWQgb24gYSBwYXRjaCBhbmQgYnVnIHJlcG9ydCBieSBBbmRyw6kgRHJhc3ppayA8Z2l0QGFuZHJlZC5uZXQ+CgoyMDE1LTAxLTE0IDIyOjA4OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IHNwbGl0IGdsY29sb3Jjb252ZXJ0IHVzYWdlIGZyb20gZ2x1cGxvYWQKCSAgdGhlIHNlcGFyYXRpb24gYWxsb3dzIHRoZSB0cmFuc2ZlciBvcGVyYXRpb24gdG8gb2NjdXIgaW4gYSBzZXBhcmF0ZQoJICB0aHJlYWQvdGltZSB3aGljaCBtYXkgaW5jcmVhc2UgcGVyZm9ybWFuY2UgaW4gc3BlY2lmaWMgY2lyY3Vtc3RhbmNlcy4KCjIwMTUtMDEtMTQgMTI6Mzk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogb2Zmc2V0IHRoZSBkYXRhIHBvaW50ZXIgZm9yIHVwbG9hZCBmb3IgR3N0VmlkZW9BbGlnbm1lbnQKCSAgb3RoZXJ3aXNlIHdlIGF0dGVtcHQgdG8gcmVhZCBmcm9tIHRoZSBwYWRkaW5nIGRhdGEKCjIwMTUtMDEtMTQgMDA6MDg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IHVzZSBwYm8ncyBmb3IgdXBsb2FkCgoyMDE1LTAxLTEzIDIzOjQ3OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlbGF4IHRoZSBHTE1lbW9yeSB1cGxvYWRlciBjaGVjayBmb3IgaW5wdXQgY2FwcyBmZWF0dXJlcwoJICBBcyB0aGVyZSBtYXkgYmUgYSBzeXNtZW0gY2FwcyBmZWF0dXJlcyB3aXRoIEdMTWVtb3J5IGZpbGxlZCBidWZmZXJzLgoJICBlLmcuCgkgIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgoyMDE1LTAxLTEzIDExOjMyOjAzIC0wODAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBSZXZlcnQgIlJldmVydCAib3BlbmgyNjQ6IGZpeCB0byB3b3JrIHdpdGggcmVsZWFzZWQgdmVyc2lvbnMgYW5kIG1hc3RlciBvZiB1cHN0cmVhbSIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzI5ZjBjY2JhMWFhNjA0ZGExYmQ4MDI5M2ZkMWZlNzE3NDQ3ZGY1ZC4KCjIwMTQtMTItMTcgMDk6MTk6NTIgLTA4MDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogcmVtb3ZlIGFsbCB0cmFjZSBvdXRwdXQgdG8gY29uc29sZSBmcm9tIGVuY29kZXIKCjIwMTUtMDEtMTMgMTk6NTY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IFVzZSBCVDIwMjAgY29sb3JzcGFjZSBmb3IgVWx0cmFIRCByZXNvbHV0aW9ucwoKMjAxNS0wMS0xMyAxOTo1NTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uIG9uY2UgYWdhaW4KCjIwMTUtMDEtMTMgMTY6NDk6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBoYW5kbGUgdGhlIHJldHVybiBvZiB0aGUgc2V0dXAgZnVuY3Rpb24KCSAgTWFrZSB0aGUgY2xhc3MgZnV0dXJlIHByb29mIGJ5IGhhbmRsaW5nIHRoZSBnYm9vbGVhbiByZXR1cm4gb2YgdGhlIHNldHVwCgkgIGZ1bmN0aW9uLiBTbyBpZi93aGVuIGEgY2hpbGQgY2xhc3MgdXNlcyB0aGlzIHRoZSBiYXNlIGNsYXNzIGlzIHJlYWR5LgoKMjAxNS0wMS0xMyAxNjo0NjoxMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBSZXZlcnQgImF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIHVudXNlZCB2YWx1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNWM5NzU3MDgzNGQ2ZGUxYzE0NDI0ZTcxMjIxZDE5ZWIwZDMzZWUzLgoJICBJdCBpcyBwcmVmZXJhYmxlIHRvIGhhbmRsZSB0aGUgcmV0dW4gb2YgdGhlIHNldHVwIGZ1bmN0aW9uLgoKMjAxNS0wMS0xMyAxNzo0NDoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBHZXQgb3VyIG93biAic3RhcnQgdGltZSIgaW5zdGVhZCBvZiB0aGUgb25lIG9mIHRoZSBwaXBlbGluZQoJICBkZWNrbGlua3ZpZGVvc2luayBtaWdodCBiZSBhZGRlZCBsYXRlciB0byB0aGUgcGlwZWxpbmUsIG9yIGl0cyBzdGF0ZSBtaWdodAoJICBiZSBoYW5kbGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgcGlwZWxpbmUuIEluIHdoaWNoIGNhc2UgdGhlIHJ1bm5pbmcgdGltZSB3aGVuCgkgIHdlIChsYXN0KSB3ZW50IGludG8gUExBWUlORyBzdGF0ZSB3aWxsIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBwaXBlbGluZSdzLgoJICBIb3dldmVyIHdlIG5lZWQgb3VyIG93biBzdGFydCB0aW1lIHRvIHRlbGwgdGhlIERlY2tsaW5rIEFQSSwgd2hpY2ggcnVubmluZwoJICB0aW1lIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXQgdGhlIG1vbWVudCB3ZSBnbyB0byBQTEFZSU5HIGFuZCBzdGFydCBzY2hlZHVsZWQKCSAgcmVuZGVyaW5nLgoKMjAxNS0wMS0xMyAxNzowMDo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXI6IFVzZSBhICNkZWZpbmUgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBjaGFubmVsIHByb3BlcnR5CgoyMDE1LTAxLTEzIDE2OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXJ2aWRlb3NyYzogTWFrZSB0aGUgdGltZW91dCBjb25maWd1cmFibGUgYWZ0ZXIgd2hpY2ggd2Ugc3RhcnQgc2hvd2luZyBhIGJsYWNrIGZyYW1lCgoyMDE1LTAxLTEzIDE1OjQyOjI2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBrbGFzcy0+c2V0dXAgKHNjb3BlKSB3aWxsIGFsd2F5cyByZXR1cm4gVFJVRSBzaW5jZSBhbGwgY2hpbGRyZW4gb2YgdGhpcyBjbGFzcwoJICBkbyBzbywgbm8gbmVlZCB0byBzdG9yZSB0aGUgcmV0dXJuLiBCZXNpZGVzLCB0aGUgdmFsdWUgaXMgb3ZlcndyaXR0ZW4gYSBmZXcKCSAgbGluZXMgZG93biBiZWZvcmUgaXQgaXMgdXNlZC4KCSAgQ2hhbmdlIGhlbHBzIGtlZXAgZmlsZXMgaW4gc3luYyBhZnRlcjoKCSAgLWJhc2UgY29tbWl0IGE5MWQ1MjFhMzYwMmYzMzA4MzQwNTQ2N2RiOTQ1NGQ0MjJiOWRhMWIKCjIwMTUtMDEtMTMgMTQ6NTQ6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IERvbid0IGRvIGFueSBjb252ZXJzaW9ucyBpZiB0aGUgcGFkIGlzIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgYW55d2F5CgoyMDE1LTAxLTEyIDEyOjU4OjI3ICswMTAwICBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBzaWxlbmNlIG1lc3NhZ2VzIGZvciBmbHVzaGVkIC8gY3JlYXRlZCBzYW1wbGVzCgkgIFRoZXNlIG1lc3NhZ2VzIGFyZSBsb2dnZWQgcGVyaW9kaWNhbGx5IGFuZCBwb2x1dGUgdGhlIGxvZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTkyCgoyMDE0LTEyLTI1IDIzOjEwOjE5ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IG1lbWxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTk0MwoKMjAxNC0xMi0yNSAyMjo1OTo0MiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBzb21lIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxOTQzCgoyMDE0LTEyLTMxIDE3OjQ1OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBhbGxvdyB3cmFwcGVkIGNvbnRleHRzIHRvIGJlIHV0aWxpc2VkIGxpa2Ugbm9uLXdyYXBwZWQgY29udGV4dHMKCSAgRmlsbCBpbiB0aGUgbWlzc2luZyBwaWVjZXMgbGlrZSBnZXRfcHJvY19hZGRyZXNzLCB0aGUgZ2wgZnVuY3Rpb24gdnRhYmxlCgoyMDE1LTAxLTEyIDIxOjI1OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvLy5naXRpZ25vcmU6CgkqIGdzdC9jb21wb3NpdG9yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBtb3JlIGZpbGVzCgoyMDE1LTAxLTEyIDE1OjMzOjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIHZpc3VhbDogdXNlIHVudXNlZCB2YWx1ZQoJICByZXQgaXMgYXNzaWduZWQgYnV0IG5vdCB1c2VkIGFuZCBpbiB0aGUgbmV4dCBjeWNsZSBvZiB0aGUgbG9vcCBpdCBpcyBvdmVyd3JpdHRlbgoJICB3aXRoIGRlZmF1bHRfcHJlcGFyZV9vdXRwdXRfYnVmZmVyICgpLiBJZiB0aGVyZSBpcyBhIGZsb3cgZXJyb3IgdGhlIGZ1bmN0aW9uCgkgIHNob3VsZCByZXR1cm4gaW5zdGVhZC4KCSAgQ0lEICMxMjI2NDc1CgoyMDE1LTAxLTEyIDE2OjEwOjMxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMmM2Yjk1IHRvIGJjNzZhOGIKCjIwMTUtMDEtMTIgMTU6NTc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGluazogSW5pdGlhbGl6ZSByZWZjb3VudCBvZiBvdXIgQysrIGNsYXNzZXMgaW4gdGhlIGNvbnN0cnVjdG9yCgkgIENJRCAxMjYyMjg4CgkgIENJRCAxMjYyMjg3CgkgIENJRCAxMjYyMjg5CgoyMDE1LTAxLTEyIDE0OjIyOjQ3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBzdG9yZWQgdmFsdWUgaXMgb3ZlcndyaXR0ZW4KCSAgVmFsdWUgZnJvbSBsZWZ0X2x1bWluYW5jZSBpcyBhc3NpZ25lZCB0byBvdXRfbHVtaW5hbmNlIGhlcmUsIGJ1dCB0aGF0IHN0b3JlZAoJICB2YWx1ZSBpcyBub3QgdXNlZCBiZWZvcmUgaXQgaXMgb3ZlcndyaXR0ZW4gaW4gdGhlIG5leHQgY3ljbGUgb2YgdGhlIGxvb3AuCgkgIFJlbW92aW5nIGFzc2lnbmF0aW9uLgoJICBDSUQgIzEyMjY0NzMKCjIwMTUtMDEtMTIgMTI6NTA6MzMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBkZWFkIGNvZGUKCSAgZm91bmQgaXMgaW5pdGlhbGl6ZWQgdG8gRkFMU0UgdG8gdGhlbiBvbmx5IGJlIHVzZWQgaW4gdHdvIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMKCSAgdGhhdCB3aWxsIGFsd2F5cyBiZSBmYWxzZSwgbWFraW5nIHRoZSBibG9ja3MgaW5zaWRlIHRoZW0gZGVhZCBjb2RlLiBMb29raW5nIGJhY2sKCSAgaW4gdGhlIGZpbGUncyBoaXN0b3J5IHRoZSBzZXR0aW5nIG9mIHRoZSB2YXJpYWJsZSdzIHZhbHVlIGJlZm9yZSBpdCBpcyBjaGVja2VkCgkgIHdhcyBkcm9wcGVkIGFzIHBhcnQgb2YgdGhlIHBvcnQgdG8gMC4xMSwgYnJpbmdpbmcgdGhhdCB2YWx1ZSBzZXR0aW5nIGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2MzgKCjIwMTUtMDEtMTEgMjA6NDA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IG1pbm9yIG9wdGltaXNhdGlvbiB3aGVuIHNjYW5uaW5nIGZvciBTQ1JzCgkgIEJhaWwgb3V0IGVhcmx5IHdoZW4gd2UncmUgc2Nhbm5pbmcgZm9yIFNDUiwgbm8gbmVlZCB0bwoJICBwYXJzZSBzdHVmZiB3ZSdyZSBub3QgZ29pbmcgdG8gdXNlIG5vciBpbnRlcmVzdGVkIGluLgoKMjAxNS0wMS0xMSAwMTowODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXggY29tcGlsZXIgd2FybmluZyBhbmQgc2ltcGxpZnkgY2hlY2tzIGluIHNldF9jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTUKCjIwMTUtMDEtMDMgMTM6MDY6NDUgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiByZXdvcmsgc2V0X2Zvcm1hdCBjb2RlIHNvIG1wZzEyM2F1ZGlvZGVjIHdvcmtzIHdpdGggZGVjb2RlYmluL3BsYXliaW4KCSAgVGhlIG9sZCBjb2RlIHdhcyB1c2luZyBnc3RfY2Fwc19ub3JtYWxpemUoKSBhbmQgd2FzIGdlbmVyYWxseSBvdmVybHkKCSAgY29tcGxleC4gU2ltcGxpZnkgYnkgcGlja2luZyBzYW1wbGUgcmF0ZSBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20KCSAgdXBzdHJlYW0gYW5kIHRoZSBzYW1wbGUgZm9ybWF0IGZyb20gdGhlIGFsbG93ZWQgY2Fwcy4gSWYgdGhlIGZvcm1hdCBjYXBzCgkgIGlzIGEgbGlzdCBvZiBzdHJpbnMsIGp1c3QgcGljayB0aGUgZmlyc3Qgb25lLiBBbmQgaWYgdGhlIHNyY3BhZCBpc24ndAoJICBsaW5rZWQgeWV0LCB1c2UgdGhlIGRlZmF1bHQgZm9ybWF0IChTMTYpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTk1CgoyMDE1LTAxLTEwIDE1OjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogRGlzYWJsZSBoYWNrIGZvciBOU0FwcCBpdGVyYXRpb24gd2l0aCBhIHNwZWNpYWwgI2RlZmluZQoJICBUaGUgaGFjayBjYXVzZXMgZGVhZGxvY2tzIGFuZCBvdGhlciBpbnRlcmVzdGluZyBwcm9ibGVtcyBhbmQgaXQgcmVhbGx5CgkgIGNhbiBvbmx5IGJlIGZpeGVkIHByb3Blcmx5IGluc2lkZSBHTGliLiBXZSB3aWxsIGluY2x1ZGUgYSBwYXRjaCBmb3IKCSAgR0xpYiBpbiBvdXIgYnVpbGRzIGZvciBub3cgdGhhdCBoYW5kbGVzIHRoaXMsIGFuZCBob3BlZnVsbHkgYXQgc29tZQoJICBwb2ludCBHTGliIHdpbGwgYWxzbyBtZXJnZSBhIHByb3BlciBzb2x1dGlvbi4KCSAgQSBwcm9wZXIgc29sdXRpb24gd291bGQgZmlyc3QgcmVxdWlyZSB0byByZWZhY3RvciB0aGUgcG9sbGluZyBpbgoJICBHTWFpbkNvbnRleHQgdG8gb25seSBwcm92aWRlIGEgc2luZ2xlIGZkLCBlLmcuIHZpYSBlcG9sbC9rcXVldWUKCSAgb3IgYSB0aHJlYWQgbGlrZSB0aGUgb25lIGFkZGVkIGJ5IG91ciBwYXRjaC4gVGhlbiB0aGlzIHNpbmdsZQoJICBmZCBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgR01haW5Db250ZXh0IGFuZCBkaXJlY3RseSBpbnRlZ3JhdGVkCgkgIGludG8gYSBOU1J1bkxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDM3NAoKMjAxNS0wMS0xMCAxNTo0MDozMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogaW50ZXJhdWRpb3NyYyAtIGZpeGF0ZSBsYXlvdXQgZm9yIGRlZmF1bHQgY2FwcwoJICBNYWtlcyBpbnRlcmF1ZGlvc3JjIHByb2R1Y2UgdmFsaWQgYXVkaW8gY2FwcyBpbiB0aGUgYWJzZW5jZSBvZiBhbnkgb3RoZXIKCSAgZ3VpZGFuY2UgYnkgYWRkaW5nIHRvIHRoZSBwYWQgdGVtcGxhdGUgYW5kIGZpeGF0ZSBmdW5jdGlvbgoKMjAxNS0wMS0wOSAyMTo1MTo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIHBvaW50bGVzcyBhdG9taWMKCSAgSXQgaXMgb25seSBtb2RpZmllZCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgoyMDE1LTAxLTA5IDIxOjMwOjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggcXVlcnkgbGVhawoKMjAxNS0wMS0wOSAxNzo1NjowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSBjaGVjayBmb3IgYmVsb3cgemVybyBmb3IgdW5zaWduZWQgdmFsdWUKCSAgQ0xBTVAgY2hlY2tzIGJvdGggaWYgdmFsdWUgaXMgJzwgMCcgYW5kICc+IG1heCcuIFZhbHVlIHdpbGwgbmV2ZXIgYmUgYSBuZWdhdGl2ZQoJICBudW1iZXIgc2luY2UgaXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gUmVtb3ZpbmcgdGhhdCBjaGVjayBhbmQgb25seSBjaGVja2luZyBpZgoJICBpdCBpcyBiaWdnZXIgdGhhbiBtYXggYW5kIHNldHRpbmcgaXQgYXBwcm9wcmlhdGVseS4KCSAgQWxzbyBjb252ZXJ0aW5nIHRoZSBwcmV2aW91cyBpbnN0YW5jZSBvZiB0aGlzIGludG8gTUlOKCkgZm9yIGNvbnNpc3RlbmN5LgoJICBDSUQgMTEzOTc5MwoKMjAxNC0xMi0wMiAxMDoxMDozOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtCgkgIFNvbWUgdmlkZW8gYml0c3RyZWFtcyByZXBvcnQgYSB0b28gcmVzdHJpY3RpdmUgc2V0IG9mIHByb2ZpbGVzLiBJZiBhIHZpZGVvCgkgIGRlY29kZXIgd2FzIHRvIHN0cmljdGx5IGZvbGxvdyB0aGUgaW5kaWNhdGVkIHByb2ZpbGUsIGl0IHdvdWxkbid0IHN1cHBvcnQgdGhhdAoJICBzdHJlYW0sIHdoZXJlYXMgaXQgY291bGQgaW4gdGhlb3J5IGFuZCBpbiBwcmFjdGljZS4gU28gd2Ugc2hvdWxkIHJlbGF4IHRoZQoJICBwcm9maWxlIHJlc3RyaWN0aW9uIGZvciBhbGxvd2luZyB0aGUgZGVjb2RlciB0byBnZXQgY29ubmVjdGVkIHdpdGggcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTkyCgoyMDE1LTAxLTA5IDE2OjQzOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcmludCBqaXR0ZXIgZnJvbSBjbG9jayB3YWl0aW5nIGluIHRoZSBkZWJ1ZyBsb2dzCgoyMDE1LTAxLTA5IDE0OjQyOjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIGNoZWNrIGlmIGJlbG93IHplcm8gZm9yIHVuc2lnbmVkIHZhbHVlCgkgIENMQU1QIGNoZWNrcyBib3RoIGlmIHkgaXMgJzwgMCcgYW5kICc+IGgxJy4geSB3aWxsIG5ldmVyIGJlIGEgbmVnYXRpdmUgbnVtYmVyCgkgIHNpbmNlIGl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIuIFJlbW92aW5nIHRoYXQgY2hlY2sgYW5kIG9ubHkgY2hlY2tpbmcgaWYgaXQKCSAgYmlnZ2VyIHRoYW4gaDEgYW5kIHNldHRpbmcgaXQgdG8gdGhhdCBtYXggYXBwcm9wcmlldGFseS4KCSAgQ0lEIDExMzk3OTIKCjIwMTUtMDEtMDggMTY6MjQ6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGNhY2hlIGN1cnJlbnQgZmlsZSBwb3NpdGlvbiBpbiB0aGUgbGlzdAoJICBBdm9pZHMgaXRlcmF0aW5nIHRoZSBsaXN0IGV2ZXJ5dGltZSB0byBsb29rIGZvciB0aGUgbmV4dCBzZWdtZW50CgkgIHRvIGJlIHVzZWQgKG9yIHRvIGFkdmFuY2UgdG8gdGhlIG5leHQgb25lKS4KCjIwMTUtMDEtMDggMTU6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogc2ltcGxpZnkgbmV4dCBzZWdtZW50IGNoZWNraW5nIGZ1bmN0aW9ucwoJICBPcHRpbWl6ZSBsb29wIGJ5IG1vdmluZyBjb25kaXRpb24gb3V0c2lkZSBvZiBpdCBhbmQgcmV1c2UgdGhlCgkgIGZpbmRfbmV4dF9mcmFnbWVudCBmdW5jdGlvbiB0byBjaGVjayBpZiB0aGVyZSBpcyBuZXh0IGluc3RlYWQgb2YKCSAgcmVwbGljYXRpbmcgdGhlIHNhbWUgbG9vcAoKMjAxNS0wMS0wOCAxMzowMzoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogY2FjaGUgdG90YWwgZHVyYXRpb24gdG8gYXZvaWQgaXRlcmF0aW5nIGF0IGV2ZXJ5IHF1ZXJ5CgkgIER1cmF0aW9uIHF1ZXJpZXMgY2FuIGJlIGRvbmUgYSBmZXcgdGltZXMgcGVyIHNlY29uZCBhbmQgd291bGQgY2F1c2UKCSAgdGhlIHNlZ21lbnQgbGlzdCB0byBiZSB0cmF2ZXJzZWQgZm9yIGV2ZXJ5IG9uZS4gQ2FjaGluZyB0aGUgZHVyYXRpb24KCSAgcHJldmVudHMgdGhhdC4KCjIwMTUtMDEtMDggMTg6MTU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IFBvc3QgTEFURU5DWSBtZXNzYWdlIHdoZW4gdGhlIG1vZGUgY2hhbmdlcwoJICBEaWZmZXJlbnQgbW9kZXMgaGF2ZSBkaWZmZXJlbnQgZnJhbWVyYXRlcywgYW5kIHRodXMgZGlmZmVyZW50IGxhdGVuY2llcy4gV2UKCSAgbWlnaHQgbmVlZCB0byByZWNvbmZpZ3VyZSB0aGUgbGF0ZW5jeSBvZiB0aGUgcGlwZWxpbmUuCgoyMDE1LTAxLTA4IDE4OjE0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxNS0wMS0wOCAxNjo0MjozMSArMDEwMCAgRmxvcmlhbiBMYW5nbG9pcyA8Zmxvcmlhbi5sYW5nbG9pc0Bmci50aGFsZXNncm91cC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgYXV0b21hdGljIG1vZGUgZGV0ZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkyODQKCjIwMTUtMDEtMDggMTU6NTQ6MTggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGdfcmV0dXJuX2lmX2ZhaWwgaW4gZnVuY3Rpb24gd2l0aCByZXR1cm4gdHlwZQoJICBOZWVkIHRvIHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCgpIHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB0eXBlLCBpbiB0aGlzCgkgIGNhc2UgYSBnYm9vbGVhbgoKMjAxNS0wMS0wOCAxNTozNjowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHZhbHVlIHRydW5jYXRlZCB0b28gc2hvcnQgY3JlYXRlcyBkZWFkIGNvZGUKCSAgdHlwZSBpcyB0cnVuY2F0ZWQgdG8gMC0zMSB3aXRoICImIDB4MWYiLCBidXQgcmlnaHQgYWZ0ZXIgdGhhdCBpdCBpcyBjaGVja3MgaWYKCSAgdGhlIHZhbHVlIGlzIGVxdWl2YWxlbnQgdG8gR1NUX0gyNjVfTkFMX1ZQUywgR1NUX0gyNjVfTkFMX1NQUywgYW5kCgkgIEdTVF9IMjY1X05BTF9QUFMgKHdoaWNoIGFyZSAzMiwgMzMsIGFuZCAzNCByZXNwZWN0aXZlbHkpLiBPYnZpb3VzbHksIHRoaXMgd2lsbAoJICBuZXZlciBiZSBUcnVlIGlmIHRoZSB2YWx1ZSBpcyBtYXhpbXVtIDMxIGFmdGVyIHRoZSB0cnVuY2F0aW9uLgoJICBUaGUgaW50ZW50aW9uIG9mIHRoZSBjb2RlIHdhcyB0byB0cnVuY2F0ZSB0byAwLTYzLgoKMjAxNS0wMS0wOCAxNToyNzo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IG5hbCB1bml0IHR5cGUgY2hlY2sKCSAgQWZ0ZXIgZnVydGhlciBpbnZlc3RpZ2F0aW9uIHRoZSBwcmV2aW91cyBjb21taXQgaXMgd3JvbmcuIFRoZSBjb2RlIGludGVuZGVkIHRvCgkgIGNoZWNrIGlmIHRoZSB0eXBlIGlzIDM5IG9yIHRoZSByYW5nZXMgNDEtNDQgYW5kIDQ4LTU1LiBKdXN0IGxpa2UgZ3N0aDI2NXBhcnNlLmMKCSAgZG9lcy4gVHlwZSA0MCB3b3VsZCBub3QgYmUgY29tcGxldGUuCgoyMDE1LTAxLTA4IDEzOjQ3OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggZGVhZCBjb2RlIGFuZCBjaGVjayBmb3IgaW1wb3NzaWJsZSB2YWx1ZXMKCSAgbmFsX3R5cGUgaXMgdGhlIGluZGV4IGZvciBhIEdzdEgyNjVOYWxVbml0VHlwZSBlbnVtLiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGRlYWQKCSAgY29kZSBoZXJlOgoJICBGaXJzdCwgYWZ0ZXIgY2hlY2tpbmcgaWYgbmFsX3R5cGUgaXMgPj0gMzkgdGhlcmUgYXJlIHR3byBPUiBjb25kaXRpb25hbHMgdGhhdAoJICBjaGVjayBpZiB0aGUgdmFsdWUgaXMgaW4gcmFuZ2VzIGhpZ2hlciB0aGFuIHRoYXQgbnVtYmVyLCBzbyBpZiBuYWxfdHlwZSA+PSAzOQoJICBmYWxscyBpbiB0aGUgVHJ1ZSBicmFuY2ggdGhvc2Ugb3RoZXIgY29uZGl0aW9ucyBhcmVuJ3QgY2hlY2tlZCBhbmQgaWYgaXQgZmFsbHMKCSAgaW4gdGhlIEZhbHNlIGJyYW5jaCBhbmQgdGhleSBhcmUgY2hlY2tlZCwgdGhleSB3aWxsIGFsd2F5cyBhbHNvIGJlIEZhbHNlLiBUaGV5CgkgIGFyZSByZWR1bmRhbnQuCgkgIFNlY29uZCwgdGhlIGVudW0gaGFzIGEgcmFuZ2Ugb2YgMCB0byA0MC4gU28gdGhlIGNoZWNrcyBmb3IgcmFuZ2VzIGhpZ2hlciB0aGFuIDQxCgkgIHNob3VsZCBuZXZlciBiZSBUcnVlLgoJICBSZW1vdmluZyB0aGlzIHJlZHVuZGFudCBjaGVja3MuCgkgIENJRCAxMjQ5Njg0CgoyMDE1LTAxLTA4IDE0OjQ3OjE2ICswMTAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVubG9jayB0aGUgc3RyZWFtIGxvY2sgd2hpbGUgd2FpdGluZyBmb3IgcGVuZGluZyBmcmFtZXMgdG8gYmUgY29tcGxldGVkIGluIGZpbmlzaCgpCgkgIFdlIG1pZ2h0IG90aGVyd2lzZSBkZWFkbG9jayBiZWNhdXNlIGdzdF92dGVuY19lbnF1ZXVlX2J1ZmZlcigpIGNhbiBiZQoJICBjYWxsZWQgYWdhaW4gYW5kIHdpbGwgdGFrZSB0aGUgc3RyZWFtIGxvY2sgYWdhaW4gZnJvbSBhbm90aGVyIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjE3NAoKMjAxNS0wMS0wOCAwODo0Njo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBpbXBsZW1lbnQgX2hhc19uZXh0X2ZyYWdtZW50IHRvIGF2b2lkIGJ1c3kgbG9vcGluZwoJICBJdCB3aWxsIGFsbG93IHRoZSBkZW11eGVyIHRvIHdhaXQgZm9yIGEgZnJhZ21lbnQgdG8gYmUgYXZhaWxhYmxlIGluc3RlYWQKCSAgb2YgYnVzeSBsb29waW5nIHBvbGxpbmcgdGhlIHBsYXlsaXN0IGZvciBhIG5ldyBmcmFnbWVudAoKMjAxNS0wMS0wOCAxMjo1NToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgYSBkdW1teSB2YWx1ZSB0byB0aGUgdmlkZW8gY29ubmVjdGlvbiBtYXBwaW5nIHRhYmxlIGZvciBhdXRvCgoyMDE1LTAxLTA4IDEyOjQ4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBhdWRpbyBpbnB1dCBjb25uZWN0aW9uCgoyMDE1LTAxLTA4IDEyOjIzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgWExSIGFuZCBSQ0EgYXVkaW8gY29ubmVjdGlvbiBlbnVtcwoKMjAxNS0wMS0wOCAxMjoxNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCBhdXRvIHZhbHVlIGZvciB0aGUgY29ubmVjdGlvbiBwcm9wZXJ0eQoJICBUaGlzIHdpbGwgdXNlIHRoZSBkZWZhdWx0L2F1dG8gY29ubmVjdGlvbiBmb3IgdmlkZW8gY2FwdHVyaW5nLCBhbmQgY2FuCgkgIGJlIHNldCB2aWEgdGhlIERlY2tsaW5rIGNvbmZpZ3VyYXRpb24gdG9vbHMuCgoyMDE1LTAxLTA4IDEyOjEzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uIG9uY2UgYWdhaW4KCjIwMTUtMDEtMDYgMTQ6MDI6MzggKzAxMDAgIEZsb3JpYW4gTGFuZ2xvaXMgPGZsb3JpYW4ubGFuZ2xvaXNAZnIudGhhbGVzZ3JvdXAuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBwcm9wZXJ0eSBmb3IgY29uZmlndXJpbmcgdGhlIGlucHV0IGNvbm5lY3Rpb24gb2YgdGhlIHZpZGVvIHNvdXJjZXMKCjIwMTUtMDEtMDggMDk6MzU6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBEb24ndCBpbml0IGFuZCBjbGVhciBzdGF0aWMgR011dGV4IC8gR0NvbmQKCSAgV2Ugd291bGQgcG90ZW50aWFsbHkgdXNlIGl0IGZyb20gdGhlIG1haW4gbG9vcCBsYXRlciBpbgoJICBnc3RfZ2xfd2luZG93X2NvY29hX2luaXRfbnNhcHAoKSBpZiBpdCB0aW1lZCBvdXQgYmVmb3JlLgoKMjAxNS0wMS0wNyAxNjo1Mzo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcmVtb3ZlIGxvZ2ljYWxseSBkZWFkIGNvZGUKCSAgU29vbiBhZnRlciBzZXR0aW5nIHR3byB2YXJpYWJsZXMgdG8gMSwgdGhlIGNvZGUgY2hlY2tzIGlmIHRoZWlyIHZhbHVlcyBhcmUKCSAgZGlmZmVyZW50IGZyb20gZWFjaCBvdGhlci4gVGhpcyB3b3VsZCBuZXZlciBiZSB0cnVlLiBSZW1vdmluZyB0aGlzLgoJICBDSUQgMTIyNjQ0MwoKMjAxNS0wMS0wNyAxNjo0MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJICBSZXZlcnQgInBuZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcgb2YgdGhlIGltYWdlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU5ZTdmMDU5N2QxY2M1MjQxNzRlODQ3ZGU3YjkxNDA3OTIyMzA0YzguCgkgIFRoaXMgcGF0Y2ggc2hvdWxkIG5vdCBoYXZlIGJlZW4gcHVzaGVkLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA1OCNjMwoKMjAxNS0wMS0wNyAxNjoyNjo1NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgVmFyaWFibGUgaGFuZHMgaXMgYWxyZWFkeSBjaGVja2VkIHRvIGNvbnRhaW4gYSB2YWx1ZSBwcmV2aW91c2x5IGF0IHRoZSBiZWdpbm5pbmcKCSAgb2YgdGhlIGN1cnJlbnQgYmxvY2sgKGluIGxpbmUgNTA0KS4gVGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBhZ2Fpbi4gVGhpcyBpcwoJICBsb2dpY2FsbHkgZGVhZCBjb2RlLgoJICBDSUQgMTE5NzY5MwoKMjAxNC0xMS0xMyAxNTo1NjowNyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSAgcG5ncGFyc2U6IGltcHJvdmUgcGFyc2luZyBvZiB0aGUgaW1hZ2UKCSAgRXZlcnl0aW1lIGEgYnVmZmVyIGlzIGJlaW5nIHByb3ZpZGVkIGZyb20gYmFzZXBhcnNlLCB3ZSBhcmUgcGFyc2luZyBhbGwgdGhlIGRhdGEgZnJvbSB0aGUgYmVnaW5uaW5nLgoJICBCdXQgc2luY2Ugd2Ugd291bGQgaGF2ZSBhbHJlYWR5IHBhcnNlZCBzb21lIG9mIHRoZSBkYXRhIGluIHRoZSBwcmV2aW91cyBpdGVyYXRpb25zLAoJICBpdCBkb2VzbnQgbWFrZSBtdWNoIHNlbnNlIHRvIGtlZXAgcGFyc2luZyB0aGUgc2FtZSBldmVyeXRpbWUuCgkgIEhlbmNlIHNraXBwaW5nIHRoZSBkYXRhIHdoaWNoIGlzIGFscmVhZHkgcmVhZCBpbiBwcmV2aW91cyBpdGVyYXRpb25zIHRvIGltcHJvdmUgdGhlIHBhcnNpbmcgcGVyZm9ybWFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNTgKCjIwMTUtMDEtMDcgMTU6MzI6MDUgKzAxMDAgIEZsb3JpYW4gTGFuZ2xvaXMgPGZsb3JpYW4ubGFuZ2xvaXNAZnIudGhhbGVzZ3JvdXAuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggbGF0ZW5jeSB2YWx1ZXMgZm9yIHNvdXJjZXMKCjIwMTUtMDEtMDcgMTA6MjM6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogcmVtb3ZlIGR1cGxpY2F0ZSBjYWxsIHRvIHVyaV9qb2luCgoyMDE1LTAxLTA3IDA5OjMwOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHNraXAgY2hlY2tpbmcgJyNFWFQtWC0nIHRva2VuIGZvciBhbGwgZW50cmllcwoJICBQdXQgdGhpcyBjb21tb24gY2hlY2sgYmVmb3JlIHRvIGF2b2lkIHJlcGVhdGluZyBpdCBmb3IgYWxsIHBvc3NpYmxlCgkgIGVudHJpZXMgdG8gc2F2ZSBzb21lIGN5Y2xlcwoKMjAxNS0wMS0wNyAwOToyMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBhdm9pZCB1c2luZyBnX2xpc3RfYXBwZW5kIGZvciBjcmVhdGluZyBzZWdtZW50cyBsaXN0CgkgIFVzZSBnX2xpc3RfcHJlcGVuZCBhbmQgcmV2ZXJzZSBpdCBhdCB0aGUgZW5kIHRvIHNraXAgdHJhdmVyc2luZyB0aGUKCSAgc2FtZSBsaXN0IGZvciBldmVyeSBuZXcgc2VnbWVudAoKMjAxNC0wNi0yMCAxMjozODo1OSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogRG9uJ3QgdXNlIGFwcHJveGltYXRlIGR1cmF0aW9uIGZvciBmcmFnbWVudCBidWZmZXIgcHRzCgkgIFRoZSBkdXJhdGlvbiB2YWx1ZXMgaW4gcGxheWxpc3RzIGFyZSBhcHByb3hpbWF0ZSBvbmx5LCBhbmQgZm9yCgkgIHBsYXlsaXN0IHZlcnNpb25zIDIgYW5kIG9sZGVyIHRoZXkgYXJlIG9ubHkgcm91bmRlZCBpbnRlZ2VyIHZhbHVlcy4KCSAgVGhleSBjYW5ub3QgYmUgdXNlZCB0byB0aW1lc3RhbXAgYnVmZmVycy4gIFRoaXMgcmVzdWx0ZWQgaW4gcGxheWJhY2sKCSAgZ2FwcyBhbmQgc2tpcHMgYmVjYXVzZSB0aGUgYWN0dWFsIGR1cmF0aW9uIG9mIGZyYWdtZW50cyBpcyBzbGlnaHRseQoJICBkaWZmZXJlbnQuICBUaGUgc29sdXRpb24gaXMgdG8gb25seSBzZXQgdGhlIHB0cyBvZiB0aGUgdmVyeSBmaXJzdAoJICBidWZmZXIgcHJvY2Vzc2VkLCBub3QgZm9yIGVhY2ggZnJhZ21lbnQuCgoyMDE1LTAxLTA2IDE4OjQ0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG9ubHkgdXBkYXRlIHNlZ21lbnQgaWYgd2UgaGF2ZSBhIHZhbGlkIFBUUwoJICBPdGhlcndpc2Ugd2Ugc2V0IHRoZSBwb3NpdGlvbiB0byBHU1RfQ0xPQ0tfVElNRV9OT05FIGFuZCBpdCBkaXNydXB0cwoJICBiaXRyYXRlIHN3aXRjaGluZwoKMjAxNS0wMS0wNyAxMTozMTozMCArMDUzMCAgUmFqYXQgVmVybWEgPHJhamF0LnZlcm1hQHN0LmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBjcmFzaCB3aGlsZSBzZXR0aW5nIGJpdHJhdGUgaW4gY2FwcyBzdHJ1Y3R1cmUKCSAgcS0+Yml0cmF0ZSBpcyBhIGd1aW50NjQsIGJ1dCBHX1RZUEVfSU5UIG1heSByZWFkIGZld2VyIGJpdHMKCSAgb2ZmIHRoZSBzdGFjaywgYW5kIGlmIHdlIHBhc3MgbW9yZSB0aGVuIHRoZSBOVUxMIHNlbnRpbmVsCgkgIG1heSBub3QgYmUgZm91bmQgYXQgdGhlIHJpZ2h0IHBsYWNlLCB3aGljaCBpbiB0dXJuIG1pZ2h0CgkgIGxlYWQgdG8gY3Jhc2hlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTc1MQoKMjAxNS0wMS0wMiAwMDo1OTowMCArMDAwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IHBlcmlvZGljIFNQUy9QUFMgc2VuZGluZyB3b3JrIGFmdGVyIGEgc2VlawoJICBSZXNldCB0aGUgaW50ZXJ2YWwgdmFyaWFibGUgdG8gaGF2ZSBTUFMvUFBTIHNlbmRpbmcgd29yayBhZnRlcgoJICBhIChiYWNrd2FyZHMpIHNlZWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIyMTIKCjIwMTUtMDEtMDUgMjE6MjY6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IGRlYWRsb2NrIHdpdGggcGFkIG9iamVjdCBsb2NrCgkgIFRoZSBpbWFnZSBjYXB0dXJlIG11dGV4IGFuZCB0aGUgcGFkIG9iamVjdCBsb2NrIHdvdWxkIGNhdXNlIGEgcmFjZQoJICBpZiB0aGUgcGFkIHF1ZXJ5IHdhcyBtYWRlIHJpZ2h0IHdoZW4gdGhlIGltYWdlIHByb2JlIHdhcyBydW5uaW5nLgoJICBUaGUgaW1hZ2UgcHJvYmUgbmVlZHMgdGhlIGNhcHR1cmUgbXV0ZXggYW5kIHRoZSBxdWVyeWluZyB3b3VsZCBuZWVkCgkgIHRoZSBwYWQgb2JqZWN0IGxvY2suCgoyMDE1LTAxLTA1IDE1OjE2OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHNpbXBsaWZ5IHdlaXJkIGlmL2Vsc2UgY2xhdXNlCgkgIEl0IGlzIG5vdCBhbiBpZi9lbHNlIHNpdHVhdGlvbiBidXQgYW4gaWYgZXJyb3IgYWJvcnQgb3RoZXJ3aXNlCgkgIGp1c3QgY29udGludWUuIFJlbW92ZSBlbHNlIHRvIG1ha2UgaXQgbW9yZSByZWFkYWJsZQoKMjAxNC0wNC0wNCAxNjo0NTo1MSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgbGl2ZSBzZWVraW5nCgkgIGhsc2RlbXV4IGFzc3VtZXMgdGhhdCBzZWVraW5nIGlzIG5vdCBhbGxvd2VkIGZvciBsaXZlIHN0cmVhbXMsCgkgIGhvd2V2ZXIgc2VlayBpcyBwb3NzaWJsZSBpZiB0aGVyZSBhcmUgc3VmZmljaWVudCBmcmFnbWVudHMgaW4gdGhlCgkgIG1hbmlmZXN0LiBGb3IgZXhhbXBsZSB0aGUgQkJDIGhhdmUgbGl2ZSBzdHJlYW1zIHRoYXQgY29udGFpbiAyIGhvdXJzCgkgIG9mIGZyYWdtZW50cy4KCSAgVGhlIHNlZWsgY29kZSBmb3IgYm90aCBsaXZlIGFuZCBvbi1kZW1hbmQgaXMgY29tbW9uIGNvZGUuIFRoZQoJICBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSBpcyB0aGF0IGFuIG9mZnNldCBoYXMgdG8gYmUgY2FsY3VsYXRlZAoJICBmb3IgdGhlIHRpbWVjb2RlIG9mIHRoZSBmaXJzdCBmcmFnbWVudCBpbiB0aGUgbGl2ZSBwbGF5bGlzdC4KCSAgV2hlbiBobHNkZW11eCBzdGFydHMgdG8gcGxheSBhIGxpdmUgc3RyZWFtLCB0aGUgcG9zc2libGUgc2VlayByYW5nZQoJICBpcyBiZXR3ZWVuIDAgYW5kIEEgc2Vjb25kcy4gQWZ0ZXIgc29tZSB0aW1lIGhhcyBwYXNzZWQsIHRoZSBiZWdpbm5pbmcgb2YKCSAgdGhlIHN0cmVhbSB3aWxsIG5vIGxvbmdlciBiZSBhdmFpbGFibGUgaW4gdGhlIHBsYXlsaXN0IGFuZCB0aGUgc2VlawoJICByYW5nZSBpcyBiZXR3ZWVuIEIgYW5kIEMgc2Vjb25kcy4KCSAgU2VlayByYW5nZToKCSAgc3RhcnQgICAgICAgICAgMCAuLi4uLi4uLi4uLiBBCgkgIGxhdGVyICAgICAgICAgICAgICAgQiAuLi4uLi4uLi4uLiBDCgkgIFRoaXMgY29tbWl0IGFkZHMgY29kZSB0byBrZWVwIGEgbm90ZSBvZiB0aGUgQiBhbmQgQyB2YWx1ZXMKCSAgYW5kIHRoZSBoaWdoZXN0IHNlcXVlbmNlIG51bWJlciBpdCBoYXMgc2Vlbi4gRXZlcnkgdGltZSBpdCB1cGRhdGVzIHRoZQoJICBtZWRpYSBwbGF5bGlzdCwgaXQgd2Fsa3MgdGhlIGxpc3Qgb2YgZnJhZ21lbnRzLCBzZWVpbmcgaWYgdGhlcmUgaXMgYQoJICBmcmFnbWVudCB3aXRoIHNlcXVlbmNlIG51bWJlciA+IGhpZ2hlc3Rfc2Vlbl9zZXF1ZW5jZS4gSWYgc28sIHRoZSB2YWx1ZXMKCSAgb2YgQiBhbmQgQyBhcmUgdXBkYXRlZC4gVGhlIHZhbHVlIG9mIEIgaXMgdXNlZCB3aGVuIHRpbWVzdGFtcGluZwoJICBidWZmZXJzLgoJICBJdCBhbHNvIG1ha2VzIHN1cmUgdGhlIHNlZWsgcmFuZ2UgaXMgbmV2ZXIgY2xvc2VyIHRoYW4gdGhyZWUgZnJhZ21lbnRzCgkgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QgLSBzZWUgNi4zLjMuICJQbGF5aW5nIHRoZSBQbGF5bGlzdCBmaWxlIgoJICBvZiB0aGUgSExTIGRyYWZ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDM1CgoyMDE1LTAxLTA1IDE3OjU4OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcHJlcGFyZSBmb3Igc3VwcG9ydGluZyBzZWVrcyBpbiBsaXZlIHN0cmVhbXMKCSAgQWRkIGZ1bmN0aW9uIHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gc3BlY2lmeSBzZWVraW5nIHJhbmdlIGZvcgoJICBsaXZlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQzNQoKMjAxNS0wMS0wNCAxNzoxNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZG9uJ3QgdXNlIGl0ZXJhdG9yIHdoZW4gc2V0dGluZyBmbHVzaCBwZW5kaW5nIG9uIHBhZHMKCjIwMTUtMDEtMDQgMTY6NTc6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGNoZWNrIGlmIHBhZHMgYXJlIHJlYWR5IG1vcmUgZWZmaWNpZW50bHkKCSAgTm8gbmVlZCB0byB1c2UgYW4gaXRlcmF0b3IgZm9yIHRoaXMgd2hpY2ggY3JlYXRlcyBhIHRlbXBvcmFyeQoJICBzdHJ1Y3R1cmUgZXZlcnkgdGltZSBhbmQgYWxzbyBpbnZvbHZlcyB0YWtpbmcgYW5kIHJlbGVhc2luZyB0aGUKCSAgb2JqZWN0IGxvY2sgbWFueSB0aW1lcyBpbiB0aGUgY291cnNlIG9mIGl0ZXJhdGluZy4gTm90IHRvIG1lbnRpb24KCSAgYWxsIHRoYXQgR0xpc3QgaGFuZGxpbmcgaW4gZ3N0X2FnZ3JlZ2F0b3JfaXRlcmF0ZV9zaW5rcGFkcygpLgoKMjAxNS0wMS0wNCAxMjo1OToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogbmFtZSB2ZnVuYyBhcmd1bWVudHMgY29uc2lzdGVudGx5CgoyMDE0LTEyLTMxIDIwOjQ3OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5vZGlzdCBmb3Igb3JjIGdlbmVyYXRlZCBjb2RlCgoyMDE1LTAxLTAxIDE1OjQ2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgZy1pIHRyYW5zZmVyIGFuZCBzY29wZSBhbm5vdGF0aW9ucwoKMjAxNS0wMS0wMSAxNDoxMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVnaXN0ZXIgbmFtZXMgb2YgaXRlcmF0ZV9zaW5rcGFkcyBmdW5jdGlvbnMgd2l0aCBkZWJ1ZyBzeXN0ZW0KCjIwMTUtMDEtMDEgMTQ6MDM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlZHVjZSBkZWJ1ZyBtZXNzYWdlcyBmb3IgdGFraW5nL3JlbGVhc2luZyBsb2dzIHRvIFRSQUNFIGxldmVsCgkgIERvbid0IHNwYW0gZGVidWcgbG9nIHdpdGggdGhpcyBzdHVmZi4KCjIwMTQtMTItMzEgMTg6MTY6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogbW92ZSBwcm9wZXJ0eSBtZW1iZXIgaW50byBwcml2YXRlIHN0cnVjdHVyZQoJICBPdXIgbG9ja2luZyAob3IgbGFjayB0aGVyZW9mKSB3aGlsZSBhY2Nlc3NpbmcgdGhpcyBhbHNvCgkgIGxvb2tzIGdlbmVyYWxseSBxdWl0ZSBkb2RneS4KCjIwMTQtMTItMzEgMTQ6NTA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGZ1bmN0aW9uCgoyMDE0LTEyLTMwIDIzOjU4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGdpdmUgcHJpdmF0ZSBmdW5jdGlvbnMgbmFtZXNwYWNlIHByZWZpeAoJICBFc3BlY2lhbGx5IHRoZSBHU1RfREVCVUdfRlVOQ1BUUiBvbmVzLgoKMjAxNC0xMi0zMSAxMjozNTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogZml4IHVwIHNvbWUgZG9jcyBjb21tZW50cyBpbiBoZWFkZXIKCjIwMTQtMTItMzAgMjM6NDQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIG5vdy11bnVzZWQgc3lzdGVtIGNsb2NrIG1lbWJlcgoKMjAxNC0xMi0zMCAxOTo0Mzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2xtaXhlciwgZ2x2aWRlb21peGVyOiB1cGRhdGUgZm9yIEdzdEFnZ3JlZ2F0b3JQYWRGb3JlYWNoRnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTk6MjY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiB1cGRhdGUgZm9yIGFnZ3JlZ2F0b3Igc3RhcnQvc3RvcCB2ZnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTk6MjI6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogbWFrZSBHc3RBZ2dyZWdhdG9yUGFkRm9yZWFjaEZ1bmMgdGFrZSBhbiBHc3RBZ2dyZWdhdG9yUGFkCgoyMDE0LTEyLTMwIDE4OjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiB1cGRhdGUgZm9yIGFnZ3JlZ2F0b3Igc3RhcnQvc3RvcCB2ZnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTc6NTY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXBkYXRlIGZvciBhZ2dyZWdhdG9yIHN0YXJ0L3N0b3AgdmZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE3OjUwOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBicmluZyBzdGFydC9zdG9wIHZmdW5jIHNlbWFudGljcyBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZWNsYXNzZXMKCSAgU3ViLWNsYXNzIHNob3VsZCBub3QgaGF2ZSB0byBjaGFpbiB1cCB0byBHc3RBZ2dyZWdhdG9yJ3Mgc3RhcnQvc3RvcAoJICB2ZnVuY3MsIHNhbWUgYXMgaW4gR3N0QmFzZVNyYywgR3N0QmFzZVNpbmssIEdzdEJhc2VUcmFuc2Zvcm0gZXRjLgoKMjAxNC0xMi0zMCAxNToyOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogZml4IG91dHB1dC1ibG9jay1zaXplIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDE0LTEyLTMwIDA4OjA3OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBvbmx5IHR5cGVmaW5kIHdoZW4gd2UgaGF2ZSBhIG1pbmltdW0gYW1vdW50IG9mIGRhdGEKCSAgRm9yIHNtYWxsIGFtb3VudHMgc29tZSBkYXRhIG1pZ2h0IGJlIG1pc3R5cGVkIGFuZCBpdCB3b3VsZCBjYXVzZQoJICB0aGUgcGlwZWxpbmUgdG8gZmFpbC4gRm9yIGV4YW1wbGUgaWYgeW91IGhhdmUgQUFDIGluc2lkZSBtcGVndHMsCgkgIGZvciBzbWFsbCBhbW91bnRzLCB0aGUgQUFDIHNhbXBsZXMgd291bGQgY2F1c2UgdGhlIHR5cGVmaW5kZXIgdG8KCSAgdGhpbmsgaXQgaXMgQUFDIGFuZCBub3QgbXBlZ3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDYxCgoyMDE0LTEyLTI5IDExOjQ5OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3VwcG9ydCBmb3IgNEsgLyBVSEQgbW9kZXMKCjIwMTQtMTItMjkgMTE6NDk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbgoKMjAxNC0xMi0yOSAxMDo0NDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHRyeSB0byByZWYgbnVsbCBwb2ludGVyCgkgIFBsYXlsaXN0cyBtaWdodCBiZSBtaXNzaW5nIHRoZSBhdmFpbGFiaWxpdHkgc3RhcnQgdGltZSwgc28gY2hlY2sgZm9yCgkgIGl0IGJlZm9yZSB0cnlpbmcgdG8gcmVmIHRoZSBvYmplY3QKCjIwMTQtMTItMjkgMTA6NDQ6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJ1biBnc3QtaW5kZW50IG9uIG1wZHBhcnNlcgoJICBSdW4gZ3N0LWluZGVudCBvbiBtcGRwYXJzZXIgdG8gaGF2ZSBpdCBzdG9wIGNvbXBsYWluaW5nIG9uIGV2ZXJ5CgkgIGNvbW1pdAoKMjAxNC0xMi0yOCAxODoyNjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIHBvaW50bGVzcyBHU1RfREVCVUdfRlVOQ1BUUgoJICBOb3QgdXNlZnVsIGZvciBHT2JqZWN0IHZmdW5jcy4KCjIwMTQtMTItMjggMTg6MjQ6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBkdXBsaWNhdGUgcGFkIHBhcmVudF9jbGFzcyB2YXJpYWJsZQoJICBHX0RFRklORV9UWVBFIGFscmVhZHkgcHJvdmlkZXMgb25lLCBqdXN0IG5lZWQgdG8gdXNlIGl0LgoKMjAxNC0xMi0yOCAxODoyMjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIF9DQVNUKCkgdmFyaWFudHMgZm9yIGNhc3QgbWFjcm9zCgoyMDE0LTEyLTI4IDAxOjEzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgYWdncmVnYXRvcjogbWFrZSBwYWRkaW5nIGxhcmdlcgoJICBFc3AuIHRoZSBjbGFzcyBzdHJ1Y3R1cmVzLCBjYW4ndCBoYXZlIGVub3VnaAoJICBzcGFyZSBzcGFjZSBmb3IgdmlydHVhbCBmdW5jdGlvbnMuCgoyMDE0LTEyLTI4IDAwOjU4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW46IHJlbW92ZSB1bm5lZWRlZCBzdHJ1Y3R1cmUgcGFkZGluZwoJICBQdWJsaWMgaGVhZGVycyBhcmUgcHJpdmF0ZSBhbmQgbm90IGluc3RhbGxlZC4KCjIwMTQtMTItMjcgMTY6MTU6NDEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTG9nIHRvIHRoZSBwYWQgaW5zdGVhZCBvZiB0aGUgZWxlbWVudAoJICBNb3JlIGNvcnJlY3Qgd2F5IG9mIGRvaW5nIHRoZSBzYW1lIHRoaW5nIGFzIGJlZm9yZQoKMjAxNC0xMi0yNyAxNTo1MDoxNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IFBvaW50IHRvIGNvbXBvc2l0b3IgZm9yIHRoZSBwYWQgcHJvcGVydGllcyBkb2N1bWVudGF0aW9uCgoyMDE0LTEyLTI3IDE1OjQ5OjQ3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IERvY3VtZW50IHRoZSBwYWQgcHJvcGVydGllcwoKMjAxNC0xMi0yNyAxNTo0OTozOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEb2N1bWVudCB0aGUgcGFkIHByb3BlcnRpZXMKCjIwMTQtMTItMjcgMDk6NDk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE1ha2Ugc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGxhdGVuY2llcyBhcmUgbmV2ZXIgR1NUX0NMT0NLX1RJTUVfTk9ORQoKMjAxNC0xMi0yNyAwOTo0Mjo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogV2FpdCBmb3IgdGhlIG1pbmltdW0gbGF0ZW5jeSwgbm90IHRoZSBtYXhpbXVtCgkgIFRoZSBtaW5pbXVtIGxhdGVuY3kgaXMgdGhlIGxhdGVuY3kgd2UgaGF2ZSB0byB3YWl0IGF0IGxlYXN0CgkgIHRvIGd1YXJhbnRlZSB0aGF0IGFsbCB1cHN0cmVhbXMgaGF2ZSBwcm9kdWNlZCBkYXRhLiBUaGUgbWF4aW11bQoJICBsYXRlbmN5IGhhcyBubyBtZWFuaW5nIGxpa2UgdGhhdCBhbmQgc2hvdWxkbid0IGJlIHVzZWQgZm9yIHdhaXRpbmcuCgoyMDE0LTEyLTI3IDA0OjIxOjM2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENsYW1wIHRoZSBtaW4gbGF0ZW5jeSBhdCB0aGUgbWF4IGlmIGl0J3MgZ3JlYXRlcgoKMjAxNC0xMi0yNyAwNDoyMToyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcmludCB0aGUgc2lua3BhZCBuYW1lIHdoaWxlIGxvZ2dpbmcgbGF0ZW5jeSBxdWVyaWVzCgkgIFZlcnkgdXNlZnVsIHdoaWxlIGRlYnVnZ2luZy4KCjIwMTQtMTItMjcgMDQ6MTk6NTIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVGFrZSB0aGUgc3RyZWFtIGxvY2sgd2hlbiBpdGVyYXRpbmcgc2luayBwYWRzCgkgIFdoZW4gaXRlcmF0aW5nIHNpbmsgcGFkcyB0byBjb2xsZWN0IHNvbWUgZGF0YSwgd2Ugc2hvdWxkIHRha2UgdGhlIHN0cmVhbSBsb2NrIHNvCgkgIHdlIGRvbid0IGdldCBzdGFsZSBkYXRhIGFuZCBwb3NzaWJseSBkZWFkbG9jayBiZWNhdXNlIG9mIHRoYXQuIFRoaXMgZml4ZXMKCSAgYSBkZWZpbml0aXZlIGRlYWRsb2NrIGluIF93YWl0X2FuZF9jaGVjaygpIHRoYXQgbWFuaWZlc3RzIHdpdGggaGlnaCBtYXgKCSAgbGF0ZW5jaWVzIGluIGEgbGl2ZSBwaXBlbGluZSwgYW5kIGZpeGVzIG90aGVyIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9ucy4KCjIwMTQtMTItMjYgMjM6MDU6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZG8gbm90IHNldCBzb3VyY2Ugc3RhdGUgd2l0aCBsb2NrCgkgIEl0IG1pZ2h0IGJlIHJhY3kgd2l0aCB0aGUgaW1hZ2UgcHJvYmUgdGhyZWFkIGFzIGl0IHVzZXMgdGhlIGNhcHR1cmUKCSAgbXV0ZXgganVzdCBsaWtlIHRoZSBzdGFydC1jYXB0dXJlIGhhbmRsZXIgZnJvbSBjYW1lcmFiaW4uIFRoZQoJICBzdGFydC1jYXB0dXJlIHdvdWxkIGJlIHdhaXRpbmcgZm9yIHRoZSBzb3VyY2UncyBzdHJlYW1pbmcgdGhyZWFkCgkgIHRvIHN0b3AgdG8gYmUgYWJsZSB0byBzZXQgdGhlIHNvdXJjZSBzdGF0ZSB0byByZWFkeSB3aGlsZSB0aGUKCSAgcHJvYmUgd291bGQgYmUgYmxvY2tlZCB3YWl0aW5nIHRvIGFjcXVpcmUgdGhlIGNhcHR1cmUgbXV0ZXguCgkgIEl0IGNhdXNlcyBhIGRlYWRsb2NrLgoKMjAxNC0xMi0yNiAxMDoxNzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiB1c2UgdGhlIGRyYWluIHF1ZXJ5IGluc3RlYWQgb2YgZmx1c2gKCSAgVGhlIGZsdXNoIG1pZ2h0IGNsZWFyIGFueSBwZW5kaW5nIGNhcHR1cmVzIHRoYXQgYXJlIHN0aWxsIGluCgkgIHF1ZXVlcyBiZWluZyBwcm9jZXNzZWQgd2hpbGUgdGhlIGRyYWluIHF1ZXJ5IHdpbGwgd2FpdCBmb3IgdGhvc2UKCSAgdG8gYmUgcHJvcGVybHkgZG9uZQoKMjAxNC0xMi0yNiAyMjo0NTo0MSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogaW1wcm92ZSB0aW1lc3RhbXAgY29kZQoJICBVc2UgYSBjb21iaW5hdGlvbiBvZiB0aGUgcnVubmluZyB0aW1lIGFuZCBDTUNsb2NrR2V0VGltZSBmcm9tIEFWRiB0byBjb21wdXRlCgkgIHRpbWVzdGFtcHMuCgoyMDE0LTEyLTI2IDExOjQ4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiB1c2UgcHVibGljIEFQSSBmb3IgYWNjZXNzaW5nIHN0cmVhbSBoZWFkZXIgYXJyYXlzIGluIGNhcHMKCSAgRG9uJ3QgcmVseSBvbiBjb3JlIGltcGxlbWVudGF0aW9uIGRldGFpbHMsIHdoaWNoIGFyZSBwcml2YXRlIGFuZAoJICBtYXkgY2hhbmdlLiBJdCdzIGFsc28gbm90IG5lZWRlZCBoZXJlLCB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0IGlzCgkgIGNsb3NlIHRvIG5vbmUuIEFsc28gY29weSBidWZmZXIgYmVmb3JlIGNoYW5naW5nIGl0cyBtZXRhZGF0YS4KCjIwMTQtMTItMjYgMTE6Mjk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICB0ZXN0czogZ2RwZGVwYXk6IHVwZGF0ZSBmb3IgaW50ZXJuYWwgZ2RwIHJlZmFjdG9yaW5nCgkgIFRoaXMgdGVzdCB1c2VzIHNvbWUgaW50ZXJuYWwvcHJpdmF0ZSBBUEksIHNvIG5lZWRzIHRvCgkgIGJlIHVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgoKMjAxNC0xMi0yNiAxMToyNzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcmVmYWN0b3IgcGF5bG9hZGluZyBjb2RlIGEgbGl0dGxlCgkgIEdldCByaWQgb2Ygc29tZSBpbmRpcmVjdGlvbnMgYW5kIGluZWZmaWNpZW5jaWVzLAoJICBqdXN0IHBheWxvYWQgdGhpbmdzIGRpcmVjdGx5IHdoaWNoIGdpdmVzIHVzIG1vcmUKCSAgY29udHJvbCBvdmVyIHdoYXQgbWVtb3J5IGlzIGFsbG9jYXRlZCB3aGVyZSBhbmQKCSAgaG93IGFuZCBtYWtlcyB0aGluZ3MgbXVjaCBzaW1wbGVyLiBJbiBwYXJ0aWN1bGFyLAoJICB3ZSBjYW4gbm93IGFsbG9jYXRlIHRoZSBwYXlsb2FkIGhlYWRlciBwbHVzIHRoZQoJICBHc3RNZW1vcnkgdG8gcmVwcmVzZW50IGl0IGluIG9uZSBnby4KCjIwMTQtMTItMTUgMDA6NDE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBnZHBwYXk6IHJlZmFjdG9yIGEgbGl0dGxlCgkgIEdldCByaWQgb2Ygbm93LXVzZWxlc3MgcGFja2V0aXplciBzdHJ1Y3QgYW5kIGp1c3QKCSAgY2FsbCBpbnRlcm5hbCBmdW5jdGlvbnMgZGlyZWN0bHkuIEFsc28gcmVtb3ZlCgkgIHZlcnNpb24gcHJvcGVydHkgd2hpY2ggaXMgbm93IGRlZnVuY3QsIG5vdCBsZWFzdAoJICBiZWNhdXNlIHdlIGNyZWF0ZSB0aGUgcGFja2V0aXplciB3aXRoIHRoZQoJICB2ZXJzaW9uIGluIHRoZSBpbml0IGZ1bmN0aW9uIGJlZm9yZSBhIHZlcnNpb24KCSAgY2FuIGJlIHNldC4KCjIwMTQtMTItMTMgMTY6NDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogaW5pdGlhbGlzZSBtZW1vcnkgb2YgYnVmZmVycyB1c2VkIGluIHVuaXQgdGVzdAoKMjAxNC0xMi0xMyAxNToyMzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcHBheTogb3B0aW1pc2UgcGF5bG9hZGluZyBvZiBidWZmZXJzIHdpdGggbXVsdGlwbGUgbWVtb3JpZXMKCSAgQWRkIGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSBhIHBheWxvYWQgQ1JDIGFjcm9zcyBtdWx0aXBsZSBtZW1vcmllcwoJICBzbyB3ZSBkb24ndCBoYXZlIHRvIG1lcmdlIGJ1ZmZlcnMgd2l0aCBtdWx0aXBsZSBtZW1vcmllcyBqdXN0IHRvCgkgIGNhbGN1bGF0ZSB0aGUgQ1JDLiBBbHNvIG1ha2UgQ1JDIGNhbGN1bGF0aW9uIGZ1bmN0aW9uIHN0YXRpYywKCSAgc2luY2UgaXQncyBub3QgdXNlZCBvdXRzaWRlIGRhdGFwcm90b2NvbC5oIGFuZCBtb3ZlIHNwZWNpYWwtY2FzaW5nCgkgIG9mIGxlbmd0aCA9IDAgLT4gQ1JDID0gMCBpbnRvIENSQyBmdW5jdGlvbiAoZnJvbSBjYWxsZXIpLgoJICBQZXJoYXBzIG1vcmUgaW1wb3J0YW50bHksIHNpbmNlIHBheWxvYWQgQ1JDIGlzIG9mZiBieSBkZWZhdWx0OgoJICBkb24ndCBtYXAgYnVmZmVyIChhbmQgcG9zc2libHkgbWVyZ2UgbWVtb3JpZXMgaW4gdGhlIHByb2Nlc3MpCgkgIGlmIHdlIGFyZSBub3QgZ29pbmcgdG8gdXNlIGl0IHRvIGNhbGN1bGF0ZSBhIENSQyBhbnl3YXkuCgoyMDE0LTEyLTEzIDE1OjE5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwcGF5OiBkYXRhcHJvdG9jb2w6IGRyb3AgYm9ndXMgY29uc3QKCSAgRG9lc24ndCByZWFsbHkgbWFrZSBzZW5zZSBnaXZlbiB0aGF0IHdlIG1hcAoJICBpdCBhbmQgcG9zc2libHkgbWVyZ2UgbWVtb3JpZXMgYW5kIHN1Y2guCgoyMDE0LTExLTI0IDEyOjE4OjM2IC0wNzAwICBWaWpheSBKYXlhcmFtYW4gPFZpamF5LkpheWFyYW1hbkBlY2hvc3Rhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB0eXBlZmluZCBtaWdodCBmYWlsIGlmIGZpcnN0IGJ1ZmZlciBpcyB0b28gc2hvcnQKCSAgSWYgdHlwZWZpbmQgZmFpbHMsIGNoZWNrIHRvIHNlZSBpZiB0aGUgYnVmZmVyIGlzIHRvbyBzaG9ydCBmb3IgdHlwZWZpbmQuIElmIHRoaXMgaXMgdGhlIGNhc2UsCgkgIHByZXBlbmQgdGhlIGRlY3J5cHRlZCBidWZmZXIgdG8gdGhlIHBlbmRpbmcgYnVmZmVyIGFuZCB0cnkgYWdhaW4gdGhlIG5leHQgdGltZSBhcm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0NTgKCjIwMTQtMDgtMjcgMTY6MjY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcG9ydCB0byBhZGFwdGl2ZSBiYXNlIGNsYXNzCgkgIENvbmZsaWN0czoKCSAgZXh0L2hscy9nc3RobHNkZW11eC5jCgkgIGV4dC9obHMvZ3N0aGxzZGVtdXguaAoKMjAxNC0xMi0yMyAwMTo1MTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBjaGVjayBpZiBlbGVtZW50IGV4aXN0cyBiZWZvcmUgc2V0dGluZyBpdCB0byBudWxsCgkgIFVuZGVyIGNlcnRhaW4gZXJyb3IgY29uZGl0aW9ucyBpdCBtaWdodCBoYXBwZW4gdGhhdCB0aGUgZWxlbWVudAoJICBoYXMgYmVlbiBmcmVlZCBhbHJlYWR5IGFuZCB0cnlpbmcgdG8gc2V0IGl0IHRvIE5VTEwgY2F1c2VzIGFuCgkgIGFzc2VydGlvbgoKMjAxNC0xMi0yMyAwMTo1MToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtYWtlIHN1cmUgdGFzayBoYXMgc3RvcHBlZCBiZWZvcmUgZnJlZWluZyBpdAoJICBPdGhlcndpc2UgdGhlIHRocmVhZCB3aWxsIGJlIHJ1bm5pbmcgYW5kIGl0cyBtZW1vcnkgd2lsbCBnZXQgZnJlZWQuCgkgIFRoaXMgbGVhZHMgdG8gbWVtb3J5IGNvcnJ1cHRpb24KCjIwMTQtMTItMjMgMDE6NDg6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZ21lbnQgc3RhcnQgd2hlbiBleHBvc2luZyBuZXcgc3RyZWFtcwoJICBTZWdtZW50IHN0YXJ0IG5lZWRzIG9ubHkgdG8gYmUgdXBkYXRlZCB3aGVuIHN0YXJ0aW5nIHRoZSBzdHJlYW1zCgkgIG9yIGFmdGVyIGEgc2VlaywgZG9pbmcgaXQgZHVyaW5nIGJpdHJhdGUgY2hhbmdlcyB3aWxsIGNhdXNlIHRoZQoJICBydW5uaW5nIHRpbWUgdG8gZ28gZGlzY29udGludW91cyAoanVtcCBiYWNrIHRvIGEgcHJldmlvdXMgdHMpCgkgIGFuZCBRT1Mgd2lsbCBkcm9wIGJ1ZmZlcnMKCjIwMTQtMTItMTkgMDI6MjI6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsb3cgc3ViY2xhc3MgdG8gdXNlIG5ldyBwYWRzIGdyb3VwIHdoZW4gc3dpdGNoaW5nIGJpdHJhdGUKCSAgRml4IHBhZCBncm91cHMgc3dpdGNoaW5nIHdoZW4gYml0cmF0ZSBjaGFuZ2VzIHRvIGFsbG93IEhMUyB0byB1c2UgdGhpcyBmZWF0dXJlCgoyMDE0LTEyLTIzIDEyOjI0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBJZiBnZXR0aW5nIGEgdGltZW91dCBiZWZvcmUgaGF2aW5nIGNhcHMsIGp1c3QgYWR2YW5jZSBvdXIgcG9zaXRpb24KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoaXMgaXMgYSBsaXZlIHBpcGVsaW5lIGFuZCBubyBzb3VyY2UgcHJvZHVjZWQgYW55IGJ1ZmZlcgoJICBhbmQgc2VudCBubyBjYXBzIHVudGlsIHRoZSBhbiBvdXRwdXQgYnVmZmVyIHNob3VsZCd2ZSBiZWVuIHByb2R1Y2VkIGFjY29yZGluZwoJICB0byB0aGUgbGF0ZW5jeS4KCjIwMTQtMTItMjMgMTI6MTU6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE1ha2Ugc3VyZSB0byByZWxlYXNlIHRoZSBjdXJyZW50IGJ1ZmZlciBpbiByZXNldCgpCgkgIElmIHdlIGRpZG4ndCBvdXRwdXQgdGhlIGxhc3Qgb25lIGluIGFnZ3JlZ2F0ZSBiZWNhdXNlIHdlIHdlcmUgc2h1dHRpbmcgZG93bgoJICBlYXJsaWVyIHdlIG1pZ2h0IG90aGVyd2lzZSBsZWFrIGl0LgoKMjAxNC0xMi0yMyAxMTo0NTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IENoYW5nZSBibG9ja3NpemUgcHJvcGVydHkgdG8gb3V0cHV0LWJ1ZmZlci1kdXJhdGlvbiBpbiB0aW1lIGZvcm1hdAoJICBUaGlzIG1ha2VzIHRoZSBpbnRlcmZhY2Ugb2YgYXVkaW9taXhlciBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGNhcHMuCgoyMDE0LTEyLTIzIDExOjQ1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBsZWFrIGZsdXNoLXN0YXJ0IGV2ZW50cwoKMjAxNC0xMi0yMyAxMDoyNDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWxzbyBjaGFuZ2UgdGhlIGRlZmF1bHQgbGF0ZW5jeSB0byAwLCBub3QganVzdCB0aGUgbWluaW11bQoKMjAxNC0xMi0yMyAwOTo1MjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IGRvY3MgYW5kIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGxhdGVuY3kgcHJvcGVydHkKCjIwMTQtMTItMjIgMjI6MTk6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFsc28gaW5jbHVkZSB0aGUgc3ViY2xhc3MgbGF0ZW5jeSBpbiB0aGUgcmVzdWx0IG9mIHRoZSBsYXRlbmN5IHF1ZXJ5CgoyMDE0LTEyLTIyIDIyOjExOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFVzZSB0aGUgc3JjIHF1ZXJ5IGltcGxlbWVudGF0aW9uIG9mIGFnZ3JlZ2F0b3IgYXMgdGhlIGRlZmF1bHQgY2FzZQoKMjAxNC0xMi0yMiAyMjoxMToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogVXNlIHRoZSBzcmMgcXVlcnkgaW1wbGVtZW50YXRpb24gb2YgYWdncmVnYXRvciBhcyB0aGUgZGVmYXVsdCBjYXNlCgoyMDE0LTEyLTIyIDE2OjQ1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IHRha2UgaW50byBhY2NvdW50IGZpbHRlciBpbiB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbgoJICBGaXhlcyBjcml0aWNhbHMgd2hlbiBmaWx0ZXIgY2FwcyBhcmUgcGFzc2VkLgoJICBBbHNvIGZpeCB3cm9uZyBHU1RfREVCVUdfT0JKRUNUIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTg2MwoKMjAxNC0xMi0yMiAxNToyNjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUG9zdCBhIGxhdGVuY3kgbWVzc2FnZSBpZiB0aGUgdmFsdWUgb2YgdGhlIGxhdGVuY3kgcHJvcGVydHkgY2hhbmdlcwoKMjAxNC0xMi0yMiAxNTowMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogV2FrZSB1cCB0aGUgc3JjIHRocmVhZCBhZnRlciBoYW5kbGluZyBhIGxhdGVuY3kgcXVlcnkKCSAgRHVlIHRvIGNoYW5nZWQgbGF0ZW5jaWVzIG9yIGNoYW5nZWQgbGl2ZS1uZXNzIHdlIG1pZ2h0IGhhdmUgdG8KCSAgYWRqdXN0IGlmIHdlIHdhaXQgb24gYSBkZWFkbGluZSBhdCBhbGwgYW5kIGhvdyBsb25nLgoKMjAxNC0xMi0yMiAxNTowMDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgY291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSBuZWVkIHRvIHdha2UgdXAgYnV0IGluc3RlYWQgY2hlY2sgYWxsIGNvbmRpdGlvbnMgZm9yIHdhaXRpbmcgYWdhaW4KCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGFuZCBhbHNvIG1ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCBmb3JnZXQgdG8gY2hlY2sgYWxsCgkgIGNvbmRpdGlvbnMgZm9yIHdhaXRpbmcuCgkgIEFsc28gZml4IGEgcG90ZW50aWFsIGRlYWRsb2NrIGNhdXNlZCBieSBub3QgY2hlY2tpbmcgaWYgd2UncmUgYWN0dWFsbHkgc3RpbGwKCSAgcnVubmluZyBiZWZvcmUgc3RhcnRpbmcgdG8gd2FpdC4KCjIwMTQtMTItMjIgMTE6NDk6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogSW5zdGVhZCBvZiBjcmFzaGluZyBpZiBubyBjb3JyZXNwb25kaW5nIGZyYW1lIGlzIGZvdW5kLCBpZ25vcmUgdGhpcwoJICAuLi4gYW5kIGhvcGUgdGhhdCBldmVyeXRoaW5nIHdpbGwgYmUgZmluZS4gVGhpcyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiBidXQKCSAgcHJldmlvdXNseSBoYXBwZW5lZCBkdXJpbmcgc2h1dGRvd24uIEl0IHNob3VsZCBiZSBmaXhlZCBpbiB2aWRlb2VuY29kZXIgbm93LAoJICBidXQgYmV0dGVyIGJlIG9uIHRoZSBzYWZlIHNpZGUgaGVyZS4KCjIwMTQtMTItMjIgMTE6NDY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNQUlOVEFJTkVSUzoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MKCjIwMTQtMTItMjEgMDc6NDc6MjUgLTA1MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSAgYXVkaW9taXhlcjogZml4IGJ1aWxkIGZsYWcgb3JkZXIKCSAgSGF2ZSB0aGUgbGlicmFyaWVzL2lubGN1ZGVzIGZyb20gcGx1Z2lucy1iYWQgZmlyc3QgdG8gYXZvaWQgcGlja2luZyB1cCB0aGUgaW5zdGFsbGVkIHZlcnNpb24uCgkgIEZpeGVzIHRoZSBidWlsZCB3aGVuIHRoZSBsb2NhbCBhcGkgY2hhbmdlZC4KCjIwMTQtMTItMjAgMTI6MjQ6NTMgLTA1MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZnJlZXZlcmIvR3N0RnJlZXZlcmIucHJzOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkgIGZyZWV2ZXJiOiBhZGQgYSBmZXcgcHJlc2V0cwoKMjAxNC0xMi0xOSAxMzoxODo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x0ZXN0OiBQb3J0IHRvIG5ldyBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xOSAxMjoyMjoxMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IEFsd2F5cyByZWNhbGN1bGF0ZSBidWZmZXIgc2l6ZQoJICBBY3R1YWxseSB3ZSBzaG91bGQgYWx3YXlzIHJlY2FsY3VsYXRlIGJ1ZmZlciBzaXplIHNpbmNlIG91ciBidWZmZXIgc2l6ZQoJICBldmVuIHdoZW4gbm90LXBhZGRlZCBpcyBzbWFsbGVyIGZvciBtYW55IHN1Yi1zYW1wbGVkIGZvcm1hdHMuIFRoaXMgaXMKCSAgYmVjYXVzZSB3ZSBkb24ndCBhZGQgcGFkZGluZyBiZXR3ZWVuIHRoZSBwbGFuZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTkgMTI6MTI6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogTm8gbmVlZCBmb3IgcGFkZGluZwoJICBBIG1lbW9yeSBvYmplY3QgY2Fubm90IGJlIHB1dCBvbiBzdGFjaywgc28gbm8gbmVlZCBmb3IgcGFkZGluZy4KCjIwMTQtMTItMTkgMTI6MTE6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvQWxpZ25tZW50CgkgIFRoaXMgYWxsb3cgc2F2aW5nIGEgY29weSB3aXRoIGxpYmF2IHZpZGVvIGRlY29kZXJzIG9yIGRlY29kZXJzIHdpdGgKCSAgc2ltaWxhciBwYWRkaW5nIHJlcXVpcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTExLTIyIDExOjI1OjIzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IEhhbmRsZSB1cGxvYWQvZG93bmxvYWQgZmxhZ3MgZnJvbSBtYXAKCSAgUHJvYmxlbSB3YXMgdGhhdCBpZiBidWZmZXIgd2FzIG1hcHBlZCBSRUFEV1JJVEUgKHN0YXRlIG9mIGJ1ZmZlcnMgZnJvbQoJICBsaWJhdiByaWdodCBub3cpLCBtYXBwaW5nIGl0IFJFQUQvR0wgd2lsbCBub3QgdXBsb2FkLiBUaGlzIGlzIGJlY2F1c2UgdGhlCgkgIGZsYWcgaXMgb25seSBzZXQgd2hlbiB0aGUgYnVmZmVyIGlzIHVubWFwcGVkLiBXZSBjYW4gZml4IHRoaXMgYnkgc2V0dGluZwoJICB0aGUgZmxhZ3MgaW4gbWFwLiBUaGlzIHJlc3VsdCBpbiBhbHJlYWR5IG1hcHBlZCBidWZmZXIgdGhhdCBnZXQgbWFwcGVkCgkgIHRvIGJlIHJlYWQgaW4gR0wgd2lsbCBiZSB1cGxvYWRlZC4gVGhlIHByb2JsZW0gaXMgdGhhdCBpZiB0aGUgd3JpdGUKCSAgbWFwcGVyIG1ha2VzIG1vZGlmaWNhdGlvbiBhZnRlcndhcmQsIHRoZSBtb2RpZmljYXRpb24gd2lsbCBuZXZlciBnZXQKCSAgdXBsb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTMgMjE6NDc6MzggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBIYW5kbGUgY3VzdG9tIHN0cmlkZSB3aXRoIE9QRU5HTDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xOSAxNTowNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbms6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjCgoyMDE0LTEyLTE5IDE0OjUwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IFJlLWFkZCB0aGUgQ09NIGluaXRpYWxpemF0aW9uIGNvZGUgZm9yIFdpbmRvd3MKCSAgVW50ZXN0ZWQsIGFuZCB3ZSB3aWxsIG5ldmVyIGRlaW5pdGlhbGl6ZSBDT00gYWdhaW4uCgoyMDE0LTEyLTE5IDE0OjM4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGluazogUmVtb3ZlIGluLXNhbWUtcGlwZWxpbmUgZGV0ZWN0aW9uIGNvZGUgZm9yIGF1ZGlvL3ZpZGVvIGVsZW1lbnRzIG9mIHRoZSBzYW1lIGRldmljZQoJICBUaGlzIGNhdXNlcyBkZWFkbG9ja3Mgc29tZXRpbWVzIGZvciBzb21lIHJlYXNvbi4KCjIwMTQtMTItMTkgMTQ6MzU6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEltcGxlbWVudCBjbG9jayBzbGF2aW5nCgoyMDE0LTEyLTE5IDEzOjUyOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0IGZvciB3aGVuIGZyYW1lcyBhcmUgc2NoZWR1bGVkCgoyMDE0LTEyLTE5IDEzOjI4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgZm9yIGNvbmZpZ3VyaW5nIHRoZSBidWZmZXIgc2l6ZSBvZiB0aGUgc291cmNlcwoKMjAxNC0xMi0xOSAxMzoyNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbmthdWRpb3NyYzogSW1wbGVtZW50IHRpbWVzdGFtcCBqaXR0ZXIgYW5kIGRpc2NvbnQgaGFuZGxpbmcKCjIwMTQtMTItMTkgMTI6Mzc6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IE91ciBjYXB0dXJlIHRpbWUgaXMgdGhlIGVuZCB0aW1lc3RhbXAgb2YgdGhlIGJ1ZmZlciwgc3VidHJhY3QgdGhlIGR1cmF0aW9uCgoyMDE0LTEyLTE5IDEyOjMwOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBbGxvdyBmb3IgYSBtYXhpbXVtIG9mIDUgcGFja2V0cyB0byBiZSBxdWV1ZWQgdXAKCSAgSW4gY2FzZSBkb3duc3RyZWFtIGlzIGEgYml0IHNsb3cgd2l0aCBjb25zdW1pbmcgcGFja2V0cyBhdCB0aW1lcy4KCjIwMTQtMTItMTkgMTI6MDM6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBpbiBzb3VyY2VzIGFuZCByZW1lbWJlciBzZWxlY3RlZCBtb2RlCgoyMDE0LTEyLTE4IDE4OjMwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IFJlbW92ZSBvYnNvbGV0ZSBmaWxlcwoKMjAxNC0xMi0xOCAxNzozMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIGluaXRpYWwgdmVyc2lvbiBvZiBhdWRpbyBhbmQgdmlkZW8gc291cmNlcwoKMjAxNC0xMi0xMyAxNzoyMzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbms6IEluaXRpYWwgdmVyc2lvbiBvZiB0aGUgYXVkaW8vdmlkZW8gc2luayByZXdyaXRlCgoyMDE0LTEyLTE5IDEzOjA0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IFRyYWNrIGRpc2NvbnQtdGltZSBwZXIgcGFkIGluc3RlYWQgb2YgZ2xvYmFsbHkKCSAgV2UgZG8gZGlzY29udCBoYW5kbGluZyBwZXIgcGFkLCBub3QgcGVyIGVsZW1lbnQhCgoyMDE0LTEyLTE1IDE2OjI3OjE2ICswMTAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsc210cHNpbms6IGFkZCBmaW5hbCBib3VuZGFyeSB0byBhbGwgbXVsdGlwYXJ0IGVtYWlscwoJICBDb3JyZWN0ZWQgdGhlIGZpbmFsIGJvdW5kYXJ5IG1lY2hhbmlzbSBzbyB0aGF0IGEgZmluYWwgYm91bmRhcnkgaXMKCSAgYWRkZWQgdG8gZWFjaCBtYWlsIHdpdGggbXVsdGlwYXJ0IGNvbnRlbnQgdGhhdCBpcyBzZW50LAoJICBub3QganVzdCB0byB0aGUgbGFzdCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE1NTMKCjIwMTQtMTItMTggMjM6MzM6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFdlJ3JlIG9ubHkgRU9TIGlmIGFsbCBvdXIgcGFkcyBhcmUgYWN0dWFsbHkgRU9TCgkgIEhhdmluZyBhIGJ1ZmZlciBvciBub3Qgb24gdGhlIHBhZCBpcyBpcnJlbGV2YW50LgoKMjAxNC0xMi0xOCAyMjo0MjoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogVGhlIHBhZCdzIHNpemUgaXMgYWx3YXlzIHN1cHBvc2VkIHRvIGJlIHRoZSB3aG9sZSBidWZmZXIgc2l6ZQoJICBBbmQgdGhlIG9mZnNldCB0aGUgb2Zmc2V0IGludG8gdGhhdCBidWZmZXIuIENoYW5naW5nIHRoZSBzaXplIHdpbGwKCSAgY2F1c2UgYWxsIGtpbmRzIG9mIGFzc3VtcHRpb25zIHRvIGZhaWwgYW5kIGNhdXNlIGNyYXNoZXMuCgoyMDE0LTEyLTE4IDIyOjA0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IHRyeSB0byBtYXAgTlVMTCBidWZmZXJzCgoyMDE0LTEyLTE4IDIyOjAzOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1ha2Ugc3VyZSB0byBhbHdheXMgdXBkYXRlIHRoZSBwYWQncyB2aWRlb2luZm8gdG9nZXRoZXIgd2l0aCBidWZmZXJzCgkgIE90aGVyd2lzZSB0aGUgdmlkZW9pbmZvIGFuZCB0aGUgYnVmZmVyIGNvbnRlbnQgY2FuIGdvIG91dCBvZiBzeW5jLgoKMjAxNC0xMi0xOCAxMTo0ODozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRml4IG1lbW9yeSBsZWFrIHdoZW4gbm8gYnVmZmVyIGlzIGF2YWlsYWJsZSBmb3IgYSBwYWQgY3VycmVudGx5CgkgIENJRCAxMjU4NzE4CgoyMDE0LTEyLTE4IDEwOjU0OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlZjFmZmRjIHRvIGYyYzZiOTUKCjIwMTQtMTItMTcgMjI6MDE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogcmV1c2UgdGhlIGdzdHZpZGVvIHByb3h5IGdldGNhcHMKCSAgVGhlIGNhcHMgcXVlcnkgaXMgaW1wbGVtZW50aW5nIHRoZSBzYW1lIGxvZ2ljIGFzIHRoZSBkZWZhdWx0CgkgIGhhbmRsZXIgZnJvbSB0aGUgYmFzZSBjbGFzcy4gUmV1c2UgaXQgdG8gc2ltcGxpZnkgY29kZS4KCjIwMTQtMTItMTcgMjE6NTI6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogcGx1ZyByZWYgbGVhayBvZiB0ZW1wbGF0ZSBjYXBzCgkgIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpcyBhbHJlYWR5IGEgbmV3IHJlZi4gTm8gbmVlZCB0byBjb3B5LgoKMjAxNC0xMi0xNyAxOTo1MTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogQWRkIGZ1bmN0aW9uIHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gc2V0IHRoZWlyIG93biBsYXRlbmN5CgkgIEZvciBhdWRpb21peGVyIHRoaXMgaXMgb25lIGJsb2Nrc2l6ZSwgZm9yIHZpZGVvYWdncmVnYXRvciB0aGlzIHNob3VsZAoJICBiZSB0aGUgZHVyYXRpb24gb2Ygb25lIG91dHB1dCBmcmFtZS4KCjIwMTQtMTItMTcgMTk6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE1ha2Ugc3VyZSB0byBub3QgaGF2ZSBwYWRzIGJlaW5nIGJlaGluZCB0aGUgY3VycmVudCBvZmZzZXQKCSAgV2Ugd291bGQgYnJlYWsgc3luYyBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgc3RyZWFtcyB0aGVuLgoKMjAxNC0xMi0xNyAxNzo1NDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIGEgdGltZW91dCBwYXJhbWV0ZXIgdG8gOjphZ2dyZWdhdGUoKQoJICBXaGVuIHRoaXMgaXMgVFJVRSwgd2UgcmVhbGx5IGhhdmUgdG8gcHJvZHVjZSBvdXRwdXQuIFRoaXMgaGFwcGVucwoJICBpbiBsaXZlIG1peGluZyBtb2RlIHdoZW4gd2UgaGF2ZSB0byBvdXRwdXQgc29tZXRoaW5nIGZvciB0aGUgY3VycmVudAoJICB0aW1lLCBubyBtYXR0ZXIgaWYgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgb3Igbm90LgoKMjAxNC0xMi0xNyAxODoyMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHF1ZXVlcyBhZnRlciB0aGUgKGxpdmUpIHNvdXJjZXMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxNC0xMi0xNyAxMjoyMDo1NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogaW1wcm92ZSB0aW1lc3RhbXBpbmcgYW5kIGxhdGVuY3kgcmVwb3J0aW5nCgkgIFVzZSBBVkYgcHJvdmlkZWQgdGltaW5ncyB0byB0aW1lc3RhbXAgb3V0cHV0IGJ1ZmZlcnMuIFVzZSB0aGUgcnVubmluZyB0aW1lIGF0CgkgIHRoZSB0aW1lIHRoZSBmaXJzdCBidWZmZXIgaXMgcHJvZHVjZWQgdG8gYmFzZSB0aW1lc3RhbXBzIG9uLiBSZXBvcnQgMS1mcmFtZQoJICBsYXRlbmN5IGJhc2VkIG9uIHRoZSBuZWdvdGlhdGVkIGZyYW1lcmF0ZSBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgNG1zIGxhdGVuY3kuCgoyMDE0LTEyLTE1IDIyOjI0OjI2IC0wNTAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogUmVtb3ZlIGRlcGVuZGVuY3kgb24gQVRMCgkgIFRoaXMgZml4ZXMgY29tcGlsaW5nIHdpdGggVmlzdWFsIEMrKyBFeHByZXNzCgkgIHRoYXQgZG9lc24ndCBpbmNsdWRlIEFUTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzIyMwoKMjAxNC0xMi0wNCAyMzozMDoyMyAtMDUwMCAgTWF0dGhldyBCYWRlciA8bWF0dEBoeXBlcmxvYmljLm5ldD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZGVkIHN1cHBvcnQgZm9yIGltYWdlL2pwZWcgYW5kIGgyNjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTE4OAoKMjAxNC0xMi0xNiAxOTo0OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogZml4IGFnZ3JlZ2F0b3IgdW5pdCB0ZXN0IGFmdGVyIHByb3BlcnR5IHJlbmFtaW5nCgoyMDE0LTEyLTE2IDE3OjM3OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBJbXBsZW1lbnQgZ2V0X25leHRfdGltZSgpCgoyMDE0LTEyLTE2IDE3OjMzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTQtMTItMDUgMTg6MTk6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IG1ha2UgdGhlIHNyYyBwYWQgdGFzayBkcml2ZSB0aGUgcGlwZWxpbmUgZm9yIGxpdmUgcGlwZWxpbmVzCgkgIFRoaXMgcmVtb3ZlcyB0aGUgdXNlcyBvZiBHQXN5bmNRdWV1ZSBhbmQgcmVwbGFjZXMgaXQgd2l0aCBleHBsaWNpdAoJICBHTXV0ZXgsIEdDb25kIGFuZCB3YWtldXAgY291bnQgd2hpY2ggaXMgdXNlZCBmb3IgdGhlIG5vbi1saXZlIGNhc2UuCgkgIEZvciBsaXZlIHBpcGVsaW5lcywgdGhlIGFnZ3JlZ2F0b3Igd2FpdHMgb24gdGhlIGNsb2NrIHVudGlsIGVpdGhlcgoJICBkYXRhIGFycml2ZXMgb24gYWxsIHNpbmsgcGFkcyBvciB0aGUgZXhwZWN0ZWQgb3V0cHV0IGJ1ZmZlciB0aW1lCgkgIGFycml2ZXMgcGx1cyB0aGUgdGltZW91dC9sYXRlbmN5IGF0IHdoaWNoIHRpbWUsIHRoZSBzdWJjbGFzcwoJICBwcm9kdWNlcyBhIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTE0NgoKMjAxNC0xMi0wOCAxNToxODoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGFsd2F5cyB0cnkgdG8gdXNlIG5ld2VyIGJ1ZmZlcnMKCSAgaW5zdGVhZCBvZiBkcm9wcGluZyB0aGVtIGZvciBiZWluZyB0b28gb2xkLiAgVGhpcyBlbnN1cmVzIHRoYXQKCSAgdGhlIG5ld2VzdCBidWZmZXIgaXMgYWx3YXlzIHVzZWQgZm9yIHJlbmRlcmluZwoKMjAxNC0xMi0xNiAxMzozNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgcmVjdGFuZ2xlOiBjbGVhciByZWN0YW5nbGUgc3RydWN0IGJlZm9yZSB1c2UKCjIwMTQtMTItMTUgMTU6MjE6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IGZyYW1lIHNpemUgZGV0ZXJtaW5hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzIxCgoyMDE0LTA2LTE5IDIxOjMyOjA5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogVXNlIEluZGV4VGFibGVTZWdtZW50cy4KCSAgVGhpcyBzcGVlZHMgdXAgc2Vla2luZyBkcmFzdGljYWxseS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI5NAoKMjAxNC0xMi0xNCAwMToyOToyNiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzL2FnZ3JlZ2F0b3I6IFVzZSBjb3JyZWN0IHR5cGUgd2hlbiBzZXR0aW5nIHByb3BlcnR5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0OTUKCjIwMTQtMDUtMDggMTA6NDE6MDMgKzA1MzAgIFN1ZGlwIEphaW4gPHN1ZGlwLmphaW5AbGluYXJvLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IHNjYW4gbW9yZSBieXRlcyB0byBmaW5kIGluaXRpYWwgUENScwoJICBGaXhlcyBwbGF5YmFjayBvZiBTYW1zdW5nLUNvbG9yZnVsLVZhcmlldHktMTA4MGkudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NjgKCjIwMTQtMTItMTIgMjA6NTc6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIFJldmVydCAib3BlbmgyNjQ6IGZpeCB0byB3b3JrIHdpdGggcmVsZWFzZWQgdmVyc2lvbnMgYW5kIG1hc3RlciBvZiB1cHN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNTM5NGFhNzA1NDNmNTVjNTRmYThhNDc0ODA1MjI0ZjQxMzhmNzZjLgoJICBUaGUgbGF0ZXN0IHJlbGVhc2UgKHYxLjEpIGRvZXMgbm90IGhhdmUgcGtnLWNvbmZpZyBzdXBwb3J0CgkgIHlldCwgc28gdGhpcyBwbHVnaW4gd29uJ3QgYmUgYnVpbHQgd2l0aCB0aGUgbGF0ZXN0IHJlbGVhc2UuCgkgIENlcmJlcm8gdXNlcyB0aGUgbGF0ZXN0IHJlbGVhc2UsIHNvIHRoaXMgbWFrZXMgY2VyYmVybwoJICBidWlsZHMgZmFpbCwgd2hpY2ggZXhwZWN0IHRoZSBwbHVnaW4gdG8gYmUgYnVpbHQuCgkgIFdlIGNhbiByZS1jb21taXQgdGhpcyBvbmNlIHRoZXJlJ3MgYSByZWxlYXNlIHRoYXQgaW5jbHVkZXMKCSAgcGtnLWNvbmZpZyBzdXBwb3J0LgoKMjAxNC0xMi0xMiAxMDowNToyMyAtMDgwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IGZpeCB0byB3b3JrIHdpdGggcmVsZWFzZWQgdmVyc2lvbnMgYW5kIG1hc3RlciBvZiB1cHN0cmVhbQoKMjAxNC0xMi0xMiAxMToyMToyNyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IEdzdEVsZW1lbnQtPnN0YXRlIGlzIHByb3RlY3RlZCB3aXRoIHRoZSBPQkpFQ1RfTE9DSwoJICBOb3QgdGhlIFNUQVRFX0xPQ0suCgkgIGdzdF93YXRjaGRvZ19mZWVkIHdhcyBhbHJlYWR5IGFsd2F5cyBjYWxsZWQgd2l0aCB0aGUgT0JKRUNUX0xPQ0sgdGFrZW4uCgoyMDE0LTExLTI3IDIwOjQ4OjI0ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBIaWRlIHNvbWUgbW9yZSBmaWVsZHMgZnJvbSB0aGUgQVBJCgkgICsgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxNC0xMi0xMiAwMDozMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSAgb252aWY6IGZpeCAnbWFrZSBkaXN0JwoKMjAxNC0xMi0xMSAyMTowMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2VlayBldmVudCBoYW5kbGluZwoJICBQcm9wZXJseSBkbyBzZWVraW5nIGFuZCBhdm9pZCBvbmx5IHNlZWtpbmcgd2hlbiB0aGUgc2VnbWVudCB3YXMgdXBkYXRlZC4KCSAgSXQgd291bGQgY2F1c2Ugc2Vla3MgYWZ0ZXIgdGhlIHN0cmVhbSB3YXMgRU9TIHRvIGZhaWwsIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4OTIwCgoyMDE0LTExLTE3IDE5OjI2OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogQXV0b21hdGljYWxseSBkaXNjb3ZlciB0aGUgbnRwLW9mZnNldCBieSBkZWZhdWx0LgoJICBUaGlzIG9ubHkgd29ya3MgaWYgbm8gcGFja2V0cyBhcmUgcHVzaGVkIGluIGJlZm9yZSB0aGUgcGlwZWxpbmUgZ29lcwoJICB0byBwbGF5aW5nLiBTbyBpdCBoZWxwcyB0byBoYXZlIGEgbGl2ZSBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjkKCjIwMTQtMDYtMDUgMTU6MDY6MzMgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWYuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmcGFyc2UuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSAgYWRkIHJ0cG9udmlmZXh0cmFjdCBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjkKCjIwMTQtMDQtMjggMTE6MDc6MTcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZi5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJICBhZGQgcnRwb252aWZ0aW1lc3RhbXAgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY5CgoyMDE0LTEyLTA4IDExOjAyOjUxICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBmaXggcG9zaXRpb24vdGV4Y29vcmQgYXR0cmliIGluZGV4IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyMzEKCjIwMTQtMTItMTEgMTg6MTc6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgZ2xmaWx0ZXJjdWJlOiB1c2UgYSBzaGFkZXIgZXZlcnl3aGVyZQoKMjAxNC0xMi0xMSAxODoxNTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogZml4dXAgdmFvIGFuZCB2Ym8gdXNhZ2UgZm9yIGxlZ2FjeSBHTAoKMjAxNC0xMi0xMSAxNDo1NzoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IGRvbid0IGFib3J0IHdoZW4gc2V0dGluZyB0aGUgZWZmZWN0IHRvIDAsMSwyCgoyMDE0LTEyLTEwIDEyOjQ4OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXM6IGZpeHVwIHNkbCBleGFtcGxlIGZvciBnbHVQZXJzcGVjdGl2ZSByZW1vdmFsCgoyMDE0LTEyLTA5IDA4OjM4OjU1IC0wODAwICBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBzdXBwb3J0IGNvbXBpbGUtdGltZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGJsdWV6NCBhbmQgYmx1ZXo1CgkgIFNpZ25lZC1vZmYtYnk6IE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2MjYKCjIwMTQtMTItMTAgMTg6MjM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogY2hlY2sgdGhlIHJldHVybiBmcm9tIHVwZGF0ZV9tYW5pZmVzdCBjb3JyZWN0bHkKCSAgSXQgaXMgYSBHc3RGbG93UmV0dXJuIGFuZCBub3QgYSBib29sZWFuCgoyMDE0LTEyLTEwIDA5OjI0OjE3ICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDaGFuZ2UgcGVyaW9kIHdoZW4gc2V0dGluZyBieSBwZXJpb2QgaWQuCgkgIE1ha2UgZ3N0X21wZF9jbGllbnRfc2V0X3BlcmlvZF9pZCBzZXQgdGhlIGN1cnJlbnQgcGVyaW9kIGluZGV4IHdoZW4gaXQgZmluZHMgYQoJICBwZXJpb2Qgd2l0aCBhIG1hdGNoaW5nIHBlcmlvZCBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTMyMgoKMjAxNC0xMi0xMCAxNToyNzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sgZnJhZ21lbnQgdHJhY2tpbmcKCSAgUmV3b3JrIHJldmVyc2UgZnJhZ21lbnQgdHJhdmVyc2luZyB3aXRoIHJlcGV0aXRpb24gZmllbGRzIHRvIHByZXZlbnQKCSAgTlVMTCBwb2ludGVyIGRlcmVmIGFuZCBhdm9pZCBuZXZlciBhZHZhbmNpbmcgYSBmcmFnbWVudCBhcyB0aGUgdmFyaWFibGUKCSAgaXMgdW5zaWduZWQgYW5kIHdvdWxkIGFsd2F5cyBiZSBub24tbmVnYXRpdmUuCgkgIENJRCAjMTI1NzYyNwoJICBDSUQgIzEyNTc2MjgKCjIwMTQtMTItMTEgMDA6MDI6MjYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGJ1bXAgcmFuayB0byBQUklNQVJZCgoyMDE0LTEyLTEwIDIyOjM2OjUzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBuZWdvdGlhdGUgcHJvZmlsZSBhbmQgbGV2ZWwgd2l0aCBkb3duc3RyZWFtCgoyMDE0LTEyLTEwIDE5OjQ0OjAxICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiByZXBvcnQgbGF0ZW5jeQoKMjAxNC0xMi0wNSAxNjoyMDowOCArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRmluZCBjdXJyZW50IHNlZ21lbnQgaW4gdGhlIHN0cmVhbXMgdGhhdCBoYXZlIGp1c3QgYmVlbiBzZXR1cAoJICBVc2luZyBkZW11eC0+c3RyZWFtcyB3aWxsIGp1c3Qgc2tpcCB0aGUgd2hvbGUgbG9vcCBhcyBkZW11eC0+c3RyZWFtcyB3aWxsCgkgIGFsd2F5cyBiZSBOVUxMIGF0IHRoYXQgcG9pbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI4NQoKMjAxNC0xMi0wOSAwNTowMzoxMSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSAgbWlycm9yOiBOZWVkcyByZW1hcCB3aGVuIHRoZSBtb2RlIGNoYW5nZXMuCgkgIFRoaXMgY2F1c2VkIHRoZSB1c2VyIHRvIHRoaW5rIHRoZSBtb2RlIHdhc24ndCB0YWtlbiBpbnRvIGFjY291bnQuCgoyMDE0LTEyLTA5IDA0OjI4OjE3ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBSZXZlcnQgImgyNjRwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzOTEwY2JlN2NlMWE2N2VkNTUwNmY4N2U0YzVhMDA1YzE2OGQwZTZjLgoKMjAxNC0xMi0wOCAwODo1MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3QgdHJ5IHRvIHVubG9jayBub3QgbG9ja2VkIG11dGV4CgkgIEEgbWlzcGxhY2VkIHVubG9jayB3YXMgY2F1c2luZyBhbiBhc3NlcnRpb24gZm9yIHBsYXliYWNrIHdpdGggYQoJICBzZXQgc3RvcCB0aW1lCgoyMDE0LTEyLTA4IDA4OjI0OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGdzdC1saWJzOiBidWlsZCBvcmRlcjogdXJpZG93bmxvYWRlciBiZWZvcmUgYWRhcHRpdmVkZW11eAoJICBPdGhlcndpc2UgbWFrZSBpbnN0YWxsIGZhaWxzCgoyMDE0LTEyLTA1IDE2OjMzOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IEFkZCBwcm9wZXJ0aWVzIHRvIHNwZWNpZnkgdGhlIG1heGltdW0ga2V5ZnJhbWUgaW50ZXJ2YWwgaW4gZnJhbWVzIGFuZCBzZWNvbmRzCgoyMDE0LTEyLTA1IDE2OjE1OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEZpeCBjb252ZXJzaW9uIG9mIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuZCBvdXIgaW50ZXJuYWwgYml0cmF0ZSBzdG9yYWdlCgkgIFRoZSBwcm9wZXJ0eSBpcyBpbiBrYml0L3MgYW5kIHdlIHN0b3JlIGl0IGluIGJpdC9zLCBzbyBqdXN0IG11bHRpcGx5IGFuZAoJICBkaXZpZGUgYnkgMTAwMC4gTm8gbmVlZCB0byBwdXQgYSBmYWN0b3Igb2YgOCBpbiB0aGVyZS4KCSAga1ZUQ29tcHJlc3Npb25Qcm9wZXJ0eUtleV9BdmVyYWdlQml0UmF0ZSBpcyBhbHNvIGluIGJpdC9zIGFjY29yZGluZyB0bwoJICBpdHMgZG9jdW1lbnRhdGlvbi4KCjIwMTQtMTItMDUgMTM6MTI6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IGEgbWVtb3J5IGxlYWsKCSAgRnJlZXMgdGhlIHNvdXJjZSBBUkdCIGJsYWNrIGZyYW1lIHRoYXQgd2UgdXNlIHRvIGNyZWF0ZSB0aGUgYmxhY2sgZnJhbWUKCSAgaW4gb3VyIHRhcmdldCBmb3JtYXQuCgoyMDE0LTEyLTAyIDEwOjEwOjM5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0KCSAgU29tZSB2aWRlbyBiaXRzdHJlYW1zIHJlcG9ydCBhIHRvbyByZXN0cmljdGl2ZSBzZXQgb2YgcHJvZmlsZXMuIElmIGEgdmlkZW8KCSAgZGVjb2RlciB3YXMgdG8gc3RyaWN0bHkgZm9sbG93IHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSwgaXQgd291bGRuJ3Qgc3VwcG9ydCB0aGF0CgkgIHN0cmVhbSwgd2hlcmVhcyBpdCBjb3VsZCBpbiB0aGVvcnkgYW5kIGluIHByYWN0aWNlLiBTbyB3ZSBzaG91bGQgcmVsYXggdGhlCgkgIHByb2ZpbGUgcmVzdHJpY3Rpb24gZm9yIGFsbG93aW5nIHRoZSBkZWNvZGVyIHRvIGdldCBjb25uZWN0ZWQgd2l0aCBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTIKCjIwMTMtMDUtMDEgMTE6MTc6MDIgKzA4MDAgIENodW4td2VpIEZhbiA8ZmFuY2h1bndlaUBzcmMuZ25vbWUub3JnPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBQb3J0IHRvIDEuMCBhbmQgbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoJICBUaGlzIHVwZGF0ZXMgdGhlIGRzaG93dmlkZW9zaW5rIHRvIHdvcmsgd2l0aCB0aGUgR1N0cmVhbWVyIDEuMC54IEFQSXMsIGFuZAoJICBhdm9pZHMgdGhlIHVzZSBvZiBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSSB0aGF0IGFyZSBub3cgdXNlZCBzaW5jZQoJICBHTGliIDIuMzIrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzNjQKCjIwMTQtMTItMDQgMDE6NDY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgbGl2ZSBzdXBwb3J0CgkgIEltcGxlbWVudCB0aGUgZnVuY3Rpb25zIG9mIGFkYXB0aXZlZGVtdXggdG8gaGF2ZSBsaXZlIHN1cHBvcnQKCSAgZW5hYmxlZC4gVGhpcyBhbGxvd3MgbXNzZGVtdXggdG8gcmVmcmVzaCB0aGUgTWFuaWZlc3QgcGVyaW9kaWNhbGx5CgoyMDE0LTEyLTA0IDE1OjUyOjQ0IC0wNTAwICBNYXR0aGV3IEJhZGVyIDxtYXR0QGh5cGVybG9iaWMubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9DTWFrZUxpc3RzLnR4dDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlY3dyYXBwZXI6IFBvcnQgdG8gMS54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5NDUKCjIwMTQtMTItMDEgMTY6NDA6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBwb3J0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDc2NjEKCjIwMTQtMTItMDQgMTI6MjE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBnZXR0aW5nIGN1cnJlbnQgcG9zaXRpb24gaW4gc2VnbWVudHMgd2hlbiBhZnRlciBsYXN0IG9uZQoJICBGb3IgbGl2ZSBzdHJlYW1zIHRoaXMgbWFrZXMgYSBkaWZmZXJlbmNlIHdoZW4gcmVzeW5jaW5nIGFmdGVyIGEKCSAgTWFuaWZlc3QgcmVmcmVzaCwgb3RoZXJ3aXNlIGl0IGRvZXNuJ3Qga25vdyB3aGVyZSB0byByZXN0YXJ0CgoyMDE0LTEyLTAyIDIzOjI3OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBzdXBwb3J0IG1hbmlmZXN0cyB3aXRoIHJlcGV0aXRpb24gZnJhZ21lbnRzCgkgIFJlYWQgdGhlICJyIiBhdHRyaWJ1dGUgZnJvbSBmcmFnbWVudHMgdG8gc3VwcG9ydCBmcmFnbWVudHMgbm9kZXMKCSAgdGhhdCB1c2UgcmVwZXRpdGlvbiB0byBoYXZlIGEgc2hvcnRlciBNYW5pZmVzdCB4bWwuCgkgIEluc3RlYWQgb2YgZG9pbmc6CgkgIDxjIGQ9IjEwMCIgLz4KCSAgPGMgZD0iMTAwIiAvPgoJICBZb3UgY2FuIHVzZToKCSAgPGMgZD0iMTAwIiByPSIyIiAvPgoKMjAxNC0xMS0yMiAwMTowMTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogcG9ydCB0byBhZGFwdGl2ZWRlbXV4IGJhc2UgY2xhc3MKCjIwMTQtMTItMDMgMTY6MTM6MTcgLTA1MDAgIE1hdHRoZXcgQmFkZXIgPG1hdHRAaHlwZXJsb2JpYy5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IEZpeGVkIG51bGwgY2FwcyBjb21wYXJpc29uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEwODYKCjIwMTQtMTItMDQgMDI6MTI6MDggLTAyMDAgIEZsw6F2aW8gUmliZWlybyA8ZW1haWxAZmxhdmlvcmliZWlyby5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogcmVtb3ZlIHVubmVjZXNzYXJ5IHRpdGxlIG9uIEVYVElORiB0YWcKCSAgQWNjb3JkaW5nIHRvIHRoZSBITFMgc3BlYyB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lIGZvbGxvd2luZwoJICB0aGUgY29tbWEgb24gRVhUSU5GIHRhZyBpcyBub3QgcmVxdWlyZWQuIFRoaXMgcGF0Y2ggcmVtb3ZlcwoJICB0aGUgZmFrZSB0aXRsZSBhbmQgc2F2ZXMgc29tZSBieXRlcyBvbiB0aGUgcGxheWxpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEwOTYKCjIwMTQtMTItMDQgMjA6Mzc6NTEgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogUmVuYW1lIGdzdC1sYXVuY2gtMC4xMCB0byBnc3QtbGF1bmNoLTEuMCBpbiBkb2NzCgoyMDE0LTEyLTA0IDE1OjQyOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogRml4IG1ha2UgZGlzdGNoZWNrCgkgIEFuZCBwcm9wZXJseSBkaXN0IGFsbCBoZWFkZXJzIGFuZCBzb3VyY2UgZmlsZXMuCgoyMDE0LTEyLTAzIDE4OjMxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbGVhc2UgdGhyZWFkcyB3YWl0aW5nIGZvciBtYW5pZmVzdCB1cGRhdGUgb24gc2h1dGRvd24KCSAgRm9yIGxpdmUgc3RyZWFtcywgYWxzbyB1bmJsb2NrIHRocmVhZHMgdGhhdCBtaWdodCBiZSB3YWl0aW5nIGZvciBhIG1hbmlmZXN0CgkgIHVwZGF0ZSB3aGVuIHN0b3BwaW5nIHRoZSBwaXBlbGluZS4KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnIG1lc3NhZ2VzCgoyMDE0LTEyLTAzIDEzOjUyOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHVzZSBnc3RfdGFza19zdG9wIGluc3RlYWQgb2YgZ3N0X3Rhc2tfcGF1c2UKCSAgVG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggZ3N0X3Rhc2tfc3RvcCgpOyBnc3RfdGFza19qb2luKCkgd2l0aAoJICBhbm90aGVyIHRocmVhZCBkb2luZyBnc3RfdGFza19wYXVzZSgpLCB0aGUgam9pbmluZyB0aHJlYWQgd291bGQgYmUKCSAgd2FpdGluZyBmb3IgdGhlIHRhc2sgdG8gc3RvcCBidXQgaXQgd291bGQgbmV2ZXIgaGFwcGVuLiBTbyBqdXN0CgkgIHVzZSBnc3RfdGFza19zdG9wKCkgZXZlcnl3aGVyZSB0byBwcmV2ZW50IG1vcmUgbXV0ZXhlcwoKMjAxNC0xMi0wMyAxMjo0ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggZGVhZGxvY2sgd2hlbiBzdG9wcGluZyBzdHJlYW1zCgkgIFJlbWVtYmVyIHRvIHVubG9jayB0aGUgbWFuaWZlc3QncyBsb2NrIHdoZW4gbGVhdmluZyB0aGUgZG93bmxvYWQgdGFzay4KCjIwMTQtMTItMDMgMTY6MDE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkgIGRlY2tsaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgaW4gdGhlIGRpc3BhdGNoZXIKCjIwMTQtMTItMDMgMTU6MzA6NDMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbHN5bmNtZXRhOiBhZGQgR19FTkRfREVDTFMKCjIwMTQtMTItMDMgMTU6MDc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUElfaS5jOgoJICBkZWNrbGluazogVXBkYXRlIFdpbmRvd3MgU0RLIGhlYWRlcnMgdG8gMTAuMy4xCgkgIE5vIGlkZWEgd2hlcmUgdGhlIERlY2tsaW5rQVBJRGlzcGF0Y2guY3BwIGNvbWVzIGZyb20gb24gV2luZG93cywKCSAgYnV0IHRoaXMgc2hvdWxkIHN0aWxsIHdvcmsuIFdpbGwganVzdCBiZWNvbWUgYSBwcm9ibGVtIG9uY2Ugd2UKCSAgdXNlIG90aGVyIHBhcnRzIG9mIHRoZSBBUEkuCgoyMDE0LTEyLTAzIDE0OjQyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC1vc3guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVN0cmVhbWluZy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSAgZGVja2xpbms6IFVwZGF0ZSBPUyBYIFNESyBoZWFkZXJzIHRvIDEwLjMuMQoKMjAxNC0xMi0wMyAxNDozOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSVR5cGVzLmg6CgkgIGRlY2tsaW5rOiBVcGRhdGUgTGludXggU0RLIGhlYWRlcnMgdG8gMTAuMy4xCgoyMDE0LTEyLTAzIDEwOjA2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSB1bnVzZWQgZXJyb3IgdmFyaWFibGUKCSAgQ0lEICMxMjU2NTU2CgoyMDE0LTEyLTAzIDA5OjQ1OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBtb3JlIGdldF9kdXJhdGlvbiBjaGVja3MKCSAgU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCBnZXRfZHVyYXRpb24gZnVuY3Rpb24uIElmIHRoZXkgZG8gbm90IGtub3cKCSAgdGhlIGR1cmF0aW9uIHRoZXkgY2FuIHJldHVybiBHU1RfQ0xPQ0tfVElNRV9OT05FCgoyMDE0LTEyLTAzIDA5OjQwOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbCBzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IGdldF9kdXJhdGlvbgoJICBDSUQgIzEyNTY1NTcKCjIwMTQtMTItMDIgMjM6Mjk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogbWFrZSBzdXJlIHRvIGFsd2F5cyBzdG9wIHRoZSBzdHJlYW0gb24gRU9TCgkgIEZvciBPbi1EZW1hbmQgc3RyZWFtcywgYWx3YXlzIHN0b3AgdGhlIHRhc2tzIGZvciBzdHJlYW1zIHRoYXQgcmVhY2hlZAoJICBFT1MKCjIwMTQtMTItMDMgMDg6MDI6NTggKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHRyeSBjZ2wgYmVmb3JlIGdseAoJICBJdCB3YXMgYWxyZWFkeSBkb25lIGJ5IGNvbW1pdAoJICBmNTA2ZTgwNjg2ZWVkYzY2OTEyNTgzZGIxMTkxNGVjM2Y3MTNiNDc4CgkgIGJ1dCBpdCBoYXMgYmVlbiBicm9rZW4gYnkgY29tbWl0CgkgIDQ1ZWM3NzdjZWEwZTY5YjI1OTdkMWVjMDJiMThlYzMxZDYxOGM5MjAKCjIwMTQtMTItMDMgMDc6NDY6NTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBnbGltYWdlc2luayB1bml0IHRlc3QgdG8gLmdpdGlnbm9yZQoKMjAxNC0xMi0wMiAxNTo1Mjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IGRvdWJsZSB1bnJlZiBvZiBvYmplY3QKCSAgdGhlIGRhdGV0aW1lIGlzIGFscmVhZHkgcmVsZWFzZWQgYnkgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24KCjIwMTQtMTAtMTAgMTE6MjQ6MDggKzAxMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogRmluZCB0aGUgY3VycmVudCBwZXJpb2QgaW4gYSBsaXZlIHN0cmVhbQoJICBTdGFydCBmcm9tIHRoZSBjb3JyZWN0IHBlcmlvZCBvbiBhIGxpdmUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc0MjEKCjIwMTQtMTItMDIgMTA6MDY6MDAgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBwZXJpb2Qgc2VsZWN0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgRml4IHBlcmlvZCBzZWxlY3Rpb24gYW5kIHByb3Blcmx5IGVycm9yIG91dCB3aGVuIHVwZGF0ZSBjYW5ub3QgYmUgZG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1Mjk4CgoyMDE0LTA3LTA5IDEwOjExOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBJbXByb3ZlIGxhc3QgUENSIGRldGVjdGlvbgoJICBXaGVuIGRlYWxpbmcgd2l0aCByYW5kb20tYWNjZXNzIGNvbnRlbnQgKHN1Y2ggYXMgZmlsZXMpLCB3ZSBpbml0aWFsbHkKCSAgc2VhcmNoIGZvciB0aGUgbGFzdCBQQ1IgaW4gb3JkZXIgdG8gZmlndXJlIG91dCBkdXJhdGlvbiBhbmQgdG8gaGFuZGxlCgkgIG90aGVyIHBvc2l0aW9uIGVzdGltYXRpb24gc3VjaCBhcyB0aG9zZSB1c2VkIGluIHNlZWtpbmcuCgkgIFByZXZpb3VzbHksIHRoZSBjb2RlIGxvb2tpbmcgZm9yIHRoYXQgbGFzdCBQQ1Igd291bGQgc2VhcmNoIGluIHRoZSBsYXN0CgkgIDY0MGtCIG9mIHRoZSBmaWxlIGdvaW5nIGZvcndhcmQsIGFuZCBzdG9wIGF0IHRoZSBmaXJzdCBQQ1IgZW5jb3VudGVyZWQuCgkgIFRoZSBwcm9ibGVtIHdpdGggdGhhdCB3YXMgdHdvLWZvbGQ6CgkgICogSXQgd291bGRuJ3QgcmVhbGx5IGJlIHRoZSBsYXN0IFBDUiAoaXQgd291bGQgYmUgdGhlIGZpcnN0IG9uZSB3aXRoaW4KCSAgdGhvc2UgbGFzdCA2NDBrQi4gSW4gY2FzZSBvZiBWQlIgZmlsZXMsIHRoaXMgd291bGQgcHV0IG9mZiBkdXJhdGlvbgoJICBhbmQgc2VlayBjb2RlIHNsaWdodGx5LgoJICAqIEl0IHdvdWxkIGZhaWwgb24gZmlsZXMgd2l0aCBiaXRyYXRlcyBoaWdoZXIgdGhhbiA1Mk1iaXQvcyAobm90IGNvbW1vbikKCSAgSW5zdGVhZCB0aGlzIHBhdGNoIG1vZGlmaWVzIHRoYXQgY29kZSBieToKCSAgKiBTY2FubmluZyBvdmVyIHRoZSBsYXN0IDIwNDhrQiAoYWxsb3dzIHRvIGNvcGUgd2l0aCBzdHJlYW1zIHVwIHRvIDE2ME1iaXQvcykKCSAgKiBTdGFydHMgYnkgdGhlIGVuZCBvZiB0aGUgZmlsZSwgZ29pbmcgb3ZlciBjaHVua3Mgb2YgMzAwIE1QRUctVFMgcGFja2V0cwoJICAqIERvZXNuJ3Qgc3RvcCBhdCB0aGUgZmlyc3QgUENSIGRldGVjdGVkIGluIGEgY2h1bmssIGJ1dCBpbnN0ZWFkIHJlY29yZHMgYWxsCgkgIG9mIHRoZW0sIGFuZCBvbmx5IHN0b3Agc2VhcmNoaW5nIGlmIHRoZXJlIHdhcyAiYXQgbGVhc3QiIG9uZSBQQ1Igd2l0aGluCgkgIHRoYXQgY2h1bmsKCSAgVGhpcyBzaG91bGQgaW1wcm92ZSBkdXJhdGlvbiByZXBvcnRpbmcgYW5kIHNlZWtpbmcgb3BlcmF0aW9ucyBvbiBWQlIgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUzMgoKMjAxNC0xMi0wMSAxMTo0NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE9ubHkgYWN0aXZhdGUgd2FybmluZyBmb3IgcmVhbCBzdHJlYW1zCgkgIHN0cmVhbXMgd2l0aCBzdHJlYW1fdHlwZSAweGZmIGFyZSBQQ1Itb25seSBzdHJlYW1zLCBpdCdzIG5vcm1hbCBub3QKCSAgdG8gaGF2ZSBhIHBhZCBmb3IgdGhlbS4KCjIwMTQtMTItMDEgMTI6MTQ6MjAgKzAxMDAgIErDvHJnZW4gU2xvd2FjayA8anVyZ2VuLnNsb3dhY2tAYmFyY28uY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmg6CgkgIHgyNjVlbmM6IGFkZCBxcCBwcm9wZXJ0eQoJICBRUCBwcm9wZXJ0eSBlbmFibGVzIENRUCBtb2RlIGFuZCBzZXRzIHRoZSBRUCBmb3IgUCBzbGljZXMuCgoyMDE0LTEyLTAxIDEwOjU5OjMyICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbC9jb2NvYTogRml4IGV4YW1wbGUgb24gTWFjIE9TIFggMTAuMTAKCSAgVXNpbmcgTlNBcHAgZGlyZWN0bHkgc2VlbXMgdG8gY29uZnVzZSBzb21ldGhpbmcsIGFzIHRoZSBjb21waWxlcgoJICB3YXMgZXhwZWN0aW5nIGFuIGlkPE5TRmlsZU1hbmFnZXJEZWxlZ2F0ZT4uIFN3aXRjaGVkIHRvIHVzaW5nCgkgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSwgYW5kIHNwZWNpZmllZCB0aGUgZGVsZWdhdGUKCSAgcHJvdG9jb2wgb24gdGhlIHdpbmRvdyBjbGFzcyBhcyB3ZWxsLgoJICBTaW1pbGFyIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3NDAKCjIwMTQtMTItMDEgMTA6Mjc6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogRml4IGRlcGVuZGVuY3kgYnVpbGQKCSAgYWRhcHRpdmVkZW11eCBkZXBlbmRzIG9uIHVyaWRvd25sb2FkZXIgYW5kIHZpZGVvIGRlcGVuZHMgb24gYmFzZQoKMjAxNC0xMi0wMSAwOTo0ODo0MSArMDEwMCAgVGhvbWFzIEtsYXVzbmVyIDx3aXpAZGFuYmFsYS50dXdpZW4uYWMuYXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG8gY29tcGFyaXNvbnMgaW4gYSBwb3J0YWJsZSB3YXkgd2l0aCA9IGluc3RlYWQgb2YgPT0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk1MwoKMjAxNC0xMS0zMCAyMTo1NDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXdvcmtpbmcgbGl2ZSBtYW5pZmVzdCB1cGRhdGUgd2FpdAoJICBDaGVjayBpZiB0aGUgc3RyZWFtIGlzIGxpdmUgYmVmb3JlIGNoZWNraW5nIGlmIGl0IGlzIEVPUyBhcyBhIGxpdmUKCSAgc3RyZWFtIG1pZ2h0IGJlIGNvbnNpZGVyZWQgRU9TIHdoZW4gaXQganVzdCBuZWVkcyB0byB3YWl0IGZvciBhIG1hbmlmZXN0CgkgIHVwZGF0ZSB0byBwcm9jZWVkIHdpdGggdGhlIG5leHQgZnJhZ21lbnRzCgoyMDE0LTExLTI5IDEwOjI4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBtYW5pZmVzdCB1cGRhdGUgbG9ja2luZwoJICBUbyBhdm9pZCB1bmxvY2tpbmcgYSBub3QgbG9ja2VkIG11dGV4CgoyMDE0LTExLTI5IDEwOjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBzZWdtZW50IGZvciBtYW5pZmVzdHMgdGhhdCB3b24ndCBzdGFydCBhdCAwCgkgIEZvciBsaXZlIHN0cmVhbXMsIHRoZSBtYW5pZmVzdCBtaWdodCBzdGFydCBhdCBhbiBhZHZhbmNlZCBwb3NpdGlvbi4gQXZvaWQKCSAgdXNpbmcgc2VnbWVudCBzdGFydD0wIHRvIGhhdmUgcGxheWJhY2sgc3RhcnQgaW1tZWRpYXRlbHkKCjIwMTQtMTEtMjkgMTA6MjY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlcGxhY2UgdGhlIHN0cmVhbXMgd2l0aCB0aGUgbmV3IG1wZCBjbGllbnQncyBzdHJlYW1zCgkgIE90aGVyd2lzZSBpdCB3b24ndCB1cGRhdGUgd2l0aCB0aGUgbmV3IHNlZ21lbnQgaW5mbyBmcm9tIHRoZSBwbGF5bGlzdAoJICB1cGRhdGUKCjIwMTQtMTEtMjkgMTA6MjU6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHdoZW4gdXBkYXRpbmcgdGhlIG1hbmlmZXN0LCBzZXQgdGhlIHVyaQoJICBUaGlzIHdpbGwgYWxsb3cgZGFzaGRlbXV4IHRvIGNyZWF0ZSB0aGUgY29ycmVjdCBmdWxsIHBhdGggVVJJcyB0bwoJICBjb250aW51ZSBkb3dubG9hZGluZyBmcmFnbWVudHMKCjIwMTQtMDgtMjYgMTY6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBwb3J0IHRvIGFkYXB0aXZlIGRlbXV4CgoyMDE0LTExLTIyIDE3OjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsc28gY2xlYXIgZmx1c2hpbmcgc3RhdGUgb24gcGFkcyBiZWZvcmUgcmVzdGFydGluZwoJICBEdXJpbmcgZmx1c2hpbmcgc2Vla3MgdGhlIGZsdXNoaW5nIGZsb3cgcmV0dXJuIHdpbGwgcHJvcGFnYXRlIHVwIHRvIHRoZQoJICBzb3VyY2UgZWxlbWVudCBhbmQgYWxsIHBhZHMgYXJlIGdvaW5nIHRvIGhhdmUgdGhlIGZsdXNoaW5nIGZsYWcgc2V0LgoJICBTbyBiZWZvcmUgcmVzdGFydGluZyBhbHNvIHJlbW92ZSB0aGF0IGZsYWcgdG9nZXRoZXIgd2l0aCB0aGUgRU9TIG9uZS4KCSAgV2UgZG9uJ3QgZG8gdGhhdCB3aGVuIHB1c2hpbmcgdGhlIGZsdXNoIHN0b3AgZXZlbnQgYmVjYXVzZSBvdXIgZXZlbnQKCSAgaGFuZGxlciBmb3IgdGhlIHByb3h5cGFkIHdpbGwgZHJvcCBhbGwgZXZlbnRzLgoKMjAxNC0xMS0yMSAyMDo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGFkYXB0aXZlZGVtdXggYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODQ4CgoyMDE0LTExLTI5IDEzOjE2OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBtaW5vciBjYXBzIGV2ZW50IHBheWxvYWRpbmcgb3B0aW1pc2F0aW9uCgkgIEF2b2lkIGNyZWF0aW9uIG9mIGJ1ZmZlciB3ZSdyZSBqdXN0IGdvaW5nIHRvIHRocm93CgkgIGF3YXkgdHdvIGxpbmVzIGxhdGVyIGFueXdheS4KCjIwMTQtMTEtMjkgMTM6MTU6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeCBzb21lIG1lbW9yeSBsZWFrcwoKMjAxNC0xMS0zMCAwMDo0MjoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHJlcXVpcmUgR0xfQVJCX0VTMl9jb21wYXRpYmlsaXR5IGZvciBvcGVuZ2wzCgkgIHVudGlsIHdlIGdlbmVyYXRlIGdsMyBjb21wbGlhbnQgc2hhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDEyCgoyMDE0LTExLTMwIDAwOjE4OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBwcm9wZXJseSBoYW5kbGUgdGhlICFvcGVuZ2wzIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDAxMgoKMjAxNC0xMS0yOCAxNzozMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IERyb3AgdG9vIGxhdGUgZnJhbWVzIGFuZCBzdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgYXQgdGhlIGNvcnJlY3QgdGltZQoKMjAxNC0xMS0yOCAxNjowNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBnbGZpbHRlcmFwcDogZml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIFdoZW4gR1NUX0dMX0hBVkVfT1BFTkdMIGlzIDAgb3IgdW5zZXQuCgoyMDE0LTExLTI4IDE1OjA2OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEZvciB0aGUgc291cmNlLCB1bnNldHRpbmcgdGhlIGNhbGxiYWNrIGFscmVhZHkgZGVsZXRlcyBpdAoKMjAxNC0xMS0xNCAxMToxOTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IFdhaXQgZm9yIHRoZSBwaXBlbGluZSBjbG9jayBpbnN0ZWFkIG9mIHRoZSBkZWNrbGluayBjbG9jawoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gc3RhcnZlIG90aGVyIGVsZW1lbnRzIGlmIHRoZSBkZWNrbGluayBjbG9jawoJICBpcyBzbG93ZXIgdGhhbiB0aGUgcGlwZWxpbmUgY2xvY2ssIG9yIHN0YXJ0cyBtdWNoIGxhdGVyLgoJICBPZiBjb3Vyc2UgdGhpcyB3aWxsIHN0aWxsIGNhdXNlIHByb2JsZW1zIGlmIHRoZSBkZWNrbGluayBjbG9jayBhbmQgb3VycyBhcmUKCSAgY29tcGxldGVseSBvdXQgb2Ygc3luYywgb3IgcnVubmluZyBhdCBhIHZlcnkgZGlmZmVyZW50IHJhdGUuIEJ1dCB0aGlzIGF0IGxlYXN0CgkgIHdvcmtzIGJldHRlciBub3cuCgoyMDE0LTExLTE0IDEwOjU4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBTY2hlZHVsZSB2aWRlbyBmcmFtZXMgYWNjb3JkaW5nIHRvIHRoZWlyIHRpbWVzdGFtcHMsIG5vdCBhY2NvcmRpbmcgdG8gYSBmcmFtZSBjb3VudGVyCgoyMDE0LTExLTE0IDExOjAyOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogQWRkIHNvbWUgRklYTUUgY29tbWVudHMgYWJvdXQgc3luY2hyb25pemF0aW9uCgoyMDE0LTExLTE0IDEwOjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IFNhbXBsZSB0aGUgcGlwZWxpbmUgY2xvY2sgZm9yIHRoZSB0aW1lc3RhbXBzIGluc3RlYWQgb2YgY29taW5nIHVwIHdpdGggb3VyIG93bgoJICBJZiB3ZSBqdXN0IGNvdW50IHRoZSBmcmFtZXMgYW5kIGNhbGN1bGF0ZSB0aW1lc3RhbXBzIGZyb20gdGhhdCwgYWxsIGZyYW1lcwoJICB3aWxsIGFycml2ZSBsYXRlIGluIHRoZSBzaW5rIGFzIHdlIGhhdmUgYSBsaXZlIHNvdXJjZSBoZXJlLiBJbnN0ZWFkIHRha2UKCSAgdGhlIHBpcGVsaW5lIGNsb2NrIGF0IGNhcHR1cmUgdGltZSBhcyByZWZlcmVuY2UuCgoyMDE0LTExLTI4IDE0OjUwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBIYW5kbGUgY2FsbGJhY2svZGVsZWdhdGUgb2JqZWN0IHRoZSBzYW1lIHdheSBhcyBpbiB0aGUgc2luawoJICBQb3RlbnRpYWxseSBmaXhlcyBjcmFzaGVzLgoKMjAxNC0xMS0yOCAxNDo0NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogRG9uJ3QgY3Jhc2ggd2hlbiBnb2luZyB0byBSRUFEWSBhbm90aGVyIHRpbWUKCSAgV2UgaGF2ZSB0byBoYW5kbGUgdGhlIGNhbGxiYWNrIG9iamVjdCBhIGJpdCBkaWZmZXJlbnQ6CgkgIGEpIGl0IG5lZWRzIGEgdmlydHVhbCBkZXN0cnVjdG9yCgkgIGIpIHdlIG5lZWQgdG8gc2V0IHRoZSBjYWxsYmFjayB0byBOVUxMIHdoZW4gd2UncmUgZG9uZSB3aXRoIHRoZSBvdXRwdXQKCSAgYykgY3JlYXRlIGEgbmV3IG9uZSBldmVyeSB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MTYKCjIwMTQtMTEtMjggMTA6MjM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEZhaWx1cmUgdG8gbWFwIGEgdmlkZW8gZnJhbWUgaXMgbm90IGp1c3QgYSB3YXJuaW5nCgkgIEFsc28gYWRkIHNvbWUgd2FybmluZyBkZWJ1ZyBvdXRwdXQgaWYgbWFwcGluZyBhIG91dHB1dCBidWZmZXIgZmFpbHMKCjIwMTQtMTEtMjggMTA6MjI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRmFpbHVyZSB0byBtYXAgYSB2aWRlbyBmcmFtZSBpcyBub3QganVzdCBhIHdhcm5pbmcKCjIwMTQtMTEtMjggMTQ6MDg6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2xmaWx0ZXJhcHAgaXMgbm93IGF2YWlsYWJsZSBvbiBnbGVzMiBhcyB3ZWxsIHNvIGJ1aWxkIGl0CgoyMDE0LTExLTI4IDEzOjA0OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIGdsOiBmaXh1cCBjb21wYXQgZGVmaW5pdGlvbiBmb3IgR0x1aW50NjQgZm9yIE9TIFgKCjIwMTQtMTEtMjggMTE6NTY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIGdsOiBhZGQgY29tcGF0IGRlZmluaXRpb24gZm9yIEdMdWludDY0IGZvciBhbmRyb2lkCgkgIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOjQxOjIzOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0dMdWludDY0JwoJICBHTHVpbnQ2NCB0aW1lb3V0KSkKCjIwMTQtMTEtMjggMDI6MjE6NDkgKzA5MDAgIERhbm55IFNvbmcgPGRhbm55LnNvbmcuZ2FAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBmaXggdHlwbyBpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA4MTUKCjIwMTQtMTEtMjggMTE6MTE6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luYzogZml4IGJ1aWxkIHdpdGggZGVza3RvcCBnbAoKMjAxNC0xMS0yOCAxMTowNDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbDogZml4IHR5cG8gaW4gI2lmCgkgIEdTVF9HTF9BUElfSEFWRV9PUEVOR0wgZG9lc24ndCBleGlzdAoKMjAxNC0xMS0yOCAxMDo1OTo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2w6IGZpeCB2YXJpb3VzIGJ1aWxkIGVycm9ycyB3aXRob3V0IGRlc2t0b3AgZ2wKCjIwMTQtMTEtMjggMTA6MDM6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBmaXggYnVpbGQgZXJyb3IKCSAgZ3N0Z2xkaXNwbGF5LmM6MjM0OjU0MTogZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcl0KCSAgZ19yZXR1cm5faWZfZmFpbCAoR1NUX0lTX0dMX0RJU1BMQVkgKGRpc3BsYXkpKTsKCjIwMTQtMTEtMjcgMjE6MDU6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZGlzcGxheTogaW1wbGVtZW50IHJ1bnRpbWUgR0wgYXBpIGZpbHRlcmluZwoJICBOZWVkZWQgc28gdGhhdCB0aGUgcGlwZWxpbmUvYXBwbGljYXRpb24gY2FuIGxpbWl0IHRoZSBjaG9pY2Ugb2YgR0wgYXBpCgkgIHRvIHdoYXQgaXQgc3VwcG9ydHMKCjIwMTQtMTEtMjcgMTY6MTc6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsOiByZW1vdmUgdGhlIHVzZSBvZiBnbHUKCjIwMTQtMTAtMTcgMTU6MjI6MjQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbDogYWRkIGEgc3luYyBtZXRhIGZvciBzeW5jaHJvbml6aW5nIGFjcm9zcyBHTCBjb250ZXh0cwoJICBBIGNvbnRleHQgY2FuIGNyZWF0ZSBhIEdMc3luYyBvYmplY3QgdGhhdCBjYW4gYmUgd2FpdGVkIG9uIGluIG9yZGVyCgkgIHRvIGVuc3VyZSB0aGF0IEdMIHJlc291cmNlcyBjcmVhdGVkIGluIG9uZSBjb250ZXh0IGFyZSBhYmxlIHRvIGJlCgkgIHVzZWQgaW4gYW5vdGhlciBzaGFyZWQgY29udGV4dCB3aXRob3V0IGFueSBjaGFuY2Ugb2YgcmVhZGluZyBpbnZhbGlkCgkgIGRhdGEuCgkgIFRoaXMgbWV0YSB3b3VsZCBiZSBwbGFjZWQgb24gYnVmZmVycyB0aGF0IGFyZSBrbm93biB0byBjcm9zcyBmcm9tCgkgIG9uZSBjb250ZXh0IHRvIGFub3RoZXIuICBUaGUgcmVjZWl2aW5nIGVsZW1lbnQgd291bGQgdGhlbiB3YWl0CgkgIG9uIHRoZSBzeW5jIG9iamVjdCB0byBlbnN1cmUgdGhhdCB0aGUgZGF0YSB0byBiZSB1c2VkIGlzIGNvbXBsZXRlLgoKMjAxNC0xMC0xNyAxNTowODoyOSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJICBnbHByb3RvdHlwZXM6IGFkZCBzeW5jIGZ1bmN0aW9uIGRlZmluaXRpb25zCgoyMDE0LTExLTE3IDE4OjA2OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGZpbHRlcmFwcDogcG9ydCB0byBnbGVzMiBhbmQgZ2wzCgoyMDE0LTExLTE0IDIzOjI0OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgZ2xvdmVybGF5OiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xNCAwMDoyMDoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMS0xMyAyMTozMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkgIGdsZmlsdGVyY3ViZTogYWRkIGEgZ2wzIGNvZGUgcGF0aAoKMjAxNC0xMS0xMyAxNTowOTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsZmlsdGVyc2hhZGVyOiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xMyAxMjoxMjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTIgMjM6NDg6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzOiBzdXBwb3J0IGdsMyB3aGVyZWV2ZXIgZ2xlczIgaXMgc3VwcG9ydGVkCgoyMDE0LTExLTEyIDIzOjQ3OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgZ2xjb2xvcnNjYWxlOiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xMiAyMjo0OToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogYWRkIGEgZ2wzIGNvZGUgcGF0aCB1c2luZyB2YW8ncyBhbmQgdmJvJ3MKCjIwMTQtMTEtMTIgMjI6NDg6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTAtMjMgMjI6MzU6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTAtMjEgMjI6MTg6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHVzZSB2Ym8ncyBhbmQgdmFvJ3MgZm9yIGdsMwoKMjAxNC0xMC0yMSAxOTozMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlciBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTEwLTE5IDA4OjA5OjM3ICswNDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdseDogYXNrIGZvciBhIEdMMyBjb3JlIGNvbnRleHQKCjIwMTQtMTEtMjcgMjE6MjI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWlub3IgY2xlYW51cAoKMjAxNC0xMS0yNiAxNTowMjoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcnBhZC5oOgoJICBjb21wb3NpdG9yOiBJbXBsZW1lbnQgcmVzY2FsaW5nIG9mIHRoZSBpbnB1dCB2aWEgcGFkIHByb3BlcnRpZXMKCSAgY29tcG9zaXRvciBoYXMgbm93IHRoZSBzYW1lIGludGVyZmFjZSBhcyBnbHZpZGVvbWl4ZXIuCgoyMDE0LTExLTI3IDIwOjM0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENvcHkgb3ZlciBtb3JlIGZpZWxkcyBmcm9tIHRoZSByZWxldmFudCB2aWRlby1pbmZvCgkgIGdzdF92aWRlb19pbmZvX3NldF9mb3JtYXQoKSB3aWxsIHJlc2V0IHRoZSBjb21wbGV0ZSB2aWRlby1pbmZvLCBidXQKCSAgd2Ugd2FudCB0byBrZWVwIHZhbHVlcyBsaWtlIHRoZSBQQVIsIGNvbG9yaW1ldHJ5IGFuZCBjaHJvbWEgc2l0ZS4KCSAgT3RoZXJ3aXNlIHdlIHJpc2sgc2V0dGluZyBkaWZmZXJlbnQgdmFsdWVzIG9uIHRoZSBzcmNwYWQgY2FwcyB0aGFuCgkgIHdoYXQgaXMgYWN0dWFsbHkgaW5zaWRlIHRoZSBidWZmZXJzLgoKMjAxNC0xMS0yNyAyMDoyNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEaXJlY3RseSB1c2UgdGhlIGNvbnZlcnRlcnMgdmlkZW8taW5mbyBpbnN0ZWFkIG9mIHJlY2FsY3VsYXRpbmcgaXQKCjIwMTQtMTEtMjcgMTk6NTI6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gc291cmNlIHBhZCBuZWdvdGlhdGlvbiBvbmx5IGZyb20gdGhlIGFnZ3JlZ2F0ZWQgZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IG5lZ290aWF0ZSBmcm9tIHRoZSBzaW5rcGFkIHN0cmVhbWluZyB0aHJlYWRzIGF0CgkgIHRoZSBzYW1lIHRpbWUgYXMgb24gdGhlIHNyY3BhZCBzdHJlYW1pbmcgdGhyZWFkLCBhbmQgdGhlbiBhbGwga2luZHMKCSAgb2YgY3JhenkgYnVncyBoYXBwZW4gdGhhdCBkb24ndCBtYWtlIGFueSBzZW5zZSBhdCBhbGwuCgoyMDE0LTExLTI3IDE4OjQ2OjAzICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9jb252ZXJ0OiBIaWRlIGFsbCBjb252ZXJzaW9uIHJlbGF0ZWQgZmllbGRzCgkgIEFuZCBkbyBub3QgZGVsYXkgdGhlIHNldHRpbmcgb2YgdGhlIGNvbnZlcnNpb25faW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzY4CgoyMDE0LTExLTI3IDE2OjQzOjM5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvIG5vdCB0cnkgdG8gcmVzaXplIGEgYnVmZmVyIHRvIGEgbmVnYXRpdmUgc2l6ZSBvbiBFT1MKCjIwMTQtMTEtMjYgMTg6MjQ6MDUgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogRXhwb3NlIHZtZXRob2RzIHRvIHNldCBjb252ZXJ0ZXJzIGFuZCBwcmVwYXJlL2NsZWFuIGZyYW1lcwoJICBUaGlzIGdpdmVzIG1vcmUgZmxleGliaWxpdHkgdG8gdGhlIHN1YmNsYXNzZXMgYW5kIHBlcm1pdHMgdG8gcmVtb3ZlIHRoZQoJICBHc3RWaWRlb0FnZ3JlZ2F0b3JDbGFzcy0+ZGlzYWJsZV9mcmFtZV9jb252ZXJzaW9uIHVnbHkgQVBJLgoJICBXQVJOSU5HOiBUaGlzIGJyZWFrcyB0aGUgQVBJIGFzIGl0IHJlbW92ZXMgdGhlIGRpc2FibGVfZnJhbWVfY29udmVyc2lvbgoJICBmaWVsZAoJICBBUEk6CgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yQ2xhc3MtPmZpbmRfYmVzdF9mb3JtYXQKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWRDbGFzcy0+c2V0X2Zvcm1hdAoJICArIEdzdFZpZGVvQWdncmVnYXRvclBhZENsYXNzLT5wcmVwYXJlX2ZyYW1lCgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkQ2xhc3MtPmNsZWFuX2ZyYW1lCgkgIC0gR3N0VmlkZW9BZ2dyZWdhdG9yQ2xhc3MtPmRpc2FibGVfZnJhbWVfY29udmVyc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzY4CgoyMDE0LTExLTI2IDE1OjQxOjM3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogSGFuZGxlIEZMVVNISU5HIHNlZWsgZXZlbnRzIGV2ZW4gaW4gUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NTcKCjIwMTQtMTEtMjYgMTU6NDM6MTIgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBQcm9wZXJseSBoYW5kbGUgUEFVU0VEIHN0YXRlCgkgIEluIFBBVVNFRCBzdGF0ZSB3ZSBzaG91bGQganVzdCBwcmVyb2xsLCBzbyBnZXQgb25lIGJ1ZmZlcgoJICBhbmQgc3RvcCBtb25pdG9yaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzU3CgoyMDE0LTEwLTMxIDExOjAxOjQ3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTGV0IGEgZnVsbCByZW5lZ290aWF0aW9uIGhhcHBlbiBhZnRlciByZW1vdmluZyB0aGUgbGFzdCBwYWQKCSAgV2l0aCB0aGUgY3VycmVudCBjb2RlLCB3ZSB3aWxsIGVuZCB1cCBzZXR0aW5nIHRoZSBwcmVmZXJyZWQgZG93bnN0cmVhbQoJICBmb3JtYXQgYXMgdGhlIHNyY3BhZCBmb3JtYXQsIGFuZCBpdCBtaWdodCBub3QgYmUgYWNjZXB0ZWQgYnkgdGhlIG5leHQKCSAgc2lua3BhZCB0byBiZSBhZGRlZC4gV2Ugc2hvdWxkIGluc3RlYWQgbGV0IHRoZSBuZXh0IHNpbmtwYWQgcmVjb25maWd1cmUKCSAgZXZlcnl0aGluZy4KCjIwMTQtMTEtMjcgMTM6NDA6NTYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IGFkZCBxdWFsaXR5IHByb3BlcnR5CgoyMDE0LTExLTI3IDEzOjMzOjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogc2V0IHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCjIwMTQtMTEtMjcgMTg6MDk6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IFVucmVmIGJ1ZmZlciB3aXRoIHRoZSBjb3JyZWN0IGZ1bmN0aW9uCgoyMDE0LTExLTI3IDE4OjA5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBIYW5kbGUgZmFpbHVyZSBvZiBtZW1vcnkgYWxsb2NhdGlvbiBncmFjZWZ1bGx5CgoyMDE0LTExLTI3IDE4OjA0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBVc2UgZ190cnlfbWFsbG9jKCkgaW4gdGhlIGFwcHJvcHJpYXRlIHBsYWNlcwoJICBnX21hbGxvYygpIGFib3J0cyBpZiBhbGxvY2F0aW9uIGZhaWxzLCBpdCdzIHBvaW50bGVzcyB0byBjaGVjayBhZ2FpbnN0IE5VTEwKCSAgYWZ0ZXJ3YXJkcy4gVGhhdCdzIHdoeSBnX3RyeV9tYWxsb2MoKSBleGlzdHMuCgoyMDE0LTExLTI3IDE3OjExOjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMzJjZmNkIHRvIGVmMWZmZGMKCjIwMTQtMTEtMjcgMTA6NDg6NDMgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHN1cHBvcnQgUkdCMTYvQkdSMTYgdmlkZW8gZm9ybWF0IGRvd25sb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA4MDEKCjIwMTQtMTEtMjcgMTM6MDE6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogb25seSBhdHRlbXB0IGEgcmVzaXplIHdoZW4gdGhlIHdpbmRvdyBoYXMgYWxyZWFkeSByZXNpemVkCgkgIGZpeGVzIGEgYmxhY2sgc3RhcnR1cCBzY3JlZW4gb24gd2F5bGFuZAoKMjAxNC0xMS0yNyAxMTo0NzozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2wvd2F5bGFuZDogaW1wbGVtZW50IHJlc2l6aW5nIHRoZSB3aW5kb3cgdXNpbmcgdGhlIHJpZ2h0IG1vdXNlIGJ1dHRvbgoKMjAxNC0xMS0yNiAyMjowNToxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IFVzZSBuZXdlciBBWF9QVEhSRUFEIGluc3RlYWQgb2YgQUNYX1BUSFJFQUQKCjIwMTQtMTEtMjYgMTQ6MzY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgUmVtb3ZlIHVucG9ydGVkIGFuZCBvYnNvbGV0ZSBxdHdyYXBwZXIgcGx1Z2luIGNvZGUKCSAgUXVpY2tUaW1lIGlzIGRlcHJlY2F0ZWQsIHdlIHdhbnQgbmV3IHBsdWdpbnMgYmFzZWQKCSAgb24gYXZmb3VuZGF0aW9uIChvc3gpIG9yIGR4dmEvbWVkaWFmb3VuZGF0aW9uICh3aW5kb3dzKS4KCjIwMTQtMTEtMjcgMDE6Mjc6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogc3VwcG9ydCBmaXhlZCBkaW1lbnNpb25zIG9uIGJvdGggc2lkZXMgb2YgdGhlIGVsZW1lbnQKCSAgRml4ZXM6CgkgIHdpZHRoPTMyMCxoZWlnaHQ9MjQwICEgZ2xmaWx0ZXIgISB3aWR0aD04MDAsaGVpZ2h0PTYwMAoJICB3aWR0aD0yMzAsaGVpZ2h0PTI0MCAhIGdsZmlsdGVyICEgd2lkdGg9NjAwCgkgIC4uLiAhIGdsZmlsdGVyICEgd2lkdGg9ODAwCgoyMDE0LTExLTI1IDEzOjMzOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBmaXggYXV0b21hZ2ljIGRpc2FibGluZyBvZiBkZXNrdG9wIEdMCgkgIElmIGNvbmZpZ3VyZSBmaW5kcyBHTCArIEdMRVMyIGJ1dCB0aGUgdXNlciBwYXNzZXMgLS1lbmFibGUtZ2xlczIgYW5kCgkgIHRoZSB0d28gR0wgQVBJJ3MgY2Fubm90IGJlIGJ1aWx0IGFnYWluc3QgdG9nZXRoZXIsIGNvbmZpZ3VyZSB3YXMgc3RpbGwKCSAgYWxsb3dpbmcgdGhlIGRlc2t0b3AgR0wgc3RhY2sgdG8gYmUgYnVpbHQuCgoyMDE0LTExLTI2IDEzOjA2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFsc28gc3luYyBwYWQgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBjb252ZXJzaW9uIGlzIGRpc2FibGVkCgoyMDE0LTExLTI2IDEyOjM1OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkgIGNvbXBvc2l0b3I6IFJlbW92ZSB1bnVzZWQgem9yZGVyIHBhZCBwcm9wZXJ0eQoJICBJdCdzIGhhbmRsZWQgaW4gdmlkZW9hZ2dyZWdhdG9yIGFscmVhZHkuCgoyMDE0LTExLTIzIDIzOjQ5OjUwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIgKEdDQykgNC4yLjEKCSAgIndhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQKCSAgcmFuZ2Ugb2YgZGF0YSB0eXBlIgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjczCgoyMDE0LTExLTI1IDE4OjUzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBHc3RWaWRlb01ldGEgaXMgc3VwcG9ydGVkIGp1c3QgZmluZSwgdGVsbCB1cHN0cmVhbSBhYm91dCB0aGF0CgkgIEFsc28gcHJvdmlkZSBhIEdzdFZpZGVvQnVmZmVyUG9vbCB0byB1cHN0cmVhbSBqdXN0IGluIGNhc2UuCgoyMDE0LTExLTI0IDEzOjI1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZGVidWcgbWVzc2FnZSBmb3JtYXQgaXNzdWVzCgkgIEFuZCBwcmludCBsYXN0IGJpdHMgb2YgR1VJRCBwcm9wZXJseSBpbnN0ZWFkCgkgIG9mIHByaW50aW5nIG5vbnNlbnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDU1CgoyMDE0LTExLTI1IDA4OjI0OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yIChHQ0MpIDQuMi4xCgkgICJ3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkCgkgIHJhbmdlIG9mIGRhdGEgdHlwZSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDY3NAoKMjAxNC0xMS0yNCAxOTo1Mzo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgWDExCgkgIExpa2Ugd2UgZG8gaW4gLWJhc2UgYW5kIC1nb29kIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA0NwoKMjAxNC0xMS0yNCAxOToyMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBVc2UgYSBmaXhlZCBudW1iZXIgb2Ygc2xpY2VzIGJ5IGRlZmF1bHQKCjIwMTQtMTEtMjQgMTk6MTY6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIHNvbWUgbW9yZSBlbmNvZGluZyBwcm9wZXJ0aWVzCgkgIE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9Fcmljc3NvblJlc2VhcmNoL29wZW53ZWJydGMtZ3N0LXBsdWdpbnMKCSAgYmFzZWQgb24gYSBwYXRjaHNldCBieSBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBlcmljc3Nvbi5jb20+CgoyMDE0LTExLTI0IDE4OjQwOjUzICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgYnkgbW92aW5nIGRlY2xhcmF0aW9uIHdoZXJlIGl0IGlzIGFjdHVhbGx5IHVzZWQKCjIwMTQtMTEtMjQgMTQ6MDc6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciAyayBtb2RlcwoKMjAxNC0xMS0yNCAxMzo1Njo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBIRDEwODBpNTAgaXMgNTAgZnJhbWVzIHBlciBzZWNvbmQKCjIwMTQtMTEtMjQgMTc6NTg6NDIgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAxNC0xMS0yNCAxNzoxODo0NCArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBkdmJzZWN0aW9uOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDE0LTExLTI0IDE2OjU0OjQyICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHNkZXNjcmlwdG9yOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgkgIGdzdG1wZWd0c2Rlc2NyaXB0b3IuYzo3Nzg6MTY6IHdhcm5pbmc6IGZvcm1hdCBzcGVjaWZpZXMgdHlwZSAndW5zaWduZWQgbG9uZycgYnV0IHRoZSBhcmd1bWVudCBoYXMgdHlwZSAnaW50JyBbLVdmb3JtYXRdCgoyMDE0LTExLTI0IDExOjMyOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggdmFsaWQgY29tcGlsZXIgd2FybmluZwoJICBnc3RnbHVwbG9hZC5jOjQ0MjozMjogZXJyb3I6IGlmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keSBbLVdlcnJvciwtV2VtcHR5LWJvZHldCgkgIGlmICh1cGxvYWQtPnRleHR1cmVfaWRzW2ldKTsKCSAgXgoKMjAxNC0xMS0yNCAxMDo0MzoyMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBzaGlwIHRoZSBnc3RnbGNvbnRleHRfZWdsLmggaGVhZGVyCgkgIEl0IGlzIHJlcXVpcmVkIGJ5IGdzdGVnbGltYWdlbWVtb3J5LmguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MTEKCjIwMTQtMTEtMjMgMjE6NDM6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2w6IHNoYWRlcnZhcmlhYmxlczogbWFrZSBwYXJzaW5nIG9mIGZsb2F0cyBsb2NhbGUtaW5kZXBlbmRlbnQKCSAgRmxvYXRpbmcgcG9pbnQgbnVtYmVycyBhcmUgd3JpdHRlbiBkaWZmZXJlbnRseSBpbiBkaWZmZXJlbnQKCSAgbG9jYWxlcywgZS5nLiBpbiBtYW55IGNvdW50cmllcyAxLzIgPSAwLDUgaW5zdGVhZCBvZiAwLjUsIGFuZAoJICBzdHJ0b2Qgd2lsbCBub3QgYmUgYWJsZSB0byBwYXJzZSAiMC41IiBjb3JyZWN0bHkgaW4gc3VjaCBhCgkgIGxvY2FsZS4KCjIwMTQtMTEtMjQgMDI6NTI6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbHNoYWRlcnZhcmlhYmxlczogYWxzbyB0cmltIFxyIGFzIHdlbGwgYXMgXG4KCjIwMTQtMTEtMDUgMjA6MTg6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZWFyY2hpdGVjdHVyZSBmb3Igbm9uIEdMTWVtb3J5IGlucHV0cy9vdXRwdXRzCgkgIEFsbG93cyBvdGhlciBtZW1vcnkgdHlwZXMgdG8gYmUgaW1wbGVtZW50ZWQvcmV0dXJuZWQvdXNlZCBieSB0aGUgY2FsbGVyLgoKMjAxNC0xMS0xNCAxMDo1NToxNCArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWw4Ni5sZWVAbGdlLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogc2VuZCBTRUVLSU5HIHF1ZXJ5IHVwc3RyZWFtIGZpcnN0CgkgIFNvbWV0aW1lcyByYXdwYXJzZSBkb2VzIG5vdCBoYW5kbGUgdGhlIHNlZWtpbmcgcXVlcnkKCSAgcHJvcGVybHksIHRoZSByYXdwYXJzZSBzaG91bGQgc2VuZCB0aGUgcXVlcnkgdXBzdHJlYW0KCSAgZmlyc3QuIEZvciBleGFtcGxlLCB1cHN0cmVhbSBjb3VsZCBzdXBwb3J0IHNlZWtpbmcgaW4KCSAgVElNRSBmb3JtYXQgKGJ1dCBub3QgaW4gQllURSBmb3JtYXQpLCBzbyB0aGUgQllURSBmb3JtYXQKCSAgc2Vla2luZyBxdWVyeSB0aGF0IHJhd3BhcnNlIHNlbmRzIGluIHB1c2ggbW9kZSB3b3VsZAoJICBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzY0CgoyMDE0LTExLTIxIDE1OjQ2OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBsZXQgVlQgcGljayB0aGUgYml0cmF0ZSBieSBkZWZhdWx0CgoyMDE0LTExLTIwIDEwOjIzOjMwIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogZml4IHJ0cC9ydGNwIHNpbmsgZXZlbnQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQ1MQoKMjAxNC0xMS0yMCAxNjowNDozNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogc2V0IEgyNjRfQmFzZWxpbmVfQXV0b0xldmVsIG9uIE9TWCBhcyB3ZWxsCgoyMDE0LTExLTIwIDE1OjUwOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBkaXNhYmxlIHRoZSByZW9yZGVyIHF1ZXVlIGZvciBiYXNlbGluZSBzdHJlYW1zCgoyMDE0LTExLTIwIDA5OjQxOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBkaXZpZGUgYnkgemVybyBpbiB0aGUgcGljdHVyZSBidWZmZXIgbGVuZ3RoIGNhbGN1bGF0aW9uCgoyMDE0LTExLTIwIDA5OjEzOjU4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY3JpdGljYWwgZXJyb3Igd2hpbGUgc2VlayBwbGF5YmFjay10ZXN0KHN0b3Agc3RhdGUpCgkgIElmIHdlIHNlZWsgd2hlbiBtZWRpYSBpcyBpbiBzdG9wIHN0YXRlLCBwbGF5YmFjay10ZXN0IGdpdmVzCgkgIGNyaXRpY2FsIGVycm9yLCBzaW5jZSBjb250ZXh0IG9mIGdsaW1hZ2VzaW5rIGlzIGRlc3Ryb3llZCBkdXJpbmcgc3RvcC4KCSAgQnV0IHNpbmNlIGNvbnRleHQgaXMgbm90IHByZXNlbnQsIHdlIG5lZWQgbm90IGhhbmRsZSBzZW5kX2V2ZW50IGluIGdsaW1hZ2VzaW5rCgkgIEhlbmNlIGFkZGluZyBhIGNvbmRpdGlvbiB0byBjaGVjayBpZiBjb250ZXh0IGlzIHZhbGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzA1CgoyMDE0LTExLTE5IDE3OjE3OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbmJsb2NrIGV2ZW50cy9xdWVyaWVzIGltbWVkaWF0ZWx5IGlmIHRoZSBwYWQgaXMgZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzoxNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRHJvcCBzZXJpYWxpemVkIGV2ZW50cy9xdWVyaWVzIGlmIHRoZSBwYWQgaXMgZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzowMzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQmxvY2sgc2VyaWFsaXplZCBldmVudHMvcXVlcmllcyB1bnRpbCB0aGUgcGFkIGhhcyBjb25zdW1lZCBhbGwgYnVmZmVycwoJICBPdGhlcndpc2UgdGhlIGNhcHMgb2YgdGhlIHBhZCBtaWdodCBjaGFuZ2Ugd2hpbGUgdGhlIHN1YmNsYXNzIHN0aWxsIHdvcmtzIHdpdGgKCSAgYSBidWZmZXIgb2YgdGhlIG9sZCBjYXBzLCBhc3N1bWluZyB0aGUgdGhlIGN1cnJlbnQgcGFkIGNhcHMgYXBwbHkgdG8gdGhhdAoJICBidWZmZXIuIFdoaWNoIHRoZW4gbGVhZHMgdG8gY3Jhc2hlcyBhbmQgb3RoZXIgbmljZSBlZmZlY3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjAyOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IG91dHB1dCAwLWR1cmF0aW9uIGJ1ZmZlcnMgYXQgdGhlIHNlZ21lbnQgZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MDM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCB0eXBvIGluIGRlYnVnIG91dHB1dAoKMjAxNC0xMS0xNyAxNDowNTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCB1cCBRb1MgaGFuZGxpbmcgZm9yIGxpdmUgc291cmNlcwoJICBPbmx5IGF0dGVtcHQgYWRhcHRpdmUgZHJvcCB3aGVuIHdlIGFyZSBub3QgbGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTE3IDE0OjAwOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIF9nZXRfbGF0ZW5jeSgpIGZvciBzdWJjbGFzcyB1c2FnZQoJICBBUEk6IGdzdF9hZ2dyZWdhdG9yX2dldF9sYXRlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTYKCjIwMTQtMTEtMTcgMDk6MzY6NTIgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGJ1aWxkIGVycm9ycyB3aGVuIEdTVF9HTF9IQVZFX09QRU5HTCBpcyAwCgkgIE1vdmluZyB2YXJpYWJsZXMgd2l0aGluICNpZiBHU1RfR0xfSEFWRV9PUEVOR0wsIHdoaWNoIGFyZSBub3QgZ29pbmcgdG8gYmUgdXNlZCBvdGhlcndpc2UuCgkgIGFuZCB3aGljaCBhcmUgbmVlZGVkIG9ubHkgd2hlbiBPcGVuR2wgaXMgcHJlc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM1CgoyMDE0LTExLTE3IDExOjEwOjM1ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiByZWxpY2Vuc2Ugb3BlbmN2IGdzdGhhbmRkZXRlY3RfdGVzdCB0byBMR1BMdjIrCgkgIFRoZSBHUEwzIGxpY2Vuc2UgaGVhZGVyIHdhcyBjb3B5J24ncGFzdGVkIGZyb20gYQoJICBuZWlnaGJvdXJpbmcgc291cmNlIGZpbGUgYnkgbWlzdGFrZSwgdGhlIG9yaWdpbmFsCgkgIGNvZGUgd2FzIG5vdCBHUEwzIGxpY2Vuc2VkLCBidXQgZmVsbCB1bmRlciB0aGUKCSAgZGVmYXVsdCBHU3RyZWFtZXIgbGljZW5zZSwgd2hpY2ggaXMgTEdQTHYyKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxNC0xMS0xNyAxODo1MDoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBhZGQgcmVhZC1vbmx5IGNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTEtMTcgMTg6NTA6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGFkZCByZWFkLW9ubHkgY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMS0xMSAxNzowODoyNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb25pc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICBvcGVuY3YtZXhhbXBsZTogVXNlIGdfc25wcmludGYgaW5zdGVhZCBvZiBzcHJpbnRmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NDYKCjIwMTQtMTEtMTYgMjA6MzI6NTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgZXhwbGljaXQgY29tcGFyaXNvbnMgYWdhaW5zdCAwIGZvciB0cnVlL2ZhbHNlCgoyMDE0LTExLTE2IDExOjAwOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBPbmx5IHVzZSBjb252ZXJ0UmVjdFRvQmFja2luZyBvbiBPU1ggPj0gMTAuNwoJICBJdCBkb2VzIG5vdCBleGlzdCBiZWZvcmUgYW5kIG9sZGVyIHZlcnNpb25zIGFsc28gZG9uJ3QgaGF2ZQoJICBzdXBwb3J0IGZvciBIaURQSSBkaXNwbGF5cyBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMDEKCjIwMTQtMTEtMTYgMTA6NTc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogVXNlIG51bWVyaWMgT1NYIHZlcnNpb24gaW5zdGVhZCBvZiB0aGUgbWFjcm8KCSAgVGhlIG1hY3JvIGlzIG5vdCBkZWZpbmVkIG9uIG9sZGVyIE9TWCB2ZXJzaW9ucyBhbmQgZXZhbHVhdGVzIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMDEKCjIwMTQtMTEtMTUgMjE6NTk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IHBvc3NpYmxlIGNyYXNoIGJ5IHBhc3NpbmcgNjQgYml0cyBmb3IgNjQtYml0IHF1ZXVlIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTEKCjIwMTQtMTEtMTQgMTA6NDA6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uCgoyMDE0LTExLTEwIDEwOjAxOjI0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGdiLmRldmVsQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBkZXJpdmF0aW9uIG9mIE1heFBpY051bSB2YXJpYWJsZS4KCSAgVGhlIGxvZ2ljIHRvIGNvbXB1dGUgdGhlIE1heFBpY051bSB2YXJpYWJsZSB3YXMgcmV2ZXJzZWQuIEluIHBhcmljdWxhciwKCSAgTWF4UGljTnVtIGlzIGRvdWJsZSBNYXhGcmFtZU51bSBvbmx5IGlmIGZpZWxkX3BpY19mbGFnIGlzIHNldCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MjkxCgoyMDE0LTExLTEzIDEyOjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBEb24ndCBvdmVycmlkZSB0aGUgYXBwbGljYXRpb24gZGVsZWdhdGUKCSAgT3RoZXJ3aXNlIGludGVyZXN0aW5nIHRoaW5ncyB3aWxsIGhhcHBlbiBpbiBDb2NvYSBhcHBsaWNhdGlvbnMsIGxpa2UKCSAgaW5maW5pdGUgZXZlbnQgbG9vcHMgdGhhdCBibG9jayB0aGUgTlNBcHBsaWNhdGlvbiBsb29wIGZvcmV2ZXIuCgkgIFRoaXMgd2FzIG9ubHkgbmVlZGVkIGZvciBHTlVTdGVwIGFuZCB0aHVzIGNhbiBzYWZlbHkgYmUgcmVtb3ZlZCBub3cuCgoyMDE0LTExLTEzIDExOjU4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2wvY29jb2E6IFJlbW92ZSBHTlVTdGVwIHN1cHBvcnQKCSAgVW50aWwgZ2NjIGFuZCBHTlVTdGVwIHByb3Blcmx5IHN1cHBvcnQgT2JqZWN0aXZlLUMgYmxvY2tzIGFuZCBvdGhlcgoJICAibmV3IiBmZWF0dXJlcyBvZiBPYmplY3RpdmUtQyB3ZSBjYW4ndCBwcm9wZXJseSBzdXBwb3J0IHRoZW0gd2l0aG91dAoJICBtYWtpbmcgdGhlIGNvZGUgbXVjaCBtb3JlIHVnbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkxNTIKCjIwMTQtMTEtMTIgMTg6MDY6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkgIGludGVyYXVkaW9zaW5rOiBNYWtlIHN1cmUgdG8gc3RvcmUgYXQgbGVhc3QgcGVyaW9kLXRpbWUgc2FtcGxlcyBhdCBvbmNlIGluIHRoZSBhZGFwdGVyCgkgIEl0J3MgYmV0dGVyIHRvIGNyZWF0ZSBzb21lIG1vcmUgc2lsZW5jZSB0aGFuIGhhdmluZyB0aGUgc291cmNlIHB1bGwgbXVsdGlwbGUKCSAgc2hvcnQgYnVmZmVycyBvdXQgb2YgdGhlIGFkYXB0ZXIgYW5kIGluc2VydCBzaWxlbmNlIGJldHdlZW4gdGhlbS4KCjIwMTQtMTEtMTIgMTY6NDU6MTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBidWlsZCBvbiBpT1MKCjIwMTQtMTEtMTIgMTU6MzU6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjogc2V0IC0+cGl4ZWxfYnVmIGZvciBDVlBpeGVsQnVmZmVyIGJ1ZmZlcnMKCSAgRml4IGEgYnVnIGZvciB3aGljaCB3ZSBuZXZlciBhY3R1YWxseSBzZXQgLT5waXhlbF9idWYgdG8gbm9uLU5VTEwgZm9yCgkgIENWUGl4ZWxCdWZmZXIgYnVmZmVycy4KCjIwMTQtMDYtMDYgMTM6NTc6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgdXNpbmcgdGhlIGFwcHJvcHJpYXRlIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDM4CgoyMDE0LTExLTEyIDEzOjU4OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogU3RvcCBzaG93aW5nIHRoZSBjdXJyZW50IGZyYW1lIGFmdGVyIDEgc2Vjb25kLCBub3QgYWZ0ZXIgMzAgZnJhbWVzCgoyMDE0LTExLTEyIDA5OjQxOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIENGTEFHUyBhbmQgTEFERCBmb3IgZ2xpbWFnZXNpbmsgdW5pdCB0ZXN0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTIgMTE6NTI6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIG5ldyBlbmFibGUtZnJhbWUtc2tpcCBwcm9wZXJ0eSBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CgkgIE90aGVyd2lzZSBlLmcuIHZpZGVvdGVzdHNyYyAhIG9wZW5oMjY0ZW5jICEgLi4uIHdpbGwgZHJvcCBldmVyeSBzZWNvbmQgZnJhbWUKCSAgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHRhcmdldCBiaXRyYXRlIGNhbid0IGJlIHJlYWNoZWQgd2l0aG91dCBsb29zaW5nIHRvbwoJICBtdWNoIHF1YWxpdHkuCgoyMDE0LTExLTEyIDA5OjU5OjUzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggY29tcGlsYXRpb24gb24gPCAxMC45CgoyMDE0LTExLTEyIDExOjQ0OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IHNldCB0aGUgdXBsb2FkIHRvIE5VTEwgb24gdGhlIGRyYWluIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTEgMTc6MDQ6NDggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uaXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBDb3JyZWN0IGludmFsaWQgY29tbWVudCB0ZXh0CgoyMDE0LTExLTExIDIzOjU0OjQ0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBnbDogYWRkIHVuaXQgdGVzdCB0aGF0IGNoZWNrcyBmb3IgZ2xpbWFnZXNpbmsgZHJhaW4gcXVlcnkgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMSAyMzo0OTo1OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlbGVhc2Ugc3RvcmVkIGJ1ZmZlcnMgb24gZHJhaW4gcXVlcnkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMSAyMzo0Mzo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IGRvIG5vdCByYWlzZSBhIGNyaXRpY2FsIG1zZyBpZiB0aGUgYmFja2VuZCBkb2VzIG5vdCBoYW5kbGUgd2luZG93IGV2ZW50cwoJICBGaXggImFzc2VydGlvbiAnd2luZG93X2NsYXNzLT5oYW5kbGVfZXZlbnRzICE9IE5VTEwnIGZhaWxlZCIKCSAgaWYgbm90IHVzaW5nIGEgWDExIHdpbmRvdy4KCjIwMTQtMTEtMTEgMTg6MDE6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGVuYWJsZSB0aGUgaHcgZW5jb2RlciBvbiBPU1gKCjIwMTQtMTEtMTEgMTI6MDA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBDaGVjayB0aGUgY29ycmVjdCB2YXJpYWJsZSBmb3IgZmFpbHVyZQoJICBJZiB3ZSBjYW4ndCBnZXQgYW4gb3V0cHV0LCB3ZSB3b3VsZCBvdGhlcndpc2UganVzdCB1c2UgaXQgbGF0ZXIgYW5kIGNyYXNoLgoKMjAxNC0xMS0xMSAxMToxODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IE1ha2Ugc3VyZSB3ZSBoYXZlIGEgd3JpdGFibGUgYnVmZmVyIGJlZm9yZSB3ZSBzdGFydCBjaGFuZ2luZyBtZXRhZGF0YQoKMjAxNC0xMS0xMSAxMToxNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IFNldCB0aGUgR0FQIGZsYWcgb24gcmVwZWF0ZWQgYnVmZmVycwoJICB2aWRlb3JhdGUgZG9lcyB0aGUgc2FtZSBhbmQgaXQgYWxsb3dzIG9wdGltaXphdGlvbnMgZG93bnN0cmVhbS4KCjIwMTQtMTEtMTEgMTE6MTI6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBTZXQgdGhlIEdBUCBmbGFnIG9uIGJ1ZmZlcnMgdGhhdCBvbmx5IGNvbnRhaW4gc2lsZW5jZQoKMjAxNC0xMS0xMSAxNDoyMzo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiByZW1vdmUgdGhlIHdpZHRoL2hlaWdodCBmaWVsZHMgZnJvbSB0aGUgY2FwcyB0byBzdXBwb3J0IGZyYW1lIHJlc2l6aW5nCgkgIEl0IHdhcyBwcmV2aW91c2x5IG9ubHkgb2NjdXJpbmcgd2l0aCBzeXNtZW0gY2FwcyBmZWF0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzM0CgoyMDE0LTExLTEwIDE3OjQyOjIwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBmaXggR3N0SDI2NFBhcnNlclJlc3VsdCBkb2N1bWVudGF0aW9uIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTkwNgoKMjAxNC0xMS0xMCAxNjowMToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBBZGQgeDI2NWVuYyB1bml0IHRlc3QgdG8gLmdpdGlnbm9yZQoKMjAxNC0xMS0wOSAyMDo1MzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IG9wdGltaXNlIHJlYWRpbmcgb2YgcG5nIGZpbGVzCgkgIFJlYWQgUE5HIGRhdGEgY2h1bmsgaW4gb25lIGdvIGJ5IGxldHRpbmcgdGhlIHBhcnNlcgoJICBiYXNlIGNsYXNzIGtub3cgdGhlIHNpemUgd2UgbmVlZCwgc28gdGhhdCBpdCBkb2Vzbid0CgkgIGRyaXAtZmVlZCB1cyBzbWFsbCBjaHVua3Mgb2YgZGF0YSAoY2F1c2luZyBhIGxvdCBvZgoJICByZWFsbG9jcyBhbmQgbWVtY3B5IGluIHRoZSBwcm9jZXNzKSB1bnRpbCB3ZSBoYXZlCgkgIGV2ZXJ5dGhpbmcuCgkgIEltcHJvdmVzIHBhcnNpbmcgcGVyZm9ybWFuY2Ugb2YgdmVyeSBsYXJnZSBQTkcgZmlsZXMKCSAgKDY1TUIpIGZyb20gfjEzIHNlY29uZHMgdG8gYSBjb3VwbGUgb2YgbWlsbGlzZWNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTc2CgoyMDE0LTExLTA5IDE5OjIzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzbXV4L21wdHNfdGVzdDIuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBwb2ludGxlc3MgbXBlZ3RzbXV4IGV4YW1wbGUKCSAgU2VydmVzIG5vIHB1cnBvc2UsIGlzIG5vdCBldmVuIGhvb2tlZCB1cCB0byB0aGUKCSAgYnVpbGQgc3lzdGVtLCBoYXMgaGFyZCBjb2RlZCBmaWxlIG5hbWVzIGFuZCBwYXRocywKCSAgYW5kIGNhbiBlYXNpbHkgYmUgcmVwbGFjZWQgd2l0aCBhIGdzdC1sYXVuY2ggbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg0NAoKMjAxNC0xMS0wOSAxMDoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBEb24ndCBwcmV0ZW5kIHRvIHN1cHBvcnQgcmVjb25maWd1cmF0aW9uCgkgIFdlIHdpbGwgcnVuIGludG8gYW4gYXNzZXJ0aW9uIGluIHNldF9jYXBzKCkgaWYgd2UgdHJ5IHRvIGNoYW5nZQoJICBjYXBzIHdoaWxlIHRoZSBzb3VyY2UgaXMgYWxyZWFkeSBydW5uaW5nLiBEb24ndCB0cnkgdG8gZmluZCBuZXcKCSAgY2FwcyBpbiBHc3RCYXNlU3JjOjpuZWdvdGlhdGUoKSB0byBwcmV2ZW50IGNhcHMgY2hhbmdlcy4KCjIwMTQtMTAtMDkgMTM6MTE6NDggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBzZXQgc2VxX2xheWVyX3NlbnQgdG8gRkFMU0Ugb24gcmVzZXQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTEwLTA5IDEzOjAzOjU2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBpbXBsZW1lbnQgYXNmIHRvICotZnJhbWUtbGF5ZXIgc3RyZWFtLWZvcm1hdAoJICBUaGlzIGNvbW1pdCBhZGQgYW4gaGVscGVyIHRvIGNvbnZlcnQgYSBmcmFtZSB0byBmcmFtZS1sYXllciBmb3JtYXQgYW5kCgkgIHVzZSBpdCB0byBpbXBsZW1lbnQgdGhlc2UgdHdvIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbjoKCSAgLSBhc2YgLS0+IHNlcXVlbmNlLWxheWVyLWZyYW1lLWxheWVyCgkgIC0gYXNmIC0tPiBmcmFtZS1sYXllcgoJICBJbiBzaW1wbGUvbWFpbiBwcm9maWxlLCB3ZSBiYXNpY2FsbHkgaGF2ZSBhIHJhdyBmcmFtZSwgc28gYnVpbGRpbmcgYQoJICBmcmFtZSBsYXllciBpc24ndCB0b28gY29tcGxpY2F0ZWQuIEJ1dCBpbiBhZHZhbmNlZCBwcm9maWxlLCB0aGUgZmlyc3QKCSAgZnJhbWUtbGF5ZXIgc2hvdWxkIGNvbnRhaW4gc2VxdWVuY2UtaGVhZGVyLCBlbnRyeXBvaW50LCBhbmQgZnJhbWUgYW5kCgkgIGVhY2gga2V5ZnJhbWUgc2hvdWxkIGNvbnRhaW4gZW50cnlwb2ludCwgc28gd2UgaGF2ZSB0byBoYW5kbGUgdGhlc2UKCSAgY2FyZWZ1bGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTEwLTA5IDEwOjM4OjQwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogY2hlY2sgb3V0cHV0IGZvcm1hdCBhdCBuZWdvdGlhdGlvbiB0aW1lCgkgIEFkZCBhbiBoZWxwZXIgdG8gY2hlY2sgdGhhdCBvdXRwdXQgc3RyZWFtLWZvcm1hdCBpcyBjb2hlcmVudCB3aXRoCgkgIHByb2ZpbGUgYW5kIGhlYWRlci1mb3JtYXQuIEl0IGFsc28gY2hlY2sgaWYgd2Uga25vdyBob3cgdG8gZG8gdGhlCgkgIGNvbnZlcnNpb24gaWYgdGhlIGlucHV0IHN0cmVhbS1mb3JtYXQgZGlmZmVycyBmcm9tIHNlbGVjdGVkCgkgIG91dHB1dC1mb3JtYXQuCgkgIFNvLCBpbiBjYXNlIG91dHB1dCBzdHJlYW0tZm9ybWF0IGlzIG5vdCBhbGxvd2VkLCBpdCB3aWxsIG5vdyBmYWlsIGF0CgkgIG5lZ290aWF0aW9uIHJhdGhlciB0aGFuIGluIHByZV9wdXNoX2ZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTMwIDE1OjM1OjM4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgYXNmIHJlbGF0ZWQgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9ucwoJICBUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIGFuIGhlbHBlciB0byBjb252ZXJ0IGFuIEFTRiBmcmFtZSB0byBCRFVzIGZvcm1hdCB3aXRoCgkgIHN0YXJ0Y29kZXMgYW5kIHVzZSB0aGlzIGhlbHBlciB0byBpbXBsZW1lbnRzIGZvbGxvd2luZyBzdHJlYW0tZm9ybWF0CgkgIGNvbnZlcnNpb25zOgoJICAtIGFzZiAtLT4gYmR1CgkgIC0gYXNmIC0tPiBzZXF1ZW5jZS1sYXllci1iZHUKCSAgLSBhc2YgLS0+IHNlcXVlbmNlLWxheWVyLXJhdy1mcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTMwIDE1OjI4OjU1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBzaW1wbGUgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uCgkgIEl0IGFkZCB0aGUgc3VwcG9ydCBvZiBmb2xsb3dpbmcgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uOgoJICAtIGJkdSAtLT4gc2VxdWVuY2UtbGF5ZXItYmR1CgkgIC0gYmR1LWZyYW1lIC0tPiBzZXF1ZW5jZS1sYXllci1iZHUtZnJhbWUKCSAgLSBmcmFtZS1sYXllciAtLT4gc2VxdWVuY2UtbGF5ZXItZnJhbWUtbGF5ZXIKCSAgRm9yIHRoZXNlIGNvbnZlcnNpb24sIHRoZSBvbmx5IHJlcXVpcmVtZW50cyBpcyB0byBwdXNoIGEgc2VxdWVuY2UtbGF5ZXIKCSAgYnVmZmVyIHByaW9yIHRvIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMzAgMTQ6NTM6MjUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBwcmVwYXJlIHRoZSBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gY29kZSBhbmQgYWRkIHRoZSBzaW1wbGVzdCBvbmVzCgkgIEl0IHByZXBhcmVzIHRoZSB0ZW1wbGF0ZSBmb3Igc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uIGFuZCBpdCBpbXBsZW1lbnRzCgkgIHRoZSBmb2xsb3dpbmcgY29udmVyc2lvbjoKCSAgLSBzZXF1ZW5jZS1sYXllci1iZHUgLS0+IGJkdQoJICAtIHNlcXVlbmNlLWxheWVyLWJkdS1mcmFtZSAtLT4gYmR1LWZyYW1lCgkgIC0gc2VxdWVuY2UtbGF5ZXItZnJhbWUtbGF5ZXIgLS0+IGZyYW1lLWxheWVyCgkgIFdvcmsgaXMgZG9uZSBpbiB0aGUgcHJlX3B1c2hfZnJhbWUoKSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMDUgMTc6NTc6NDcgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkbyBub3Qgb3ZlcnJpZGUgbGFzdCBrbm93biBzdHJlYW0gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjE0MQoKMjAxNC0xMS0wNyAxOTozMDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHNlZWtzIGluIHRoZSBtYW5pZmVzdCBuZXZlciBmYWlsCgkgIFNldCB2b2lkIGFzIHRoZSByZXR1cm4gYW5kIHJlbW92ZSBlcnJvciBoYW5kbGluZyBhcyBpdCBjb3VsZAoJICBuZXZlciBmYWlsCgoyMDE0LTExLTA3IDE5OjE2OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtYWtlIHN1cmUgZmx1c2hlcyBoYXZlIHRoZSBzYW1lIHNlcW51bSBhcyB0aGUgc2VlayBldmVudAoJICBUaGV5IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIG9wZXJhdGlvbiBhbmQgc2hvdWxkIHByZXNlcnZlIHRoZSBzZXFudW0KCjIwMTQtMTEtMDcgMTk6MDk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNpbXBsaWZ5IHNlZWsgdG8gZW9zIGhhbmRsaW5nCgkgIFJlbW92ZSByZWR1bmRhbnQgZmx1c2ggc3RvcCBwdXNoaW5nIGFuZCByZW1vdmUgYSBnb3RvIHRvIG1ha2UKCSAgdGhlIGNvZGUgZmxvdyBzaW1wbGVyCgoyMDE0LTA5LTE3IDE1OjIyOjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBtaXNzaW5nIEZMVVNIX1NUT1AvRU9TIHdoZW4gbm8gc2Vla2luZyBwZXJpb2QgaXMgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjgwMAoKMjAxNC0xMS0wNyAxNTo1MDo1MSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBzZXQgdGhlIEhFQURFUiBmbGFnIG9uIGJ1ZmZlcnMgY29udGFpbmluZyBTUFMgb3IgUFBTCgoyMDE0LTExLTA3IDE1OjQxOjE1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJICBoMjY1cGFyc2U6IHNldCB0aGUgSEVBREVSIGZsYWcgb24gYnVmZmVycyBjb250YWluaW5nIFZQUywgU1BTIG9yIFBQUwoKMjAxNC0xMS0wNyAxMTo0MTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgZ3N0Z2xjb25maWc6IFB1dCBnc3RnbGNvbmZpZy5oIGludG8gJChsaWJkaXIpL2dzdHJlYW1lci0xLjAvaW5jbHVkZQoJICBJdCdzIGFyY2hpdGVjdHVyZSBkZXBlbmRlbnQgYW5kIHNob3VsZCBub3QgYmUgcGxhY2VkIGludG8gdGhlIGluY2x1ZGUKCSAgZGlyZWN0b3J5IGFzIHRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgYWxsIHRob3NlIGhlYWRlcnMgYXJlIGFyY2hpdGVjdHVyZQoJICBpbmRlcGVuZGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc2NwoKMjAxNC0xMS0wNyAwMDoxNjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBpbml0aWFsaXNlIG5ldyBHc3RIMjY0TmFsVW5pdCBmaWVsZHMKCSAgQ0lEICMxMjUxMTA3LgoKMjAxNC0xMS0wNiAyMzo1ODowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IG1ha2UgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzIGNhbGwgX2Vuc3VyZV9nbF9zZXR1cAoJICBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBvdmVybGF5IGludGVyZmFjZSBhbmQgZnJvbQoJICB0aGUgbWFpbiB0aHJlYWQgYmVmb3JlIEdMIGlzIHNldHVwLiBCZWZvcmUgdGhpcyBjaGFuZ2UsIHRoYXQgd291bGQgY2FsbAoJICBfZW5zdXJlX2dsX3NldHVwKCkgYW5kIGRlYWRsb2NrIG9uIE9TWC4KCSAgQ2hhbmdlIHRoaW5ncyBzbyB0aGF0IGl0J3MgYWx3YXlzIHNhZmUgdG8gY2FsbCBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMoKQoJICB3aXRob3V0IHN0dWZmIGRlYWRsb2NraW5nLgoKMjAxNC0xMS0wNiAyMzo1NToyMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBwb3NzaWJsZSBkZWFkbG9jayBvbiBvc3gKCSAgUmVtb3ZlIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cyBjYWxsIGluIGdzdF9nbGltYWdlX3NpbmtfaW5pdC4gSXQgd2FzCgkgIHVubmVjZXNzYXJ5IGFuZCB3aGVuIHRoZSBlbGVtZW50IHdhcyBpbnN0YW50aWF0ZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQsIGNhdXNlZCBhCgkgIGRlYWRsb2NrIGluIE9TWCBjcmVhdGluZyB0aGUgY29udGV4dCAodGhyZWFkKS4KCjIwMTQtMTEtMDYgMTM6MjI6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IGFkZCByZWFsdGltZSBhbmQgYWxsb3ctZnJhbWUtcmVvcmRlcmluZyBwcm9wZXJ0aWVzCgoyMDE0LTExLTA3IDEwOjAxOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNsYW1wIHRoZSByZXNpemUgd2lkdGgvaGVpZ2h0IHRvID49IDEgdG8gYXZvaWQgYSBHTCBlcnJvcgoKMjAxNC0xMS0wNiAxNzozNjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IFByaW50IGEgd2FybmluZyBpbnRvIHRoZSBkZWJ1ZyBsb2cgb24gZ2VuZXJhdGluZyBibGFjayBmcmFtZXMKCjIwMTQtMTEtMDYgMTc6MjE6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXJ2aWRlb3Npbms6IEFkZCBzb21lIGRlYnVnIG91dHB1dCBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uCgoyMDE0LTExLTA2IDExOjUzOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBkb24ndCB1bm5lY2VzYXJpbHkgc2V0IHNyY19jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNzQKCjIwMTQtMTAtMjkgMjI6NTU6NDcgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IHVubmVjZXNhcmlseSBzZXQgc3JjX2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM3NAoKMjAxNC0xMS0wNiAxODo0MzowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2x1dGlsczogb25seSBhdHRlbXB0IGdldHRpbmcgdGhlIGFwcCBjb250ZXh0IHdoZW4gd2UgZG9uJ3QgYWxyZWFkeSBoYXZlIGEgZGlzcGxheQoJICBhdm9pZHMgcXVlcnlpbmcvbWVzc2FnaW5nIHRoZSB3b3JsZCBvbiBlYWNoIGZyYW1lCgoyMDE0LTExLTA2IDE4OjM3OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZmFpbCBjb250ZXh0IGNyZWF0aW9uIGlmIGdsR2V0U3RyaW5nIHJldHVybnMgTlVMTAoKMjAxNC0xMC0yOSAxMjoyNDoxNiArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgZ3N0X3ZpZGVvX292ZXJsYXlfaGFuZGxlX2V2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDM1CgoyMDE0LTExLTA0IDE1OjE2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHZhcmlhYmxlcwoJICBnc3RpbnRlcmF1ZGlvc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfaW50ZXJfYXVkaW9fc3JjX2NyZWF0ZSc6CgkgIGdzdGludGVyYXVkaW9zcmMuYzozMzk6Mjc6IGVycm9yOiB2YXJpYWJsZSAnYnVmZmVyX3NhbXBsZXMnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCgkgIGd1aW50NjQgcGVyaW9kX3NhbXBsZXMsIGJ1ZmZlcl9zYW1wbGVzOwoJICBeCgoyMDE0LTExLTA0IDE0OjU2OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcmF1ZGlvOiBNYWtlIGJ1ZmZlciBzaXplIGFuZCBsYXRlbmN5IGhhbmRsaW5nIG1vcmUgZXhwbGljaXQgYW5kIGFkZCBwcm9wZXJ0aWVzIGZvciB0aGVtCgkgIFRoaXMgbm93IG1ha2VzIGF1ZGlvIHdvcmsgbW9yZSByZWxpYWJsZSB3aXRob3V0IGRpc2NvbnRzLgoKMjAxNC0xMS0wNCAxMzo1OToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogVXNlIHRoZSBicGYgZnJvbSB0aGUgYXVkaW8gaW5mbyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgNAoKMjAxNC0xMS0wNCAxMzo1ODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IE9ubHkgZmx1c2ggdGhlIHJpbmdidWZmZXIgb24gdGhlIHNpbmsgc2lkZQoKMjAxNC0xMS0wNCAxMzo0Njo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogRmx1c2ggdGhlIGFkYXB0ZXIgd2hlbiB3ZSBnZXQgbmV3IGNhcHMKCSAgSWRlYWxseSB3ZSB3b3VsZCBkcmFpbiB0aGUgc291cmNlIGJ1dCB0aGF0IHdvdWxkIHJlcXVpcmUgbW9yZSBjb29yZGluYXRpb24KCSAgYmV0d2VlbiBzaW5rIGFuZCBzb3VyY2UgdGhhbiB3aGF0IHdlIGN1cnJlbnRseSBoYXZlLgoKMjAxNC0xMS0wNCAwOTo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvY29jb2E6IGluY2x1ZGUgZ2wzLmggaW4gY29uZmlndXJlIHRvbyBmb3IgY29uc2lzdGVuY3kgd2l0aCBnc3RnbGFwaS5oCgoyMDE0LTExLTAzIDIwOjQ1OjAzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBZGQgZG9jIGZvciB0aGUgaWdub3JlZCB1c2VyLWRhdGEgaW4gYWN0aW9uIHNpZ25hbHMKCjIwMTQtMTEtMDMgMjM6MjQ6MzMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiB1c2UgTlNBdXRvcmVsZWFzZVBvb2wgdG8gZnJlZSByZXNpemUgZGF0YQoJICBPdGhlcndpc2Ugd2hlbiByZXNpemluZyB0aGUgd2luZG93IHlvdSB3aWxsIGFsc28gZ2V0IG1lc3NhZ2VzIGxpa2U6CgkgIGNsYXNzIE5TQ29uY3JldGVNYXBUYWJsZSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgkgIGNsYXNzIE5TQ29uY3JldGVWYWx1ZSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgkgIGNsYXNzIE5TQ29uY3JldGVWYWx1ZSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgkgIGNsYXNzIF9fTlNDRkRpY3Rpb25hcnkgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoKMjAxNC0xMS0wMyAyMzowODowOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2wvY29jb2E6IGluY2x1ZGUgZ2wzLmggdG8gaGF2ZSBHTF9DT05URVhUX1BST0ZJTEVfTUFTSwoKMjAxNC0xMS0wMyAyMzowNzozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG1ha2Ugc3VyZSB0byB0dXJuIG9uIGZyYW1lIHJlY3RhbmdsZSBjaGFuZ2VzIG5vdGlmaWNhdGlvbnMKCSAgRGVmYXVsdCB2YWx1ZSBvZiBwcm9wZXJ0eSBwb3N0c0ZyYW1lQ2hhbmdlZE5vdGlmaWNhdGlvbnMgaXMgWUVTCgkgIGJ1dCBpdCBpcyB3b3J0aCB0byBleHBsaWNpdGx5IGVuYWJsZSBpdC4KCjIwMTQtMTEtMDMgMjM6MDI6MTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBmaXggdW5jYXVnaHQgZXhjZXB0aW9uICd1bnJlY29nbml6ZWQgc2VsZWN0b3Igc2VudCB0byBpbnN0YW5jZScKCSAgTmVlZCB0byBzZXQgdGhlICc6JyBhcyB0aGUgcmVzaGFwZSBtZXRob2Qgbm93IHRha2VzIG9uZSBwYXJhbWV0ZXIuCgkgIEZvciB0aGUgc3RvcnksIHRoZSBHc3RHTE5TVmlldyB3YXMgcHJldmlvdXNseSBpbmhlcml0aW5nIGZyb20KCSAgTlNPcGVuR0xWaWV3IHdoaWNoIGhhcyBhIHJlc2hhcGUgZnVuY3Rpb24gd2l0aG91dCBhbnkgcGFyYW1ldGVyLgoJICBOb3cgdGhlIEdzdEdMTlNWaWV3IGluaGVyaXRzIGZyb20gTlNWaWV3IGFuZCB3ZSByZS11c2UgdGhlIHJlc2hhcGUKCSAgZnVuY3Rpb24gbWFudWFsbHkuCgoyMDE0LTExLTAzIDIyOjU5OjQxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgVXNlIHRoZSByZXNoYXBlIGZ1bmN0aW9uIGFmdGVyIGJlaW5nIGRlZmluZWQuIFRoZSBvdGhlciB3YXkKCSAgd291bGQgaGF2ZSBiZWVuIHRvIGRlY2xhcmUgdGhlIHJlc2hhcGUgZnVuY3Rpb24gaW4gdGhlIGhlYWRlci4KCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTogSW4gZnVuY3Rpb24gJy1bR3N0R0xOU1ZpZXcgZHJhd1JlY3Q6XSc6CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnR3N0R0xOU1ZpZXcnIG1heSBub3QgcmVzcG9uZCB0byAnLXJlc2hhcGUnCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAoTWVzc2FnZXMgd2l0aG91dCBhIG1hdGNoaW5nIG1ldGhvZCBzaWduYXR1cmUKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IHdpbGwgYmUgYXNzdW1lZCB0byByZXR1cm4gJ2lkJyBhbmQgYWNjZXB0CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnLi4uJyBhcyBhcmd1bWVudHMuKQoKMjAxNC0xMS0wMyAxNjo1NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IE5lZ290aWF0ZSBmcmFtZXJhdGUgd2l0aCBkb3duc3RyZWFtCgkgIFByZWZlciB0aGUgY2xvc2VzdCBmcmFtZXJhdGUgdG8gdGhlIGlucHV0IGZyYW1lcmF0ZSB0aG91Z2guCgoyMDE0LTExLTAzIDE2OjI0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXIqc3JjOiBObyBuZWVkIHRvIHNldCBjYXBzIG1hbnVhbGx5IG9uIHRoZSBwYWQKCSAgYmFzZXNyYyBkb2VzIHRoYXQgZm9yIHVzIGFscmVhZHkuCgoyMDE0LTExLTAzIDE2OjEzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFN3YXAgc291cmNlL2Rlc3RpbmF0aW9uIHBhcmFtZXRlcnMgb2YgZ3N0X3ZpZGVvX2NvbnZlcnRlcl9mcmFtZSgpCgoyMDE0LTExLTAzIDE1OjE5OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBmaXggb3JkZXIgb2YgYXJndW1lbnRzCgoyMDE0LTExLTAzIDEwOjA1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IFNldCBhbGwgcmVxdWlyZWQgZmllbGRzIG9uIHRoZSB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NDIKCjIwMTQtMTEtMDMgMDA6MTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IGZpeCBTaW5jZSBtYXJrZXIgZm9yIGdzdF9nbF93aW5kb3dfcnVuX25hdmlnYXRpb24oKQoKMjAxNC0xMS0wMiAyMzoyNDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGRvbid0IGxlYWsgc3VyZmFjZSBuYW1lCgoyMDEzLTA5LTAzIDExOjExOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzdGFydCBwdXNoaW5nIGRhdGEgYWdhaW4gd2hlbiBhIHBhZCBnZXRzIGxpbmtlZCBsYXRlcgoJICBUaGUgd2hvbGUgbm90X2xpbmtlZCBvcHRpbWlzYXRpb24gaXMgcmVhbGx5IGEgYml0IGRvZGd5IGhlcmUsIGJ1dAoJICBsZXQncyBsZWF2ZSBpdCBpbiBwbGFjZSBmb3Igbm93IGFuZCBhdCBsZWFzdCBzdGFydCBwdXNoaW5nIGRhdGEKCSAgYWdhaW4gd2hlbiBhIHBhZCBnb3QgbGlua2VkIGxhdGVyLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZCBnZXQgYQoJICBSRUNPTkZJR1VSRSBldmVudC4KCjIwMTMtMDktMDIgMjM6MzY6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJICBtcGVnZGVtdXg6IG5hbWVzcGFjZSBmaXhlcwoKMjAxNC0xMS0wMiAxOToyNjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHBvc3QgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgZnJhbWVzIGR1ZSB0byBRb1MKCjIwMTQtMTEtMDIgMTk6MTI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggYm9pbGVycGxhdGUgbWFjcm9zCgoyMDE0LTExLTAyIDE3OjE4OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX0RFUFJFQ0FURUQgYW5kICNpZm5kZWYgR1NUX1JFTU9WRV9ERVBSRUNBVEVECgoyMDE0LTExLTAyIDE3OjE3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNC0xMC0yOSAxODoxODowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbHNoYWRlcjogRml4IG1lbW9yeSBsZWFrCgkgIE1lbW9yeSBpcyBvbmx5IGZyZWVkIGluIHRoZSBUUlVFIGNsYXVzZSBvZiB0aGUgaWYgY29uZGl0aW9uYWwuIEZyZWUgaW4gdGhlIGVsc2UKCSAgY2xhdXNlIGFzIHdlbGwuCgkgIEFsc28sIGNvbnNvbGlkYXRlIGdfbWFsbG9jICsgc3ByaW50ZiBpbnRvIGEgZ19zdHJkdXBfcHJpbnRmKCkuCgkgIENJRCAjMTIxMjE3MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzY4CgoyMDE0LTExLTAxIDEwOjEwOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXM6IFVzZSBPUFVTIGVuY29kaW5nIG5hbWUKCSAgQm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdXNlcyBPUFVTIGFzIHRoZSBlbmNvZGluZyBpbiB0aGVpciBTRFAuCgkgIEFkZGluZyB0aGlzIG5vdyBkZWZhY3RvIHN0YW5kYXJkIG5hbWUgcmVtb3ZlIHRoZSBuZWVkIGZvciBzcGVjaWFsCgkgIGNhc2UgaW4gU0RQIHBhcnNpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNC0xMC0zMSAxNzozMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIHR5cGUgb2Ygc3RyZWFtIHRvIGRlYnVnIGxvZwoJICBNYWtlcyBpdCBmYXN0ZXIgdG8gZGVidWcgd2h5IGNlcnRhaW4gc3RyZWFtcyBhcmUgbm90IHNob3dpbmcKCjIwMTQtMTAtMzEgMTc6MzI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB1bmxvY2sgbm90IGxvY2tlZCBtdXRleAoKMjAxNC0xMC0zMSAxMDo0NToxOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IGNvbW1lbnRzIHRoYXQgY29uZnVzZSBndGstZG9jCgkgIEdUSy1Eb2MgdXNlcyBhIHNwZWNpYWwgc3ludGF4IGZvciBjb2RlIGRvY3VtZW50YXRpb24uIEEgbXVsdGlsaW5lIGNvbW1lbnQgdGhhdAoJICBzdGFydHMgd2l0aCBhbiBhZGRpdGlvbmFsICcqJyBtYXJrcyBhIGRvY3VtZW50YXRpb24gYmxvY2sgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZAoJICBieSB0aGUgR1RLLURvYyB0b29scy4gU28gR1RLLURvYyBpcyBjb25mdXNlZCBpZiBhIGNvbW1lbnQgYmxvY2sgc3RhcnRzIHdpdGggdGhhdAoJICBhZGRpdGlvbmFsICcqJyBidXQgaXNuJ3QgbWVhbnQgdG8gYmUgcHJvY2Vzc2VkLiBSZW1vdmluZyB0aGlzIGFkZGl0aW9uYWwgJyonLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDQ0CgoyMDE0LTEwLTMxIDEyOjUyOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiByZXNpemUgdGhlIHZpZXdwb3J0IGNvcnJlY3RseSBvbiBhIGNhcHMgY2hhbmdlCgkgIHdpdGggZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUsIGlmIHRoZSB3aWR0aCBvciBoZWlnaHQgY2hhbmdlZCwgdGhlCgkgIHZpZXdwb3J0IHdhc24ndCBiZWluZyB1cGRhdGVkIHRvIHJlc3BlY3QgdGhlIG5ldyB2aWRlbyB3aWR0aCBhbmQgaGVpZ2h0CgkgIHVudGlsIGEgcmVzaXplIG9jY3VyZWQuCgoyMDE0LTEwLTMxIDEyOjUyOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBhZHZlcnRpc2Ugc3VwcG9ydCBmb3IgY2hhbmdpbmcgaW5wdXQgY2FwcyBtaWQtc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzMzQKCjIwMTQtMTAtMzEgMTI6MzA6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IHNwcmlua2xlIHNvbWUgU2luY2UgbWFya2VycwoKMjAxNC0xMC0zMCAxNDoyNzozOCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IHJlbW92ZSBzdG9yYWdlIG9mIG5ldmVyIHVzZWQgdmFsdWVzCgkgIEJvdGggX3BhcnNlX2F0c2NfbWd0KCkgYW5kICBfcGFyc2VfYXRzY192Y3QgKCkgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUKCSAgZGF0YSBqdXN0IGJlZm9yZSByZXR1cm5pbmcuIFRoZSBuZXcgdmFsdWUgaXMgbmV2ZXIgdXNlZCBzaW5jZSBkYXRhIGlzIGEgcG9pbnRlcgoJICBkZWNsYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmdW5jdGlvbiBhbmQgZ29pbmcgb3V0IG9mIHNjb3BlIGp1c3QgYWZ0ZXIgdGhlCgkgIG5ldyB2YWx1ZSBpcyBzdG9yZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0MDQKCjIwMTQtMTAtMzAgMTc6MDY6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogcmVtb3ZlIDwgMCBjb21wYXJpc29uIG9uIGd1aW50MzIKCSAgQ3VycmVudCBDTEFNUCBjaGVja3MgYm90aCBpZiB0aGUgdmFsdWUgaXMgYmVsb3cgMCBvciBhYm92ZSAyNTUuIENvbnNpZGVyaW5nIGl0CgkgIGlzIGFuIHVuc2lnbmVkIHZhbHVlIGl0IGNhbiBuZXZlciBiZSBsZXNzIHRoYW4gemVybywgc28gdGhhdCBjb21wYXJpc29uIGlzCgkgIHVubmVjZXNzYXJ5LiBTd2l0Y2hpbmcgdG8gdXNpbmcgaWYganVzdCBmb3IgdGhlIHVwcGVyIGJvdW5kLgoJICBDSUQgIzExMzk3OTYKCjIwMTQtMTAtMzAgMTY6MDU6MTQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogZGVjbGFyZSBmbG9vciBhbmQgY2VpbGluZyBhcyBjb25zdGFudHMKCjIwMTQtMTAtMzAgMTU6NDk6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHN0b3JlZCB2YWx1ZSBpcyBvdmVyd3JpdHRlbgoJICBWYWx1ZSBmcm9tIGxlZnRfbHVtaW5hbmNlIGlzIGFzc2lnbmVkIHRvIG91dF9sdW1pbmFuY2UgaGVyZSwgYnV0IHRoYXQgc3RvcmVkCgkgIHZhbHVlIGlzIG5vdCB1c2VkIGJlZm9yZSBpdCBpcyBvdmVyd3JpdHRlbiBpbiB0aGUgbmV4dCBjeWNsZSBvZiB0aGUgbG9vcC4KCSAgUmVtb3ZpbmcgYXNzaWduYXRpb24uCgkgIENJRCAjMTIyNjQ3MwoKMjAxNC0xMC0yNCAxNjo1Mjo0MiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvIG5vdCByZW1vdmUgcHJvZ3JhbXMgb24gRU9TCgkgIEFzIGEgY29uc2VxdWVuY2UsIHRzZGVtdXggd29uJ3QgcmVtb3ZlIGl0cyBwYWRzIGFueW1vcmUgb24gRU9TLgoJICBGaXhlcyB0aGUgY2FzZSB3aGVuIG1wZWd0c2Jhc2UgaXMgbm90IGFibGUgdG8gcHJvY2VzcyBuZXcgcGFja2V0cwoJICBhZnRlciBFT1MgYXMgdGhlIGNvcnJlc3BvbmRpbmcgcGlkcyBhcmVuJ3Qga25vd24gYW55bW9yZSBiZWNhdXNlCgkgIHRoZSBwcm9ncmFtcyB3ZXJlIHJlbW92ZWQgYW5kIHRoZSBwZXMvcHNpIHdlcmUga2VwdCwgcHJldmVudGluZyB0aGUKCSAgUEFUIHRvIGJlIHBhcnNlZCBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY5NQoKMjAxNC0wNC0yMSAxMTo0ODoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkgIHNpcmVuOiBmaXggc2FtcGxlIHJhdGUgbGlzdAoJICBJdCB3YXMgdXNpbmcgYSAyNDAwMC8yNDAwMC80ODAwMCwgYnV0IEkgdGhpbmsgaXQgbWVhbnQgdG8gdXNlCgkgIDI0MDAwLzMyMDAwLzQ4MDAwLiBOb3QgMTAwJSBzdXJlLi4uCgkgIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0cuNzIyLjEgaGFzIHRoZSBsaXN0IG9mIHN1cHBvcnRlZAoJICBiaXRyYXRlcy4gSXQncyBub3QgY2xlYXIgd2hldGhlciB0aGUgImZsYWciIGNvZGUgbWFwcyB0byB0aGlzLAoJICBob3dldmVyLgoJICBDb3Zlcml0eSAyMDYwNzIKCjIwMTQtMTAtMzAgMTQ6NDk6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVtb3ZlIHN0b3JhZ2Ugb2YgbmV2ZXIgdXNlZCB2YWx1ZXMKCSAgVGhlc2UgdHdvIHZhbHVlcyBhcmUgc3RvcmVkIGp1c3QgYmVmb3JlIHRoZSBmdW5jdGlvbiByZXR1cm5zIGFuZCB0aGV5IGdvIG91dCBvZgoJICBzY29wZS4KCjIwMTQtMDYtMTAgMDk6MzM6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIHRpbWUgdG8gbWF0Y2ggY2xpcHBlZCBzYW1wbGVzCgkgIFRoaXMgd2lsbCBsZXQgb2dnbXV4IGdlbmVyYXRlIGEgZ3JhbnBvcyBvbiB0aGUgbGFzdCBwYWdlIHRoYXQgcHJvcGVybHkKCSAgcmVwcmVzZW50cyB0aGUgY2xpcHBlZCBzYW1wbGVzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbS4KCjIwMTQtMTAtMzAgMTg6NDU6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBUcml2aWFsIGRvY3VtZW50YXRpb24gZml4CgoyMDE0LTEwLTMwIDIzOjA4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBkb24ndCBnZXQgdGhlIGN1cnJlbnQgY2FwcyBmcm9tIEdzdFZpZGVvSW5mbyBmb3IgdGhlIHNyY3BhZAoJICBJdCdzIG1pc3NpbmcgdGhlIGNhcHMgZmVhdHVyZXMgbmVlZGVkLgoKMjAxNC0xMC0zMCAxODo1Nzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGZvciBvdGhlci1jb250ZXh0IHByb3BlcnR5IHJlbW92YWwKCjIwMTQtMTAtMzAgMTY6NDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkgIGdsY29udGV4dDogYWRkIG1vcmUgZnVuY3Rpb25hbGl0eSB0byB3cmFwcGVkIGNvbnRleHRzCgkgIEltcGxlbWVudHMgZ2V0X2N1cnJlbnRfY29udGV4dCgpIGFuZCBnZXRfcHJvY19hZGRyZXNzKCkgZm9yIHdyYXBwZWQKCSAgY29udGV4dHMuCgoyMDE0LTEwLTMwIDEyOjQzOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBhZHZlcnRpc2UgdGhlIGRlZmF1bHQgdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzIG9uIGRlc2t0b3AgR0wKCjIwMTQtMDUtMjIgMTM6MTM6MTQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvZ25pemUgU1ZDIE5BTCB1bml0cy4KCSAgSWRlbnRpZnkgU1ZDIE5BTCB1bml0cyBhbmQgdGFnIHRoZW0gYXMgc3VjaC4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yCgkgIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zbGljZV9oZHIoKSB0byBmYWlsIGdyYWNlZnVsbHksIGlmIHRoZSB1c2VyCgkgIGRpZCBub3QgcGVyZm9ybSB0aGUgY2hlY2sgaGltc2VsZi4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0xMC0yOSAxNDo1MzoxNSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IG51bWJlciBvZiBsaXN0MCB7LG5vbi19YW5jaG9yIHJlZnMuCgkgIEZpeCBjb3B5LXBhc3RlIGVycm9yIGluIGdzdF9oMjY0X3Nwc19tdmNfY29weSgpIHdoZXJlIG51bV9hbmNob3JfcmVmc19sMAoJICBhbmQgbnVtX25vbl9hbmNob3JfcmVmc19sMCB3ZXJlIGluY29ycmVjdGx5IGluaXRpYWxpemVkIGZyb20gbGlzdDEuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMTAtMjkgMTM6NTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgVXBkYXRlIC5kZWYgZm9yIG5ldyBBUEkKCjIwMTQtMTAtMjkgMTM6MTU6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2Vyczogc3ByaW5rbGUgc29tZSBndGstZG9jIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgQVBJCgoyMDE0LTEwLTI5IDEyOjIyOjE0ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgc2F0aXNmeSBnc3QtaW5kZW50CgoyMDE0LTEwLTI5IDIyOjIzOjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgZ2xmaWx0ZXJjdWJlOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxNC0xMC0yOSAyMjoyMzowMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBJbml0aWFsaXNlIG5hbHUgZXh0ZW5zaW9uIHR5cGUgdG8gTk9ORQoJICBBbHdheXMgc2V0IGEgZGVmYXVsdCBOQUxVIGV4dGVuc2lvbiB0eXBlLCBhbmQgb3ZlcnJpZGUgaXQKCSAgd2hlbiB3ZSBmaW5kIGEgc3VwcG9ydGVkIGV4dGVuc2lvbiwgdG8gYXZvaWQgaGF2aW5nIGl0IHVuc2V0L3JhbmRvbQoJICBmb3IgdW5zdXBwb3J0ZWQgTkFMVSBleHRlbnNpb25zCgoyMDE0LTEwLTA3IDE2OjI4OjAzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBGaXggZnJhbWUgcGFja2luZyBTRUkgcGFyc2luZwoKMjAxNC0wMy0yNSAxNDowODo0NCArMDEwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBGcmFtZSBQYWNraW5nIEFycmFuZ2VtZW50IFNFSSBtZXNzYWdlLgoJICBUaGlzIHBhcnNlcyB0aGUgZnJhbWVfcGFja2luZ19hcnJhZ2VtZW50KCkgcGF5bG9hZCBpbiBTRUkgbWVzc2FnZS4KCSAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCBieSBkZWNvZGVycyB0byBhcHByb3ByaWF0ZWx5IHJlYXJyYW5nZSB0aGUKCSAgc2FtcGxlcyB3aGljaCBiZWxvbmcgdG8gU3RlcmVvc2NvcGljIGFuZCBNdWx0aXZpZXcgSGlnaCBwcm9maWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDMtMDggMTg6MTc6MTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgc3VwcG9ydCBmb3IgU3RlcmVvIFZpZGVvIEluZm9ybWF0aW9uIFNFSSBtZXNzYWdlLgoJICBBZGQgdGhlIG5lY2Vzc2FyeSBwYXlsb2FkIHBhcnNpbmcgc3VwcG9ydCBmb3Igc3RlcmVvX3ZpZGVvX2luZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAxMzozNjo0NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHBhcnNlIHNlcV9wYXJhbWV0ZXJfc2V0X212Y19leHRlbnNpb24oKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTI2IDE4OjQ2OjM2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcGFyc2UgTVZDIHN5bnRheCBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTEwLTI5IDIyOjU4OjM3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBIYW5kbGUgYmFja3dhcmQgYW5kIGRpc2NvbnQgdGltZXN0YW1wcyBiZXR0ZXIuCgkgIEFzc3VtZSB0aGF0IHNtYWxsIGJhY2t3YXJkIFBDUiBqdW1wcyBhcmUganVzdCBmcm9tIHVwc3RyZWFtIHBhY2tldAoJICBtaXMtb3JkZXJpbmcgYW5kIGRvbid0IHJlc2V0IHRpbWVzdGFtcCB0cmFja2luZyBzdGF0ZSAtIGFzc3VtaW5nIHRoYXQKCSAgdGhpbmdzIHdpbGwgYmUgT0sgYWdhaW4gc2hvcnRseS4KCSAgTWFrZSB0aGUgdGhyZXNob2xkIGZvciBkZXRlY3RpbmcgZGlzY29udCBiZXR3ZWVuIHNlcXVlbnRpYWwgYnVmZmVycwoJICBjb25maWd1cmFibGUgYW5kIG1hdGNoIHRoZSBzbW9vdGhpbmctbGF0ZW5jeSBzZXR0aW5nIG9uIHRzcGFyc2UKCSAgdG8gYmV0dGVyIGNvcGUgd2l0aCBkYXRhIGJ1cnN0cy4KCjIwMTQtMTAtMjkgMjI6NTg6MzcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBJbXBsZW1lbnQgdGltZXN0YW1wL3JldGltZXN0YW1waW5nIG9mIG91dHB1dCBidWZmZXJzCgkgIFdoZW4gdGhlIHNldC10aW1lc3RhbXBzIHByb3BlcnR5IGlzIHNldCwgdXNlIFBDUnMgb24gdGhlIHByb3ZpZGVkCgkgIChvciBhdXRvZGV0ZWN0ZWQpIHBjci1waWQgdG8gYXBwbHkgKG9yIHJlcGxhY2UpIHRpbWVzdGFtcHMgb24gdGhlCgkgIG91dHB1dCBidWZmZXJzLCB1c2luZyBwaWVjZS13aXNlIGxpbmVhciBpbnRlcnBvbGF0aW9uLgoJICBUaGlzIGFsbG93cyB0c3BhcnNlIHRvIGJlIHVzZWQgdG8gc3RyZWFtIGFuIGFyYml0cmFyeSBtcGVnLXRzIGZpbGUsCgkgIG9yIHRvIHNtb290aCBqaXR0ZXJ5IHJlY2VwdGlvbiB0aW1lc3RhbXBzIGZyb20gYSBuZXR3b3JrIHN0cmVhbS4KCSAgVGhlIHJlcG9ydGVkIGxhdGVuY3kgaXMgaW5jcmVhc2VkIHRvIG1hdGNoIHRoZSBzbW9vdGhpbmcgbGF0ZW5jeSBpZgoJICBuZWNlc3NhcnkuCgoyMDE0LTEwLTI5IDEwOjA5OjM1ICswMTAwICBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VAc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGF1dG8gZGVjaXNpb24gdG8gaW5jbHVkZSBHTCBsaWJyYXJ5IGZhaWxzCgkgIFRoZSBwYXJ0IG9mIHRoZSBjb25maWd1cmUuYWMgdGhhdCBjb25zaXN0IHRvIGNoZWNrIGlmIHdlCgkgIGNhbiBpbmNsdWRlIGJvdGggR0wgYW5kIEdMRVMyIGF0IHRoZSBzYW1lIHRpbWUgaXMgZmFpbGluZy4KCSAgSW5kZWVkLCBpbiB0aGUgY2FzZSBORUVEX0dMRVMyPXllcyBhbmQgTkVFRF9PUEVOR0w9YXV0bywKCSAgSEFWRV9PUEVOR0wgdmFyaWFibGUgaXMgdXBkYXRlZCB3aGVyZWFzIGl0IHNob3VsZCBiZSBIQVZFX0dMCgkgIHZhcmlhYmxlIHRoYXQgaGFzIHRvIGJlIHVwZGF0ZWQgKEhBVkVfT1BFTkdMIHZhcmlhYmxlIGlzIG5vdAoJICB1c2VkIGluIHRoZSByZXN0IG9mIHRoZSBjb25maWd1cmUuYWMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ4CgkgIFNpZ25lZC1vZmYtYnk6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBzdC5jb20+CgkgIFJldmlld2VkLWJ5OiBCZW5qYW1pbiBHQUlHTkFSRCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCjIwMTQtMTAtMjkgMTA6Mzc6MzggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVtb3ZlIGlnbm9yZWQgaW5jcmVtZW50IG9mIHJldHVybgoJICAncmV0dXJuIHZhbCsrOycgcmV0dXJucyB0aGUgdmFsdWUgYmVmb3JlIGl0IGlzIGluY3JlbWVudGVkIGJlY2F1c2UgdGhlIHBvc3QKCSAgaW5jcmVtZW50IGhhcHBlbnMgYWZ0ZXIgdGhlIHN0YXRlbWVudC4gUmVtb3ZpbmcgdGhlIHVudXNlZCBpbmNyZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDUKCjIwMTQtMTAtMjkgMDg6Mjc6NTcgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOmZpeCBpbmNvcnJlY3QgcGFyYW1ldGVyIHBhc3NlZCB0byBoYW5kbGVfc2V0X2NvbnRleHQKCjIwMTQtMTAtMjggMjE6NDI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJICBBZGQgc29tZSBtaXNzaW5nIEdfRU5EX0RFQ0xTCgoyMDE0LTEwLTI4IDE3OjQ0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXggd3JvbmcgdW5yZWZzIGluIHNldF9mb3JtYXQgZXJyb3IgY29kZSBwYXRoCgoyMDE0LTEwLTI4IDE4OjI3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGdldCB0aGUgY29uZmlnIGZyb20gdGhlIGNvcnJlY3QgcG9vbAoKMjAxNC0xMC0yOCAxODowMToyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBhdm9pZCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHNpemUgd2hlbiBjaGFpbmluZyBtdWx0aXBsZSBnbGZpbHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTI3NwoKMjAxNC0xMC0yOCAxODowMTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBnc3QtaW5kZW50IGZpbGUKCjIwMTQtMTAtMjggMTc6MzE6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYWRkIGFwaSBmb3IgcmV0cmVpdmluZyB0aGUgY3VycmVudCBjb250ZXh0IGFuZCBhcGkKCSAgdGhhdCBpcyBjdXJyZW50IGluIHRoZSBjYWxsaW5nIHRocmVhZC4KCjIwMTQtMTAtMjEgMTk6MDM6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3Zhby5oOgoJICBnbHByb3RvdHlwZXM6IGFkZCB2ZXJ0ZXggYXR0cmlidXRlIGFycmF5IGRlZmluaXRpb25zCgoyMDE0LTEwLTI3IDE3OjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NGQwNmNkIHRvIDdiYjJiY2UKCjIwMTQtMTAtMjcgMTU6MzQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogVXNlIDY0LWJpdCBzYWZlIHNjYWxpbmcgZnVuY3Rpb25zCgoyMDE0LTEwLTI3IDEyOjQzOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZWZsb3cgc3dpdGNoIGNhc2Ugc3RhdGVtZW50IGEgYml0CgkgIE1ha2UgaXQgY2xlYXIgdGhlcmUncyBubyAnYnJlYWsnIG1pc3NpbmcgYXQgdGhlIGVuZAoJICBvZiB0aGUgY2FzZSBTWVNfRFZCVCwgYW5kIHBhY2lmeSBjb3Zlcml0eSAoQ0lEIDEyNDk2ODkpLgoKMjAxNC0wNi0xMiAxNjo1OTo0NiArMDIwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSAgY3VybHNzaHNpbms6IHVzZSB0aGUgbG9jYWxseSBkZWZpbmVkIHR5cGVzCgkgIEp1c3QgYSBtYXR0ZXIgb2YgY29kaW5nIHN0eWxlLCBtYWtlcyB0aGUgY29kZSBhIGJpdCB0aWRpZXIuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTU4MQoKMjAxNC0xMC0yNiAxNTo0NToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBQYXJhbGxlbGlzZSAnbWFrZSBjaGVjay12YWxncmluZCcKCjIwMTQtMTAtMjYgMTU6NDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIG1vcmUgb3BlbmgyNjQgQVBJIHRoYXQgd2UgbmVlZAoKMjAxNC0xMC0yNSAxODo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBmaXggYXVkaW9taXhlciB0ZXN0IG9uIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxNC0xMC0yNCAyMTo0Mjo1OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBjb3JyZWN0bHkgY2FwaXRhbGl6ZSBEaVNFcUMKCjIwMTQtMTAtMjQgMjA6MTI6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmV3b3JrIF9vdXRwdXRfZnJvbnRlbmRfc3RhdHMoKQoJICBSZXRyeSBzdGF0IHJlcG9ydGluZyBpb2N0bHMgb24gRUlOVFIKCjIwMTQtMTAtMjQgMTk6MzA6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGNoZWNrcyBvbiBhbGxvd2VkIERWQi1UIGJhbmR3aWR0aHMKCjIwMTQtMTAtMjQgMTk6MTI6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGZpeG1lIG5vdGUgb24gRFRWX0xOQSBzZXR0aW5nCgkgIFJlcGhyYXNlIGFub3RoZXIgY29tbWVudCB3aGlsZSBhdCBpdAoKMjAxNC0xMC0yNCAxODo1Nzo0MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBsb2dpYyBmb3IgYWRkaXRpb25hbCBiYW5kd2lkdGhzCgkgIE5ldyAxLjcxMiwgNSBhbmQgMTAgTUh6IGJhbmR3aWR0aHMgd2VyZSBiZWVuIGlnbm9yZWQKCSAgYXQgc2V0L2dldCBwcm9wLgoKMjAxNC0xMC0yNCAxNTo1Mzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBVc2UgbGlic3J0cC5wYyBpZiBwcmVzZW50CgoyMDE0LTEwLTIzIDE3OjQyOjI3ICswMzAwICBWb290ZWxlIFZlc3RlcmJsb20gPHZvdkBiYW5nLW9sdWZzZW4uZGs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBoYW5kbGluZyBvZiBzZWdtZW50IGV2ZW50IGluIHNpbmsgZXZlbnQgaGFuZGxlcgoKMjAxNC0xMC0yNCAwMDozNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogb3ZlcnJpZGUgdGhlIGNhcHMgcXVlcnkgaW4gb3JkZXIgdG8gJ2NvbnZlcnQnIGNhcHNmZWF0dXJlcwoJICBPdGhlcndpc2UsIGl0IGlzIG9ubHkgcG9zc2libGUgZm9yIHRoZSBzaW5rIHBhZHMgYW5kIHRoZSBzcmMgcGFkcyB0bwoJICBoYXZlIHRoZSBleGFjdCBzYW1lIGNhcHMgZmVhdHVyZXMuICBXZSBjYW4gY29udmVydCBmcm9tIGFueSBmZWF0dXJlCgkgIHRvIGFub3RoZXIgZmVhdHVyZSBzbyBzdXBwb3J0IHRoYXQuCgoyMDE0LTEwLTIzIDIzOjU1OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBvdmVycmlkZSB0aGUgYWNjZXB0IGNhcHMgcXVlcnkgaW4gb3JkZXIgdG8gJ2NvbnZlcnQnIGNhcHNmZWF0dXJlcwoJICBPdGhlcndpc2UsIGl0IGlzIG9ubHkgcG9zc2libGUgZm9yIHRoZSBzaW5rIHBhZHMgYW5kIHRoZSBzcmMgcGFkcyB0bwoJICBoYXZlIHRoZSBleGFjdCBzYW1lIGNhcHMgZmVhdHVyZXMuICBXZSBjYW4gY29udmVydCBmcm9tIGFueSBmZWF0dXJlCgkgIHRvIGFub3RoZXIgZmVhdHVyZSBzbyBzdXBwb3J0IHRoYXQuCgoyMDE0LTA4LTE0IDIzOjI5OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogcHJvcG9nYXRlIG90aGVyLWNvbnRleHQgdXNpbmcgR3N0Q29udGV4dAoKMjAxNC0xMC0yMCAwMzowNzowOCAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgZGFzaDogUmVtb3ZlIG9ic29sZXRlIFJFQURNRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODg0OAoKMjAxNC0xMC0yMiAxOTozNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBBZGQgc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IHJhdyBhdWRpbyBmb3JtYXRzCgoyMDE0LTEwLTIyIDE5OjMxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVydmlkZW86IEFkZCBzdXBwb3J0IGZvciBhcmJpdHJhcnkgdmlkZW8gZm9ybWF0cwoKMjAxNC0xMC0yMiAxOToyODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBUcnVuY2F0ZSB0aGUgY2FwcyBhcyBwYXJ0IG9mIHRoZSBmaXhhdGluZwoKMjAxNC0xMC0yMiAxOTowODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBGaXggdGltZXN0YW1wLCBsYXRlbmN5IGFuZCBwZXJpb2QgaGFuZGxpbmcKCjIwMTQtMTAtMjIgMTg6NDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogVXNlIEdTVF9ERUJVR19PQkpFQ1QoKSBpbnN0ZWFkIG9mIEdTVF9ERUJVRygpCgoyMDE0LTEwLTIyIDE4OjQwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyYXVkaW86IFByb3Blcmx5IHBhc3MgdGhyb3VnaCBjYXBzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHNvdXJjZQoJICBPdGhlcndpc2UgYSBtYWdpYyBjYXBzZmlsdGVyIGFmdGVyIHRoZSBzb3VyY2UgaXMgcmVxdWlyZWQgd2l0aAoJICBleGFjdGx5IHRoZSBzYW1lIGNhcHMgYXMgdGhlIGlucHV0LgoKMjAxNC0xMC0yMiAxODoxMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcjogQ2xlYW4gdXAgc3VyZmFjZXMgYWZ0ZXIgdGhlIGxhc3QgdXNlciBpcyBnb25lCgoyMDE0LTEwLTIyIDE4OjA3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBXaGl0ZXNwYWNlIGNsZWFudXAKCjIwMTQtMTAtMjIgMTg6MDM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXJ2aWRlbzogUHJvcGVybHkgcGFzcyB0aHJvdWdoIGNhcHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE90aGVyd2lzZSBhIG1hZ2ljIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHNvdXJjZSBpcyByZXF1aXJlZCB3aXRoCgkgIGV4YWN0bHkgdGhlIHNhbWUgY2FwcyBhcyB0aGUgaW5wdXQuCgkgIFRoaXMgd291bGQndmUgZmFpbGVkIGJlZm9yZSB3aXRoIGludmFsaWQgYnVmZmVyIHNpemVzOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBpbnRlcnZpZGVvc2luayAgaW50ZXJ2aWRlb3NyYyAhICJ2aWRlby94LXJhdyx3aWR0aD02NDAsaGVpZ2h0PTQ4MCIgISB4dmltYWdlc2luawoKMjAxNC0xMC0yMiAxNTowNzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogQ2hlY2sgZm9yIDAtc2l6ZSBhZnRlciBhZGp1c3RpbmcgdGhlIHNpemUgZm9yIHRoZSBmcmFtZSBzaXplCgkgIElmIHdlIGRvbid0IGhhdmUgYSBjb21wbGV0ZSByYXcgYXVkaW8gZnJhbWUgd2Ugd291bGQgb3RoZXJ3aXNlIHN0aWxsCgkgIGFzayBmb3IgYSAwIHNpemVkIGJ1ZmZlciBmcm9tIHRoZSBhZGFwdGVyLgoKMjAxNC0xMC0yMiAxNDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogRG9uJ3QgdHJ5IHRvIHJldHJpZXZlIDAgYnl0ZSBidWZmZXJzIGZyb20gdGhlIGFkYXB0ZXIgaW4gbXVsdGktZnJhbWUgbW9kZQoKMjAxNC0xMC0yMiAxMzowMzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbXByb3ZlIG9wZW5oMjY0IGNoZWNrCgkgIFRoZSBvcGVuaDI2NCBBUEkgaXMgc3RpbGwgdW5zdGFibGUsIHNvIGNoZWNrIGZvcgoJICBzdHJ1Y3R1cmUgbWVtYmVyIHRoYXQgd2UgbmVlZCB0byBwcmV2ZW50IGJ1aWxkaW5nCgkgIGFnYWluc3QgYW4gb2xkZXIgaW5jb21wYXRpYmxlIHZlcnNpb24uCgoyMDE0LTEwLTIyIDEyOjM2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNpbXBsaWZ5IG9wZW5oMjY0IGNoZWNrCgkgIE9mIGNvdXJzZSBQVEhSRUFEU19DRkxBR1MgaXMgbm90IHVzZWQgYW55d2hlcmUgbm93CgkgIGZvciB0aGUgY2hlY2ssIGJ1dCB0aGF0IHdhcyB0aGUgY2FzZSBiZWZvcmUgYXMgd2VsbC4KCjIwMTQtMTAtMjEgMTY6MjE6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsd2luZG93X2NvY29hLm06IEluIGZ1bmN0aW9uICctW0dzdEdMTlNWaWV3IGRyYXdSZWN0Ol0nOgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJ0dzdEdMTlNWaWV3JyBtYXkgbm90IHJlc3BvbmQgdG8gJy1yZXNoYXBlJwoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogKE1lc3NhZ2VzIHdpdGhvdXQgYSBtYXRjaGluZyBtZXRob2Qgc2lnbmF0dXJlCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiB3aWxsIGJlIGFzc3VtZWQgdG8gcmV0dXJuICdpZCcgYW5kIGFjY2VwdAoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJy4uLicgYXMgYXJndW1lbnRzLikKCjIwMTQtMTAtMjEgMTU6NDI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRml4IGxvY2tpbmcKCSAgVGhlIG9iamVjdCBsb2NrIG9ubHkgcHJvdGVjdHMgdGhlIHNlc3Npb24sIGFzIHdlIG1vZGlmeQoJICB0aGUgc2Vzc2lvbiBmcm9tIG90aGVyIHRocmVhZHMgd2hlbiB0aGUgYml0cmF0ZSBwcm9wZXJ0eQoJICBpcyBjaGFuZ2VkLiBEb24ndCBob2xkIGl0IG11Y2ggbG9uZ2VyIHRoYW4gZm9yIHNlc3Npb24KCSAgcmVsYXRlZCB0aGluZ3MuCgkgIEFuZCB3ZSBuZWVkIHRvIHJlbGVhc2UgdGhlIHZpZGVvIGRlY29kZXIgc3RyZWFtIGxvY2sgYmVmb3JlCgkgIGVucXVldWVpbmcgYSBmcmFtZXMuIEl0IG1pZ2h0IHdhaXQgZm9yIG91ciBjYWxsYmFjayB0byBkZXF1ZXVlCgkgIGEgZnJhbWUgZnJvbSBhbm90aGVyIHRocmVhZCwgd2hpY2ggd2lsbCB0aGVuIHRha2UgdGhlIHN0cmVhbQoJICBsb2NrIHRvbyBhbmQgZGVhZGxvY2suCgoyMDE0LTEwLTIxIDEzOjAxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOGM4OTM5IHRvIDg0ZDA2Y2QKCjIwMTQtMTAtMjEgMTM6Mjg6NTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIGEgbWFjcm8gdG8gY2hlY2sgZm9yIHB0aHJlYWQKCSAgUmVwbGFjZSB0aGUgaGFyZGNvZGVkIC1scHRocmVhZCBpbiBtb3N0IG9mIHRoZSBwbGFjZXMgd2l0aCAkUFRIUkVBRF9MSUJTLiBGb3IKCSAgb3BlbmgyNjQgYWxzbyBhZGQgJFBUSFJFQURfTElCUyB0byBPUEVOSDI2NF9MSUJTIHVudGlsIHVwc3RyZWFtIHNoaXBzIGEgLnBjCgkgIGZpbGUuCgoyMDE0LTEwLTIxIDEyOjU4OjM5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM2Mzg4YTEgdG8gYThjODkzOQoKMjAxNC0xMC0yMSAxMjozOToxNCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlc2V0IGVuZF9vZl9wbGF5bGlzdCBhdHRyaWJ1dGUgd2hlbiB3ZSByZWNlaXZlIGEgc2VlawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njk2CgoyMDE0LTEwLTIwIDE4OjI1OjA4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBjcml0aWNhbCBlcnJvciBmb3IgYmxvY2tzaXplLCB0aW1lb3V0IG1pbi9tYXggdmFsdWVzCgkgIEF1ZGlvbWl4ZXIgYmxvY2tzaXplLCBjYW50IGJlIDAsIGhlbmNlIGFkanVzdGluZyB0aGUgbWluaW11bSB2YWx1ZSB0byAxCgkgIHRpbWVvdXQgdmFsdWUgb2YgYWdncmVnYXRvciBpcyBkZWZpbmVkIHdpdGggTUFYIG9mIE1BWElOVDY0LAoJICBidXQgaXQgY2Fubm90IGNyb3NzIEdfTUFYTE9ORyAqIEdTVF9TRUNPTkQgLSAxCgkgIEhlbmNlIGNoYW5nZWQgdGhlIG1heCB2YWx1ZSBvZiB0aGUgc2FtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODQ1CgoyMDE0LTEwLTIxIDA2OjA0OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBmaXh1cCBlZ2xpbWFnZSBpbmNsdWRlIHBhdGgKCjIwMTQtMTAtMjEgMDI6NTI6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXhhdGUgdGhlIHBhcnRzIG9mIHRoZSBjYXBzIHdlIGRvbid0IGtub3cgaG93IHRvIGRlYWwgd2l0aAoJICBmaXhlcyBnbHZpZGVvbWl4ZXIgd2l0aCB2aWRlby94LXJhdyx3aWR0aD1mb28gaS5lLiBubyBmb3JtYXQgZmllbGQuCgoyMDE0LTEwLTE4IDEwOjAzOjQzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsYnVmZmVycG9vbDogYWRkIHRoZSBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgYnVmZmVyIHBvb2wgb3B0aW9uCgoyMDE0LTEwLTIwIDEwOjM0OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogb3BlcmF0ZSBvbiBjYXBzIHJhdGhlciB0aGFuIHZpZGVvIGluZm8KCSAgT3RoZXJ3aXNlIHRoZSBDYXBzRmVhdHVyZXMgd2lsbCBiZSBsb3N0IGFsb25nIHdpdGggdGhlIHBvc3NpYmlsaXR5CgkgIG9mIG11bHRpcGxlIG91dHB1dCB0eXBlcyBhbmQgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEyOQoKMjAxNC0wOS0xOSAxMTozNzo1NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGludHJvZHVjZSBhIGhlbHBlciB0byBtYWtlIHNlcXVlbmNlLWxheWVyCgkgIEl0IHdpbGwgYmUgdXNlZnVsIHRvIGltcGxlbWVudCBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMTAtMjAgMDI6Mjc6MTUgLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBDaGVjayBmb3IgR0xVIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0IGluIGNvbmZpZ3VyZS5hYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODE2CgoyMDE0LTEwLTIwIDE1OjAyOjI4ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHN1cHBvcnQgUkdCMTYvQkdSMTYgdmlkZW8gZm9ybWF0IHVwbG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODQyCgoyMDE0LTEwLTA5IDE1OjEyOjAxICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBmaXggZXhwZWN0ZWQgbGV2ZWwgaW4gc2VxdWVuY2UtbGF5ZXIgcGFyc2luZyB1bml0IHRlc3QKCSAgU2VxdWVuY2UtbGF5ZXIgdXNlZCBmb3IgdW5pdCB0ZXN0IGhhdmUgYSBsZXZlbCBzZXQgdG8gMiB3aGljaCBzaG91bGQKCSAgbWF0Y2ggdGhlIG1lZGl1bSBsZXZlbCwgbm90IHRoZSBoaWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjMwCgoyMDE0LTEwLTA5IDE1OjA1OjU1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgdmMxcGFyc2VyOiBmaXggbGV2ZWwgdmFsdWVzIGZvciBzaW1wbGUvbWFpbiBwcm9maWxlCgkgIEluIHNpbXBsZSBwcm9maWxlLCBsZXZlbCBzZXQgdG8gMCBvciAyIGluZGljYXRlIGxvdyBhbmQgbWVkaXVtIGxldmVsCgkgIHJlc3BlY3RpdmVseS4gSW4gbWFpbiBwcm9maWxlLCBsZXZlbCBzZXQgdG8gMCwgMiBvciA0IGluZGljYXRlIGxvdywKCSAgbWVkaXVtIGFuZCBoaWdoIGxldmVsIHJlc3BlY3RpdmVseS4KCSAgTGV2ZWwgdmFsdWVzIGFyZSBkZWZpbmVkIGluIEFubmV4IEouMS4yIG9mIHRoZSBTTVBURSA0MjFNLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjMwCgoyMDE0LTA4LTAyIDExOjI5OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2VuZCBpbml0aWFsIEdBUCBldmVudCBvbiBzcGFyc2Ugc3RyZWFtcyBmb3IgZmFzdGVyIHN0YXJ0dXAgd2l0aCBwbGF5YmluCgkgIFNpZ25hbCBzcGFyc2Ugc3RyZWFtcyBwcm9wZXJseSBpbiBzdHJlYW0tc3RhcnQgZXZlbnQgYW5kIGZvcmNlIHNlbmRpbmcKCSAgb2YgcGVuZGluZyBzdGlja3kgZXZlbnRzIHdoaWNoIGhhdmUgYmVlbiBzdG9yZWQgb24gdGhlIHBhZCBhbHJlYWR5IGFuZAoJICB3aGljaCBvdGhlcndpc2Ugd291bGQgb25seSBiZSBzZW50IG9uIHRoZSBmaXJzdCBidWZmZXIgb3Igc2VyaWFsaXplZAoJICBldmVudCAod2hpY2ggbWVhbnMgdmVyeSBsYXRlIGluIGNhc2Ugb2Ygc3VidGl0bGUgc3RyZWFtcykuIFBsYXlzaW5rIGluCgkgIHBsYXliaW4gd2FpdHMgZm9yIHN0cmVhbS1zdGFydCBvciBhbm90aGVyIHNlcmlhbGl6ZWQgZXZlbnQsIGFuZCBpZiB3ZQoJICBkb24ndCBkbyB0aGlzIGl0IHdpbGwgd2FpdCBmb3IgdGhlIG11bHRpcXVldWUgdG8gcnVuIGZ1bGwgYmVmb3JlCgkgIHN0YXJ0aW5nIHBsYXliYWNrLCB3aGljaCBtaWdodCB0YWtlIGEgY291cGxlIG9mIHNlY29uZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwNDAKCjIwMTQtMTAtMjAgMTI6MzA6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBHQVAgZGV0ZWN0aW9uCgkgIEFsbCBwYWRzIG9mIGEgc3RyZWFtIGFyZSBub3cgYWRkZWQgYXQgdGhlIGJlZ2lubmluZy4gSW4gb3JkZXIgdG8gY29wZSB3aXRoCgkgIHN0cmVhbXMgdGhhdCBkb24ndCBnZXQgYW55IGRhdGEgKGZvcmV2ZXIgb3IgZm9yIGEgbG9uZyB0aW1lKSB3ZSBkZXRlY3QgZ2FwcwoJICBhbmQgcHVzaCBvdXQgR0FQIGV2ZW50cyB3aGVuIG5lZWRlZC4KCSAgQ2xlYW51cHMgYW5kIGNvbW1lbnRpbmcgYnkgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwNDAKCjIwMTQtMTAtMDEgMTY6MTc6NDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IHNlbGVjdCBjYXBzIGFjY29yZGluZyB0byB3bXYgZm9ybWF0IGF0IG5lZ290aWF0aW9uCgkgIFNvbWUgVkMxIGRlY29kZXIgY2FuIGhhdmUgZGlmZmVyZW50IGNhcHMgYWNjb3JkaW5nIHRvIHdtdiBmb3JtYXQsIGllCgkgIFdNVjMgb3IgV1ZDMS4KCSAgU28gaW5zdGVhZCBvZiBrZWVwaW5nIHRoZSBmaXJzdCBhdmFpbGFibGUgY2Fwcywgd2UgaW50ZXJzZXJjdCB3aXRoCgkgIGN1cnJlbnQgV01WIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUzMgoKMjAxNC0xMC0yMCAxMToyMjo1NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgcHRocmVhZCB0byB0aGUgY29uZmlndXJlIGNoZWNrIGZvciBvcGVuaDI2NAoKMjAxNC0xMC0yMCAwOTo0NzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBEZWNsYXJlIHNpbmsgdmFyaWFibGUgdGhhdCB3YXMgZm9yZ290dGVuIGluIGxhc3QgY29tbWl0CgoyMDE0LTEwLTE5IDIwOjM1OjQxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogRnJlZSBVUkkgc3RyaW5nIGluIGZpbmFsaXplKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY3NAoKMjAxNC0xMC0xNyAyMToyNjo1MiAtMDcwMCAgQnJpb24gVmliYmVyIDxicmlvbkBwb2JveC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBmb3IgYnVpbGRpbmcgb24gTWFjIE9TIFggMTAuMTAKCSAgVXNpbmcgTlNBcHAgZGlyZWN0bHkgc2VlbXMgdG8gY29uZnVzZSBzb21ldGhpbmcsIGFzIHRoZSBjb21waWxlcgoJICB3YXMgZXhwZWN0aW5nIGFuIGlkPE5TRmlsZU1hbmFnZXJEZWxlZ2F0ZT4uIFN3aXRjaGVkIHRvIHVzaW5nCgkgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSwgYW5kIHNwZWNpZmllZCB0aGUgZGVsZWdhdGUKCSAgcHJvdG9jb2wgb24gdGhlIHdpbmRvdyBjbGFzcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzQwCgoyMDE0LTEwLTE5IDE0OjU3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVzZSBrVlRQcm9maWxlTGV2ZWxfSDI2NF9CYXNlbGluZV9BdXRvTGV2ZWwgb25seSBvbiBpT1MKCSAgSXQgaXMgbm90IHJlcXVpcmVkIG9uIE9TWCBhcHBhcmVudGx5IGFuZCB3YXMgb25seSBhZGRlZCBpbiAxMC45LjYgdGhlcmUuCgkgIENhbGN1bGF0aW5nIHRoZSBjb3JyZWN0IGxldmVsIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHRyaXZpYWwsIHNvIGxldCdzCgkgIGp1c3Qgbm90IHNldCBhIGxldmVsIGF0IGFsbCBoZXJlLgoKMjAxNC0xMC0xOSAxNDo1MTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFZUQ29tcHJlc3Npb25TZXNzaW9uUHJlcGFyZVRvRW5jb2RlRnJhbWVzIG9ubHkgZXhpc3RzIHNpbmNlIDEwLjkuNgoJICBDaGVjayB3aXRoIGNvbmZpZ3VyZSBmb3IgaXQgaW5zdGVhZCBvZiB1c2luZyBvbmUgb2YgdGhlIGF2YWlsYWJpbGl0eSBtYWNyb3MKCSAgYXMgdGhvc2Ugd291bGRuJ3Qgd29yayBhcyBleHBlY3RlZCB3aXRoIG1pbm9yIHZlcnNpb25zLgoKMjAxNC0xMC0xOSAxNDozMjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBSZW1vdmUgdW51c2VkICNkZWZpbmUKCjIwMTQtMTAtMTkgMTM6NDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHBiYWQ6IEZpeCBtYWtlIGRpc3QgYnkgcmVtb3Zpbmcgbm9uLWV4aXN0aW5nIGZpbGUgZnJvbSBFWFRSQV9ESVNUCgkgIEl0J3MgdXNlZCBieSB0aGUgcnRwIHBsdWdpbiBpbiBnc3QtcGx1Z2lucy1nb29kIGZvciBWUDggYnV0IG5vdCBuZWVkZWQKCSAgb3IgdXNlZCBoZXJlLgoKMjAxNC0xMC0xNyAxNjo1MToyNyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cGJhZDogaW5jbHVkZSBwbHVnaW5zIGJhc2UgY2ZsYWdzIChmaXggYnVpbGQgb24gamVua2lucykKCjIwMTQtMTAtMTYgMTA6MzQ6MDEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTQtMTAtMTUgMTU6MjU6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBzdHJpcCBuZXdsaW5lcyBmcm9tIGN1cmwgZGVidWcgbWVzc2FnZXMKCSAgVGhlIG1lc3NhZ2VzIHdlIHJlY2VpdmUgaW4gdGhlIGN1c3RvbSBsb2cgaGFuZGxlciBtaWdodCBlbmQgd2l0aCBhIG5ld2xpbmUgYW5kCgkgIGFyZSBub3QgXDAgdGVybWluYXRlZC4gQ29weSB0aGUgbWVzc2FnZXMsIHRyaW0gYW5kIHRlcm1pbmF0ZSB0aGVtLgoKMjAxNC0xMC0xNSAxNToyNDoxMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IHNtYWxsIGNvZGUgY2xlYW51cAoJICBVc2UgYSBsb2NhbCB2YXIgYW5kIHNhdmUgYSBsb2NhbCB2YXIuCgoyMDE0LTEwLTE1IDE2OjUyOjA5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjVlbmMuYzoKCSAgdGVzdHMveDI2NWVuYzogYWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTQtMDMtMDUgMTY6Mzk6MzAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjUvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5oOgoJICB4MjY1ZW5jOiBhZGQgeDI2NSBlbmNvZGVyIGVsZW1lbnQKCjIwMTQtMTAtMTQgMTQ6MDA6MTEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIGdsZGVpbnRlcmxhY2U6IHJlZiB0aGUgdXBsb2FkZWQgYnVmZmVyCgkgIEluc3RlYWQgb2YgdGhlIHBvc3NpYmx5IG5vbi1HTCBpbnB1dCBidWZmZXIuCgoyMDE0LTEwLTE0IDE2OjQxOjUxICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBhZGQgdXBsb2FkZWRfYnVmZmVyIGZpZWxkCgoyMDE0LTA5LTIyIDA5OjQ0OjE0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcGFyc2UgZnJhbWUgaGVhZGVyIHdoZW4gc3RyZWFtIGZvcm1hdCBpcyBBU0YvcmF3IGZvciBzaW1wbGUvbWFpbiBwcm9maWxlCgkgIFdoZW4gc3RyZWFtLWZvcm1hdCBpcyBBU0Ygb3Igc2VxdWVuY2UtbGF5ZXItcmF3LWZyYW1lLCB3ZSBiYXNpY2FsbHkgaGF2ZQoJICBhIHJhdyBmcmFtZSBzbyB3ZSBjYW4gcGFyc2UgaXQgdG8gZXh0cmFjdCBzb21lIGluZm9ybWF0aW9uIHN1Y2ggdGhlCgkgIGtleWZyYW1lIGZsYWcuIFRoZSBvbmx5IHJlcXVpcmVtZW50IGlzIHRvIGhhdmUgYSB2YWxpZCBzZXF1ZW5jZS1oZWFkZXIuCgkgIFRoaXMgY29tbWl0IHBhcnNlIHRoZSBmcmFtZSBoZWFkZXIgYW5kIHNldCB0aGUgREVMVEFfVU5JVCBidWZmZXIgZmxhZyBpbgoJICBjYXNlIHRoZSBmcmFtZSBpcyBub3QgYSBrZXlmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUxOQoKMjAxNC0xMC0xNCAxMDo1MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjU6IENoYW5nZSByYW5rIHRvIFNFQ09OREFSWSwgZ3N0LWxpYmF2IGhhcyBQUklNQVJZIHJhbmsKCjIwMTQtMDktMTcgMTA6Mzg6NDQgKzAyMDAgIEpvYWNoaW0gQmF1Y2ggPGJhdWNoQHN0cnVrdHVyLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJkZTI2NS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmRlMjY1L2dzdGxpYmRlMjY1LmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgSW50ZWdyYXRlIGxpYmRlMjY1IGludG8gZ3N0LXBsdWdpbnMtYmFkLgoKMjAxNC0xMC0xMyAxNDowNToyNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGp1c3QgYXNzdW1lIG5vbmUgaGVhZGVyLWZvcm1hdCB3aGVuIG5vIGNvZGVjX2RhdGEgaXMgcHJlc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NDQ5CgoyMDE0LTEwLTE0IDA5OjE5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFNldCByZW9yZGVyIGxlbmd0aCB0byAwIGlmIHdlIGNhbid0IGNhbGN1bGF0ZSBpdAoJICBJbnN0ZWFkIG9mIGxlYXZpbmcgaXQgYXQgd2hhdGV2ZXIgdmFsdWUgaXQgaGFkIGJlZm9yZS4KCjIwMTQtMTAtMTMgMTM6Mjg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE9ubHkgZmluYWxpemUgdGhlIG90aGVyIGNvbnRleHQgaW4gZmluYWxpemUoKQoJICBPdGhlcndpc2Ugd2UgY2hhbmdlIGEgdmFsdWUgb2YgYSBwcm9wZXJ0eSB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlLAoJICB3aGljaCBpcyB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCjIwMTQtMTAtMTMgMTM6Mjc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBDYWxsIHRoZSBwYWQncyBwYXJlbnQgY2xhc3MgZmluYWxpemUgbWV0aG9kCgoyMDE0LTEwLTEzIDEzOjI3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogT25seSBmaW5hbGl6ZSB0aGUgb3RoZXIgY29udGV4dCBpbiBmaW5hbGl6ZSgpCgkgIE90aGVyd2lzZSB3ZSBjaGFuZ2UgYSB2YWx1ZSBvZiBhIHByb3BlcnR5IHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUsCgkgIHdoaWNoIGlzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoKMjAxNC0xMC0xMyAxMzoyNTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IEFkZCBvdGhlci1jb250ZXh0IHByb3BlcnR5CgoyMDE0LTEwLTEzIDExOjU2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBEb24ndCBsZWFrIG90aGVyLWNvbnRleHQKCjIwMTQtMTAtMTMgMTE6NTM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiBBZGQgb3RoZXItY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMC0xMiAyMToyNToxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YjogbWFrZSBpbnRlcmxlYXZpbmcgYSBwcm9wIGFuZCBwcm94eSBvbiBkdmJiYXNlYmluCgkgIERUVl9JTlRFUkxFQVZJTkcgaXMgY3VycmVudGx5IHVzZWQgb25seSBmb3IgRFRCTS4gVGhpcyBpcwoJICBjb25ncnVlbnQgd2l0aCB0aGUgdjRsIGR2YiBBUEkgd2hlcmUgdGhlIGRpZmZlcmVudCBpbnRlcmxlYXZpbmcKCSAgbW9kZXMgd2hlcmUgYWRkZWQgZm9yIHY1LjcKCjIwMTQtMTAtMTIgMTg6MzA6MzggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHRyYW5zbWlzc2lvbiBtb2RlIGNoZWNrcyBmb3IgRFZCLVQvVDIKCSAgVGhlc2UgYW5kIGV2ZXJ5IHNhbml0eSBjaGVjayBsZWFkaW5nIHRvIGEgd2FybmluZwoJICAod2UgaGF2ZSBhIGZldyBpbiBwbGFjZSkgc2hvdWxkIGNvbWUgaGFuZHkgd2hlbgoJICBkZWJ1Z2luZyBmYWlsZWQgdHVubmluZyBzY2VuYXJpb3MuCgoyMDE0LTEwLTEyIDEzOjM0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRvY3MsIGRyb3AgdjUgQVBJIGNoYW5nZSBoaXN0b3J5IGNvbW1lbnRzIDwgLjUKCSAgV2Ugb25seSBzdXBwb3J0IGZyb20gbWlub3IgNSBhbmQgdXAgbm93LiBBbHNvIGFkZCBhCgkgIG5vdGUgYWJvdXQgdGhlIHJlY2VudGx5IGFkZGVkIHByZWxpbWluYXIgRFRNQiBzdXBwb3J0LgoKMjAxNC0xMC0xMiAxMzowODoxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBEVkItVDIgYmFuZHdpZHRoIHR5cGVzCgkgIERWQi1UMiBzdXBwb3J0cyA1LCAxMCBhbmQgMS43MTIgTUh6CgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHZhbHVlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeQoKMjAxNC0xMC0wNyAxMDozNzozMyArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IHJlbmRlciB0d2ljZSB0aGUgc2FtZSBidWZmZXIKCSAgRG8gbm90IHRyeSB0byByZW5kZXIgYSBidWZmZXIgdGhhdCBpcyBhbHJlYWR5IGJlaW5nIHJlbmRlcmVkLgoJICBUaGlzIGhhcHBlbnMgdHlwaWNhbGx5IGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXJpbmcgc3RhZ2UgYXMgdGhlIGZpcnN0CgkgIGJ1ZmZlciBpcyByZW5kZXJlZCB0d2ljZTogZmlyc3QgYnkgcHJlcm9sbCgpLCB0aGVuIGJ5IHJlbmRlcigpLgoJICBUaGlzIGNvbW1pdCBhdm9pZHMgdGhpcyBhc3NlcnRpb24gZmFpbHVyZToKCSAgQ1JJVElDQUw6IGdzdF93YXlsYW5kX2NvbXBvc2l0b3JfYWNxdWlyZV9idWZmZXI6IGFzc2VydGlvbgoJICAnbWV0YS0+dXNlZF9ieV9jb21wb3NpdG9yID09IEZBTFNFJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODA2OQoJICBTaWduZWQtb2ZmLWJ5OiBGYWJpZW4gRGVzc2VubmUgPGZhYmllbi5kZXNzZW5uZUBzdC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKMjAxNC0wNy0yNCAxNjo1Mzo1MyArMDIwMCAgVGlmYWluZSBJbmd1ZXJlIDx0aWZhaW5lLmluZ3VlcmVAc3QuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsgOiBBbGxvdyBzdXJmYWNlIHRvIGNhdGNoIGlucHV0IGV2ZW50cwoJICBJZiB3YXlsYW5kc2luayBpcyB0aGUgb3duZXIgb2YgdGhlIGRpc3BsYXkgdGhlbiBpdCBpcyBpbiBjaGFyZ2UKCSAgb2YgY2F0Y2hpbmcgaW5wdXQgZXZlbnRzIG9uIHRoZSBzdXJmYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjgyCgkgIFNpZ25lZC1vZmYtYnk6IFRpZmFpbmUgSW5ndWVyZSA8dGlmYWluZS5pbmd1ZXJlQHN0LmNvbT4KCSAgUmV2aWV3ZWQtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKMjAxNC0wNy0wMiAxMzoyOTo1NSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHRha2UgaW50byBhY2NvdW50IHRoZSBjYXNlIHdoZXJlIGEgcG9vbCBtYXkgYmUgZGVzdHJveWVkIHRvZ2V0aGVyIHdpdGggR3N0V2xEaXNwbGF5CgkgIFRoZXJlIGFyZSB0d28gY2FzZXMgY292ZXJlZCBoZXJlOgoJICAxKSBUaGUgR3N0V2xEaXNwbGF5IGZvcmNlcyB0aGUgcmVsZWFzZSBvZiB0aGUgbGFzdCBidWZmZXIgYW5kIHRoZSBwb29sCgkgIGdldHMgZGVzdHJveWVkIGluIHRoaXMgY29udGV4dCwgd2hpY2ggbWVhbnMgaXQgdW5yZWdpc3RlcnMgYWxsIHRoZQoJICBvdGhlciBidWZmZXJzIGZyb20gdGhlIEdzdFdsRGlzcGxheSBhcyB3ZWxsIGFuZCB0aGUgZGlzcGxheS0+YnVmZmVycwoJICBoYXNoIHRhYmxlIGdldHMgY29ycnVwdGVkIGJlY2F1c2UgaXQgaXMgaXRlcmF0aW5nLgoJICAyKSBUaGUgcG9vbCBhbmQgaXRzIGJ1ZmZlcnMgZ2V0IGRlc3Ryb3llZCBjb25jdXJyZW50bHkgZnJvbSBhbm90aGVyCgkgIHRocmVhZCB3aGlsZSBHc3RXbERpc3BsYXkgaXMgZmluYWxpemluZyBhbmQgbWFueSB0aGluZ3MgZ2V0IGNvcnJ1cHRlZC4KCjIwMTQtMDctMDEgMTE6NDM6MjAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5oOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBzdGFjayB0aGUgdmlkZW8gc3Vic3VyZmFjZSBpbnRvIGFub3RoZXIgc3Vic3VyZmFjZSB0aGF0IGNvdmVycyB0aGUgd2hvbGUgcmVuZGVyIHJlY3RhbmdsZQoJICBUaGUgbWFpbiByZWFzb24gYmVoaW5kIHRoaXMgaXMgdGhhdCB3aGVuIHRoZSB2aWRlbyBjYXBzIGNoYW5nZSBhbmQgdGhlIHZpZGVvCgkgIHN1YnN1cmZhY2UgbmVlZHMgdG8gcmVzaXplIGFuZCBjaGFuZ2UgcG9zaXRpb24sIHRoZSB3bF9zdWJzdXJmYWNlLnNldF9wb3NpdGlvbgoJICBjYWxsIG5lZWRzIGEgY29tbWl0IGluIGl0cyBwYXJlbnQgaW4gb3JkZXIgdG8gdGFrZSBlZmZlY3QuIFByZXZpb3VzbHksCgkgIHRoZSBwYXJlbnQgd2FzIHRoZSBhcHBsaWNhdGlvbidzIHN1cmZhY2UsIG92ZXIgd2hpY2ggdGhlcmUgaXMgbm8gY29udHJvbC4KCSAgTm93LCB0aGUgcGFyZW50IGlzIGluc2lkZSB0aGUgc2luaywgc28gd2UgY2FuIGNvbW1pdCBpdCBhbmQgY2hhbmdlIHNpemUgc21vb3RobHkuCgkgIEFzIGEgc2lkZSBlZmZlY3QsIHRoaXMgYWxzbyBhbGxvd3MgdGhlIHNpbmsgdG8gZHJhdyBpdHMgYmxhY2sgYm9yZGVycyBvbgoJICBpdHMgb3duLCB3aXRob3V0IHRoZSBuZWVkIGZvciB0aGUgYXBwbGljYXRpb24gdG8gZG8gdGhhdC4gQW5kIGFub3RoZXIgc2lkZQoJICBlZmZlY3QgaXMgdGhhdCB0aGlzIGNhbiBub3cgYWxsb3cgcmVzaXppbmcgdGhlIHNpbmsgd2hlbiBpdCBpcyBpbiB0b3AtbGV2ZWwKCSAgbW9kZSBhbmQgaGF2ZSBpdCByZXNwZWN0IHRoZSBhc3BlY3QgcmF0aW8uCgoyMDE0LTA2LTIwIDE2OjI0OjM2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkgIHdheWxhbmRzaW5rOiByZW5hbWUgdmlkZW8gZm9ybWF0IGNvbnZlcnNpb24gZnVuY3Rpb25zIHRvIGluZGljYXRlIHRoZXkgYXJlIGFib3V0IHdsX3NobQoJICBOZWVkZWQgdG8gYWRkIGxpbnV4X2RtYWJ1ZiBmb3JtYXQgY29udmVyc2lvbiBmdW5jdGlvbnMgbGF0ZXIKCjIwMTQtMDYtMjMgMTc6Mjc6MDEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIHVnbHkgZ3N0X3dsX2Rpc3BsYXlfc3RvcCgpIG5vdyB0aGF0IHRoaXMgbWVjaGFuaXNtIGlzIG5vdCBuZWVkZWQgYW55bW9yZQoJICBCZWNhdXNlIHdlIG5vIGxvbmdlciBoYXZlIGEgY3VzdG9tIGJ1ZmZlciBwb29sIHRoYXQgaG9sZHMgYSByZWZlcmVuY2UKCSAgdG8gdGhlIGRpc3BsYXksIHRoZXJlIGlzIG5vIHdheSBmb3IgYSBjeWNsaWMgcmVmZXJlbmNlIHRvIGhhcHBlbiBsaWtlCgkgIGJlZm9yZSwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZXhwbGljaXRseSBjYWxsIGEgZnVuY3Rpb24gZnJvbSB0aGUKCSAgZGlzcGxheSB0byByZWxlYXNlIHRoZSB3bF9idWZmZXJzLgoJICBIb3dldmVyLCB0aGUgZ2VuZXJhbCBtZWNoYW5pc20gb2YgcmVnaXN0ZXJpbmcgYnVmZmVycyB0byB0aGUgZGlzcGxheQoJICBhbmQgZm9yY2libHkgcmVsZWFzaW5nIHRoZW0gd2hlbiB0aGUgZGlzcGxheSBpcyBkZXN0cm95ZWQgaXMgc3RpbGwKCSAgbmVlZGVkIHRvIGF2b2lkIHBvdGVudGlhbCBtZW1vcnkgbGVha3MuIFRoZSBjb21tZW50IGluIHdsYnVmZmVyLmMKCSAgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjdXJyZW50IHNpdHVhdGlvbi4KCjIwMTQtMDYtMjMgMTY6NDA6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuaDoKCSAgd2F5bGFuZHNpbms6IHJlcGxhY2UgdGhlIGN1c3RvbSBidWZmZXIgcG9vbCB3aXRoIGFuIGFsbG9jYXRvcgoJICBUaGlzIHJlZHVjZXMgdGhlIGNvbXBsZXhpdHkgb2YgaGF2aW5nIGEgY3VzdG9tIGJ1ZmZlciBwb29sLCBhcwoJICB3ZSBkb24ndCByZWFsbHkgbmVlZCBpdC4gV2Ugb25seSBuZWVkIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBwYXJ0LgoJICBBbmQgc2luY2UgdGhlIHdsX2J1ZmZlciBpcyBubyBsb25nZXIgc2F2ZWQgaW4gYSBHc3RNZXRhLCB3ZSBjYW4KCSAgY3JlYXRlIGl0IGFuZCBhZGQgaXQgb24gdGhlIGJ1ZmZlcnMgaW4gdGhlIHNpbmsncyByZW5kZXIoKQoJICBmdW5jdGlvbiwgd2hpY2ggcmVtb3ZlcyB0aGUgcmVmZXJlbmNlIGN5Y2xlIGNhdXNlZCBieSB0aGUgcG9vbAoJICBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBkaXNwbGF5IGFuZCBhbHNvIGFsbG93cyBtb3JlIGdlbmVyaWMKCSAgc2NlbmFyaW9zICh0aGUgYWxsb2NhdG9yIGJlaW5nIHVzZWQgaW4gYW5vdGhlciBwb29sLCBvciBidWZmZXJzCgkgIGJlaW5nIGFsbG9jYXRlZCB3aXRob3V0IGEgcG9vbCBbaWYgYW55dGhpbmcgc3R1cGlkIGRvZXMgdGhhdF0pLgoJICBUaGlzIGNvbW1pdCBhbHNvIHNpbXBsaWZpZXMgdGhlIHByb3Bvc2VfYWxsb2NhdGlvbigpIGZ1bmN0aW9uLAoJICB3aGljaCBkb2Vzbid0IHJlYWxseSBuZWVkIHRvIGRvIGFsbCB0aGVzZSBjb21wbGljYXRlZCBjaGVja3MsCgkgIHNpbmNlIHRoZXJlIGlzIGFsd2F5cyBhIGNvcnJlY3QgYnVmZmVyIHBvb2wgYXZhaWxhYmxlLCBjcmVhdGVkCgkgIGluIHNldF9jYXBzKCkuCgkgIFRoZSBvdGhlciBzaWRlIGVmZmVjdCBvZiB0aGlzIGNvbW1pdCBpcyB0aGF0IGEgbmV3IHdsX3NobV9wb29sCgkgIGlzIG5vdyBjcmVhdGVkIGZvciBldmVyeSBHc3RNZW1vcnksIHdoaWNoIG1lYW5zIHRoYXQgd2UgdXNlCgkgIGFzIG11Y2ggc2htIG1lbW9yeSBhcyB3ZSBhY3R1YWxseSBuZWVkIGFuZCBubyBtb3JlLiBQcmV2aW91c2x5LAoJICB0aGUgY3JlYXRlZCB3bF9zaG1fcG9vbCB3b3VsZCBhbGxvY2F0ZSBzcGFjZSBmb3IgMTUgYnVmZmVycywgbm8KCSAgbWF0dGVyIGlmIHRoZXkgd2VyZSBiZWluZyB1c2VkIG9yIG5vdC4KCjIwMTQtMDYtMjAgMTQ6NDc6NTcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcmV3b3JrIHRoZSBtZWNoYW5pc20gZm9yIGtlZXBpbmcgYnVmZmVycyBvdXQgb2YgdGhlIHBvb2wgdW50aWwgd2xfYnVmZmVyOjpyZWxlYXNlCgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBHc3RXbE1ldGEgYW5kIGFkZHMgYSB3cmFwcGVyIGNsYXNzIGZvciB3bF9idWZmZXIKCSAgd2hpY2ggaXMgc2F2ZWQgaW4gdGhlIEdzdEJ1ZmZlciBxZGF0YSBpbnN0ZWFkIG9mIGJlaW5nIGEgR3N0TWV0YS4KCSAgVGhlIG1vdGl2YXRpb24gYmVoaW5kIHRoaXMgaXMgbWFpbmx5IHRvIGFsbG93IGF0dGFjaGluZyB3bF9idWZmZXJzIG9uCgkgIEdzdEJ1ZmZlcnMgdGhhdCBoYXZlIG5vdCBiZWVuIGFsbG9jYXRlZCBpbnNpZGUgdGhlIEdzdFdheWxhbmRCdWZmZXJQb29sLAoJICBzbyB0aGF0IGlmIGZvciBleGFtcGxlIGFuIHVwc3RyZWFtIGVsZW1lbnQgaXMgc2VuZGluZyB1cyBhIGJ1ZmZlcgoJICBmcm9tIGEgZGlmZmVyZW50IHBvb2wsIHdoaWNoIGhvd2V2ZXIgZG9lcyBub3QgbmVlZCB0byBiZSBjb3BpZWQKCSAgdG8gYSBidWZmZXIgZnJvbSBvdXIgcG9vbCBiZWNhdXNlIGl0IG1heSBiZSBhIGhhcmR3YXJlIGJ1ZmZlcgoJICAoaGVsbG8gZG1hYnVmISksIHdlIGNhbiBjcmVhdGUgYSB3bF9idWZmZXIgZGlyZWN0bHkgZnJvbSBpdCBhbmQgZmlyc3QsCgkgIGF0dGFjaCBpdCBvbiBpdCBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gcmUtY3JlYXRlIGEgd2xfYnVmZmVyIGV2ZXJ5CgkgIHRpbWUgdGhlIHNhbWUgR3N0QnVmZmVyIGFycml2ZXMgYW5kIHNlY29uZCwgZm9yY2UgdGhlIHdob2xlIG1lY2hhbmlzbQoJICBmb3Iga2VlcGluZyB0aGUgYnVmZmVyIG91dCBvZiB0aGUgcG9vbCB1bnRpbCB0aGVyZSBpcyBhIHdsX2J1ZmZlcjo6cmVsZWFzZQoJICBvbiB0aGF0IGZvcmVpZ24gR3N0QnVmZmVyLgoKMjAxNC0xMC0wOSAwODoyMDoxNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBvcHRpbWl6ZSBwYXJzZSBsb2dpYwoJICBIZWFkZXIgd2lsbCBiZSByZWFkIGVhY2ggYW5kIGV2ZXJ5dGltZSBwYXJzZSBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAoJICB3aGljaCBpcyBub3QgbmVjZXNzYXJ5IHNpbmNlIHVudGlsIHdlIGhhdmUgY29tcGxldGUgZGF0YSwKCSAgd2UgbmVlZCBub3QgcGFyc2UgdGhlIGhlYWRlciBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzk4NAoKMjAxNC0xMC0xMCAxMzowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBkb24ndCBsZWFrIGluY29taW5nIGNhcHMgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODI5MQoKMjAxNC0xMC0wOSAxODoxODowMiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZpeCBmcmFtZXNpemUgd2hlbiBpbnB1dCBpcyBmcmFtZS1sYXllcgoJICBmcmFtZS1sYXllciBoZWFkZXIgaXMgcmVwcmVzZW50ZWQgYXMgYSBzZXF1ZW5jZSBvZiAzMiBiaXQgdW5zaWduZWQKCSAgaW50ZWdlciBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZSBvcmRlciwgc28gZnJhbWVzaXplIGlzIG9uIHRoZQoJICBmaXJzdCAzIGJ5dGVzLgoJICBTTVBURSA0MjFNIEFubmV4IEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyNDMKCjIwMTQtMTAtMDcgMTc6MDU6MDQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogbWVudGlvbiBmbHVpZGRlYyBpbnN0ZWFkIG9mIGZsdWlkc3ludGgKCSAgVGhlIGVsZW1lbnQgbmFtZSBpcyBhY3R1YWxseSBmbHVpZGRlYyBldmVuIGlmIGl0IHVzZXMgZmx1aWRzeW50aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIyMwoKMjAxNC0xMC0wOSAxMTo1MToxNiArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogZml4IHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMjMKCjIwMTQtMTAtMDkgMDQ6MTE6MDAgLTA0MDAgIERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogQWRkIHN1cHBvcnQgZm9yIExJTktUWVBFX1JBVwoJICBBbHNvLCBzdHJpY3RseSBzcGVha2luZywgdGhlc2UgbnVtYmVycyBhcmVuJ3QgRExUXyo7IHRoZXkgYXJlIExJTktUWVBFXyogYmVjYXVzZQoJICBsaWJwY2FwIHRyYW5zbGF0ZXMgZnJvbSBpbnRlcm5hbCBPUy1zcGVjaWZpYyBETFRfIG51bWJlcmluZyB0byB0aGUgcG9ydGFibGUKCSAgTElOS1RZUEVfIG51bWJlciBzcGFjZSB3aGVuIHdyaXRpbmcgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMDYKCjIwMTQtMTAtMDkgMTQ6NTE6NTYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3Q6IHVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBhdWRpb21peGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIyNwoKMjAxNC0xMC0wNyAxNjo1NzoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzL2FnZ3JlZ2F0b3I6IGFkZCB0aW1lb3V0IGhhbmRsaW5nIHRlc3QgZm9yIHRoZSB0aW1lb3V0IHBhcmFtZXRlcgoKMjAxNC0xMC0wNiAyMTo0NjoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogYWRkIGxhdGVuY3kgcXVlcnkgaGFuZGxpbmcKCjIwMTQtMTAtMDYgMTg6MzM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBzdXBwb3J0IHVucmVzcG9uc2l2ZSBwYWRzCgkgIFJlbmRlciB1bnJlc3BvbnNpdmUgcGFkcyB3aXRoIHRoZSBsYXN0IHZpZGVvIGZyYW1lIHJlY2VpdmVkLgoKMjAxNC0xMC0wNiAxODoyMzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBhIHRpbWVvdXQgcHJvcGVydHkgZGV0ZXJtaW5pbmcgYnVmZmVyIHdhaXQgdGltZQoJICBEZXRlcm1pbmVzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IGEgcGFkIHdpbGwgd2FpdCBmb3IgYSBidWZmZXIgYmVmb3JlCgkgIGJlaW5nIG1hcmtlZCB1bnJlc3BvbnNpdmUuCgkgIE5ldHdvcmsgc291cmNlcyBtYXkgZmFpbCB0byBwcm9kdWNlIGJ1ZmZlcnMgZm9yIGFuIGV4dGVuZGVkIHBlcmlvZCBvZiB0aW1lLAoJICBjdXJyZW50bHkgY2F1c2luZyB0aGUgcGlwZWxpbmUgdG8gc3RhbGwgcG9zc2libHkgaW5kZWZpbml0ZWx5LCB3YWl0aW5nIGZvcgoJICB0aGVzZSBidWZmZXJzIHRvIGFwcGVhci4KCSAgU3ViY2xhc3NlcyBzaG91bGQgcmVuZGVyIHVucmVzcG9uc2l2ZSBwYWRzIHdpdGggZWl0aGVyIHNpbGVuY2UgKGF1ZGlvKSwgdGhlCgkgIGxhc3QgKHZpZGVvKSBmcmFtZSBvciB3aGF0IG1ha2VzIHRoZSBtb3N0IHNlbnNlIGluIHRoZSBnaXZlbiBjb250ZXh0LgoKMjAxNC0xMC0wNiAxODoxMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVtb3ZlIHRoZSB1c2Ugb2YgdGhlIHF1ZXVlZCBidWZmZXIgb24gc2luayBwYWRzCgkgIFRoYXQgZGF0YSBpcyBub3cgaGVsZCBieSB0aGUgYWdncmVnYXRvciBjbGFzcwoKMjAxNC0xMC0wOSAxMTo0NjoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZXhwb3NlIHBhcnNlZCBwcm9maWxlLCB0aWVyIGFuZCBsZXZlbCB0byBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzkKCjIwMTQtMTAtMDkgMDE6MTg6MTYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIHBhcnNlZCBwcm9maWxlIGFuZCBsZXZlbCB0byBkb3duc3RyZWFtCgkgIFNldCBwYXJzZWQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzkKCjIwMTQtMTAtMDkgMTA6NTQ6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEFkZCBzdXBwb3J0IGZvciBIaURQSSBkaXNwbGF5cwoJICBXaXRob3V0IHRoaXMgb3VyIEdMIHN1cmZhY2Ugd291bGQgYmUgdXBzY2FsZWQgYWZ0ZXIgcmVuZGVyaW5nCgkgIGJ5IENvY29hLCB3aGljaCB3b3VsZCByZWR1Y2UgaW1hZ2UgcXVhbGl0eS4KCjIwMTQtMTAtMDkgMTI6Mjg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogb3V0cHV0IHdoeSB3ZSBjYW5ub3QgY29udmVydCBhIGJ1ZmZlcgoKMjAxNC0xMC0wOSAxMjoyNTo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggcGxhbmFyIFlVViBkb3dubG9hZAoJICAtIHNhbXBsZSB0aGUgdSBhbmQgdiBwbGFuZXMgcHJvcGVybHkKCSAgLSBvdXRwdXQgdGhlIGNvcnJlY3RseSBzY2FsZWQgdSBhbmQgdiBwbGFuZXMgZm9yIGRpZmZlcmVudCBjaHJvbWEgYmxvY2sgc2l6ZXMKCjIwMTQtMTAtMDggMjE6NTE6MTIgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPG4udml2aWFAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IEFuZCBmaXggYW5vdGhlciB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0xMC0wOCAyMTo0OToyNSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8bi52aXZpYUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGhvdXQgZGVza3RvcCBHTAoKMjAxNC0wOS0yNiAxMzo1NToyMCArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IEFkZCBZVlU5IGFuZCBZVVY5IHRvIFpCQVJfWVVWX0NBUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzQwNwoKMjAxNC0wOS0yOCAxMDo1MTowOSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCBjaGVja2VycyBwYXR0ZXJuIHdpdGggR0xTTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTA1CgoyMDE0LTEwLTA3IDE1OjI0OjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogRml4IE0zVTggcGFyc2luZyB1bml0IHRlc3QgYWZ0ZXIgQVBJIGNoYW5nZXMKCjIwMTQtMTAtMDIgMTA6Mzc6NTcgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogRml4IGFjY2Vzc2luZyBpbnZhbGlkYXRlZCBtZW1vcnkKCSAgSW4gZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCgpIHRoZSBuZXh0IGZyYWdtZW50IFVSSSBnZXRzCgkgIHN0b3JlZCBpbiBuZXh0X2ZyYWdtZW50X3VyaSwgYnV0IHRoZSBnc3RfaGxzX2RlbXV4X3VwZGF0ZXNfbG9vcCgpCgkgIGNhbiBhdCBhbnkgdGltZSB1cGRhdGUgdGhlIHBsYXlsaXN0LCByZW5kZXJpbmcgdGhpcyBzdHJpbmcgaW52YWxpZC4KCSAgVGhlcmVmb3JlLCBhbnkgZGF0YSAobGlrZSBrZXksIGl2LCBVUklzKSB0aGF0IGlzIHRha2VuIGZyb20gYQoJICBHc3RNM1U4Q2xpZW50IG5lZWRzIHRvIGJlIGNvcGllZC4gSW4gYWRkaXRpb24sIGFjY2Vzc2luZyB0aGUKCSAgaW50ZXJuYWxzIG9mIGEgR3N0TTNVOENsaWVudCByZXF1aXJlcyBsb2NraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzkzCgoyMDE0LTEwLTA3IDEyOjEyOjA0ICswMjAwICBGZWxpeCBTY2h3YXJ6IDxmZWxpeC5zY2h3YXJ6QG9zcy5zY2h3YXJ6LmV1PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBmaXggdHlwb3MgaW4gY29tbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODA3MgoKMjAxNC0xMC0wNyAyMzowNDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggVVlWWSBkb3dubG9hZCBncmVlbiBzY3JlZW4KCjIwMTQtMTAtMDcgMjI6NTA6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbHJjb252ZXJ0OiBmaXggWVVZMiBkb3dubG9hZAoJICAtIFRoZSBzaGFkZXIgd2FzIG91dHB1dGluZyB0aGUgd3JvbmcgdmFsdWVzIGNvbXBhcmVkIHdpdGggcmF3CgkgIHZpZGVvdGVzdHNyYy4KCSAgLSBkZWFsIHdpdGggdGhlIHRleHR1cmUgZWRnZSBwcm9wZXJseS4KCSAgLSBwcm9wZXJseSBzYW1wbGUgdGhlIDJ4MSByZWN0YW5nbGUgZm9yIHRoZSB1IGFuZCB2IHZhbHVlcwoJICAtIGRvbid0IGRvdWJsZSBzYW1wbGUgdGhlIHkgdmFsdWUKCjIwMTQtMTAtMDYgMjE6MjU6MzAgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPG4udml2aWFAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogU2V0IENVUkxPUFRfVVBMT0FEIHRvIDEgdG8gbm90IHVzZSBWUkZZIGFuZCBvdGhlciB1bm5lZWRlZCBjb21tYW5kcwoJICBGaXhlcyB0aGUgc2luayB3aXRoIFNNVFAgc2VydmVycyB0aGF0IGRpc2FibGUgVlJGWSBmb3Igc3BhbSBwcm90ZWN0aW9uLgoJICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvY3VybC9idWdzLzEzODkvCgoyMDE0LTA5LTE3IDE2OjQ4OjAyICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXBsYWNlIEdNYWluQ29udGV4dCB3aXRoIEdBc3luY1F1ZXVlICh2MikKCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGtlcHQgYWNjdW11bGF0aW5nIEdTb3VyY2VzLAoJICBzbG93aW5nIGRvd24gdGhlIGl0ZXJhdGlvbiBhbmQgbGVha2luZyBtZW1vcnkuCgkgIEluc3RlYWQgb2YgdHJ5aW5nIHRvIGZpeCB0aGUgbWFpbiBjb250ZXh0IGZsdXNoaW5nLCByZXBsYWNlCgkgIGl0IHdpdGggYSBHQXN5bmNRdWV1ZSB3aGljaCBpcyBzaW1wbGUgdG8gZmx1c2ggYW5kIGhhcwoJICBsZXNzIG92ZXJoZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzgyCgoyMDE0LTEwLTA2IDEzOjA5OjAwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEhhbmRsZSBzZWVrIGV2ZW50IGluIFJFQURZIHN0YXRlCgoyMDE0LTA3LTIxIDExOjA3OjE5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogU2V0IHRoZSBzaW5rcGFkIHNlZ21lbnRzIGJhc2V0aW1lIGFmdGVyIHNlZWtpbmcKCSAgT3RoZXJ3aXNlIHN0cmVhbSBvZmZzZXQgYW5kIHJ1bm5pbmcgdGltZSBjb21wYXJpc29uIHdpbGwgbm90IGJlCgkgIGNvcnJlY3QsIGxlYWRpbmcgdG8gc2VnZmF1bHRzIGFmdGVyIHNlZWtzCgoyMDE0LTA1LTI4IDE2OjI5OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUG9ydCB0byBHc3RBZ2dyZWdhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxODMKCSAgQ28tQXV0aG9yZWQgYnk6IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCjIwMTQtMDktMjMgMTU6NTk6MTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEbyBub3Qgd3JvbmdseSBzZXQgdGhlIGFnZ3JlZ2F0b3Iuc2VnbWVudAoJICBUaGUgYWdncmVnYXRvci5zZWdtZW50IGlzIG5vdCB0byBiZSBpbml0aWFsaXplZCBieSB0aGUgc3ViY2xhc3NlcyBidXQKCSAgYnkgdGhlIGFnZ3JlZ2F0b3IgaXRzZWxmLiBNb3Jlb3ZlciwgaW5pdGlhbGl6aW5nIGl0IG9uIHN0YXJ0IHdvdWxkIG1ha2UKCSAgdXMgbG9vc2UgdGhlIGluZm9ybWF0aW9uIGNvbWluZyBmcm9tIHRoZSBpbml0aWFsIHNlZWsuCgoyMDE0LTA3LTMwIDExOjU3OjQ2ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWFrZSBzdXJlIG5vdCB0byB1bnJlZiBhIE5VTEwgcG9pbnRlcgoKMjAxNC0wOC0wNSAxNTozNjozMCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTZXQgc2VxbnVtIG9ubHkgd2hlbiBzZWdtZW50cyBhcmUgcmVjZWl2ZWQuCgoyMDE0LTA4LTAyIDE4OjI1OjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBhIHN0cmVhbWluZyBsb2NrIHNvIHRvIHNlY3VyZSBmbHVzaCBzdGFydCBhY3Rpb24KCSAgV2l0aG91dCBhIGxvY2sgdGhhdCBpcyB0YWtlbiBpbiBGTFVTSF9TVEFSVCB3ZSBoYWQgYSByYXJlIHJhY2Ugd2hlcmUgd2UKCSAgZW5kIHVwIGFnZ3JlZ2F0aW5nIGEgYnVmZmVyIHRoYXQgd2FzIGJlZm9yZSB0aGUgd2hvbGUgRkxVU0hfU1RBUlQvU1RPUAoJICBkYW5jZS4gVGhhdCBjb3VsZCBsZWFkIHRvIHZlcnkgd3JvbmcgYmVoYXZpb3VyIGluIHN1YmNsYXNzZXMuCgoyMDE0LTA3LTE4IDEzOjU4OjU1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFF1ZXJ5IHNlZWtpbmcgd2hlbiBhIHNlZWsgZmFpbGVkIHRvIHNlZSBpZiBpdCB3YXMgZXhwZWN0ZWQKCSAgQW5kIGRvIG5vdCB3b3JyeSBpZiBzZWVraW5nIGZhaWxlZCBvbiBhIHN0cmVhbSB0aGF0IGlzIG5vdCBzZWVrYWJsZQoKMjAxNC0wNy0xOCAwMTo0MToyNiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBzZXQgZnV0dXJlIHNlcW51bSBiZWZvcmUgcHJvcGFnYXRpbmcgdGhlIHNlZWsgZXZlbnQuCgkgIFNvIHRoZSBzZXFudW0gaXMgcHJvcGVybHkgc2V0IGZvciB0aGUgZm9sbG93aW5nIGV2ZW50cy4KCjIwMTQtMDctMDggMTY6MTY6NTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU3RvcmUgc2VnbWVudCB3aGVuIHNlZWtlZCBpbiBSRUFEWSBmb3IgbGF0ZXIgdXNlCgoyMDE0LTEwLTA2IDE2OjQ0OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0cGx1Z2luLmM6CgkgIG9wZW5oMjY0OiBVc2UgYSBNQVJHSU5BTCByYW5rIGZvciB0aGUgZW5jb2RlciBhbmQgZGVjb2RlcgoJICBUaGV5IHdvcmsgYnV0IGZvciBub3cgd2UgcHJlZmVyIG90aGVycyB1bnRpbCB0aGVzZSBhcmUgZXh0ZW5zaXZlbHkgdGVzdGVkLgoKMjAxNC0xMC0wMSAxMDo1NzoyNiArMDIwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBFbWFpbCB3aXRoIG11bHRpcGFydCBjb250ZW50LXR5cGUgc2hvdWxkIGVuZCB3aXRoIGEgZmluYWwgYm91bmRhcnkKCSAgQWRkIGZpbmFsIGJvdW5kYXJ5IGZvciBlYWNoIG9mIHRoZSBzZW5kaW5nIG91dCBlbWFpbHMgZnJvbSBzbXRwc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEzNAoKMjAxNC0xMC0wNiAxMTo0NDoxMiArMDEwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmlkZW9wYXJzZXI6IGNvbW1lbnQgdW51c2VkIEdTVF9CQVNFX1BBUlNFX0ZSQU1FX0ZMQUdfUEFSU0lORwoJICBHU1RfQkFTRV9QQVJTRV9GUkFNRV9GTEFHX1BBUlNJTkcgdmFsdWUgaXMgd3JvbmcsIGFuZCB0aGUgc2FtZSBmbGFnIGlzCgkgIG5vdCBiZWluZyB1c2VkIHByZXNlbnRseS4gSGVuY2UgY2hhbmdpbmcgdGhlIHZhbHVlIGFuZCBjb21tZW50aW5nIGl0IG91dC4KCSAgVGhpcyBuZWVkcyB0byBiZSBpbmNsdWRlZCBpbiBiYXNlcGFyc2UuaCBsYXRlciBvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NDExCgoyMDE0LTEwLTA0IDIwOjU1OjA4ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBtYWtlIGRlbm9pc2Ugd29yawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODk0CgoyMDE0LTEwLTA2IDEwOjExOjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFVubWFwIGFuZCBmcmVlIEdzdFZpZGVvRnJhbWVzIGFzIG5lZWRlZCBhZnRlciBjb252ZXJzaW9uIGFuZCBlcnJvcnMKCjIwMTQtMTAtMDYgMTA6MTE6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVucmVmIHRoZSB0YWdsaXN0IGluIEdzdEFnZ3JlZ2F0b3I6OnN0b3AoKQoKMjAxNC0xMC0wMyAyMDo0Mjo1OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgRFRNQgoJICBQcmV2aW91c2x5IGtub3duIGFzIERNQi1UL0gsIHRoaXMgaXMgdGhlCgkgIHRlcnJlc3RpYWwgRFRWIGJyb2FkY2FzdCBzdGFuZGFyZCBjdXJyZW50bHkKCSAgdXNlZCBieSB0aGUgUGVvcGxlJ3MgUmVwdWJsaWMgb2YgQ2hpbmEsCgkgIEhvbmcgS29uZywgTGFvcyBhbmQgTWFjYXUgKG9mZmljaWFsbHkpLAoJICBhbmQgYnkgTWFsYXlzaWEsIElyYXEsIEpvcmRhbiwgU3lyaWEgYW5kCgkgIExlYmFub24gKGV4cGVyaW1lbnRhbGx5KS4KCjIwMTQtMTAtMDMgMjA6MjA6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3Npbmcgc3RhbmRhcmQgdHJhbnNtaXNzaW9uIG1vZGVzCgkgIFRoZXNlIGFwcGx5IHRvIElTREItVCwgRFZCLVQyIGFuZCBEVE1CCgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHJhdGVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNC0xMC0wMyAyMDowMzoyNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBEVE1CIGd1YXJkIGludGVydmFscwoKMjAxNC0xMC0wMyAxOTo1NTowMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBEVkItVDIgZ3VhcmQgaW50ZXJ2YWxzCgkgIEFjY29yZGluZyB0byB0aGUgdjRsLWR2YiBBUEkgZG9jcywgdGhlc2UgYXJlIG9ubHkKCSAgdXNlZCBmb3IgRFZCLVQyIGF0IHRoZSBtb21lbnQuCgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHJhdGVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNC0xMC0wMyAxOToyMDowMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBmaXggdHlwbyBpbiBHc3RNcGVndHNFeHRlbmRlZEV2ZW50RGVzY3JpcHRvciBkb2MKCjIwMTQtMTAtMDMgMTk6MDY6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIF9NVVRBQkxFX1BMQVlJTkcgdG8gdHVuaW5nIHByb3BzCgkgIFRoZSBlbGVtZW50IGNhbiAocmUpdHVuZSB3aGlsZSBwbGF5aW5nIHNvIGJhc2ljYWxseQoJICBldmVyeSBwcm9wZXJ0eSB1c2VkIGF0IHNldF9mZV9wYXJhbXMoKSBjYW4gYmUgc2V0CgkgIGluIHN0YXRlIDw9IFBMQVlJTkcuCgoyMDE0LTEwLTAzIDE3OjIyOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFRoZSBjb2RlYyBjYW4gb25seSBkbyBiYXNlbGluZSBzbyBzaW1wbGlmeSB0aGUgY29kZSBhIGJpdAoJICBhbmQgZGVjbGFyZSB0aGlzIGFsc28gb24gdGhlIHNyY3BhZCBjYXBzLgoJICBXaXRoIGJhc2VsaW5lIHByb2ZpbGUgdGhlcmUgYXJlIG5vIEItZnJhbWVzIG9yIGZyYW1lIHJlb3JkZXJpbmcuCgoyMDE0LTEwLTAzIDE3OjIwOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IE9uIDo6ZmluaXNoKCkgc3RvcCB0cnlpbmcgaWYgdGhlIGRlY29kZXIgcmV0dXJuZWQgdGhhdCBubyBvdXRwdXQgaXMgYXZhaWxhYmxlCgoyMDE0LTEwLTAzIDEzOjU0OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0cGx1Z2luLmM6CgkgIG9wZW5oMjY0OiBSdW4gZ3N0LWluZGVudCBvdmVyIGV2ZXJ5dGhpbmcKCjIwMTQtMTAtMDMgMTM6NTI6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvTWFrZWZpbGUuYW06CgkgIG9wZW5oMjY0OiBSZW1vdmUgdW51c2VkIGNvZGVjcGFyc2VycyBsaWIKCjIwMTQtMTAtMDIgMTY6NDY6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgbWlzc2luZyBBUEkgaW4gb3BlbmgyNjQKCjIwMTQtMTAtMDIgMTY6MzM6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVHJ5IHRvIGhhbmRsZSBmcmFtZSByZW9yZGVyaW5nCgkgIEFzIG9wZW5oMjY0IGhhcyBubyB3YXkgdG8gYXR0YWNoIGFueSBJRHMgdG8gaW5wdXQgZnJhbWVzIHRoYXQgd2UgdGhlbiBnZXQgb24KCSAgdGhlIG91dHB1dCBmcmFtZXMsIHdlIGhhdmUgdG8gYXNzdW1lIHRoYXQgdGhlIGlucHV0IGhhcyB2YWxpZCBQVFMuIFdlIGp1c3QKCSAgdGFrZSB0aGUgZnJhbWUgd2l0aCB0aGUgb2xkZXN0IFBUUywgYW5kIGlmIHRoZXJlIGlzIG5vIFBUUyBpbmZvcm1hdGlvbiB3ZSB0YWtlCgkgIHRoZSBvbmUgd2l0aCB0aGUgb2xkZXN0IERUUy4KCjIwMTQtMTAtMDIgMTY6MjM6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRG9uJ3QgZHJvcCB2aWRlb2NvZGVjIGZyYW1lcyBpZiB3ZSBjYW4ndCBkZWNvZGUgdGhlbSAqeWV0KgoJICBGaXhlcyBqaXR0ZXJ5IHBsYXliYWNrIG9mIHN0cmVhbXMgd2l0aCBCIGZyYW1lcy4KCjIwMTQtMTAtMDIgMTY6MjE6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogR3N0VmlkZW9EZWNvZGVyIHdvcmtzIG9uIGZyYW1lcywgbm90IHN1Yi1mcmFtZXMgKGUuZy4gTkFMcykKCSAgQW5kIHdlIGNhbiBqdXN0IHBhc3MgY29tcGxldGUgQVVzIHRvIHRoZSBkZWNvZGVyIHdpdGhvdXQgcHJvYmxlbXMuCgoyMDE0LTEwLTAyIDE2OjE5OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEFzIHdlIHJlcXVpcmUgTkFMIGFsaWdubWVudCBmcm9tIHVwc3RyZWFtIHdlIGRvbid0IG5lZWQgdG8gcGFyc2UgYW55dGhpbmcKCjIwMTQtMTAtMDIgMTU6NDg6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogUHJvcGVybHkgZHJhaW4gY29kZWMgb24gOjpmaW5pc2goKQoKMjAxNC0xMC0wMiAxNToyMjoxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBQcm9wZXJseSBkcmFpbiB0aGUgZW5jb2RlciBvbiA6OmZpbmlzaCgpCgoyMDE0LTEwLTAyIDE0OjM2OjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFdlIGFsd2F5cyBnZXQgYSBzaW5nbGUgZnJhbWUgYXMgb3V0cHV0LCBub3QgYSBOQUwKCSAgTm8gbmVlZCB0byBhY2N1bXVsYXRlIE5BTHMuCgoyMDE0LTEwLTAyIDE0OjIwOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEZpeCB1cCBjYXBzIGFuZCBzdHJpZGUgaGFuZGxpbmcKCjIwMTQtMTAtMDIgMTQ6MTU6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvTWV0YQoJICBUaGlzIHdpbGwgYWxsb3cgdXBzdHJlYW0gZWxlbWVudHMgdG8gd29yayBtb3JlIGVmZmljaWVudGx5LgoKMjAxNC0xMC0wMiAxNDoxMjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhCgkgIFRoaXMgd2lsbCBtYWtlIG9wZXJhdGlvbiB3aXRoIHZhcmlvdXMgc2lua3MgZmFzdGVyIGZvciBmcmVlLgoKMjAxNC0xMC0wMiAxNDowODo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBPcHRpbWl6ZSBmcmFtZSBjb3B5aW5nIGEgYml0CgoyMDE0LTEwLTAyIDE0OjA2OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgaW5wdXQgc3RhdGUKCjIwMTQtMTAtMDIgMTQ6MDM6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRml4IHZhcmlvdXMgY3Jhc2hlcyBvbiA6OnN0b3AoKQoKMjAxNC0xMC0wMiAxNDowMDowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBSZW1vdmUgaW52YWxpZCBzcHJvcHMtcGFyYW1ldGVyLXNldCBoYW5kbGluZwoJICBUaGlzIG9ubHkgZXhpc3RzIG9uIFJUUCBjYXBzLCBub3QgSDI2NCBjYXBzLgoKMjAxNC0xMC0wMiAxMzo1MzowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBEb24ndCBzZXQgY2FwcyBtYW51YWxseQoJICBUaGlzIHdpbGwgYnJlYWsgdGhlIG9yZGVyIG9mIGV2ZW50cyBpbiBHU3RyZWFtZXIuCgoyMDE0LTEwLTAyIDEzOjQ5OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEZpeCBpbnB1dCBzdGF0ZSBoYW5kbGluZyBhbmQgcHJvcGFnYXRpb24gb2YgdXBzdHJlYW0gY2FwcyBmaWVsZHMKCjIwMTQtMTAtMDMgMTM6NDU6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5oMjY0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuaDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NHBsdWdpbi5jOgoJICBvcGVuaDI2NDogQWRkIE9wZW5IMjY0IGJhc2VkIGVuY29kZXIvZGVjb2RlciBlbGVtZW50cwoJICBUaGVzZSBhcmUgdGhlIG9wZW5oMjY0IGVsZW1lbnRzIHJlbGVhc2VkIHVuZGVyIHRoZSBCU0QtMiBsaWNlbnNlCgkgIGJ5IEVyaWNzc29uIGFzIHBhcnQgb2YgdGhlIE9wZW5XZWJSVEMgcHJvamVjdC4KCSAgaHR0cHM6Ly9naXRodWIuY29tL0VyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3Nzg4CgoyMDE0LTA5LTE4IDE3OjE0OjIyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gbm90IHRvIHJlbGVhc2UgVklERU9fQUdHUkVHQVRPUl9MT0NLIHdoaWxlIHNldHRpbmcgZm9ybWF0IGluZm8KCSAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gYWx3YXlzIGtlZXAgdGhlIFZJREVPX0FHR1JFR0FUT1JfTE9DSyB3aGlsZQoJICBuZWdvdGlhdGluZyBjYXBzLCB0aGlzIHBhdGNoIGludHJvZHVjZSB0aGF0IGNoYW5nZS4KCSAgVGhhdCBhbHNvIGltcGxpZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCB0aGUgU0VUQ0FQU19MT0NLIGFueW1vcmUgYmVjYXVzZQoJICBub3cgVklERU9fQUdHUkVHQVRPUl9MT0NLIGd1YXJhbnRlZXMgdGhhdCBzZXRjYXBzIGlzIG5vdCBjYWxsZWQgZnJvbQoJICBzZXZlcmFsIHRocmVhZHMgYW5kIHRoZSBnc3RfYWdncmVnYXRvcl9zZXRfY2FwcyBtZXRob2QgaXMgbm93CgkgIHByb3RlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTA0MgoKMjAxNC0xMC0wMyAxMjozNDoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBUYWtlIGxvY2sgdG8gZW5zdXJlIHNldF9jYXBzIGlzIG5vdCBjYWxsZWQgY29uY3VyZW50bHkKCSAgQXZvaWRpbmcgdG8gYmUgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlIHdoZXJlIHdlIGRvIG5vdCBoYXZlCgkgIGFjdHVhbCBuZWdvdGlhdGUgY2FwcyBzZXQgYXMgc3JjY2FwcyBhbmQgbGVhZGluZyB0byBwb2ludCB3aGVyZSB3ZQoJICB0cnkgdG8gdW5yZWYgLT5zcmNjYXBzIHdoZW4gdGhleSBoYXZlIGFscmVhZHkgYmVlbiBzZXQgdG8gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTA0MgoKMjAxNC0wOS0yOSAxMDoxNTozOSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBnc3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgVGhlcmUgYXJlIHVubmVjZXNzYXJ5IGRlZmluaXRpb25zIGZvciBkaXNhYmxpbmcgZGVwcmVjYXRpb24gd2FybmluZ3MuCgkgIFNpbmNlIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyBpcyBub3QgbmVlZGVkIGFueW1vcmUgaW4gdGhlc2UgZmlsZXMsCgkgIHJlbW92aW5nIHRoZSBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTU5CgoyMDE0LTEwLTAxIDE2OjE5OjAyICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogdW5yZWYgY2FwcyB3aGVuIGl0IGlzIGVtcHR5IGluIHJlbmVnb3RpYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzcyNAoKMjAxNC0xMC0wMiAxMDoyNjo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBzaXplIGZvciBDT0xPUl9Gb3JtYXRZVVY0MjBQbGFuYXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDE1NgoKMjAxNC0xMC0wMSAxNzoyMjo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBbHNvIGNvcHkgb3ZlciB0aGUgY2hyb21hIHNpdGluZyBhbmQgY29sb3JpbWV0cnkgd2hlbiBkZWNpZGluZyBvbiBhIGNvbnZlcnNpb24KCjIwMTQtMTAtMDEgMTc6MTg6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdCBhbmQgaGFuZGxlIHJlc29sdXRpb25zIGRpZmZlcmVuY2VzIHByb3Blcmx5CgkgIFRoaXMgaXMgYWJvdXQgY29udmVydGluZyB0aGUgZm9ybWF0LCBub3QgYWJvdXQgY29udmVydGluZyBhbnkgd2lkdGhzIGFuZAoJICBoZWlnaHRzLiBTdWJjbGFzc2VzIGFyZSBleHBlY3RlZCB0byBoYW5kbGVyIGRpZmZlcmVudCByZXNvbHV0aW9ucyB0aGVtc2VsdmVzLAoJICBsaWtlIHRoZSB2aWRlb21peGVycyBhbHJlYWR5IGRvIHByb3Blcmx5LgoKMjAxNC0xMC0wMSAxNzoxMToxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBHc3RWaWRlb0NvbnZlcnRlciBjdXJyZW50bHkgY2FuJ3QgcmVzY2FsZSBhbmQgd2lsbCBhc3NlcnQKCSAgTGVhZHMgdG8gdWdseSBhc3NlcnRpb25zIGluc3RlYWQgb2YgcHJvcGVybHkgZXJyb3Jpbmcgb3V0OgoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXc6IGFzc2VydGlvbiAnaW5faW5mby0+d2lkdGggPT0gb3V0X2luZm8tPndpZHRoJyBmYWlsZWQKCjIwMTQtMTAtMDEgMTY6MDQ6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEFsd2F5cyB1cGRhdGUgb3VyIHZpZXdwb3J0IGlmIENvY29hIHRlbGxzIHVzIHNvbWV0aGluZyBoYXMgY2hhbmdlZAoJICBUaGUgdmlzaWJsZSByZWN0IGFuZCBib3VuZHMgbWlnaHQgYmUgdGhlIHNhbWUgYXMgYmVmb3JlLCBidXQgQ29jb2EKCSAgbWlnaHQndmUgY2hhbmdlZCBvdXIgdmlld3BvcnQgd2l0aG91dCB1cyBub3RoaW5nLiBUaGlzIGhhcHBlbnMgaWYKCSAgeW91IGhpZGUgdGhlIHZpZXcgYW5kIHNob3cgaXQgYWdhaW4uCgoyMDE0LTEwLTAxIDExOjU1OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBIYW5kbGUgTlNWaWV3OjpyZW5ld0dTdGF0ZSgpIHByb3Blcmx5CgkgIERvbid0IHVwZGF0ZSB0aGUgc2NyZWVuIHVudGlsIHdlIHJlZHJhdywgdGhpcyBwcmV2ZW50cyBmbGlja2VyaW5nIGR1cmluZwoJICBzY3JvbGxpbmcsIGNsaXBwaW5nLCByZXNpemluZywgZXRjCgoyMDE0LTEwLTAxIDAwOjUzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGRvbid0IGNyYXNoIG9uIDAtc2l6ZWQgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NjU4CgoyMDE0LTA5LTMwIDE0OjU4OjA2ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsdHJhbnNmb3JtYXRpb246IHJlcXVpcmVzIGdyYXBoZW5lIDEuMC4wCgoyMDE0LTA5LTI1IDE3OjAxOjMxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBncmFwaGVuZSBtdWx0aXBsaWNhdGlvbiBvcmRlciBoYXMgY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTEwCgoyMDE0LTA5LTMwIDIwOjM5OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogdXBkYXRlIGVsZW1lbnQgZG9jdW1lbnRhdGlvbgoKMjAxNC0wOS0zMCAxODoyNjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICB0ZXN0cy9nbGNvbG9yY29udmVydDogZG8gcmVvcmRlciBjaGVja2luZyBmb3IgcmdiYSBmb3JtYXRzCgoyMDE0LTA5LTMwIDE0OjQ2OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGNvbnZlcnQgeFJHQiBpbnRvIEFSR0IgcHJvcGVybHkKCSAgVGhlIGFscGhhIGNoYW5uZWwgbWlnaHQgbm90IGJlIHRoZSBsYXN0IGNvbXBvbmVudCBzbyBjaGVjayB3aGljaCBvbmUKCSAgaXQgaXMgaW4gYW5kIGNsb2JiZXIgdGhhdCBvbmUgaW5zdGVhZC4KCjIwMTQtMDktMzAgMDE6NDU6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgdGVzdHMvZ2xtZW1vcnk6IGFkZCBzaW1wbGUgdHJhbnNmZXIgdGVzdAoJICB0ZXN0cyB0cmFuc2ZlcnJpbmcgdG8vZnJvbSB0aGUgR0wgd2l0aCBhIDF4MSBSR0JBIHBpeGVsLgoKMjAxNC0wOS0zMCAwMTozODowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1bnNldCB0aGUgb3Bwb3NpdGUgY29ycmVzcG9uZGluZyB0cmFuc2ZlciBmbGFncyB3aGVuIG1hcHBlZCB3aXRoIHdyaXRlCgkgIGZpeGVzIGNvbnNpc3RlbmN5IHdpdGggY29uc2VjdXRpdmUgZ3N0X21lbW9yeV9tYXAoKSdzIHdpdGgKCSAgZmxhZ3MgJiBHU1RfTUFQX1dSSVRFCgoyMDE0LTA5LTI5IDA5OjMzOjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBVcGRhdGUgdmlld3BvcnQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGNsaXBwaW5nCgkgIFdlIGhhdmUgdG8gdXBkYXRlIHRoZSBHTCB2aWV3cG9ydCBpZiB0aGUgTlNWaWV3IGlzIG9ubHkgcGFydGlhbGx5CgkgIHZpc2libGUuIE90aGVyd2lzZSB0aGUgY29udGVudCBvZiB0aGUgZnJhbWUgd2lsbCBiZSB2aXNpYmx5IG9mZnNldC4KCjIwMTQtMDktMjkgMTA6MDE6MjcgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3QgZGlzY2FyZCBvbiBkaXNjb250IGlmIFBFUyBzdGFydAoJICBJZiBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHN0cmVhbSBpcyBkZXRlY3RlZCwgZGF0YSBpcyBkaXNjYXJkZWQgdW50aWwKCSAgYSBuZXcgUEVTIHN0YXJ0cy4gSWYgdGhlIGZpcnN0IHBhY2tldCBhZnRlciB0aGUgZGlzY29udGludWl0eSBpcyBhbHNvCgkgIHRoZSBzdGFydCBvZiBhIFBFUywgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGRpc2NhcmQgdGhlIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1NjkKCjIwMTQtMDctMzEgMjI6NTc6NDAgKzAxMDAgIERhdmlkIFdhcmluZyA8ZGF2aWRqd0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IFVzZSBHc3RVcmkgdG8gam9pbiBVUklzCgoyMDE0LTA5LTI5IDEwOjQ5OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogSW1wcm92ZSB0aGUgTlNBcHBsaWNhdGlvbiBpbml0aWFsaXphdGlvbgoJICBUaGlzIGlzIG9ubHkgZm9yIG5vbi1Db2NvYSBhcHBzIGJ1dCBwcmV2aW91c2x5IGNhdXNlZCBhIDIgc2Vjb25kCgkgIHdhaXRpbmcgZHVyaW5nIHN0YXJ0dXAgZm9yIENvY29hIGFwcHMuIFRoaXMgaXMgdW5hY2NlcHRhYmxlLgoJICBJbnN0ZWFkIHdlIG5vdyBjaGVjayBhIGJpdCBtb3JlIGV4dGVuc2l2ZSBpZiBzb21ldGhpbmcgYWN0dWFsbHkKCSAgcnVucyBvbiB0aGUgR0xpYiBkZWZhdWx0IG1haW4gY29udGV4dCwgYW5kIGlmIG5vdCBkb24ndCBldmVuCgkgIGJvdGhlciB3YWl0aW5nIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuIGZyb20gdGhlcmUuCgoyMDE0LTA5LTI5IDA5OjI0OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBOU1ZpZXc6OmRyYXdSZWN0KCkgc2hvdWxkIGNhbGwgaW50byByZXNoYXBlIHRvbwoJICBXZSBhKSBuZWVkIHRvIHJlbmRlciBhZ2FpbiBiZWNhdXNlIHBhcnQgb2YgdGhlIHdpbmRvdyB3YXMKCSAgb2JzY3VyZWQgYW5kIGIpIG1pZ2h0IG5lZWQgdG8gcmVzaGFwZSBiZWNhdXNlIG9mIGNsaXBwaW5nCgkgIGNoYW5nZXMuCgoyMDE0LTA5LTI2IDE0OjIxOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IENhbGwgVUkgcmVsYXRlZCBBUEkgZnJvbSB0aGUgYXBwbGljYXRpb24gbWFpbiB0aHJlYWQKCjIwMTQtMDktMjYgMTM6MDU6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogU3dpdGNoIHRvIGEgcGxhaW4gTlNWaWV3IHN1YmNsYXNzIGluc3RlYWQgb2YgTlNPcGVuR0xWaWV3CgkgIFdlIGRvbid0IGFuZCBjYW4ndCB1c2UgTlNPcGVuR0xWaWV3IGFzIGl0J3Mgc3VwcG9zZWQgdG8gYmUgdXNlZCBhbmQKCSAgaXQgZ2V0cyBpbnRvIG91ciB3YXkgYnkgYmVpbmcgdG8gY2xldmVyIGluIHZhcmlvdXMgc2l0dWF0aW9ucy4KCjIwMTQtMDktMjkgMDg6NTQ6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogSW5pdGlhbGl6ZSB2YXJpYWJsZQoJICBBdm9pZHMgdGhlIGZvbGxvd2luZyB3YXJuaW5nOgoJICBnc3RnbGNvbnRleHQuYzo2NDc6NTg6IGVycm9yOiAncHJldicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbgoJICB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTA5LTI4IDE4OjAzOjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBmaXggYnVpbGQgaW4gZ3N0LXVuaW5zdGFsbGVkIHNldHVwCgkgIEluY2x1ZGUgdGhlIGJhc2UgdmlkZW8gbGliIGFwcHJvcHJpYXRlbHkgYW5kIHJlc29ydCBhbGwgb2YgdGhlbSBhcwoJICB0aGF5dGFuIHN1Z2dlc3RlZC4KCjIwMTQtMDktMjkgMDA6MjM6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkgIGV4YW1wbGVzOiBGaXggUXQvR0wgcWdsd3RleHR1cmVzaGFyZSBleGFtcGxlIGZvciBYMTEKCSAgV2UgbmVlZCB0byBwYXNzIHRoZSBYMTEgZGlzcGxheSB0byBHc3RHTCBvciBlbHNlIGl0IHdpbGwKCSAgdXNlIGl0cyBvd24gWDExIERpc3BsYXkgcG9pbnRlciwgYW5kIHRoZSBHTCBDb250ZXh0IHdvbid0IGdldCBzaGFyZWQKCSAgY29ycmVjdGx5IG9uIG5ld2VyIFggc2VydmVycwoKMjAxNC0wOS0yOCAyMDoyMTo1MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0RlYnVnL3ZpZGVvb3ZlcmxheToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb3ZpZGVvb3ZlcmxheS5wcm86CgkgIGV4YW1wbGVzOiBwb3J0IEdML1F0IGV4YW1wbGVzIHRvIFF0NQoJICBVcGRhdGUgdGhlIEdMIFF0IGludGVncmF0aW9uIGV4YW1wbGVzIGZvciBRdDUgY2hhbmdlcyBhbmQgZm9yIEdzdEdMCgkgIHNpZ25hbCBzaWduYXR1cmUgY2hhbmdlcy4KCjIwMTQtMDktMjkgMDA6MzI6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXh1cCBlcnJvciBpbiBzaGFyZWdyb3VwIGNvbW1lbnQKCjIwMTQtMDktMjkgMDA6Mjc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBwdXNoOiAiZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgY2hlY2tlcnMgcGF0dGVybiB3aXRoIEdMU0wiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWFlMDkxNzlmMGI0ZWI1ODRjOGZjN2I2NTYwZDhmYzhlODZlZWQ0Yy4KCjIwMTQtMDktMjkgMDA6MjQ6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBkZXRlY3QgdGhlIHNoYXJlZ3JvdXAgY2FzZSB3aGVyZSB0aGUgY29udGV4dCBhcmUgaW4gZGlmZmVyZW50IGNoYWlucwoJICBJbiB0aGUgZW5kIHRoZXkgd2lsbCBsZWFkIHRvIHRoZSBzYW1lIHJvb3QgY29udGV4dCBpbiB0aGUgdHJlZSBzbyBjaGVjayB0aGF0CgkgIGZvciBlcXVhbGl0eS4KCjIwMTQtMDktMjggMTA6NTE6MDkgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgY2hlY2tlcnMgcGF0dGVybiB3aXRoIEdMU0wKCjIwMTQtMDktMjggMjE6MTg6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogc2lsZW5jZSBhIHdhcm5pbmcgd2l0aCBlbXB0eSBpbnB1dCBjYXBzCgkgIGRpc2NvdmVyZWQgd2l0aCB0aGUgZG91YmxlY3ViZSBleGFtcGxlCgkgIGdzdF9jYXBzX2dldF9mZWF0dXJlczogYXNzZXJ0aW9uICdpbmRleCA8IEdTVF9DQVBTX0xFTiAoY2FwcyknIGZhaWxlZAoKMjAxNC0wOS0yOCAyMDozNzowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBleGFtcGxlcy9nbDogdXBkYXRlIGZvciBzaWduYWwgc2lnbmF0dXJlIGNoYW5nZQoKMjAxNC0wOS0yOCAxNjo1ODo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGNyZWF0ZSBjb252ZXJ0ZXJzIHdoZW4gdGhlIHN1YmNsYXNzIGRvZXNuJ3Qgd2FudCB0aGVtCgkgIGZpeGVzIGEgY3JpdGljYWwgd2l0aCBnbHZpZGVvbWl4ZXIgYWZ0ZXIKCSAgMzViZDE5NjlmOTEyY2VjZGEwZmI1ZGY5NTk1YTAwNWU2ZGRmNGU3YQoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXc6IGFzc2VydGlvbiAnaW5faW5mby0+d2lkdGggPT0gb3V0X2luZm8tPndpZHRoJyBmYWlsZWQKCjIwMTQtMDktMjYgMjI6Mjk6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBmaXggemVybyBvdXRwdXQgZnJhbWVzIHdpdGggWVVZMi9VWVZZCgkgIGFsc28sIGJlIG5pY2UgYW5kIGRpc2FibGUgYmxlbmRpbmcgZm9yIG90aGVyIGVsZW1lbnRzCgoyMDE0LTA5LTI2IDIyOjIyOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogcHJvdGVjdCBkZXNrdG9wIGdsIHNwZWNpZmljIHRva2VucyB3aXRoICNpZgoKMjAxNC0wOS0yNiAxMjoyODoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IGZyZWUgdGhlIGltYWdlIG1lbW9yeSBldmVyeSB0aW1lIHRoZSBsb2NhdGlvbiBjaGFuZ2VzCgkgIGZpeGVzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDktMjUgMjA6NDg6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsb3ZlcmxheTogSW5jbHVkZSBpbnRvIHRoZSBidWlsZCB3aXRoIEdMRVMyIG9ubHkgdG9vCgoyMDE0LTA5LTI2IDAxOjQ1OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZnJlZSB0aGUgc2hhZGVyIG9uIHN0b3AKCjIwMTQtMDktMjYgMDE6MzQ6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBmaXggYmxlbmRpbmcgd2l0aCBsb3ctYWxwaGEgc291cmNlcwoJICBXZSBhbHNvIG5lZWQgdG8gYXBwbHkgdGhlIGJsZW5kIHBhcmFtYXRlcnMgdG8gdGhlIGFscGhhIGNoYW5uZWwgb3RoZXJ3aXNlCgkgIHRoZSBvdXRwdXQgb2YgdGhlIGJsZW5kIHdpbGwgYXBwZWFyIGJsYWNrIGF0IGxvdyBhbHBoYSB2YWx1ZXMgKDwgMC4yKS4KCjIwMTQtMDktMjYgMDE6MTQ6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsb3ZlcmxheTogcmVpbXBsZW1lbnQgZXZlcnl0aGluZwoJICAtIHVwZGF0ZSBmb3Igc2hhZGVycwoJICAtIGFkZCBhbHBoYSBwcm9wZXJ0eQoJICAtIGltYWdlIHBsYWNlbWVudCBwcm9wZXJ0aWVzIHNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gZ2RrcGl4YnVmb3ZlcmxheQoJICAtIGltYWdlIHBsYWNlbWVudCBwcm9wZXJ0aWVzIGFyZSBHc3RDb250cm9sbGVyIGFibGUKCSAgLSB1c2UgR3N0R0xNZW1vcnkgZm9yIHRoZSBvdmVybGF5IGltYWdlIGRhdGEKCSAgLSBhZGQgc3VwcG9ydCBmb3IgZ2xlczIKCjIwMTQtMDktMjUgMTY6MDQ6MzMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHN0eWxlOiByZW1vdmUgdW5uZWNlc3NhcnkgYnJlYWsgc3RhdGVtZW50cwoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGVzZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290b3MgcHJlY2VkaW5nCgkgIHRoZW0uIFNvIHRoZSBicmVha3MgYXJlIHVubmVjZXNzYXJ5LCBhcyBkaXNjdXNzZWQgaW4gYnVnIDczNjk0Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzM3MAoKMjAxNC0wOS0yNSAxNTo0NTo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGJyZWFrIHN0YXRlbWVudCB1bm5lY2Vzc2FyeQoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG8ncy4gU28gdGhlCgkgIGJyZWFrcyBhcmUgdW5uZWNlc3NhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NDIKCjIwMTQtMDktMjUgMTY6MTM6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IFN3aXRjaCBmcm9tIG91ciBjdXN0b20gbWFpbiBsb29wIHRvIGEgR01haW5Mb29wCgkgIFNpbXBsaWZpZXMgY29kZSBhIGxvdCBhbmQgbWFrZXMgaXQgbW9yZSBzaW1pbGFyIHRvIHRoZSBvdGhlciBiYWNrZW5kcy4KCjIwMTQtMDktMjUgMTY6MTI6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBDbGVhciB0aGUgY3VycmVudCBHTCBjb250ZXh0IHdoZW4gaXQgc2hvdWxkIGhhcHBlbgoKMjAxNC0wOS0yNCAxMjo0MjoyMyArMDIwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBFbWFpbCB3aXRoIG11bHRpcGFydCBjb250ZW50LXR5cGUgc2hvdWxkIGVuZCB3aXRoIGEgZmluYWwgYm91bmRhcnkKCSAgQWRkIGZpbmFsIGJvdW5kYXJ5IGZvciBlYWNoIG9mIHRoZSBzZW5kaW5nIG91dCBlbWFpbHMgZnJvbSBzbXRwc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEzNAoKMjAxNC0wOS0yNSAxMDoxNDo0MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybCpzaW5rOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDE0LTA5LTI1IDA4OjA1OjUwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogYWRkIGEgZGVidWcgZnVuY3Rpb24KCSAgSWYgZ3N0cmVhbWVyIGlzIGJ1aWxkIHdpdGggbG9nZ2luZyBlbmFibGVkLCBhZGQgYSBkZWJ1ZyBmdW5jdGlvbiBhbmQgb3V0cHV0CgkgIHZlcmJvc2UgbWVzc2FnZXMgdG8gdGhlIGxvZyBpbnN0ZWFkIG9mIHN0ZGVyci4KCjIwMTQtMDktMjQgMjI6MjQ6NDkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybGh0dHBzaW5rOiBvbmx5IGFkZCBjb250ZW50LWRpc3Bvc2l0aW9uIGhlYWRlciBpZiBhIGZpbGVuYW1lIGlzIHNldAoJICBUaGUgaGVhZGVyIGlzIG9wdGlvbmFsIGFuZCB0aGVyZWZvcmUgd2UgYmV0dGVyIG9taXQgaXQgaWYgd2UgZG9uJ3QgaGF2ZSBhIGZpbGVuYW1lLgoKMjAxNC0wOS0yNCAyMjowNjoyMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IGRvbid0IHJlcGxhY2Ugc3BlY2lmaWMgZXJyb3IgbWVzc2FnZXMgd2l0aCBhIGdlbmVyaWMgb25lCgkgIE9ubHkgc2V0IGFuIGVycm9yIGlmIHdlIGhhdmVuJ3Qgc2V0IG9uZSBhbHJlYWR5LgoKMjAxNC0wOS0yNCAyMTowNzoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmx0bHNzaW5rOiBzd2FwIGNoZWNrCgkgIExldHMgY2hlY2sgZm9yIE5VTEwgZmlyc3QsIGFzIHRoYXQgaXMgdGhlIGRlZmF1bHQgYW55d2F5LgoKMjAxNC0wNy0yOSAxNjoxMjoyNiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZXR1cm4gZmx1c2hpbmcgaWYgd2UgZ2V0IGNoYWluZWQgd2hpbGUgYmVpbmcgc2V0IHRvIFJFQURZCgkgIE9yIG5vdCBuZWdvdGlhdGVkIGluIHRoZSBjYXNlIHdlIHdvdWxkIGJlIGFjdHVhbGx5IG5vdCBuZWdvdGlhdGVkCgkgIEN1cnJlbnRseSB3ZSBhcmUgZ2V0dGluZyBhc3NlcnRpb25zIGZyb20KCSAgZ3N0X3BiX3V0aWxzX2FkZF9jb2RlY19kZXNjcmlwdGlvbl90b190YWdfbGlzdCBiZWNhdXNlIG9mIE5VTEwKCSAgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE4NgoKMjAxNC0wOS0wOSAxMzoxMjozMSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtYXJrIGZpcnN0IGJ1ZmZlciBhcyBkaXNjb250IGFmdGVyIHJlc3RhcnRpbmcgYSBkb3dubG9hZCB0YXNrCgkgIE1hcmsgZmlyc3QgYnVmZmVyIGFzIGRpc2NvbnQgYWZ0ZXIgcmVzdGFydGluZyBhIGRvd25sb2FkIHRhc2ssIHNvCgkgIGRvd25zdHJlYW0gY2FuIHJlc2V0IGl0cyBzdGF0ZSB0byBwcm9wZXJseSBoYW5kbGUgdGhlIG5ldyBmcmFnbWVudC4KCSAgUmVsYXRlZCBpc3N1ZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjMxOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzE5CgoyMDE0LTA5LTE5IDIyOjMyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwdXNoIGEgdGltZSBzZWdtZW50IHdoZW4gcmVzdGFydGluZyBzdHJlYW1pbmcKCSAgVGhpcyBzaG91bGQgaW5mb3JtIGRlbXV4ZXJzL2RlY29kZXJzIGRvd25zdHJlYW0gdGhhdCB0aGUgc3RyZWFtIGlzCgkgIGFib3V0IHRvIHN0YXJ0IGZyb20gYSBuZXcgcG9zaXRpb24gYW5kIHRoZXkgc2hvdWxkIGZsdXNoIGFjY29yZGluZ2x5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzMTkKCjIwMTQtMDktMjQgMTY6NTU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMub3JjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSAgdmlkZW86IHVzZSB2aWRlbyBsaWIgY29udmVyc2lvbiBjb2RlIGluc3RlYWQgb2YgY29weQoKMjAxNC0wOS0xOCAxNzoyNjozNyArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBicmVhayBzdGF0ZW1lbnQgdW5uZWNlc3NhcnkKCSAgT25lIG1vcmUgY29kZSBmbG93IGlzc3VlIHdoZXJlIGl0IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudCBkdWUgdG8KCSAgdGhlIGdvdG8uIFNvIHRoZSBicmVhayBpcyB1bm5lY2Vzc2FyeS4KCSAgUGx1cyB0d28gY29kaW5nIHN0eWxlIGZpeGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODk1CgoyMDE0LTA5LTI0IDIyOjQyOjU4ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkgIGNob3BteWRhdGE6IFRyYW5zZmVyIHRpbWVzdGFtcHMgdG8gb3V0cHV0IGJ1ZmZlcnMKCSAgQWxsb3dzIHVzaW5nIGNob3BteWRhdGEgYXMgYSBzaW1wbGUgcmVwYWNrZXRpemVyCgoyMDE0LTA5LTE5IDA5OjUxOjQ4ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBicmVhayBzdGF0ZW1lbnRzIHVubmVjZXNzYXJ5CgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290bydzLiBTbyB0aGUKCSAgYnJlYWtzIGFyZSB1bmVjZXNzYXJ5LiBTZWNvbmQgcGFydCB0byBjb21taXQgYTM5NThhZTY1YgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTQwCgoyMDE0LTA5LTE5IDA5OjU5OjQxICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBicmVhayBzdGF0ZW1lbnQgdW5uZWNlc3NhcnkKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvJ3MuIFNvIHRoZQoJICBicmVha3MgYXJlIHVuZWNlc3NhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NDIKCjIwMTQtMDktMTggMTY6MTM6NTggLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGF2b2lkIGVycm9yIHdoZW4gc2V0X2NhcHMgY2FsbGVkIHR3aWNlCgkgIElmIHNldF9jYXBzIGlzIGNhbGxlZCBpbiBhIHJ1bm5pbmcgc3RhdGUsIHJldHVybiBpbW1lZGlhdGVseSBpZiB0aGUgY2FwcwoJICBoYXZlbid0IGNoYW5nZWQuIElmIHRoZSBwaW5zIGFyZSBhbHJlYWR5IGNvbm5lY3RlZCwgZGlzY29ubmVjdCB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTI2CgoyMDE0LTA5LTI0IDE0OjI5OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc2tpcCBpbnB1dCBmcmFtZXMgd2l0aCBhbiBhbHBoYSBvZiAwCgoyMDE0LTA5LTI0IDEzOjEzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogZG93bmxvYWQgd2hlbmV2ZXIgd2UgaGF2ZSBzeXNtZW0gY2Fwc2ZlYXR1cmVzCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBwYXNzIG9uIGEgUkdCQSBmb3JtYXR0ZWQgYnVmZmVyIGFuZCBkb3duc3RyZWFtIHdvdWxkCgkgIG1pc2ludGVycHJldCB0aGF0IGFzIHNvbWUgb3RoZXIgdmlkZW8gZm9ybWF0LgoJICBGaXhlcyBwaXBlbGluZXMgb2YgdGhlIGZvcm0KCSAgZ2xlZmZlY3RzICEgdGVlICEgeHZpbWFnZXNpbmsKCjIwMTQtMDktMTkgMDE6MjI6MTQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJICBnc2V0dGluZ3M6IEZpeCB0eXBvIGluIGRlc2NyaXB0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MzMKCjIwMTQtMDktMjMgMTc6MzI6NTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkgIG1wZWdwc211eDogcmVmYWN0b3IgZHVwbGljYXRlIGVsc2UgYnJhbmNoZXMKCSAgVW5rbm93biBjYXNlIHNob3VsZCBhc3NlcnQgaWYgcmVhY2hlZCBpbnN0ZWFkIG9mIGp1c3QgYXNzdW1pbmcgdGhlIG1heCBidWZmZXIKCSAgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ2MAoKMjAxNC0wOS0xOSAwOTo1NDoxMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGluaXRpYWxpemUgc2VudF9jb2RlY190YWcgYmVmb3JlIHVzaW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NTEKCjIwMTQtMDktMjIgMTc6MTQ6MjkgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJICB2aWRlb2ZpbHRlcnM6IEFkZCBzdXBwb3J0IGZvciBtb3JlIFlVViBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxMTEKCjIwMTQtMDgtMjEgMDI6MTQ6NDAgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IGFkZCBNYW5kZWxicm90IGZyYWN0YWwgcGF0dGVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTEzMQoKMjAxNC0wOC0yMSAwMjoxMzo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCBzbm93IHBhdHRlcm4gd2l0aCBHTFNMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MTMxCgoyMDE0LTA5LTIzIDEyOjAyOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZmFsbGJhY2sgdG8gdXBsb2FkIGlmIGNvbnRleHRzIGNhbm5vdCBzaGFyZSBHTCByZXNvdXJjZXMKCSAgRml4ZXMgcGlwZWxpbmVzIG9mIHRoZSBmb3JtCgkgIGdsZWZmZWN0cyAhIHRlZSAhIGdsaW1hZ2VzaW5rCgkgIGFzIHRlZSBkb2VzIG5vdCBwYXNzIG9uIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxNC0wOS0yMyAxMjowMTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgZ3N0X2dsX2NvbnRleHRfY2FuX3NoYXJlCgkgIFdoaWNoIGRldGVybWluZXMgd2hldGhlciB0d28gR3N0R0xDb250ZXh0J3MgY2FuIHNoYXJlIHNoYXJhYmxlCgkgIE9wZW5HTCByZXNvdXJjZXMuCgoyMDE0LTA5LTIyIDIwOjAxOjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBmb3IgdXBsb2FkIEFQSSBjaGFuZ2VzCgoyMDE0LTA5LTIyIDEwOjA4OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogTGV0IGdzdF9nbF9jb250ZXh0X2dldF90aHJlYWQoKSByZXR1cm4gYSBuZXcgcmVmZXJlbmNlIHRvIHRoZSBHVGhyZWFkCgkgIE90aGVyd2lzZSBpdCBtaWdodCBnbyBhd2F5IGluIHRoZSBtZWFudGltZSBhbmQgdGhlIGNhbGxlciBoYXMgc29tZSByYW5kb20gcG9pbnRlci4KCjIwMTQtMDktMjIgMTE6MTA6NDIgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBjb25zZWN1dGl2ZSByZXR1cm4sIGJyZWFrIHN0YXRlbWVudAoJICBTaWduZWQtb2ZmLWJ5OiBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkzOQoKMjAxNC0wOS0yMiAxMjoyMToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2RlYnVnLmg6CgkgIGdsL2RlYnVnOiBkZXNrdG9wIEdMIGRvZXMgbm90IGhhdmUgdGhlIEtIUiBzdWZmaXhlcwoKMjAxNC0wOS0yMiAxMTo1OTozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBleGFtcGxlcy9nbC9ndGs6IHVzZSB0aGUgc3luYyBidXMgY2FsbGJhY2sgdG8gc2V0IHRoZSB3aW5kb3cgaGFuZGxlCgkgIEFuZCBvdXRwdXQgZXJyb3IgbWVzc2FnZXMuCgoyMDE0LTA5LTE5IDE4OjU5OjAxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIEZFQyByYXRlcwoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyByYXRlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeS4KCjIwMTQtMDktMjEgMTM6MzI6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBhZGQgc2luY2UgbWFya2VycyBmb3IgbmV3IEFQSQoKMjAxNC0wOS0yMSAyMTo0Mjo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBkZWJ1ZyBsaW5lIGZvciBmcmVlaW5nIHRleHR1cmVzCgoyMDE0LTA5LTIxIDIxOjM2OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2x1cGxvYWQ6IHByb3ZpZGUgdGhlIG91dHB1dCBidWZmZXIgdGhhdCBpcyByZW5kZXJlZCBpbnRvCgkgIEFsbG93cyBjYWxsZXJzIHRvIHByb3Blcmx5IHJlZmVyZW5jZSBjb3VudCB0aGUgYnVmZmVycyB1c2VkIGZvcgoJICByZW5kZXJpbmcuCgkgIEZpeGVzIGEgcmVkcmF3IHJhY2UgaW4gZ2xpbWFnZXNpbmsgd2hlcmUgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICAodGhlIG9uZSB1c2VkIGZvciByZWRyYXcgb3BlcmF0aW9ucykgaXMgZnJlZWQgYXMgc29vbiBhcyB0aGUgbmV4dAoJICBidWZmZXIgaXMgdXBsb2FkZWQuCgkgIDEuIGdsaW1hZ2VzaW5rIHVwbG9hZHMgaW4gX3ByZXBhcmUoKSB0byB0ZXh0dXJlIG4KCSAgMS4xIGdsdXBsb2FkIGhvbGRzIGJ1ZmZlciBuCgkgIDIuIGdsaW1hZ2VzaW5rIF9yZW5kZXIoKXMgdGV4dHVyZSBuCgkgIDMuIGdsaW1hZ2VzaW5rIHVwbG9hZHMgdGV4dHVyZSBuKzEKCSAgMy4xIGdsdXBsb2FkIGZyZWUgcHJldmlvdXMgYnVmZmVyIHdoaWNoIGRlbGV0ZXMgdGV4dHVyZSBuCgkgIDMuMiBnbHVwbG9hZCBob2xkcyBidWZmZXIgbisxCgkgIDQuIGdsd2luZG93IHJlc2l6ZS9leHBvc2UKCSAgNS4gZ2xpbWFnZXNpbmsgcmVkcmF3cyB3aXRoIHRleHR1cmUgbgoJICBUaGUgcmFjZSBpcyB0aGF0IHRoZSBidWZmZXIgbiAodGhlIG9uZSB1c2VkIGZvciByZWRyYXdpbmcpIGlzIGZyZWVkIGFzIHNvb24gYXMKCSAgdGhlIGJ1ZmZlciBuKzEgYXJyaXZlcy4gIFRoZXJlIGNvdWxkIGJlIGFueSBhbW91bnQgb2YgdGltZSBhbmQgbnVtYmVyIG9mCgkgIHJlZHJhd3MgYmV0d2VlbiB0aGlzIGV2ZW50IGFuZCB3aGVuIGJ1ZmZlciBuKzEgaXMgYWN0dWFsbHkgcmVuZGVyZWQgYW5kIHRodXMKCSAgcmVwbGFjZXMgYnVmZmVyIG4gYXMgdGhlIHJlZHJhdyBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3NDAKCjIwMTQtMDktMjEgMjE6MzA6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIEFQSSB0byByZXRyZWl2ZSB0aGUgdGhyZWFkIHRoYXQgY29udGV4dCBpcyBhY3RpdmUgaW4KCjIwMTQtMDktMTkgMTU6MzI6MzMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBSZW1vdmVkIHVucmVhY2hhYmxlIGJyZWFrLCB1bnVzZWQgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk1NwoKMjAxNC0wOS0xOSAxNDozNjozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBGaXggZW5jb2RlciB0byB3b3JrIG9uIGlPUwoJICBpT1MgaGFzIHNwZWNpYWwgc3RyaWRlIHJlcXVpcmVtZW50cyB0aGF0IHdlIGRvbid0IGtub3cgeWV0LCBzbyBjb3B5CgkgIGlucHV0IGJ1ZmZlcnMgaW50byBidWZmZXJzIGFsbG9jYXRlZCBieSBpT1MgZm9yIG5vdy4KCSAgTGF0ZXIgd2Ugc2hvdWxkIGNoZWNrIHRoZSBzdHJpZGUgYW5kIHByb2JhYmx5IHByb3ZpZGUgYSBidWZmZXIgcG9vbCBmb3IgdGhlc2UKCSAgYnVmZmVycyBzbyB1cHN0cmVhbSBjYW4gZGlyZWN0bHkgd3JpdGUgaW4gdGhlcmUuCgoyMDE0LTA5LTE5IDE0OjMyOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBXZSBuZWVkIHRvIG1hcCB0aGUgY29yZW1lZGlhIGJ1ZmZlcnMgaW4gbm9uLXJlYWRvbmx5IG1vZGUKCSAgT3VyIGJ1ZmZlcnMgY2xhaW0gdG8gYmUgd3JpdGFibGUgc28gb3RoZXIgZWxlbWVudHMgZXhwZWN0IHRvIGJlIGFibGUKCSAgdG8gd3JpdGUgdGhlcmUgd2l0aG91dCBsb3NpbmcgdGhlaXIgY2hhbmdlcy4KCjIwMTQtMDktMTggMTg6MTY6NTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIGNsaWVudCBtdXRleCBiZWZvcmUgZW50ZXJpbmcgdGhlIHJldHJ5X2ZhaWxvdmVyIGJsb2NrCgkgIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBjYXNlIHdoZXJlIHRoZSBibG9jayBleGVjdXRpb24gaXMKCSAgdHJpZ2dlcmVkIGJ5IHRoZSBnb3RvIGludm9rZWQgYWZ0ZXIgdGhlIGN1cnJlbnRfdmFyaWFudCB1cGRhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MTkKCjIwMTQtMDktMTIgMDI6MzY6NDcgLTAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHN5bmNocm9uaXplIHdpdGggdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIHNpZ25hbCBpdCB0byBjb250aW51ZQoJICBJZiBFT1Mgb3IgRVJST1IgaGFwcGVucyBiZWZvcmUgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIGhhcyByZWFjaGVkIGl0cwoJICBnX2NvbmRfd2FpdCgpIGNhbGwsIHRoZW4gdGhlIGdfY29uZF9zaWduYWwgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QgYW5kCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBzdHVja3MgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjMKCjIwMTQtMDktMTIgMDI6MzU6NDQgLTAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHN5bmNocm9uaXplIHdpdGggdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIHNpZ25hbCBpdCB0byBjb250aW51ZQoJICBJZiBFT1Mgb3IgRVJST1IgaGFwcGVucyBiZWZvcmUgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIGhhcyByZWFjaGVkIGl0cwoJICBnX2NvbmRfd2FpdCgpIGNhbGwsIHRoZW4gdGhlIGdfY29uZF9zaWduYWwgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QgYW5kCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBzdHVja3MgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjMKCjIwMTQtMDgtMjkgMTI6Mzg6MTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogc3luY2hyb25pemUgd2l0aCB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gc2lnbmFsIGl0IHRvIGNvbnRpbnVlCgkgIElmIEVPUyBvciBFUlJPUiBoYXBwZW5zIGJlZm9yZSB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgaGFzIHJlYWNoZWQgaXRzCgkgIGdfY29uZF93YWl0KCkgY2FsbCwgdGhlbiB0aGUgZ19jb25kX3NpZ25hbCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdCBhbmQKCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHN0dWNrcyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MwoKMjAxNC0wOS0xNyAxNzoyNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGNsZWFyaW5nIG9mIGVvcyBzdGF0ZSBpbiBwYWRzCgkgIFRoZSBpbnRlcm5hbCBwYWQgc3RpbGwga2VlcHMgaXRzIEVPUyBmbGFnIGFuZCBldmVudCBhcyBpdCBjYW4gYmUgYXNzaWduZWQKCSAgYWZ0ZXIgdGhlIGZsdXNoLXN0YXJ0L3N0b3AgcGFpciBpcyBzZW50LiBUaGUgRU9TIGlzIGFzc2lnbmVkIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgc28gdGhpcyBpcyByYWN5LgoJICBUbyBiZSBzdXJlIHRvIGNsZWFyIGl0LCBpdCBoYXMgdG8gYmUgZG9uZSBhZnRlciBzZXR0aW5nIHRoZSBzb3VyY2UgdG8gUkVBRFkgdG8KCSAgYmUgc3VyZSB0aGF0IGl0cyBzdHJlYW1pbmcgdGhyZWFkIGlzbid0IHJ1bm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMTcgMTc6Mjc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBjbGVhcmluZyBvZiBlb3Mgc3RhdGUgaW4gcGFkcwoJICBUaGUgaW50ZXJuYWwgcGFkIHN0aWxsIGtlZXBzIGl0cyBFT1MgZmxhZyBhbmQgZXZlbnQgYXMgaXQgY2FuIGJlIGFzc2lnbmVkCgkgIGFmdGVyIHRoZSBmbHVzaC1zdGFydC9zdG9wIHBhaXIgaXMgc2VudC4gVGhlIEVPUyBpcyBhc3NpZ25lZCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIHNvIHRoaXMgaXMgcmFjeS4KCSAgVG8gYmUgc3VyZSB0byBjbGVhciBpdCwgaXQgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgc2V0dGluZyB0aGUgc291cmNlIHRvIFJFQURZIHRvCgkgIGJlIHN1cmUgdGhhdCBpdHMgc3RyZWFtaW5nIHRocmVhZCBpc24ndCBydW5uaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTE3IDE0OjUxOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggY2xlYXJpbmcgb2YgZW9zIHN0YXRlIGluIHBhZHMKCSAgVGhlIGludGVybmFsIHBhZCBzdGlsbCBrZWVwcyBpdHMgRU9TIGZsYWcgYW5kIGV2ZW50IGFzIGl0IGNhbiBiZSBhc3NpZ25lZAoJICBhZnRlciB0aGUgZmx1c2gtc3RhcnQvc3RvcCBwYWlyIGlzIHNlbnQuIFRoZSBFT1MgaXMgYXNzaWduZWQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBzbyB0aGlzIGlzIHJhY3kuCgkgIFRvIGJlIHN1cmUgdG8gY2xlYXIgaXQsIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIHNldHRpbmcgdGhlIHNvdXJjZSB0byBSRUFEWSB0bwoJICBiZSBzdXJlIHRoYXQgaXRzIHN0cmVhbWluZyB0aHJlYWQgaXNuJ3QgcnVubmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0xOCAxNzo0OTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBMZXQgdGhlIGVuY29kZXIgYXV0b21hdGljYWxseSBjaG9vc2UgYSBoMjY0IGxldmVsCgkgIFdlIHNob3VsZCBuZWdvdGlhdGUgdGhlc2UgdGhpbmdzIHZpYSBjYXBzLi4uCgoyMDE0LTA5LTE4IDEzOjQ1OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVzZSAwIGluc3RlYWQgb2YgR19NQVhET1VCTEUgYXMgdGhlIG1heCBrZXlmcmFtZSBpbnRlcnZhbAoJICAwIG1lYW5zIG5vIGxpbWl0LCB3aGljaCB3YXMgbWVhbnQgaGVyZSB3aXRoIEdfTUFYRE9VQkxFIHByb2JhYmx5LgoKMjAxNC0wOS0xOCAxMzo0MjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBFeHBlY3RlZCBkdXJhdGlvbiBpcyBzdXBwb3NlZCB0byBiZSB0aGUgZHVyYXRpb24gb2YgdGhlIHN0cmVhbSwgbm90IGEgZnJhbWUKCSAgSnVzdCBkb24ndCBzZXQgaXQgZm9yIG5vdywgaXQgaXNuJ3QgcmVhbGx5IG5lZWRlZC4KCjIwMTQtMDktMTggMTE6Mzk6NTMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGFkZCB1bml0IHRlc3QgZm9yIHNlcXVlbmNlLWxheWVyIHBhcnNpbmcKCSAgQ2hlY2sgdGhhdCBhIHNlcXVlbmNlLWxheWVyIGhlYWRlciBpcyBzdWNjZXNzZnVsbHkgcGFyc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODcxCgoyMDE0LTA5LTE4IDExOjQ5OjEzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiB0YWtlIGNhcmUgb2YgZW5kaWFubmVzcyB3aGVuIHBhcnNpbmcgc2VxdWVuY2UtbGF5ZXIKCSAgc2VxdWVuY2UtbGF5ZXIgaXMgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIgZXhjZXB0IGZvcgoJICBTVFJVQ1RfQyB3aGljaCBpcyBzZXJpYWxpemVkIGluIGJpZy1lbmRpYW4gYnl0ZSBvcmRlci4KCSAgQnV0IHNpbmNlIFNUUlVDVF9BIGFuZCBTVFJVQ1RfQiBmaWVsZHMgYXJlIGRlZmluZWQgYXMgdW5zaWduZWQgaW50IG1zYgoJICBmaXJzdCwgd2UgaGF2ZSB0byBwYXNzIHRoZW0gYXMgYmlnLWVuZGlhbiB0byB0aGVpciBwYXJzaW5nIGZ1bmN0aW9uLiBTbwoJICB3ZSBiYXNpY2FsbHkgdXNlIHRlbXBvcmFyeSBidWZmZXJzIHRvIGNvbnZlcnQgdGhlbSBpbiBiaWctZW5kaWFuLgoJICBTZWUgU01QVEUgNDIxTSBBbm5leCBKIGFuZCBMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODcxCgoyMDE0LTA5LTE4IDEzOjExOjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFByb3Blcmx5IGhhbmRsZSBrZXlmcmFtZXMKCSAgRXNwZWNpYWxseSBzZXQgdGhlIFNZTkNfUE9JTlQgZmxhZyBvbiBrZXlmcmFtZXMuCgoyMDE0LTA5LTE4IDE0OjI0OjEzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVtb3ZlZCBhbiB1bndhbnRlZCBpbml0aWFsaXphdGlvbiBhbmQgYSB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODYzCgoyMDE0LTA5LTE3IDEyOjI0OjM5ICswMjAwICBKZXJvbWUgTGFoZXVydGUgPGpsYWhldXJ0ZUBxdWl2aWRpLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvQlVJTEQudHh0OgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL0NNYWtlTGlzdHMudHh0OgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IFBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyODMKCjIwMTQtMDktMTggMTI6NTM6MTEgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmVkIHJlZHVuZGFudCBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODUzCgoyMDE0LTA5LTE3IDE1OjUwOjIzICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogbG9naWNhbCBkaXNqdW5jdGlvbiBjb25zZWN1dGl2ZSByZXR1cm4sIGJyZWFrIHVubmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3OTAKCjIwMTQtMDktMTcgMTE6NDk6MjIgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBlbmFibGUgaGVhZGVyLWZvcm1hdCBjb252ZXJzaW9uCgkgIEluIGZhY3Qgd2Ugc3VwcG9ydCBoZWFkZXItZm9ybWF0IGNvbnZlcnNpb24gd2hpY2ggaXMgZG9uZSBpbgoJICB1cGRhdGVfY2FwcygpIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc4NgoKMjAxNC0wOS0xOCAxMDozMDowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggY29tcGlsYXRpb24KCjIwMTQtMDktMTggMDk6NDc6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogSGFuZGxlIDAvMSBmcmFtZXJhdGVzIGNvcnJlY3RseSBieSBub3QgY2FsY3VsYXRpbmcgdGhlaXIgZnJhbWUgZHVyYXRpb24KCjIwMTQtMDktMTcgMTc6Mzc6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBuZXdlciBjbGFuZwoKMjAxNC0wOS0xNyAxNzoxMDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBQcmVwYXJlIGVuY29kZXIgYWZ0ZXIgc2V0dXAKCSAgVGhpcyB3aWxsIGFsbG93IGVuY29kaW5nIHRvIGhhcHBlbiBmYXN0ZXIgb24gdGhlIGZpcnN0IGZyYW1lLgoKMjAxNC0wOS0xNyAxNzowODo1NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBPbmx5IGRyYWluIHRoZSBlbmNvZGVyIGluIDo6ZmluaXNoKCksIG5vdCBvbiBldmVyeSBmcmFtZQoJICBPdGhlcndpc2UgcXVhbGl0eSBhbmQgYml0cmF0ZSB3aWxsIGJlIGJhZC4KCjIwMTQtMDktMTcgMTU6Mzk6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRXJyb3Igb3V0IGlmIGVuY29kaW5nIHJldHVybmVkIGFuIGVycm9yCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3QgY29udGludWUgY29uc3VtaW5nIGZyYW1lcyB1bnRpbCBhbGwgbWVtb3J5IGlzIGZpbGxlZAoJICB1cCBhbmQgdGhlIGFwcCBjcmFzaGVzLgoKMjAxNC0wOS0xNyAxNDo1NjowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBDaGVjayBmb3IgZXJyb3JzIGZyb20gVlRDb21wcmVzc2lvblNlc3Npb25Db21wbGV0ZUZyYW1lcygpCgoyMDE0LTA5LTE3IDE0OjU1OjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFByb3Blcmx5IHNjYWxlIHRpbWVzdGFtcHMgZm9yIHRoZSBBUEkgYW5kIHNldCBpbnZhbGlkIHZhbHVlcwoKMjAxNC0wOS0xNyAxNDo1NDozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBQcm9wZXJseSBzY2FsZSB0aW1lc3RhbXBzIGZvciB0aGUgQVBJIGFuZCBzZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTQtMDktMTcgMTM6MTk6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJICBhcHBsZW1lZGlhOiBSZW1vdmUgb2xkIGNvZGUgdGhhdCBpcyBvZiBubyB1c2UgYW55bW9yZQoKMjAxNC0wOS0xNiAxNzozODo1MyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZvcmdlIHNlcXVlbmNlLWxheWVyIGZyb20gc2VxX2hkciBpbnN0ZWFkIG9mIHNlcV9sYXllcgoJICBJZiB3ZSBkb24ndCBoYXZlIGEgc2VxX2xheWVyX2J1ZmZlciwgd2UgYWxzbyBkb24ndCBoYXZlIGEgdmFsaWQKCSAgc2VxX2xheWVyIGJlY2F1c2UgdGhlcmUgYXJlIHNldCB0b2dldGhlciBpbgoJICBnc3RfdmMxX3BhcnNlX2hhbmRsZV9zZXFfbGF5ZXIoKS4KCSAgU28gd2hlbiBvdXRwdXQgaGVhZGVyIGZvcm1hdCBpcyBzZXF1ZW5jZS1sYXllciBhbmQgd2hlbiB3ZSBkb24ndCBoYXZlIGEKCSAgc2VxX2xheWVyX2J1ZmZlciwgd2UgZm9yZ2Ugb25lIGZyb20gc2VxX2hkci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc4MQoKMjAxNC0wOS0xNyAxMDozOToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXBwbGVtZWRpYTogVW5jb25kaXRpb25hbGx5IHVzZSBWaWRlb1Rvb2xib3ggb24gaU9TIGlmIGF2YWlsYWJsZQoJICBCZWNhdXNlIHdlIGRvIHdlYWsgbGlua2luZyBub3cgd2UgY2FuIGFsd2F5cyBjb21waWxlIGl0IGluIGFuZCBjaGVjayBhdAoJICBydW50aW1lIGlmIGl0IGlzIGFjdHVhbGx5IGF2YWlsYWJsZSBvciBub3QuCgoyMDE0LTA5LTE3IDEwOjM4OjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBEbyB3ZWFrIGxpbmtpbmcgd2l0aCB0aGUgVmlkZW9Ub29sYm94IGZyYW1ld29yawoJICBJdCBkb2VzIG5vdCBleGlzdCBvbiBvbGRlciBPU1ggYW5kIGlPUyBidXQgd2Ugc3RpbGwgd2FudCB0bwoJICBiZSBhYmxlIHRvIHVzZSBpdCB3aGVuIGl0J3MgYXZhaWxhYmxlLgoKMjAxNC0wOS0xNiAxMjowNjozNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkbyBub3QgbGVhayBidWZmZXIgcG9vbCBpbiBlcnJvciBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzUKCjIwMTQtMDktMTYgMTU6NTk6NTggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmaXggc2VxdWVuY2UtbGF5ZXIvZnJhbWUtbGF5ZXIgZW5kaWFubmVzcwoJICBTZXF1ZW5jZS1sYXllciBhbmQgZnJhbWUtbGF5ZXIgYXJlIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlCgkgIG9yZGVyIGV4Y2VwdCBmb3IgU1RSVUNUX0MgYW5kIGZyYW1lZGF0YSBmaWVsZHMgYXMgZGVzY3JpYmVkIGluIFNNUFRFIDQyMU0gQW5uZXgKCSAgTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc1MAoKMjAxNC0wOS0xNiAxNjo1MToyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBQb3J0IHRvIEdzdFZpZGVvRW5jb2RlciBiYXNlIGNsYXNzCgoyMDE0LTA5LTE2IDE2OjEzOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVzZSBjb3JyZWN0IGluc3RhbmNlIHN0cnVjdCBzaXplCgoyMDE0LTA5LTE2IDE1OjQ4OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICB2YWx1ZXMgb2YgdHlwZSAnT1NTdGF0dXMnIHNob3VsZCBub3QgYmUgdXNlZCBhcyBmb3JtYXQgYXJndW1lbnRzOyBhZGQgYW4gZXhwbGljaXQgY2FzdCB0byAnaW50JyBpbnN0ZWFkIFstV2Zvcm1hdF0KCjIwMTQtMDktMTYgMTU6MDI6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogUG9ydCB0byB0aGUgcmVhbCBWaWRlb1Rvb2xib3ggQVBJIGluc3RlYWQgb2YgdXNpbmcgb3VyIGRsb3BlbigpIHdyYXBwZXIKCSAgSXQncyBhIHB1YmxpYyBmcmFtZXdvcmsgc2luY2UgYSBsb25nIHRpbWUuCgoyMDE0LTA5LTE2IDExOjQyOjM0ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBkbyBub3QgbGVhayBwb29sIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzIKCjIwMTQtMDktMTYgMTE6NDM6MDIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBkZWNvZGVyOiBkbyBub3QgbGVhayBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzMKCjIwMTQtMDktMTYgMTE6NDE6NDMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZG8gbm90IGxlYWsgcG9vbCBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMwCgoyMDE0LTA5LTE2IDExOjQyOjEzICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IGRvIG5vdCBsZWFrIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMQoKMjAxNC0wOS0xNiAxMTo0MToxNiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGRvIG5vdCBsZWFrIHBvb2wgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjcyOQoKMjAxNC0wOS0xNiAxMzoyMToyMiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDExOjI0OjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA5LTE2IDEzOjE5OjI1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMDE6MTU6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IENvbXBhcmUgdGhlIGNvcnJlY3QgbG9vcCB2YXJpYWJsZXMKCjIwMTQtMDktMTUgMTU6NDI6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogTm8gbmVlZCB0byBzZXQga1ZUVmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyIG9uIGlPUwoKMjAxNC0wOS0xNSAxNTozNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbmQgbWFrZSB0aGUgcHJlcHJvY2Vzc29yIGNoZWNrIHdvcmsgcHJvcGVybHkKCjIwMTQtMDktMTUgMTU6MjU6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG8gdGhlIEFNX0NPTkRJVElPTkFMKCkgYWZ0ZXIgZmluYWxseSBzZXR0aW5nIHRoZSB2YXJpYWJsZQoKMjAxNC0wOS0xNSAxNToxMjozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogRG9uJ3QgaW5jbHVkZSBWaWRlb1Rvb2xib3ggb24gaU9TIDwgOC4wCgkgIEl0J3MgcHJpdmF0ZSBBUEkgYW5kIGRvZXMgbm90IHdvcmsgd2l0aG91dCBhIGphaWxicm9rZW4gZGV2aWNlLgoKMjAxNC0wOS0xNSAxMzozMzo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsc28gcmVmZXRjaCB0aGUgcGxheWxpc3QgYWZ0ZXIgdGhlIGZpcnN0IGZyYWdtZW50IGZhaWx1cmUKCSAgUHJldmlvdXNseSB3ZSBvbmx5IHJlZmV0Y2hlZCB0aGUgcGxheWxpc3QgaWYgZG93bmxvYWRpbmcgYSBmcmFnbWVudAoJICBoYXMgZmFpbGVkIG9uY2UuIFdlIHNob3VsZCBhbHNvIGRvIHRoYXQgaWYgaXQgZmFpbGVkIGEgc2Vjb25kIG9yIHRoaXJkIHRpbWUsCgkgIGNoYW5jZXMgYXJlIHRoYXQgdGhlIHBsYXlsaXN0IHdhcyB1cGRhdGVkIG5vdyBhbmQgY29udGFpbnMgbmV3IFVSSXMuCgoyMDE0LTA5LTE1IDExOjU5OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2g6IEFjdHVhbGx5IHJldHJ5IDMgdGltZXMgYXMgYWR2ZXJ0aXNlZCBpbnN0ZWFkIG9mIDIKCjIwMTQtMDktMTUgMTE6NTk6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogQWN0dWFsbHkgcmV0cnkgMyB0aW1lcyBhcyBhZHZlcnRpc2VkIGluc3RlYWQgb2YgMgoKMjAxNC0wOS0xMyAyMDo0OToxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggY29tcGlsYXRpb24gb24gaU9TIDguMAoKMjAxNC0wOS0xMSAxNDozNjozMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZpeCBtYWxmb3JtZWQgc2VxdWVuY2UgbGF5ZXIgaGVhZGVyIGFuZCBTVFJVQ1RfQwoJICBUaGlzIGNvbW1pdCBmaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBzZXF1ZW5jZSBsYXllciBoZWFkZXIgZm9yZ2luZyBvbgoJICB1cGRhdGVfY2FwcygpOgoJICAtIDB4MDAwMDAwMDQgdW5zaWduZWQgaW50ZWdlciBpcyBiZWZvcmUgU1RSVUNUX0MuCgkgIC0gU2V0IHJlc2VydmVkIGJpdHMgb2YgU1RSVUNUX0MgdG8gdGhlaXIgdmFsdWVzIGZvciBzaW1wbGUvbWFpbgoJICBwcm9maWxlcyBpbiBzZXF1ZW5jZSBsYXllciBoZWFkZXIgZm9ybWF0IGFuZCBBU0YgaGVhZGVyIGZvcm1hdC4KCSAgLSBTZXF1ZW5jZSBsYXllciBzaGFsbCBiZSByZXByZXNlbnRlZCBhcyBhIHNlcXVlbmNlIG9mIDMyIGJpdHMgdW5zaWduZWQKCSAgaW50ZWdlcnMgYW5kIHNoYWxsIGJlIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlIG9yZGVyIGV4Y2VwdAoJICBmb3IgU1RSVUNUX0Mgd2hpY2ggc2hhbGwgYmUgc2VyaWFsaXplZCBpbiBiaWctZW5kaWFuIGJ5dGUtb3JkZXIuCgkgIFNlZSBTTVBURSA0MjFNIEFubmV4IEwgZm9yIG1vcmUgZGV0YWlscyBhYm91dCBzZXF1ZW5jZSBsYXllciBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0NzQKCjIwMTQtMDktMTIgMTQ6NDk6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFVzZSBwcm9wZXIgdmFyaWFibGUgZm9yIGRlbGl2ZXJ5IHN5c3RlbQoJICBXZSB3YW50IHRvIGNoZWNrIHRoZSBkZWxpdmVyeSBzeXN0ZW0gaXMgSVNEQlQgKGFuZCBub3QgdGhlIG1vZHVsYXRpb24KCSAgd2hpY2ggd2UgY2hlY2sgbGF0ZXIgaW4gdGhhdCBjYXNlKS4KCSAgQ0lEICMxMjM4NDM5CgoyMDE0LTA5LTEyIDA5OjMwOjA0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY1MzEKCjIwMTQtMDktMTEgMTg6MzM6MjAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgdHNkZW11eDogZml4IG92ZXJmbG93IG9mIHBhY2tldF9sZW5ndGggZmllbGQgb2YgUEVTSGVhZGVyCgkgIHBhY2tldF9sZW5ndGggaXMgZGVmaW5lZCBhcyBhIGd1aW50MTYgaW4gdGhlIFBFU0hlYWRlciBzdHJ1Y3R1cmUuIFRoaXMKCSAgZGVmaW5pdGlvbiBtYXRjaCB0aGUgc3BlY2lmaWNhdGlvbi4gQnV0IHNpbmNlIHdlIGFkZCA2IGJ5dGVzIHRvIHRoZQoJICBwYWNrZXRfbGVuZ3RoIHZhbHVlIChsZW5ndGggb2Ygc3RhcnRfY29kZSArIHN0cmVhbV9pZCArIHBhY2tldF9sZW5ndGgpLAoJICB3ZSBjYW4gb3ZlcmZsb3cgdGhlIGd1aW50MTYgd2hlbiB0aGUgdmFsdWUgaW4gdGhlIFBFUyBoZWFkZXIgaXMgZ3JlYXRlcgoJICB0aGFuIDY1NTI5LgoJICBTbyB1c2UgYSBndWludDMyIGluc3RlYWQgb2YgYSBndWludDE2IHRvIGF2b2lkIG92ZXJmbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDkwCgoyMDE0LTA5LTEwIDE1OjM5OjQ0IC0wMzAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaW1wcm92ZSBwb3NpdGlvbiBkZXRlY3Rpb24gd2hlbiBhIGRvd25sb2FkIHJlc3RhcnQKCSAgUXVlcnkgb3RoZXIgc3JjIHBhZHMgYmVmb3JlIGZhbGxpbmcgYmFjayB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGxhc3QKCSAga25vd24gcHVzaGVkIHNlZ21lbnQgKHdoaWNoIGNhbiBiZSBmYXIgYWhlYWQgaW4gdGltZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0MjEKCjIwMTQtMDktMTAgMTU6NDM6MDUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIHBvc2l0aW9uIGRldGVjdGlvbiB3aGVuIGEgZG93bmxvYWQgcmVzdGFydAoJICBRdWVyeSBvdGhlciBzcmMgcGFkcyBiZWZvcmUgZmFsbGluZyBiYWNrIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdAoJICBrbm93biBwdXNoZWQgc2VnbWVudCAod2hpY2ggY2FuIGJlIGZhciBhaGVhZCBpbiB0aW1lKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQyMQoKMjAxNC0wOS0xMSAxNjoyMTozMCArMDQwMCAgQmVsb3pvcm92IFNlbWVuIDxza2ltaW5va0RAZ21haWwuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJICBtcGVncHNtdXg6IGZpeCBtZW1vcnkgbGVhayB3aGVuIGNvbnZlcnRpbmcgSC4yNjQgYXZjIHRvIGJ5dGUtc3RyZWFtIGZvcm1hdAoJICBGaXggbWVtb3J5IGxlYWsgZm9yIGlucHV0IHN0cmVhbSB3aXRoIGNhcHMgInZpZGVvL3gtaDI2NCxzdHJlYW0tZm9ybWF0PWF2YyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0MjYKCjIwMTQtMDktMTAgMTk6Mjc6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IGFsbG9jYXRlIGJ5dGUgd3JpdGVyIG9uIHN0YWNrCgoyMDE0LTA5LTEwIDE5OjE5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSAgYXNmbXV4OiBhbGxvY2F0ZSBieXRlIHJlYWRlcnMgb24gdGhlIHN0YWNrCgoyMDE0LTA5LTEwIDEwOjU4OjAzICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogY2xlYXIgbXV0ZXggcmVzb3VyY2VzIGluIGRpc3Bvc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM5MAoKMjAxNC0wOS0xMCAxNzoyNDozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIEZpeCB1cCBvbmUtZWxlbWVudCBsaXN0cyBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDE0LTA5LTEwIDE2OjM4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBib2d1cyBCR1JBIGNhcHMKCSAgUmVtb3ZlIDAuMTAtc3R5bGUgZW5kaWFubmVzcy8qX21hc2svYnBwL2RlcHRoIGZpZWxkcy4KCjIwMTQtMDktMTAgMTk6MTY6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogZG9uJ3QgQUNfU1VCU1QgaW50ZXJtZWRpYXRlIHZhbHVlcwoKMjAxNC0wOS0wOSAxMjowMTo0NyArMDIwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBHc3RHTFdpbmRvdzogSW50cm9kdWNlIG5hdmlnYXRpb24gdGhyZWFkCgkgIFRoaXMgdGhyZWFkIGRpc3BhdGNoZXMgbmF2aWdhdGlvbiBldmVudHMuIEl0IGlzIG5lZWRlZCB0byBhdm9pZCBkZWFkbG9ja3MKCSAgYmV0d2VlbiB3aW5kb3cgYmFja2VuZCB0aHJlYWRzIHRoYXQgZW1pdCBuYXZpZ2F0aW9uIGV2ZW50cyAoZS5nLiBYMTEvR01haW5Mb29wCgkgIHRocmVhZCkgYW5kIGNvbnN1bWVycyBvZiBuYXZpZ2F0aW9uIGV2ZW50cyBzdWNoIGFzIGdsaW1hZ2VzaW5rLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY2MQoJICBHc3RHbFdpbmRvd194MTEgdGhyZWFkIGlzIGNoYW5nZWQgdG8gaW52b2tlIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCBmb3IgbmF2aWdhdGlvbgoJICBkaXNwYXRjaGluZywgaW5zdGVhZCBvZiBlbWl0aW5nIHRoZSBldmVudCBpdHNlbGYuIE90aGUgYmFja2VuZHMgYmVzaWRlIFgxMSBkbwoJICBub3QgZGlzcGF0Y2ggbmF2aWdhdGlvbiBldmVudHMgeWV0LCBidXQgc2hvdWxkIHVzZSB0aGlzIHRocmVhZCB3aGVuIGRpc3BhdGNoaW5nCgkgIHRoZXNlIGV2ZW50cyBpbiB0aGUgZnV0dXJlLgoJICBUaGUgbmF2aWdhdGlvbiB0aHJlYWQgaXMgY3VycmVudGx5IHBhcnQgb2YgR3N0R0xXaW5kb3cgYW5kIG5vdCBpbXBsZW1lbnRlZCBpbgoJICBzZXBhcmF0ZSBzdWJjbGFzc2VzIC8gYmFja2VuZHMuIFRoaXMgd2lsbCBiZSBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4KCSAgZ3N0X2dsX3dpbmRvd194MTFfZ2V0X3N1cmZhY2VfZGltZW5zaW9ucyBpcyBhbHNvIGNoYW5nZWQgdG8gdXNlIGEgY2FjaGVkIHZhbHVlCgkgIG9mIHRoZSB3aW5kb3cncyB3aWR0aCwgaGVpZ2h0LiBUaGVzZSB2YWx1ZXMgYXJlIG5vdyByZXRyaWV2ZWQgaW4gdGhlIFgxMQoJICB0aHJlYWQsIGZ1bmN0aW9uIGdzdF9nbF93aW5kb3dfeDExX2hhbmRsZV9ldmVudC4gVGhpcyBjaGFuZ2UgaXMgbmVlZGVkIGJlY2F1c2UKCSAgb3RoZXJ3aXNlIHRoZSBYR2V0V2luZG93QXR0cmlidXRlcyBnZXRzIGNhbGxlZCBmcm9tIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCwKCSAgbGVhZGluZyB0byB4bGliIGFib3J0aW5nIGR1ZSB0byBtdWx0aXRocmVhZGVkIGFjY2VzcyAoaWYgWEluaXRUaHJlYWRzIGlzIG5vdAoJICBjYWxsZWQgYmVmb3JlLCBhcyBpcyB0aGUgY2FzZSBmb3IgZ3N0LWxhdW5jaCkKCjIwMTQtMDktMDUgMTM6NTg6MTkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmV0cnkgb3BlbmluZyB0aGUgZnJvbnRlbmQgb24gRUlOVFIKCjIwMTQtMDktMDUgMTM6MzI6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYXNzb3J0ZWQgZG9jICYgc3BlbGxpbmcgZml4ZXMKCjIwMTQtMDktMDcgMDE6MzA6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgUmV2ZXJ0ICJkYXRhdXJpc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgZWxzZSBpZiBjb25kaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzAyNGFlOWMzODQ5MDgxN2E3NmM4M2ZlYWIzYzg0NzI5ODljYWZhZC4KCSAgVGhlICpidWYgY2FuIGJlIE5VTEwgb3Igbm90IGRlcGVuZGluZyBpZiB0aGUgY2FsbGVyIG9mIGdzdF9wYWRfZ2V0X3JhbmdlCgkgIGZ1bmN0aW9uIHByb3ZpZGVkIG9yIG5vdCBhIGJ1ZmZlci4KCjIwMTQtMDktMDUgMTY6MTE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgdGVzdHM6IGhsc2RlbXV4OiBmaXggY29tcGlsYXRpb24KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3RoaWFnb3NzL2dzdC9oZWFkL2dzdHJlYW1lci9nc3QvZ3N0Lmg6NTQ6MCwKCSAgZnJvbSAvaG9tZS90aGlhZ29zcy9nc3QvaGVhZC9nc3RyZWFtZXIvbGlicy9nc3QvY2hlY2svZ3N0Y2hlY2suaDozNCwKCSAgZnJvbSBlbGVtZW50cy9obHNkZW11eF9tM3U4LmM6Mjc6CgkgIC4uLy4uL2V4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOjg6Mjg6IGVycm9yOiByZWR1bmRhbnQgcmVkZWNsYXJhdGlvbiBvZiDigJhmcmFnbWVudGVkX2RlYnVn4oCZIFstV2Vycm9yPXJlZHVuZGFudC1kZWNsc10KCSAgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiAoZnJhZ21lbnRlZF9kZWJ1Zyk7CgkgIE1vdmUgdGhlIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IHRvIGFmdGVyIHRoZSBkZWNsYXJhdGlvbi4KCjIwMTQtMDktMDUgMTI6NTY6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IEFuZCBmaXggTWFrZWZpbGUgeWV0IGFnYWluCgoyMDE0LTA5LTA1IDEyOjI1OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgdGhlIG0zdTguYyBmaWxlIGRpcmVjdGx5IGluIHRoZSB0ZXN0IGJlY2F1c2Ugb2YgYW4gYXV0b21ha2UgYnVnCgkgICQodG9wX3NyY2RpcikgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBfU09VUkNFUyBiZWNhdXNlIHRoYXQgd291bGQgYmUgdG9vCgkgIG9idmlvdXMuCgkgIGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEzLTA5L21zZzAwMDA1Lmh0bWwKCjIwMTQtMDktMDUgMDk6NTM6MTUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRml4IGhhbmRsaW5nIG9mIDY0IGJpdCBmbG9hdGluZyBwb2ludCBkYXRhCgkgIEluIGdzdF9haWZmX3BhcnNlX2NyZWF0ZV9jYXBzIGlmIGFuZCBlbHNlLWlmIGNvbmRpdGlvbnMKCSAgYXJlIGR1cGxpY2F0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwOTAKCjIwMTQtMDktMDUgMDg6NTE6MzAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBBZGQgbmV3IHByb3BlcnR5IG1pbi1zdGRkZXYKCSAgZmFjZSBkZXRlY3Rpb24gd2lsbCBiZSBwZXJmb3JtZWQgb25seSBpZiBpbWFnZSBzdGFuZGFyZCBkZXZpYXRpb24gaXMKCSAgZ3JlYXRlciB0aGF0IG1pbi1zdGRkZXYuIERlZmF1bHQgbWluLXN0ZGRldiBpcyAwIGZvciBiYWNrd2FyZAoJICBjb21wYXRpYmlsaXR5LiBUaGlzIHByb3BlcnR5IHdpbGwgYXZvaWQgdG8gcGVyZm9ybSBmYWNlIGRldGVjdGlvbiBvbgoJICBpbWFnZXMgd2l0aCBsaXR0bGUgY2hhbmdlcyBpbXByb3ZpbmcgY3B1IHVzYWdlIGFuZCByZWR1Y2luZyBmYWxzZQoJICBwb3NpdGl2ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUxMAoKMjAxNC0wNy0wNyAxMDo1Mjo1NyArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZml4IGlzc3VlcyBhbmQgZXhwb3NlIG12cCBtYXRyaXgKCSAgKiBhc3BlY3Qgc2hvdWxkIG5vdCBiZSAwIG9uIGluaXQKCSAgKiByZW5hbWUgZm92eSB0byBmb3YKCSAgKiBhZGQgbXZwIHRvIHByb3BlcnRpZXMgYXMgYm94ZWQgZ3JhcGhlbmUgdHlwZQoJICAqIGZpeCB0cmFuc2Zvcm1hdGlvbiBvcmRlci4gc2NhbGUgZmlyc3QKCSAgKiBjbGVhciBjb2xvciB3aXRoIDEuMCBhbHBoYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjIzCgoyMDE0LTA5LTA0IDIxOjQxOjU0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBBbHNvIGdldCB0aGUgbTN1OC5jIHNvdXJjZSBmaWxlIGZyb20gdGhlICQodG9wX3NyY2RpcikgZm9yIHRoZSB0ZXN0CgkgIFNob3VsZCBmaXggbWFrZSBkaXN0Y2hlY2sgZm9yIHJlYWwgbm93LgoKMjAxNC0wOS0wNCAxOTowMTo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogVXNlICQodG9wX3NyY2RpcikgaW5zdGVhZCBvZiAkKHRvcF9idWlsZGRpcikgZm9yIHRoZSBpbmNsdWRlIHBhdGgKCjIwMTQtMDktMDQgMTg6MjE6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cyB0byBkZWFjdGl2YXRlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMDQgMTg6MjE6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cyB0byBkZWFjdGl2YXRlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMDQgMTg6MjA6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cyB0byBkZWFjdGl2YXRlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMDQgMTc6NTI6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IENvbXBpbGUgdGhlIG0zdTguYyBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlLXVzaW5nIHRoZSAubyBmaWxlCgoyMDE0LTA5LTA0IDE3OjUwOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IEFkZCB1bml0IHRlc3QgZm9yIHBhcnNpbmcgb2YgTTNVOCBwbGF5bGlzdHMKCSAgUG9ydGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3lsYXR1eWEvZ3N0LXBsdWdpbnMtYmFkCgkgIFRoaXMgc3RpbGwgaGFzIHNvbWUgdW5pdCB0ZXN0cyBmb3IgYWx0ZXJuYXRpdmUgcmVuZGl0aW9ucyBhbmQKCSAgc2Vla2luZywgd2hpY2ggYXJlIGNvbW1lbnRlZCBvdXQgZm9yIHRoZSB0aW1lIGJlaW5nIHVudGlsIHdlCgkgIHN1cHBvcnQgdGhlbSBwcm9wZXJseS4KCjIwMTQtMDktMDQgMTc6NDk6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IGFzc2lnbiBvZmZzZXRzIHRvIHRoZSBmaWxlcyBpZiB3ZSBhY2N1bXVsYXRlIHRoZW0gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIHBsYXlsaXN0CgoyMDE0LTA5LTA0IDEzOjM4OjIxICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogUmVtb3ZlIHVubmVjZXNzYXJ5IGVsc2UgaWYgY29uZGl0aW9uCgkgIEluIGdzdF9kYXRhX3VyaV9zcmNfY3JlYXRlKCksIGJ1ZiBjYW5ub3QgYmUgTlVMTCwgaGVuY2UKCSAgZWxzZSBpZiAoKmJ1ZiAhPSBOVUxMKSB3aWxsIGJlIGludmFsaWQgc28gcmVtb3ZpbmcgdGhlCgkgIGVsc2UgaWYgY29uZGl0aW9uIGFuZCBhZGRpbmcgYSBjaGVjayB0byB1bnJlZmVyZW5jZSBidWYKCSAgaW4gZWxzZSBjb25kaXRpb24sIGp1c3QgaW4gY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODYxCgoyMDE0LTA5LTAyIDE4OjA2OjUzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNpbXBsaWZ5IElTREItVCBsYXVuY2ggbGluZSBleGFtcGxlCgoyMDE0LTA5LTAyIDEyOjEzOjAxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRlbGF5IGxvY2tpbmcgdGlsbCBhY3R1YWxseSBuZWVkZWQKCSAgR2V0IHJpZCBvZiB1bm5lZWRlZCBsb2NraW5nIGF0IHByb3Agc2V0dGluZyBieSBkb2luZwoJICBpdCBvbmx5IHdoZW4gdHVuaW5nIHRoZSBmcm9udGVuZCBhdCBfdHVuZV9mZSgpCgoyMDE0LTA5LTAyIDEyOjExOjQ0ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogTWFrZSBnZXRfdXJpKCkgdGhyZWFkc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODYxCgoyMDE0LTA5LTAxIDE3OjQxOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIGFtY2F1ZGlvZGVjOiBSZW1vdmUgaGFjayBmb3IgR29vZ2xlIE1QMyBkZWNvZGVyCgkgIFRoZSBmaXJzdCBidWZmZXIgZG9lcyBub3QgY29udGFpbiBtb3JlIGdhcmJhZ2UgdGhhbiBhbnkgb3RoZXIgTVAzIGRlY29kZXIKCSAgb3V0cHV0cyBhbmQgd2UgZG9uJ3QgcmVhbGx5IGtub3cgaG93IG11Y2ggd2UgaGF2ZSB0byBkcm9wIG9yIG5vdC4KCSAgQWZ0ZXIgdGhpcyBjaGFuZ2UgdGhlIG91dHB1dCBoYXMgdGhlIHNhbWUgZHVyYXRpb24gYXMgd2l0aCBtYWQuCgoyMDE0LTA5LTAxIDA4OjI0OjU3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSAgemVicmFzdHJpcGU6IFJlZmFjdG9yIHRvIHJlbW92ZSBkdXBsaWNhdGUgY29kZQoJICBnc3RfemVicmFfc3RyaXBlX3RyYW5zZm9ybV9mcmFtZV9pcF9wbGFuYXJZCgkgIGdzdF96ZWJyYV9zdHJpcGVfdHJhbnNmb3JtX2ZyYW1lX2lwX1lVWTIKCSAgZ3N0X3plYnJhX3N0cmlwZV90cmFuc2Zvcm1fZnJhbWVfaXBfQVlVVgoJICBhbGwgYWJvdmUgMyBmdW5jdGlvbnMgZG8gdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBleGNlcHQgZm9yIG9mZnNldCBhbmQgcGl4ZWwgc3RyaWRlLgoJICBIZW5jZSBtb3ZpbmcgdGhlIGZ1bmN0aW9uYWxpdHkgdG8gYSBzaW5nbGUgZnVudGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTAzMgoKMjAxNC0wOC0yOSAxODo1NTozMiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggZGVzY3JpcHRpb24gZm9yIG1vZHVsYXRpb24gcHJvcAoKMjAxNC0wOC0yOSAxNzoxNjowOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgYmFzaWMgY2hlY2tzIG9uIElTREItVCBwYXJhbWV0ZXJzCgkgIEFsc28gYWRkIGEgcm91dGluZSBmb3IgY2hlY2tpbmcgd3JvbmcgZGVsc3lzL21vZHVsYXRpb24KCSAgY29tYmluYXRpb25zIHJpZ2h0IGJlZm9yZSB0dW5pbmcgKG9ubHkgaW1wbGVtZW50ZWQgZm9yCgkgIElTREItVCBmb3Igbm93KS4KCjIwMTQtMDgtMjkgMTg6MDk6MDcgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgbW9kdWxhdGlvbiB0eXBlcwoKMjAxNC0wOC0yOSAxMzoyNjoxMiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIEZJWE1FIG9uIF9JU0RCVF9MQVlFUl9FTkFCTEVEIHByb3AKCSAgVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gMSB0byA3IGFzIHN0YXRlZC4KCSAgRFRWX0lTREJUX0xBWUVSX0VOQUJMRUQgYml0bWFzayBpcyBidWlsdCBmcm9tCgkgIE9SLWluZyAweDEgMHgyIDB4NC4gSWYgYWxsIGJpdHMgYXJlIHNldAoJICAoMHgwMDAwMDExMSA9IDcpIGl0IG1lYW5zIGFsbCBsYXllcnMgc2hvdWxkIGJlCgkgIGRlbW9kdWxhdGVkLgoKMjAxNC0wOC0yOSAxOToyNjo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVtb3ZlIGNvZGUgdGhhdCBjYW4ndCBiZSByZWFjaGVkCgkgIElmIHRoaXMgY29kZSBjb3VsZCBldmVyIGJlIHJlYWNoZWQsIGl0IHdvdWxkIGxlYWsKCSAgbWVtb3J5IChDSUQgMTIzMTk3OSksIGJ1dCBnc3RfY2Fwc19nZXRfZmVhdHVyZXMoKQoJICBuZXZlciByZXR1cm5zIE5VTEwsIHNvIHRoYXQgY2FuJ3QgaGFwcGVuLgoKMjAxNC0wOC0yOSAxOToyNDo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIGNvZGUgdGhhdCBjYW4ndCBiZSByZWFjaGVkCgkgIElmIHRoaXMgY29kZSBjb3VsZCBldmVyIGJlIHJlYWNoZWQsIGl0IHdvdWxkIGxlYWsKCSAgbWVtb3J5IChDSUQgMTIzMTk3NyksIGJ1dCBnc3RfY2Fwc19nZXRfZmVhdHVyZXMoKQoJICBuZXZlciByZXR1cm5zIE5VTEwsIHNvIHRoYXQgY2FuJ3QgaGFwcGVuLgoKMjAxNC0wOC0yOCAyMDoxMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHVwIGhhbmRsaW5nIG9mIGlucHV0IGNhcHMgY29ybmVyIGNhc2VzCgkgIERvIG1vcmUgZWxhYm9yYXRlIHZhbGlkYXRpb24gb2YgdGhlIGlucHV0IGNhcHM6IHdoYXQgZmllbGRzCgkgIGFyZSByZXF1aXJlZCBhbmQvb3Igbm90IGFsbG93ZWQuIERvbid0IGFzc3VtZSBBVkMzIGZvcm1hdAoJICBpbnB1dCB3aXRob3V0IGNvZGVjX2RhdGEgZmllbGQgaXMgYnl0ZS1zdHJlYW0gZm9ybWF0LiBGaXgKCSAgdXAgc29tZSBub3ctdW5yZWFjaGFibGUgY29kZSAoQ0lEIDEyMzI4MDApLgoKMjAxNC0wOC0yOCAxNjo0MjozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQWRkIG1pc3NpbmcgYnJlYWsgdG8gc3dpdGNoCgkgIENJRCAxMjMyODAxCgoyMDE0LTA4LTI4IDExOjM3OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBSZXNldCBuZWdvdGlhdGlvbiBzdGF0ZSB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkKCSAgQWZ0ZXIgZ29pbmcgYmFjayB0byBSRUFEWSB3ZSBjYW4gYWNjZXB0IG5ldyBmb3JtYXQgc2V0dGluZ3MgYWdhaW4uCgoyMDE0LTA4LTIyIDE1OjE4OjU5IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFN1cHBvcnQgT3BlblNTTCBmb3IgQUVTIGRlY3J5cHRpb24gb2YgSExTIGZyYWdtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNTI0OAoKMjAxNC0wOC0yNiAxNjoyMTo0MiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkgIGdsOiBxZ2x3dGV4dHVyZXNoYXJlIGRlbW8gZml4ZXMgYW5kIGNsZWFudXAKCSAgMS4gZ2xjb250ZXh0aWQgZnVuY3Rpb24gaXMgcmVwbGFjZWQgYnkgZ3N0cmVhbWVyIGdzdF9nbF9jb250ZXh0X25ld193cmFwcGVkIC4KCSAgMi4gY2FsbCBnc3RfaW5pdCBiZWZvcmUgZ3N0X2dsX2Rpc3BsYXlfbmV3ICwgc2VlbXMgZ3N0X2dsX2Rpc3BsYXlfbmV3IGRlcGVuZHMKCSAgb24gZ3N0X2FsbG9jYXRvcl9yZWdpc3RlciAsIHdoaWNoIG9ubHkgd29ya2VkIGFmdGVyIGdzdF9pbml0IGNhbGxlZAoJICAzLiBmbHVzaCBnc3RyZWFtZXIgT3BlbkdMIGNvbnRleHQgYmVmb3JlIHVzaW5nIHNoYXJlZCB0ZXh0dXJlLCBmaXgKCSAgZmxpY2tlciBwcm9ibGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTY2CgoyMDE0LTA4LTI3IDEzOjQwOjQyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogQWRkIEdTVEdMQVBJIG1hY3JvIHRvIHRoZSBkZWJ1ZyBjYWxsYmFjayBmdW5jdGlvbgoJICBGaXhlcyB0aGUgV2luZG93cyBidWlsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2NQoKMjAxNC0wOC0yOCAwOTo1MzoxNyArMDMwMCAgQmxha2UgVHJlZ3JlIDxibGFrZS50cmVncmVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogQ2xhbXAgb3V0IG9mIGJvdW5kcyByZXNvbHV0aW9ucyB0byBwcmV2ZW50IHNlZ2ZhdWx0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODAxCgoyMDE0LTA4LTI3IDE0OjQ3OjI1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkbyBub3QgY2hlY2sgZm9yIEdML0dMVS9FR0wvR0xFUzIgbGlicyBpZiBkaXNhYmxlZCBpbiBjb25maWd1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1MjIKCjIwMTQtMDgtMjYgMTI6Mzg6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGVnbDogV3JhcCBLSFJfY3JlYXRlX2NvbnRleHQgZmxhZ3MgaW4gYW4gaWZkZWYKCSAgRUdMX0NPTlRFWFRfRkxBR1NfS0hSIGFuZCBFR0xfQ09OVEVYVF9PUEVOR0xfREVCVUdfQklUX0tIUgoJICBkb24ndCBleGlzdCBpbiB0aGUgQW5kcm9pZCBOREsuIFdyYXAgdGhlaXIgdXNhZ2UgaW4gYW4gI2lmZGVmCgkgIEVHTF9LSFJfY3JlYXRlX2NvbnRleHQgdG8gZml4IHRoZSBidWlsZCB0aGVyZS4KCjIwMTQtMDgtMjEgMTI6MzI6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgY29uc2lkZXIgdW5rbm93biBzdHJlYW0tZm9ybWF0IGFzIGF2YwoJICBJdCBzaG91bGQgdHJ5IHRvIHVzZSBieXRlc3RyZWFtIGluIHRoZXNlIGNhc2VzIHRoYXQgdGhlIGZvcm1hdAoJICBpcyBzZXQgdG8gX0ZPUk1BVF9OT05FIGFzIGl0IHNlZW1zIHRoYXQgaXMgd2hhdCB0aGUgJ2Vsc2UnIGNsYXVzZQoJICBmb3IgYnl0ZXN0cmVhbSBjYW4gaGFuZGxlIChieSBkZWZhdWx0aW5nIHRvIF9GT1JNQVRfQllURVNUUkVBTSkuCgoyMDE0LTA4LTI1IDEzOjMzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0ZXN0czogZml4IGNhcHMgZm9yIGF2YyBmb3JtYXQKCSAgSWYgaXQgaGFzIGEgY29kZWNfZGF0YSBmaWVsZCwgaXQgc2hvdWxkIGFsc28gdXNlIHRoZSBzdHJlYW0tZm9ybWF0PWF2YyBhcwoJICBjb2RlY19kYXRhIGRvZXNuJ3QgbWFrZSBzZW5zZSBvdGhlcndpc2UgYW5kIHRoZSBkZWZhdWx0IHNob3VsZAoJICBiZSBieXRlc3RyZWFtCgoyMDE0LTA4LTI1IDE1OjIxOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkgIGRvY3M6IGFkZCBtcGVncHNtdXggYW5kIG1wZWd0c211eAoKMjAxNC0wOC0yNSAxNToyMDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSAgZG9jczogYWRkIGF1ZGlvbWl4ZXIgdG8gZG9jcwoKMjAxNC0wOC0yNSAxNToyMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSAgZG9jczogYWRkIGFpZmYgZWxlbWVudHMgdG8gZG9jcwoKMjAxNC0wOC0yNSAxNDo1NjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBkb2NzOiBwbHVnaW5zOiBtaXNjIHVwZGF0ZXMKCjIwMTQtMDgtMjUgMTQ6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIGRvY3M6IG1vdmUgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIGRvY3MgaW50byB0aGUgbGlicmFyeSBkb2NzCgkgIE5vdyB0aGF0IHdlIGhhdmUgZG9jcyBmb3IgdGhlIGxpYnMuCgoyMDE0LTA4LTI1IDEyOjIxOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgc25kZmlsZTogZG9uJ3QgZGVjb2RlIGZvcm1hdHMgdGhhdCBhcmUgYmV0dGVyIGhhbmRsZWQgYnkgb3RoZXIgZWxlbWVudHMKCSAgSW4gcGFydGljdWxhcjogZmxhYywgb2dnLCBwY20sIGF1LCBhaWZmLCB3YXYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTYKCjIwMTQtMDgtMjIgMTY6NDk6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGVnbDogZmFsbGJhY2sgdG8gYSBub24tZGVidWcgY29udGV4dCBpZiBhIGRlYnVnIG9uZSBmYWlscwoJICBUaGUgdGV4dCBmb3IgRUdMX0tIUl9jcmVhdGVfY29udGV4dCBhZGRlZCB0aGUgcG9zc2libGl0eSBmb3IgRVMKCSAgY29udGV4dHMgdG8gYXNrIGZvciBhIGRlYnVnIGNvbnRleHQgaG93ZXZlciB0aGF0IGhhcyBub3QgYmVlbgoJICBmdWxseSByZWFsaXplZCBieSBhbGwgaW1wbGVtZW50YXRpb25zLiAgRmFsbGJhY2sgdG8gYSBub24tZGVidWcKCSAgY29udGV4dCB3aGVuIHRoZSBpbXBsZW1lbnRhdGlvbiBlcnJvcnMuCgoyMDE0LTA4LTA1IDE0OjA2OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8a2FrYXJvdG9Aa2FrYXJvdG8uaG9tZWxpbnV4Lm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWRkIHN1cHBvcnQgZm9yIFJUUC9SVENQIG1peGluZyBpZiBkYXRhIGFycml2ZXMgb24gUlRDUCBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDMyMQoKMjAxNC0wOC0yMSAxNjoyNDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBhYm9ydCBpbiBlcnJvciBjb2RlIHBhdGggd2l0aCBuZXdlciBnbGliCgkgIERvbid0IGZvcmdldCB0byB1bmxvY2sgbXBkIGNsaWVudCBhZ2FpbiB3aGVuIGVycm9yaW5nIG91dC4KCSAgRml4ZXMgYWJvcnQgd2hlbiBnX211dGV4X2NsZWFyKCkgaXMgY2FsbGVkIG9uIGEgbG9ja2VkIG11dGV4LgoKMjAxNC0wNy0wMiAxMjo0OTo0NCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnc3RvcGVuZ2w6IGFkZCBpbnRyb3NwZWN0aW9uIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wOC0wNSAxMjowNzowOCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZXhhbXBsZXM6IGZpeCBndGsrIDMuMTQgZGVwcmVjYXRpb24gZXJyb3IKCSAgaHR0cHM6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL2d0azMvMy4xMy9HdGtXaWRnZXQuaHRtbCNndGstd2lkZ2V0LXNldC1kb3VibGUtYnVmZmVyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wNy0wNyAxMDo1MjowNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBleHBvc2UgY29udGV4dAoJICAqIGV4cG9zZSBjb250ZXh0IGluIGRyYXcgLyByZXNoYXBlIGNhbGxiYWNrcwoJICAqIGFkZCBjb250ZXh0IHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDctMDcgMTA6NTE6MjggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXI6IGV4cG9zZSBvcGVuZ2wgaGFuZGxlIGluIGdldHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA4LTIwIDA5OjM3OjAxICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGNoZWNrIG51bGwgYmVmb3JlIHVucmVmIEdzdEdMRGlzcGxheQoKMjAxNC0wOC0yMSAxMDowMzowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2RlYnVnLmg6CgkgIGdsOiBhZGQgcHJvdG90eXBlIGRlZmluaXRpb24gZm9yIEtIUl9kZWJ1ZwoKMjAxNC0wOC0yMCAyMzoyNDoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0OiBpbXBsZW1lbnQgdGhlIGRlYnVnIGNhbGxiYWNrCgkgIEZvciBib3RoIEdMX0tIUl9kZWJ1ZyBhbmQgQVJCX2RlYnVnX291dHB1dC4gIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHJlY2VpdmUgZXJyb3JzIGFuZCBvdGhlciBoaW50cyBmcm9tIHRoZSBHTCBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGFmdGVyCgkgIGV2ZXJ5IEdMIG9wZXJhdGlvbi4KCjIwMTQtMDgtMjAgMjM6MjM6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogYWRkIHByb3RvdHlwZXMgZm9yIEtIUl9kZWJ1Zy9BUkJfZGVidWdfb3V0cHV0CgoyMDE0LTA4LTE5IDE3OjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1bnJlZiBwYWQgcmVmZXJlbmNlIHdoZW4gcmVtb3ZpbmcgaW50ZXJuYWwgc291cmNlIGluIGVycm9yCgkgIEF2b2lkcyBsZWFraW5nIHRoZSBwYWQgaW4gZXJyb3Igc2l0dWF0aW9ucwoKMjAxNC0wOC0xOSAxNjowMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVhZCBsYW5ndWFnZSBmcm9tIENvbnRlbnRDb21wb25lbnQgbm9kZSBhcyBhIGZhbGxiYWNrCgkgIElmIHRoZSBsYW5ndWFnZSBpcyBub3Qgc3BlY2lmaWVkIGluIHRoZSBBZGFwdGF0aW9uU2V0LCB1c2UgdGhlIENvbnRlbnRDb21wb25lbnQKCSAgbm9kZSB0byBnZXQgaXQuIFdlIG9ubHkgZ2V0IGl0IGlmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgQ29udGVudENvbXBvbmVudCBhcwoJICBpdCBkb2Vzbid0IHNlZW0gY2xlYXIgb24gd2hhdCB0byBkbyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM3CgoyMDE0LTA2LTI1IDE1OjU1OjMyICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBwdXNoIGxhbmd1YWdlIGNvZGUgdGFnCgkgIExhbmd1YWdlIGNvZGUgdGFnIGlzIHJldHJpZXZlZCBmcm9tIHRoZSBBZGFwdGF0aW9uU2V0IGxhbmd1YWdlCgkgIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM3CgoyMDE0LTA4LTE5IDIwOjE0OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBkb24ndCB0YWtlIGFuIGV4dHJhIHJlZiBvbiB0aGUgZGlzcGxheSBvbiBzZXRfY29udGV4dAoJICBnc3RfY29udGV4dF9nZXRfZ2xfZGlzcGxheSgpIHJldHVybnMgYSByZWYuICBEb24ndCB0YWtlIGFub3RoZXIgaW4KCSAgZ3N0X29iamVjdF9yZXBsYWNlKCkuCgoyMDE0LTA4LTE5IDE3OjAxOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHVucmVmIHRoZSBHc3RHTFVwbG9hZCBpbiB0aGUgcGFkIGlmIGZyZWVkIHdoaWxlIHJ1bm5pbmcKCSAgRHluYW1pYyBwaXBlbGluZXMgdGhhdCBnZXQgYW5kIHJlbGVhc2UgdGhlIHNpbmsgcGFkcyB3aWxsIGZpbmFsaXplCgkgIHRoZSBwYWQgd2l0aG91dCBnb2luZyB0aHJvdWdoIGdzdF9nbF9taXhlcl9zdG9wKCkgd2hpY2ggaXMgd2hlcmUgdGhlCgkgIHVwbG9hZCBvYmplY3QgaXMgdXN1YWxseSBmcmVlZC4gIERvbid0IGxlYWsgb2JqZWN0cyBpbiBzdWNoIGNhc2UuCgoyMDE0LTA4LTE0IDIzOjUxOjIxIC0wNDAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBhdm9pZCBnbCByZXNvdXJjZSByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIGRpZmZlcmVudCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDgzMAoKMjAxNC0wOC0xOSAxNDo0NDoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgY2xvYmJlciB1bm5lY2Vzc2FyeSBHc3RWaWRlb0luZm8gZmllbGRzCgkgIG90aGVyd2lzZSB3ZSBtaWdodCBjbG9iYmVyIG90aGVyIGltcG9ydGFudCBmaWVsZHMgc3VjaCBhcyB0aGUgZnJhbWUgcmF0ZS4KCjIwMTQtMDgtMTkgMTQ6NDM6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGdldCB0aGUgYXR0cmlidXRlIGZyb20gdGhlIGNvcnJlY3Qgc2hhZGVyCgoyMDE0LTA4LTE5IDE0OjIzOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5yZWYgdGhlIHdpbmRvdyBvbiBuYXZpZ2F0aW9uIGV2ZW50CgkgIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDgtMTkgMDA6MDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBwYWRzIHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50CgkgIE90aGVyd2lzZSB0aGUgcGFkcyB3aWxsIGJlIHRoZXJlIGlmIGl0IGlzIHJlc3RhcnRlZCBhbmQgdGhlIHN0cmVhbQoJICBjYW4gYmUgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQzOTQKCjIwMTQtMDgtMTcgMDE6NDI6MDUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IGgyNjQ6IFVzZSBwcm9wZXIgYml0X3JlYWRlciBhcGkgd2hpbGUgcGFyc2luZyBidWZmZXJpbmdfcGVyaW9kIFNFSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0OTcwCgoyMDE0LTA4LTE0IDEwOjE5OjEzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSAgc2NlbmVjaGFuZ2U6IGZpeCBjcmFzaCBvbiBzdGFydHVwCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSB3YXMgdXNpbmcgdGhlIG9sZGluZm8gR3N0VmlkZW9JbmZvCgkgIGJlZm9yZSBpdCdzIGJlZW4gcG9wdWxhdGVkLCByZXN1bHRpbmcgaW4gYSBjcmFzaCByaWdodAoJICBhdCB0aGUgc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3NjMKCjIwMTQtMDgtMTQgMTU6MjY6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IE1ha2Ugc3VyZSB0byB1bmJsb2NrIGFueSB0aHJlYWQgd2FpdGluZyBvbiB0aGUgZHJhaW4gY29uZGl0aW9uIHZhcmlhYmxlIHdoZW4gZXJyb3JzIGhhcHBlbgoKMjAxNC0wOC0xNCAxNToyNDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogRml4IGRyYWluaW5nIGxvZ2ljIHRvIGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgRU9TIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNDc3NQoKMjAxNC0wOC0xMSAyMToyNTo0MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBwYXJzaW5nIG9mIGZyZXFzIGluIHNvbWUgWkFQIGZpbGVzCgkgIENoYW5nZSBhdm9pZHMgYXR0ZW1wdGluZyB0byBjb252ZXJ0IHRvIGtIeiBpZiB1bm5lZWRlZC4KCSAgVGhlcmUgYXJlIHF1aXRlIHNvbWUgWkFQIGZvcm1hdCB2YXJpYW50cyBvdXQgdGhlcmUuIEFtb25nCgkgIHRoZWlyIHN1YnRsZSBsaXR0bGUgZGlmZmVyZW5jZXMsIHNvbWUgc3RvcmUgdHJhbnNwb25kZXIKCSAgZnJlcXVlbmNpZXMgaW4gTWh6IGFuZCBvdGhlcnMgaW4ga0h6LiBUaGUgbGF0dGVyIGJlZW4gdGhlCgkgIG1vc3QgY29tbW9uIHZhcmlhbnQuCgoyMDE0LTA4LTA3IDE5OjM3OjAxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGdldCByaWQgb2YgcmVtYWluaW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTQtMDgtMDcgMTk6MTk6MzYgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogd3JhcCBhcm91bmQga25vd24taW50ZXJydXB0aWJsZSBpb2N0bHMKCSAgQWxzbyBnZXQgcmlkIG9mIHRoZSBhc3VtcHRpb24gdGhhdCBzb21lIHJlcXVlc3RzIGxpa2UKCSAgRkVfU0VUX1RPTkUgb3IgRkVfU0VUX1ZPTFRBR0Ugb25seSBlcnJvciBvdXQgd2l0aCAtMQoKMjAxNC0wOC0wNyAxNDowMDo0MCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIGdzdF9kdmJzcmNfcmV0cnlfaW9jdGwgZm9yIHJldHJ5IG1hY3JvCgkgIExPT1BfV0hJTEVfRUlOVFIgbWFjcm8gbWFrZXMgaXQgZWFzaWVyIHRvIGhhbmRsZQoJICBhc3NvcnRlZCBpb2N0bCBhcmdwIHR5cGVzLiBGdW5jdGlvbmFsaXR5IGlzIG90aGVyd2lzZQoJICBlcXVpdmFsZW50LgoKMjAxNC0wOC0xMiAxMjozNTowMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGR2YmJhc2ViaW46IGFkZCAndHVuZScgc2lnbmFsCgkgIEl0IHdvcmtzIHRoZSBzYW1lIGFzIHRoZSAndHVuZScgcHJvcGVydHkgdGhhdCBpcyB1c2VkIG9ubHkgdG8gc2lnbmFsCgkgIHRoZSBlbGVtZW50IHRoYXQgaXQgc2hvdWxkIHR1bmUsIGJ1dCBpdCBpcyBtb3JlIG5hdHVyYWwgdG8gYmUgdXNlZAoJICBhcyBhIHNpZ25hbCByYXRoZXIgdGhhbiBhIHByb3BlcnR5LgoJICBJdCBpcyBhbHNvIHByb3hpZWQgYXQgdGhlIGR2YmJhc2ViaW4gZWxlbWVudAoKMjAxNC0wOC0wNyAxNToyNTozMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHN3aXRjaCBwbGF5bGlzdCBvbiB0cmljayBtb2RlcwoJICBJbnN0ZWFkIGFsd2F5cyB1c2UgdGhlIGxvdyBiYW5kd2l0aCBwbGF5bGlzdCBtYWtpbmcgdGhpbmdzIGdvIHNtb290aGVyCgkgIGFzIHRoZSBjdXJyZW50IGhldXJpc3RpYyBpcyByYXRoZXIgc2V0IGZvciBub3JtYWwgcGxheWJhY2ssIGFuZAoJICBjdXJyZW50bHkgaXQgZG9lcyBub3QgYmVoYXZlIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQ1CgoyMDE0LTA3LTIxIDE0OjQyOjQ3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBObyBuZWVkIHRvIGhhdmUgYSBJLUZyYW1lIGxpc3QgdG8gZG8gdHJpY2sgbW9kZXMKCSAgSXQganVzdCB3b3JrcyBjbGVhbmx5IHdpdGhvdXQgYW55IGluZGV4IGFuZCB0aGVyZSBpcyBubyByZWFsIHJlYXNvbiBmb3IKCSAgdGhhdCBsaW1pdGF0aW9uLiBBbHNvLCB0aGVyZSBhcmUgdmVyeSBmZXcgc3RyZWFtIHdpdGggdGhhdCBmZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQ1CgoyMDE0LTA4LTA1IDE3OjEzOjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEbyBub3QgdHdlYWsgc2VnbWVudHMgb24gcmV2ZXJzZSBwbGF5YmFjawoJICBXZSBjYW4ndCBjb21wYXJlIHRoZSBmaXJzdCBidWZmZXIgc3RhcnQgYW5kIHRoZSBzZWdtZW50IHN0YXJ0IGluIHRoYXQKCSAgY2FzZS4uLiBwbGF5YmFjayBpcyBnb2luZyBiYWNrd2FyZCEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0NQoKMjAxNC0wOC0xMyAxNjo1NzoxNSArMDIwMCAgVmFsZW50aW4gUE9OUyA8dmFseDc2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBVc2UgTlVMTCB0byBkaXNhYmxlIGV5ZXMvbm9zZS9tb3V0aAoJICBXaXRob3V0IHByaW50aW5nIGEgd2FybmluZyBhYm91dCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NjIzCgoyMDE0LTA4LTEwIDIyOjU4OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IGZpeCBhbGxvY2F0b3IgbGVhayBpbiBzb21lIGNhc2VzCgkgIFNwb3R0ZWQgYnkgU2ViYXN0aWFuIFJhc211c3Nlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMwoKMjAxNC0wOC0xMSAxMjozMjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBzYXZlIGEgZmV3IHJlZi91bnJlZiBwYWlycwoJICBUaGUgZXZlbnQvcXVlcnkgZnVuY3Rpb25zIGFscmVhZHkgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCwgYXZvaWQKCSAgcmVmL3VucmVmIGluIHRoZSBmdW5jdGlvbnMgaGFuZGxpbmcgY2FwcyBxdWVyaWVzIGFuZCBldmVudHMuCgoyMDE0LTA4LTExIDEyOjMxOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlbW92ZSBvYnNvbGV0ZSBmaXhtZQoKMjAxNC0wOC0xMSAxMjoyMjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBpbXByb3ZlIG5lZ290aWF0aW9uCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgb3ZlcmxheSBtZXRhLCBpZiBwb3NzaWJsZSB1c2UgaXQgYW5kCgkgIGlmIG5vdCBmYWxsYmFjayB0byBuby1vdmVybGF5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAxMjoyMToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBhbHdheXMgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBjYXBzCgkgIEF2b2lkcyByZXR1cm5pbmcgdmFsdWVzIHRoYXQgcGVlcnMgY2FuJ3QgdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMTE6MzU6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaW1wcm92ZSBuZWdvdGlhdGlvbgoJICBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIG92ZXJsYXkgbWV0YSwgaWYgcG9zc2libGUgdXNlIGl0IGFuZAoJICBpZiBub3QgZmFsbGJhY2sgdG8gbm8tb3ZlcmxheSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMTE6MzM6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWx3YXlzIGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgaW4gZ2V0Y2FwcwoJICBBdm9pZHMgcmV0dXJuaW5nIHVuc3VwcG9ydGVkIGNhcHMgdG8gcGVlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAyMzozODo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGZpeCB1cCBkb2MgY29tbWVudCBmb3Igc2V0X3NyY19jYXBzCgkgIEl0IGRvZXMgbm90IG9jY3VyICdsYXRlcicgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjYyCgoyMDE0LTA4LTA3IDE5OjU0OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHB1c2ggdGhlIGNhcHMgZXZlbnQgYXMgc29vbiBhcyB3ZSByZWNlaXZlIGl0CgkgIEFsb25nIHdpdGggdGhlIHJlcXVpcmVkIG1hbmRhdG9yeSBkZXBlbmRlbnQgZXZlbnRzLgoJICBTb21lIGVsZW1lbnRzIG5lZWQgdG8gcGVyZm9ybSBhbiBhbGxvY2F0aW9uIHF1ZXJ5IGluc2lkZQoJICA6Om5lZ290aWF0ZWRfY2FwcygpLiAgV2l0aG91dCB0aGUgY2FwcyBldmVudCBiZWluZyBzZW50IHByaW9yLAoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHdpbGwgYmUgdW5hYmxlIHRvIGFuc3dlciBhbmQgd2lsbCByZXR1cm4KCSAgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2NjIKCjIwMTQtMDgtMTEgMTY6MDE6MzIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93ZWJwL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9nc3R3ZWJwLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBlbmMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5oOgoJICB3ZWJlbmM6IEFkZCBXZWJQIGltYWdlIGVuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA4NwoKMjAxNC0wOC0wOSAwMToyOTozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjZW5jOiBVbnJlZiBvdXRwdXQgY2FwcyBpbiBlcnJvciBjYXNlcwoJICBnc3RfY2Fwc19pbnRlcnNlY3QoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGEgY2FwcyBvYmplY3Qgd2hpY2ggaW4KCSAgdGhlIG5vcm1hbCBjYXNlIGlzIGNvbnN1bWVkLCBidXQgaW4gZXJyb3IgY2FzZXMgbXVzdCBiZSB1bnJlZmVyZW5jZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjEKCjIwMTQtMDgtMDggMTQ6MDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxNwoKMjAxNC0wOC0wOSAxMTo0MToxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogVW5yZWYgYnVzIGFmdGVyIHVzYWdlCgkgIGdzdF9waXBlbGluZV9nZXRfYnVzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB0byBhIGJ1cyB0aGF0IG5lZWRzIHRvCgkgIGJlIHVucmVmZXJlbmNlZCBhZnRlciB1c2FnZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyNQoKMjAxNC0wOC0wOSAxMTo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgZXhhbXBsZXMvZ2w6IHVucmVmIGJ1cyBhbmQgZWxlbWVudCBhZnRlciB1c2FnZQoJICBnc3RfcGlwZWxpbmVfZ2V0X2J1cygpIGFuZCBnc3RfYmluX2dldF9ieV9pbnRlcmZhY2UoKSBib3RoCgkgIHJldHVybiByZWZlcmVuY2VzIHRoYXQgbmVlZCB0byBiZSB1bnJlZmVyZW5jZWQgYWZ0ZXIgdXNhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjcKCjIwMTQtMDgtMTAgMTk6MTI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxNC0wOC0xMCAxOTowNTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJICBkb2NzOiByZW1vdmUgcnRwdnA4IHBsdWdpbiBkb2NzLCB0aGUgZWxlbWVudHMgYXJlIG5vdyBpbiAtZ29vZAoKMjAxNC0wOC0xMCAxODowNzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBvcGVuZ2w6IHVwZGF0ZSBlbGVtZW50IGRvY3MgZm9yIDEueAoKMjAxNC0wOC0xMCAxNzo0ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkgIGRvY3M6IHJlbW92ZSBlZ2xnbGVzc2luayBmcm9tIGRvY3MgYXMgaXQgbm8gbG9uZ2VyIGV4aXN0cwoKMjAxNC0wOC0wOSAxMTozNjozOCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBVbnJlZiBlbGVtZW50cyBhZnRlciB1c2FnZQoJICBnc3RfYmluX2dldF9ieV9uYW1lKCkgYW5kIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSgpIGJvdGggcmV0dXJuCgkgIHJlZmVyZW5jZXMgdG8gZWxlbWVudHMgdGhhdCBuZWVkIHRvIGJlIHVucmVmZXJlbmNlZCBhZnRlciB1c2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyNAoKMjAxNC0wOC0wOSAwMToyNzo1MyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkgIG9wZW5hbDogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMAoKMjAxNC0wOC0xMCAxMjoyOTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogZml4IHVwIGJyb2tlbiBwYXRjaCBtZXJnZQoJICBTb3JyeSwgc2hvdWxkJ3ZlIGJlZW4gY29tbWl0IC0tYW1lbmQKCjIwMTQtMDgtMDkgMTM6MjQ6MDAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSAgcHZydmlkZW9zaW5rOiBBdm9pZCBsZWFraW5nIGJ1ZmZlcnBvb2wgY29uZmlndXJhdGlvbgoJICBnc3RfYnVmZmVyX3Bvb2xfZ2V0X2NvbmZpZygpIHJldHVybnMgYSBjb3B5IHRvIHRoZSBidWZmZXJwb29sJ3MKCSAgY29uZmlndXJhdGlvbiwgd2hpY2ggbXVzdCBiZSBwYXNzZWQgdG8gZ3N0X3N0cnVjdHVyZV9mcmVlKCkgYWZ0ZXIKCSAgdXNlIGlmIG5vdCBnaXZlbiBhd2F5IHRvIGdzdF9idWZmZXJfcG9vbF9zZXRfY29uZmlnKCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzcKCjIwMTQtMDgtMDkgMTM6MjI6NDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM2CgoyMDE0LTA4LTA5IDEzOjIwOjQxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQXZvaWQgbGVha2luZyBjYXBzIG9iamVjdCBhbmQgaXRzIGNvcHkKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuIEFsc28KCSAgdGhlIGNhcHMgYXJlIHB1c2hlZCBhcyBhbiBldmVudCBkb3duc3RyZWFtLCBidXQgdGhpcyBkb2Vzbid0IGNvbnN1bWUgdGhlCgkgIGNhcHMgc28gaXQgbXVzdCBzdGlsbCBiZSB1bnJlZmVyZW5jZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzQKCjIwMTQtMDgtMDkgMTM6MTc6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgQWxzbyByZW1vdmUgdGhlIGluY29ycmVjdCBjb21tZW50IHRvIGF2b2lkIGNvbmZ1c2lvbiBpbiB0aGUgZnV0dXJlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTMzCgoyMDE0LTA4LTA5IDEzOjEyOjE0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBjYXBzIHJlZmNvdW50aW5nCgkgIHRjYXBzIHdhcyB1bnJlZmVkIHdoZW4gaXQgc2hvdWxkbid0IGhhdmUgYmVlbiB1bnJlZmVkCgkgIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzEKCjIwMTQtMDgtMDkgMTM6MDk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI4CgoyMDE0LTA4LTA5IDExOjE3OjQ0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogVW5yZWYgYWxsb3dlZCBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjIKCjIwMTQtMDgtMDkgMDE6MjU6MjEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxOQoKMjAxNC0wOC0wOSAwMToyNToyMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE5CgoyMDE0LTA4LTA5IDAxOjIzOjUwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxOAoKMjAxNC0wOC0xMCAxMTozNTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IHJlbW92ZSBkZWZ1bmN0IHRlc3QgY29kZSBmb3Igb2xkIGNvbG9yc3BhY2UgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM4CgoyMDE0LTA4LTA5IDEzOjI3OjAwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkgIGVsZW1lbnQtbWFrZXI6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzOQoKMjAxNC0wOC0wOSAxNDoyNzozNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3N0Z3NtZW5jOiBVbnJlZiBjYXBzIG9iamVjdCBhZnRlciB1c2FnZQoJICBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfb3V0cHV0X2Zvcm1hdCgpIGRvZXMgbm90IGNvbnN1bWUgY2Fwcywgc28KCSAgdW5yZWZlcmVuY2UgdGhhdCBvYmplY3QgaW5zdGVhZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDU0NAoKMjAxNC0wOC0wOSAxNDoyNDo1OSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBJbXByb3ZlIGFubm90YXRpb24gb2YgaW50ZXJuYWwgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDU0MwoKMjAxNC0wOC0wNiAxODoxMToyMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogc3VwcG9ydCBkb3dubG9hZGluZyBzZWdtZW50cyBpbiByZXZlcnNlIG9yZGVyCgkgIFdoZW4gYSBzZWVrIHdpdGggYSBuZWdhdGl2ZSByYXRlIGlzIHJlcXVlc3RlZCwgZmluZCB0aGUgdGFyZ2V0CgkgIHNlZ21lbnQgd2hlcmUgZ3N0c2VnbWVudC5zdG9wIGJlbG9uZ3MgaW4gYW5kIHRoZW4gZG93bmxvYWQgZnJvbQoJICB0aGlzIHNlZ21lbnQgYmFja3dhcmRzIHVudGlsIHRoZSBmaXJzdCBzZWdtZW50LgoJICBUaGlzIGFsbG93cyBwcm9wZXIgcmV2ZXJzZSBwbGF5YmFjay4KCjIwMTQtMDgtMDcgMTk6MTg6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogYWRkIGEgYmFja2dyb3VuZCBwcm9wZXJ0eQoJICBUaGF0J3MgY29tcGF0aWJsZSB3aXRoIHRoZSBjb21wb3NpdG9yL3ZpZGVvbWl4ZXIgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTk1NAoKMjAxNC0wOC0wNiAxMzoyNzowNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBleHQ6ZmFhZDogU2V0IHJhbmsgdG8gU0VDT05EQVJZIGFzIHRoZSBsaWJhdiBkZWNvZGVyIGlzIGNvbmNpZGVyZWQgYmV0dGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxMzEKCjIwMTQtMDgtMDYgMTY6NDg6MDMgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIEdzdEdMV2luZG93LCBHc3RHTEltYWdlc2luaywgeDExOiBTY2FsZSBuYXZpZ2F0aW9uIGV2ZW50cyBvbiByZXNpemVkIHdpbmRvd3MKCSAgSWYgd2luZG93IGlzIHJlc2l6ZWQsIEdzdFN0cnVjdHVyZSBwb2ludGVyIHZhbHVlcyBoYXZlIHRvIGJlIHJlc2NhbGVkIHRvCgkgIG9yaWdpbmFsIGdlb21ldHJ5LiBBIGdldF9zdXJmYWNlX2RpbWVuc2lvbnMgR0xXaW5kb3cgY2xhc3MgbWV0aG9kIGlzIGFkZGVkIGZvcgoJICB0aGlzIHB1cnBvc2UgYW5kIHVzZWQgaW4gdGhlIG5hdmlnYXRpb24gc2VuZF9ldmVudCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wOC0wNiAwODoxNTozOCAtMDQwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZG9uJ3QgZGV0ZXJtaW5lIGlmIGZyYW1lIG5lZWRzIHVwbG9hZCBieSBwb2ludGVyIGNvbXBhcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2OQoKMjAxNC0wOC0wNSAxMTo0NTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFN0b3JlIFBDUiB0aW1lL2J5dGUgb2Zmc2V0cyBpbiA2NCBiaXQgaW50ZWdlcnMKCSAgMzIgYml0IGludGVnZXJzIGFyZSBnb2luZyB0byBvdmVyZmxvdywgZXNwZWNpYWxseSB0aGUgUENSIG9mZnNldCB0bwoJICB0aGUgZmlyc3QgUENSIHdpbGwgb3ZlcmZsb3cgYWZ0ZXIgYWJvdXQgMTU5IHNlY29uZHMuIFRoaXMgbWFrZXMgcGxheWJhY2sKCSAgb2Ygc3RyZWFtcyBzdG9wIGF0IDE1OSBzZWNvbmRzIGFzIHN1ZGRlbmx5IHRoZSB0aW1lc3RhbXBzIGFyZSBzdGFydGluZwoJICBhZ2FpbiBmcm9tIDAuIE5vdyB3ZSBoYXZlIGEgZmV3IG1vcmUgeWVhcnMgdGltZSB1bnRpbCBpdCBoYXBwZW5zIGFnYWluCgkgIGFuZCA2NCBiaXRzIGFyZSB0b28gc21hbGwuCgoyMDE0LTA4LTA1IDEwOjQyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmV2ZXJ0ICJtcGVndHNwYWNrZXRpemVyOiBDb252ZXJ0IFBDUiB0aW1lcyB0byBHU3RyZWFtZXIgdGltZXMgYmVmb3JlIGNvbXBhcmluZyB0aGVtIGFnYWluc3QgNTAwICogR1NUX01TRUNPTkQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWYxODZjNmFiMzJjMWU5NDk5MTZkMzg1MTg2YjJkNDAwMTkwYWRkNi4KCSAgVGhhdCBjb21taXQgd2FzIGFjdHVhbGx5IGNvbXBsZXRlbHkgd3JvbmcsIG5ldmVybWluZC4KCjIwMTQtMDgtMDUgMTA6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDb252ZXJ0IFBDUiB0aW1lcyB0byBHU3RyZWFtZXIgdGltZXMgYmVmb3JlIGNvbXBhcmluZyB0aGVtIGFnYWluc3QgNTAwICogR1NUX01TRUNPTkQKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgYmVsaWV2ZSB0byBkZXRlY3QgUENSIGdhcHMgYWxyZWFkeSB3aGVuIHRoZXJlJ3MgYSB2ZXJ5IHNtYWxsCgkgIGdhcCBvZiBhIGZldyBtaWxsaXNlY29uZHMsIGJyZWFraW5nIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMuCgoyMDE0LTA3LTMxIDE3OjQwOjMwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IHJlbW92ZSBzcmNwYWQgbGVmdG92ZXIKCSAgVGhlIGVsZW1lbnQgaXMgaW5oZXJpdGluZyBpdHMgc3JjcGFkIGZyb20gYmFzZXNyYwoKMjAxNC0wOC0wMSAxODowMjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEluaXRpYWxpemUgcGl4ZWwgZm9ybWF0IHRvIGJtZEZvcm1hdDhCaXRZVVYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTg3MQoKMjAxNC0wOC0wMSAxNjo0MDo0OSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnNfaDI2NDogaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBvZiBwaWNfdGltaW5nIHN0cnVjdHVyZQoJICBPdGhlcndpc2UgcGljIHRpbWluZyBzdHJ1Y3R1cmUgY2FuIGhhdmUgaW52YWxpZCBjcGJfcmVtb3ZhbF9kZWxheSwKCSAgZHBiX291dHB1dF9kZWxheSBvciBwaWNfc3RydWN0X3ByZXNlbnRfZmxhZyB3aGljaCBhcmUgYmxpbmRseSByZXRyaWV2ZWQKCSAgaW4gaDI2NHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MTI0CgoyMDE0LTA4LTAxIDE2OjU4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogQ2F0Y2ggZXJyb3JzIGR1cmluZyBkYXRhIGZsb3cgYW5kIGVycm9yIG91dCBwcm9wZXJseQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IGRlYWRsb2NrIHRoZSB0aHJlYWQgaWYgZS5nLiBzY2hlZHVsaW5nIGEgdmlkZW8KCSAgZnJhbWUgZmFpbHMgZm9yIHdoYXRldmVyIHJlYXNvbi4KCjIwMTQtMDctMzEgMjA6NTI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJldHVybiB0aGUgZXJyb3IgdG8gdGhlIHNvdXJjZSBpbW1lZGlhdGVseSB0byBzdG9wIGZhc3RlcgoJICBXaGVuIGZsdXNoaW5nLCB0aGlzIHdpbGwgcHJldmVudCBkYXNoZGVtdXggZnJvbSB0cnlpbmcgdG8gZG93bmxvYWQgbW9yZQoJICBmcmFnbWVudHMgb3IgbW9yZSBjaHVua3Mgb2YgdGhlIHNhbWUgZnJhZ21lbnQgYmVmb3JlIHN0b3BwaW5nLgoJICBBbHNvIGltcHJvdmVzIHRoZSBlcnJvciBoYW5kbGluZyB0byBub3QgdHJhbnNmb3JtIGV2ZXJ5dGhpbmcgbm9uLW9rIGludG8KCSAgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwMTQKCjIwMTQtMDctMjkgMDI6MTE6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGF2b2lkIHRpbWVzdGFtcCBvdmVyZmxvd3MKCSAgQ2F1c2UgdGltaW5nIHRvIGJyZWFrIGluIHRoZSBwaXBlbGluZSB0aGF0IGNhbiBsZWFkIHRvIGEgc3RhbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzgzNwoKMjAxNC0wOC0wMSAxMzoxNDowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFJlbW92ZSBmaWxlcyBubyBsb25nZXIgcHJlc2VudAoJICBUaGV5IHdlcmUgcmVtb3ZlZCB3aGVuIHNuZGZpbGUgd2FzIHBvcnRlZCB0byAxLngKCjIwMTQtMDgtMDEgMTI6Mzg6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogNTkuOTRmcHMgaXMgNjAwMDAvMTAwMSwgbm90IDMwMDAwLzEwMDEKCSAgQW5kIGFsc28gY2hhbmdlIDMwLzEgdG8gNjAvMSBmb3Igb25lIDYwZnBzIG1vZGUuCgoyMDE0LTA4LTAxIDE3OjUxOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZG9jczogcmVtb3ZlIHN1cGVyZmxvdXMgJ3RoZScKCjIwMTQtMDgtMDEgMTY6NDE6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGRvY3VtZW50IEdTVF9HTF8qIGVudmlyb25tZW50IHZhcmlhYmxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjQ1CgoyMDE0LTA4LTAxIDEwOjAxOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGZvciBBUEkgY2hhbmdlcwoKMjAxNC0wNy0zMSAxODo1NTozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBNYWtlZmlsZTogQWRkIHVzYWdlIG9mIGJ1aWxkLWNoZWNrcyBzdGVwCgkgIEFsbG93cyBidWlsZGluZyBjaGVja3Mgd2l0aG91dCBydW5uaW5nIHRoZW0KCjIwMTQtMDctMzEgMTg6NDY6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGEgZGVzdHJveSBmdW5jdGlvbgoJICB0aGF0IGp1c3QgY2FsbHMgdGhlIHN1YmNsYXNzCgoyMDE0LTA3LTMxIDE4OjM2OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogc2lsZW5jZSBydW50aW1lIHdhcm5pbmcKCSAgZ19tYWluX2xvb3BfcXVpdDogYXNzZXJ0aW9uICdsb29wICE9IE5VTEwnIGZhaWxlZAoKMjAxNC0wNy0zMSAxNToxODowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVzZSB0aGUgcGxhbmUgb2Zmc2V0cyB0byBjb21wdXRlIHRoZSBzaXplIG9mIHRoZSBkYXRhIHBvaW50ZXIKCSAgQ2VydGFpbiBlbGVtZW50cyBleHBlY3QgdGhhdCB0aGVyZSBiZSBhIGNlcnRhaW4gbnVtYmVyIG9mIGxpbmVzCgkgIHRoYXQgdGhleSBjYW4gd3JpdGUgaW50by4gIGUuZy4gZm9yIG9kZCBoZWlnaHRzLCBJNDIwLCBZVjEyLCBOVjEyLAoJICBOVjIxIChhbmQgb3RoZXJzKSBZIGxpbmVzIGFyZSBleHBlY3RlZCB0byBoYXZlIGV4YWN0bHkgdHdpY2UgdGhlCgkgIG51bWJlciBvZiBVL1VWIGxpbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzE3CgoyMDE0LTA3LTMxIDE0OjA3OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsbWVtb3J5OiB1c2UgR3N0VmlkZW9JbmZvIGV2ZXJ5d2hlcmUKCSAgU2ltcGxpZmllcyBhIGxvdCBvZiB0aGUgY2FsbGluZyBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3MTcKCjIwMTQtMDctMzAgMTY6MzI6MDEgLTAzMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlYmx1cjogZmFjZWRldGVjdDogYWRkIHByb3BlcnRpZXMgdG8gZmFjZWJsdXIKCSAgTWFrZXMgZmFjZWJsdXIgaGF2ZSB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIGZhY2VkZXRlY3QuIEFsc28gaW1wcm92ZXMKCSAgdGhlIHN0YW5kYXJkIGRlZmF1bHRzIGFuZCBtYWtlcyB0aGVtIHRoZSBzYW1lIGluIHRoZSAyIGVsZW1lbnRzCgoyMDE0LTA3LTMwIDE2OjMwOjM5IC0wMzAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiBwb3N0IG1lc3NhZ2Ugd2hlbiBwcm9maWxlIGxvYWRpbmcgZmFpbHMKCjIwMTQtMDctMzAgMTY6MDc6MTcgLTAzMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBmYWNlYmx1cjogdXBkYXRlIGxhdW5jaCBsaW5lIGV4YW1wbGVzCgkgIFJlZmxlY3QgMS4wIGFuZCBtb3JlIHVzZWZ1bCBleGFtcGxlcwoKMjAxNC0wNy0yOSAxMzoyNToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGtlZXAgdGhlIHVwbG9hZGVkIGJ1ZmZlciBhcm91bmQgb24gc3VjY2Vzc2Z1bCByZWRpc3BsYXkKCSAgV2UgbWlnaHQgbmVlZCBpdCBsYXRlciB0byBwZXJmb3JtIGEgcmVkaXNwbGF5LiAgR3N0R0xVcGxvYWQgd2lsbCB0YWtlCgkgIG9mIHJlbGVhc2luZyB0aGUgcHJldmlvdXMgYnVmZmVyIHdoZW4gaXQgcmVjZWl2ZXMgYSBuZXcgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzI2CgoyMDE0LTA3LTI5IDExOjQ3OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlZW5hYmxlIHRoZSB0ZXh0dXJlX3JnIHN1cHBvcnQgZm9yICFlYWdsCgkgIFRoZSBHU1RfR0xfSEFWRV9QTEFURk9STV9FQUdMIGlzIGFsd2F5cyBkZWZpbmVkIHdlIG5lZWQgdG8gY29tcGFyZQoJICBhZ2FpbnN0IHRoZSB2YWx1ZSBpbnN0ZWFkLgoKMjAxNC0wNy0yOCAxOToxMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICB0ZXN0czogZ2l0aWdub3JlOiB1cGRhdGUgd2l0aCBuZXcgdGVzdHMKCjIwMTQtMDctMjggMTY6NTU6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL2JsdWUtc3F1YXJlLnBuZzoKCSAgdGVzdHM6IGZpbGVzOiBhZGRzIG1pc3NpbmcgZmlsZSBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgdGVtcGxhdGVtYXRjaCB0ZXN0IHRvIHdvcmsKCjIwMTQtMDctMjggMTU6NDU6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdGVtcGxhdGVtYXRjaDogYWRkIHRlc3QgdG8gY2hlY2sgdGhhdCB3ZSB1c2UgdGhlIGNvcnJlY3QgcmdiIGZvcm1hdAoJICB0ZW1wbGF0ZW1hdGNoIHNob3VsZCB1c2UgdGhlIHNhbWUgUkdCIGZvcm1hdCB0aGF0IG9wZW5jdiB1c2VzIChCR1IpLCBtYWtlIHN1cmUKCSAgd2Uga2VlcCBpdCB0aGF0IHdheSB3aXRoIHRoaXMgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQ4NQoKMjAxMi0wNi0xNSAxMzoxOTowNiArMDEwMCAgRGF2aWQgUm90aGxpc2JlcmdlciA8ZGF2aWQucm90aGxpc2JlcmdlckB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3YgdGVtcGxhdGVtYXRjaDogU2V0IGNhcHMgdG8gQkdSIG9yZGVyCgkgIHRlbXBsYXRlbWF0Y2ggb3BlcmF0ZXMgb24gQkdSIGRhdGEuIEluIGZhY3QsIE9wZW5DVidzIElwbEltYWdlIGFsd2F5cwoJICBzdG9yZXMgY29sb3IgaW1hZ2UgZGF0YSBpbiBCR1Igb3JkZXIgLS0gdGhpcyBpc24ndCBkb2N1bWVudGVkIGF0IGFsbCBpbgoJICB0aGUgT3BlbkNWIHNvdXJjZSBjb2RlLCBidXQgdGhlcmUgYXJlIGhpbnRzIGFyb3VuZCB0aGUgd2ViIChzZWUgZm9yCgkgIGV4YW1wbGUKCSAgaHR0cDovL3d3dy5jcy5paXQuZWR1L35hZ2FtL2NzNTEyL2xlY3Qtbm90ZXMvb3BlbmN2LWludHJvL29wZW5jdi1pbnRyby5odG1sI1NFQ1RJT04wMDA0MTAwMDAwMDAwMDAwMDAwMAoJICBhbmQgaHR0cDovL3d3dy5jb21wLmxlZWRzLmFjLnVrL3Zpc2lvbi9vcGVuY3YvaXBsaW1hZ2UuaHRtbCApLgoJICBnc3RfdGVtcGxhdGVtYXRjaF9sb2FkX3RlbXBsYXRlIGxvYWRzIHRoZSB0ZW1wbGF0ZSAodGhlIGltYWdlIHRvIGZpbmQpCgkgIGZyb20gZGlzayB1c2luZyBPcGVuQ1YncyBjdkxvYWRJbWFnZSwgc28gaXQgaXMgc3RvcmVkIGluIGFuIElwbEltYWdlIGluCgkgIEJHUiBvcmRlci4gQnV0IGluIGdzdF90ZW1wbGF0ZW1hdGNoX2NoYWluLCBubyBPcGVuQ1YgY29udmVyc2lvbgoJICBmdW5jdGlvbnMgYXJlIHVzZWQ6IHRoZSBpbWFnZURhdGEgcG9pbnRlciBvZiB0aGUgSXBsSW1hZ2UgZm9yIHRoZSB2aWRlbwoJICBmcmFtZSAodGhlIGltYWdlIHRvIHNlYXJjaCBpbikgaXMganVzdCBzZXQgdG8gcG9pbnQgdG8gdGhlIHJhdyBidWZmZXIKCSAgZGF0YS4gV2l0aG91dCB0aGlzIGZpeCwgdGhhdCByYXcgZGF0YSBpcyBpbiBSR0Igb3JkZXIsIHNvIHRoZSBjYWxsIHRvCgkgIGN2TWF0Y2hUZW1wbGF0ZSBlbmRzIHVwIGNvbXBhcmluZyB0aGUgdGVtcGxhdGUncyBCbHVlIGNoYW5uZWwgYWdhaW5zdAoJICB0aGUgZnJhbWUncyBSZWQgY2hhbm5lbCwgcHJvZHVjaW5nIHZlcnkgcG9vciByZXN1bHRzLgoKMjAxNC0wNy0yOCAxMzoxMDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IG1hcmsgcGFkcyBhcyBwcm94eSBjYXBzCgkgIEFsbG93cyBuZWdvdGlhdGlvbiB0byBoYXBwZW4gcHJvcGVybHkKCjIwMTItMDYtMjUgMjA6Mzc6MDEgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBQcm9kdWNlIGEgd2FybmluZyBtZXNzYWdlIGlmIHdlIGNhbid0IGxvYWQgYSB0ZW1wbGF0ZSBpbWFnZQoKMjAxMi0wNi0yMCAxNToyMjo1MiArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IE1hdGNoIHJlY3RhbmdsZSBncm93cyByZWRkZXIgd2l0aCBpbmNyZWFzZWQgbWF0Y2ggY2VydGFpbnR5CgkgIFRoaXMgaXMgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgeW91ciBtYXRjaGVzIGFzIGl0IGluZGljYXRlcyBob3cgY2VydGFpbiB0aGUKCSAgbWF0Y2ggd2FzIGluIGFkZGl0aW9uIHRvIGl0cyBwb3NpdGlvbi4KCjIwMTItMDYtMjAgMTU6MDU6NDAgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkgIHRlbXBsYXRlbWF0Y2g6IEFsbG93IGNoYW5naW5nIHRlbXBsYXRlIHByb3BlcnR5IG9uIHRoZSBmbHkKCSAgUHJldmlvdXNseSBjaGFuZ2luZyB0aGUgdGVtcGxhdGUgcHJvcGVydHkgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0aW9uCgkgIHRocm93biBmcm9tIGN2TWF0Y2hUZW1wbGF0ZSwgYmVjYXVzZSAiZGlzdF9pbWFnZSIgKHRoZSBpbnRlcm1lZGlhdGUKCSAgbWF0Y2gtY2VydGFpbnR5LWRpc3RyaWJ1dGlvbikgd2FzIHRoZSB3cm9uZyBzaXplIChiZWNhdXNlIHRoZQoJICB0ZW1wbGF0ZSBpbWFnZSBzaXplIGhhZCBjaGFuZ2VkKS4KCSAgTG9ja2luZyBoYXMgYWxzbyBiZWVuIGFkZGVkIHRvIGFsbG93IGNoYW5naW5nIHRoZSBwcm9wZXJ0aWVzIChlLmcuIHRoZQoJICBwYXR0ZXJuIHRvIG1hdGNoKSB3aGlsZSB0aGUgcGlwZWxpbmUgaXMgcGxheWluZy4KCSAgKiBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgaXMgbW92ZWQgb3V0c2lkZSBvZiB0aGUgbG9jaywgYmVjYXVzZSBpdCB3aWxsCgkgIGNhbGwgaW50byBhcmJpdHJhcnkgdXNlciBjb2RlIChvdGhlcndpc2UsIGlmIHRoYXQgdXNlciBjb2RlIGNhbGxzIGludG8KCSAgZ3N0X3RlbXBsYXRlbWF0Y2hfc2V0X3Byb3BlcnR5IG9uIHRoaXMgc2FtZSB0aHJlYWQgaXQgd291bGQgZGVhZGxvY2spLgoJICAqIGdzdF90ZW1wbGF0ZV9tYXRjaF9sb2FkX3RlbXBsYXRlOiBJZiB3ZSBmYWlsIHRvIGxvYWQgdGhlIG5ldyB0ZW1wbGF0ZQoJICB3ZSBzdGlsbCB1bmxvYWQgdGhlIHByZXZpb3VzIHRlbXBsYXRlLCBzbyB0aGlzIGVsZW1lbnQgYmVjb21lcyBhIG5vLW9wCgkgIGluIHRoZSBwaXBlbGluZS4gVGhlIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIGtlZXAgdGhlIHByZXZpb3VzIHRlbXBsYXRlOwoJICBJIGJlbGlldmUgdW5sb2FkaW5nIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZSBpcyBhIGJldHRlciBjaG9pY2UsIGJlY2F1c2UgaXQKCSAgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBzdGF0ZSB0aGlzIGVsZW1lbnQgd291bGQgYmUgaW4gaWYgaXQgZmFpbHMgdG8KCSAgbG9hZCB0aGUgdmVyeSBmaXJzdCB0ZW1wbGF0ZSBhdCBzdGFydC11cC4KCSAgVGhhbmtzIHRvIFdpbGwgTWFubGV5IGZvciB0aGUgYnVsayBvZiB0aGlzIHdvcms7IGFueSBlcnJvcnMgYXJlIHByb2JhYmx5CgkgIG1pbmUuCgoyMDEyLTA2LTAxIDE2OjA3OjM0ICswMTAwICBEYXZpZCBSb3RobGlzYmVyZ2VyIDxkYXZpZC5yb3RobGlzYmVyZ2VyQHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFBhc3MgdmlkZW8gdGhyb3VnaCB3aGVuIG5vdGhpbmcgdG8gbWF0Y2ggYWdhaW5zdAoJICBUaGUgZWFybHkgcmV0dXJuIHdhcyBieXBhc3NpbmcgdGhlIGNhbGwgdG8gZ3N0X3BhZF9wdXNoLiBXaXRoIG5vCgkgIGZpbHRlci0+dGVtcGxhdGUgKGFuZCB0aHVzIG5vIGZpbHRlci0+Y3ZUZW1wbGF0ZUltYWdlKSB0aGUgcmVzdCBvZiB0aGlzCgkgIGZ1bmN0aW9uIGlzIGVzc2VudGlhbGx5IGEgbm8tb3AgKGV4Y2VwdCBmb3IgdGhlIGNhbGwgdG8gZ3N0X3BhZF9wdXNoKS4KCSAgVGhpcyAocGx1cyB0aGUgcHJldmlvdXMgY29tbWl0KSBhbGxvd3MgdGVtcGxhdGVtYXRjaCB0byBiZQoJICBlbmFibGVkL2Rpc2FibGVkIHdpdGhvdXQgcmVtb3ZpbmcgaXQgZW50aXJlbHkgZnJvbSB0aGUgcGlwZWxpbmUsIGJ5CgkgIHNldHRpbmcvdW5zZXR0aW5nIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eS4KCjIwMTItMDYtMjAgMTU6MDU6MDYgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBSZW1vdmUgbm8tb3AgY2FsbCB0byBnc3RfdGVtcGxhdGVtYXRjaF9sb2FkX3RlbXBsYXRlCgkgIFdlIGhhdmUganVzdCBzZXQgZmlsdGVyLT50ZW1wbGF0ZSB0byBOVUxMLCBzbwoJICBnc3RfdGVtcGxhdGVtYXRjaF9sb2FkX3RlbXBsYXRlIGRpZCBub3RoaW5nLgoKMjAxNC0wNy0wOCAxOToxODo0OCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGNsYXJpZnkgdW5pdHMgZm9yIGZyZXEgYW5kIHN5bWJvbC1yYXRlCgoyMDE0LTA3LTA3IDE4OjUyOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFkZCBwcmVsaW1pbmFyeSAgc3VwcG9ydCBmb3IgSVNEQi1UL1RiCgkgIElTREItVCBhbmQgSVNEQi1UYiAodGhlIEJyYXppbGlhbiB2YXJpYW50KSBhcmUgdGhlCgkgIHRlcnJlc3RpYWwgRFRWIHN0YW5kYXJkcyB1c2VkIGJ5IEphcGFuLCBQaGlsaXBwaW5lcywKCSAgTWFsZGl2ZXMsIFRoYWlsYW5kLCBtb3N0IFNvdXRoIEFtZXJpY2FuIGNvdW50cmllcwoJICBhbmQgQm90c3dhbmEuIENoYW5nZXNldCBhZGRzIHRoZSBzZXQgb2YgcHJldmlvdXNseQoJICBtaXNzaW5nIChhbmQgcmVxdWlyZWQpIElTREItVCBwYXJhbWV0ZXJzLCBhZGFwdGVyCgkgIGFuZCBmcm9udGVuZCBzZXR1cCBsb2dpYyBhbmQgcHJveGllcyB0aGUgbmV3CgkgIHByb3BlcnRpZXMgb24gZHZiYmFzZWJpbi4KCSAgVGVzdGVkIHRvIHdvcmsgd2l0aCB0aGUgbGl2ZSBhZXJpYWwgYnJvYWRjYXN0IGJ5CgkgIFR2IFBhcmHDrWJhIEhEIGluIENhbXBpbmEgR3JhbmRlIChCcmF6aWwpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODc1CgoyMDE0LTA3LTA1IDAzOjA4OjAwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IG1ha2Ugc2xvZi9sb2YxL2xvZjIgc2V0dGFibGUgcHJvcGVydGllcwoJICBBbGxvd3MgcHJvcGVyIHR1bmluZyBhcm91bmQgaGlnaC9sb3cgYmFuZCBib3VuZGFyaWVzIHdoZW4gdXNpbmcKCSAgbm9uICJzdGFuZGFyZCIgTE5Ccy4KCSAgTm90IGFsbCBMTkJzIChMb3cgbm9pc2UgYmxvY2sgZG93biBjb252ZXJ0ZXJzKSBhcmUgbWFkZSBlcXVhbC4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgdHJ1ZSBmb3IgdW5pdmVyc2FsIExOQkZzLCB3aGVyZSwgZXZlbiB0aG91Z2gKCSAgdGhlcmUgYXJlIHNlZW1pbmdseSBzdGFuZGFyZCB2YWx1ZXMgZm9yIHRoZSBsb2NhbCBvc2NpbGxhdG9yCgkgIGZyZXF1ZW5jaWVzLCB0aGVzZSBjYW4gdmFyeSBmcm9tIG1hbnVmYWN0dXJlciB0byBtYW51ZmFjdHVyZXIKCSAgYW5kIExOQiBtb2RlbC4gQ2hhbmdlIGFsc28gcHJveGllcyB0aGUgbmV3IExOQiBwcm9wZXJ0aWVzIGluCgkgIGR2YmJhc2ViaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4MTgKCjIwMTQtMDctMjcgMTM6MjY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBzaWxlbmNlIGdzaWduYWwgd2FybmluZwoJICBpbnN0YW5jZSAnMHhibGFoJyBoYXMgbm8gaGFuZGxlciB3aXRoIGlkICcxMycKCjIwMTQtMDctMjYgMTM6Mjc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZG8gbm90IGdpdmUgcmVmZXJlbmNlcyB0byBwcm9iZXMKCSAgVGhleSBhcmUga2VwdCB1bnRpbCB0aGUgcHJvYmVzIGFyZSByZW1vdmVkIGJ1dCB0aGV5IHdpbGwgbmV2ZXIgYmUKCSAgcmVtb3ZlZCBhcyB0aGUgcmVmY291bnQgb2YgdGhlIGVsZW1lbnQgd29uJ3QgZ2V0IHRvIDAgYmVjYXVzZSB0aGUKCSAgcHJvYmVzIG93biByZWZlcmVuY2VzIChjeWNsaWMgcmVmcykuIEFzIHRoZSBwcm9iZXMgc2hvdWxkIG9ubHkgYmUKCSAgcnVubmluZyBhcyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHJ1bm5pbmcgdGhlcmUgaXMgbm8gbmVlZCB0bwoJICBzZWN1cmUgYSByZWYgZm9yIHRoZW0uCgkgIFJlbW92ZXMgMyBsZWFrZWQgcmVmcyBvZiB3cmFwcGVyY2FtZXJhYmluc3JjCgoyMDE0LTA3LTI2IDEyOjQ2OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXNlIGdzdF9vYmplY3RfcmVmIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHRyYWNrIHJlZnMKCSAgSGVscHMgZGVidWdnaW5nCgoyMDE0LTA3LTI2IDEyOjM4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHVucmVmIHJlcXVlc3QgcGFkcwoJICBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIG91dHB1dC1zZWxlY3RvciByZXF1ZXN0ZWQgcGFkcwoKMjAxNC0wNC0yMSAyMzowNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkgIGpwZWdwYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM1NgoKMjAxNC0wNy0yNCAxMjoyNTozNiArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3cvMTE6IEVtaXQgc2lnbmFscyBmb3IgbW91c2UgYW5kIGtleSBuYXZpZ2F0aW9uIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA3LTI0IDEyOjIzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogQ29uc3RpZnkgc3RyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHNlbmRfKl9ldmVudCgpIGZ1bmN0aW9ucwoKMjAxNC0wNy0yNCAxMzowNTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSBleHRyYSBhcmd1bWVudCBmcm9tIGRlYnVnIGNhbGwKCjIwMTQtMDctMDcgMDA6MjA6MDEgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IEFkZCBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgY2FsbGJhY2tzIGZvciBHc3RHTFdpbmRvdyBtb3VzZS9rZXkgc2lnbmFscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA3LTA2IDIzOjM5OjQ3ICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIEdzdEdMV2luZG93IDogQWRkIG1vdXNlLWV2ZW50IGFuZCBrZXktZXZlbnQgc2lnbmFscyBmb3IgbmF2aWdhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA3LTIzIDEwOjI1OjMxICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsOiBmaXggbXVsdGkgZ2wgb2JqZWN0IGxlYWtzCgkgIDEuIGZpeCBGQk8gbGVha3MgaW4gZGVjaWRlX2FsbG9jYXRpb24KCSAgMi4gZml4IHRleHR1cmUgbGVha3MgaW4gZGVjaWRlX2FsbG9jYXRpb24gYW5kIHJlc2V0CgkgIDMuIGZpeCB0ZXh0dXJlIGxlYWtzIGluIEZCTyBpbmNvbXBsZXRlIGVycm9yIHBhdGgKCjIwMTQtMDctMjMgMTM6NTU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IG9ubHkgZmx1c2ggYnVmZmVycyBpZiByZW5lZ290aWF0aW9uIGlzIG5lZWRlZAoJICBUaGlzIGF2b2lkIGV4dHJhIG92ZXJoZWFkIHdoZW4gdGFraW5nIHNlcXVlbnRpYWwgcGljdHVyZXMgdGhhdCB3b3VkbG4ndAoJICBuZWVkIHJlbmVnb3RpYXRpb24KCjIwMTQtMDctMjMgMTM6Mzc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBoYW5kbGUgRU9TIG9uIHRoZSBwaXBlbGluZQoJICBNYWtlIGNhbWVyYWJpbiBoYW5kbGUgRU9TIHRvIHRoZSBwaXBlbGluZSB0byBhbGxvdyBzdGFuZGFyZCBwaXBlbGluZQoJICBjbG9zZSB3aGVyZSBhbiBFT1MgaXMgc2VudCB0byB0aGUgd2hvbGUgcGlwZWxpbmUgYmVmb3JlIHNldHRpbmcgaXQgdG8gTlVMTC4KCjIwMTQtMDctMjEgMTg6MjI6MTggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvIG5vdCBzY2FuIGZvciBrZXlmcmFtZSB3aGVuIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ5MAoKMjAxNC0wNy0yMSAxODoyMTo0MSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG8gbm90IHNjYW4gZm9yIGEga2V5ZnJhbWUgaW4gbm9uLWFjY3VyYXRlIG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0OTAKCjIwMTQtMDctMDEgMTA6MjQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiByZW1vdmUgb2Jzb2xldGUgY29kZQoJICBCdWZmZXJzIGhhdmUgbm8gY2FwcyBpbiAxLjAKCjIwMTQtMDctMDEgMTA6MDc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcHBheTogcHV0IGFsbCBzdGlja3kgZXZlbnRzIGluIHN0cmVhbWhlYWRlcgoJICBVc2UgdGhlIHN0aWNreSBldmVudHMgdG8gY29tcG9zZSB0aGUgc3RyZWFtaGVhZGVyIGFzIHRoZXkgYXJlIHRoZQoJICBvbmVzIHRoYXQgYXJlIHBlcnNpc3RlZCB0byBjb25maWcgbmV3IHBhZHMgbGlua2VkLiBJbnN0ZWFkIG9mIHN0b3JpbmcKCSAgdGhlbSBvdXJzZWx2ZXMgcmVseSBvbiB0aGUgcGFkIHN0b3JhZ2UgdGhhdCBhbHJlYWR5IG9yZGVycyBpdCBmb3IgdXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU5NgoKMjAxNC0wNy0yMSAyMTowMzoyNiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogaW1wcm92ZSBlbnVtIEdzdEZhY2VEZXRlY3RVcGRhdGVzIGRlc2NyaXB0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTA5CgoyMDE0LTA1LTIxIDEyOjU5OjU3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBtYWtlIHVwZGF0ZXMgb25fY2hhbmdlIHdvcmtzIGFzIGV4cGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MDkKCjIwMTQtMDctMjIgMTI6NDI6MzYgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tZW5jOiBQb3J0IFBOTSBFbmNvZGVyIHRvIHVzZSBHc3RWaWRlb0VuY29kZXIgQ2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTk0MwoKMjAxNC0wNi0xOCAxMTo0NDo1NCArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubWRlYzogUGF0Y2ggdG8gaGFuZGxlIG1heCB2YWx1ZQoJICBDb252ZXJ0IHRoZSBpbWFnZSB2YWx1ZXMgZnJvbSAwLW1heHZhbHVlIHRvIDAtMjU1IHdoZW4KCSAgJ2RlY29kaW5nJyB0aGUgcG5tIGltYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NzMKCjIwMTQtMDctMTUgMTY6NDI6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlZGVjOiBoYW5kbGUgc2VnbWVudCBldmVudCBlYXJsaWVyCgkgIERlbGF5aW5nIHRoZSBzZWdtZW50IGV2ZW50IHRvIHdoZW4gY2FwcyBhcmUgZGVjaWRlZCBjYW4gY2F1c2UgaXNzdWVzIGFzCgkgIHRoZSBmaXJzdCB0aGluZyBrYXRlZGVjIGRvZXMgb24gaXRzIGNoYWluIGZ1bmN0aW9uIGl0IGRvaW5nIGEgc2VnbWVudCBjbGlwLgoJICBJdCB3aWxsIGxlYWQgdG8gYW4gYXNzZXJ0aW9uIGlmIHRoZSBzZWdtZW50IGZvcm1hdCBpcyB1bmRlZmluZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIyNgoKMjAxNC0wNy0xNSAxNjo0MTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGhhbmRsZSBzdHJlYW1oZWFkZXJzIGluIGNhcHMKCSAgUHJvcGVybHkgaGFuZGxlIHRoZSBjYXBzIGV2ZW50IGJ5IGNvbmZpZ3VyaW5nIHRoZSBrYXRlIGRlY29kaW5nIGxpYiB1c2luZyB0aGUKCSAgYXZhaWxhYmxlIHN0cmVhbWhlYWRlcnMuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZGVjb2RlIGthdGUgc3VidGl0bGVzIHdoZW4KCSAgdGhlIHN0cmVhbSBpcyBzZWVrZWQgYmVmb3JlIGthdGVkZWMgZ2V0cyB0aGUgaW5pdGlhbCBidWZmZXJzIHRoYXQgYXJlIHVzdWFsbHkKCSAgdGhlIHN0cmVhbWhlYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMjYKCjIwMTQtMDctMjEgMTc6MzQ6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5qcGVnOiBEb24ndCByZW1lbWJlciAtbG9wZW5qcDIgYXMgbGlicyB3aGVuIGZhbGxpbmcgYmFjayB0byBvcGVuanBlZzEKCjIwMTQtMDctMjEgMTE6MDc6MjggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbDogUmVvcmRlciBDRkxBR1MgdG8gaW5jbHVkZSBpbi1zb3VyY2UgZGlycyBmaXJzdCBpbiBleGFtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDI2CgoyMDE0LTA1LTA2IDA5OjI4OjE0ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmpwZWc6IFdpbjMyLWNvbXBhdGlibGUgT3BlbkpQRUctMi4wIGRldGVjdGlvbgoJICBPcGVuSlBFRyAyLjAgQVBJIHVzZXMgc3RkY2FsbCBvbiBXMzIgYnkgZGVmYXVsdC4gVGhpcyBwcmV2ZW50cyBub3JtYWwKCSAgYXV0b2NvbmYgbGlicmFyeSBtYWNyb3MgZnJvbSBmaW5kaW5nIGl0cyBmdW5jdGlvbnMuCgkgIEEgbW9yZSBjb21wYXRpYmxlIGNoZWNrIGlzIHRvIGFjdXRhbGx5IGxpbmsgYSBwcm9ncmFtIHRoYXQgaW5jbHVkZXMgYQoJICByZWFsIGhlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ4NwoKMjAxNC0wNy0yMSAxMDoxNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTQ6IGVycm9yOiB2YXJpYWJsZSAnb25pX3RzJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzUyOjI2OiBub3RlOiB1bmluaXRpYWxpemVkIHVzZSBvY2N1cnMgaGVyZQoJICBHU1RfQlVGRkVSX1BUUyAoYnVmKSA9IG9uaV90cyAtIHNyYy0+b25pX3N0YXJ0X3RzOwoJICBefn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjEwOiBub3RlOiByZW1vdmUgdGhlICdpZicgaWYgaXRzIGNvbmRpdGlvbiBpcyBhbHdheXMgdHJ1ZQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTQ6IGVycm9yOiB2YXJpYWJsZSAnb25pX3RzJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIgJyYmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzUyOjI2OiBub3RlOiB1bmluaXRpYWxpemVkIHVzZSBvY2N1cnMgaGVyZQoJICBHU1RfQlVGRkVSX1BUUyAoYnVmKSA9IG9uaV90cyAtIHNyYy0+b25pX3N0YXJ0X3RzOwoJICBefn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjE0OiBub3RlOiByZW1vdmUgdGhlICcmJicgaWYgaXRzIGNvbmRpdGlvbiBpcyBhbHdheXMgdHJ1ZQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo2NDI6MTg6IG5vdGU6IGluaXRpYWxpemUgdGhlIHZhcmlhYmxlICdvbmlfdHMnIHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nCgkgIHVpbnQ2NF90IG9uaV90czsKCSAgXgoJICA9IDAKCjIwMTQtMDctMTcgMTY6MjU6NTQgKzAyMDAgIEZhYnJpY2UgQmVsbGV0IDxmYWJyaWNlQGJlbGxldC5pbmZvPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBwYXJzZXI6IG1wZWc0OiBmaXggdmxjIHRhYmxlIHVzZWQgZm9yIHNwcml0ZSB0cmFqZWN0b3J5CgkgIFRoZSB2bGMgdGFibGUgbWVtYmVycyBjYml0cywgY3dvcmQgYW5kIHZhbHVlcyB3ZXJlIGFzc2lnbmVkIGluIHRoZSB3cm9uZwoJICBvcmRlciwgY2F1c2luZyB0aGUgbXBlZzQgcGFyc2VyIHRvIGZhaWwgd2hlbiBoYW5kbGluZyBzcHJpdGUKCSAgdHJhamVjdG9yaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzIyCgoyMDE0LTA3LTE4IDE1OjA5OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTWFrZSBzdGF0aXN0aWNzIG1lc3NhZ2UgbW9yZSBnZW5lcmljIGZvciBvdGhlciBhZGFwdGl2ZSBzdHJlYW1pbmcgZGVtdXhlcnMgdG8gcmV1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTgyOAoKMjAxNC0wMi0yNSAxMTo1ODo1NyArMDEwMCAgQWxleGFuZGVyIFphbGxlc292IDx6YWxsZXNvdkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm92aWRlIHN0YXRpc3RpY3MgYWJvdXQgdGltZSB0byBkb3dubG9hZCBwbGF5bGlzdHMgYW5kIGZyYWdtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODI4CgoyMDE0LTA3LTE5IDE4OjA0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjQuMCA9PT0KCjIwMTQtMDctMTkgMTc6Mjc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4wCgoyMDE0LTA3LTE5IDE2OjQ1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTkgMTI6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMTYgMTg6Mjc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBzZXQgc3JjIHRvIHJlYWR5IHdoZW4gdGhlcmUgYXJlIG5vIHBlbmRpbmcgYnVmZmVycwoJICBTZXR0aW5nIHRvIHJlYWR5IHdpbGwgYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyB0byBiZSByZWNsYWltZWQsIHNvIGZsdXNoCgkgIGJlZm9yZSBzZXR0aW5nIHRvIG51bGwgdG8gbWFrZSBzdXJlIG5vIGJ1ZmZlcnMgYXJlIHBlbmRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA3MgoKMjAxNC0wNy0xNyAxMDowNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBleGFtcGxlczogZml4IGNvbXBpbGF0aW9uIG9mIGdsIGZ4dGVzdCBleGFtcGxlIG9uIHdpbjMyIHdpdGggR3RrKyAzLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA2MwoKMjAxNC0wNy0xNyAwMDoxMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBQcm92aWRlIHRoZSBzaXplIG9mIG91ciBhcnJheSB0byBHZXREZXN0aW5hdGlvbk91dHB1dERldmljZUlEcwoJICBPdGhlcndpc2UgaXQgZG9lcyBub3QgYW5kIGp1c3QgZmFpbHMuIEl0IG5lZWRzIHRvIGtub3cgdGhlIHNpemUgb2YgdGhlCgkgIGFycmF5IHRvIG5vdCB3cml0ZSB0b28gbXVjaCB0byBpdC4KCjIwMTQtMDctMTcgMDA6MTE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzc2luazogU2lsZW5jZSBzb21lIGVycm9yIGRlYnVnIG91dHB1dCB0byBsb2cgb3V0cHV0CgkgIFRoZXNlIGFyZSBub3QgcmVhbGx5IGVycm9ycywganVzdCB1bnN1cHBvcnRlZCBmZWF0dXJlcyB3ZSBkb24ndAoJICBuZWNlc3NhcmlseSBuZWVkLgoKMjAxNC0wNy0xNiAxNjo1NzozNSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXNldCBmbG93X3JldHVybiAqYWZ0ZXIqIHN0b3BwaW5nIHRoZSBzcmNwYWQgdGFzay4KCSAgT3RoZXJ3aXNlIGl0IG1pZ2h0IGJlIHNldCBpbiBhbiBhbHJlYWR5IHJ1bm5pbmcgYWdncmVnYXRlIGZ1bmN0aW9uLgoKMjAxNC0wNy0xMCAxMzoxODoyMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGbHVzaCBzaW5rcGFkcyB3aGVuIHN0b3BwaW5nCgkgIEFsbCB2YWx1ZXMgYXJlIG1lYW5pbmdsZXNzIGluIHRoYXQgY2FzZSwgc28gd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0CgkgIHdlIGNsZWFuIGV2ZXJ5dGhpbmcKCjIwMTQtMDctMTAgMTM6MTU6NTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG8gbm90IGZvcmdldCB0byByZXNldCB0aGUgZmxvdyByZXR1cm4gd2hlbiBzdG9waW5nCgkgIFNldHRpbmcgaXQgdG8gRkxVU0hJTkcgd2hlbiB0aGUgZWxlbWVudCBpcyBub3Qgc3RhcnRlZCwgYW5kIHRvIE9LCgkgIHdoZW4gaXQgc3RhcnRzLgoKMjAxNC0wNy0wOCAxNjo0ODowOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBIYW5kbGUgZXZlbnQgc2VxbnVtCgoyMDE0LTA3LTEzIDE2OjA3OjAyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEF2b2lkIHRha2luZyB1bm5lY2Vzc2FyeSByZWYKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzEyMwoKMjAxNC0wNy0xNiAxNjozMToyNyArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogSW5jbHVkZSBHTF9DRkxBR1Mgd2hpbGUgY2hlY2tpbmcgZm9yIEdMIHR5cGVkZWZzCgkgIE90aGVyd2lzZSB0aG9zZSBjaGVja3MgbWF5IGZhaWwgYXQgY29uZmlndXJlIHRpbWUgaWYgdGhleSBjb250YWluIGV4dHJhCgkgIGluY2x1ZGUgcGF0aHMsIHdoaWxlIGF0IGJ1aWxkIHRpbWUgdGhleSBhcmUgaW5jbHVkZWQsIHBvdGVudGlhbGx5IGNhdXNpbmcKCSAgaW5jb21wYXRpYmxlIHR5cGVkZWZzIGJldHdlZW4gc3lzdGVtIEdMIGhlYWRlcnMgYW5kIGdzdHJlYW1lciBjb21wYXRpYmlsaXR5CgkgIHByb3RvdHlwZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyNDgKCjIwMTQtMDctMTYgMTY6Mjk6MTAgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IEFsd2F5cyBpbmNsdWRlIEVHTF9DRkxBR1MgaW4gR0xfQ0ZMQUdTIHdoZW4gRUdMX0xJQlMgaXMgYWRkZWQgdG8gR0xfTElCUwoJICBUaGV5IHNob3VsZCBiZSBoYW5kbGVkIGluIHRhbmRlbSwgaW4gY2FzZSBhbnkgRUdMIHByb3ZpZGVyIGNvdWxkIHJlcXVpcmUgc29tZQoJICBDRkxBR1MgYW5kIHNldCB0aGVtIChwb3NzaWJseSBvbmNlIG1vdmVkIHRvIHByZWZlciBwa2ctY29uZmlnIGZpbGVzKSwKCSAgc3VjaCBhcyBmb3IgYSBjdXN0b20gaGVhZGVyIGxvY2F0aW9uLgoKMjAxNC0wMy0xNyAxNjowOTo0NiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTU1CgoyMDE0LTA3LTE1IDEzOjI5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogT3BlbiBEaXJlY3QzRCBkZXZpY2VzIGluIGEgdGhyZWFkc2FmZSB3YXkKCSAgT3RoZXJ3aXNlIHdlJ2xsIGdldCBjcmFzaGVzIHdoZW4gdXNpbmcgdGhlIGRldmljZSBmcm9tIG11bHRpcGxlCgkgIHRocmVhZHMsIGUuZy4gd2hlbiB1c2luZyBtdWx0aXBsZSBzaW5rcyBhdCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTIzCgoyMDE0LTA3LTExIDIxOjE1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmxzc2hzaW5rOiBJbmNsdWRlIGdzdC5oIGFuZCBvdGhlciBzdHVmZiBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxNC0wNy0xMSAxMDo0MDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBjYXBzIGZpbHRlciBjYXBzIHByb3h5aW5nCgkgIFRoZSBub3RpZnkgc2lnbmFsIGlzIHRyaWdnZXJlZCB3aGVuIGNhcHMgaXMgY2hhbmdlZC4gQnV0IGluc3RlYWQgb2YKCSAgcHJveHlpbmcgdGhlIGZpeGVkIGNhcHMsIHdlIHF1ZXJ5IGZvciB0aGUgY2Fwcy4gSGVuY2UsIHdoZW4gd2UgZ28gdG8KCSAgUkVBRFkgc3RhdGUsIHdlIGVuZHVwIHNldHRpbmcgdGVtcGxhdGUgY2FwcyBvbiB0aGUgcHJveGllZCBjYXBzCgkgIGZpbHRlciBpbnN0ZWFkIG9mIE5VTEwsIHdoaWNoIGxlYWRzIHRvIG5lZ29pdGF0aW9uIGZhaWx1cmUuIENvcnJlY3RseQoJICBwcm94eSBOVUxMIGNhcHMgaWYgdGhpcyBpcyB0aGUgbmV3IGNhcHMuIEZpeGVzIG5vdCBuZWdvdGlhdGVkIGVycm9yCgkgIHdoZW4gcnVubmluZyBpbiBjaGVlc2UuIEFsc28gZml4IGEgbGVhayBvZiBjYXBzIHN0cmluZyBpbiBvbmUgb2YgdGhlCgkgIHRyYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzQxCgoyMDE0LTA3LTExIDEzOjU4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogQWx3YXlzIGJ1aWxkIGdzdGdsbWl4ZXIsIG5vdCBvbmx5IHdoZW4gZnVsbCBPcGVuR0wgc3VwcG9ydCBpcyBlbmFibGVkCgoyMDE0LTA3LTExIDEzOjI1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmw6IFVzZSB3aW5zb2NrMiBpbnN0ZWFkIGFuZCB0aGUgR0xpYiBtYWNybyBmb3IgY2hlY2tpbmcgaWYgd2UncmUgb24gV2luZG93cwoKMjAxNC0wNy0xMSAxMzoyNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogVXNlIG5vIG5ldHdvcmsgQVBJIGlmIG5vdCByZXF1aXJlZAoKMjAxNC0wNy0xMSAxMzoyMToyMSArMDIwMCAgQWxleGV5IFBhdmxvdiA8YWxleHB1eEBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIGV4dDogSW5jbHVkZSB3aW5zb2NrLmggb24gV2luZG93cyB3aGVuIHJlcXVpcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNTIKCjIwMTQtMDctMTEgMTI6MTM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MQoKMjAxNC0wNy0xMSAxMjowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogTGluayB0byBhbGwgcmVxdWlyZWQgbGlicmFyaWVzIGJ1dCBub3QgbW9yZQoKMjAxNC0wNy0xMSAxMjowMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgdmlkZW86IFByb3Blcmx5IGluY2x1ZGUgaGVhZGVycyBpbiBNYWtlZmlsZS5hbQoJICBhbmQgZG9uJ3Qgc2V0IG5vaW5zdF9IRUFERVJTIHR3aWNlLgoKMjAxNC0wNy0xMSAxMTowNTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTExIDA5OjQzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGF0ZGVjOiBDaGFuZ2UgcmFuayB0byBNQVJHSU5BTCB1bnRpbCBpdCBjYW4gcHJvcGVybHkgaGFuZGxlIG11bHRpY2hhbm5lbCBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NzU3CgoyMDE0LTA3LTExIDA5OjQxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIGdsOiBNb3ZlIEdzdEdMTWl4ZXIgdG8gdGhlIHBsdWdpbiBmb3Igbm93CgkgIEl0IGRlcGVuZHMgb24gR3N0QWdncmVnYXRvciBhbmQgd2UgZG9uJ3Qgd2FudCB0byBpbnN0YWxsIGhlYWRlcnMKCSAgZm9yIHRoYXQgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjA3CgoyMDE0LTA3LTExIDA5OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgbGliczogRG9uJ3QgaW5zdGFsbCBoZWFkZXJzIGFuZCBwYyBmaWxlcyBmb3IgbGliZ3N0d2F5bGFuZC9iYWR2aWRlby9iYWRiYXNlCgkgIFRoZXNlIHdpbGwgZGlzYXBwZWFyIGFmdGVyIDEuNC4wIGFuZCBpdCB3b3VsZCBiZSByYXRoZXIgYW5ub3lpbmcgaWYKCSAgcGVvcGxlIHN0YXJ0ZWQgZGVwZW5kaW5nIG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDcKCjIwMTQtMDctMTAgMTU6NTI6NDYgKzAxMDAgIFBoaWxpcCBXaXRobmFsbCA8cGhpbGlwLndpdGhuYWxsQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogRml4IGEgZG91YmxlLXVucmVmIGluIHRoZSBPcHVzIGhlYWRlciBjb2RlCgkgIFRoZSBoZWFkZXJzIHdlcmUgbmV2ZXIgZ2V0dGluZyByZWZmZWQgd2hlbiBiZWluZyBhZGRlZCB0byB0aGUgaGVhZGVycwoJICBsaXN0LCB3aGljaCBpcyBsYXRlciB1bnJlZmZlZC1hbmQtZnJlZWQgYnkgdGhlIGNhbGxlciAoZS5nLgoJICBnc3Rfb3B1c19wYXJzZV9wYXJzZV9mcmFtZSgpKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzAxMwoKMjAxNC0wNy0xMSAwODo1NDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xMCAxMToyOTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBDQVQgc2VjdGlvbiBhbmQgQ0EgZGVzY3JpcHRvciBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5ODYKCjIwMTQtMDctMTAgMTE6MjQ6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHBhcnNpbmcgZm9yIENBIGRlc2NyaXB0b3IgKDB4MDUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5ODYKCjIwMTQtMDctMDcgMTE6NTI6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBGbHVzaCBkb3duc3RyZWFtIGFmdGVyIHNldHRpbmcgc3JjIHRvIFJFQURZCgkgIHY0bDJzcmMgcmVxdWlyZXMgYWxsIGJ1ZmZlcnMgdG8gY29tZSBiYWNrIGluIG9yZGVyIHRvIGNsZWFubHkgc3RvcAoJICBzdHJlYW1pbmcuIEZsdXNoaW5nIHRoZSBwaXBsaW5lIHNob3VsZCBmb3JjZSBhbGwgYnVmZmVycyB0byBjb21lCgkgIGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NDEKCjIwMTQtMDctMDYgMTE6Mjg6MzQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkgIHRlc3RzL2ljbGVzL2RjY3A6IFJlbGVhc2UgcmVmZXJlbmNlIHRvIHBhcmVudAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTc3CgoyMDE0LTA3LTA5IDE1OjAzOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogS2VlcCBhc3BlY3QgcmF0aW8gYnkgZGVmYXVsdAoJICBUaGUgZXhwZWN0ZWQgZGVmYXVsdCBiZWhhdmlvdXIgZm9yIHZpZGVvIHNpbmsgaXMgdG8gbWFpbnRhaW4gdGhlCgkgIGFzcGVjdCByYXRpby4gRml4IHRoZSBkZWZhdWx0IHZhbHVlIHRvIHJlZmxlY3QgdGhpcy4gVGhlIHByb3BlcnR5CgkgIGRlZmF1bHQgd2FzIGFscmVhZHkgVFJVRSwgYnV0IHRoZSB2YWx1ZSB3YXMgbm90IGluaXRpYWxseSBUUlVFLgoKMjAxNC0wNy0wNiAwMTo1NTo1MCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBObyBuZWVkIHRvIGNoZWNrIGZvciBOVUxMIGJlZm9yZSBjYWxsaW5nIGdfZnJlZSgpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3ODkKCjIwMTQtMDctMDYgMDE6NTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRG9uJ3QgY29uZnVzZSBzbGljZSBhbGxvY2F0b3Igd2l0aCByZWd1bGFyIG9uZQoJICBQcmV2aW91c2x5IHNlbGVjdG9yX2J5dGVzIGFuZCBwcml2YXRlX2RhdGFfYnl0ZXMgd2VyZSBzb21ldGltZXMgYWxsb2NhdGVkIGFuZAoJICBmcmVlIHVzaW5nIHRoZSBub3JtYWwgYWxsb2NhdG9yIGFuZCBzb21ldGltZXMgdXNpbmcgdGhlIHNsaWNlIGFsbG9jYXRvci4KCSAgQWRkaXRpb25hbGx5IHByZWZlciBnX3N0cmR1cCgpIHRvIGdfbWVtZHVwKCkgZm9yIHN0cmluZ3MuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3ODkKCjIwMTQtMDctMDkgMDc6NTA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggZHZiIGxpbmthZ2UgbGVha3MKCSAgQ0lEICMxMjI0MTMwCgoyMDE0LTA3LTA0IDE0OjA0OjQ3ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiB1c2UgZ2V0dGVyIGZvciBlZ2RlIGxpbmthZ2UgZGVzY3JpcHRvciB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDctMDQgMTQ6MDI6MjIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgbXBlZ3RzOiBkb2NzOiBhZGQgbWlzc2VkICpfZnJlZSBtZXRob2RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjQgMTk6MTg6NTYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBmaXggYW5ub3RhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA3LTA5IDA3OjM4OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgcGFkZGluZyB0byBwdWJsaWMgc3RydWN0dXJlcwoJICBBbGxvd3MgdXNlIHRvIGFkZCBBUEkgaW4gdGhlIGZ1dHVyZSB3aXRob3V0IGJyZWFraW5nIEFCSS4gV2UgYnJva2UgdGhlIEFQSS9BQkkKCSAgb25jZSBiZXR3ZWVuIDEuMiBhbmQgMS40LCBsZXQncyB0cnkgdG8gYXZvaWQgdGhpcyBpbiB0aGUgZnV0dXJlIGV2ZW4gaWYgdGhpcwoJICBpcyBhbiB1bnN0YWJsZSBsaWJyYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA3LTA4IDE1OjQzOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGZpeCBsZWFrIG9mIHNob3J0IG5hbWUKCjIwMTQtMDctMDggMTQ6NTY6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggbGVhayBvZiBsYW5ndWFnZSBjb2RlCgoyMDE0LTA3LTA2IDIzOjMwOjUzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRml4IHNvbWUgbW9yZSB0aGUgbG9ja2luZyBsb2dpYyBpbiB1cGRhdGVfc3JjX2NhcHMKCSAgV2UgbmVlZCB0aGUgR1NUX09CSkVDVF9MT0NLIG9ubHkgdG8gaXRlcmF0ZSB0aGUgc2lua3BhZHMsIG5vdGhpbmcgZWxzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1MAoKMjAxNC0wNy0wNiAyMjoxNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggYnJva2VuIGxvY2tpbmcgaW4gdXBkYXRlX3NyY19jYXBzIGZ1bmN0aW9uCgkgIFdlIHdvdWxkIHVubG9jayBhbiBhbHJlYWR5LXVubG9ja2VkIG11dGV4IHRoYXQgd2UgbmV2ZXIgcmUtbG9ja2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzUwCgoyMDE0LTA3LTA2IDE2OjE3OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggbG9ja2luZwoJICBXZSB3b3VsZCB1bmxvY2sgYSBtdXRleCB3ZSBuZXZlciBsb2NrZWQgb24gU0VHTUVOVAoJICBldmVudHMuCgoyMDE0LTA3LTA0IDIxOjAwOjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBNYWtlIGNhc2NhZGVzIGRpciBhIGxpdHRsZSBtb3JlIHBvcnRhYmxlCgoyMDE0LTA3LTA0IDIwOjU1OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogVXNlIGFscmVhZHkgbWFwcGVkIGltYWdlCgkgIE5vIG5lZWQgdG8gbWFwIGFnYWluIHRoZSBpbWFnZSwgaXQncyBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGJhc2UgY2xhc3MuCgoyMDE0LTA3LTA0IDIwOjM5OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBNb3ZlIHNpemUgd2FybmluZyBpbiBzZXRfY2FwcyBzbyBpdCdzIGNhbGxlZCBvbmNlCgoyMDE0LTA3LTA0IDIwOjMzOjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogUG9ydCB0byBPcGVuY3ZWaWRlb0ZpbHRlciBiYXNlIGNsYXNzCgkgIFRoaXMgZml4ZXMgaXNzdWUgd2hpdCBibGFjayBmcmFtZXMgd2hlbiBzcGVjaWFsIG1lbW9yeSwgbGlrZSBHbE1lbW9yeSBpcwoJICBpbiB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU2CgoyMDE0LTA3LTA0IDIwOjMxOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgY3Z2aWRlb2ZpbHRlcjogRG9uJ3QgdHJ5IHRvIG1ha2UgYnVmZmVyIHdyaXRhYmxlCgkgIEZpcnN0IHRoaXMgaXMgaGFuZGxlIGJ5IGJhc2UgdHJhbnNmb3JtLCBoZW5jZSB0aGlzIGlzIGEgbm8tb3AsIGFuZCBpZiBpdCB3YXNuJ3QgaXQKCSAgd291bGQgbGVhZCB0byBhIGJ1ZmZlciBjb3B5IGJlaW5nIGxlYWtlZCwgYW5kIHRoZW4gYW4gdW5yZWZmZWQgYnVmZmVyIGJlaW5nCgkgIHB1c2hlZCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU2CgoyMDE0LTA3LTA0IDIwOjMwOjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgY3Z2aWRlb2ZpbHRlcjogQ2hlY2sgYnVmZmVyX21hcCByZXR1cm4gdmFsdWUKCSAgQ2hlY2sgdGhlIHJlc3R1cm4gdmFsdWUgYW5kIGNsZWFubHkgZmFpbCBpZiB3ZSBjb3VsZCBub3QgbWFwcGVkIHRoZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU2CgoyMDE0LTA3LTA0IDAzOjE5OjQyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogUHJpbnQgaW52YWxpZCBmb3VyY2MgaW4gZXJyb3IgbWVzc2FnZSBpbiBoZXgKCSAgUHJldmlvdXNseSB0aGlzIHdhcyBwcmludGVkIGFzIGNoYXJhY3RlcnMgd2hpY2ggY2F1c2VkIGxhdGVyIHByb2Nlc3NpbmcKCSAgb2YgdGhlIGVycm9yIG1lc3NhZ2UgdG8gc29tZXRpbWVzIHdhcm4gYWJvdXQgbm9uLVVURi04IGNoYXJhY3RlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MTUKCjIwMTQtMDctMDQgMDM6MjA6MjIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFByaW50IGludmFsaWQgZm91cmNjIGluIGVycm9yIG1lc3NhZ2UgaW4gaGV4CgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgcHJpbnRlZCBhcyBjaGFyYWN0ZXJzIHdoaWNoIGNhdXNlZCBsYXRlciBwcm9jZXNzaW5nCgkgIG9mIHRoZSBlcnJvciBtZXNzYWdlIHRvIHNvbWV0aW1lcyB3YXJuIGFib3V0IG5vbi1VVEYtOCBjaGFyYWN0ZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzE1CgoyMDE0LTA3LTA0IDE3OjUxOjU4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzQ0CgoyMDE0LTA3LTAxIDEyOjM0OjQ0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBBZGQgcHJvcGVyIGNsZWFuIHVwIG9mIE9wZW5OSTIgb2JqZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDEyOjE4OjQ1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTJzcmM6IERvbid0IGVtYmVkIEMrKyBvYmplY3RzIGluIG91ciBHT2JqZWN0CgkgIFNpbmNlIEMrKyBvYmplY3RzIHNob3VkbCBiZSBwcm9wZXJseSBjb25zdHJ1Y3RlZCwgd2Uga2VlcCBvbmx5IHBvaW50ZXJzCgkgIHRvIHRoZW0gYW5kIG1hbnVhbGx5IGNvbnN0cnVjdCB0aGVtIG9uIHRoZSBoZWFwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDEyOjE4OjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDbG9zZSBkZXZpY2Ugd2hlbiBzdG9wcGluZyB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTg6MzYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogRml4IHRpbWVzdGFtcGluZwoJICBPcGVuTkkyIG1ha2VzIG5vIGd1YXJhbnRlZXMgb2YgdGltZXN0YW1wIHN0YXJ0aW5nIGZyb20gemVybywganVzdCB0aGF0CgkgIGl0IHdpbGwgYmUgYSBtaWxsaXNlY29uZCB0aW1lc3RhbXAuIE1ha2UgdGltZXN0YW1wcyBzdGFydCBmcm9tIHplcm8KCSAgbWFudWFsbHkgc28gdGhpbmdzIHdvcmsgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjU2OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBNYWtlIHRoZSBsb2NhdGlvbiBwcm9wZXJ0eSBub3QgYmUgbWFuZGF0b3J5CgkgIE91ciBjYWxscyB0byBkZXZpY2Ugb3BlbiBhbHJlYWR5IGhhbmRsZSB0aGUgdW5zZXQgbG9jYXRpb24gY2FzZSAoYnkKCSAgb3BlbmluZyBhbnkgYXZhaWxhYmxlIGRldmljZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTY6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IE9wZW4gZGV2aWNlIG9uIE5VTEwtPlJFQURZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTM6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBkZWFkbG9jayB3aGVuIF9nZXRfY2FwcygpIGlzIGNhbGxlZCBiZWZvcmUgUkVBRFkKCSAgVGhlIG9iamVjdCBsb2NrIHdhcyBub3QgYmVpbmcgZHJvcHBlZCBpbiB0aGUgZW1wdHkgY2FzZS4gUmVzdHJ1Y3R1cmVkCgkgIHRoZSBjb2RlIGEgYml0IHRvIG1ha2UgdGhpcyBzb3J0IG9mIGVycm9yIGxlc3MgbGlrZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjUxOjIxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBNYXJrIGVsZW1lbnQgYXMgYSBsaXZlIHNvdXJjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAzIDE5OjEwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQWx3YXlzIGxvY2sgdGhlIEQzRCBzdXJmYWNlcyBpbiB3cml0ZSBtb2RlCgkgIExvY2tpbmcgdGhlbSBpbiByZWFkb25seSBtb2RlIGNhbiBnaXZlIGRpZmZlcmVudCBzdHJpZGUgdG8gbWFwcGluZwoJICBpbiB3cml0ZSBtb2RlLCB3aGljaCB0aGVuIGNhdXNlcyByZW5kZXJpbmcgdG8gYmUgYnJva2VuLgoJICBIYXBwZW5lZCBvbiBhbGwgKG1hbnk/KSBOVklESUEgR1BVcy4KCSAgVGhhbmtzIHRvIHZvc2thdGVyMTVAZ21haWwuY29tIGZvciBoaW50aW5nIGF0IHRoZSBwcm9ibGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODA5CgoyMDE0LTA3LTAzIDE5OjA1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZGhlbHBlcnM6IFN3YXAgVVYgcGxhbmVzIHByb3Blcmx5IGZvciBZVjEyIGFzIGNvbXBhcmVkIHRvIEk0MjAKCSAgSWYgd2Ugb25seSBkbyBpdCBpbiBvbmUgcGxhY2UgY29sb3JzIHdpbGwgbG9vayBmdW5ueS4KCjIwMTQtMDctMDMgMTc6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IFByb3Blcmx5IGludGVncmF0ZSBDT0xPUl9RQ09NX0Zvcm1hdFlWVTQyMFNlbWlQbGFuYXIzMm0gYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY4MwoKMjAxNC0wNy0wMyAxNTowNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtY2F1ZGlvZGVjOiBhdWRpby9tcGVnIGlzIGFsd2F5cyBNUEVHIDEgbGF5ZXIgMwoJICBDb25maWd1cmluZyBlLmcuIGxheWVyIDIgb24gc3VjaCBhIGRlY29kZXIgdXN1YWxseSBmYWlscyB1bmxlc3MKCSAgaXQgYWRkaXRpb25hbGx5IGFsc28gYWNjZXB0cyBhdWRpby9tcGVnLUwyLgoKMjAxNC0wNy0wMyAxNDoxNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgd2UgaGF2ZSBubyBQQ1IgeWV0CgkgIENhbiBoYXBwZW4gc29tZXRpbWVzIGlmIHRoZSBkdXJhdGlvbiBpcyByZXF1ZXN0ZWQgYmVmb3JlIHdlCgkgIHJlY2VpdmVkIGVub3VnaCBkYXRhIHdpdGggYSBQQ1IuCgoyMDE0LTA3LTAzIDIxOjM5OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIHRzZGVtdXg6IEFkZCBsb2NraW5nIGFyb3VuZCBtcGVndHNwYWNrZXRpc2VyIGdyb3Vwcy4KCSAgT3RoZXJ3aXNlIG9jY2FzaW9uYWxseSBEVVJBVElPTiBxdWVyaWVzIGNhbiBjcmFzaCwgaWYgdGhleSBoYXBwZW4gYXQKCSAgdGhlIHdyb25nIG1vbWVudC4KCjIwMTQtMDctMDMgMDk6MDA6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvY29hOiBpbml0YWxpemUgTlNBcHAgYXNhcCB3aGVuIHVzaW5nIGdzdC1sYXVuY2gKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2NjEKCjIwMTQtMDctMDIgMTI6NTQ6NDUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSB2dGRlYyBhbmQgdnRlbmMgb25seSBvbiA+PSAxMC44IHdoZXJlIFZpZGVvVG9vbGJveCBpcyBwdWJsaWMKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM2NzAKCjIwMTQtMDctMDIgMDQ6NTQ6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGF2b2lkIHNlZ2ZhdWx0IHdoZW4gb3V0cHV0IGlzbid0IGNvbmZpZ3VyZWQKCSAgVGhpcyBjYW4gaGVscCB3aGVuIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQgZHVyaW5nL2FmdGVyIHZpZGVvZGVjb2RlcgoJICBiYXNlIGNsYXNzIHNodXQgZG93bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM1CgoyMDE0LTA3LTAyIDAwOjI3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBpZ25vcmUgdGhlIGRyb3BwZWQgZmxhZyBpZiBidWZmZXIgd2FzIHJlY2VpdmVkCgkgIEFwcGFyZW50bHkgdGhlcmUgaXMgc29tZSBpc3N1ZSB3aXRoIFZUIHRoYXQgbWFrZXMgaXQgbWFyayB0aGUgZHJvcHBlZAoJICBmbGFnIGV2ZW4gdGhvdWdoIHRoZSBidWZmZXIgd2FzIGRlY29kZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzUKCjIwMTQtMDctMDIgMTA6MzE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBsZWFrIGFsbCBzdXJmYWNlcwoJICBUaGlzIHdhcyBicm9rZW4gd2hlbiBkaXNhYmxpbmcgdGhlIGJ1ZmZlciBwb29sIGV4cG9ydGluZy4KCSAgQWxzbyBkaXNhYmxlIGJ1ZmZlciBwb29sIGEgYml0IG1vcmUgZWZmaWNpZW50Li4uCgoyMDE0LTA3LTAyIDEwOjAxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUG9zdE1lc3NhZ2UoKSB0YWtlcyBpbnRlZ2VycyBhcyBsYXN0IHBhcmFtZXRlcnMsIG5vdCBwb2ludGVycwoKMjAxNC0wNy0wMiAwOTo1OTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDctMDIgMTc6Mzg6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlOgoJICBnbC9leGFtcGxlczogZ2l0aWdub3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAxNC0wNy0wMSAwODozNjo1MyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkgIGdsIDogZml4IHFnbHd0ZXh0dXJlc2hhcmUgZGVtbwoKMjAxNC0wNi0yMyAxMTo1MzoxMSArMDIwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IE9ubHkgY3JlYXRlIGEgbmV3IEdTb3VyY2UgaWYgd2UgaGF2ZSBhIG1haW4gY29udGV4dAoJICBXZSBjYW4gc3RpbGwgZ2V0IE9PQiBldmVudHMgd2hpbGUgc3RvcHBpbmcgdGhlIHdhdGNoZG9nIGVsZW1lbnQsIGFuZCB3aGlsZQoJICBzdG9wcGluZyBpdCB3ZSBkZXN0cm95IHRoZSBtYWluIGNvbnRleHQuCgkgIEFsc28gbGV0IHRoZSBHU291cmNlIG93biBhIHJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBmb3IgYWRkaXRpb25hbCBzYWZldHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NTQKCjIwMTQtMDctMDEgMTI6NTI6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlc2V0IFFvUyBvbiBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NDAKCjIwMTQtMDctMDEgMTY6NTQ6MDAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICB0ZXN0czogaDI2NHBhcnNlcjogYWRkIHRlc3QgdG8gaWRlbnRpZnkgRU9TRVEgLyBFT1MgTkFMcy4KCSAgQ2hlY2sgdGhhdCBlbmRfb2Zfc2VxKCkgW0VPU0VRXSBhbmQgZW5kX29mX3N0cmVhbSBbRU9TXSBOQUwgdW5pdHMKCSAgYXJlIGNvcnJlY3RseSBwYXJzZWQgYW5kIHRoZSByZXBvcnRlZCBOQUwgdW5pdCBzaXplIHlpZWxkcyAxIGJ5dGUsCgkgIGkuZS4gdGhlIG9ubHkgTmFsSGVhZGVyQnl0ZXMgaW4gdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NTMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxNzoxOTowMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGFkZCB0ZXN0IGZvciBieXRlLXN0cmVhbS9hdSBvdXRwdXQuCgkgIENoZWNrIHRoYXQgY29udmVyc2lvbiB0byBieXRlLXN0cmVhbS9hdSBmb3JtYXRzIHdvcmsgYW5kIHRoYXQgd2UKCSAgY2FuIGVmZmVjdGl2ZWx5IGRyb3AgYnJva2VuL2ludmFsaWQgTkFMIHVuaXRzIGZyb20gdGhlIHJlc3VsdGluZwoJICBhY2Nlc3MgdW5pdCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxODo0Nzo1NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGNoZWNrIFNFSSBidWZmZXJpbmdfcGVyaW9kKCkgbWVzc2FnZSBpcyBvdXRwdXQuCgkgIElmIGFuIFNFSSBOQUwgdW5pdCB3aXRoIGEgYnVmZmVyaW5nX3BlcmlvZCgpIG1lc3NhZ2UgaXMgaW5zZXJ0ZWQKCSAgYmV0d2VlbiBhbiBTUFMgYW5kIFBQUyBOQUwgdW5pdCwgY2hlY2sgdGhhdCB0aGUgb3V0cHV0IGJ1ZmZlciBzdGlsbAoJICBjb250YWluIGl0LiBpLmUuIG1ha2Ugc3VyZSB0aGF0IHRoaXMgU0VJIG1lc3NhZ2UgaXMgbm90IGRyb3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNTYKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAwOTo0NDoyNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY29sbGVjdGlvbiBvZiBhY2Nlc3MgdW5pdHMgdG8gcHJlc2VydmUgY29uZmlnIGhlYWRlcnMuCgkgIEFsd2F5cyB1c2UgYSBHc3RBZGFwdGVyIHdoZW4gY29sbGVjdGluZyBhY2Nlc3MgdW5pdHMgKGFsaWdubWVudD0iYXUiKQoJICBpbiBlaXRoZXIgYnl0ZS1zdHJlYW0gb3IgYXZjQyBmb3JtYXQuIFRoaXMgaXMgcmVxdWlyZWQgdG8gcHJvcGVybHkKCSAgcHJlc2VydmUgY29uZmlnIGhlYWRlcnMgbGlrZSBTUFMgYW5kIFBQUyB3aGVuIGludmFsaWQgb3IgYnJva2VuIE5BTAoJICB1bml0cyBhcmUgc3Vic2VxdWVudGx5IHBhcnNlZC4KCSAgTW9yZSBwcmVjaXNlbHksIHRoaXMgZml4ZXMgc2NlbmFyaW8gbGlrZToKCSAgPFNQUz4gPFBQUz4gPGludmFsaWQtTkFMPiA8c2xpY2U+CgkgIHdoZXJlIHdlIHVzZWQgdG8gcmVzZXQgdGhlIG91dHB1dCBmcmFtZSBidWZmZXIgd2hlbiBhbiBpbnZhbGlkIG9yCgkgIGJyb2tlbiBOQUwgaXMgcGFyc2VkLCBpLmUuIFNQUyBhbmQgUFBTIE5BTCB1bml0cyB3ZXJlIGxvc3QsIHRodXMKCSAgcHJldmVudGluZyB0aGUgbmV4dCBzbGljZSB1bml0IHRvIGJlIGRlY29kZWQsIHNob3VsZCB0aGlzIGFsc28KCSAgcmVwcmVzZW50IGFueSB2YWxpZCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTM6MTQ6MTAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaW1wcm92ZSBjb25kaXRpb25zIGZvciBza2lwcGluZyBOQUwgdW5pdHMuCgkgIENhcmVmdWxseSB0cmFjayBjYXNlcyB3aGVuIHNraXBwaW5nIGJyb2tlbiBvciBpbnZhbGlkIE5BTCB1bml0cyBpcwoJICBuZWNlc3NhcnkuIEluIHBhcnRpY3VsYXIsIGFsd2F5cyBhbGxvdyBOQUwgdW5pdHMgdG8gYmUgcHJvY2Vzc2VkCgkgIGFuZCBsZXQgdGhhdCBnc3RfaDI2NF9wYXJzZV9wcm9jZXNzX25hbCgpIGZ1bmN0aW9uIGRlY2lkZSBvbiB3aGV0aGVyCgkgIHRoZSBjdXJyZW50IE5BTCBuZWVkcyB0byBiZSBkcm9wcGVkIG9yIG5vdC4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIG9mIHN0cmVhbXMgd2l0aCBTRUkgTkFMIGJ1ZmZlcmluZ19wZXJpb2QoKSBtZXNzYWdlCgkgIGluc2VydGVkIGJldHdlZW4gU1BTIGFuZCBQUFMsIG9yIFNQUy1FeHQgTkFMIGZvbGxvd2luZyBhIHRyYWRpdGlvbmFsCgkgIFNQUyBOQUwgdW5pdCwgYW1vbmcgb3RoZXIgY2FzZXMgdG9vLgoJICBQcmFjdGljYWwgZXhhbXBsZXMgZnJvbSB0aGUgSC4yNjQgQVZDIGNvbmZvcm1hbmNlIHN1aXRlIGluY2x1ZGUKCSAgYWxwaGFjb25mb3JtYW5jZUcsIENWU0UyX1NvbnlfQiwgQ1ZTRTNfU29ueV9ILCBDVlNFRkRGVDNfU29ueV9FCgkgIHdoZW4gcGFyc2luZyBpbiBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtLGFsaWdubWVudD1hdSBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTE6MDY6NDEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaW50cm9kdWNlIG5ldyBzdGF0ZSB0cmFja2luZyB2YXJpYWJsZXMuCgkgIEltcHJvdmUgcGFyc2VyIHN0YXRlIHRyYWNraW5nIGJ5IGludHJvZHVjaW5nIG5ldyBmbGFncyByZWZsZWN0aW5nCgkgIGl0OiAiZ290LXNwcyIsICJnb3QtcHBzIiBhbmQgImdvdC1zbGljZSIuIFRoaXMgaXMgYW4gYWRkaXRpb24gZm9yCgkgIHJvYnVzdG5lc3MgcHVycG9zZXMuCgkgIE9sZGVyIGhhdmVfc3BzIGFuZCBoYXZlX3BwcyB2YXJpYWJsZXMgYXJlIGtlcHQgYmVjYXVzZSB0aGV5IGhhdmUKCSAgYSBkaWZmZXJlbnQgbWVhbmluZy4gaS5lLiB0aGV5IGFyZSB1c2VkIGZvciBkZWNpZGluZyBvbiB3aGVuIHRvCgkgIHN1Ym1pdCB1cGRhdGVkIGNhcHMgb3Igbm90LCBhbmQgcmF0aGVyIG1lYW4gImhhdmUgbmV3IFNQUy9QUFMgdG8KCSAgYmUgc3VibWl0dGVkPyIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNCAxMzo1NToxMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggYW5kIG9wdGltaXplIE5BTCBjb2xsZWN0aW9uIGZ1bmN0aW9uLgoJICBVc2UgZ3N0X2gyNjRfcGFyc2VyX2lkZW50aWZ5X25hbHVfdW5jaGVja2VkKCkgdG8gaWRlbnRpZnkgdGhlIG5leHQKCSAgTkFMIHVuaXQuIFdlIGRvbid0IHdhbnQgdG8gcGFyc2UgdGhlIGZ1bGwgTkFMIHVuaXQsIGJ1dCBvbmx5IHRoZQoJICBoZWFkZXIgYnl0ZXMgYW5kIHBvc3NpYmx5IHRoZSBmaXJzdCBSQlNQIGJ5dGUgZm9yIGlkZW50aWZ5aW5nIHRoZQoJICBmaXJzdF9tYl9pbl9zbGljZSBzeW50YXggZWxlbWVudC4KCSAgQWxzbyBmaXggY2hlY2sgZm9yIGZhaWx1cmUgd2hlbiByZXR1cm5pbmcgZnJvbSB0aGF0IGZ1bmN0aW9uLiBUaGUKCSAgb25seSBzdWNjZXNzIGNvbmRpdGlvbiBmb3IgdGhhdCBpcyBHU1RfSDI2NF9QQVJTRVJfT0ssIHNvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1NAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA3LTAxIDE2OjA5OjI4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGFyaWZpY2F0aW9ucyBhbmQgZG9jdW1lbnRhdGlvbiBmaXhlcy4KCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIEdzdEgyNjROYWxVbml0LiBUaGUgQHJlZl9pZGMgcGFydCB3YXMgdG90YWxseQoJICB1bmJhbGFuY2VkLiBBbHNvIGFkZCBhIG5vdGUgYWJvdXQgQG9mZnNldCBhbmQgQHNpemUgZmllbGRzIHRvIHJlbWluZAoJICB0aGF0IHRoaXMgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBOQUwgdW5pdCwgdGh1cyBpbmNsdWRpbmcKCSAgdGhlIGhlYWRlciBieXRlcy4KCjIwMTQtMDctMDEgMTU6NDY6MTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBpZGVudGlmaWNhdGlvbiBvZiBFT1NFUSBhbmQgRU9TIE5BTHMuCgkgIEFuIGVuZF9vZl9zZXEoKSBbRU9TRVFdIG9yIGVuZF9vZl9zdHJlYW0oKSBbRU9TXSBOQUwgdW5pdCBpcyByZWFsbHkKCSAgb25lIGJ5dGUgbG9uZyBiZWNhdXNlIHRoaXMgc2hhbGwgaW5jbHVkZSB0aGUgTmFsSGVhZGVyQnl0ZXMgKDEpIHRvby4KCSAgVGhlIE5BTFUub2Zmc2V0IHN0YXJ0cyBmcm9tIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBoZWFkZXIuCgkgIFRoaXMgaXMgdGhlIHByb3BlciBmaXggdG8gY29tbWl0IGQzN2Y4NDIuIEluIHByYWN0aWNlLCB0aGlzIGZpeGVzCgkgIHBhcnNpbmcgb2YgRlJFeHQxX1BhbmFzb25pY19EIGFuZCBGUkV4dDJfUGFuYXNvbmljX0MsIHRoYXQgaW5jbHVkZQoJICBhZGRpdGlvbmFsIGZyYW1lcyBhZnRlciBhbiBFT1NFUS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU1MwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI3IDEyOjI0OjQ5ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBSZXBvcnQgbGltaXRlZCBiYW5kd2lkdGgKCSAgTWFrZXMgdXJpZGVjb2RlYmluIHRyZWF0IHRoaXMgc291cmNlIGFzIGEgc3RyZWFtIHNvdXJjZSwKCSAgYWxsb3dpbmcgdGltZXNoaWZ0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzM1CgoyMDE0LTA3LTAxIDEwOjAzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICBtcGVndHM6IEV4cG9zZSBHc3RNcGVndHNEZXNjcmlwdG9yIGZyZWUgZnVuY3Rpb24KCSAgTm90aGluZyBlYXJ0aCBzaGF0dGVyaW5nLCBidXQgYXZvaWRzIHBlb3BsZSBoYXZpbmcgdG8gdXNlIGdfYm94ZWRfZnJlZSgpCgoyMDE0LTA2LTMwIDE5OjE1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBlYWdsOiBEaXNhYmxlIHVzYWdlIG9mIFIgYW5kIFJHIHRleHR1cmVzIG9uIGlPUwoJICBUaGV5IGRvbid0IHdvcmsgY3VycmVudGx5IGFuZCBqdXN0IHJlbmRlciB6ZXJvZXMsIHdoaWxlIHRoZQoJICBmYWxsYmFjayBjb2RlIHBhdGggd2l0aCBMVU0gYW5kIExVTV9BTFBIQSB0ZXh0dXJlcyBzdGlsbCB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjM5MAoKMjAxNC0wNi0zMCAxMTo1NDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiByZWxlYXNlIHRoZSBoYWFyIGNhc2NhZGUKCjIwMTQtMDYtMzAgMTI6MjI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEF2b2lkIGRlc3Ryb3lpbmcgc291cmNlcyB3ZSBkbyBub3Qgb3duCgkgICsgVW5yZWYgdGhlIG1haW5jb250ZXh0IGluIGEgbmV3IGRpc3Bvc2UgZnVuY3Rpb24KCSAgKyBNYWtlIHN1cmUgdG8gcmVtb3ZlIGFsbCBzb3VyY2VzIG9uIGRpc3Bvc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjQ0NQoKMjAxNC0wNi0xNiAxMjozNToxMyArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgVGhlIHBpeGVsIGJ1ZmZlciByZWxlYXNlIGNhbGxiYWNrIGlzIGNhbGxlZCBpZiB0aGUgdm9pZCAqCgkgIGRhdGFQdHIgZ2l2ZW4gdG8gdGhlIENWUGl4ZWxCdWZmZXJDcmVhdGVXaXRoUGxhbmFyQnl0ZXMKCSAgaXMgbm90IE5VTEwuCgkgIEFjY29yZGluZyB0byB0aGUgZG9jdW1lbnRhdGlvbiBkYXRhUHRyIGlzIHN1cHBvc2VkIHRvIGJlIGEKCSAgInBsYW5lIGRlc2NyaXB0aW9uIGJsb2NrIiBidXQgbm8gc3BlY2lmaWMgdHlwZSBpcyBnaXZlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg0NwoKMjAxNC0wNi0zMCAwMDoyMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgc2VnbWVudGF0aW9uOiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlIGluIGZpbmFsaXplCgoyMDE0LTA2LTMwIDAwOjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZSBhbmQgcmVzaXplIGltYWdlIHdoZW4gY2FwcyBjaGFuZ2UKCjIwMTQtMDYtMzAgMDA6MTU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUmVsZWFzZSBjdkltYWdlcyB3aGVuIHJlbG9hZGluZyB0ZW1wbGF0ZXMgYXJlIGNoYW5naW5nIGNhcHMKCjIwMTQtMDYtMzAgMDA6MTI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBSZWxlYXNlIGltYWdlIHdoZW4gY2hhbmdpbmcgY2FwcyBvciByZXVzaW5nIHRoZSBlbGVtZW50CgoyMDE0LTA2LTMwIDAwOjA5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UKCjIwMTQtMDYtMzAgMDA6MDc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlCgkgIEFuZCBhbHNvIHJlbGVhc2UgY3ZJbWFnZXMgYW5kIG1lbW9yeSBzdG9yYWdlIHdoZW4gY2hhbmdpbmcgY2FwcyBvciByZXVzaW5nIHRoZQoJICBlbGVtZW50LgoKMjAxNC0wNi0zMCAwMDowNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBEb24ndCBsZWFrIGN2SW1hZ2VzIHdoZW4gY2FwcyBhcmUgY2hhbmdpbmcgb3IgdGhlIGVsZW1lbnQgaXMgcmV1c2VkCgoyMDE0LTA2LTI5IDIzOjQyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZSB3aGVuIGZpbmFsaXppbmcKCjIwMTQtMDYtMjkgMjM6MzM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBSZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudAoKMjAxNC0wNi0yOSAyMzozMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMKCjIwMTQtMDYtMjkgMjM6MjI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggbWVtb3J5IGxlYWsgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIyOjMwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogRnJlZSB0ZXh0IGJ1ZmZlciBpbiBmaW5hbGl6ZQoKMjAxNC0wNi0yOSAyMjoyNjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgZmluYWxpemUgZnVuY3Rpb24KCjIwMTQtMDYtMjkgMjI6MjU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgdW5yZWYgdGhlIGRpc3BsYXkKCSAgRXZlbiBpZiB3ZSBkaWRuJ3QgY3JlYXRlIGEgY29udGV4dCB5ZXQuCgoyMDE0LTA2LTI5IDIyOjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJICBpbnRlcnN1YnNyYzogYmFzZXNyYyBpcyBhbHJlYWR5IGNyZWF0aW5nIGEgcGFkIGZvciB1cywgbm8gbmVlZCB0byBkbyBpdCB0d2ljZQoKMjAxNC0wNi0yOSAyMjoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSAgeWFkaWY6IGJhc2V0cmFuc2Zvcm0gaXMgY3JlYXRpbmcgcGFkcyBmb3IgdXMgYWxyZWFkeSwgZG9uJ3QgZG8gaXQgdHdpY2UKCjIwMTQtMDYtMjkgMjE6NTc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggbWVtb3J5IGxlYWsgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIxOjUzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBGaXggbWVtb3J5IGxlYWtzIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMTozNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICBtcGVndHM6IEZpeCBtZW1vcnkgbGVha3MgaW4gdGhlIHRlc3QgYW5kIHRoZSBsaWJyYXJ5CgkgIEN1cnJlbnRseSB1c2VzIGdfYm94ZWRfZnJlZSgpIGluIHRoZSB1bml0IHRlc3QsIHRoaXMgbmVlZHMgdG8KCSAgYmUgZml4ZWQgcHJvcGVybHkgd2hlbiBjbGVhbmluZyB1cCB0aGUgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA2LTI5IDIxOjA1OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIHN0YXRpYyBjYXBzIGFjdHVhbGx5IHN0YXRpYwoJICBPdGhlcndpc2Ugd2UgbGVhayBvbmNlIGNhcHMgaW5zdGFuY2Ugb24gZXZlcnkgZnVuY3Rpb24gY2FsbC4KCjIwMTQtMDYtMjkgMjE6MDE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGcmVlIHByb3BlcnR5IHN0cmluZ3Mgd2hlbiBkaXNwb3NpbmcgdGhlIGluc3RhbmNlCgoyMDE0LTA2LTI5IDIwOjU4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSAgaW50ZXJzdWJzaW5rL3NyYzogRnJlZSBjaGFubmVsIHN0cmluZyB3aGVuIGZpbmFsaXppbmcgdGhlIGluc3RhbmNlCgoyMDE0LTA2LTI5IDIwOjEzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDIwOjExOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOCAyMzoyNjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgdW5wb3J0YWJsZSAlenUKCjIwMTQtMDYtMjggMTc6MDI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuaDoKCSAgYmFkdmlkZW86IFVwZGF0ZSBkaXN0IGdlbmVyYXRlZCBPUkMgZmlsZXMKCjIwMTQtMDYtMjggMTc6MDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5oOgoJICBiYWR2aWRlbzogUmVuYW1lIHZpZGVvY29udmVydCBmdW5jdGlvbnMgdG8gcHJldmVudCBjb25mbGljdHMgd2l0aCBzdGF0aWMgbGlua2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDQzCgoyMDE0LTA2LTI4IDExOjIwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogYWdncmVnYXRvcjogZml4IHZhcmlvdXMgbGVha3MgaW4gdGhlIHRlc3RzCgoyMDE0LTA2LTI4IDA5OjQzOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdGVzdHM6IEZpeCBwYWQgbGVhawoJICBSZW1lbWJlciB0byB1bnJlZiByZXF1ZXN0ZWQgcGFkCgoyMDE0LTA2LTI4IDA5OjM1OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZml4IGxlYWsgYXMgZ3N0X2J1ZmZlcl9yZXBsYWNlIGFkZHMgaXRzIG93biByZWYKCSAgU28gdW5yZWYgdGhlIGJ1ZmZlciBhZnRlciB0aGF0IG90aGVyd2lzZSBpdCBsZWFrcwoKMjAxNC0wNi0yOCAwOTozNDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFsd2F5cyBzdG9yZSBvciB1bnJlZiB0aGUgYnVmZmVyIG9uIHRoZSBfY2hhaW4gZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIGl0IGxlYWtzLCBhbmQgaXQgaXMgdmVyeSBjb21tb24gdG8gZ28gdG8gZmx1c2hpbmcgd2hlbiB0aGUKCSAgcGlwZWxpbmUgaXMgc3RvcHBpbmcsIGxlYWtpbmcgYSBidWZmZXIuCgoyMDE0LTA2LTI4IDA5OjMyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWx3YXlzIHVucmVmIHRoZSBidWZmZXIgb24gX2ZpbmlzaCBmdW5jdGlvbgoJICBPdGhlcndpc2UgdGhlIHVzZXIgZG9lc24ndCBrbm93IGlmIGl0IHdhcyB1bnJlZidkIG9yIG5vdAoKMjAxNC0wNi0yOCAwOTozMTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBkaXNwb3NlL2ZpbmFsaXplIGZ1bmN0aW9ucwoJICBBZGQgZnVuY3Rpb25zIHRvIGJlIGFibGUgdG8gY2xlYW51cCB0aGUgbXV0ZXgvY29uZCBhbmQgcGVuZGluZyBidWZmZXJzCgkgIG9uIHRoZSBhZ2dyZWdhdG9yIGFuZCBvbiBpdHMgcGFkCgo9PT0gcmVsZWFzZSAxLjMuOTAgPT09CgoyMDE0LTA2LTI4IDExOjMwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkwCgoyMDE0LTA2LTI4IDExOjI3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjggMTA6NDM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBGYWlsIGluIHNldF9jYXBzKCkgaWYgdGhlIGNhcHMgY2FuJ3QgYmUgcGFyc2VkCgoyMDE0LTA2LTI3IDE3OjM1OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggY2FwcyBsZWFrIGluIHRlc3QKCSAgVGhlIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQgZG9lc24ndCB0YWtlIG93bmVyc2hpcCBvZiBjYXBzCgoyMDE0LTA2LTI3IDE3OjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBjYXBzIGxlYWtzCgkgIEZpeCBsZWFrIG9mIGNhcHMgZXZlbnQgYW5kIG9mIGNhcHMgb2JqZWN0cyB3aGVuIHNldHRpbmcgY2FwcyBvbgoJICBzaW5rIGFuZCBzcmMgcGFkcwoKMjAxNC0wNi0yNyAxNzowMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1bnJlZiBldmVudHMgd2hlbiBmcmVlaW5nIGV2ZW50cyBsaXN0CgkgIEluc3RlYWQgb2YganVzdCBmZWVpbmcgdGhlIHF1ZXVlIHN0cnVjdHMKCjIwMTQtMDYtMjcgMTY6NTg6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBmaXggc2VnbWVudCBldmVudCBsZWFrCgkgIGdzdF9ldmVudF9yZXBsYWNlIGluY3JlbWVudHMgdGhlIHJlZmNvdW50CgoyMDE0LTA2LTI3IDEyOjUwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGF2b2lkIGNhbGxpbmcgZ19jb252ZXJ0IHdpdGggMC1zaXplZCBpbnB1dAoJICBBdm9pZHMgYW4gYXNzZXJ0aW9uLiBUaGUgY2FjaGVkIHN0cmluZyB3aWxsIGJlIGFzc2lnbmVkIGFuIGVtcHR5IHN0cmluZwoJICBhcyBpdHMgdmFsdWUgd2hlbiBzaXplIGlzIDAuCgoyMDE0LTA2LTI3IDEwOjUzOjIwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBtZW1vcnkgbGVhayBpbiBHc3RIMjY0UFBTLgoJICBUaGUgZ3N0X2gyNjRfcGFyc2VfcHBzKCkgZnVuY3Rpb24gZHluYW1pY2FsbHkgYWxsb2NhdGVzIHRoZSBzbGljZQoJICBncm91cCBpZHMgbWFwIGFycmF5LCBzbyB0aGF0IG5lZWRzIHRvIGJlIGNsZWFyZWQgYmVmb3JlIHBhcnNpbmcgYQoJICBuZXcgUFBTIE5BTCB1bml0IGFnYWluLCBvciB3aGVuIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQuCgkgIExpa2V3aXNlLCBhIGNsZWFuIGNvcHkgdG8gdGhlIGludGVybmFsIE5BTCBwYXJzZXIgc3RhdGUgbmVlZHMgdG8gYmUKCSAgcGVyZm9ybWVkIHNvIHRoYXQgdG8gYXZvaWQgYSBkb3VibGUtZnJlZSBjb3JydXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjgyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMTc6MTg6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCB0eXBvIGluIEdzdEgyNjRWVUlQYXJhbXMgZGVzY3JpcHRpb24uCgoyMDE0LTAxLTMxIDE3OjA3OjQyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBSZWNvdmVyeSBQb2ludCBTRUkgbWVzc2FnZS4KCSAgVGhlIHJlY292ZXJ5IHBvaW50IFNFSSBtZXNzYWdlIGhlbHBzIGEgZGVjb2RlciBpbiBkZXRlcm1pbmluZyBpZiB0aGUKCSAgZGVjb2RpbmcgcHJvY2VzcyB3b3VsZCBwcm9kdWNlIGFjY2VwdGFibGUgcGljdHVyZXMgZm9yIGRpc3BsYXkgYWZ0ZXIKCSAgdGhlIGRlY29kZXIgaW5pdGlhdGVzIHJhbmRvbSBhY2Nlc3Mgb3IgYWZ0ZXIgdGhlIGVuY29kZXIgaW5kaWNhdGVzCgkgIGEgYnJva2VuIGxpbmsgaW4gdGhlIGNvZGVkIHZpZGVvIHNlcXVlbmNlLgoJICBUaGlzIGlzIG5vdCB1c2VkIGluIHRoZSBoMjY0cGFyc2UgZWxlbWVudCwgYnV0IGl0IGNvdWxkIGhlbHAgZGVidWdnaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzgwCgoyMDE0LTAzLTI1IDEyOjAxOjU1ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIG5hbF9yZWFkZXJfc2tpcF9sb25nKCkgaGVscGVyLgoJICBBZGQgbmFsX3JlYWRlcl9za2lwX2xvbmcoKSBoZWxwZXIgZnVuY3Rpb24gdG8gYWxsb3cgYW4gYXJiaXRyYXJ5IG51bWJlcgoJICBvZiBiaXRzIHRvIGJlIHNraXBwZWQuIFRoZSBmb3JtZXIgbmFsX3JlYWRlcl9za2lwKCkgZnVuY3Rpb24gaXMgdG9vCgkgIGxpbWl0ZWQgdG8gdGhlIGFjdHVhbCBjYWNoZSBzaXplLgoJICBVc2UgdGhpcyBuZXcgZnVuY3Rpb24gdG8gc2ltcGxpZnkgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaV9tZXNzYWdlKCkKCSAgZGVmYXVsdCBjYXNlLCB0aGF0IHNraXBzIHVuc3VwcG9ydGVkIHBheWxvYWRzLgoJICB2MjogbWFkZSBhcmdzIGNvbnNpc3RlbnQgZnJvbSBoZWFkZXIgdG8gc291cmNlIGZpbGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjcgMDA6MDk6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBhIHJlZmNvdW50IGVycm9yIHdoZW4ga2VlcGluZyB0aGUgYnVmZmVyCgkgIFdlIHRha2UgYSByZWYgb24gdGhlIHBhZCdzIGJ1ZmZlciBhdCB0aGUgYmVnaW5uaW5nIHNvIHdlIG5lZWQgdG8KCSAgdW5yZWYgd2hlbiB3ZSBhcmUgZG9uZSBpbiBhbGwgY2FzZXMuCgoyMDE0LTA2LTI2IDE1OjU5OjM1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZwODogbW92ZSB1cCBidWlsdC1pbiByYW5nZSBkZWNvZGVyIHByaXZhdGUgZGF0YS4KCSAgVXNlIHRoZSBmaXJzdCBfZ3N0X3Jlc2VydmVkW13CoHNsb3QgdG8gaG9sZCB0aGUgYnVpbHQtaW4gcmFuZ2UgZGVjb2RlcgoJICBwcml2YXRlIGRhdGEuIFRoZSBmaXJzdCBzbG90IHdhcyBmb3JtZXJseSB0aGUgYnVmZmVyIHNpemUsIHdoaWNoIHdhcwoJICB0aGVuIHByb21vdGVkIHRvIHNlbWktcHVibGljIG5hbWVzcGFjZSB3aGVuIGl0IGdvdCBpbnRlZ3JhdGVkIGFzIGdpdAoJICBjb21taXQgMjk0MGFjNi4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAxMToyNTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZyZWUgcGl4ZWwgc3dpenpsaW5nIGluZm9ybWF0aW9uCgoyMDE0LTA2LTI2IDExOjE1OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHJlbW92ZSByZWR1bmRhbnQvdW51c2VkIGxvY2sKCSAgVXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkCgoyMDE0LTA2LTI2IDExOjEyOjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHJlbW92ZSByZWR1bmRhbnQgY3JlYXRpb24gYW5kIGZyZWUgb2YgR1B0ckFycmF5cwoJICBBbHNvIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDYtMjYgMTA6NTQ6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcGx1ZyBhIG1lbW9yeSBsZWFrIGZvciB0aGUgY2FwcwoJICBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0KCkgdGFrZXMgYSByZWYgb24gdGhlIGNhcHMKCjIwMTQtMDYtMjYgMTA6NTM6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBwbHVnIGEgbWVtb3J5IGxlYWsgb2YgdGhlIHNyY2NhcHMKCjIwMTQtMDYtMjYgMTA6MzE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlcmNhcHMgaWYgYXZhaWxhYmxlCgoyMDE0LTA2LTI2IDEwOjMwOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSAgZ2w6IHVwZGF0ZSBnbGVzMiBjb21wYXRhYmlsaXR5IGhlYWRlcgoKMjAxNC0wNi0yNSAxNDo1MDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBVbmlmeSBBUEkgOiBHc3RNcGVndHMgLyBnc3RfbXBlZ3RzXyAvIEdTVF8qX01QRUdUU18KCSAgSXQgd2FzIHByZXZpb3VzbHkgYSBtaXggYW5kIG1hdGNoIG9mIGJvdGggdmFyaWFudHMsIGludHJvZHVjaW5nIGp1c3QgdG9vIG11Y2gKCSAgY29uZnVzaW9uLgoJICBUaGUgcHJlZml4IGFyZSBmcm9tIG5vdyBvbjoKCSAgKiBHc3RNcGVndHMgZm9yIHN0cnVjdHVyZXMgYW5kIHR5cGUgbmFtZXMgKGFuZCBub3QgR3N0TXBlZ1RzKQoJICAqIGdzdF9tcGVndHNfIGZvciBmdW5jdGlvbnMgKGFuZCBub3QgZ3N0X21wZWdfdHNfKQoJICAqIEdTVF9NUEVHVFNfIGZvciBlbnVtcy9mbGFncyAoYW5kIG5vdCBHU1RfTVBFR19UU18pCgkgICogR1NUX1RZUEVfTVBFR1RTXyBmb3IgdHlwZXMgKGFuZCBub3QgR1NUX1RZUEVfTVBFR19UU18pCgkgIFRoZSByYXRpb25hbGUgZm9yIGNob3NpbmcgdGhhdCBpczoKCSAgKiB0aGUgbmFtZXNwYWNlIGlzIHNob3J0ZXIvZGlyZWN0IChpdCdzIG1wZWd0cywgbm90IG1wZWdfdHMgbm9yIG1wZWctdHMpCgkgICogdGhlIG5hbWVzcGFjZSBpcyBvbmUgd29yZCB1bmRlciBHc3QKCSAgKiBpdCdzIHNob3J0ZXIgKHlhaCkKCjIwMTQtMDYtMjUgMTQ6MTM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogRnJlZSBkYXRhIGluIGVycm9yIGNhc2VzCgkgIERhdGEgaXMgbWFya2VkIGFzICJ0cmFuc2ZlciBmdWxsIiwgaWYgd2UgaGF2ZSBhbiBlcnJvciB3ZSBuZWVkIHRvCgkgIGZyZWUgaXQuCgoyMDE0LTA2LTI1IDIyOjA1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcGFzcyB0aHJvdWdoIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHdoZW4gaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBPdGhlcndpc2UgdHdvIEdMIGVsZW1lbnRzIG9uIGVpdGhlciBzaWRlIHdpbGwgZmFpbCB0byB1c2UgdGhlIHNhbWUKCSAgR0wgY29udGV4dC4KCjIwMTQtMDYtMjUgMjE6NTA6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwcmVmZXIgcGFzc3Rocm91Z2ggZm9yIG5vbi1zeXNtZW0gY2FwcwoKMjAxNC0wNi0yNSAxODoyMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsc2hhZGVyOiBlbmFibGUgZ2xzaGFkZXIgb24gR0xFUzIKCjIwMTQtMDYtMjQgMTk6Mzc6MTcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbGNvbG9yc2NhbGU6IGRvIHBhc3N0aHJvdWdoIG9uIHNhbWUgY2FwcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yNCAxOTozNTowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGhhbmRsZSBOVUxMIGRlY2lkZV9xdWVyeSB3aGljaCBtZWFucyBwYXNzdGhyb3VnaAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yNCAxOToyMzowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHByZXBlbmQgaW50ZXJzZWN0aW9uIHRvIHNyYyBjYXBzCgkgIFByZWZlciB0byBzdGF5IGluIHRoZSBzYW1lIG1lbW9yeSBzcGFjZSBpZiBwb3NzaWJsZS4KCSAgQWxzbyBpdCBsZXQgYSBjaGFuY2UgdG8gZG8gcGFzc3Rocm91Z2guCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTIyIDEzOjE0OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBlbmFibGUgZ2x2aWRlb21peGVyIG9uIEdMRVMyCgoyMDE0LTA2LTI0IDIyOjE1OjUzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWRkIGNvcHlyaWdodC9saWNlbnNlIHN0dWIgdG8gaGVhZGVyCgoyMDE0LTA2LTI0IDIwOjUyOjU0IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxNC0wNi0yNSAxMjowMDozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogYmFzIG91dHB1dCB3aWR0aC9oZWlnaHQgb24gdGhlIHBhZCBwcm9wZXJ0aWVzCgkgIEFsbG93cyBhdXRvbWF0aWMgbmVnb3RpYXRpb24gb2YgdGhlIHNpemUgaW4gdGhlIGZvbGxvd2luZyBjYXNlOgoJICBnc3QtbGF1bmNoLTEuMCBnbHZpZGVvbWl4ZXIgbmFtZT1tIHNpbmtfMDo6eHBvcz0wIHNpbmtfMTo6eHBvcz0zMjAgISBnbGltYWdlc2luayBcCgkgIHZpZGVvdGVzdHNyYyAhIG0uIFwKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49MSAhIG0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE4NzgKCjIwMTQtMDYtMjUgMTA6MTg6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IGNsb2JiZXIgYWxyZWFkeSBhbGxvY2F0ZWQgc2hhZGVyCgoyMDE0LTA2LTI0IDE2OjMyOjIyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJICBjdXJscz9mdHBzaW5rOiBGaXggbWVtb3J5IGxlYWtzIGR1ZSB0byBuZXcgZXJyb3IgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3NAoKMjAxNC0wNi0yNCAxNjowNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogTW9yZSBkb2MgZml4ZXMKCSAgU3RpbGwgbm90IGRvbmUgOigKCjIwMTQtMDYtMjQgMTU6NDE6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogbW9yZSBhbm5vdGF0aW9uIGZpeGVzCgoyMDE0LTA2LTAxIDEwOjQ0OjIzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogY2hhbmdlIHRvIEdUeXBlIGFuZCBmcm9tIGdjaGFyW10gdG8gZ2NoYXIqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjQgMjM6NTE6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogWEluaXRUaHJlYWRzIHdoZW4gZW52IHZhcmlhYmxlIGlzIHNldAoJICBUaGlzIGlzIHRvbyBhbGxvdyBnc3QtbGF1bmNoIGRlYnVnZ2luZyB3aXRoIG11bHRpcGxlIEdMIGNvbnRleHRzIGFzCgkgIHdlbGwgYXMgYXZvaWRpbmcgc2VnZmF1bHRpbmcgaW5ub2NlbnQgZ3RrKyBhcHBzIHRoYXQgaGF2ZSBub3QgY2FsbGVkCgkgIFhJbml0VGhyZWFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNQoKMjAxNC0wNi0yNCAyMzozMzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgYSBzY2FyeSBub3RlIGFib3V0IGluaXRpYWxpemluZyB0aHJlYWQgc3VwcG9ydCBmb3IgdGhlIHdpbnN5cwoJICBXZSBjYW5ub3QgZG8gaXQgYXMgdGhlIHdpbnN5cyBtYXkgY3Jhc2ggaWYgd2UgaW5pdGlhbGl6ZSB0b28gbGF0ZS4KCSAgRXhhbXBsZSwgR0xYIGNvbnRleHRzIHdpdGggSW50ZWwgZHJpdmVyczoKCSAgSW50ZWwgcmVxdWlyZXMgdGhlIFggRGlzcGxheSB0byBiZSB0aGUgc2FtZSBpbiBvcmRlciB0byBzaGFyZSBHTAoJICByZXNvdXJjZXMgYWNyb3NzIEdMIGNvbnRleHRzLiAgVGhlc2UgR0wgY29udGV4dHMgYXJlIGdlbmVyYWxseQoJICBhY2Nlc3NlZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzLiAgV2l0aG91dCB3aW5zeXMgc3VwcG9ydCBpdCBpcwoJICBuZWFybHkgaW1wb3NzaWJsZSB0byBndWFyZW50ZWUgdGhhdCBjb25jdXJyZW50IGFjY2VzcyB3aWxsIG5vdAoJICBvY2N1ci4gIFRoaXMgY29uY3VycmVudCBhY2Nlc3MgY291bGQgcmVzdWx0IGluIGNyYXNoZXMgb3IgYWJvcnRpb24KCSAgYnkgdGhlIHdpbnN5cyAoeGNiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNQoKMjAxNC0wNi0yNCAxNDowNToxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRml4IGRlc2NyaXB0b3JfZnJvbV9kdmJfc2VydmljZQoJICBWYXJpb3VzIGxlYWtzL292ZXJ3cml0ZXMgaXNzdWVzCgoyMDE0LTA2LTI0IDEzOjQ2OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJICBhbGw6IERvbid0IGRlY2xhcmUgdmFyaWFibGVzIGluICdmb3InIGxvb3BzCgoyMDE0LTA2LTI0IDExOjI3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkgIGJhZGJhc2U6IFVzZSB0aGUgY29ycmVjdCBMREZMQUdTIGZvciBjcmVhdGluZyBsaWJyYXJpZXMKCSAgT3RoZXJ3aXNlIHdlIHdvbid0IGUuZy4gY3JlYXRlIC5kbGxzIG9uIFdpbmRvd3MKCjIwMTQtMDYtMjQgMDg6MDE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkgIGNvbXBvc2l0b3I6IEZpeCBNYWtlZmlsZSBDRkxBR1MvTElCQUREIG9yZGVyaW5nCgkgIFdlIHdhbnQgdG8gdXNlIHRoZSBsaWJyYXJpZXMgZnJvbSAtYmFkIGlmL3doZW4gcHJlc2VudAoKMjAxNC0wNi0yMyAyMDo0NDoyMyArMDIwMCAgRXJpYyBUcm91c3NldCA8ZXRyb3Vzc2V0QGF3b3guY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IFJlbGVhc2UgRDNEIHN1cmZhY2VzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDI2CgoyMDE0LTA2LTIzIDIwOjMzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzc3JjOiBDbGFzc2lmaWNhdGlvbiBvZiB0aGUgZWxlbWVudCBmYWN0b3J5IHNob3VsZCBiZSBTb3VyY2UvIG5vdCBTcmMvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MTEKCjIwMTQtMDYtMjMgMjI6NDA6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGNsb2JiZXIgYWxyZWFkeSBoZWFwIGFsbG9jYXRlZCB2aWRlbyBmcmFtZQoJICBDSUQgIyAxMjIzNDQwCgoyMDE0LTA2LTIzIDIyOjM2OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggdXAgdGhlIHBhcmVudCBjaGFpbmluZyBmb3IgZGlzcG9zZSBhbmQgZmluYWxpemUKCjIwMTQtMDYtMjMgMjE6NDM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbHVwbG9hZG1ldGE6IHJlZW5hYmxlIEdMTWVtb3J5IHVwbG9hZCBwYXRoCgoyMDE0LTA2LTIyIDIzOjM5OjE0IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGRpc2VxYy1zb3VyY2UgcHJvcCBuYW1lIGluIGV4YW1wbGUKCjIwMTQtMDYtMjIgMjE6MDQ6NDUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggbml0IG9uIHdhcm5pbmcgbWVzc2FnZQoKMjAxNC0wNi0yMiAyMjowNDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgJEVSUk9SX0NGTEFHUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIC1XZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE2OTIKCjIwMTQtMDYtMTUgMjE6MTU6NTEgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAtV2Vycm9yIHRvIG1ha2UgdGhlIGluY2x1ZGUgR0wgYW5kIEdMRVMyIGhlYWRlciBjaGVjayBndWFyYW50ZWVkIGZhdGFsCgkgIENsYW5nIHdpbGwgb25seSBnaXZlIGEgd2FybmluZyBmb3IgdGhlIHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIEdMZW51bS4KCSAgU2luY2UgbWFzdGVyIGlzIGJ1aWxkIHdpdGggLVdlcnJvciB0aGlzIHdpbGwgcmVzdWx0IGluIGEgYnVpbGQgZmFpbHVyZQoJICBsYXRlciBpbiB0aGUgZ2wgcGx1Z2luLiBBZGQgLVdlcnJvciB0byB0aGUgdGVzdCwgc28gdGhlIHRlc3QgcmVzdWx0IGlzIGFzCgkgIGV4cGVjdGVkLiBUaGlzIHdpbGwgYWxsb3cgdGhlIGdsIHBsdWdpbnMgdG8gYnVpbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjkyCgoyMDE0LTA2LTE3IDE0OjIzOjQzICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGZpeCBodmNDIHNpemUgY2hlY2sKCSAgSW4gSVNPL0lFQyAxNDQ5Ni0xNSwgdGhlIG1pbmltdW0gc2l6ZSBvZiBhIEhFVkNEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZAoJICAoaS5lLiwgdGhlIGNvbnRlbnRzIG9mIGEgaHZjQyBib3gpIGlzIDIzIGJ5dGVzLiBIb3dldmVyLCB0aGUgY29kZSBpbiBoMjY1cGFyc2UKCSAgY2hlY2tzIHRoYXQgdGhlIHNpemUgb2YgdGhpcyBkYXRhIGlzIG5vdCBsZXNzIHRoYW4gMjggYnl0ZXMsIGFuZCBpdCByZWZ1c2VzIHRvCgkgIGFjY2VwdCBjYXBzIGlmIHRoZSBjaGVjayBmYWlscy4gVGhlIHJlc3VsdCBpcyB0aGF0IHN0YW5kYXJkcy1jb25mb3JtYW50IHN0cmVhbXMKCSAgdGhhdCBkb24ndCBjYXJyeSBhbnkgcGFyYW1ldGVyIHNldHMgaW4gdGhlaXIgaHZjQyBib3hlcyB3b24ndCBwbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTc4MwoKMjAxNC0wNi0xOSAyMDoxNTowNSArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgbW9kcGx1ZzogZG9uJ3QgaGFyZGNvZGUgYysrIHN0YW5kYXJkIGxpYnJhcnkKCSAgRml4ZXMgYnVpbGQgd2l0aCBsbHZtIG9uIEZyZWVCU0QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTMwCgoyMDE0LTA2LTIyIDE5OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMyA9PT0KCjIwMTQtMDYtMjIgMTk6MjI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4zCgoyMDE0LTA2LTIyIDE5OjA5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjIgMTg6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBOZWVkIHRvIGxpbmsgdG8gbmV3IGJhZHZpZGVvIGxpYnJhcnkgZm9yIHRoZSB2aWRlbyBhZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCjIwMTQtMDYtMjIgMTg6NTE6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBMaW5rIHdpdGggJChMSUJNKSBmb3IgcmludCgpIGFuZCBvdGhlcnMKCjIwMTQtMDYtMjIgMTQ6MjU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3VrLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNi0yMCAwODoyMDo1NSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogRml4IGRlY3J5cHRpbmcgZnJhZ21lbnRzCgkgIE9ubHkgcmVzZXQgdGhlIGRlY3J5cHRpb24gZW5naW5lIG9uIHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCwKCSAgbm90IGFnYWluIGZvciB0aGUgc2Vjb25kIGJ1ZmZlci4gIFRoaXMgZml4ZXMgY29ycnVwdGluZyB0aGUgc2Vjb25kCgkgIGJ1ZmZlciBvZiBhIGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTY4CgoyMDE0LTA2LTIyIDE0OjEyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBVc2UgdGhlIHBhZCBwYXNzZWQgdG8gdXMgZGlyZWN0bHkgZm9yIGRlZmF1bHQgZXZlbnQgaGFuZGxpbmcKCjIwMTQtMDYtMTkgMTc6MjQ6MjYgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGRlZmF1bHQgcXVlcnkgc2hvdWxkIGJlIGZvcndhcmQgb24gdGFyZ2V0IHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxODk5CgoyMDE0LTA2LTIyIDEyOjMyOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHVwIGNvbW1lbnQKCjIwMTQtMDYtMjIgMDk6NDQ6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgZ2w6IG1vdmUgZ2xlczIgY29tcGF0IGhlYWRlciB0byBnbHByb3RvdHlwZXMKCjIwMTQtMDYtMjIgMDk6MzY6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsYnVmZmVycG9vbDogcHJvdmlkZSBhIGNvbnNpc3RlbnQgQVBJIHJlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0KCjIwMTQtMDYtMjIgMDk6MjI6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkgIGdsOiBtYXJrIGxpYnJhcnkgYXMgQVBJIHVuc3RhYmxlCgoyMDE0LTA2LTIxIDE2OjU3OjM0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGxpYnM6dXJpZG93bmxvYWRlcjogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjUyOjUxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgbGliczp2aWRlbzogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjUxOjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBsaWJzOmJhc2U6IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1NzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3R3YXlsYW5kc2luay5jOjQ4MDoxNDogZXJyb3I6IGNvbXBhcmlzb24gb2YgY29uc3RhbnQgLTEgd2l0aCBleHByZXNzaW9uIG9mCgkgIHR5cGUgJ2VudW0gd2xfc2htX2Zvcm1hdCcgaXMgYWx3YXlzIGZhbHNlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5nZS1jb21wYXJlXQoJICBpZiAoZm9ybWF0ID09IC0xKQoJICB+fn5+fn4gXiAgfn4KCjIwMTQtMDYtMjEgMTY6NTU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVcGRhdGUgY29tbWVudHMgdG8gdGhlIG5ldyByZWFsaXR5IGFuZCByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wNi0yMSAxNTo0MDo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBsaWJzOnZpZGVvOiBBZGQgLUkkKHRvcF9zcmNkaXIpL2dzdC1saWJzIHRvIGZpeCBkaXN0Y2hlY2sKCjIwMTQtMDYtMjEgMTU6MjY6MTQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJICBsaWJzOmJhc2U6IEZpeCBpbmNsdWRlZGlyCgoyMDE0LTA2LTIxIDEzOjQ1OjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMTQtMDYtMjAgMjI6MDI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICBsaWJzOiB2aWRlb2FnZ3JlZ2F0bzogRG8gbm90IGltcG9ydCB2aWRlb2NvbnZlcnQuaCBpbiBnc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaAoJICArIEFkZCBhIFByaXZhdGUgc3RydWN0dXJlIHRvIHRoZSBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWQKCSAgKyBBZGQgc29tZSBwYWRkaW5nCgoyMDE0LTA2LTIwIDIxOjE4OjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIEZpbmFsIGZpeCBjb21waWxhdGlvbgoKMjAxNC0wNi0yMCAyMDoxMTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogcmVtb3ZlIGdzdC1saWJzL2dzdC92aWRlby8gZnJvbSBDUlVGVF9ESVJTCgkgIEl0IHdhcyBnb25lLCBidXQgbm93IGl0J3MgYmFjay4KCjIwMTQtMDYtMjAgMjA6MjM6MzAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgbGliczp2aWRlbzpGaXggY29tcGlsYXRpb24KCjIwMTQtMDYtMjAgMTE6MTA6NDUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6Z2x2aWRlb21peGVyOiBBZGQgdGhlIENvbXBvc2l0b3IgaW4gdGhlIGVsZW1lbnQgbWV0YWRhdGEgY2xhc3MKCSAgU28gaXQgaXMgcG9zc2libGUgdG8gcGljayBvbmUgY29tcG9zaXRpbmcgZWxlbWVudCBmcm9tIHRoZSByZWdpc3RyeQoKMjAxNC0wNS0yMiAxOTo0NjowMiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvY29tcG9zaXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuaDoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmRvcmMuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQWRkIGEgbmV3IGNvbXBvc2l0b3IgYmFzZWQgb24gdGhlIG5ldyBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoJICBJdCBpcyBhIHJlcGxhY2VtZW50IGZvciB2aWRlb21peGVyIHdpdGggYSBzaW1pbGFyZSBBUEkKCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxOQoKMjAxNC0wNi0xMCAxMToyNjo1MyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBnbDogUG9ydCBnbG1peGVyIHRvIHRoZSBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZWNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MjEKCjIwMTQtMDYtMDMgMTk6MDA6MzQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLnBjLmluOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBhIG5ldyBHc3RWaWRlb0FnZ3JlZ2F0b3IgYmFzZWNsYXNzCgkgIFRoaXMgYmFzZSBjbGFzcyBoYXMgYmVlbiBhZGRlZCB0byBhIG5ld2x5IGNyZWF0ZWQgbGliZ3N0YmFkdmlkZW8gbGlicmFyeQoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE4CgoyMDE0LTA1LTIyIDE5OjQ0OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBuZXcgR3N0QWdncmVnYXRvciBiYXNlIGNsYXNzCgkgIFRoaXMgYmFzZSBjbGFzcyBoYXMgYmVlbiBhZGRlZCB0byBhIG5ld2x5IGNyZWF0ZWQgbGliZ3N0YmFkYmFzZSBsaWJyYXJ5CgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTcKCjIwMTQtMDYtMjAgMTQ6NTk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFyIGV4Y2VwdGlvbnMgYWxzbyB3aGVuIHdlIGRpZCBub3QgcHJvdmlkZSBhIEdFcnJvcgoKMjAxNC0wNi0xOSAxMToyNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWxzbyBkb24ndCByZXBvcnQgd2FybmluZ3MgZm9yIHF1ZXVlL2RlcXVldWUgZXJyb3JzIGR1cmluZyBmbHVzaGluZyBpbiBlcnJvciBjYXNlcwoJICAuLi4gYW5kIGZpeCBhIGNhc2Ugd2hlcmUgd2UgcmVsZWFzZWQgYW4gaW52YWxpZCBidWZmZXIgaW5kZXguCgoyMDE0LTA2LTE5IDExOjE1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBjb25zaWRlciBpbnB1dCBidWZmZXIgcXVldWVpbmcgZmFpbHVyZXMgYXMgYW4gZXJyb3IgZHVyaW5nIGZsdXNoaW5nCgoyMDE0LTA2LTE5IDExOjEyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhbiB1cCBmbHVzaGluZyBjb2RlIGFuZCBkb24ndCBjb25zaWRlciBvdXRwdXQgYnVmZmVyIHJlbGVhc2luZyBmYWlsdXJlcyBkdXJpbmcgZmx1c2hpbmcgYXMgYW4gZXJyb3IKCjIwMTQtMDYtMTkgMDk6NTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEluY2x1ZGUgdGhlIGRlYnVnIHN0cmluZyBpbiB0aGUgZXJyb3IgbWVzc2FnZXMgd2UgcHJvcGFnYXRlIGZyb20gdCBzb3VyY2UKCjIwMTQtMDYtMTkgMDk6NTY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIHRoZSBkZWJ1ZyBzdHJpbmcgaW4gdGhlIGVycm9yIG1lc3NhZ2VzIHdlIHByb3BhZ2F0ZSBmcm9tIHRoZSBzb3VyY2UKCjIwMTQtMDYtMTkgMDk6NTQ6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIGEgbW9yZSBkZXNjcmlwdGl2ZSBlcnJvciBtZXNzYWdlCgoyMDE0LTA2LTE5IDA5OjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBQcm9wYWdhdGUgZXJyb3IgbWVzc2FnZXMgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQgdXAgaW4gdGhlIGhpZXJhcmNoeQoJICBJbnN0ZWFkIG9mIGludmVudGluZyBvdXIgb3duIGdlbmVyaWMgZXJyb3Igc3RyaW5ncyB3aGljaCBhcmUgbW9zdGx5IHVzZWxlc3MuCgoyMDE0LTA2LTE5IDA5OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRGlyZWN0bHkgY29udmVydCBHRXJyb3JzIHRvIGVycm9yIG1lc3NhZ2VzCgkgIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBsZWFrIGRlYnVnIGluZm9ybWF0aW9uIGludG8gdGhlIGFjdHVhbAoJICBlcnJvciBtZXNzYWdlIHN0cmluZyBhbmQga2VlcCBpdCBiZWhpbmQgdGhlIGRlYnVnIHN0cmluZy4KCjIwMTQtMDYtMTcgMTE6NDg6MTIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBnc3RzcnRwZW5jOiB1bnJlZiBldmVudCB3aGVuIG5lZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY4CgoyMDE0LTA2LTE4IDE1OjM2OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogaW1wcm92ZSBwcm9wZXJ0eSBjb21tZW50cwoJICBBZGQgYSBOb3RlIHRvIHRoZSBhbGxvdy1yZXBlYXQtdHggcHJvcGVydHkgYmVjYXVzZSBpdCBpcyBwb3RlbnRpYWxseQoJICBpbnNlY3VyZSB3aGVuIHVzZWQgaW5jb3JyZWN0bHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3MTQKCjIwMTQtMDYtMTMgMTE6MTU6MjUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIGdzdHNydHBlbmM6IGFkZCBhbGxvdy1yZXBlYXQtdHggcHJvcGVydHkKCjIwMTQtMDUtMjcgMTI6NDA6MDkgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogYWRkIGVsZW1lbnQgZm9yIHRyYW5zZm9ybWluZyB2aWRlbyBnZW9tZXRyeQoJICAqIGFkZCBncmFwaGVuZSBhcyBzb2Z0IGRlcGVuZGVuY3kgZm9yIGxpbmVhciBhbGdlYnJhCgoyMDE0LTA2LTE4IDEwOjEzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSAgcG5tOiBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTIzCgoyMDE0LTA2LTE3IDIzOjIwOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGRvbid0IHNlZ2ZhdWx0IG5lZWRsZXNzbHkgd2l0aCBHTEVTMgoJICBnc3RfZ2xfZnJhbWVidWZmZXJfdXNlX3YyIHdhcyB1c2luZyBhIGZ1bmN0aW9uIHRoYXQgaXMgbm90IGF2YWlsYWJsZQoJICB3aXRoIEdMRVMyCgoyMDE0LTA2LTE2IDIwOjM2OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSAgZ2xmaWx0ZXJzaGFkZXI6IHBvcnQgdG8gR0xFUzIKCSAgUHJvdmlkZSBhIHRpbWUgdmFyaWFibGUKCjIwMTQtMDYtMTcgMTM6NDg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBleHBvcnRzIGZvciBjaGFuZ2VkIGgyNjQgY29kZWMgcGFyc2VyIEFQSQoKMjAxNC0wNi0xNyAxMjo1MDoxNyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubWRlYzogQWRkZWQgUEJNIFN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUyMwoKMjAxNC0wNi0xNyAxMzoxNTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogYWRkIHVuc3RhYmxlIEFQSSBndWFyZHMgdG8gd2F5bGFuZCBsaWJyYXJ5IGhlYWRlcgoKMjAxNC0wNi0xNyAxMzoxMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogZml4IHVuaW5zdGFsbGVkIGJ1aWxkIG9mIG5ldyB3YXlsYW5kIGxpYgoKMjAxNC0wNi0xNiAxODo1Mzo1MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luay93bGRpc3BsYXk6IHZlcmlmeSB0aGF0IGFsbCB0aGUgcmVxdWlyZWQgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZm91bmQgb24gdGhlIGNvbXBvc2l0b3IKCSAgVGhpcyBhbGxvd3Mgd2F5bGFuZHNpbmsgdG8gZmFpbCBncmFjZWZ1bGx5IGJlZm9yZSBnb2luZyB0byBSRUFEWQoJICBpbiBjYXNlIG9uZSBvZiB0aGUgcmVxdWlyZWQgaW50ZXJmYWNlcyBkb2VzIG5vdCBleGlzdC4gTm90IGFsbAoJICBpbnRlcmZhY2VzIGFyZSBuZWNlc3NhcnkgZm9yIGFsbCBtb2RlcyBvZiBvcGVyYXRpb24sIGJ1dCBpdCBpcwoJICBiZXR0ZXIgaW1obyB0byBmYWlsIGJlZm9yZSBnb2luZyB0byBSRUFEWSBpZiBhdCBsZWFzdCBvbmUgZmVhdHVyZQoJICBpcyBub3Qgc3VwcG9ydGVkLCB0aGFuIHRvIGZhaWwgYW5kL29yIGNyYXNoIGF0IHNvbWUgbGF0ZXIgcG9pbnQuCgkgIEluIHRoZSBmdXR1cmUgd2UgbWF5IHdhbnQgdG8gcmVsYXggdGhpcyByZXN0cmljdGlvbiBhbmQgYWxsb3cgY2VydGFpbgoJICBpbnRlcmZhY2VzIG5vdCB0byBiZSBwcmVzZW50IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgZm9yIGV4YW1wbGUKCSAgaWYgdGhlcmUgaXMgYW4gYWx0ZXJuYXRpdmUgc2ltaWxhciBpbnRlcmZhY2UgYXZhaWxhYmxlIChmb3IgaW5zdGFuY2UsCgkgIHhkZ19zaGVsbCBpbnN0ZWFkIG9mIHdsX3NoZWxsKSwgYnV0IGZvciBub3cgbGV0J3MgcmVxdWlyZSB0aGVtIGFsbC4KCSAgV2VzdG9uIHN1cHBvcnRzIHRoZW0gYWxsLCB3aGljaCBpcyBlbm91Z2ggZm9yIHVzIG5vdy4gT3RoZXIgY29tcG9zaXRvcnMKCSAgc2hvdWxkIHJlYWxseSBpbXBsZW1lbnQgdGhlbSBpZiB0aGV5IGRvbid0IGFscmVhZHkuIEkgZG9uJ3QgbGlrZSB0aGUKCSAgaWRlYSBvZiBzdXBwb3J0aW5nIG1hbnkgZGlmZmVyZW50IGNvbXBvc2l0b3JzIHdpdGggZGlmZmVyZW50IHNldHMgb2YKCSAgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZC4gd2xfc3ViY29tcG9zaXRvciwgd2xfc2htIGFuZCB3bF9zY2FsZXIgYXJlCgkgIHJlYWxseSBlc3NlbnRpYWwgZm9yIGhhdmluZyBhIG5pY2UgdmlkZW8gc2luay4gRW5vdWdoIHNhaWQuCgoyMDE0LTA2LTE2IDE4OjAzOjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgYnVmZmVyIGZyb20gdGhlIHN1cmZhY2Ugd2hlbiBnb2luZyBQQVVTRUQgLT4gUkVBRFkKCSAgVGhpcyBlc3NlbnRpYWxseSBoaWRlcyB0aGUgdmlkZW8gYW5kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8KCSAgcG90ZW50aWFsbHkgZHJhdyBhIGJsYWNrIGJhY2tncm91bmQgb3Igd2hhdGV2ZXIgZWxzZSBpdCB3YW50cy4KCSAgVGhpcyBhbGxvd3MgdG8gZGlmZmVyZW50aWF0ZSB0aGUgInBhdXNlZCIgYW5kICJzdG9wcGVkIiBtb2RlcwoJICBmcm9tIHRoZSB1c2VyJ3MgcG9pbnQgb2Ygdmlldy4KCSAgQWxzbyByZXdvcmRlZCBhIGNvbW1lbnQgdGhlcmUgdG8gbWFrZSBteSB0aGlua2luZyBtb3JlIGNsZWFyLAoJICBzaW5jZSB0aGUgInJlYXNvbiBmb3Iga2VlcGluZyB0aGUgZGlzcGxheSBhcm91bmQiIGlzIG5vdCByZWFsbHkKCSAgdGhlIGV4cG9zZWQoKSBjYWxscywgYXMgdGhlcmUgaXMgbm8gYnVmZmVyIHNob3duIGluIFJFQURZL05VTEwKCSAgYW55bW9yZS4KCjIwMTQtMDYtMTIgMTc6NDM6NDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItd2F5bGFuZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLnBjLmluOgoJICB3YXlsYW5kOiBpbnN0YWxsIC5wYyBmaWxlCgoyMDE0LTA2LTEzIDE2OjM3OjM4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IGRvIG5vdCBjb21taXQgYSByZXNpemUgd2hlbiBpdCBoYXBwZW5zIGR1ZSB0byBhIHZpZGVvIGluZm8gY2hhbmdlCgkgIDEpIFdlIGtub3cgdGhhdCBnc3Rfd2F5bGFuZF9zaW5rX3JlbmRlcigpIHdpbGwgY29tbWl0IHRoZSBzdXJmYWNlCgkgIGluIHRoZSBzYW1lIHRocmVhZCBhIGxpdHRsZSBsYXRlciwgYXMgZ3N0X3dsX3dpbmRvd19zZXRfdmlkZW9faW5mbygpCgkgIGlzIGFsd2F5cyBjYWxsZWQgZnJvbSB0aGVyZSwgc28gd2UgY2FuIHNhdmUgdGhlIGNvbXBvc2l0b3IgZnJvbQoJICBzb21lIGV4dHJhIGNhbGN1bGF0aW9ucy4KCSAgMikgV2Ugc2hvdWxkIG5vdCBjb21taXQgYSByZXNpemUgd2l0aCB0aGUgbmV3IHZpZGVvIGluZm8gd2hpbGUgd2UgYXJlIHN0aWxsCgkgIHNob3dpbmcgdGhlIGJ1ZmZlciBvZiB0aGUgcHJldmlvdXMgdmlkZW8sIHdpdGggdGhlIG9sZCBjYXBzLCBhcyB0aGF0CgkgIHdvdWxkIHByb2JhYmx5IGJlIGEgdmlzaWJsZSByZXNpemUgZ2xpdGNoLgoKMjAxNC0wNi0xMyAxNjoyOTozMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiB0YWtlIGludG8gYWNjb3VudCB0aGUgdmlkZW8gYXNwZWN0IHJhdGlvIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHNpemUgb2YgdGhlIHN1cmZhY2UKCjIwMTQtMDYtMTMgMTU6NTg6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogaW1wcm92ZSB0aGUgd2F5IHRoZSB2aWRlbyBzaXplIGlzIHBhc3NlZCB0byB3bHdpbmRvdyBhbmQgYWxzbyBpbXByb3ZlIHRoZSBjb2RlIGZvciB3aW5kb3cgY3JlYXRpb24KCjIwMTQtMDYtMDYgMTI6NDk6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIHRvIGJlZ2luL2VuZF9nZW9tZXRyeV9jaGFuZ2UgYW5kIHVwZGF0ZSB0aGVpciBkb2N1bWVudGF0aW9uCgoyMDE0LTA1LTI5IDEyOjI3OjQ2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgbWFudWFsIHN5bmNocm9uaXphdGlvbiBmcm9tIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgYW5kIHVzZSBzdWJzdXJmYWNlIHN5bmMvZGVzeW5jCgkgIFByZXZpb3VzbHksIGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgc3VyZmFjZSBzaXplIHdlIGhhZCB0byBsZXQgdGhlIHBpcGVsaW5lCgkgIHJlZHJhdyBpdCwgd2hpY2ggYXQgZmlyc3QgYWxzbyBpbnZvbHZlZCByZS1uZWdvdGlhdGluZyBjYXBzLCBldGMsIHNvIGEKCSAgc3luY2hyb25pemF0aW9uIHdpdGggdGhlIHBpcGVsaW5lIHdhcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS4KCSAgQXQgdGhlIG1vbWVudCwgd2UgYXJlIHVzaW5nIHdsX3ZpZXdwb3J0LCB3aGljaCBzZXBhcmF0ZXMgdGhlIHN1cmZhY2Ugc2l6ZQoJICBmcm9tIHRoZSBidWZmZXIgc2l6ZSBhbmQgaXQgYWxzbyBhbGxvd3MgdXMgdG8gY29tbWl0IGEgc3VyZmFjZSByZXNpemUgd2l0aG91dAoJICBhdHRhY2hpbmcgYSBuZXcgYnVmZmVyLCBzbyBpdCBpcyBlbm91Z2ggdG8ganVzdCBkbzoKCSAgZ3N0X3dheWxhbmRfdmlkZW9fcGF1c2VfcmVuZGVyaW5nKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X3N5bmMoKQoJICBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZSgpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9wb3NpdGlvbigpCgkgIHdsX3ZpZXdwb3J0X3NldF9kZXN0aW5hdGlvbigpCgkgIHdsX3N1cmZhY2VfZGFtYWdlKCkKCSAgd2xfc3VyZmFjZV9jb21taXQoKQoJICAuLi4gY29tbWl0IHRoZSBwYXJlbnQgc3VyZmFjZSAuLi4KCSAgZ3N0X3dheWxhbmRfdmlkZW9fcmVzdW1lX3JlbmRlcmluZygpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9kZXN5bmMoKQoJICBUaGlzIGlzIGVub3VnaCB0byBzeW5jaHJvbml6ZSBhIHN1cmZhY2UgcmVzaXplIGFuZCB0aGUgcGlwZWxpbmUgY2FuIGNvbnRpbnVlCgkgIGRyYXdpbmcgaW5kZXBlbmRlbnRseS4gTm93IG9mIGNvdXJzZSwgdGhlIG5hbWVzIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgYXJlCgkgIGJhZC4gSSB3aWxsIHJlbmFtZSB0aGVtIGluIGFub3RoZXIgY29tbWl0LgoKMjAxNC0wNi0wNiAxMjoxMDoyNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBwcm90ZWN0IGFjY2VzcyB0byBwcm9wZXJ0aWVzIHdpdGggdGhlIE9CSkVDVF9MT0NLCgoyMDE0LTA2LTA2IDEyOjA0OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHByb3RlY3QgYWNjZXNzIHRvIHRoZSBkaXNwbGF5IHdpdGggYSBuZXcgZGlzcGxheV9sb2NrCgkgIEFjY2VzcyBpcyBwcm90ZWN0ZWQgb25seSBmb3Igc2V0dGluZy9jcmVhdGluZy9kZXN0cm95aW5nIHRoZSBkaXNwbGF5CgkgIGhhbmRsZS4gc2V0X2NhcHMoKSBmb3IgZXhhbXBsZSBpcyBub3QgcHJvdGVjdGVkIGJlY2F1c2UgaXQgY2Fubm90IGJlCgkgIGNhbGxlZCBiZWZvcmUgY2hhbmdpbmcgc3RhdGUgdG8gUkVBRFksIGF0IHdoaWNoIHBvaW50IHRoZXJlIHdpbGwgYmUKCSAgYSBkaXNwbGF5IGhhbmRsZSBhdmFpbGFibGUgYW5kIHdoaWNoIGNhbm5vdCBjaGFuZ2UgYnkgYW55IHRocmVhZCBhdAoJICB0aGF0IHBvaW50CgoyMDE0LTA2LTA2IDEwOjM1OjIwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgT0JKRUNUX0xPQ0sgZnJvbSBzZXRfY2FwcygpCgkgIEl0J3Mgbm90IHJlYWxseSBuZWNlc3NhcnksIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZCBmcm9tIEdzdEJhc2VTaW5rIHdpdGggdGhlIFBSRVJPTExfTE9DSwoKMjAxNC0wNS0yOCAxMzoxMDo0MyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBSZXBsYWNlIHRoZSBPQkpFQ1RfTE9DSyB3aXRoIGEgcHJpdmF0ZSByZW5kZXJfbG9jayB0byBsb2NrIHJlbmRlciBvcGVyYXRpb25zCgkgIFRoaXMgaXMgYmVjYXVzZToKCSAgKiBHU1RfRUxFTUVOVF9XQVJOSU5HL0VSUk9SIGRvIGxvY2sgdGhlIE9CSkVDVF9MT0NLIGFuZCB3ZSBkZWFkbG9jayBpbnN0YW50bHkKCSAgKiBJbiBmdXR1cmUgY29tbWl0cyBJIHdhbnQgdG8gbWFrZSB1c2Ugb2YgR3N0QmFzZVNpbmsgZnVuY3Rpb25zIHRoYXQgYWxzbwoJICBsb2NrIHRoZSBPQkpFQ1RfTE9DSyBpbnNpZGUgdGhpcyBjb2RlCgoyMDE0LTA1LTI2IDE0OjEzOjU2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IG1vdmUgc3VyZmFjZSByZXNpemluZyBsb2dpYyB0byB0aGUgR3N0V2xXaW5kb3cgYW5kIG1ha2UgaXQgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkCgoyMDE0LTA1LTI2IDEyOjU0OjEwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGNsZWFudXAgR3N0V2xXaW5kb3cgYSBiaXQgYWZ0ZXIgdGhlIG92ZXJsYXlpbmcgc2VtYW50aWNzIGNoYW5nZQoJICAqIG93bl9zdXJmYWNlIGlzIG5vdCBuZWVkZWQgYW55bW9yZQoJICAqIGdzdF93bF93aW5kb3dfZnJvbV9zdXJmYWNlIGlzIG5vdCB1c2VkIGV4dGVybmFsbHkgYW55bW9yZQoJICAqIG1hbnkgaW5pdGlhbGl6YXRpb25zIHRvIDAgYXJlIG5vdCBuZWVkZWQgKEdPYmplY3QgZG9lcyB0aGVtKQoKMjAxNC0wNS0yNiAxMTozNDo1MSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiByZW1vdmUgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZSgpCgkgIE5vdCBuZWVkZWQgYW55bW9yZSwgc2luY2Ugd2UgdXNlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlKCkKCjIwMTQtMDUtMjMgMTg6MTg6MzIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBjcmVhdGUgYW5kIG1haW50YWluIHRoZSBzdWJzdXJmYWNlIGluc2lkZSB0aGUgc2luawoJICBUaGlzIG1lYW5zIHRoYXQgdGhlIGdpdmVuIHN1cmZhY2UgaW4gc2V0X3dpbmRvd19oYW5kbGUgY2FuIG5vdyBiZQoJICB0aGUgd2luZG93J3MgdG9wLWxldmVsIHN1cmZhY2Ugb24gdG9wIG9mIHdoaWNoIHdheWxhbmRzaW5rIGNyZWF0ZXMKCSAgaXRzIG93biBzdWJzdXJmYWNlIGZvciByZW5kZXJpbmcgdGhlIHZpZGVvLgoJICBUaGlzIGhhcyBtYW55IGFkdmFudGFnZXM6CgkgICogV2UgY2FuIG1haW50YWluIGFzcGVjdCByYXRpbyBieSBvdmVybGF5aW5nIHRoZSBzdWJzdXJmYWNlIGluCgkgIHRoZSBjZW50ZXIgb2YgdGhlIGdpdmVuIGFyZWEgYW5kIGZpbGwgdGhlIHBhcmVudCBzdXJmYWNlJ3MgYXJlYQoJICBibGFjayBpbiBjYXNlIHdlIG5lZWQgdG8gZHJhdyBib3JkZXJzIChpbnN0ZWFkIG9mIGFkZGluZyBhbm90aGVyCgkgIHN1YnN1cmZhY2UgaW5zaWRlIHRoZSBzdWJzdXJmYWNlIGdpdmVuIGZyb20gdGhlIGFwcGxpY2F0aW9uLAoJICBzbywgbGVzcyBzdWJzdXJmYWNlcykKCSAgKiBXZSBjYW4gbW9yZSBlYXNpbHkgc3VwcG9ydCB0b29sa2l0cyB3aXRob3V0IHN1YnN1cmZhY2VzIChzZWUgZ3RrKQoJICAqIFdlIGNhbiBnZXQgcHJvcGVybHkgdXNlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlCgkgIGFzIG91ciBhcGkgdG8gc2V0IHRoZSB2aWRlbyBhcmVhIHNpemUgZnJvbSB0aGUgYXBwbGljYXRpb24gYW5kCgkgIHRoZXJlZm9yZSByZW1vdmUgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZS4KCjIwMTQtMDUtMjMgMTM6MDk6MjcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogYWRkIHB1YmxpYyBBUEkgZm9yIGNyZWF0aW5nICYgdXNpbmcgdGhlIGRpc3BsYXkgaGFuZGxlIEdzdENvbnRleHQKCjIwMTQtMDUtMjEgMTg6Mjc6MjggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiBnZXQgdGhlIGV4dGVybmFsIGRpc3BsYXkgaGFuZGxlIHVzaW5nIEdzdENvbnRleHQKCSAgVGhpcyBkcm9wcyB0aGUgdWdseSBHc3RXYXlsYW5kV2luZG93SGFuZGxlIHN0cnVjdHVyZSBhbmQgaXMgbXVjaAoJICBtb3JlIGVsZWdhbnQgYmVjYXVzZSB3ZSBjYW4gbm93IHJlcXVlc3QgdGhlIGRpc3BsYXkgc2VwYXJhdGVseQoJICBmcm9tIHRoZSB3aW5kb3cgaGFuZGxlLiBUaGVyZWZvcmUgdGhlIHdpbmRvdyBoYW5kbGUgY2FuIGJlIHJlcXVlc3RlZAoJICBpbiByZW5kZXIoKSwgaS5lLiB3aGVuIGl0IGlzIHJlYWxseSBuZWVkZWQgYW5kIHdlIGNhbiBzdGlsbCBvcGVuCgkgIHRoZSBjb3JyZWN0IGRpc3BsYXkgZm9yIGdldHRpbmcgY2FwcyBhbmQgY3JlYXRpbmcgdGhlIHBvb2wgZWFybGllci4KCSAgVGhpcyBjaGFuZ2UgYWxzbyBzZXBhcmF0ZXMgc2V0dGluZyB0aGUgd2xfc3VyZmFjZSBmcm9tIHNldHRpbmcgaXRzIHNpemUuCgkgIEFwcGxpY2F0aW9ucyBzaG91bGQgZG8gdGhhdCBieSBjYWxsaW5nIHR3byBmdW5jdGlvbnMgaW4gc2VxdWVuY2U6CgkgIGdzdF92aWRlb19vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlIChvdmVybGF5LCBzdXJmYWNlKTsKCSAgZ3N0X3dheWxhbmRfdmlkZW9fc2V0X3N1cmZhY2Vfc2l6ZSAob3ZlcmxheSwgdywgaCk7CgoyMDE0LTA1LTIxIDEzOjE0OjE1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGRyb3Agd2lkdGgvaGVpZ2h0IGFyZ3VtZW50cyBmcm9tIGdzdF93bF93aW5kb3dfbmV3X2Zyb21fc3VyZmFjZSgpCgoyMDE0LTA1LTIyIDEwOjEwOjUxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGFkZCBHX0JFR0lOL0VORF9ERUNMUyBvbiBhbGwgaGVhZGVycyBmb3IgY29uc2lzdGVuY3kKCjIwMTQtMDUtMjEgMTI6NTg6MTAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGFzc2VydGlvbiBmYWlsdXJlIHdoZW4gc3RvcHBpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRpbmcsIHdpdGhvdXQgZGlzcGxheWluZyBhbnl0aGluZwoJICBUaGlzIHdhcyB0cmlnZ2VyZWQgaW4gc2NlbmFyaW9zIGxpa2UKCSAgZmlsZXNyYyBsb2NhdGlvbj1ub25leGlzdGVudF9maWxlICEgZGVjb2RlYmluICEgd2F5bGFuZHNpbmsKCjIwMTQtMDUtMjEgMTE6NTU6NDUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbms6IFVwZGF0ZSB3bF9zY2FsZXIgdG8gdmVyc2lvbiAyCgoyMDE0LTA1LTIwIDE5OjA0OjE2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQvTWFrZWZpbGUuYW06IGxpbmsgd2l0aCBnc3R2aWRlbyB0byBhdm9pZCBpbnRyb3NwZWN0aW9uIGVycm9ycwoKMjAxNC0wNS0yMCAxOTowMzozOSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kc2luay9NYWtlZmlsZS5hbTogRml4IHNjYWxlci1jbGllbnQtcHJvdG9jb2wuaCBnZW5lcmF0aW9uCgoyMDE0LTAzLTEzIDEzOjEzOjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxNC0wMy0xMiAxOToyNTowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIGxpc3QKCjIwMTQtMDMtMTIgMTc6MDM6MTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbmsvd2xkaXNwbGF5OiBiaW5kIHRvIHRoZSBsYXRlc3QgYXZhaWxhYmxlIHdsX2NvbXBvc2l0b3IgdmVyc2lvbgoKMjAxNC0wMy0xMiAxNDoyODo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBjcmVhdGUvZGVzdHJveSB0aGUgZGlzcGxheSB3aGVuIGVudGVyaW5nL2xlYXZpbmcgdGhlIFJFQURZIHN0YXRlIGluc3RlYWQgb2YgUEFVU0VECgkgIFRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIGdldCB0aGUgbmVnb3RpYXRpb24gd29ya2luZyB3aXRoIHRoZSBkeW5hbWljCgkgIGRldGVjdGlvbiBvZiBmb3JtYXRzIGZyb20gdGhlIGRpc3BsYXksIGJlY2F1c2UgdGhlIHBpcGVsaW5lIG5lZWRzCgkgIHRvIGtub3cgdGhlIHN1cHBvcnRlZCBmb3JtYXRzIGluIHRoZSBSRUFEWSBzdGF0ZSBhbmQgdGhlIHN1cHBvcnRlZAoJICBmb3JtYXRzIGNhbiBvbmx5IGJlIGtub3duIGlmIHdlIG9wZW4gdGhlIGRpc3BsYXkuCgkgIFVuZm9ydHVuYXRlbHksaW4gd2F5bGFuZCB3ZSBjYW5ub3QgaGF2ZSBhIHNlcGFyYXRlIGNvbm5lY3Rpb24gdG8KCSAgdGhlIGRpc3BsYXkgZnJvbSB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24sIHNvIHdlIG5lZWQgdG8gYXNrIGZvciBhCgkgIHdpbmRvdyBoYW5kbGUgd2hlbiBnb2luZyB0byBSRUFEWSBpbiBvcmRlciB0byBnZXQgdGhlIGRpc3BsYXkgZnJvbSBpdC4KCSAgQW5kIHNpbmNlIGl0J3MgdG9vIGVhcmx5IHRvIGNyZWF0ZSBhIHRvcCBsZXZlbCB3aW5kb3cgZnJvbSB0aGUgc3RhdGUKCSAgY2hhbmdlIHRvIFJFQURZLCBjcmVhdGUgaXQgaW4gcmVuZGVyKCkgd2hlbiB0aGVyZSBpcyBubyBvdGhlciB3aW5kb3cuCgkgIFRoaXMgYWxzbyBjaGFuZ2VzIHNldF93aW5kb3dfaGFuZGxlKCkgdG8gbm90IHN1cHBvcnQgd2luZG93IGhhbmRsZQoJICBjaGFuZ2VzIGluIFBBVVNFRC9QTEFZSU5HIChiZWNhdXNlIGl0J3MgY29tcGxleCB0byBoYW5kbGUgYW5kIHVzZWxlc3MKCSAgaW4gcHJhY3RpY2UpIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGVyZSBpcyBhbHdheXMgYSB2YWxpZCBkaXNwbGF5IHBvaW50ZXIKCSAgYXJvdW5kIGluIHRoZSBSRUFEWSBzdGF0ZS4KCjIwMTQtMDMtMTIgMTQ6MTM6NDkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogU3VwcG9ydCBhbGwgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIGRpc3BsYXkKCjIwMTQtMDMtMTIgMTM6NTQ6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGNyYXNoIGluIGNhc2UgdGhlcmUgaXMgbm8gcG9vbCBiZWNhdXNlIG9mIGEgY2FwcyBuZWdvdGlhdGlvbiBlcnJvcgoKMjAxNC0wMy0xMSAxOTo0Nzo1MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBzZXQgYW4gZW1wdHkgaW5wdXQgcmVnaW9uIG9uIHRoZSB2aWRlbyBzdXJmYWNlCgoyMDE0LTAzLTExIDE5OjQ2OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IHJldXNlIGNvZGUgYmV0d2VlbiB0aGUgdHdvIGNvbnN0cnVjdG9ycwoKMjAxNC0wMy0xMSAxODo0NToyMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBpbmNyZWFzZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxNC0wMy0xMSAxNzo0ODo0NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBVc2UgYSBib29sZWFuIGluIGNvbWJpbmF0aW9uIHdpdGggcmVuZGVyX2NvbmQgdG8gY29tcGx5IHdpdGggR0NvbmQncyB1c2FnZSBkb2N1bWVudGF0aW9uCgoyMDE0LTAzLTExIDE3OjQ1OjA1ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IEltcGxlbWVudCBleHBvc2UoKSBhbmQgaGFuZGxlIHJlc2l6aW5nIHByb3Blcmx5IGluIG5vbi1QTEFZSU5HIHN0YXRlcwoKMjAxNC0wMy0xMSAxMzoxNDowMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IFVzZSB3bF9zY2FsZXIvd2xfdmlld3BvcnQgdG8gc2NhbGUgdGhlIHN1cmZhY2UgaW4gdGhlIGNvbXBvc2l0b3IvaGFyZHdhcmUKCjIwMTQtMDMtMTEgMTM6MDU6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kLy5naXRpZ25vcmU6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJICB3YXlsYW5kc2luazogQnVpbGQgYmluZGluZ3MgZm9yIHRoZSB1bnN0YWJsZSB3bF9zY2FsZXIgc3BlYwoKMjAxNC0wMy0xMCAxMzo1MDowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBTZXQgZXh0ZXJuYWwgc3VyZmFjZXMgYW5kIHRoZWlyIGNoaWxkIG9iamVjdHMgdG8gdXNlIG91ciBvd24gZXZlbnQgcXVldWUKCSAgVGhpcyBmaXhlcyB3ZWlyZCBmcmVlemVzIGJlY2F1c2Ugb2YgZnJhbWVfcmVkcmF3X2NhbGxiYWNrKCkgbm90IGJlaW5nCgkgIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZCB3aGVuIGl0IHNob3VsZCB3aXRoIHdlc3RvbidzIHRveSB0b29sa2l0LgoJICBJdCdzIGFsc28gc2FmZXIgdG8ga25vdyB0aGF0IGZyYW1lX3JlZHJhd19jYWxsYmFjaygpIHdpbGwgYWx3YXlzIGJlCgkgIGNhbGxlZCBmcm9tIG91ciBkaXNwbGF5IHRocmVhZC4uLiBPdGhlcndpc2UgaXQgY291bGQgYmUgY2FsbGVkIGFmdGVyCgkgIHRoZSBzaW5rIGhhcyBiZWVuIGRlc3Ryb3llZCBmb3IgZXhhbXBsZS4KCjIwMTQtMDMtMDcgMTc6MjU6MDAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogV2FpdCBmb3IgdGhlIGZyYW1lX2NiIHRvIHJlZHJhdyBhbmQgZHJvcCBmcmFtZXMgbWVhbndoaWxlCgkgIFdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gcmVkcmF3IHVudGlsIHdlIHJlY2VpdmUgYSBmcmFtZSBjYWxsYmFjayBhbmQgdGhpcwoJICBpcyBlc3BlY2lhbGx5IHVzZWZ1bCB0byBhdm9pZCBhbGxvY2F0aW5nIHRvbyBtYW55IGJ1ZmZlcnMgd2hpbGUgdGhlCgkgIHdpbmRvdyBpcyBub3QgdmlzaWJsZSwgYmVjYXVzZSB0aGUgY29tcG9zaXRvciBtYXkgbm90IGNhbGwgd2xfYnVmZmVyLnJlbGVhc2UKCSAgdW50aWwgdGhlIHdpbmRvdyBiZWNvbWVzIHZpc2libGUgKG9rLCB0aGlzIGlzIGEgd2F5bGFuZCBidWcsIGJ1dC4uLikuCgoyMDE0LTAzLTA3IDE2OjE2OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IEhhbmRsZSB3bF9idWZmZXI6OnJlbGVhc2UgYW5kIGRvbid0IHJldXNlIGJ1ZmZlcnMgdGhhdCBhcmUgbm90IHJlbGVhc2VkCgkgIFRoaXMgaXMgYWNoaWV2ZWQgYnkgYWRkaW5nIGFuIGV4dHJhIHJlZmVyZW5jZSBvbiB0aGUgYnVmZmVycywgd2hpY2ggZG9lcwoJICBub3QgYWxsb3cgdGhlbSB0byByZXR1cm4gdG8gdGhlIHBvb2wuIFdoZW4gdGhleSBhcmUgcmVsZWFzZWQsIHRoaXMgcmVmZXJlbmNlCgkgIGlzIGRyb3BwZWQuCgkgIFRoZSByZXN0IGNvbXBsZXhpdHkgb2YgdGhpcyBwYXRjaCAoaGFzaCB0YWJsZSwgbXV0ZXgsIGZsYWcsIGV4cGxpY2l0IHJlbGVhc2UgY2FsbHMpCgkgIG1lcmVseSBleGlzdHMgdG8gYWxsb3cgYSBzYWZlLCBndWFyYW50ZWVkIGFuZCBkZWFkbG9jay1mcmVlIGRlc3RydWN0aW9uIHNlcXVlbmNlLgoJICBTZWUgdGhlIGFkZGVkIGNvbW1lbnQgb24gZ3N0d2F5bGFuZHNpbmsuYyBmb3IgZGV0YWlscy4KCjIwMTQtMDMtMDYgMTc6MDM6NTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVtb3ZlIHVzZWxlc3MgbXVubWFwIGNhbGwKCSAgVGhpcyBkYXRhIHBvaW50ZXIgaXMgcGFydCBvZiBhIGJpZ2dlciBtbWFwJ2VkIHJlZ2lvbiwKCSAgaXQgaGFzIG5vdCBiZWVuIHJldHVybmVkIGZyb20gbW1hcCBpdHNlbGYuCgoyMDE0LTAyLTI4IDEzOjM3OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGNhbGwgdGhlIHN0YXJ0L3N0b3AgbWV0aG9kcyBvZiB0aGUgcGFyZW50IGNsYXNzCgkgIHN0YXJ0KCkgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGFtbW91bnQgb2YgYnVmZmVycyByZXF1ZXN0ZWQgaXMgYWxsb2NhdGVkLgoJICBzdG9wKCkgbWFrZXMgc3VyZSB0aGF0IGJ1ZmZlcnMgYXJlIGFjdHVhbGx5IGRlc3Ryb3llZCBhbmQgcHJldmVudHMKCSAgZmlsbGluZyB0aGUgZmlsZSBzeXN0ZW0gd2hlbiByZXNpemluZyB0aGUgc3VyZmFjZSBhIGxvdCwgYmVjYXVzZSB0aGUKCSAgd2F5bGFuZC1zaG0tKiBmaWxlcyB3aWxsIHN0YXkgb24gdGhlIGZpbGUgc3lzdGVtIGFzIGxvbmcgYXMgdGhlIHdsX2J1ZmZlcnMKCSAgY3JlYXRlZCBvdXQgb2YgdGhlbSBhcmUgYWxpdmUuCgoyMDE0LTAyLTI4IDEzOjM2OjQzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHVubGluayBtbWFwZWQgc2htIGZpbGVzIHNvIHRoYXQgdGhleSBkb24ndCByZW1haW4gb24gdGhlIGZpbGUgc3lzdGVtCgoyMDE0LTAyLTI4IDExOjQ4OjMwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogaW1wbGVtZW50IHRoZSBHc3RWaWRlb092ZXJsYXkgJiBHc3RXYXlsYW5kVmlkZW8gaW50ZXJmYWNlcwoJICBUaGlzIGlzIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCB3aXRob3V0IHRoZSBHc3RWaWRlb092ZXJsYXkuZXhwb3NlKCkKCSAgbWV0aG9kLiBJdCBvbmx5IGltcGxlbWVudHMgdXNpbmcgYW4gZXh0ZXJuYWwgKHN1YilzdXJmYWNlIGFuZCByZXNpemluZwoJICBpdCB3aXRoIEdzdFdheWxhbmRWaWRlby4KCjIwMTQtMDItMTQgMTY6MDg6NTYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGltcGxlbWVudCB3aXRoIHN0dWJzIHRoZSBHc3RXYXlsYW5kVmlkZW8gJiBHc3RWaWRlb092ZXJsYXkgaW50ZXJmYWNlcwoKMjAxMy0wNS0wNiAxMzoxNjowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IEFkZCBuZXcgZ3N0LXdheWxhbmQgbGlicmFyeSBjb250YWluaW5nIGEgbmV3IEdzdFdheWxhbmRWaWRlbyBpbnRlcmZhY2UKCSAgVGhpcyBpbnRlcmZhY2UgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gZW1iZWQgd2F5bGFuZHNpbmsgaW50bwoJICBvdGhlciB3YXlsYW5kIHN1cmZhY2VzLiBEdWUgdG8gdGhlIHNwZWNpYWwgbmF0dXJlIG9mIHdheWxhbmQsCgkgIEdzdFZpZGVvT3ZlcmxheSBpcyBub3QgZW5vdWdoIGZvciB0aGlzIGpvYi4KCjIwMTQtMDItMjYgMTg6MzU6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiBoYW5kbGUgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMgcHJvcGVybHkKCSAgZW51bSB3bF9zaG1fZm9ybWF0IGlzIG5vdCBhIGZsYWdzIGVudW0sIGFzIGl0IG1heSBoYXZlIGJlZW4gaW4gdGhlIHBhc3QsCgkgIHNvIG11bHRpcGxlIGZvcm1hdHMgY2Fubm90IGJlIHN0b3JlZCBpbiBhIGJpdGZpZWxkLiBVc2UgYW4gYXJyYXkgaW5zdGVhZC4KCjIwMTQtMDItMjYgMTc6NDE6MTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkgIHdheWxhbmRzaW5rL3dsdmlkZW9mb3JtYXQ6IGFkZCBtYXBwaW5ncyBmb3IgbWFueSBjb21tb24gZm9ybWF0cwoKMjAxNC0wMi0yNiAxNjoyMDo0MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiB1bnJlZiB0aGUgYnVmZmVyIHBvb2wKCjIwMTQtMDItMjYgMTY6MTE6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVmIHRoZSBkaXNwbGF5IGluc3RlYWQgb2YgdGhlIHNpbmsgdG8gYXZvaWQgY3ljbGljIHJlZmVyZW5jZXMKCSAgVGhlIHJlZmVyZW5jZSB0byB0aGUgc2luayBpcyBub3QgcmVhbGx5IG5lZWRlZCBhbnl3YXkgaW4gd2F5bGFuZHBvb2wsCgkgIHdoYXQgbWF0dGVycyBiYXNpY2FsbHkgaXMgdGhhdCB0aGUgZGlzcGxheSBpcyBhY3RpdmUgYXMgbG9uZyBhcyB0aGUKCSAgcG9vbCBpcyBhY3RpdmUsIHNvIHdlIHJlYWxseSB3YW50IHRvIHJlZmVyZW5jZSB0aGUgZGlzcGxheSBvYmplY3QKCSAgaW5zdGVhZCBvZiB0aGUgc2luay4KCjIwMTQtMDItMjYgMTQ6NTY6MjEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogbWFrZSB0aGUgZGlzcGxheSBwcm9wZXJ0eSB1c2VmdWwKCSAgTGV0IHRoZSBkaXNwbGF5IHByb3BlcnR5IGNvbnRyb2wgdGhlIG5hbWUgb2YgdGhlIGRpc3BsYXksCgkgIGxpa2UgaW4geCh2KWltYWdlc2luay4KCjIwMTQtMDItMTQgMTc6MjA6NDIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogYWNjZXNzIHNpbmstPnBvb2wgaW4gYSBtb3JlIGF0b21pYyBmYXNoaW9uCgoyMDE0LTAyLTE0IDE2OjMzOjEwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgdXNlbGVzcyB3YXlsYW5kX2xvY2sKCjIwMTQtMDItMTMgMTM6Mjg6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogYXBwbHkgdGhlIHNhbWUgZGVidWcgY2F0ZWdvcnkgdG8gYWxsIHRoZSBzdWJvYmplY3RzCgoyMDE0LTAyLTEzIDEzOjE1OjMxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IGNsZWFudXAgaGVhZGVyIGluY2x1ZGVzCgoyMDE0LTAyLTEzIDExOjU5OjQ1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBzcGxpdCB3aW5kb3ctcmVsYXRlZCBjb2RlIG91dCB0byBhIG5ldyBHc3RXbFdpbmRvdyBjbGFzcwoJICBHc3RXbFdpbmRvdyBhbHNvIGhhcyBBUEkgcmVhZHkgdG8gc3VwcG9ydCBzdWJzdXJmYWNlcy4KCjIwMTQtMDItMTMgMTE6MzI6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIGNhbGxiYWNrIGFuZCByZWRyYXdfcGVuZGluZyB2YXJpYWJsZXMgZnJvbSB0aGUgd2luZG93IHN0cnVjdHVyZQoKMjAxNC0wMi0xMyAxMDo1MTo1OSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBpbXByb3ZlIGRlYnVnIG1lc3NhZ2UKCjIwMTQtMDItMTMgMTA6Mzc6MDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogZmluZCB0aGUgdmlkZW8gZm9ybWF0IGZyb20gdGhlIEdzdFZpZGVvSW5mbyBpbnN0ZWFkIG9mIGFjY2Vzc2luZyB0aGUgc2luawoJICBGb3IgdGhlIHNha2Ugb2YgaXNvbGF0aW9uIG9ubHkuIFRoZSBmb3JtYXQgc2hvdWxkIGJlIHRoZSBzYW1lLgoKMjAxNC0wMi0xMyAxMDoyOTowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZWZhY3RvciBjb2RlCgkgICogbWFrZSB1c2Ugb2YgR3N0QnVmZmVyUG9vbDo6c3RhcnQvc3RvcCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUvZGVhbGxvY2F0ZSBtZW1vcnkKCSAgKiBnZXQgcmlkIG9mIHN0cnVjdCBzaG1fcG9vbCBhbmQgZG8gYWxsIG9wZXJhdGlvbnMgY2xlYW5seSBpbnNpZGUgV2F5bGFuZEJ1ZmZlclBvb2wKCSAgKiBzdG9yZSBhIEdzdFZpZGVvSW5mbyBkdXJpbmcgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSB3aWR0aCAmIGhlaWdodAoJICBhbmQgdXNlIHRoZSBzdHJpZGUgZnJvbSB0aGUgdmlkZW8gaW5mbyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgaXRzIHZhbHVlCgoyMDE0LTAyLTEzIDEwOjAyOjU0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJICB3YXlsYW5kc2luazogc3BsaXQgdmlkZW8gZm9ybWF0IHJlbGF0ZWQgZnVuY3Rpb25zIG91dCB0byBhIHNlcGFyYXRlIGZpbGUKCjIwMTQtMDItMTIgMTU6MTY6MDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogbW92ZSBjb2RlIGFyb3VuZCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5CgoyMDE0LTAyLTEyIDE0OjQxOjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IG1vdmUgc3RydWN0IHNobV9wb29sIGFuZCBpdHMgcmVsYXRlZCBmdW5jdGlvbnMgdG8gd2F5bGFuZHBvb2wuYwoJICBBbmQgYWxzbyBtYWtlIHRoZSBpbnN0YW5jZSBvZiB0aGlzIHN0cnVjdCB0byBiZSBvd25lZCBieSB0aGUgYnVmZmVyCgkgIHBvb2wgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCwgZm9yIHRoZSBzYWtlIG9mIGlzb2xhdGlvbgoKMjAxMy0wNS0xNCAxOTozNTozMyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rOiBVc2UgWERHX1JVTlRJTUVfRElSIGluc3RlYWQgb2YgL3RtcCBmb3IgdGhlIHNobSBmaWxlCgoyMDE0LTAyLTEyIDE0OjE1OjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTAyLTEyIDExOjI4OjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHByb2Nlc3MgZGlzcGxheSBldmVudHMgaW4gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSBkaXNwbGF5LXJlbGF0ZWQgY29kZSBpbnRvIGEgbmV3IEdzdFdsRGlzcGxheSBjbGFzcywKCSAgd2hpY2ggdGFrZXMgY2FyZSBvZiB0aGUgbmV3IHRocmVhZAoKMjAxNC0wMi0wNCAxNjozMjozMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiB0aWR5IHVwIHRoZSBoZWFkZXIgZmlsZXMKCjIwMTQtMDYtMTIgMTY6Mzg6MzUgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSAgcG5tZGVjOiB1c2UgR3N0VmlkZW9EZWNvZGVyIENsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE0MDAKCjIwMTQtMDYtMTYgMDc6NDI6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3Qgb3ZlcndyaXRlIG9yaWdpbmFsIHNlZWsgdmFsdWUKCSAgSW4gYWNjdXJhdGUgbW9kZSwgd2UnbGwgYmUgdXNpbmcgc3RhcnQgdG8gZmlsbCBpbiB0aGUgc2VlayBzZWdtZW50LAoJICB0aGVyZWZvcmUgZG9uJ3Qgb3ZlcndyaXRlIGl0IHdpdGggdGhlIHNoaWZ0ZWQgc2VlayBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTY5OAoKMjAxNC0wNi0xNSAxNToxODo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc2lsZW5jZSBpbmNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cyBpbiBmb3JtYXQgd2FybmluZwoKMjAxNC0wNi0xNSAxNToxNzowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbGRvd25sb2FkOiBwbHVnIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDYtMTUgMTM6NTk6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHdpcmUgdXAgdGhlIGFscGhhIHBhZCBwcm9wZXJ0eQoKMjAxNC0wNi0xNSAxMzo0NDowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc3VwcG9ydCBpbnB1dCBmcmFtZSBzY2FsaW5nCgoyMDE0LTA2LTE1IDEyOjI2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGFkZCBwb3NpdGlvbmluZyBvZiBpbnB1dCBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3OTgKCjIwMTQtMDYtMTUgMTI6MjQ6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogYWxsb3cgdGhlIHN1YmNsYXNzIHRvIGNob29zZSB0aGUgc2luayBwYWQgdHlwZQoJICBBbGxvd3MgY3VzdG9tIHByb3BlcnRpZXMgdG8gYmUgcGxhY2VkIG9uIHRoZSBzaW5rIHBhZHMgYnkgc3ViY2xhc3NlcwoKMjAxNC0wNi0xMyAxMTo0NjoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGxpdmU6IGhhbmRsZSBwY3IvZHRzIGRpc2NyZXBhbmNpZXMgc29tZSBtb3JlCgkgIFdoZW4gd3JhcG92ZXIvcmVzZXQgb2NjdXIsIHdlIGVuZCB1cCB3aXRoIGEgc21hbGwgd2luZG93IG9mIHRpbWUgd2hlcmUKCSAgdGhlIFBUUy9EVFMgd2lsbCBzdGlsbCBiZSB1c2luZyB0aGUgcHJldmlvdXMvbmV4dCB0aW1lLXJhbmdlLgoJICBJbiBvcmRlciBub3QgdG8gcmV0dXJuIGJvZ3VzIHZhbHVlcywgcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUgaWYgdGhlCgkgIFBUUy9EVFMgdmFsdWUgdG8gY29udmVydCBkaWZmZXJzIGJ5IG1vcmUgdGhhbiAxNXMgYWdhaW5zdCB0aGUgbGFzdCBzZWVuCgkgIFBDUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDE0LTA2LTEzIDEwOjM3OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHdyYXBhcm91bmQgZGV0ZWN0aW9uIGlzc3VlCgkgIFVzaW5nIDMyYml0IHVuc2lnbmVkIHZhbHVlcyBmb3IgY29ycmVjdGVkIHBjci9vZmZzZXQgbWVhbnQgdGhhdCB3ZQoJICBwb3RlbnRpYWxseSBlbmRlZCB1cCBpbiBib2d1cyB2YWx1ZXMKCSAgRnVydGhlcm1vcmUsIHJlZnBjciAtIHJlZnBjcm9mZnNldCBjb3VsZCBlbmQgdXAgYmVpbmcgbmVnYXRpdmUsIHdoaWNoCgkgIFBDUlRJTUVfVE9fR1NUVElNRSgpIGNhbid0IGhhbmRsZSAoYW5kIHJldHVybmVkIGEgbWFzc2l2ZSBwb3NpdGl2ZSB2YWx1ZSkKCjIwMTQtMDYtMTMgMTE6MjY6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdzdGVnbGltYWdlbWVtb3J5CgoyMDE0LTA2LTEzIDA5OjU1OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnbGZyYW1lYnVmZmVyIG9iamVjdAoKMjAxNC0wNi0xMyAwOTo1MjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtaXNjIGFkZHMgZm9yIGdsIGZ1bmN0aW9ucwoKMjAxNC0wNi0xMyAwOTo0MTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ2x1cGxvYWRtZXRhIG9iamVjdAoKMjAxNC0wNi0xMyAwOTozMjo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiB1cGRhdGUgZm9yIHNvbWUgZ2wgZnVuY3Rpb24gbmFtZSBjaGFuZ2VzCgoyMDE0LTA2LTEyIDIzOjE0OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSAgZ2xmaWx0ZXJhcHA6IGFjdHVhbGx5IGVtaXQgdGhlIGNsaWVudC1kcmF3IHNpZ25hbAoKMjAxNC0wNi0xMiAyMzoxMzoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZm9yIFRFWFRVUkVfMkQgY2hhbmdlCgoyMDE0LTA1LTMwIDE2OjUyOjA5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IGltcGxlbWVudCBwcm9wZXIgc2Vla2luZyBmb3IgaDI2NCBzdHJlYW1zLgoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBGcm9tIGEgaGlnaCBsZXZlbCBwZXJzcGVjdGl2ZSwgdGhlIG5ldyBwcm9jZXNzIGZvciBzZWVraW5nIGgyNjQKCSAgc3RyZWFtcyBpcyBhcyBmb2xsb3dzOgoJICAxKSBSZXdpbmQgdGhlIHN0cmVhbSB1bnRpbCB3ZSBmaW5kIHRoZSBmaXJzdCBJLXNsaWNlIG9mIGEgZnJhbWUsCgkgIGFuZCBtYXJrIGl0cyBvZmZzZXQgaW4gdGhlIHN0cmVhbS4KCSAgMikgUmV3aW5kIHRoZSBzdHJlYW0gdW50aWwgd2UgZmluZCBTUFMgYW5kIFBQUyBpbmZvcm1hdGlvbnMsCgkgIHRvIG1ha2Ugc3VyZSB0aGUgc3Vic2VxdWVudCBwYXJzZXIgaXMgdXAgdG8gZGF0ZS4KCSAgMykgQWNjdW11bGF0ZSBvcHRpb25uYWwgU0VJIE5BTCB1bml0cyBvbiB0aGUgd2F5LgoJICA0KSBQdXNoIHRoZSBTUFMsIFBQUyBhbmQgU0VJIHVuaXRzIGJlZm9yZSB0aGUgbmV3IGtleWZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTMyCgoyMDE0LTA2LTEyIDEwOjE0OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG8gbm90IHRyeSB0byBjbG9zZSBuZWdhdGl2ZSBmaWxlIGRlc2NyaXB0b3JzCgkgIEludGVyZXN0aW5nbHksIENvdmVyaXR5IGltcGxpZXMgdGhhdCBjbG9zZSB0YWtlcyBhbiB1bnNpZ25lZAoJICBhcmd1bWVudCwgd2hpbGUgbXkgY2xvc2UoMikgbWFuIHBhZ2Ugc2hvd3MgaXQgdGFraW5nIGEgc2lnbmVkCgkgIGFyZ3VtZW50LiBJIGd1ZXNzIGl0IG1heSBiZSBwbGF0Zm9ybXMgc3BlY2lmaWMuCgkgIENvdmVyaXR5IDEyMTQ2MDIKCjIwMTQtMDYtMTIgMTA6MTc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBmaXggYnVpbGQgd2l0aCBHTGliIDIuMzIKCSAgUHJvdmlkZSBpbnRlcm5hbCBjb3B5IG9mIGdfbGlzdF9jb3B5X2RlZXAoKSB1bnRpbCB3ZQoJICBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTU1CgoyMDE0LTA2LTEyIDEwOjAwOjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGJhaWwgb3V0IGVhcmx5IHdoZW4gYnl0ZXMgcGVyIHNhbXBsZSBpcyBub3Qgc2V0CgkgIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzZXQgZm9yIHZhbGlkIGZpbGVzIHdoZW4gd2UgZ2V0IHRoZXJlLAoJICBhbmQgY2hlY2tpbmcgdGhpcyBhdm9pZHMgaGF2aW5nIGFkIGhvYyBjaGVja3MgZnVydGhlciBkb3duCgkgIGluIHNldmVyYWwgcGxhY2VzLgoJICBDb3Zlcml0eSAxMTM5Njk4CgoyMDE0LTA2LTExIDE1OjExOjQwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHF1YW50aXphdGlvbiBtYXRyaXggY29udmVyc2lvbiByb3V0aW5lIG5hbWVzLgoJICBGaXggcm91dGluZSBuYW1lcyBmb3IgemlnemFnL3Jhc3RlciBzY2FuIG9yZGVyIGNvbnZlcnNpb24gcm91dGluZXMgZm9yCgkgIHF1YW50aXphdGlvbiBtYXRyaWNlcy4gVGhpcyBvdWdodCB0byB1c2UgdGhlIGdzdF9oMjY0X3F1YW50X21hdHJpeF8qKCkKCSAgbmFtaW5nIGNvbnZlbnRpb24gaW5zdGVhZCBvZiBnc3RfaDI2NF92aWRlb19xdWFudF9tYXRyaXhfKigpLCB3aGljaAoJICBkZXJpdmVkIGZyb20gdGhlIE1QRUctMiBmdW5jdGlvbiBuYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA1LTI2IDE4OjI5OjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBhZGQgQysrIGd1YXJkcyBmb3IgTVBFRy00IGFuZCBWUDggcGFyc2Vycy4KCSAgRml4IE1QRUctNCBhbmQgVlA4IEFQSXMgdG8gZXhwb3J0IHRoZWlyIGV4dGVybmFsIHN5bWJvbHMgYXMgcHVyZSBDCgkgIHN5bWJvbHMsIGkuZS4gdW4tbWFuZ2xlZCBmb3IgQysrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTIyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMTIgMTQ6NTg6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogc2VuZCB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIGFuZCB0aGUgY2FwcyBldmVudCBhZnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk0NAoKMjAxNC0wNi0xMiAxMzozNzo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZXM6IGFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUwoKMjAxNC0wNi0xMiAxMzoxNToxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiByZW1vdmUgc3B1cmlvdXMgaW5jbHVkZSBmb3IgZG91YmxlY3ViZSBleGFtcGxlCgoyMDE0LTA2LTEyIDEzOjA2OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlczogYWRkIHRoZSBzcmNkaXIgYW5kIGJ1aWxkZGlyIGluY2x1ZGVzCgkgIEFuZCByZW1vdmUgcmVmZXJlbmNlcyB0byAkKEdTVF9QTFVHSU5TX0dMXyopCgoyMDE0LTA2LTEyIDEyOjQ5OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbGZpbHRlcmFwcDogcmVtb3ZlIHRoZSByZXNoYXBlL2RyYXcgcHJvcGVydGllcwoJICBUaGUgcmVzaGFwZSBwcm9wZXJ0eSB3YXMgbmV2ZXIgdXNlZC4KCSAgUmVwbGFjZSB0aGUgZHJhdyBwcm9wZXJ0eSB3aXRoIGEgc2lnbmFsLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMTIgMTI6MTQ6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogbG9jayB0aGUgc2l6ZSBvZiBtaXgtPmZyYW1lcyB0byB0aGUgbnVtYmVyIG9mIHBhZHMKCSAgRml4ZXMgYSBzZWdmYXVsdCB3aXRoIGRlY29kZWJpbiAhIGdsbWl4ZXIgd2hlcmUgdGhlIHJlcXVlc3QgcGFkcyBvbgoJICBib3RoIHNpZGVzIHdlcmUgYmVpbmcgcmVxdWVzdGVkIGFmdGVyIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VELgoJICBBbHNvIGZpeGVzIGR5bmFtaWNhbGx5IGFkZGluZyBhbmQgcmVtb3ZpbmcgcGFkcyB3aGlsZSBnbG1peGVyIGlzCgkgIGluIGEgc3RhdGUgPj0gUEFVU0VELgoKMjAxNC0wNi0xMiAxMjowOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJICBnbC9leGFtcGxlczogUG9ydCB0byB1c2luZyBzaWduYWxzIGluc3RlYWQgb2YgcHJvcGVydGllcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMDEgMTU6MDI6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVwbGFjZSBwb2ludGVyIHByb3BlcnRpZXMgd2l0aCBzaWduYWxzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0xMSAwOTozODowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgZmlyc3QgZ3JvdXAgZm9yIGhhbmRsaW5nIHJlZmVyZW5jZSBwY3IKCSAgSWYgX3NldF9jdXJyZW50X3Bjcl9vZmZzZXQgZ2V0cyBjYWxsZWQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLCB3ZSBlbmRlZAoJICB1cCB1c2luZyB0aGUgY3VycmVudCBncm91cCBmb3IgZGVsdGEgY2FsY3VsYXRpb24gLi4uIHdoZXJlYXMgd2Ugc2hvdWxkCgkgIGJlIHVzaW5nIHRoZSBmaXJzdCBncm91cCB0byBjYWxjdWxhdGUgc2hpZnRzLgoJICBBbHNvIGFkZCBhbiBlYXJseSBleGl0IGlmIHRoZXJlIGFyZSBubyBjaGFuZ2VzIHRvIGFwcGx5CgoyMDE0LTA2LTEwIDE0OjUwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgVGhlIHNlZWtzZWdtZW50IHdhcyBubyBsb25nZXIgdXNlZCBzaW5jZSB0aGUgc3dpdGNoIHRvIGNhbGN1bGF0aW5nIHNlZ21lbnRzCgkgIHdoZW4gd2Ugc2VlIGRhdGEuCgoyMDE0LTA2LTEwIDE0OjI3OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTQtMDYtMTAgMTQ6Mjc6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGR1cmF0aW9uIGV2YWx1YXRpb24gaW4gcHVzaCBtb2RlCgkgIFdoZW4gd29ya2luZyBpbiBwdXNoIG1vZGUsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBldmFsdWF0ZSB0aGUgZHVyYXRpb24KCSAgYmFzZWQgb24gYSBzaW5nbGUgZ3JvdXAgb2Ygb2JzZXJ2YXRpb25zLgoJICBUbyBkbyB0aGF0IHdlIHVzZSB0aGUgY3VycmVudCBncm91cCB2YWx1ZXMKCjIwMTQtMDYtMDIgMTE6MDc6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgZWFybHkgUFRTIGNvbnZlcnNpb24KCSAgV2hlbiBoYW5kbGluZyB0aGUgUFRTL0RUUyBjb252ZXJzaW9uIGluIG5ldyBncm91cHMsIHRoZXJlJ3MgYSBwb3NzaWJpbGl0eQoJICB0aGF0IHRoZSBQVFMgbWlnaHQgYmUgc21hbGxlciB0aGFuIHRoZSBmaXJzdCBQQ1IgdmFsdWUgb2JzZXJ2ZWQsIGR1ZSB0bwoJICByZS1vcmRlcmluZy4KCSAgV2hlbiB1c2luZyB0aGUgY3VycmVudCBncm91cCwgb25seSBhcHBseSB0aGUgd3JhcGFyb3VuZCBjb3JyZWN0aW9uIHdoZW4gd2UKCSAgYXJlIGNlcnRhaW4gaXQgaXMgb25lIChpLmUuIGRpZmZlcnMgYnkgbW9yZSB0aGFuIGEgc2Vjb25kKSBhbmQgbm90IHdoZW4gaXQncwoJICBqdXN0IGEgc21hbGwgZGlmZmVyZW5jZSAobGlrZSBvdXQtb2Ytb3JkZXIgUFRTKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA4OAoKMjAxNC0wNi0wOSAxMDoxMDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZG9uJ3QgcHJpbnQgYWxyZWFkeS1mcmVlZCBzdHJpbmcKCSAgQ0lEIDEyMjE5ODcKCjIwMTQtMDYtMDkgMTA6NTY6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IEZpeCBwb3NpdGlvbiBxdWVyeSBzb21lIG1vcmUKCSAgRm9yZ290IHRvIHJlbW92ZSBjb2RlIGluIDE2ZmQ5MTc2MzJjMDk5MjM0OWNhMjhjZjkxMDhlOTU2MmM0OTNhZDcKCSAgQ0lEICMxMTM5Njc3CgoyMDE0LTA2LTA3IDA3OjEzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgkgIFdoZW4gd2UgcmVjZWl2ZSBzdGlja3kgZXZlbnRzIGZyb20gdXBzdHJlYW0sIGFsd2F5cyByZXR1cm4gVFJVRS4KCSAgRml4ZXMgdGhlIGlzc3VlIHdoZXJlIHdlIHJlY2VpdmUgY3VzdG9tIHN0aWNreSBldmVudHMgKHN1Y2ggYXMgInVyaSIpCgkgIGFuZCBubyBwYWRzIGFyZSBjcmVhdGVkIHlldC4KCjIwMTQtMDYtMDQgMTg6MzQ6NDQgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogSW1wcm92ZSBwYXJzaW5nIHF1b3RlZCBrZXkgVVJJcyBhbmQgYXBwbHkgaXQgZm9yIEktZnJhbWUtYmFzZWQgc3RyZWFtIFVSSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODMwCgoyMDE0LTA2LTA2IDEzOjA4OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogRG9uJ3Qgc3RvcmUgdGhlIGN1cnJlbnQga2V5IGluIHRoZSBwbGF5bGlzdAoJICBJdCdzIHBlciBmcmFnbWVudCBhbmQgYXBwbHlpbmcgdG8gYWxsIGZvbGxvd2luZyBmcmFnbWVudHMKCSAgdW50aWwgdGhlIG5leHQga2V5IGlzIHNwZWNpZmllZC4KCjIwMTQtMDYtMDYgMTM6MDQ6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wNS0zMCAxNjozNDoxOCAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVsb2FkIHRoZSB2YXJpYW50IHBsYXlsaXN0IGlmIHJlZnJlc2hpbmcgYSBwbGF5bGlzdCBvciBkb3dubG9hZGluZyBhIGZyYWdtZW50IGZhaWxzCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgcGxheWxpc3RzIGhhdmUgbW92ZWQgZHVlIHRvIHRoZSB2YXJpYW50IHBsYXlsaXN0CgkgIG5vdyBiZWluZyByZWRpcmVjdGVkIHRvIGFub3RoZXIgdGFyZ2V0LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIGFzIGxvbmcKCSAgYXMgdGhlIHJlZmVyZW5jZWQgcGxheWxpc3RzIGRvbid0IGNoYW5nZSBpbiByZWxhdGlvbiB0byB0aGUgdmFyaWFudAoJICBwbGF5bGlzdCwgYW5kIHRoZSBuZXcgbG9jYXRpb24gaXMgcHVyZWx5IGR1ZSB0byBhIG5ldyBwYXRoIHRyaWdnZXJlZCBieSBhCgkgIG5ldyByZWRpcmVjdGlvbiB0YXJnZXQgb2YgdGhlIHZhcmlhbnQgcGxheWxpc3QsIG9yIGEgbmV3IHJlZGlyZWN0aW9uCgkgIHRhcmdldCBvZiB0aGUgcGxheWxpc3QgaXRzZWxmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMTY0CgoyMDE0LTA2LTA1IDE2OjQ1OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXNlIGFuIGFyYml0cmFyeSBmcmFtZXJhdGUgaWYgbm9uZSBpZiBnaXZlbgoJICBUaGUgc2Nocm8gZW5jb2RlciBhbHdheXMgcmVxdWlyZXMgYSBmcmFtZXJhdGUsIGJ1dCBzb21lIHNvdXJjZSBtYXRlcmlhbCwKCSAgc3VjaCBhcyBSVFAgZG9lc24ndCBoYXZlIGEgZml4ZWQgb25lLCBzbyBqdXN0IGZha2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNTQKCjIwMTQtMDYtMDQgMTQ6MzU6NTEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHJlZHVuZGFudCBhc3NpZ25tZW50CgoyMDE0LTA2LTA0IDAxOjAyOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaW1wcm92ZSB0aW1lb3V0IGhhbmRpbmcgYXQgbG9ja2luZyBsb29wCgkgIE5ldyBhcHByb2FjaCBhdHRlbXB0cyB0byBiZSBtb3JlIGFjY3VyYXRlIGJ5IG1lYXN1cmluZwoJICB0aGUgZWxhcHNlZCB0aW1lIGJ5IGl0ZXJhdGlvbi4gQWxzbzoKCSAgKiBVc2UgYSAxMCBzZWNvbmRzIGRlZmF1bHQgdGltZW91dCBhbmQgYSBoYWxmIGEgc2Vjb25kCgkgIHBvbGxpbmcgc3RlcC4gTmV3IHZhbHVlcyBzaG91bGQgYmV0dGVyIG1hdGNoIHRoZSB0dW5pbmcKCSAgcHJvY2VzcyBvbiByZWFsLWxpZmUgc2NlbmFyaW9zLgoJICAqIENvcnJlY3QgZWxhcHNlZF90aW1lIGNvbXB1dGF0aW9uLgoJICAqIEFkZCBfcmV0cnlfaW9jdGwoKSB0byBhdm9pZCBiYWlsaW5nIG91dCBvbiB0ZW1wb3JhcnkKCSAgaW9jdGwgRUlOVFIgZmFpbHVyZXMgKG5vIG5lZWQgdG8gY2hlY2sgZm9yIEVBR0FJTiBjYXVzZQoJICB3ZSBhcmUgb3BlbmluZyB0aGUgZnJvbnRlbmQgb24gYmxvY2tpbmcgbW9kZSkKCSAgKiBTbWFsbCBjb3JyZWN0aW9ucyB0byBmYWlsIGNvbmRpdGlvbiBoYW5kbGluZwoKMjAxNC0wNi0wNSAxODo0MzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL3dheWxhbmQ6IGNyZWF0ZSBhIGR1bW15IGRpc3BsYXkgaW5zdGVhZCBvZiBhbiBFR0xEaXNwbGF5CgkgIEN1cnJlbnRseSwgR3N0R0xXaW5kb3dXYXlsYW5kRUdMIGhvbGRzIHRoZSB3YXlsYW5kIGRpc3BsYXkgY29ubmVjdGlvbgoJICBJZiB3ZSBjcmVhdGUgdGhlIEVHTERpc3BsYXkgYXQgdGhlIEdzdERpc3BsYXkgY3JlYXRpb24gdGltZSwgdGhlbgoJICBsaWJFR0wgd2lsbCBpbnRlcm5hbGx5IG9wZW4gYW5vdGhlciBjb25uZWN0aW9uIHRvIHRoZSB3YXlsYW5kIHNlcnZlci4KCSAgVGhlc2UgdHdvIGRpc3BsYXkgY29ubmVjdGlvbnMgYXJlIHVuYWJsZSB0byBjb21tdW5pY2F0ZSByZXN1bHRpbmcgaW4KCSAgbm8gd2luZG93IG91dHB1dC9kaXNwbGF5IGFuZCBoYW5ncyBpbnNpZGUgbGliRUdMLgoJICBFdmVudHVhbGx5IHdlIHdpbGwgbW92ZSB0aGUgd2xfZGlzcGxheSBmcm9tIEdzdEdMV2luZG93IHRvIEdzdEdMRGlzcGxheS4KCjIwMTQtMDYtMDUgMDk6NDA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkgIHJ0bXA6IHByb3h5IGxvZ2dpbmcgZnJvbSBsaWJydG1wCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIHZhcmlvdXMgbGlicnRtcCBpc3N1ZXMKCjIwMTQtMDYtMDUgMDg6Mjk6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBwb3NpdGlvbiBxdWVyeWluZwoJICBJdCdzIHRoZSBwb3NpdGlvbiB3ZSdyZSBxdWVyeWluZywgbm90IHRoZSBkdXJhdGlvbiA6KQoKMjAxNC0wNi0wNCAyMTozOTo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgZXh0cmFuZW91cyBleHRyYSBwYXJhbWV0ZXIgZnJvbSBjaGVja19wZW5kaW5nX2J1ZmZlcnMgZnVuY3Rpb24KCjIwMTQtMDYtMDQgMjE6MzE6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXNlcjogQWx3YXlzIGluaXRpYWxpc2UgcGFja2V0IEFGQyBmbGFncyBhbmQgUENSIGZpZWxkcwoJICBBbHNvIGZpeCBhIHNsaWdodCB0eXBvIGluIGEgY29tbWVudCBhYm91dCB0aGUgc21vb3RoaW5nIGFsZ29yaXRobQoKMjAxNC0wNS0yMyAxNTowNzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXNldCBwZW5kaW5nX3RzIG9uIGEgZGlzY29udCwgdG8gcmUtbWVhc3VyZSBpbml0aWFsIHRpbWVzdGFtcHMKCSAgU2luY2UgYWxsIHRoZSBvdGhlciB0aW1lc3RhbXAgdHJhY2tpbmcgbm93IGdldHMgcmVzZXQgb24gYSBkaXNjb250LAoJICBpdCBtYWtlcyBzZW5zZSB0byB3YWl0IGZvciBhIFBDUiBhbmQgdGltZXN0YW1wIGJ1ZmZlcnMgbGlrZSB3aGVuCgkgIHBsYXliYWNrIGZpcnN0IHN0YXJ0cwoKMjAxNC0wMy0yMSAyMjoxNjo0MSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IGFkZCBzdXBwb3J0IGZvciByb2xsb3ZlciBjb3VudGVycyBhbmQgcmVwbGF5IHByb3RlY3Rpb24gd2luZG93IHNpemUKCSAgV2UgYWRkIGEgbmV3IHNpZ25hbCwgZ2V0LXJvbGxvdmVyLWNvdW50ZXIsIHRvIHRoZSBTUlRQIGVuY29kZXIuIEdpdmVuIGEKCSAgc3NyYyB0aGUgc2lnbmFsIHdpbGwgcmV0dXJuIHRoZSBjdXJyZW50bHkgaW50ZXJuYWwgU1JUUCByb2xsb3ZlciBjb3VudGVyCgkgIGZvciB0aGUgZ2l2ZW4gc3RyZWFtLgoJICBGb3IgdGhlIFNSVFAgZGVjb2RlciB3ZSBoYXZlIGEgbmV3IFNSVFAgY2FwcyBwYXJhbWV0ZXIgInJvYyIgdGhhdCBuZWVkcwoJICB0byBiZSBzZXQgd2hlbiBhIG5ldyBTUlRQIHN0cmVhbSBpcyBjcmVhdGVkIGZvciBhIGdpdmVuIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4NjEKCjIwMTMtMTAtMTQgMTY6MTQ6NDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBoYW5kbGUgZ2FwIGJ1ZmZlciBmbGFnCgkgIFJlbW92ZSBHQVAgZmxhZyB1bmxlc3MgYm90aCBzaWRlcyBoYXZlIGdhcCBkYXRhLCBpZ25vcmUKCSAgaW5jb21pbmcgZGF0YSBpZiBpdCBpcyBnYXAgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NwoKMjAxNC0wNS0yNSAyMTo0MzoyMiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogaW1wcm92ZSBzdGF0ZSBjaGFuZ2UgZGVidWcgbWVzc2FnZQoKMjAxNC0wNi0wMyAxMzo1OTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGFsd2F5cyByZWxlYXNlIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgRml4ZXMgdGhlIGNhc2Ugd2hlcmUgX3BlcmZvcm1fd2l0aF9idWZmZXIoKSBpcyBjYWxsZWQgd2l0aG91dAoJICBpbnRlcnZlbmluZyBjYWxscyB0byBfcmVsZWFzZV9idWZmZXIoKSBhcyBpcyB0aGUgY2FzZSBvbiBzdGFydCB1cAoJICB3aXRoIGdsaW1hZ2VzaW5rLgoJICBBbHNvIHJlbGVhc2UgdGhlIGJ1ZmZlciB3aGVuIHJlc2V0aW5nIHRoZSB1cGxvYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzExMDcKCjIwMTQtMDYtMDIgMjE6NTE6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgdGVzdHM6IFRha2UgYWNjb3VudCBvZiBtZW1vcnkgYWxpZ25tZW50IGluIHNobSB0ZXN0CgoyMDE0LTA2LTAyIDIxOjQzOjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGYWlsIGdyYWNlZnVsbHkgaWYgZXZlbnQgY2FuJ3QgYmUgcGFyc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwOTMKCjIwMTQtMDYtMDIgMjE6NDM6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogQWxsb2NhdGUgZW5vdWdoIG1lbW9yeSB0byBkbyBhbGlnbm1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA5MwoKMjAxNC0wNi0wMiAxMjozOTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWN0dWFsbHkgcHJpbnQgdGhlIHN0YWNrdHJhY2UgaW50byB0aGUgZXJyb3Igc3RyaW5nCgoyMDE0LTA2LTAyIDExOjI4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhciB0aGUgZXhjZXB0aW9uIGJlZm9yZSB0cnlpbmcgdG8gY2FsbCBKYXZhIG1ldGhvZHMgdG8gY29udmVydCBpdCB0byBhIHN0cmluZwoKMjAxNC0wNi0wMiAxMToxNjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNyYXNoZXMgd2hlbiBsb2FkaW5nIHRoZSBwbHVnaW4gaW4gYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uIG9uIEFuZHJvaWQgPj0gNC40CgkgIENoZWNrIGlmIGxpYm5hdGl2ZWhlbHBlciBpcyBsb2FkZWQgaW4gdGhlIHByb2Nlc3MgYW5kIGlmCgkgIGl0IGhhcyB0aGVzZSBhd2Z1bCB3cmFwcGVycyBmb3IgSk5JX0NyZWF0ZUphdmFWTSBhbmQKCSAgSk5JX0dldENyZWF0ZWRKYXZhVk1zIHRoYXQgY3Jhc2ggdGhlIGFwcCBpZiB5b3UgZG9uJ3QKCSAgY3JlYXRlIGEgSm5pSW52b2NhdGlvbiBpbnN0YW5jZSBmaXJzdC4gSWYgaXQgaXNuJ3Qgd2UKCSAganVzdCBmYWlsIGhlcmUgYW5kIGRvbid0IGluaXRpYWxpemUgYW55dGhpbmcuCgkgIFNlZSB0aGlzIGNvZGUgZm9yIHJlZmVyZW5jZToKCSAgaHR0cHM6Ly9hbmRyb2lkLmdvb2dsZXNvdXJjZS5jb20vcGxhdGZvcm0vbGlibmF0aXZlaGVscGVyLysvbWFzdGVyL0puaUludm9jYXRpb24uY3BwCgoyMDE0LTA2LTAyIDEwOjExOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBtYWtlIHBvc2l0aW9uIHF1ZXJ5IGFibGUgdG8gY29udmVydCBieXRlcyB0byB0aW1lCgkgIChzYW1lIGFzIDc0NGM1OGQ3MWIyMTQ3NWQyZWRkNWI5MzM0ZTI3N2NmYTRjNTMyNjAgYnV0IGZvciB0aGUKCSAgcG9zaXRpb24gcXVlcnkpCgkgIEl0IHdhcyBvbmx5IHF1ZXJ5aW5nIGluIHRpbWUsIGJ1dCB0aGVuIHRyeWluZyB0byB1c2UgZGVhZCBieXRlcwoJICB0byB0aW1lIGNvbnZlcnNpb24gY29kZS4KCSAgQ292ZXJpdHkgMTEzOTY3NwoKMjAxNC0wNi0wMiAwOTo0MjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgY3Jhc2hpbmcgaW4gcGF0aG9sb2dpY2FsIGNhc2UKCSAgKElkZW50aWNhbCB0byBjb21taXQgNjEyY2RlZWM4MGRhOTViMTJmOWZhZDkyODQxOWM3ZGUyYmUyMGQ2OCB3aGljaAoJICB3YXMgZm9yIHJlc2luZHZkKQoJICBXaGVuIHdlJ2Qgc2VlIGFuIHVua25vd24gc3RyZWFtIHR5cGUsIHRoZW4gYSBTRERTIHN0cmVhbS4KCSAgVGhlbiB3ZSdkIGdldCB0byB0aGUgZW5kIG9mIHRoZSBzd2l0Y2ggd2l0aCBhIE5VTEwgdGVtcCBzdHJlYW0KCSAgcG9pbnRlciwgYW5kIGRlcmVmZXJlbmNlIGl0LgoJICBDb3Zlcml0eSAxMTM5NzA4CgoyMDE0LTA2LTAyIDA5OjIzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEhhbmRsZSAodW5saWtlbHkpIE5VTEwgcmV0dXJuIG9mIGdsLT5HZXRTdHJpbmcgKEdMX1ZFUlNJT04pIG1vcmUgZ3JhY2VmdWxseQoJICBDSUQgMTIxOTg1OAoKMjAxNC0wNi0wMiAwODoyMjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBSZW1vdmUgdW5uZWVkZWQgTlVMTCBjaGVjawoJICBBbGxvY2F0aW5nIHRob3NlIHN0cnVjdHVyZXMgaXMgZG9uZSBpbiBhbGwgY29kZSBwYXRocyBsZWFkaW5nIHRoZXJlCgkgIENJRCAjMTIxOTg2MAoJICBDSUQgIzEyMTk4NjEKCSAgQ0lEICMxMjE5ODYyCgkgIENJRCAjMTIxOTg2MwoJICBDSUQgIzEyMTk4NjQKCjIwMTQtMDYtMDEgMTA6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogaW5jcmVhc2UgbWF4LiBhbGxvd2VkIHZhbHVlIGZvciBiaXRyYXRlIHByb3BlcnR5CgkgIEZvciBEVkQgdGhlIGxpbWl0IGlzIGFyb3VuZCAxME1iaXQvcywgYnV0IGZvciBlLmcuIEFUU0MKCSAgaXQgY291bGQgYmUgbXVjaCBoaWdoZXIuCgoyMDE0LTA1LTI1IDEzOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGJldHRlciBlcnJvciBoYW5kbGluZyBpbiBjYXNlIHRzcGFyc2UgaXMgbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQxCgoyMDE0LTA1LTMwIDE3OjM1OjQ5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBhZGQgcHJvcCBzZXR1cCBjb2RlIGZvciBndWludDY0CgkgIE5lZWRlZCBzaW5jZSB3ZSBhcmUgbm93IHByb3h5aW5nIHR1bmluZy10aW1lb3V0CgkgIGZyb20gZHZic3JjLgoKMjAxNC0wNS0yMCAwNzozNDo1NiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBtb3Rpb25jZWxsczogaW1wcm92ZSBsb2dnaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6Mjk6MTYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBtYWtlIGZyYW1lZHJvcCB3b3JrIGF0IDMwIGZwcyB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoyNToyMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG1vdGlvbmNlbGxzOiB1c2Ugc3RhbmRhcmQgbWFjcm8gZm9yIGJvb2xlYW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoxODozOSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogbWFrZSB0aGUgcGx1Z2luIGNvbXBpbGUgd2l0aCBhbGwgMi40LnggdmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yNiAyMjozNDowMSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiL2NhbSo6IHVzZSBnX3N0cmVycm9yIGFuZCBvdGhlciBmZXcgbml0cwoKMjAxNC0wNS0zMCAxMTowMDowNiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IGR2YnNyYyBzaWduYWwgcHJveHlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0zMCAwMDo0OTo0OSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogcHJveHkgbmV3IHByb3BzL3NpZ25hbHMgZnJvbSBkdmJzcmMKCSAgUHJveHkgdHVuaW5nIHN0YXJ0L2RvbmUvZmFpbCBzaWduYWxzIGFuZCB0dW5pbmctdGltZW91dAoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0wMSAxODoyNTowNSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJICBkdmJzcmM6IHNtYXJ0ZW4gdXAgdHVuaW5nIGxvZ2ljCgkgICogRHJvcCByZW1haW5pbmcgc2xlZXAoKSBsb2dpYyBpbiBmYXZvciBvZiBwb2xsaW5nCgkgICogVXNlIGJlc3QgZ3Vlc3MgZGVsaXZlcnkgc3lzdGVtIGlmIG5vbmUgaXMgc2V0CgkgICogTWFrZSB0dW5pbmcvbG9ja2luZyB0aW1lb3V0IGNvbmZpZ3VyYWJsZQoJICAqIEFkZCBzaWduYWxzIGZvciB0dW5pbmcgc3RhcnQsIGRvbmUgYW5kIGZhaWwKCSAgKiBEcm9wIGdzdF9kdmJzcmNfZnJvbnRlbmRfc3RhdHVzKCkuIEl0IHdhcyB1c2VkIG9ubHkKCSAgZm9yIHNpZ25hbCBMT0NLIGNoZWNraW5nLiBUaGlzIGlzIG5vdyBwYXJ0IG9mIHRoZQoJICB0dW5pbmcvbG9ja2luZyBsb29wCgkgICogQnJlYWsgdXAgZnJvbnRlbmQgY29uZmlndXJhdGlvbiBhbmQgdHVuaW5nCgkgIG9uIHNlcGFyYXRlIGZ1bmN0aW9ucwoJICBQbHVzOgoJICAqIEFkZCBzb21lIG1vcmUgdXNlZnVsIERFQlVHL1RSQUNFIG1lc3NhZ2VzCgkgICogTW92ZSBvdmVyIG1pc3BsYWNlZCBEVkIgQVBJIG1lc3NhZ2UKCSAgKiBGaXggd3JvbmcgY29tbWVudCBmb3IgZGVmYXVsdCBEVkIgYnVmZmVyIHNpemUgKGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL2RteF9mY2FsbHMuaHRtbCNETVhfU0VUX0JVRkZFUl9TSVpFKQoJICBUaGlzIHBhdGNoIGJ1aWxkcyB1cCBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTMwIDE2OjM1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgZXhjZXB0aW9ucyBmcm9tIHRoZSBKYXZhIEFQSSB0byBlcnJvciBtZXNzYWdlcywgYW5kIHBvc3QgbW9yZSBlcnJvci93YXJuaW5nIG1lc3NhZ2VzIG92ZXJhbGwKCjIwMTQtMDUtMzAgMTU6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhIEdFcnJvciBhcmd1bWVudCB0byBhbGwgYW1jIG1ldGhvZHMgYW5kIGNhdGNoIGV4Y2VwdGlvbnMgdGhlcmUKCjIwMTQtMDUtMzAgMTU6MjQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERlc2NyaWJlIGV4Y2VwdGlvbnMgaGFwcGVuaW5nIHdoZW4gc2Nhbm5pbmcgYWxsIGNvZGVjcwoKMjAxNC0wNS0zMCAxMjoxOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIEFQSSB0byBjb252ZXJ0IGFuIGV4Y2VwdGlvbiBpbnRvIGEgc3RyaW5nCgoyMDE0LTA1LTMwIDEyOjQwOjA4ICswMjAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbGVhc2UgdGhlIGNvZGVjIGJlZm9yZSBmcmVlaW5nIGl0CgkgIE9uIFNhbXN1bmcgR2FsYXh5IFM0IGl0IGlzIGltcG9zc2libGUgdG8gaGF2ZSBtb3JlIHRoYW4gb25lCgkgIGhhcmR3YXJlIGRlY29kZXIgYXQgdGhlIHNhbWUgdGltZS4gSWYgd2UgZG8gbm90IHJlbGVhc2UgaXQKCSAgZXhwbGljaXRseSB0aGUgR0Mgb25seSByZWxlYXNlcyBpdCB3aGVuZXZlciB0aGUgd2hvbGUgYXBwbGljYXRpb24KCSAgaXMgZmluaXNoZWQgbm90IHdoZW5ldmVyIHRoZSBhY3Rpdml0eSBpcyBmaW5pc2hlZCBhbmQgdGh1cyBhIHBsYXllcgoJICB3aWxsIG5vdCBiZSBhYmxlIHRvIHdvcmsgY29ycmVjdGx5CgoyMDE0LTA1LTMwIDAyOjEwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBmaXggc3RydWN0dXJlIGhhbmRsaW5nIGluIHByZXZpZXcgbWVzc2FnZQoJICBBdm9pZCB0cnlpbmcgdG8gbW9kaWZ5IHRoZSBtZXNzYWdlIHN0cnVjdHVyZSBhcyBpdCBpc24ndCBtdXRhYmxlLgoJICBVc2UgYSBjb3B5IGFuZCBwb3N0IGEgbmV3IG1lc3NhZ2UgaWYgbmVjZXNzYXJ5LgoJICBGaXhlcyBmYWlsaW5nIHRlc3RzLgoKMjAxNC0wNS0zMCAxMjoyMzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSB1bmVlZGVkIGdsIGFwaSBpZmRlZnMKCjIwMTQtMDUtMzAgMTE6NTE6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3dfeDExOiBhbGxvdyBleHBvc2UgZXZlbnRzIHRvIHJlZHJhdyBvdXIgd2luZG93CgkgIG90aGVyd2lzZSB3ZSB3aWxsIG5vdCB1cGRhdGUgdGhlIHdpbmRvdyBjb250ZW50cyBvbiBsb3cgZnJhbWVyYXRlCgkgIHN0cmVhbXMgdW50aWwgdGhlIG5leHQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTE6NDY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgb2xkIGJ1ZmZlciBvdXRzaWRlIHRoZSBsb2NrCgkgIGl0IGNvdWxkIHZlcnkgd2VsbCBkZWFkbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDExOjM1OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgUmV2ZXJ0ICJbODgwLzkwNl0gZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgc3RvcmVkX2J1ZmZlciBmaWVsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZjNhNjhkYjdkYzQ3M2ZiNjkwM2MxODk2NmIzOWU0YzNmMTQ2NGQ3LgoJICBDb25mbGljdHM6CgkgIGV4dC9nbC9nc3RnbGltYWdlc2luay5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTA6NDY6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCB1cCBhc3NlcnRpb24KCSAgZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZAoKMjAxNC0wNS0zMCAxMDoyNzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmxlbmRpbmcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9lZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Ziby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2ZpeGVkZnVuY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2xmZWF0dXJlOiByZW1vdmUgR1NUX0dMX0FQSV9HTEVTMwoJICBpbnN0ZWFkIGNoZWNrIHRoZSBnbCB2ZXJzaW9uIHVzaW5nIGdzdF9nbF9jb250ZXh0X2NoZWNrX2dsX3ZlcnNpb24oKQoKMjAxNC0wNS0zMCAxMDoyNToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogY2hlY2sgZm9yIEdMRVMgdmVyc2lvbnMKCjIwMTQtMDUtMjkgMjA6MzU6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IGFkZCBjaGVja19nbF92ZXJzaW9uCgoyMDE0LTA1LTI5IDE3OjA5OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IFRyeSBHTFggc3VwcG9ydCBiZWZvcmUgRUdMIHN1cHBvcnQKCSAgSWYgYXZhaWxhYmxlLCBnbHggaGFzIGdvdCBhIGJldHRlciBjaGFuY2Ugb2YgYmVpbmcgdGhlIEdsIHBsYXRmb3JtCgkgIHdlIHdhbnQgdG8gdXNlIGNvbXBhcmVkIHRvIEVHTAoKMjAxNC0wNS0yOSAxNjo1OToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogVHJ5IHRvIG9wZW4gbGlie0VHTHxHTHxHTEVTdjJ9LnNvLjEgYmVmb3JlIGxpYntFR0x8R0x8R0xFU3YyfQoJICBGaXhlcyBpc3N1ZXMgd2l0aCAuc28gKHdpdGhvdXQgbnVtYmVyaW5nKSBiZWluZyBpbnN0YWxsZWQgZm9yIGRldmVsb3BtZW50CgkgIChzdWNoIGFzIGZyb20gbWVzYS1kZXYpIGJ1dCBhY3R1YWwgZHJpdmVyICh3aXRoIG51bWJlcmluZykgY29taW5nIGZyb20KCSAgc29tZSBvdGhlciBwbGFjZSAobGlrZSBudmlkaWEgZHJpdmVycykKCjIwMTQtMDUtMjkgMTY6MDE6MjIgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDE0LTA1LTI5IDEyOjMwOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkgIGF0c2Mtc2VjdGlvbjogRml4IGFubm90YXRpb24KCjIwMTQtMDUtMjkgMTI6Mjk6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogRml4IG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgcGFyc2luZwoJICB0aGUgcHJvdmlkZXIgYW5kIHNlcnZpY2UgbmFtZSB3YXMgaW52ZXJ0ZWQKCjIwMTQtMDUtMjggMTY6NDc6NTMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBwYXJlbnRpYWwgcmF0aW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxNjo0NzoyOCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNhIGlkZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoyMzo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHN0cmVhbSBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoyMzoxMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNvbnRlbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjE5OjQzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOSAxMTo1NTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IGZhY3RvciBkdW1waW5nIGNvZGUKCSAgV2UgY2FuIGp1c3QgcmUtdXNlIHRoZSBuZXcgZnVuY3Rpb24gaW5zdGVhZCBvZiBoYXZpbmcgdHdvIGR1cGxpY2F0ZXMKCjIwMTQtMDUtMjkgMTA6NTA6NTggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBsaW5rYWdlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkwMQoKMjAxNC0wNS0yOCAyMDo0MjowNSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGJ1Z2ZpeCBtb2JpbGUgaGFuZCBvdmVyIGxpbmthZ2UgcGFyc2UgbWlzc21hdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MDEKCjIwMTQtMDUtMjggMTY6MzQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIG1pc3NpbmcgZmllbGQgdG8gRVRUIHRhYmxlCgkgIFNldCB0aGUgc3VidGFibGVfZXh0ZW5zaW9uIGFzIGV0dF90YWJsZV9pZF9leHRlbnNpb24KCSAgZm9yIEVUVCB0YWJsZXMgYXMgaXQgaXMgdXNlZCBieSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTI4IDE1OjU5OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIGF0c2MncyBFSVQgdGFibGUgcGFyc2luZwoJICBBVFNDIGhhcyBpdHMgb3duIHZlcnNpb24gb2YgdGhlIEVJVCB0YWJsZSAoRFZCIGFsc28gaGFzIG9uZSkuCgkgIFRoaXMgcGF0Y2ggYWRkcyBwYXJzaW5nIGZvciB0aGUgQVRTQyBFSVQgdGFibGUgYW5kIGFsc28gZml4ZWQKCSAgdGhlIHNlY3Rpb24gaWRlbnRpZmljYXRpb24gdG8gbWFyayBpdCBhcyB0aGUgQVRTQyBvbmUuCgkgIFRoZSBpbXBsZW1lbnRhdGlvbiBhd3MgcmVmYWN0b3JlZCB0byByZXVzZSBzb21lIGNvbW1vbiBpbnRlcm5hbAoJICBzdHJ1Y3R1cmVzIGZyb20gRVRULgoJICBBbHNvIGFkZHMgaXRzIGR1bXBpbmcgZnVuY3Rpb24gdG8gdHMtcGFyc2VyIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMiAxNzo0OTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0czogbXBlZ3RzOiBhZGQgdGVzdCBmb3IgU1RUIHBhcnNpbmcKCSAgU3BlY2lhbGx5IGZvciB0aGUgdGltZSB0byBVVEMgZGF0ZXRpbWUgY29udmVyc2lvbgoJICBFeGFtcGxlIHRha2VuIGZyb20gdGhlIEE2NSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjIgMDE6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgU1RUIHRhYmxlIHBhcnNpbmcKCSAgQWRkcyB0aGUgc3lzdGVtIHRpbWUgdGFibGUgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMgZm9yIGNvbnZlbmllbnQgcGFyc2luZyBvZgoJICBpdCBhbmQgZm9yIGdldHRpbmcgdGhlIFVUQyBkYXRldGltZSB0aGF0IGl0IHJlcHJlc2VudHMuIEFsc28gYWRkcyBpdHMKCSAgaW5mb3JtYXRpb24gZHVtcGluZyB0byB0aGUgdHMtcGFyc2VyIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxNjoyMDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgZW5jb2RpbmcgY29udmVyc2lvbiBmb3IgVVRGLTE2IEVUVCBzdHJpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTQ6NTA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogbXBlZ3RzOiBhZGQgZnVuY3Rpb24gdG8gZHVtcCBFVFQgdGFibGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTM6NDY6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYXRzYzogYWRkIEVUVCBzdHJ1Y3R1cmVzIGFuZCBwYXJzaW5nCgkgIEVUVCAoZXh0ZW5kZWQgdGV4dCB0YWJsZSkgY29udGFpbnMgQVRTQyB0ZXh0IGluZm9ybWF0aW9uIHdpdGggZGVzY3JpcHRpb25zCgkgIG9mIHZpcnR1YWwgY2hhbm5lbHMgYW5kIGV2ZW50cy4gVGhlIHRleHQgY2FuIGJlIGludGVybmF0aW9uYWxpemVkIGFuZCBhbHNvCgkgIGNvbXByZXNzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTYgMTU6Mzk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiBwYXJzZSB0aGUgbWd0IGFuZCBhZGQgbGlzdGVkIEVJVC9FVFQgcGlkcyB0byB0aGUga25vd24gcHNpCgkgIFRoaXMgd2lsbCBtYWtlIHRzYmFzZSBhbHNvIHBhcnNlIHRoZSBFSVRzIGFuZCBFVFRzIGZyb20gQVRTQyBzdHJlYW1zIHRoYXQgaGF2ZQoJICB0aGVpciBwaWRzIHJlcG9ydGVkIG9uIHRoZSBNR1QgYW5kIHBvc3QgdG8gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE1IDEyOjMxOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYWRkIGF0c2MgTUdUIHNlY3Rpb24gcGFyc2luZwoJICBBZGQgYSBwYXJzaW5nIGZ1bmN0aW9uIGZvciBNR1QgYW5kIGFsc28gZGV0ZWN0IHRoZSBFSVQgdGFibGVzCgkgIGZvciBBVFNDLCB0aGUgRUlUIHBpZHMgYXJlIHJlcG9ydGVkIGluc2lkZSB0aGUgTUdUIGFuZCB3ZSBhcmUgc3RpbGwKCSAgb25seSByZWx5aW5nIG9ubHkgb24gdGhlIHRhYmxlIGlkIGZvciBkZXRlY3RpbmcgaXQuIEluIHRoZSBmdXR1cmUgd2UKCSAgd291bGQgd2FudCB0byBhbHNvIGNoZWNrIHRoZSBwaWQgYW5kIGNvbXBhcmUgd2l0aCB3aGF0ZXZlciB0aGUgTUdUCgkgIHByZXZpb3VzbHkgcmVwb3J0ZWQgdG8gY29uZmlybSB0aGF0IGl0IGlzIGluZGVlZCB0aGUgRUlULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIzIDAxOjQxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGF0c2M6IHJlbmFtZSBUVkNUIHRvIFZDVCBhcyBpdCBpcyB0aGUgc2FtZSBhcyBDVkNUCgkgIE1ha2UgdGhlIEFUU0Mgc2VjdGlvbiBwYXJzZSBoYW5kbGUgYm90aCBUVkNUIGFuZCBDVkNUIGFzIHRoZXkgYXJlCgkgIG5lYXJseSB0aGUgc2FtZSBzdHJ1Y3QgKENWQ1QgdXNlcyAyIHJlc2VydmVkIGJpdHMgdGhhdCBhcmUgaWdub3JlZAoJICBpbiBUVkNUKS4KCSAgVGhpcyBpcyBjaGFuZ2luZyB0aGUgZ2xpYiB0eXBlIGFuZCB0aGUgc3RydWN0IG5hbWUgYnV0IFRWQ1Qgd2Fzbid0CgkgIHJlbGVhc2VkIGluIGEgc3RhYmxlIHBhY2thZ2UgeWV0IHNvIHRoZXJlIHNob3VsZCBiZSBubyBwcm9ibGVtLgoJICBBbHNvIGluY2x1ZGVzIHNvbWUgcGFyc2luZyBmaXhlcyBhbmQgY2hhbmdlcyBzaG9ydF9uYW1lIHRvIGJlCgkgIGRpcmVjdGx5IHN0b3JlZCBhcyB1dGY4IHJhdGhlciB0aGFuIHV0ZjE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDIKCjIwMTQtMDUtMjggMTM6MTE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBhZGQgVFZDVCBhbmQgQ1ZDVCB0YWJsZXMgZHVtcGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQyCgoyMDE0LTA1LTI5IDEwOjM3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggYXNzZXJ0aW9uIGFmdGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTI5IDE4OjMzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGtlZXAgb3VyIHByaXZhdGUgcG9pbnRlcgoJICBhZ2FpbiwgYXZvaWQgdG8gbXVjaCB0cmlnZ2VyCgoyMDE0LTA1LTI5IDE4OjMyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ2x1cGxvYWQgY2hhbmdlcwoKMjAxNC0wNS0yOSAxNzoyOTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsL2NvbG9yY29udmVydDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXIgb3duCgoyMDE0LTA1LTI5IDE3OjEyOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHJlbW92ZSB1bm5lY2Fzc2FyeSBwb2ludGVyIGluZGVyZWN0aW9uCgoyMDE0LTA1LTI5IDE2OjQ1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHJlIGFkZCB0aGUgdXBsb2FkIG1ldGEgdG8gdGhlIHByaXZhdGUgc3RydWN0CgkgIHRyeSBhbmQgYXZvaWQgYmVpbmcgdG8gdHJpZ2dlciBoYXBweQoKMjAxNC0wNS0yOSAxNjoyOTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzbWFsbCBjb2RlIGNsZWFudXAgYW5kIGdzdC1pbmRlbnQKCjIwMTQtMDUtMjkgMTY6MjI6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgZ2wvZG93bmxvYWQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3V0IG93bgoKMjAxNC0wNS0yOSAxNjoyMDozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXIgb3duCgoyMDE0LTA1LTI5IDE2OjE4OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGFsc28gcmVtb3ZlIHRoZSB3aWR0aC9oZWlnaHQgaW4gdHJhbnNmb3JtX2NhcHMKCSAgYWxsb3dzIHNjYWxpbmcgaW4gdGhlIGZpbHRlcnMKCjIwMTQtMDUtMjkgMTY6MTE6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogb3B0aW1pc2UgdGhlIHNhbWUgZm9ybWF0IGNhc2UKCSAgc2ltcGx5IHJldHVybiB0aGUgaW5wdXQgYnVmZmVyIHVuY2hhbmdlZAoKMjAxNC0wNS0yOSAxNjowNzo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBmaXggWVVZMi9VWVZZIGRvd25sb2FkIGZvciBSRy9MQSB0ZXh0dXJlcwoKMjAxNC0wNS0yOSAxNTo1MDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBhbGxvY2F0ZSBvdXRwdXQgYnVmZmVycwoJICBBbGxvd3MgdGhlIG5vcCBvcHRpbWlzYXRpb24gYnkgc2ltcGx5IHJlZmZpbmcgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMTQtMDUtMjggMTY6MTg6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBdm9pZCBzaGFkb3dpbmcgbWFpbiBsb29wIHZhcmlhYmxlCgkgIFdlIGVuZCB1cCB3aXRoIGludGVyZXN0aW5nIHJlc3VsdHMgb3RoZXJ3aXNlIDopCgoyMDE0LTA1LTI4IDE1OjUzOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIHByaXZhdGUtZGF0YS1zcGVjaWZpZXIgYW5kIGZyZXF1ZW5jeS1saXN0CgoyMDE0LTA1LTI4IDE1OjUyOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBNYWtlIHNvbWUgZmllbGRzIG9wdGlvbmFsCgkgIFNvbWUgcGVvcGxlIG1pZ2h0IGp1c3Qgbm90IGNhcmUgYWJvdXQgdGhlIGNvbnRlbnRzCgoyMDE0LTA1LTI4IDE1OjUyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVcGRhdGUgZG9jcyBmb3IgRFZCIGZyZXF1ZW5jeSBsaXN0CgoyMDE0LTA1LTI4IDIzOjIxOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgcmVjZW50IGdsdXBsb2FkIGNoYW5nZXMKCSAgR3N0R0xVcGxvYWRNZXRhIG9iamVjdCBpcyBub3cgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoJICBwcm92aWRlci4KCjIwMTQtMDUtMjggMTI6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAxMjo0Mzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMTI6NDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgYmFzZSBVUkkgaWYgdGhlcmUgd2FzIG5vIHJlZGlyZWN0CgoyMDE0LTA1LTI4IDA5OjE4OjQ5ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IE1ha2UgcGFyc2luZyBvZiAiLXF1b3RlZCBrZXkgVVJJcyBtb3JlIHJlc2lsaWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODMwCgoyMDE0LTA1LTI4IDEwOjE5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAwOTo0Mjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU3RvcmUgVVJJIGFuZCByZWRpcmVjdCB0YXJnZXQgaW4gdGhlIGRvd25sb2FkZWQgZnJhZ21lbnRzCgoyMDE0LTA1LTI4IDA3OjQwOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IExvZ2ljYWwgQ2hhbm5lbCBEZXNjcmlwdG9yIHBhcnNpbmcKCSAgTm8gd29uZGVyIHdlIHdlcmUgZ2V0dGluZyBnYXJiYWdlIC4uLgoKMjAxNC0wNS0yNyAyMDozNzoyNiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NDcKCjIwMTQtMDUtMjcgMjA6MzI6NDIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IHByaW50aW5nIGVudW0gdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg0NwoKMjAxNC0wNS0yOCAxNDo0Mzo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiBmaXggaW5jb3JyZWN0IHR5cGUgaW4gbWFjcm9zCgoyMDE0LTA1LTI4IDE0OjQwOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuaDoKCSAgZ2wvdXBsb2FkOiBhZGQgR3N0R0xVcGxvYWRNZXRhIG9iamVjdAoJICBUaGF0IHNpbXBseSBkZWFscyB3aXRoIHRoZSBwcm92aWRlciBhc3BlY3Qgb2YgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhLgoKMjAxNC0wNS0yNyAxNzozNDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBEVkIgRXh0ZW5kZWQgZXZlbnQgcGFyc2luZwoKMjAxNC0wNS0yNyAxNzozMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogRW5zdXJlIE5VTEwtdGVybWluYXRlZCBsYW5ndWFnZSBjb2RlCgkgIFl1cCwgaXQgYnJlYWtzIEFQSSBhbmQgQUJJLCBJIGtub3cuIEJ1dCBsZXQncyBhdm9pZCBwZW9wbGUgYW5kIGJpbmRpbmdzCgkgIHByaW50aW5nIG91dCBnYXJiYWdlCgoyMDE0LTA1LTI3IDE3OjI1OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBGaXggRXh0ZW5kZWQgRFZCIGRlc2NyaXB0b3IgcGFyc2luZwoJICBXZSB3ZXJlIG92ZXItcmVhZGluZyBkYXRhLCBhbmQgdGhlIG5iX2l0ZW1zIGZpZWxkIGlzbid0IG5lZWRlZCwKCSAgaXQncyBhIHByb3BlcnR5IG9mIHRoZSBHUHRyQXJyYXkKCjIwMTQtMDUtMjggMDA6NTY6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBtYWtlIHNlbmRfbWVzc2FnZSByZWVudHJhbnQKCSAgSSBjb3VsZCBub3QgZmluZCBhIGNvbXBhcmFibGUgd2luMzJBUEkgZnVuY3Rpb24gc28ga2VlcCB0aGUgcnVubmluZwoJICB0aHJlYWQgcG9pbnRlciB0byBjb21wYXJlIGFnYWluc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3ODIKCjIwMTQtMDUtMjcgMTY6MTc6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCB1c2FnZSBvZiBtZW1jcHkKCSAgc291cmNlIGFuZCBkZXN0aW5hdGlvbiB3ZXJlIGludmVydGVkCgoyMDE0LTA1LTI2IDIwOjM4OjQ1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzg6MTkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozNzo1MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM3OjIxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MjA6MzkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MjA6MDMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MTA6NTEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDQtMTcgMTg6MDc6NTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgbXVsdGlsaW5ndWFsIG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjcgMTA6MjE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkL3JlbW92ZSBwYWRzIHRvIGZsb3djb21iaW5lciBkaWZmZXJlbnRseSBkdWUgdG8gc3RyZWFtaW5nIG5hdHVyZQoJICBEdWUgdG8gbXBlZ3RzIHN0cmVhbWluZyBuYXR1cmUgc29tZSBwYWRzIGFyZSBjcmVhdGVkIGJ1dCBhcmUgb25seSBhZGRlZAoJICBsYXRlciB0byB0aGUgZWxlbWVudC4gVGhpcyBjYW4gY2F1c2UgYSBzY2VuYXJpbyB3aGVyZSB0aGUgZmlyc3Qgc3RyZWFtCgkgIGRvZXNuJ3QgaGF2ZSBhbiBhdmFpbGFibGUgZGVjb2RlciAod2hpbGUgdGhlIG5leHQgb25lcyBzdGlsbCBwZW5kaW5nCgkgIHdvdWxkIGhhdmUpIGFuZCB0c2RlbXV4IHdpbGwgZmFpbCB3aXRoIG5vdC1saW5rZWQgYXMgdGhlIGZpcnN0IHN0cmVhbQoJICBhZGRlZCB3b3VsZG4ndCBiZSBsaW5rZWQuCgkgIFRvIGF2b2lkIHRoaXMgdHNkZW11eCBuZWVkcyB0byBhZGQgcGFkcyB0byB0aGUgZmxvd2NvbWJpbmVyCgkgIHdoZW4gdGhleSBhcmUgY3JlYXRlZCBpbnN0ZWFkIG9mIG9ubHkgd2hlbiBhZGRpbmcgdGhlbSB0byB0aGUKCSAgZWxlbWVudC4KCjIwMTQtMDUtMjcgMTM6NTY6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsY29sb3Jjb252ZXJ0LmM6MTEzMzoxMTogZXJyb3I6ICdqJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgV2FzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuIGp1bXBpbmcgdG8gb3V0IGxhYmVsCgkgIGluIGVycm9yIGNhc2UuCgoyMDE0LTA1LTI3IDE4OjIwOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yY29udmVydDogb3BlcmF0ZSBvbiBidWZmZXJzIGluc3RlYWQgb2YgbWVtb3JpZXMKCjIwMTQtMDUtMjcgMDc6NDI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiByZW1vdmUgdW5yZWFkIGxhc3RfZmxvdyB2YXJpYWJsZQoJICBpdCBpc24ndCBuZWNlc3NhcnkgYW55bW9yZSBhbmQgaXMgYWxyZWFkeSB1bnVzZWQKCjIwMTQtMDUtMjcgMTE6Mjg6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBtYWtlIGl0IGFjdHVhbGx5IGhvbm9yIHNob3ctcHJlcm9sbC1mcmFtZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODAyCgoyMDE0LTA1LTI3IDEyOjA4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29tcGFyZSBwb3NpdGlvbnMgdG8gZmluZCB0aGUgZWFybGllc3QgcGFkLCBub3QgZmxvdyByZXR1cm5zCgoyMDE0LTA1LTI3IDA4OjU0OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2w6IGFkZCBtaXNzaW5nIGNnbCBhbmQgZWFnbCBjb250ZXh0IHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NQoKMjAxNC0wNS0yNyAwODo0NjoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSAgZ2w6IHJlbmFtZSBwbGF0Zm9ybSBjb2NvYSB0byBjZ2wKCSAgQmVmb3JlOgoJICBHU1RfR0xfUExBVEZPUk09Y29jb2EgR1NUX0dMX1dJTkRPVz1jb2NvYQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBBZnRlcjoKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIGJ1dCBzdGlsbCBwYXNzIC0tZW5hYmxlLWNvY29hIHRvIGNvbmZpZ3VyZSBzY3JpcHQKCSAgYmVjYXVzZSBjdXJyZW50bHkgaXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGNvY29hIEFQSS4KCSAgV2UgY291bGQgbGF0ZXIgaGF2ZSBjZ2wvZ3N0Z2xjb250ZXh0X2NnbC5oIHRoYXQgbWFuYWdlcwoJICBhIENHTENvbnRleHRPYmogZGlyZWN0bHkgYW5kIGNvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oCgkgIHdvdWxkIGp1c3Qgd3JhcCBpdC4KCSAgU28gdGhhdCBpdCBjb3VsZCBiZSB1c2VkIHdpdGggb3RoZXIgQXBwbGUncyB3aW5kb3cgQVBJcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI0NQoKMjAxNC0wNS0yNyAwODo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIFJldmVydCAiYW5kcm9pZG1lZGlhOiBQbGFjZSBzb21lIGNvbnN0IGtleXdvcmRzIGluIGEgZmV3IHBsYWNlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMDc4YjNhMzRjMWY3NWI4NmJkNjI5ZGYxY2Q3YzA4OWEwZjY5OTk5LgoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgZG9lc24ndCB0YWtlIGEgY29uc3QgR3N0VmlkZW9JbmZvKiwgc28KCSAgYWxsIHRoaXMgaXMgcmF0aGVyIHVzZWxlc3MuCgoyMDE0LTA1LTI3IDEzOjU1OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL21peGVyOiBkb24ndCBzZWdmYXVsdCB3aGVuIHdlIGRvbid0IGhhdmUgYSBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI1NwoKMjAxNC0wNS0yNyAxMzowNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3dfeDExOiBhdm9pZCBCYWREcmF3YWJsZSBlcnJvciBvbiBzaHV0ZG93bgoKMjAxNC0wNS0yNiAxNzozNDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTc6MTg6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTIzIDE4OjI2OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgoyMDE0LTA1LTI3IDEwOjQ3OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbC9jb250ZXh0X2VnbDogcGFzcyB0aGUgdmFycyBpbiB0aGUgcmlnaHQgb3JkZXIgdG8gRGVzdHJveVN1cmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUxNAoKMjAxNC0wNS0yNiAxNjozMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFuZHJvaWRtZWRpYTogUGxhY2Ugc29tZSBjb25zdCBrZXl3b3JkcyBpbiBhIGZldyBwbGFjZXMKCjIwMTMtMTEtMTMgMTg6NDE6MzMgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9jb3B5CgkgIGdzdF9hbWNfY29sb3JfZm9ybWF0X2NvcHkgd2lsbCBjb3B5IGluL291dCBhIGZyYW1lIHJlc2lkZXMgYXQgYQoJICBHc3RBbWNCdWZmZXIuIExvdHMgb2YgY29kZXMgaW4gZ3N0X2FtY192aWRlb18qX2ZpbGxfYnVmZmVyIGFyZSBtb3ZlZCB0bwoJICB0aGlzIG5ldyBmdW5jdGlvbi4KCjIwMTMtMTAtMDggMjE6MTE6NDggKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBtb3ZlIGNyZWF0ZV9zcmN8c2lua19jYXBzIHRvIGdzdGFtYy5jCgkgIFNvbWUgaGFjayBsb2dpYyBuZWVkcyBhbHNvIHRvIGJlIHByZXNlbnQgaW4gY3JlYXRlX3NyY3xzaW5rX2NhcHMsIGZvcgoJICB3b3JraW5nIGFyb3VuZCBzb21lIGJyb2tlbiBjb2RlY3MuIFRoZXNlIGhhY2tzIGFyZSBoaWRkZW4KCSAgaW4gY29sb3JfZm9ybWF0L3ZpZGVvX2Zvcm1hdCBjb252ZXJzaW9uIC0tIHRoZSBwcm90b3R5cGVzIG9mIHRoZXNlCgkgIGZ1bmN0aW9ucyBhcmUgYWxzbyBjaGFuZ2VkIHRvIGluY2x1ZGUgbW9yZSBhcmdzIGZvciBoYWNrIGp1ZGdlbWVudC4KCSAgQWxzbyBpbiBjYXNlIG9mIG11bHRpLWNvbG9yX2Zvcm1hdHMgbWFwcGVkIHRvIG9uZSB2aWRlb19mb3JtYXQsIHRoZW4KCSAgbWFwIHRoYXQgdmlkZW9fZm9ybWF0IGJhY2sgd2lsbCBub3QgZ2l2ZSB0aGUgb3JpZ2luYWwgY29sb3JfZm9ybWF0LCB3aGljaAoJICBjYXVzZXMgZ3N0X2FtY19jb2RlY19jb25maWd1cmUgZmFpbGVkIHdpdGggc29tZXRoaW5nIGxpa2UKCSAgJ2RvZXMgbm90IHN1cHBvcnQgY29sb3IgZm9ybWF0IE4nLgoJICBUaGUgbmV3IHByb3RvdHlwZSBpbnZvbHZlcyB3aXRoIEdzdEFtY0NvZGVjSW5mbyBhbmQgbWltZSwgd2hpY2gKCSAgZW5zdXJlcyB0aGUgY29udmVydGVkIGNvbG9yX2Zvcm1hdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNvZGVjLgoJICBBIENPTE9SX0Zvcm1hdFlDYllDciB0byBHU1RfVklERU9fRk9STUFUX1lVWTIgbWFwcGluZyBpcyBhbHNvIGFkZGVkLCBpbgoJICBvcmRlciB0byB3b3JrIGFyb3VuZCBidWdzIGluIE9NWC5rMy52aWRlby5kZWNvZGVyLmF2Yyh3aGljaCBpbmNvcnJlY3RseQoJICByZXBvcnRzIHN1cHBvcnRpbmcgQ09MT1JfRm9ybWF0WUNiWUNyLCB3aGljaCBpcyBhY3R1YWxseQoJICBDT0xPUl9Gb3JtYXRZVVY0MjBTZW1pUGxhbmFyKS4gVGhlcmUgYXJlIGFscmVhZHkgaGFja3MgZm9yIHRoaXMgaW4KCSAgZ3N0X2FtY192aWRlb19mb3JtYXRfdG9fY29sb3JfZm9ybWF0LCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF90b192aWRlb19mb3JtYXQKCSAgYW5kIGdzdF9hbWNfY29sb3JfZm9ybWF0X2luZm9fc2V0LCBidXQgdGhlIGNvZGVjIHdpbGwgc3RpbGwgbm90IHdvcmsoYmUKCSAgaWdub3JlZCBiZWNhdXNlIG9mICJoYXMgdW5rbm93biBjb2xvciBmb3JtYXRzIikgd2l0aG91dCBhZGRpbmcgdGhpcyBtYXBwaW5nLgoKMjAxNC0wNC0xMSAxNToxNDoxNyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBwYXJzZWNoYW5uZWxzOiBhZGQgZGVsc3lzIHByb3BlcnR5CgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDE0LTA1LTI2IDEzOjI5OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgLmRlZiBmb3IgbmV3IHN5bWJvbHMKCjIwMTQtMDQtMTEgMTU6Mzg6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBtYXAgU1lTX0RWQkNfQU5ORVhfQSBTWVNfRFZCQ19BTk5FWF9BQyBmb3IgRFZCIEFQSSA8IDUuNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxODY5CgoyMDE0LTA0LTE1IDA5OjMxOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHR5cG8gaW4gdGVzdGluZyBmbGFnCgkgICUgaW5zdGVhZCBvZiAmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE4NjkKCjIwMTQtMDUtMjUgMTU6MTY6MTMgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogVW5pdCBvZiBiaXRyYXRlIHByb3BlcnR5IGlzIG5vdyBiaXQvc2VjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxMjkKCjIwMTQtMDUtMjYgMTE6NTU6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIEJvdXF1ZXQgTmFtZSBwYXJzaW5nCgoyMDE0LTA1LTI2IDExOjU0OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggQm91cXVldCBOYW1lIHBhcnNpbmcKCSAgdGhlIGZpZWxkIGlzIG5vdCBsZW5ndGggcHJlZml4ZWQKCjIwMTQtMDUtMjYgMTE6NDI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIFNlcnZpY2UgTGlzdCBkZXNjcmlwdG9yCgoyMDE0LTA0LTE3IDE0OjU2OjIzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDQtMTcgMTQ6NTU6MjkgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc3R1ZmZpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA0LTE3IDE0OjU0OjI4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHNlcnZpY2UgbGlzdCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDUtMTAgMTg6MzI6MjggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBVc2UgYXV4IHZhcnMgdG8gbWluaW1pemUgY3JpdGljYWwgcmVnaW9uCgkgIFRoaXMgYXZvaWQgZGVhZCBsb2NrIGJldHdlZW4gZ3N0X2F1ZGlvX2VuY29kZXJfZmluaXNoX2ZyYW1lKCkgYW5kCgkgIGdzdF9vcHVzX2VuY19nZXRfcHJvcGVydHkoKS4KCSAgQWxzbywgbm93IGJ5dGVzIHZhciBpcyBzZXQgaW50byBwcm90ZWN0ZWQgc2VjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg4MgoKMjAxNC0wNS0yNCAxOTo1MToxMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBtaXNzaW5nIHRvbmUgaW9jdGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY5MgoKMjAxNC0wNS0yNSAwOTowMzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSBmb3JtYXQgaW5mb3JtYXRpb24gdG8gYWxsb3cgY29sb3IgY29udmVydCBhZ2FpbgoJICBXZSBhbHNvIG5lZWQgdG8gcmVtb3ZlIHRoZSBmb3JtYXQgaW5mb3JtYXRpb24sICBhcyBnbGZpbHRlciBjYW4gZG8KCSAgY29sb3IgY29udmVydGlvbi4gVGhpcyBjb2RlIHdhcyBpbXBvcnRlZCBmcm9tIHZpZGVvY29udmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0yNSAxMTo0NDo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBhbGxvY2F0ZSB0aGUgY29ycmVjdCBtZW1vcnkgc2l6ZQoJICBhbmQgYXZvaWQgd2FzdGluZyByZXNvdXJjZXMgd2Ugd2lsbCBuZXZlciBuZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3MDMKCjIwMTQtMDUtMjMgMjM6MDI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IFlVWTIgYW5kIFVZVlkgc3VwcG9ydCB3aXRoIGx1bWluYW5jZV9hbHBoYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjY2CgoyMDEzLTEyLTAzIDEyOjA5OjU4ICswMTAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGEgbmV3IFFDT00gY29sb3IgZm9ybWF0CgkgIEl0IGlzIGEgTlYxMiBiYXNlZCwgYWxpZ25lZCB0byAzMiBieXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjM1CgoyMDE0LTA1LTIzIDE1OjAwOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXJzdCB0cnkgdG8gZ2V0IHN5bWJvbHMgZnJvbSB0aGUgY3VycmVudCBwcm9ncmFtLCB0aGVuIGxvYWQgbGliZHZtCgkgIElmIHRoZSBhcHBsaWNhdGlvbiBpcyB1c2luZyB0aGUgbmV3IEFSVCBydW50aW1lIGl0IHdpbGwgb3RoZXJ3aXNlCgkgIGxvYWQgZGFsdmlrIGFuZCBzdGFydCBhIGRhbHZpayBWTSBuZXh0IHRvIHRoZSBBUlQgVk0uCgkgIERvZXMgbm90IHdvcmsgdmVyeSB3ZWxsIG9idmlvdXNseS4KCjIwMTMtMDQtMDEgMDc6NDk6MDEgKzAwMDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogYWRkIHN1cHBvcnQgZm9yIHZpZGVvIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxMjkKCjIwMTQtMDUtMjMgMTI6MDc6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogcHJvdmlkZSBjb21wYXRhYmlsaXR5IGRlZmluZXMKCSAgZml4ZXMgYnVpbGQgb24gYW5kcm9pZC9PUyBYCgoyMDE0LTA1LTIzIDExOjAxOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHJlbW92ZSBzY3JhdGNoIHRleHR1cmUgZm9yIFlVWTIvVVlWWQoJICBXZSBjYW4gZ2V0IGFsbCBvdXIgZGF0YSBmcm9tIHRoZSBvbmUgUkcvTEEgdGV4dHVyZSB3aXRoIHNvbWUgc2hhZGVyIG1hZ2ljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTIzIDEwOjU5OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IFJHQkEvVU5TSUdORURfQllURSBvbmx5IGZvcm1hdCBzdXBwb3J0ZWQgYnkgUmVhZFBpeGVscyBHTEVTMgoJICBFcnJvciBvdXQgaW4gY2FzZSB3ZSBhdHRlbXB0IHRvIHJlYWQgd2l0aCBhbnkgb3RoZXIgaW52YWxpZCBmb3JtYXQuCgoyMDE0LTA1LTIzIDEwOjU3OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IGdlbmVyYXRlIHRleHR1cmVzIHdpdGggYSBzaXplZCBpbnRlcm5hbCBmb3JtYXQKCSAgUmVxdWlyZWQgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgUkcgYW5kIFJFRCB0ZXh0dXJlZCB3aXRoIEdMRVMzLgoKMjAxNC0wNS0yMSAyMTo0Nzo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtb3J5OiBpbXBsZW1lbnQgR0xfRVhUX3RleHR1cmVfcmcgc3VwcG9ydAoJICBXaGljaCBpcyB1c2VkIGJ5IGRlZmF1bHQgb3ZlciB0aGUgTHVtaW5hbmNlIGZvcm1hdHMgZHVlIHRvIGl0CgkgIGJlaW5nIGNvbG9yIHJlbmRlcmFibGUgd2l0aCBmYm9zIChhbmQgZGVwcmVjYXRpb24vcmVtb3ZhbCB3aXRoCgkgIEdMIDMueCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDIyMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTIyIDExOjUwOjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIFJldmVydCAiaDI2NHBhcnNlcjogUmVtb3ZlIHVudXNlZCBmcHNfbnVtL2Zwc19kZW4gZmllbGRzIgoJICBUaGlzIGJyZWFrcyB0aGUgYnVpbGQgc2luY2UgbXNzIGhhcyBub3QgYmVlbiBwb3J0ZWQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWViNmE1MjA3NDJmZDgyODg4ZTQxZWEyM2Y5YTM5YWRkNTExMjVhMC4KCjIwMTQtMDUtMjIgMTY6MTI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bnVzZWQgZnBzX251bS9mcHNfZGVuIGZpZWxkcwoJICBJbnN0ZWFkIHRoZSBuZXdseSBhZGRlZCBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB0byBjYWxjdWxhdGUKCSAgdGhlIGZyYW1lcmF0ZSBwcm9wZXJseS4KCjIwMTQtMDUtMTkgMTc6NTI6MzggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBuZXcgZ3N0X2gyNjRfdmlkZW9fY2FsY3VsYXRlX2ZyYW1lcmF0ZSgpIHRvIGdldCBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNC0wNS0xOSAxNzo0Mzo1NCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzX2gyNjQ6IGFkZCBnc3RfaDI2NF92aWRlb19jYWxjdWxhdGVfZnJhbWVyYXRlKCkKCSAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB2aWRlbyBzdHJlYW0gZnJhbWVyYXRlIHdoaWNoIHJlbHkgb24KCSAgU1BTLCBzbGljZSBoZWFkZXIgYW5kIHBpYyB0aW1pbmcgdXNpbmcgZm9ybXVsYToKCSAgdGltZV9zY2FsZSAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgIDEKCSAgZnBzID0gLS0tLS0tLS0tLS0tLS0tLS0gIHggIC0tLS0tLS0tLS0tLS0tLSAgeCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgIG51bV91bml0c19pbl90aWNrICAgICBEZWx0YVRmaURpdmlzb3IgICAgIChmaWVsZF9waWNfZmxhZyA/IDIgOiAxKQoJICBTZWUgc2VjdGlvbiBFMi4xIG9mIEgyNjQgc3BlY2lmaWNhdGlvbiBmb3IgZGVmaW5pdGlvbiBvZiB2YXJpYWJsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTQtMDUtMjEgMjE6NDQ6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbC9jb250ZXh0OiBhZGQgZ2wgZXh0ZW5zaW9uIGNoZWNraW5nIHRvIGNoZWNrX2ZlYXR1cmUoKQoJICBVc2VmdWwgZm9yIGV4dGVuc2lvbnMgdGhhdCBkbyBub3QgZGVmaW5lIGFueSBuZXcgR0wgQVBJIGVudHJ5cG9pbnRzCgkgIGJ1dCBjYW4gc3RpbGwgbW9kaWZ5IGJlaGF2aW91ciB3aGVuIHVzZWQuCgoyMDE0LTA1LTIxIDIwOjM2OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsL2Rvd25sb2FkOiBmaXh1cCBZVVkyL1VZVlkgZG93bmxvYWQKCSAgUmVncmVzc2lvbiBmcm9tIDJkYTk3OTgzMWVjM2IxYThkOTkzZWI2ZjJkMzk5OWM1ODEwYzRkNjcgYXMgaXQgZGlkCgkgIG5vdCB1cGRhdGUgdGhlIGRvd25sb2FkIGNvZGUgdG8gcmVmbGVjdCB0aGUgY2hhbmdlIGluIHRleHR1cmUgZm9ybWF0LgoKMjAxNC0wNS0xOSAxMTo0ODo1NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc2V0IGZpZWxkX3BpY19mbGFnIHdoZW4gcGFyc2luZyBhIHNsaWNlIGhlYWRlcgoJICBmaWVsZF9waWNfZmxhZyB3YXMgdXNlZCBidXQgbmV2ZXIgc2V0IHRvIG90aGVyIHZhbHVlIHRoYW4gaXRzIGRlZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDM2MwoKMjAxNC0wNS0yMiAxMTo1NDo0MCArMDEwMCAgRGFtaWFuIFppb2JybyA8emlvYnJvLmRhbWlhbkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBzdG9yaW5nIG9mIHRoZSBJViBiYXNlZCBvbiB0aGUgbWVkaWEgc2VxdWVuY2UgbnVtYmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NzQKCjIwMTQtMDUtMjIgMTI6MjM6NTcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggYnVpbGRpbmcgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycwoJICBjNDAwZWVmMzc3MmI3ZGM0NzBlZWZhZTAyYTEyODhjMmIxMjVlMjVjIGludHJvZHVjZWQgc29tZSBkZWZpbmVzIHRvIGhhbmRsZQoJICBvbGRlciBrZXJuZWwgaGVhZGVycy4gSG93ZXZlciwgdGhlIGNoZWNrIGlzIGRvbmUgYmVmb3JlIHRoZSBjb3JyZXNwb25kaW5nCgkgIGtlcm5lbCBoZWFkZXIgKGR2Yi9mcm9udGVuZC5oKSBpcyBpbmNsdWRlZC4gQXMgYSByZXN1bHQgdGhlIG1hY3JvcyBhcmUKCSAgYWx3YXlzIGRlZmluZWQgd2l0aCByZXN1bHRzIGluICdyZWRlZmluZWQnIGVycm9ycyB3aXRoIG5ld2VyIGtlcm5lbAoJICBoZWFkZXJzLgoJICBNb3ZlIHRoZSBjaGVjayBhZnRlciB0aGUgaW5jbHVkZSB0byBmaXggdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU3MAoKMjAxNC0wNS0yMSAxMzoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjIgPT09CgoyMDE0LTA1LTIxIDEzOjA2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMgoKMjAxNC0wNS0yMSAxMjo0Mjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTIxIDE5OjQ3OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGZpeHVwIHBhc3N0aHJvdWdoIGJ1ZmZlcnBvb2wKCSAgSW4gYSBwaXBlbGluZSBsaWtlIHNvOgoJICB2aWRlb3Rlc3RzcmMgISBnbGVmZmVjdHMgISB2aWRlb2NvbnZlcnQgISBzaW5rCgkgIGdsZWZmZWN0cyB3YXMgc2ltcGx5IHBhc3NpbmcgdGhlIHZpZGVvY29udmVydCBidWZmZXJwb29sIHRvIHZpZGVvdGVzdHNyYwoJICBhbmQgbm90IGNyZWF0aW5nIGEgZ2xidWZmZXJwb29sLiB2aWRlb2J1ZmZlcnBvb2wgd291bGQgdGhlbiBmYWlsCgkgIHRvIGFsbG9jYXRlIGZyb20gdGhlIGdsYWxsb2NhdG9yLgoKMjAxNC0wNS0yMSAxMDo1MToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjExZmE1ZiB0byAxZjVkM2MzCgoyMDE0LTA1LTIxIDA4OjUzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgZHZiLXNlY3Rpb246IERvbid0IGNvbXBhcmUgdW5zaWduZWQgaW50ZWdlcnMgZm9yID49IDAKCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6MTI6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+IF4gIH4KCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6NDA6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+fn4gXiAgfgoJICBnc3QtZHZiLXNlY3Rpb24uYzo5Mzo3MDogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn5+fiBeICB+CgoyMDE0LTA1LTIwIDE3OjA5OjQzICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJICBjdXJsc3Noc2luazogcG9zdCBlcnJvciBvbiBidXMgaW4gZWxlbWVudCwgbm90IHRyYW5zZmVyIHRocmVhZAoJICBMb29rcyBsaWtlIHRoaXMgZmlsZSB3YXMgbWlzc2VkIGluIEJ1ZyA3Mjg5NjA6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ1OQoKMjAxNC0wNS0yMSAxMDoyNjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHN3aXRjaCB0aGUgJ21hc3RlcicgdGV4dHVyZSBmb3IgWVVZMiwgVVlWWQoJICBGcm9tIGQ0YmNlZjMyMDQ3MDkxNTk3MTNmZjE2MzA5NzhlY2FjMGJkOTFkYzkgb24sIHVzaW5nIGEgUkdCQQoJICB0ZXh0dXJlIHRvIGhvbGQgdGhlIGRhdGEgY2F1c2VzIHRoZSBnbG1lbW9yeSB0byBoYXZlIGhhbGYgd2lkdGgKCSAgYW5kIGEgc2NhbGluZyBvZiBbMiwgMV0uICBVc2luZyBhIExBIHRleHR1cmUgc29sdmVzIHRoaXMgcHJvYmxlbQoJICBob3dldmVyIGNhbm5vdCBiZSBhdHRhY2hlZCB0byB0aGUgZnJhbWVidWZmZXIgZm9yIGNvcHlpbmcgaW50bwoJICBhIFJHQkEgdGV4dHVyZS4gIFdoaWNoIHdpbGwgYmUgc29sdmVkIGJ5IG1vdmluZyB0byBFWFRfdGV4dHVyZV9yZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0xNCAxNzo1OTo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9lZ2xpbWFnZTogYWRkIGVnbGltYWdlIGNvbnRleHQgZmVhdHVyZQoJICBBbGxvd3MgdXMgdG8gc2VsZWN0aXZlbHkgdXNlIEVHTEltYWdlcyBvbmx5IHdoZW4gYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyMzQKCjIwMTQtMDUtMTQgMTc6MzM6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IGFkZCBnZW5lcmljIGZlYXR1cmUgY2hlY2tpbmcKCSAgQXQgdGhlIG1vbWVudCBpdCBzaW1wbHkgZGVsZWdhdGVzIHRvIHRoZSBzdWJjbGFzcy4KCjIwMTQtMDUtMjAgMTE6NDI6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSAgYmF5ZXI6IGZpeCB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDEtMjggMTQ6MDQ6MTEgKzAxMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJICBjdXJsc2Z0cHNpbms6IGF1dGhlbnRpY2F0ZSByZW1vdGUgaG9zdCB2aWEgcHVibGljIGtleSBmaW5nZXJwcmludAoJICBFeHBvc2Ugb25lIG1vcmUgbGliY3VybCBvcHRpb246IENVUkxPUFRfU1NIX0hPU1RfUFVCTElDX0tFWV9NRDUuCgkgIFRoaXMgYWxsb3dzIGF1dGhlbnRpY2F0aW5nIHRoZSBzZXJ2ZXIgYnkgdGhlIE1ENSBmaW5nZXJwcmludCBvZgoJICB0aGUgc2VydmVyJ3MgcHVibGljIGtleS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzE2NwoKMjAxNC0wNS0xOSAxMzo0Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IENoZWNrIGhvdXI6bWludXRlOnNlY29uZCB2YWx1ZXMgYmVmb3JlIGNyZWF0aW5nIGRhdGV0aW1lCgkgIEF2b2lkcyBhc3NlcnRpb25zIHdoZW4gdGhlIHBhY2tldHMgYXJlIG1hbGZvcm1lZCBhbmQgYWxzbyBhZGQgdGhlIGNhc2UKCSAgd2hlcmUgdGhlIHRpbWUgaXNuJ3Qgc3BlY2lmaWVkLCBvbmx5IHRoZSBkYXRlLgoKMjAxNC0wNS0xOSAxMjoyNTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2hlY2sgaWYgY29udGV4dCBjcmVhdGlvbiBmYWlsZWQgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2F1c2UgYXNzZXJ0aW9ucyBldmVyeXdoZXJlIGJ5IHBhc3NpbmcgTlVMTCB0byBmdW5jdGlvbnMKCSAgYW5kIGV2ZW50dWFsbHkgY3Jhc2ggd2hlbiBkZXJlZmVyZW5jaW5nIGEgTlVMTCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMDY5CgoyMDE0LTA1LTE5IDEyOjIxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEFkZCBtb3JlIGFzc2VydGlvbnMgdG8gbWFrZSBzdXJlIHRoYXQgZXZlcnl0aGluZyBzZXRzIHRoZSBHRXJyb3IgZHVyaW5nIGNvbnRleHQgY3JlYXRpb24gaWYgc29tZXRoaW5nIGZhaWxzCgoyMDE0LTA1LTE5IDExOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiBEb24ndCBwYXNzIGZsb2F0cyB0byBhYnMoKSBidXQgaW5zdGVhZCBjYXN0IHRoZW0gdG8gaW50cyBmaXJzdAoJICBnc3RmcmVldmVyYi5jOjc4MToyOTogZXJyb3I6IHVzaW5nIGludGVnZXIgYWJzb2x1dGUgdmFsdWUgZnVuY3Rpb24gJ2Ficycgd2hlbgoJICBhcmd1bWVudCBpcyBvZiBmbG9hdGluZyBwb2ludCB0eXBlIFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIGlmIChhYnMgKG91dF9sMikgPiAwIHx8IGFicyAob3V0X3IyKSA+IDApCgoyMDE0LTA1LTE5IDA5OjEyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBVbnJlZiBoYW5kbGUgYW5kIG91dHB1dCBzdGF0ZSBvbiBlcnJvciBwYXRocwoJICBDSUQgMTIxNDYwNAoKMjAxNC0wNS0xNiAwOToxMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IFdvcmsgYXJvdW5kIHJhY2UgY29uZGl0aW9uIGluIEFuZHJvaWQgPCA0LjIgdGhhdCBsZWFkcyB0byBkZWFkbG9ja3Mgb24gc2h1dGRvd24KCSAgV2UgbmVlZCB0byBzbGVlcCBhIGJpdCBiZWZvcmUgZGVzdHJveWluZyB0aGUgcGxheWVyIG9iamVjdAoJICBiZWNhdXNlIG9mIGEgYnVnIGluIEFuZHJvaWQgaW4gdmVyc2lvbnMgPCA0LjIuCgkgIE9wZW5TTEVTIGlzIHVzaW5nIEF1ZGlvVHJhY2sgZm9yIHJlbmRlcmluZyB0aGUgc291bmQuIEF1ZGlvVHJhY2sKCSAgaGFzIGEgdGhyZWFkIHRoYXQgcHVsbHMgcmF3IGF1ZGlvIGZyb20gdGhlIGJ1ZmZlciBxdWV1ZSBhbmQgdGhlbgoJICBwYXNzZXMgaXQgZm9yd2FyZCB0byBBdWRpb0ZsaW5nZXIgKEF1ZGlvVHJhY2s6OnByb2Nlc3NBdWRpb0J1ZmZlcigpKS4KCSAgVGhpcyB0aHJlYWQgaXMgY2FsbGluZyB2YXJpb3VzIGNhbGxiYWNrcyBvbiBldmVudHMsIGUuZy4gd2hlbgoJICBhbiB1bmRlcnJ1biBoYXBwZW5zIG9yIHRvIHJlcXVlc3QgZGF0YS4gT3BlblNMRVMgc2V0cyB0aGlzIGNhbGxiYWNrCgkgIG9uIEF1ZGlvVHJhY2sgKGF1ZGlvVHJhY2tfY2FsbEJhY2tfcHVsbEZyb21CdWZmUXVldWUoKSBmcm9tCgkgIGFuZHJvaWRfQXVkaW9QbGF5ZXIuY3BwKS4gQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgaXMgdGFraW5nIGEgbG9jawoJICBvbiB0aGUgcGxheWVyIGludGVyZmFjZS4KCSAgTm93IGlmIHdlIGRlc3Ryb3kgdGhlIHBsYXllciBpbnRlcmZhY2Ugb2JqZWN0LCBpdCB3aWxsIGZpcnN0IG9mIGFsbAoJICB0YWtlIHRoZSBwbGF5ZXIgaW50ZXJmYWNlIGxvY2sgKElPYmplY3RfRGVzdHJveSgpKS4gVGhlbiBpdCBkZXN0cm95cwoJICB0aGUgYXVkaW8gcGxheWVyIGluc3RhbmNlIChhbmRyb2lkX2F1ZGlvUGxheWVyX2Rlc3Ryb3koKSkgd2hpY2ggdGhlbgoJICBjYWxscyBzdG9wKCkgb24gdGhlIEF1ZGlvVHJhY2sgYW5kIGRlbGV0ZXMgaXQuIE5vdyB0aGUgZGVzdHJ1Y3RvciBvZgoJICBBdWRpb1RyYWNrIHdpbGwgd2FpdCB1bnRpbCB0aGUgcmVuZGVyaW5nIHRocmVhZCAoQXVkaW9UcmFjazo6cHJvY2Vzc0F1ZGlvQnVmZmVyKCkpCgkgIGhhcyBmaW5pc2hlZC4KCSAgSWYgYWxsIHRoaXMgaGFwcGVucyB3aXRoIGJhZCB0aW1pbmcgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSByZW5kZXJpbmcKCSAgdGhyZWFkIGlzIGN1cnJlbnRseSBlLmcuIGhhbmRsaW5nIHVuZGVycnVuIGJ1dCBkaWQgbm90IGxvY2sgdGhlIHBsYXllcgoJICBpbnRlcmZhY2Ugb2JqZWN0IHlldC4gVGhlbiBkZXN0cm95aW5nIGhhcHBlbnMgYW5kIHRha2VzIHRoZSBsb2NrIGFuZCB3YWl0cwoJICBmb3IgdGhlIHRocmVhZCB0byBmaW5pc2guIFRoZW4gdGhlIHRocmVhZCB0cmllcyB0byB0YWtlIHRoZSBsb2NrIGFuZCB3YWl0cwoJICBmb3JldmVyLgoJICBXZSB3YWl0IGEgYml0IGJlZm9yZSBkZXN0cm95aW5nIHRoZSBwbGF5ZXIgb2JqZWN0IHRvIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSByZW5kZXJpbmcgdGhyZWFkIGZpbmlzaGVkIHdoYXRldmVyIGl0IHdhcyBkb2luZywgYW5kIHRoZW4gc3RvcHMKCSAgKG5vdGU6IHdlIGNhbGxlZCBnc3Rfb3BlbnNsZXNfcmluZ2J1ZmZlcl9zdG9wKCkgYmVmb3JlIHRoaXMgYWxyZWFkeSkuCgoyMDE0LTA1LTE1IDIwOjM0OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IG1wZWd0c2Rlc2NyaXB0b3I6IGZpeCBnb2JqZWN0LWludHJvc3BlY3Rpb24gd2FybmluZ3MKCSAgQWRkcyBtaXNzaW5nIDogdG8gZ29iamVjdC1pbnRyb3NwZWN0aW9uIG1hcmtlcnMKCjIwMTQtMDUtMTUgMTk6MTY6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHNlY3Rpb25zOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIHBhY2tldCBwYXJzaW5nIGZhaWxzCgkgIHRoZSBkZXNjcmlwdG9ycyBlbnRyeSBjYW4gYmUgbGVmdCBhcyBOVUxMIGFuZCBmcmVlaW5nIHRoZSBzdHJ1Y3R1cmUKCSAgd2lsbCBmYWlsIChhc3NlcnRpb24gaGFwcGVucykKCjIwMTQtMDUtMTQgMjE6MzI6MTAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBtb3Rpb25jZWxsczogZml4IG1lbWxlYWsKCSAgQ2hlY2sgZ3N0X2J1ZmZlcl9tYXAgcmV0dXJuIGFuZCByZW1lbWJlciB0byB1bm1hcCBhbmQgZnJlZSBtZW1vcnkgYmVmb3JlCgkgIHJldHVybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTMzCgoyMDE0LTA1LTE0IDExOjQ3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IGZpeCBwcm9wZXJ0eSBuYW1lcwoJICBUaGVzZSB3ZXJlIGZvcmdvdHRlbiB3aGVuIHRoZXkgZ290IHJlbmFtZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3MzEKCjIwMTQtMDUtMTMgMTQ6MTM6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvZG93bmxvYWQ6IHVwZGF0ZSB0byBiZSBzaW1pbGFyIHRvIHRoZSBnbHVwbG9hZCBzZW1hbnRpY3MKCjIwMTQtMDUtMTMgMTQ6MDc6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogZml4IHVwIGFscGhhIGNsb2JiZXJpbmcKCSAgUHJldmlvdXNseSBpdCB3b3VsZCBvbmx5IHdvcmsgaWYgdGhlIGFscGhhIHZhbHVlIHdhcyBpbiB0aGUgbGFzdAoJICBjb21wb25lbnQgKFJHQngsIEJHUngpLiAgTm93IGl0IHdvcmtzIHdoZXJldmVyIHRoZSBhbHBoYSB2YWx1ZSBtYXkKCSAgYmUgKHhSR0IsIHhCR1IsIGV0YykuCgoyMDE0LTA1LTE0IDAwOjIzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gZXJyb3Jpbmcgb3V0IG9uIHVuc3VwcG9ydGVkIGVzc2VuY2Ugd3JhcHBpbmcKCjIwMTQtMDQtMTAgMTY6MTA6MDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBBZGQgbWlzc2luZyBiYWNrc2xhc2ggaW4gQW5kcm9pZC5tawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTY4CgoyMDE0LTA1LTEzIDE2OjI5OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkbyBub3QgbGVhayBwbGF5bGlzdCBvYmplY3QKCSAgSW4gZmluYWxpemUsIGFsc28gcmVsZWFzZSB0aGUgcGxheWxpc3QKCjIwMTQtMDUtMTMgMTM6MTY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRml4IGJ1aWxkaW5nIHdpdGhvdXQgRUdMIHN1cHBvcnQKCSAgVGhpcyBmaXhlcyB0aGUgT1NYIGJ1aWxkIGFuZCBhbnkgYnVpbGRzIHdpdGggLS1kaXNhYmxlLWVnbC4gVGhhdCBpc3N1ZQoJICB3YXMgaW50cm9kdWNlZCBpbiAiZ2xmaWx0ZXI6IHJld3JpdGUgdHJhbnNmb3JtX2NhcHMgdG8gcHJlc2VydmUgY2FwcyBmaWVsZHMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTEzIDEzOjMwOjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcmV3cml0ZSB0cmFuc2Zvcm1fY2FwcyB0byBwcmVzZXJ2ZSBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTEzIDEwOjUzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiB1c2UgdGhlIHRleHR1cmUgc2NhbGluZyBmcm9tIHRoZSBnbCBtZW1vcnkKCSAgVGhlIGNvbG9yY29udmVydCB2YWx1ZXMgd2VyZSBub3QgYmVpbmcgdXNlZCBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTIgMTk6Mjk6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogRml4IGhhbmRsaW5nIG9mIHN0cmlkZSB3aXRoIGFsaWduZW1lbnQgbGFyZ2VyIHRoZW4gOAoJICBTZXR0aW5nIGEgc2NhbGVkIGZhY3RvciBmb3IgWCBjb29yZGluYXRlIGlzIG5vdCBlbm91Z2ggYXMgdGhlIGluZGV4ZXIKCSAgd2lsbCBzdGlsbCB0aGluayBzdHJpZGUgaXMgc2hvcnRlciBhbmQgd2lsbCBub3QgZnVsbHkgc2tpcCBpdC4gSW5zdGVhZCwKCSAgdXBkYXRlIHdpZHRoLCBzbyB0aGUgbGluZXMgYXJlIGFzIGV4cGVjdGVkLiBDb21iaW5lZCB3aXRoIHRoZSBzY2FsZSwgaXQKCSAgd2lsbCBoaWRlIHRoZSBjcm9wcGVkIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTMgMTE6MjI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBwcm9wZXJseSB1bnJlZiBnc3RkYXRldGltZQoJICBBdm9pZCBsZWFraW5nIHRoZSBHc3REYXRlVGltZSBpbnN0YW5jZXMgd2hlbiBzdW1taW5nIGRhdGVzCgkgIENJRCAjMTIxMjE0MwoKMjAxNC0wNS0xMyAxMDoyNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IGF2b2lkIGRvdWJsZSBmcmVlIG9mIHNlZ21lbnQgdGltZWxpbmUgbm9kZQoJICBUaGUgcGFyc2luZyBmdW5jdGlvbiBhbHJlYWR5IGZyZWVzIHRoZSBvbGQgdmFsdWUgKGlmIGFueSksIGF2b2lkIGEgZG91YmxlCgkgIGZyZWUgYnkgbm90IGZyZWVpbmcgaXQgYmVmb3JlIGNhbGxpbmcgdGhlIGZ1bmN0aW9uIHdpdGhvdXQgc2V0dGluZyB0aGUKCSAgcG9pbnRlciB0byBOVUxMCgkgIENvdmVyaXR5IElEOiAxMjEyMTc4CgoyMDE0LTA1LTEzIDEwOjEzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogYXZvaWQgZG91YmxlIGZyZWUKCSAgVGhlIF9wYXJzZV91cmwgZnVuY3Rpb24gYWxyZWFkeSBmcmVlcyB0aGUgcHJldmlvdXMgcG9pbnRlciwgYXZvaWQKCSAgZnJlZWluZyBpdCBiZWZvcmUgd2l0aG91dCBzZXR0aW5nIHRvIG51bGwgb3Igd2UgaGF2ZSBhIGRvdWJsZSBmcmVlLgoJICBDb3Zlcml0eSBJRDogMTIxMjE4MQoJICBDb3Zlcml0eSBJRDogMTIxMjE4MAoJICBDb3Zlcml0eSBJRDogMTIxMjE3OQoKMjAxNC0wNS0xMyAxNDoyMToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBVc2UgcG9vbCBjb25maWd1cmF0aW9uCgkgIEl0IHdhcyBsZWFraW5nIHRoZSBjb25maWcsIGJ1dCBhbHNvIG5vdCB1c2luZyBpdC4uLgoJICBDSUQgIzEyMTIxNTUKCjIwMTQtMDUtMTMgMTQ6MTU6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBEb24ndCBsZWFrIEdzdFZpZGVvQ29kZWNTdGF0ZQoJICBBbmQgYXZvaWQgdXNlbGVzcyBjYWxsIHRvIF9nZXRfb3V0cHV0X3N0YXRlIChzZXRfb3V0cHV0X3N0YXRlKCkgYWxyZWFkeQoJICByZXR1cm5zIGl0KS4KCSAgQ0lEICMxMjEyMTYwCgkgIENJRCAjMTIxMjE2MQoKMjAxNC0wNS0xMyAxMzo1NDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IFNtYWxsIHJld3JpdGUKCSAgU2V0dGluZyBkb25lIHdhcyB1c2VsZXNzIGFueXdheQoKMjAxNC0wNS0xMyAxMzo1Mjo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogRG9uJ3QgbGVhayBHc3RBY3RpdmVTdHJlYW0KCSAgQ0lEICMxMjEyMTQyCgoyMDE0LTA1LTEzIDExOjQxOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogRG9uJ3QgbGVhayBHc3RTaG1QaXBlCgkgIEJ5IHJlb3JkZXJpbmcgdGhlIGxlYWtpbmcgY29kZSBwYXRoIHRvIGJlZm9yZSB0aGUgYWxsb2NhdGlvbgoJICBDSUQgIzEyMTIxNTMKCjIwMTQtMDUtMTMgMTE6Mzg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5kZWM6IERvbid0IGxlYWsgb3V0cHV0IHN0YXRlCgkgIF9zZXRfb3V0cHV0X3N0YXRlIHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIGNvZGVjIHN0YXRlLgoJICBDSUQgIzEyMTIxNzAKCjIwMTQtMDUtMTMgMTE6MzU6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgbGVhayBhZGFwdGVyIGRhdGEKCSAgQ0lEICMxMjEyMTU4CgoyMDE0LTA1LTEzIDExOjMwOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OyBGaXggc3RyZWFtIGxlYWsKCSAgQ0lEICMxMjEyMTY0CgoyMDE0LTA1LTEzIDExOjIzOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IERvbid0IGxlYWsgdmFyaW91cyBzbGljZXMgYW5kIGFycmF5cwoJICBDSUQgIzEyMTIxMzkKCSAgQ0lEICMxMjEyMTQwCgkgIENJRCAjMTIxMjE0MQoKMjAxNC0wNS0xMyAxMToxOToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBEb24ndCBsZWFrIGJ5dGVyZWFkZXIKCSAgQnkgbWFraW5nIGl0IGdvIHRocm91Z2ggdGhlIGVycm9yIHBhdGggdGhhdCB0YWtlcyBjYXJlIG9mIGNsZWFudXBzCgkgIENJRCAjMTIxMjE2OAoKMjAxNC0wNS0xMiAxMzo1MDo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBFbnN1cmUgd2Ugc3RpbGwgaGF2ZSBhIHRleHR1cmUgYWZ0ZXIgdXBsb2FkX3NldF9mb3JtYXQoKQoJICBnc3RfZ2xfdXBsb2FkX3NldF9mb3JtYXQoKSByZXNldHMgdGhlIHVwbG9hZCwgaGVuY2UgdGhlIHRleHR1cmUuCgkgIFNvIHdlIG5lZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSB0ZXh0dXJlIGFmdGVyIHRoaXMgY2FsbCB3aGVuCgkgIHVwbG9hZGluZy4KCjIwMTQtMDUtMTIgMTI6NTk6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ29ycmVjdGx5IHVwZGF0ZSB0aGUgdmlkZW8gaW5mbyBmcm9tIHZpZGVvIG1ldGEKCSAgVXNpbmcgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpIGlzbid0IGNvbXBsZXRlIHdoZW4gdXBkYXRpbmcKCSAgYSB2aWRlbyBpbmZvIGZyb20gdmlkZW8gbWV0YS4KCjIwMTQtMDUtMTIgMTI6NTc6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ29ycmVjdGx5IHVwZGF0ZSB2aWRlbyBpbmZvIGluIHVwbG9hZCBmYWxsYmFjawoJICBXaGVuIHRoZSB1cGxvYWQgYWNjZWxlcmF0ZWQgbWV0aG9kIGZhaWxzLCB3ZSBmYWxsYmFjayB0byBhbiB1cGxvYWQsCgkgIGJ1dCB0aGUgdmlkZW8gaW5mbyB3YXMgbm90IGNvcnJlY3RseSB1cGRhdGVkLgoKMjAxNC0wNS0xMiAxODoyODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhdm9pZCBkZWFkbG9ja2luZyB3aGVuIGVycm9yaW5nCgkgIEl0IG1pZ2h0IGdldCBzdHVjayB3aGVuIHBvc3RpbmcgdGhlIG1lc3NhZ2Ugd2hpbGUKCSAgYSByZWNvbmZpZ3VyZSBldmVudCBpcyBiZWluZyBwdXNoZWQgdXBzdHJlYW0KCjIwMTQtMDUtMTIgMTc6Mzc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGNhcHMgbGVhawoKMjAxNC0wNS0xMiAxNTo0MzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgZnJvbSBpbnRlcm5hbCBzb3VyY2UKCSAgc2V0IHVwIGEgYmluIG1lc3NhZ2UgaGFuZGxlciB0byBnZXQgbm90aWZpZWQgb2YgZXJyb3IgbWVzc2FnZXMgZnJvbQoJICB0aGUgaW50ZXJuYWwgc291cmNlIGVsZW1lbnQKCjIwMTQtMDUtMTIgMTQ6NTg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWx3YXlzIGFjY2VwdCB0aGUgbGF0ZW5jeSBjb25maWd1cmUgZXZlbnQKCSAgVXBzdHJlYW0gb3IgaW50ZXJuYWwgZWxlbWVudHMgYXJlIGlycmVsZXZhbnQgYW5kIHdlIHNob3VsZAoJICBhbHdheXMgc3VjY2VlZC4KCjIwMTQtMDUtMTIgMTQ6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZWVuYWJsZSBzZWdtZW50IHRyYWNraW5nIGZvciBzdHJlYW1zCgkgIFN0b3JlIHRoZSBsYXRlc3QgcHVzaGVkIHRpbWVzdGFtcCBzbyB0aGF0IG1zc2RlbXV4IHN0cmVhbXMga25vdwoJICB3aGVyZSB0aGV5IGFyZSBpbiB0aW1lCgoyMDE0LTA1LTEyIDE0OjIzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRlcHJlY2F0ZSB1bnVzZWQgbWF4LXF1ZXVlLXNpemUtYnVmZmVycwoJICBUaGVyZSBpcyBubyBpbnRlcm5hbCBzdG9yYWdlIG9mIGJ1ZmZlcnMgYW55bW9yZQoKMjAxNC0wNS0xMiAxNDoxODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IG1lYXN1cmUgYml0cmF0ZSBzaW1pbGFybHkgdG8gaGxzZGVtdXgKCSAgbmV3IGJpdHJhdGUgPSAob2xkIGJpdHJhdGUgKyAobGFzdCBmcmFnbWVudCBiaXRyYXRlICogMykpIC8gNAoKMjAxNC0wNS0xMiAxMzo0MDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSB1cmlkb3dubG9hZGVyIGluIGZhdm9yIG9mIGludGVybmFsIHNvdXJjZQoJICBSZWZhY3RvciBtc3NkZW11eCB0byByZW1vdmUgdXJpZG93bmxvYWRlciB0byB1c2UgYW4gaW50ZXJuYWwKCSAgc291cmNlIGVsZW1lbnQgd2hpY2ggcmVkdWNlcyBzdGFydHVwIGxhdGVuY3kgYW5kIHByb3ZpZGVzIHNtYWxsZXIKCSAgYnVmZmVycyBmb3IgYmV0dGVyIGJ1ZmZlcmluZyBtYW5hZ2VtZW50IGRvd25zdHJlYW0KCjIwMTQtMDUtMTIgMTM6Mjg6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW5pdGlhbGl6ZSB0aGUgbXV0ZXggYW5kIGNvbmQgZm9yIGZyYWdtZW50IGRvd25sb2FkCgoyMDE0LTA1LTEyIDEzOjMyOjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNldCBvdXRfdGV4IGFmdGVyIHJlc2V0LCBub3QgYmVmb3JlCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCByZWNlbnRseSB3aXRoIHRoZSBsYXp5IGluaXQuCgkgIEl0IHdhcyBoYXBwZW5pbmcgd2hlbiBjYWxsaW5nIGdzdF92aWRlb19nbF90ZXh0dXJlX3VwbG9hZF9tZXRhX3VwbG9hZAoJICBmcm9tIGFuIGFwbGljYXRpb24uIFNvIG5vdCB1c2luZyBnc3RfZ2xfdXBsb2FkX3BlcmZvcm1fd2l0aF9idWZmZXIuCgoyMDE0LTA1LTExIDEyOjQ4OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHVwZGF0ZSB0aGUgdmlkZW8gaW5mbyBvbiBtYXBwaW5nIGEgdmlkZW8gZnJhbWUKCSAgVGhlIGJ1ZmZlciBzaG91bGQgY29udGFpbiB0aGUgbW9zdCBzcGVjaWZpYyBkYXRhIG9uIGhvdyB0aGUgZGF0YSBpcwoJICBmb3JtYXR0ZWQuICBXZSBzaG91bGQgdXNlIHRoaXMgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTYKCjIwMTQtMDUtMTIgMjE6NTY6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbnZlcnQ6IGNsb2JiZXIgYWxwaGEgY2hhbm5lbCB3aGVuIG5lZWRlZAoJICBOZWVkZWQgaW4gdGhlIGNvbnZlcnNpb24gZnJvbSBwYWRkZWQgUkdCIGZvcm1hdHMgdG8gZm9ybWF0cyB3aXRoIGFuCgkgIGFscGhhIGNoYW5uZWwuICBlLmcuIEJHUnggLT4gQUJHUiwgZXRjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NDIKCjIwMTQtMDUtMTIgMjE6NTE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYXZvaWQgcGVyZm9ybWluZyBjb2xvciBjb252ZXJzaW9uIHdoZW4gdGhlcmUgaXMgbm8gbmVlZAoJICBPbmUgc3VjaCBleGFtcGxlIGlzIHdoZW4gdGhlIGJ1ZmZlciBjb250YWlucyBHc3RHTE1lbW9yeSBpbiB0aGUKCSAgUkdCQSBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTI3OAoKMjAxNC0wNS0xMiAxMDowMTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgZnJlZSBzdHJpbmcgd2UncmUgc3RpbGwgdXNpbmcKCSAgQ0lEIDEyMTM3ODAKCjIwMTQtMDUtMTEgMTU6MjY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgc3RyZWFtIHVyaWRvd25sb2FkZXIKCSAgVGhlIHVyaWRvd25sb2FkZXIgZm9yIHRoZSBzdHJlYW0gZnJhZ21lbnRzIGlzbid0IHVzZWQgYW55bW9yZS4KCjIwMTQtMDUtMTEgMDc6NTY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvIG5vdCB0cnkgdG8gYWRkIGEgZmVhdHVyZSB0byBhIGNhcHMgZmVhdHVyZXMgQU5ZCgkgIEl0IGRvZXMgbm90IG1ha2VzIHNlbnNlIGFuZCBhc3NlcnRzCgkgIEJhc2VkIG9uIDdmOWFhYzM4NmZkNWQ1OTIxYzgwMTAwODg5YTVmMjEyYzAxNDhhODggZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAxNC0wNS0xMSAwNzo1NTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG8gbm90IHRyeSB0byBhZGQgYSBmZWF0dXJlIHRvIGEgY2FwcyBmZWF0dXJlcyBBTlkKCSAgSXQgZG9lcyBub3QgbWFrZXMgc2Vuc2UgYW5kIGFzc2VydHMuCgkgIEJhc2VkIG9uIDdmOWFhYzM4NmZkNWQ1OTIxYzgwMTAwODg5YTVmMjEyYzAxNDhhODggZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAxNC0wNS0xMSAxNDowMjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBjaG9vc2UgdGhlIHJpZ2h0IGFscGhhIGNvbXBvbmVudCBmb3IgQVlVViAtPiBSR0JBCgoyMDE0LTA1LTExIDEwOjI3OjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHVwZGF0ZSB0aGUgcmVzcGVjdGl2ZSBzdGF0ZSB3aGVuIHdlIGNhY2hlIHRleHR1cmVzL2RhdGEKCjIwMTQtMDUtMDEgMDI6MTA6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgQysrIHN0eWxlIGNvbW1lbnRzCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMDEgMDE6NTg6MDMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1cCBlcnJvciByZXBvcnRpbmcKCSAgVGhpcyBwYXRjaCBidWlsZHMgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0xMCAyMzozMzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBjYWNoZSB0aGUgdGV4dHVyZXMgdGhhdCB3ZSBhcmUgdXNpbmcKCjIwMTQtMDUtMTAgMjI6NDg6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYXZvaWQgcmVjcmVhdGluZyB0aGUgR0xNZW1vcnkgc3RydWN0IGZvciBvdXRwdXQgdGV4dHVyZXMKCjIwMTQtMDQtMTEgMTk6Mzg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGltbWVkaWF0ZWx5IHdpdGhvdXQgYW55IGRhdGEKCSAgSXQncyBub3QgcmVhbGx5IHJpZ2h0IHRvIGp1c3QgZ28gRU9TIGFzIGlmIG5vdGhpbmcgd2FzIHdyb25nLgoKMjAxNC0wNS0xMCAxMjo1NDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBjb25mdXNpbmcgZGVidWcgbG9nIGxpbmUKCjIwMTQtMDUtMDcgMjA6MDg6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBmYWN0b3JpZXMgZG9uJ3QgbmVlZCB0aGUgbG9jawoJICBBbiBhdG9taWMgaXMgZW5vdWdoLCB0aGV5IGNhbiBvbmx5IGJlIHNldCBvbmNlLgoKMjAxNC0wNS0wOSAyMDowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBSZXZlcnQgImF1dG9jb252ZXJ0OiBIYW5kbGUgY2FwcyBxdWVyeSBvbiBpbnRlcm5hbCBzcmNwYWQiCgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnltb3JlIGlmIHRoZSBnc3RfcGFkX2xpbmsgY2hlY2tzIG5vdGhpbmcuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTMwMzM3NWEzZjVjMTJlOTdjYThiZjUwYjVhOTNjZTg2NTJmYWYyMy4KCjIwMTQtMDUtMDkgMjA6MTI6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IE5vIG5lZWQgdG8gY2hlY2sgYW55dGhpbmcgd2hlbiBsaW5raW5nIGludGVybmFsIHBhZHMKCjIwMTQtMDUtMDkgMjA6MDU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGlnbm9yZSBlbGVtZW50cyBhY2NlcHRlZCBBTlksIGl0IGlzIHZhbGlkCgoyMDE0LTA1LTA5IDE4OjQ5OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgYnJva2VuIHVzYWdlIG9mIHRoZSBpdGVyYXRvcgoJICBXZSdyZSBhIHN1YmNsYXNzLCBzbyB3ZSBjYW4ganVzdCB0YWtlIHRoZSBvYmplY3QgbG9jayBhbmQgaXRlcmF0ZSB0aGUgbGlzdAoJICBkaXJlY3RseS4KCjIwMTQtMDUtMDggMTk6MzU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFByb2Nlc3MgdXBzdHJlYW0gZ2V0Y2FwcwoJICBQcm9jZXNzIGl0IGxpa2UgZG93bnN0cmVhbSBnZXRjYXBzCgoyMDE0LTA1LTA3IDIwOjAwOjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZXR1cm4gdGhlIEdMaXN0IG9mIGZhY3RvcmllcywgdG8gYSBwb2ludGVyIHRvIGl0LgoKMjAxNC0wNS0wNyAxOTo1NDo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IHN1YmVsZW1lbnQgY2FuIG9ubHkgYmUgY2hhbmdlIHdpdGggc3RyZWFtIGxvY2sgaGVsZAoJICBJdCB3YXMgYWxyZWFkeSB0aGUgY2FzZSwgbm93IGJlIG1vcmUgZXhwbGljaXQgYWJvdXQgdGhhdCwgYW5kIHJlbW92ZSB1c2VsZXNzCgkgIGxvY2svcmVmL3VubG9jay91bnJlZiBkYW5jZXMuCgoyMDE0LTA1LTA3IDE5OjQ4OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBLZWVwIGEgcmVmIHRvIHRoZSBwYWRzIHRvbwoJICBTaW1wbGlmaWVzIHRoZSBjb2RlCgoyMDE0LTA1LTA3IDE5OjQ3OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdW5lZWRlZCBpZigpCgkgIE5VTEwgaXMgdmFsaWQgR0xpc3QKCjIwMTQtMDUtMDcgMTk6NDQ6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFsd2F5cyBwdXNoIHJlY29uZmlndXJlIHVwc3RyZWFtIHRvbwoJICBBIHJlY29uZmlndXJlIGNvdWxkIHRyaWdnZXIgYSBjaGFuZ2Ugb2YgY29udGVudHMgaW5zdGVhZCBvZiBqdXN0IHJlY29uZmlndXJpbmcgdGhlIGludGVybmFsIGVsZW1lbnQKCjIwMTQtMDUtMDcgMTk6NDM6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB1bnVzZWQgaW50ZXJuYWwgcGFyYW1ldGVyCgoyMDE0LTA1LTA5IDE4OjU5OjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBGaXggc29tZSBvZiB0aGUgZXJyb3IgaGFuZGxpbmcKCjIwMTQtMDUtMDkgMTc6NTk6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogVXBkYXRlIEdzdFZpZGVvSW5mbyBhZnRlciB0aGUgYnVmZmVyIGlzIG1hcHBlZAoJICBnc3RfdmlkZW9fZnJhbWVfbWFwKCkgd2lsbCBzdG9yZSBhbiB1cGRhdGVkIHZpZGVvIGluZm8gYmFzZQoJICBvbiB0aGUgdmlkZW8gbWV0YS4gSW4gb3JkZXIgdG8gaGF2ZSB0aGUgcmlnaHQgc3RyaWRlIGFuZCBvZmZzZXQKCSAgd2Ugc2hvdWxkIHVwZGF0ZSB0aGF0IHZpZGVvIGluZm8gYWNjb3JkaW5nbHkuCgoyMDE0LTA1LTA5IDE1OjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsOiBGaXggbWVtb3J5IGxlYWsKCSAgQ0lEICMxMjEyMTcxCgoyMDE0LTA1LTA5IDE1OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogUmVtb3ZlIGludmFsaWQgZnJlZQoJICBkYXRhIGRvZXMgbm90IGhhdmUgdG8gYmUgZnJlZWQgYXQgYWxsIGhlcmUsIGl0J3MgYSBwb2ludGVyIHRvCgkgIGFuIGFyYml0cmFyeSBwb3NpdGlvbiBpbnNpZGUgdGhlIGN1cnJlbnQgbGluZS4gQWxzbyBkb24ndCByZXVzZQoJICB0aGUgZGF0YSB2YXJpYWJsZSBmb3IgYW55dGhpbmcgZWxzZSwgdGhhdCB3aWxsIGNhdXNlIGNyYXNoZXMKCSAgaW4gcGxheWxpc3RzIHRoYXQgaGF2ZSB0aGUgSS1mcmFtZSBwbGF5bGlzdCBVUkkgZm9sbG93ZWQgYnkKCSAgb3RoZXIgYXR0cmlidXRlcy4KCSAgQ0lEIDEyMTIxMjcKCjIwMTQtMDUtMDkgMTQ6MzE6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBsZWFrCgkgIFRoZSBjZWxsIGV4dGVuc2lvbiB3YXMgbmV2ZXIgYWRkZWQgdG8gdGhlIHBhcmVudCBjZWxsCgkgIENJRCAjMTIxMjE2MgoKMjAxNC0wNS0wOSAyMjoyMjo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBwcmVzZXJ2ZSBhbHBoYSBpbiBBWVVWIDwtPiBSR0JBIGNvbnZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NDMKCjIwMTQtMDUtMDkgMTg6MDc6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBpbXBsZW1lbnQgbGF6eSBpbml0CgoyMDE0LTA1LTA4IDE1OjM4OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNldCBpbml0dGVkIHRvIFRSVUUgd2hlbiBfaW5pdF91cGxvYWQgc3VjY2VlZGVkCgoyMDE0LTA1LTA4IDIyOjQ5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IFVzZSBHU1RfU1RSX05VTEwoKSBmb3IgcHJpbnRpbmcgcG9zc2libHkgTlVMTCBzdHJpbmdzIGFuZCBwcmludCBhbGwgdmFyaWFibGVzIHdlIHVzZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIGFib3V0IHNldCBidXQgbm90IHVzZWQgcGxhdGZvcm1fY2hvaWNlIHZhcmlhYmxlCgkgIGFtb25nIG90aGVyIHRoaW5ncy4KCjIwMTQtMDUtMDggMTY6MDg6MDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IHVzZSBnbF92dGFibGUKCjIwMTQtMDUtMDggMTc6Mjg6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogZml4IGNvbXBpbGF0aW9uIG9uIE9TIFgKCjIwMTQtMDUtMDggMTU6NDA6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogZmFpbCBwcm9wb2VybHkgaWYgaW5pdCBmYWlscwoKMjAxNC0wNS0wOCAxNTozMDo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsOiBtYWtlIGFsbCBHT2JqZWN0cyBpbmhlcml0IGZyb20gR3N0T2JqZWN0CgkgIEFpZHMgbWVtb3J5IGxlYWsgZGVidWdnaW5nIHdpdGggR1NUX1RSQUNFPW1lbS1saXZlCgoyMDE0LTA1LTA4IDEzOjQ2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogaW1wbGVtZW50IGxhenkgaW5pdAoJICBSZW5hbWUgaW5pdF9mb3JtYXQgdG8gc2V0X2Zvcm1hdAoKMjAxNC0wNS0wOCAwMDo1OTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogYWRkIGdldF9mb3JtYXQgbWV0aG9kCgkgIFNpbXBseSByZXRyZWl2ZXMgdGhlIGZvcm1hdCBzZXQgYnkgaW5pdF9mb3JtYXQKCjIwMTQtMDUtMDggMDA6NDg6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYXR0ZW1wdCB0byBwYXNzdGhyb3VnaCB0aGUgcG9vbCBpZiB0aGUgY2FwcyBhcmUgdGhlIHNhbWUKCSAgUmVkdWNlcyB0aGUgbnVtYmVyIG9mIGdsYnVmZmVycG9vbCBpbnN0YW5jZXMgcmVxdWlyZWQgZm9yID49MgoJICBjb25zZWN1dGl2ZSBHTCBlbGVtZW50cyBpbiBhIHBpcGVsaW5lLgoKMjAxNC0wNS0wOCAwMDo0MzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhbHdheXMgaW5pdGlhbGl6ZSB0aGUgdXBsb2FkIG9iamVjdAoKMjAxNC0wNS0wNyAyMTo0NTo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBhZHZlcnRpc2UgR3N0R0xNZW1vcnkgdXNhZ2UgaW4gdGhlIGNhcHMgYXMgY2Fwc2ZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2NTgKCjIwMTQtMDUtMDcgMjA6MTI6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgZ2wvZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBmb3IgY2x1dHRlciBleGFtcGxlcwoJICBDbHV0dGVyWDExVGV4dHVyZVBpeG1hcCBpcyBkZXByZWNhdGVkIGluIENsdXR0ZXIgMS42IGFuZCB3ZSBhc2sgZm9yCgkgIGF0IGxlYXN0IDEuOAoKMjAxNC0wNS0wNyAxOTowNTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGF2b2lkIGVuZGxlc3MgcmVjdXJzaW9uIGZvciBjb2NvYQoKMjAxNC0wNS0wNiAwODo1MjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkZXByZWNhdGUgbWF4LWJ1ZmZlcmluZy10aW1lIHByb3BlcnR5CgkgIEl0IGlzIG5vdCB1c2VkIGFzIGRhc2hkZW11eCBkb2Vzbid0IGhhdmUgYSBpbnRlcm5hbCBidWZmZXIKCSAgZm9yIGZyYWdtZW50cyBhbnltb3JlCgoyMDE0LTA1LTA2IDAxOjU2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92aW5nIG9sZCB1bnVzZWQgY29kZQoJICBUaGUgJ2NhdGNoIHVwIG1vZGUnIGlzbid0IG5lZWRlZCBhbnltb3JlIHNpbmNlIGRhc2hkZW11eAoJICBpcyBkb3dubG9hZGluZyBhbmQgcHVzaGluZyBmcm9tIHRoZSBzYW1lIHRocmVhZAoKMjAxNC0wNS0wNSAxMDoxMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1lbWJlciB0byBzZXQgc3RhcnRpbmcgZnJhZ21lbnQgdG8gbmV3IGZyYWdtZW50cwoKMjAxNC0wNS0wMiAxODozNDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgYSBmZXcgbW9yZSBlcnJvciBjYXNlcwoJICByZWxhdGVkIHRvIG1pc3NpbmcgcGx1Z2lucywgYmFkIFVSSSBhbmQgYSBsb2NrdXAgb24gZGVhbGluZyB3aXRoCgkgIGVycm9ycyBmcm9tIHRoZSBzb3VyY2UuCgoyMDE0LTA1LTAyIDE4OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE9ubHkgc2V0IHRpbWVzdGFtcCB0byB0aGUgZmlyc3QgYnVmZmVyIG9mIGZyYWdtZW50cwoJICBTZXR0aW5nIGl0IHRvIHRoZSBvdGhlciBwYXJ0cyBvZiB0aGUgZnJhZ21lbnQgaXMgc2xpZ2h0bHkgd3JvbmcKCSAgYW5kIG1pc2xlYWRpbmcgYXMgaXQgaXNuJ3QgYWNjdXJhdGUgZW5vdWdoLgoKMjAxNC0wNS0wMiAxODozMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20gdGhlIHNvdXJjZXMKCSAgU2V0IHVwIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBiZSBhYmxlIHRvIGNhdGNoIGVycm9ycwoJICBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudCBhbmQgc2lnbmFsIHRoZSBjb25kIHRvIGFsbG93IHRoZSBkb3dubG9hZAoJICBsb29wIHRvIHJldHJ5IHRoZSBkb3dubG9hZC4KCjIwMTQtMDUtMDEgMjE6MDQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2hlY2sgZm9yIGVycm9ycyBiZXR3ZWVuIGRvd25sb2FkcwoJICBUbyBhYm9ydCBlYXJsaWVyIGluIGNhc2Ugb2YgZmFpbHVyZXMKCjIwMTQtMDUtMDEgMjE6MDA6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWx3YXlzIGFjY2VwdCB0aGUgbGF0ZW5jeSBjb25maWd1cmUgZXZlbnQKCSAgVXBzdHJlYW0gb3IgaW50ZXJuYWwgZWxlbWVudHMgYXJlIGlycmVsZXZhbnQgYW5kIHdlIHNob3VsZAoJICBhbHdheXMgc3VjY2VlZC4KCjIwMTQtMDUtMDEgMTI6MDQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJICBkYXNoZGVtdXg6IG1lYXN1cmUgZG93bmxvYWQgcmF0ZSBqdXN0IGxpa2UgaGxzZGVtdXgKCSAgbmV3IGJpdHJhdGUgPSAob2xkIGJpdHJhdGUgKyAobGFzdCBmcmFnbWVudCBiaXRyYXRlICogMykpIC8gNAoKMjAxNC0wNC0yNSAwODo1MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVyaWRvd25sb2FkZXIgZnJvbSBmcmFnbWVudHMgZG93bmxvYWQKCSAgSW5zdGVhZCwgdXNlIGEgc291cmNlIGVsZW1lbnQgbGlua2VkIHRvIGEgZ2hvc3RwYWQgdG8gcHJvdmlkZQoJICBzbWFsbGVyIGJ1ZmZlcnMgYW5kIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBmb3IgZG93bnN0cmVhbQoJICBidWZmZXJpbmcgZWxlbWVudHMgd2hpbGUgYWxzbyByZWR1Y2luZyBzdGFydHVwIGxhdGVuY3kKCjIwMTQtMDUtMDcgMDk6MTE6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsL3Npbms6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgaW5pdGlhbGl6ZSB0aGUgdXBsb2FkIG9iamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTQyCgoyMDE0LTA1LTA2IDE5OjI0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbnRlcm5hbCBzb3VyY2UgZXZlbnQgbGVha3MKCjIwMTQtMDUtMDYgMTE6NTk6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBkbyBub3QgYWxsb2NhdGUgdGhlIHRhcmdldCB0ZXh0dXJlIG9mIGFuIEVHTEltYWdlCgkgIFRoZSB0YXJnZXQgdGV4dHVyZSBvZiBhbiBFR0xJbWFnZSBpcyB0aGUgdGV4dHVyZSBiaW5kIGp1c3QKCSAgYmVmb3JlIGNhbGxpbmcgZ2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRC4KCSAgQXMgd2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBhIGdsIHRleHR1cmUgYXMgdGhlIHNvdXJjZSBvZiBhbiBFR0xJbWFnZQoJICB0aGUgZ2wgdGV4dHVyZSBpcyBhY3R1YWxseSBhbHJlYWR5IGFsbG9jYXRlZCB3aGVuIGNyZWF0aW5nIHRoZSBlZ2xpbWFnZS4KCSAgSSBhbHNvIHNlZSBzb21lIGNhc2VzIHdoZXJlIGl0IGZhaWxzIHRvIHVwbG9hZCBhbiBlZ2xpbWFnZSB3aGVuCgkgIGdsVGV4SW1hZ2UyRCBpcyBjYWxsZWQgb24gdGhlIHRhcmdldC4KCjIwMTQtMDUtMDYgMTE6NTE6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGFsbG93IHRvIGF2b2lkIGNhbGxpbmcgZ2xUZXhJbWFnZTJEKHcsIGgsIE5VTEwpIHdoZW4gZ2VuZXJhdGluZyBhIHRleHR1cmUKCSAgSnVzdCBwYXNzIDAgYXMgd2lkdGggb3IgaGVpZ2h0IHRvIGdzdF9nbF9jb250ZXh0X2dlbl90ZXh0dXJlLgoKMjAxNC0wNS0wNiAxMToyNzo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsOiBubyBuZWVkIHRvIGluaXRpYWxpemUgYSBmcmFtZSBidWZmZXIgb2JqZWN0IHRvIHVwbG9hZCBhbiBlZ2xpbWFnZQoJICBGaXggaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU4OAoKMjAxNC0wNS0wNiAxMToyMTo1NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsOiB1c2UgR1NUX0NBVF9FUlJPUiBpbnN0ZWFkIG9mIEdTVF9FUlJPUl9PQkpFQ1QKCSAgSXQgZml4ZXMgc2VnYXVsdCB3aGVuIEdTVF9ERUJVRyBpcyBhdCBsZWFzdCBsZXZlbCAxIGFuZCBlZ2xDcmVhdGVJbWFnZSBmYWlscwoKMjAxNC0wNS0wNiAxMDoxNDoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGRlbGV0ZSB0ZXh0dXJlIHVzZWQgd2l0aCBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTQtMDUtMDYgMTQ6MjM6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiB1c2UgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlciBoZWxwZXIgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlCgoyMDE0LTA1LTA2IDA5OjU1OjA1IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiByZW1vdmUgZW1wdHkgbGluZQoJICBSZW1vdmUgdHJhaWxpbmcgZW1wdHkgbGluZSBmcm9tIGNvbW1pdCBiZmRjNTQzOTUyMzhjMDRmYzZlNWI1MTg4MGMyZDcwNmYzM2U5MDExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTMtMTEtMjAgMTI6MTY6MTcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgdW51c2VkIGRhdGEgaW4gVHNNdXhTZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODUKCjIwMTQtMDUtMDYgMjE6MTc6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZWVuYWJsZSBjYW1lcmFiaW4gZWxlbWVudCB0ZXN0CgoyMDE0LTA1LTA2IDE2OjM5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC9kaXNwbGF5OiBjbGVhbiB1cCBwcmUgZ3N0Z2xjb250ZXh0IGFwaSBhbmQgc3RydWN0IGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE3OjI3OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbC9kaXNwbGF5OiBhZGQgZ2V0X2hhbmRsZV90eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTc6MDg6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBhdm9pZCBvcGVuaW5nIHRoZSBYMTEgZGlzcGxheSBvbiBzeXN0ZW1zIHdpdGggQ29jb2EgKE9TIFgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTY6Mzk6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3dpbmRvdzogZml4IHN0cmluZyBsZW5ndGggY2hlY2sgZm9yIGVhZ2wKCjIwMTQtMDUtMDYgMTY6MzE6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBjaGVjayB0aGUgY29ycmVjdCBlbnYgdmFyaWFibGUgZm9yIGNob29zaW5nIGFuIGVnbCBkaXNwbGF5CgkgIEdTVF9HTF9XSU5ET1cgaXMgdXNlZCBmb3Igd2luZG93IHN5c3RlbSBzcGVjaWZpYyBjaG9pY2VzLgoJICBBbiBFR0xEaXNwbGF5IGNhbiBiZSBjcmVhdGVkIGZyb20gd2luZG93IHN5c3RlbXMgd2l0aCBlZ2wgc3VwcG9ydCBieSB1c2luZwoJICBlZ2xHZXREaXNwbGF5KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTI6NTY6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsL2NvY29hOiBVc2UgT0JKQ0ZMQUdTIHdoZXJlIG5lZWRlZAoJICBTaG91bGQgZml4IHVzYWdlIG9mIGMtY29tcGlsZXItb25seSBmbGFncyB3aXRoIGFuIG9iamVjdGl2ZS1jIGNvbXBpbGVyCgoyMDE0LTA1LTA2IDA5OjQ4OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBmaXggZmxvdyByZXR1cm4gYW5kIGJ1ZmZlciBsZWFrIGluIG5vdC1uZWdvdGlhdGVkIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxNC0wNS0wNiAwOTo0MDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgbmV3IHZwOHBhcnNlci10ZXN0IGJpbmFyeSB0byAuZ2l0aWdub3JlCgoyMDE0LTA1LTA1IDE3OjIwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCByZXNldCBzdHJlYW0gaWYgdGhlIGtleSBoYXNuJ3QgY2hhbmdlZAoKMjAxNC0wNS0wNSAxNzowMDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBBZGQgInJlbW92ZS1rZXkiIGFjdGlvbiBzaWduYWwgdG8gcmVtb3ZlIGEgc2luZ2xlIGtleQoJICBSZW1vdmluZyBhbGwgdGhlIGtleXMgY2FuIGJlIGEgcHJvYmxlbSBhcyBpdCBhbHNvIHJlc2V0cyB0aGUgdmFyaW91cwoJICBjb3VudGVycywgc28gaW5zdGVhZCBhZGQgYW4gb3B0aW9uIHRvIHJlbW92ZSBhIHNpbmdsZSBrZXkuCgoyMDE0LTA1LTA1IDIyOjI1OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBVc2UgJXUgaW4gdGVtcGxhdGVzIHRvIG1hdGNoIHJ0cGJpbgoKMjAxNC0wNS0wNiAwMDoxMToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUmVtb3ZlIHVudXNlZCBmaWVsZAoKMjAxNC0wNS0wNiAwOToyMzoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBGaXggZm9yIG5vdCBjaGVja2luZyB6ZXJvIHdpZHRoIGFuZCBoZWlnaHQKCSAgU2lnbmVkLW9mZi1ieTogU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTQtMDUtMDUgMTE6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzZXQgdGhlIHNlZ21lbnQgcG9zaXRpb24gaWYgdGhlcmUgaXMgYSB0aW1lc3RhbXAKCSAgT25seSB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQgaGFzIGl0cyB0aW1lc3RhbXAgc2V0LCBzbyBvbmx5CgkgIHVwZGF0ZSB0aGUgc2VnbWVudC5wb3NpdGlvbiB3aGVuIHB1c2hpbmcgdGhvc2UgYnVmZmVycyB0byBhdm9pZAoJICBoYXZpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSBzZXQgdG8gdGhlIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkzNjQKCjIwMTQtMDUtMDUgMTI6MzA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIHRoZSBzYW1lIGluY2x1ZGVzIGZvciBHTCB0aGF0IHdlIHdvdWxkIHVzZSBsYXRlciBpbiB0aGUgY29kZSBmb3IgY2hlY2tpbmcgaWYgR0xFUzIgYW5kIE9wZW5HTCBoZWFkZXJzIGNhbiBib3RoIGJlIGluY2x1ZGVkCgoyMDE0LTA1LTA1IDIwOjA2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGNoZWNrIGlmIHdlIGNhbiBpbmNsdWRlIGJvdGggR0wgYW5kIEdMRVMyIGhlYWRlcnMgYXQgdGhlIHNhbWUgdGltZQoJICBJZiB3ZSBjYW5ub3QsIHRoZW4gZGVmYXVsdCB0byBHTCBvdmVyIEdMRVMyIHVubGVzcyBHTEVTMiBpcyByZXF1aXJlZC4KCjIwMTQtMDUtMDUgMDk6NDY6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgQ2FjaGUtQ29udHJvbCBoZWFkZXIgYWNjb3JkaW5nIHRvIHRoZSBjYWNoaW5nIHJlcXVpcmVtZW50cyBvZiB0aGUgcGxheWxpc3QKCjIwMTQtMDUtMDUgMDk6Mzg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBVcGRhdGUgZm9yIHVyaSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTA1IDA5OjM3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXBkYXRlIGZvciB1cmkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0wNSAwOTozNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgcGFyYW1ldGVyIHRvIGRpc2FsbG93IGNhY2hpbmcgYXMgcmVxdWlyZWQgYnkgSExTCgoyMDE0LTA1LTA1IDA5OjM0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IFN0b3JlIGFsbG93Y2FjaGUgcGxheWxpc3QgZmllbGQgaW4gYSBib29sZWFuCgoyMDE0LTA1LTA0IDIyOjIyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSB0aGUgc2FtZSAjaW5jbHVkZXMgZm9yIGNoZWNraW5nIEdMIHR5cGVzIGFzIGxhdGVyIGluIHRoZSBjb2RlCgoyMDE0LTA1LTAzIDIxOjM4OjQyIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgZ2wvY2x1dHRlcjogc2FmZXIgY2hlY2sgZm9yIGNvZ2wgdmVyc2lvbgoJICBVc2UgQ09HTF9WRVJTSU9OX0VOQ09ERSB0byBjaGVjayBmb3IgdGhlIG1pbmltdW0gcmVxdWlyZWQgYW5kIG1heGltdW0gYWxsb3dlZAoJICBjb2dsIHZlcnNpb24uIEluIGNlcnRhaW4gc2l0dWF0aW9ucyBqdXN0IHVzaW5nIHRoZSBDT0dMX1ZFUlNJT05fKiBtYWNybyBuYW1lIGNhbgoJICBnaXZlIHlvdSB0aGUgZm9sbG93aW5nIGVycm9yOgoJICBlcnJvciAiQ09HTF9WRVJTSU9OX01BWF9BTExPV0VEIG11c3QgYmUgPj0gQ09HTF9WRVJTSU9OX01JTl9SRVFVSVJFRCIKCjIwMTQtMDUtMDMgMjE6MDU6MTkgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL2dlbmVyaWM6IHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlcwoKMjAxNC0wNS0wMyAyMDo0ODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjEgPT09CgoyMDE0LTA1LTAzIDE4OjE2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgUmVsZWFzZSAxLjMuMQoKMjAxNC0wNS0wMyAxODoxNjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTAzIDE5OjQ1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEZpeCBDRkxBR1MgaW4gY2x1dHRlciBHTCBleGFtcGxlcwoKMjAxNC0wNS0wMyAxOTo0MjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWRkIGFsbCBnbCBzdWJkaXJzIHRvIERJU1RfU1VCRElSUyB0byBmaXggdGhlIGJ1aWxkCgoyMDE0LTA1LTAzIDE3OjI0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA1LTAzIDEzOjEyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBSZW1vdmUgbWZjIHBsdWdpbiwgaXQgaXMgb2Jzb2xldGVkIGJ5IHRoZSB2NGwydmlkZW9kZWMgZWxlbWVudCBmcm9tIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTQtMDUtMDMgMTI6MDI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBVc2UgY29tcGxldGUgY2FwcyBmb3Igc2V0dGluZyB1cCB0aGUgc3RyZWFtcyBpbiB0aGUgdGVzdAoKMjAxNC0wNS0wMyAxMDoxNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmNiMTUxOCB0byAyMTFmYTVmCgoyMDE0LTAzLTE5IDA5OjIyOjA4ICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogQWRkIGhhbmRsaW5nIG9mIFBBVVNFRCBzdGF0ZQoJICBBbHNvIGFsbG93IGRpc2FibGluZyB0aGUgdGltZW91dCBieSBzZXR0aW5nIGl0IHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxNTYKCjIwMTQtMDUtMDIgMTc6Mjc6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogQWRkIGNvbmZpZyBmb3IgdGhlIHJlcGxheSB3aW5kb3cgc2l6ZQoKMjAxNC0wNS0wMiAxNzoyNDo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogUmVtb3ZlIHVudXNlZCBvYmplY3QgbWVtYmVycwoKMjAxNC0wNS0wMiAxNzoxOToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIHVzZWxlc3Mgc3RydWN0dXJlCgkgIFJlbW92ZSBub3cgdXNlbGVzcyBzdHJ1Y3R1cmUKCjIwMTQtMDUtMDIgMTc6MTQ6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSBzc3JjIHBhcnNpbmcgZnJvbSBzdHJlYW0KCSAgSXQncyBubyBsb25nZXIgdXNlZAoKMjAxNC0wNS0wMiAxNzoxMzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIFNTUkMgZnJvbSBzaWduYWwsIGl0J3MgbWVhbmluZ2xlc3MKCjIwMTQtMDUtMDIgMTc6MDc6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogU2V0IHRoZSBTUlRQIGtleSBhcyBhIHNoYXJlZCBrZXkgZm9yIGFsbCBTU1JDcwoJICBUaGlzIGlzIGFscmVhZHkgaG93IGl0IHdhcyB1c2VkLgoKMjAxNC0wNS0wMiAxNDoyMDo1OCArMDIwMCAgQmxha2UgVHJlZ3JlIDxibGFrZS50cmVncmVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBpbiB0aGUgYmVnaW5uaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MDIKCjIwMTQtMDUtMDIgMTA6NDQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBtYWtlIHN1cmUgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBwbGF5bGlzdC4KCjIwMTQtMDUtMDIgMTA6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBpbmNsdWRlIHRoZSBtYW5pZmVzdCBmaWxlIGFzIHJlZmVyZXIgaW4gcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUKCSAgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdC4KCjIwMTQtMDUtMDIgMTA6Mzk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgZm9yIFVSSSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgkgIEFuZCBpbmNsdWRlIHRoZSBNUEQgZmlsZSBhcyByZWZlcmVyIGluIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlCgkgIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgTVBELgoKMjAxNC0wNS0wMiAxMDozNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgcmVmcmVzaCBwYXJhbWV0ZXIgdG8gaGludCBjYWNoZXMgdGhhdCB0aGV5IHNob3VsZCBjaGVjayBpZiB0aGV5J3JlIHVwIHRvIGRhdGUKCjIwMTQtMDUtMDIgMTU6NTY6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogdXNlIHRoZSBidWZmZXJwb29sJ3MgdXBsb2FkIHdoZW4gYXZhaWxhYmxlCgkgIEF2b2lkcyBkdXBsaWNhdGluZyBHTCByZXNvdXJjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg3MgoKMjAxNC0wNS0wMiAwNTo1NzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2w6IHNob3cgaW50ZXJuYWwgY29jb2Egd2luZG93IG9uIHRvcCBvZiBvdGhlcnMKCSAgVXNlZnVsIHdoZW4geW91ciBPU1ggdGVybWluYWwgaXMgZnVsbHNjcmVlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTI3CgoyMDE0LTA1LTAyIDA1OjUxOjM2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbDogcGFzcyBOU1ZpZXcgaW5zdGVhZCBvZiBOU1dpbmRvdyBpbiBjb2NvYS12aWRlb292ZXJsYXkgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDUxCgoyMDE0LTA1LTAyIDA1OjUwOjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbDogYWRkIGNvcHlyaWdodCB0byBjb2NvYSBleGFtcGxlCgoyMDE0LTA1LTAyIDA1OjQ2OjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvbWFpbi5tOgoJICBnbDogcmVuYW1lIGNvY29hIGV4YW1wbGUgYW5kIG1vdmUgaXQgdG8gaXRzIHBhcmVudCBkaXJlY3RvcnkKCjIwMTQtMDUtMDIgMDU6Mjk6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvUkVBRE1FOgoJICBnbDogcmVtb3ZlIHVudXNlZnVsIFJFQURNRSBmb3IgY29jb2EgZXhhbXBsZQoKMjAxNC0wNS0wMSAxNjowNzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2wvcG9vbDogaW5pdCB0aGUgdXBsb2FkIG9iamVjdCBvbiBzdGFydAoJICBUaGVvcmV0aWNhbGx5LCBzZXRfY29uZmlnIGNvdWxkIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcwoKMjAxNC0wNS0wMSAxOToxNjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogT25seSBjbGVhciBzdHJlYW1zIGlmIHRoZXkgaGF2ZSBiZWVuIGNyZWF0ZWQKCjIwMTQtMDUtMDEgMTk6MTA6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFVzZSBvYmplY3QgZGVidWcKCjIwMTQtMDUtMDEgMTU6NTk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHdheXMgc3VjY2VlZCB0aGUgTEFURU5DWSBldmVudAoJICBVcHN0cmVhbSBhbmQgb3VyIGludGVybmFsIHNvdXJjZSBpcyBpcnJlbGV2YW50IGZvciB0aGUgbGF0ZW5jeQoJICBhbmQgd2UgZG9uJ3Qgd2FudCB0aGUgTEFURU5DWSBldmVudCB0byBldmVyIGZhaWwuCgoyMDE0LTA1LTAxIDE1OjU2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgdGhlIGxhc3QgZmxvdyByZXR1cm4gYmVmb3JlIHJlc3RhcnRpbmcgdGhlIGludGVybmFsIHNvdXJjZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBuZXZlciByZWNvdmVyIGZyb20gcHJldmlvdXMgZXJyb3JzLCBhbmQgZXNwZWNpYWxseQoJICB3aWxsIG5ldmVyIHN0YXJ0IGFnYWluIGFmdGVyIGEgZmx1c2hpbmcgc2VlayBpZiBkb3duc3RyZWFtIHJldHVybmVkCgkgIEdTVF9GTE9XX0ZMVVNISU5HIHRvIHVzLgoKMjAxNC0wNS0wMSAxNToyOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc2V0IFBUUyBvbiB0aGUgZmlyc3QgYnVmZmVyIG9mIGEgZnJhZ21lbnQgaW5zdGVhZCBvZiBzZXR0aW5nIHRoZSBzYW1lIG9uIGFsbCBvZiB0aGVtCgoyMDE0LTA0LTMwIDE3OjU5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWx3YXlzIGZsdXNoIHRoZSBpbnRlcm5hbCBwcm94eSBwYWRzIGJlZm9yZSBkb3dubG9hZGluZwoJICBobHNkZW11eCBjYW4ndCByZWx5IG9uIHRoZSBzb3VyY2UgdG8gcHVzaCBmbHVzaGVzIG9uIGEgc2VlayBvbiByZWFkeQoJICBhcyB0aGF0IG1pZ2h0IG5vdCBtYWtlIHNlbnNlLiBTbyBhbHdheXMgcmVzb3J0IHRvIGZsdXNoaW5nIHRoZQoJICBpbnRlcm5hbCBwcm94eSBwYWRzIGJ5IHB1c2hpbmcgZmx1c2ggZXZlbnRzIGZyb20gdGhlIHNvdXJjZSdzIHNyYyBwYWQuCgkgIEFsc28gYXMgdGhlIHNlZWtpbmcgaXMgbm90IHJlcXVpcmVkIGFueW1vcmUsIG9ubHkgc2VlayBpZiB0aGVyZSBpcwoJICByZWFsbHkgYSBieXRlIHJhbmdlIHRvIGJlIHVzZWQuIEFuZCBzdG9yZSBhIHJlZiB0byB0aGUgc291cmNlJ3MKCSAgc3JjIHBhZCB0byBhdm9pZCBkb2luZyBnZXRfc3RhdGljX3BhZCBmb3IgZXZlcnkgZnJhZ21lbnQuCgoyMDE0LTA1LTAxIDE0OjM2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2w6IFRyeSBoYXJkZXIgdG8gbG9hZCBzeW1ib2xzIGZyb20gdGhlIGNvcnJlY3QgcGxhY2UKCSAgVGhpcyBjb21taXQgbWFrZXMgdGhlIGxvYWRpbmcgb2YgdGhlIEdNb2R1bGVzIHRocmVhZHNhZmUsIGFuZAoJICBhbHdheXMgZmlyc3QgdHJpZXMgdG8gbG9hZCB0aGUgc3ltYm9sIGZvciB0aGUgR0wgbGlicmFyeSB0aGF0CgkgIGlzIHNlbGVjdGVkIGZvciB0aGUgY3VycmVudCBjb250ZXh0LiBPbmx5IHRoZW4gaXQgZmFsbHMgYmFjawoJICB0byBsb29raW5nIGludG8gdGhlIGN1cnJlbnQgbW9kdWxlIChOVUxMKSwgYW5kIG9ubHkgYXMgYSBsYXN0CgkgIHJlc29ydCB0aGUgY29udGV4dCBzcGVjaWZpYyBmdW5jdGlvbiAoZS5nLiBlZ2xHZXRQcm9jQWRkcmVzcygpKQoJICBpcyBjYWxsZWQuCgkgIEFsc28gYWRkIGNvbmZpZ3VyZSBwYXJhbWV0ZXJzIHRvIHNlbGVjdCB0aGUgbmFtZXMgb2YgdGhlIGxpYnJhcnkKCSAgbW9kdWxlcyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0cywgYW5kIGxldCB0aGUgZGVmYXVsdHMgYmUKCSAgaW5kZXBlbmRlbnQgb2YgdGhlIEdfTU9EVUxFX1NVRkZJWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc1MwoKMjAxNC0wNS0wMSAxNDoxMTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogZml4IG9wZXJhdGlvbiB3aXRoIGR1YWwgR0wsIEdMRVMyIGxpYmdzdGdsCgoyMDE0LTA1LTAxIDEzOjU3OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW06IGltcGxlbWVudCB0ZXh0dXJlIGNvcHlpbmcgYmV0d2VlbiBmb3JtYXRzIHdpdGggc3RyaWRlcyBwcm9wZXJseQoJICBQcmV2aW91c2x5LCB3ZSB1c2VkIHRoZSB3aWR0aCB0byBkZXRlcm1pbmUgdGhlIGFtb3VudCBvZiBkYXRhIHRvIGJlCgkgIGNvcGllZCB1c2luZyBwYm9zLiAgVGhpcywgbWFrZXMgaXQgYWxsb2NhdGUgZW5vdWdoIGRhdGEgZm9yIHRoZQoJICB0aGUgc3RyaWRlcyBhcyB3ZWxsLgoKMjAxNC0wNS0wMSAxMjo1MTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2wvbWVtOiBwYWQgdGhlIHB1YmxpYyBzdHJ1Y3QKCjIwMTQtMDQtMzAgMTg6Mzc6MjcgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IG5vIG5lZWQgdG8gcHJvdmlkZSBmdWxsIGxpYiBwYXRoIHRvIGxvYWQgc3ltYm9scwoJICAtIE1ha2UgZ3N0Z2wgd29yayBvbiBNYWxpCgkgIC0gS2VlcCBpdCB3b3JrIG9uIFJQSQoJICAtIGZhbGxiYWNrIHRvIE5VTEwgbmFtZSBtb2R1bGUgaWYgZmFpbHMgd2l0aCB1c3VhbCBsaWIgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzUzCgoyMDE0LTA0LTMwIDEwOjA1OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogYXZvaWQgcmVhZCBidWZmZXIgb3ZlcmZsb3cgaW4gY3JhZnRlZCBzdHJlYW0KCSAgQ292ZXJpdHkgMTIwODc3NwoKMjAxNC0wNC0zMCAxNzozMDowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgZ2xjb2xvcnNjYWxlOiB1c2UgYSBzaGFkZXIgb24gR0xFU3YyCgkgIE90aGVyd2lzZSB5b3Ugb25seSBzZWUgYmxhY2sgZnJhbWVzCgkgIEZpeCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTQ3CgoyMDE0LTA0LTMwIDE1OjMwOjUzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXNlIG5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gYXZvaWQgZHVwbGljYXRpbmcgZGVmYXVsdCBzaGFkZXIgdGV4dAoKMjAxNC0wNC0zMCAxNToyODozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgZ2xlZmZlY3RzOiB1c2UgbmV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIHNhbWUgdmVydGV4IHNoYWRlciB0ZXh0CgkgIEFuZCBhbHNvIHVzZSB0aGUgZGVmYXVsdCBmcmFnbWVudCBzaGFkZXIgdGV4dCBmb3IgdGhlIGlkZW50aXR5IGVmZmVjdAoKMjAxNC0wNC0zMCAxNToyMDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsOiBhZGQgY29udmVuaWVudCBmdW5jdGlvbnMgdG8gc2V0dXAgZGVmYXVsdCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMKCSAgTW9zdCBvZiBvdXIgMkQgZmlsdGVycyB1c2UgdGhlIHNhbWUgc2ltcGxlIHZlcnRleCBzaGFkZXIuCgkgIEFsc28gZGVmaW5lIHRoZSBkZWZhdWx0IGZyYWdtZW50IHNoYWRlciBhcyB0aGUgaWRlbnRpdHkuCgkgIEF2b2lkIGR1cGxpY2F0aW5nIHRoZSBzYW1lIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVyIHRleHQuCgoyMDE0LTA0LTMwIDA4OjUzOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSB1bnJlZiBwZW5kaW5nIGJ1ZmZlciBpZiB0aGVyZSBpcyBvbmUKCjIwMTQtMDQtMjkgMTg6MTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHB1c2ggbGFzdCBidWZmZXIgYWZ0ZXIgZXJyb3IKCSAgSW4gZGVjcnlwdGlvbiBzY2VuYXJpbywgYSBidWZmZXIgaXMgYWx3YXlzIHN0b3JlZCB0byBiZSBzZW50IGxhdGVyCgkgIHRvIHdhaXQgZm9yIG1vcmUgZGF0YSBvciBFT1MgdG8gYmUgYWJsZSB0byBzdHJpcCB0aGUgZmluYWwgYnl0ZXMKCSAgaWYgcmVxdWVzdGVkLiBJbiBjYXNlIGFuIGVycm9yIGhhcGVubmVkIHRoaXMgYnVmZmVyIGNhbiBiZSBpZ25vcmVkCgkgIGFuZCBub3QgcHVzaGVkIGRvd25zdHJlYW0uCgoyMDE0LTA0LTI5IDE4OjE0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZsdXNoIHRoZSBhZGFwdGVyIGluIHRoZSBlbmQgb2YgYSBmcmFnbWVudAoJICBJbiBjYXNlIG9mIGVycm9yIHRoZXJlIG1pZ2h0IGJlIHNvbWUgZGF0YSBsZWZ0IGluIHRoZQoJICBhZGFwdGVyIHdoZW4gRU9TIGlzIHJlY2VpdmVkLiBDbGVhciB0aGUgYWRhcHRlciB0byBiZQoJICBhYmxlIHRvIHJlc3RhcnQgYWdhaW4gbGF0ZXIgaWYgcmVxdWVzdGVkLgoKMjAxNC0wNC0yOSAxODoxNDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgbW9yZSBlcnJvciBjYXNlcwoJICBIYW5kbGUgc29tZSBtb3JlIGVycm9yIGNhc2VzOgoJICAxKSBXaGVuIHRoZSBzb3VyY2UgZWxlbWVudCBmYWlscyB0byBnbyB0byByZWFkeQoJICAyKSBXaGVuIGRlY3J5cHRpb24gZmFpbHMKCSAgMykgV2hlbiB0aGVyZSBpcyBubyBzb3VyY2UgdG8gaGFuZGxlIGEgc3BlY2lmaWMgVVJJCgkgIDQpIFdoZW4gdGhlIFVSSSBpcyBpbnZhbGlkCgoyMDE0LTA0LTI5IDE1OjE5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogaGFuZGxlIGVycm9ycyBmcm9tIGludGVybmFsIHNvdXJjZQoJICBTZXQgdXAgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIGNhdGNoIGVycm9ycyBmcm9tIHRoZSBpbnRlcm5hbAoJICBzb3VyY2UgYW5kIHN0b3JlIHRoZSBsYXN0IHJldHVybiBjb2RlIHRvIGlkZW50aWZ5IGVycm9yIHNpdHVhdGlvbnMKCSAgd2hlbiByZXR1cm5pbmcgZnJvbSBhIGZyYWdtZW50IGRvd25sb2FkLgoJICBBbHNvIG1vdmVzIHRoZSBkdXJhdGlvbiBpbmNyZWFzZSB0byBhZnRlciB0aGUgZG93bmxvYWQgd2hlbiB3ZQoJICBrbm93IGlmIGl0IHdhcyBzdWNjZXNzZnVsIG9yIG5vdAoKMjAxNC0wNC0yOSAxNToxNzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcHJvdmUgcGFkIHN3aXRjaGluZyBjb25kaXRpb25zCgkgIFdoZW4gdXNpbmcgdGhlIGludGVybmFsIHNvdXJjZSwgaGxzZGVtdXggZG9lc24ndCBrbm93IHRoZSBjYXBzIG9mCgkgIHRoZSBpbnB1dCBiZWZvcmUgYWRkaW5nIHRoZSBwYWQsIHNvIHJlbW92ZSB0aGUgYXJndW1lbnRzIHRoYXQgd291bGQKCSAgdXNlIHRoYXQgYXMgaXQgaXMgYWx3YXlzIE5VTEwuCgkgIEFuZCB1c2UgYW4gc3BlY2lmaWMgZmxhZyB0byBzaWduYWwgd2hlbiBhIHBhZCBzd2l0Y2ggaXMgcmVxdWlyZWQuCgkgIFVzaW5nIHRoZSBkaXNjb250IGZsYWcgaXMgYSBiYWQgaWRlYSBub3cgYmVjYXVzZSB3aGVuIGEgZnJhZ21lbnQKCSAgZG93bmxvYWQgZmFpbHMgaXQgd2lsbCBsZWFkIHRvIGV4cG9zaW5nIGEgcGFkIGdyb3VwIHdpdGhvdXQgYW55CgkgIGRhdGEsIGNhdXNpbmcgZGVjb2RlYmluIHRvIGFib3J0LgoKMjAxNC0wNC0yOCAyMDowMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwcm9wZXJseSBmbHVzaCBkZWNyeXB0aW9uIHN0YXR1cyBvbiBzZWVrcwoJICBBdm9pZHMgbWl4aW5nIGRlY3J5cHRpb24gb2YgZGlmZmVyZW50IGZyYWdtZW50cyB3aGVuIHNlZWtpbmcgaGFwcGVucwoJICBhbmQgbGVhZGluZyB0byBicm9rZW4gc3RyZWFtIG91dHB1dC4KCjIwMTQtMDQtMjggMTk6MTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBUcmFjayBmcmFnbWVudHMgZHVyYXRpb24KCSAgV2hlbiByZWNldmluZyBFT1MgZnJvbSB0aGUgaW50ZXJuYWwgc3JjLCBpbmNyZWFzZSB0aGUgY3VycmVudCBwb3NpdG9uCgkgIGJ5IHRoZSBmcmFnbWVudCBkdXJhdGlvbiB0byBhbGxvdyBjb3JyZWN0IHJlc3RvcmluZyBvZiBkb3dubG9hZCBwb3NpdGlvbgoJICBpZiB0aGUgYml0cmF0ZSBjaGFuZ2VzCgoyMDE0LTA0LTI1IDEyOjU1OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHByb3Blcmx5IHN0b3AgdGFza3MgYnkgc3RvcHBpbmcgZnJhZ21lbnQgZG93bmxvYWQKCSAgSXNzdWUgYSBzaWduYWwgdG8gdGhlIGZyYWdtZW50IGRvd25sb2FkIGNvbmQgdG8gc3RvcAoJICB0aGUgdGFzayBlYXJsaWVyCgoyMDE0LTA0LTI1IDEwOjQwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRlY3J5cHQgYmVmb3JlIHR5cGVmaW5kaW5nCgkgIE1ha2Ugc3VyZSB0eXBlZmluZGluZyBnZXRzIHRoZSBkZWNyeXB0ZWQgY29udGVudCBpbnN0ZWFkIG9mCgkgIHRyeWluZyB0byB0eXBlZmluZCB0aGUgZW5jcnlwdGVkIGRhdGEuCgoyMDE0LTA0LTI1IDEwOjM5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBkZWNyeXB0aW9uIGZ1bmN0aW9uIHJldHVybgoJICBDb3JyZWN0bHkgcmV0dXJuIHRoZSBkZWNyeXB0ZWQgYnVmZmVyIHdoZW4gaXQgc3VjY2VlZHMgYW5kCgkgIHJldHVybiBOVUxMIG90aGVyd2lzZQoKMjAxNC0wNC0yMiAyMDoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBrZWVwIGNvbm5lY3Rpb24gYWxpdmUgYmV0d2VlbiBkb3dubG9hZHMKCSAgVXNlIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgdXJpZG93bmxvYWRlciB0byBrZWVwIGNvbm5lY3Rpb25zIGFsaXZlCgkgIGJldHdlZW4gY29uc2VjdXRpdmUgZnJhZ21lbnRzIGRvd25sb2Fkcy4KCSAgMSkgc2V0IGtlZXAtYWxpdmUgcHJvcGVydHkgdG8gdHJ1ZQoJICAyKSBrZWVwIHRoZSBlbGVtZW50IGluIFJFQURZIGluc3RlYWQgb2YgaW4gTlVMTAoKMjAxNC0wNC0xNiAyMDowMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjcmVhdGUgc291cmNlcyBmcm9tIHVyaQoJICBJbnN0ZWFkIG9mIHVzaW5nIGFsd2F5cyBhbiBodHRwIHNvdXJjZSwgY3JlYXRlIGl0IGR5bmFtaWNhbGx5IGZyb20KCSAgdXJpIHdoZW4gbmVlZGVkLiBJZiBub3QgbmVlZGVkIGp1c3QgcmVwbGFjZSB0aGUgVVJJIG9uIHRoZSBjdXJyZW50CgkgIGVsZW1lbnQKCjIwMTQtMDQtMTYgMTg6MDQ6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IHRyeSB0byBydW4gdHlwZWZpbmQgYWdhaW4gaWYgY2FwcyBpcyB0aGUgc2FtZQoJICBBbHdheXMgcmVzZXQgdGhlIGRvX3R5cGVmaW5kIGZsYWcgaWYgaGxzIGRpZCB0eXBlZmluZCBiZWNhdXNlCgkgIHRyeWluZyBpdCBvbiBub24temVybyBvZmZzZXRzIGRvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgd2lsbCBjYXVzZQoJICBhc3NlcnRpb25zCgoyMDE0LTA0LTE2IDA2OjEyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogZW5hYmxlIGRvd25sb2FkIGJpdHJhdGUgbWVhc3VyZQoJICBNZWFzdXJlIHRoZSBkb3dubG9hZCBiaXRyYXRlIHRvIGJlIGFibGUgdG8gc2VsZWN0CgkgIHRoZSBiZXN0IHBsYXlsaXN0LgoJICBBcyB0aGUgYnVmZmVycyBhcmUgZGlyZWN0bHkgcHVzaGVkIGRvd25zdHJlYW0gYW5kIGl0CgkgIG1pZ2h0IGJsb2NrLiBUaGUgdGltZSBpcyBvbmx5IG1lYXN1cmVkIGZyb20gdGhlIGRvd25sb2FkCgkgIHVudGlsIHRoZSBwYWQgcHVzaCBhbmQgaXQgaXMgc3RhcnRlZCBhZ2FpbiBhZnRlciB0aGUgcHVzaAoJICByZXR1cm5zLgoKMjAxNC0wNC0wOCAxNzozMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlLWVuYWJsZSBkZWNyeXB0aW9uIGFmdGVyIHVyaWRvd25sb2FkZXIgcmVtb3ZhbAoJICBOb3cgdGhlIGRlY3J5cHRpb24gaXMgZG9uZSBidWZmZXIgYnkgYnVmZmVyIGluc3RlYWQgb2Ygb24gdGhlCgkgIHdob2xlIGZyYWdtZW50IGF0IG9uY2UuIEFzIGl0IGV4cGVjdHMgbXVsdGlwbGVzIG9mIDE2IGJ5dGVzIGEKCSAgR3N0QWRhcHRlciB3YXMgYWRkZWQgdG8gcHJvcGVybHkgY2h1bmsgdGhlIGJ1ZmZlcnMuCgkgIEFsc28gdGhlIGxhc3QgYnVmZmVyIG11c3QgYmUgcmVzaXplZCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZQoJICBsYXN0IGJ5dGUgb2YgdGhlIGZyYWdtZW50LCBzbyBobHNkZW11eCBhbHdheXMga2VlcHMgYSBwZW5kaW5nIGJ1ZmZlcgoJICBhcyBpdCBkb2Vzbid0IGtub3cgaWYgaXQgaXMgdGhlIGxhc3Qgb25lIHlldAoKMjAxNC0wNC0wNyAxMzo1NzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlcGxhY2UgdXJpZG93bmxvYWRlciB3aXRoIGEgR3N0RWxlbWVudAoJICBUaGUgR3N0RWxlbWVudCBpcyBkaXJlY3RseSBsaW5rZWQgaW50byBhIGdob3N0IHBhZCBhbmQKCSAgaXRzIGJ1ZmZlcnMgYXJlIHB1c2hlZCBhcyByZWNlaXZlZCBkb3duc3RyZWFtLiBUaGlzIHdheSB0aGUKCSAgYnVmZmVycyBhcmUgc21hbGwgZW5vdWdoIGFuZCBub3QgYSB3aG9sZSBmcmFnbWVudCB0aGF0IHVzdWFsbHkKCSAgY2F1c2VzIGV4dHJhIGxhdGVuY3kgYW5kIG1ha2VzIGJ1ZmZlcmluZyBoYXJkZXIKCjIwMTQtMDQtMjkgMTk6MjQ6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIG1pc3NpbmcgR19CRUdJTi9FTkRfREVDTFMgaW4gdXRpbHMgaGVhZGVyCgoyMDE0LTA0LTI5IDEzOjIxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGdsOiBhZGQgbWlzc2luZyBlbnRyeSB0byBjZmxhZ3MgdG8gZmluZCBnc3QvZ2wvZ2wuaAoJICBPdGhlcndpc2UgYnVpbGQgZmFpbHMKCjIwMTQtMDQtMjkgMTY6NDQ6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkgIHRlc3RzOiBkcm9wIGRpcmVjdCBpbmNsdWRlCgkgIEl0IGlzIG9ubHkgYWxsb3dlZCB0byBpbmNsdWRlIGdkay9nZGt4LmggYW5kIHRoYXQgd2lsbCBicmluZyBhbGwgdGhlIHgxMSB0aGluZ3MuCgoyMDE0LTAxLTA2IDIyOjEzOjIxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc25kZmlsZTogc2VuZCBhIHRvYyBmb3IgdGhlIHNlZ21lbnRzIGluIHRoZSBhdWRpbyBmaWxlCgoyMDE0LTA0LTI5IDE1OjA2OjAwICswMDAwICBIYWFrb24gU3BvcnNoZWltIChpZWVpKSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVucmVmL3JlcGxhY2UgZm9yY2Vfa2V5X3VuaXRfZXZlbnQgaW4gZ3N0X2gyNjRfcGFyc2VfcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTIwMAoKMjAxNC0wNC0yOSAyMjoxODoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL3NkbCBleGFtcGxlOiBGaXggdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTQtMDQtMjMgMjA6Mjk6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IFJlZHVjZSBub2lzeSBJbmZvIGxldmVsIG91dHB1dCB0byBMT0cKCjIwMTQtMDQtMjkgMTg6MzI6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXMvc2RsOiB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgZ3N0Z2wgY2hhbmdlcwoKMjAxNC0wNC0yOSAxNjozODo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jYnA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9tYWluLm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvY3ViZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L2N1YmV5dXYudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9kb3VibGVjdWJlLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2dlbmVyaWMuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9yZWNvcmRncmFwaGljLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvZmlsdGVybm92aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9maWx0ZXJ2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L2d0a3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9waXhidWZkcm9wL3BpeGJ1ZmRyb3AudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvc3dpdGNodmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9Bc3luY1F1ZXVlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2NvY29hX3V0aWxzLm1tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0RlYnVnL3ZpZGVvb3ZlcmxheToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvdmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbC5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXM6IG1vdmUgdG8gLWJhZAoJICAtIGZpeCBhbGwgdGhlIGNvbXBpbGVyIGVycm9ycwoJICAtIGdpdmUgdGhlbSB0aGVpciBvd24gZ2wgZGlyZWN0b3J5CgoyMDE0LTA0LTI4IDE1OjU2OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC5wYy5pbjoKCSAgZWdsOiByZW1vdmUgcGMgZmlsZXMKCSAgRm9yZ290IHRvIGRvIHRoYXQgaW4gMDkxMTZiZjEwZDUxNWQ1MGJkZDFlOWEyMDI3OGJlODE2Y2I3NjJhYToKCSAgImVnbC9lZ2xnbGVzc2luazogcmVtb3ZlIHNpbmNlIEVHTEltYWdlIGFuZCBpT1Mgc3VwcG9ydCBoYXZlIGJlZW4gYWRkZWQgaW4gZ2xpbWFnZXNpbmsiCgoyMDE0LTA0LTI4IDE1OjUyOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIGdsOiBhcHBlbmQgR0xfTElCIGFuZCBHTF9DRkxBR1MgaW4gcGMgZmlsZXMKCjIwMTQtMDQtMjggMTU6NDc6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYXBwZW5kIEVHTF9MSUIgdG8gR0xfTElCCgoyMDE0LTA0LTI4IDE1OjE1OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiB1c2UgZ3N0X2dsX3BsYXRmb3JtX2Zyb21fc3RyaW5nIGJlY2F1c2Ugd2Ugc3VwcG9ydCBnbCBzaGFyZUxpc3Qgb24gYWxsIHBsYXRmb3JtcwoKMjAxNC0wNC0yOCAxNTowNzozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IG9ubHkgd2FybiB3aGVuIG90aGVyX2NvbnRleHQgYXR0cmlidXRlIGlzIHNldAoJICBGaXggZmFsc2UgcG9zaXRpdmUKCjIwMTQtMDQtMjggMTQ6NTQ6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXggc3RyaW5nIGxpdGVyYWwgd2FybmluZwoJICB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwsIGFyZ3VtZW50IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zvcm1hdC1ub25saXRlcmFsXQoKMjAxNC0wNC0yOCAxMDoxMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogVW5zZXQgcmVmZXJlciBpZiBub25lIHdhcyBzcGVjaWZpZWQgbGF0ZXIgb24KCjIwMTQtMDQtMjggMDk6MzI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFNldCBSZWZlcmVyIGluIHJlcXVlc3RzIHRvIHRoZSBwbGF5bGlzdCBVUkkKCjIwMTQtMDQtMjggMDk6MjM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIEFQSSB0byBzcGVjaWZ5IHRoZSByZWZlcmVyIG9mIGEgcmVxdWVzdAoKMjAxNC0wNC0yNyAyMzoyOTo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBhcnNpbmcgb2Ygc2xpY2UgZ3JvdXBzIGZvciBtYXAgdHlwZSA9IDIuCgkgIFdoZW4gcGFyc2luZyBzbGljZSBncm91cHMgaW5mb3JtYXRpb24gZm9yIHNsaWNlX2dyb3VwX21hcF90eXBlID0gMiwgd2UKCSAgc2hvdWxkIG9ubHkgYmUgcmVhZGluZyB1cCB0byBudW1fc2xpY2VfZ3JvdXBzX21pbnVzMSBncm91cHMgc2luY2UgdGhlcmUKCSAgaXMgYWx3YXlzIGEgImxlZnRvdmVyIiBzbGljZSBncm91cCBhbmQgYXMgbWFueSAiZm9yZWdyb3VuZCIgc2xpY2UgZ3JvdXBzCgkgIGFzIG5lZWRlZC4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBTVkNCTVQtNSBhbmQgU1ZDQk1ULTEyIHdoZXJlYnkgdGhlIGJhc2UgbGF5ZXIgd291bGQKCSAgaGF2ZSBpbmNvcnJlY3RseSBiZWVuIHBhcnNlZCB0byBoYXZlIHVwIHRvIDM4IHJlZmVyZW5jZSBmcmFtZXMgaW4gbGlzdDAsCgkgIHdoaWNoIGlzIG5vdCBwb3NzaWJsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0yNyAwOToyNTo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRG9uJ3QgZmFpbCBpZiBIVyBkb2VzIG5vdCBoYXZlIGFsbCBpbnRlcmZhY2VzCgkgIFRoaXMgcGF0Y2ggY29tcGxldGVzIDFjMWNjNzNhM2IyMzA0NTQ2NjM5NzE2NTY1MTUyOTdmOWVlOGJkOWYuIFRoZXNlCgkgIGNoYW5nZXMgd2hlcmUgYWNjaWRlbnRhbGx5IHB1c2hlZCBhcyBhIHNlcGFyYXRlIHBhdGNoIHdpdGggd3JvbmcgY29tbWl0CgkgIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczCgoyMDE0LTA0LTI3IDEzOjA5OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgUmV2ZXJ0ICJ5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY4MzA5YmQyMTU5MmE5NmRjODI0MTcwMmYxN2RlZDRlNWY1NDVmMzMuCgkgIENvbW1pdCBtZXNzYWdlIGFuZCBmaWxlcyBjaGFuZ2VkIGRvIG5vdCBtYXRjaC4KCjIwMTQtMDQtMjcgMDA6MzY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgYW5kIHBvaW50bGVzcyAnTGFzdCByZXZpZXdlZCcgbGluZXMgZnJvbSBkb2NzCgkgIFRoZXkgYXJlIHZlcnkgY29uZnVzaW5nIGZvciBwZW9wbGUsIGFuZCBtb3JlIG9mdGVuIHRoYW4gbm90CgkgIGFsc28ganVzdCBub3QgdmVyeSBhY2N1cmF0ZS4gU2VlaW5nICdsYXN0IHJldmlld2VkOiAyMDA1JyBpbgoJICB5b3VyIGRvY3MgaXMgbm90IHZlcnkgY29uZmlkZW5jZS1pbnNwaXJpbmcuIExldCdzIGp1c3QgcmVtb3ZlCgkgIHRob3NlIGNvbW1lbnRzLgoKMjAxNC0wNC0yNiAwODowODo1NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGRlcml2YXRpb24gb2YgZGVmYXVsdCBzY2FsaW5nIGxpc3RzLgoJICBXaGVuIHVzZURlZmF1bHRTY2FsaW5nTWF0cml4RmxhZyBpcyBjb21wdXRlZCB0byBiZSAxIHdoaWxlIHBhcnNpbmcKCSAgc2NhbGluZ19saXN0KCksIHRoZW4gdGhlIHNjYWxpbmcgbGlzdCBzaGFsbCBiZSBpbmZlcnJlZCB0byBiZSBlcXVhbAoJICB0byB0aGUgZGVmYXVsdCBsaXN0ICg3LjQuMi4xLjEuMSkuIFRoYXQgZGVmYXVsdCBsaXN0IGlzIHJlYWxseSBvbmUKCSAgb2YgRGVmYXVsdF80eDRfe0ludHJhLEludGVyfSBvciBEZWZhdWx0Xzh4OF97SW50cmEsSW50ZXJ9IGFuZCBub3QKCSAgb25lIGZyb20gZmFsbC1iYWNrIHJ1bGUgc2V0cyBBIG9yIEIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgRlJFeHQxX1BhbmFzb25pY19ELCBGUkV4dDJfUGFuYXNvbmljX0MsCgkgIEZSRXh0M19QYW5hc29uaWNfRSBhbmQgRlJFeHQ0X1BhbmFzb25pY19CLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NTE4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTYgMDE6NTA6MTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmwqc2luazogcmVwb3J0IGVycm9ycyBmcm9tIGN1cmwgd2hlbiBzZXR0aW5nIG9wdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0xNSAyMzo1MzozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsKnNpbms6IHBvc3QgZXJyb3Igb24gYnVzIGluIGVsZW1lbnQsIG5vdCB0cmFuc2ZlciB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybGh0dHBzaW5rOiBhbGxvdyBmb3IgdW5jb25kaXRpb25hbGx5IGRpc2FibGluZyBwcm94eWluZwoJICBQcmV2aW91c2x5IGlmIHRoZSBwcm94eSBzZXJ2ZXIgaG9zdG5hbWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcKCSAgY3VybGh0dHBzaW5rIHdvdWxkIG5ldmVyIGV2ZW4gc2V0IHRoZSBsaWJjdXJsIG9wdGlvbi4gRm9yIGxpYmN1cmwKCSAgaG93ZXZlciwgaGF2aW5nIGEgcHJveHkgc2VydmVyIGhvc3RuYW1lIGJlIHRoZSBlbXB0eSBzdHJpbmcgbWVhbnMgdGhhdAoJICBwcm94eWluZyBzaG91bGQgYmUgZGlzYWJsZWQgZXZlbiBpZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbWlnaHQgYmUgc2V0LgoJICBOb3cgd2l0aCB0aGUgcmVzdHJpY3Rpb24gbGlmdGVkLCBkb2luZyB0aGlzIGlzIGFsbG93ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6NTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkgIGN1cmwqc2luazogaW1wcm92ZSByZXR1cm4gdmFsdWUgY2hlY2tzIGluIHRlc3QgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjoxMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmwqc2luazogZml4IHR5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMTYgMDE6NTA6MDMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsKnNpbms6IGZpeCBzb21lIGdzdC1pbmRlbnQgcHJvYmxlbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yNSAxNjoxODowNyAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IGNoZWNrIHRoZSBjb3JyZWN0IEdzdEdMTWVtb3J5IGluIGJhc2ljX3Rlc3QKCjIwMTQtMDQtMjUgMTc6NDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IE9ubHkgcmVxdWlyZSBhbGlnbm1lbnQgYW5kIHN0cmVhbS1mb3JtYXQgZm9yIGgyNjQsIHBhcnNlZCBpcyBpbXBsaWNpdAoKMjAxNC0wNC0yNSAxNDo0MToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2V0IHNvdXJjZSBzdGF0ZSB0byBOVUxMIGlmIGRvd25sb2FkaW5nIGZhaWxlZCBmb3Igd2hhdGV2ZXIgcmVhc29uCgoyMDE0LTA0LTI0IDEzOjU5OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA0LTI0IDE4OjMzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2wveDExOiBHZXQgcmlkIG9mIHVubmVlZGVkIHNlY29uZCBkaXNwbGF5IGNvbm5lY3Rpb24gYW5kIGRvIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgbWFpbiBsb29wCgoyMDE0LTA0LTI0IDE4OjI4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBCbG9jayByZW5kZXJpbmcgdW50aWwgc3dhcGJ1ZmZlcnMgaXMgY2FsbGVkIGFuZCBkb24ndCBnbyB2aWEgWDExIGV2ZW50cyBhcyB1bm5lZWRlZCBpbmRpcmVjdGlvbgoJICBUaGlzIHNob3VsZCBmaXggUW9TIHByb2JsZW1zLCB3aGVyZSBiYXNlc2luayBiZWxpZXZlZCBpdCB3YXMgcmVuZGVyaW5nIHdpdGgKCSAgMjBGUFMgYnV0IGFjdHVhbGx5IHdlIHdlcmUganVzdCBxdWV1ZWluZyB1cCBYMTEgRXhwb3NlIGV2ZW50cyBhbmQgb25seSBvbmNlCgkgIGluIGEgd2hpbGUgc29tZXRoaW5nIHdhcyByZW5kZXJlZC4KCjIwMTQtMDQtMjQgMTY6MDU6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBmYWlscyBnbGltYWdlc2luayB3aGVuIHNoYWRlciBjb21waWxhdGlvbiB3ZW50IHdyb25nCgkgIFRob3NlIHNoYWRlcnMgYXJlIGZpeGVkIGFuZCB2ZXJ5IHNpbXBsZSBzbyBpdCBzaG91bGQgbm90IGZhaWwKCSAgYnV0IGl0J3Mgd29ydGggdG8gaGFuZGxlIGEgc3VjaCBjYXNlLgoKMjAxNC0wNC0yNCAxNTozNjo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGNhbGwgZ2xDbGVhckNvbG9yIGJlZm9yZSBnbENsZWFyCgoyMDE0LTA0LTI0IDE2OjMzOjU2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGZpeCBnc3RyZWFtZXItZ2wgdW5pbnN0YWxsZWQKCSAgRW5zdXJlIHRvIHByb3ZpZGUgbGliZ3N0Z2wgYWxzbyBpbiB0aGUgdW5pbnN0YWxsZWQgc2V0dXAuCgkgIEZpeGVzIGJ1aWxkIG9mIGdzdC1vbXggZm9yIFJQSSBpbiB1bmluc3RhbGxlZCBzZXR1cC4KCjIwMTQtMDQtMjQgMTU6MTc6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGRvIG5vdCBzY2FsZSB0byBmdWxsIHNjcmVlbgoJICBIYXZpbmcgYSA2NDB4MzYwIG1vdmllIGJlaW5nIHNjYWxlZCB0byAxOTAweDEyMDAgZG9lcyBub3QgbG9vayBuaWNlCgoyMDE0LTA0LTI0IDE0OjUwOjU3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBjaGFuZ2UgZGlzcG1hbnggYXR0cmlidXRlcyBvZiBleGlzdGluZyBlbGVtZW50IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lCgkgIEkgd2FzIGx1Y2t5IHRoYXQ6CgkgIGUxID0gdmNfZGlzcG1hbnhfZWxlbWVudF9hZGQgKCkKCSAgZWdsQ3JlYXRlV2luZG93U3VyZmFjZSAoZTEpCgkgIHZjX2Rpc3BtYW54X2VsZW1lbnRfcmVtb3ZlIChlMSkKCSAgZTIgPSB2Y19kaXNwbWFueF9lbGVtZW50X2FkZCAoKQoJICByZXN1bHRlZCBpbiBoYXZpbmcgZTIgZXF1YWwgdG8gZTEuIEFuZCBhbHNvIGhhdmluZyB0aGUgZWdsIHN1cmZhY2UKCSAgdGhhdCBkb2VzIG5vdCBhbGxvY2F0ZSBpdHMgYnVmZmVycyBiZWZvcmUgdGhlIGZpcnN0IGRyYXcuCgoyMDE0LTA0LTI0IDE0OjM4OjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBlbnN1cmUgdGhlIGRpc3BtYW54IGVsZW1lbnQgdG8gYmUgb3BhcXVlCgkgIFNvIHRoYXQgd2UgZW5zdXJlIGl0IGRvZXMgbm90IGdldCBhbHBoYSBjb21wb3NpdGVkIHdpdGggb3RoZXIKCSAgZGlzcG1hbnggZWxlbWVudHMgbGlrZSB0aGUgZGVza3RvcC4KCjIwMTQtMDQtMTggMjA6MDQ6MjUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXZmYXNzZXRzcmM6IGRvd25ncmFkZSByYW5rIHRvIFNFQ09OREFSWSBpbiBPUyBYCgoyMDE0LTA0LTE4IDIwOjAzOjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IHJlbmFtZSByZWZlcmVuY2VzIHRvIGlPUwoKMjAxNC0wNC0xNCAxOTowODowMSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2F2YXNzZXRzcmM6IHJlbmFtZSBlbGVtZW50IHRvIGF2ZmFzc2V0c3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTQtMDQtMDMgMTQ6MDI6MTggKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3NhdmFzc2V0c3JjOiBQb3J0IHRvIDEuMAoJICBBbHNvIGVuYWJsZXMgdGhpcyBlbGVtZW50IG9uIE9TWCA+PSAxMC43LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDEzLTA1LTExIDAzOjQxOjM2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIG5ldyBzb3VyY2UvZGVjb2RlciBlbGVtZW50IGZvciBpT1MgYXNzZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTQtMDQtMDkgMTA6NTU6MDMgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjogaGFuZGxlIHN0cmlkZSBhbGlnbm1lbnQKCSAgSGFuZGxlIHN0cmlkZSBhbGlnbm1lbnQgdGhyb3VnaCB0aGUgdXNlIG9mIHRoZSB2aWRlbyBtZXRhIEFQSS4gVGhlCgkgIGNvZGUgaXMgYmFzZWQgb24gdGhlIGNvcmV2aWRlb2J1ZmZlciBpbXBsZW1lbnRhdGlvbi4KCSAgSWYgdGhlIHZpZGVvIG1ldGEgQVBJIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlcgoJICBjb250YWlucyBwYWRkaW5nLCB0aGUgY29yZSBtZWRpYSBidWZmZXIgaXMgY29waWVkIHRvIGEgc3lzdGVtIG1lbW9yeQoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4ODUKCjIwMTQtMDQtMDkgMTE6NDc6MTIgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBBUEkKCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBBUEksIHNvIHdlIGNhbiB1c2UgaXQgbGF0ZXIKCSAgd2l0aCB0aGUgY29yZSBtZWRpYSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTUzCgoyMDE0LTA0LTI0IDEwOjM3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogcGFzcyBhIE5TVmlldyB0byBzZXRfd2luZG93X2hhbmRsZSBpbnN0ZWFkIG9mIGEgTlNXaW5kb3cKCSAgRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NTEKCjIwMTQtMDQtMjQgMDk6MDM6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBvbmx5IGRyYXcgb25jZSB0aGUgd2luZG93IGhhcyBiZWVuIHJlc2l6ZWQKCSAgSXQgYXZvaWRzIHRvIGRyYXcgdGhlIGZpcnN0IGZyYW1lIHdpdGggYW4gaW5jb3JyZWN0IHZpZXcgcG9ydC4KCjIwMTQtMDQtMjQgMDg6NDk6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogc2V0IHRoZSB2aWV3IHRvIHVzZSBmb3IgZHJhd2luZyBieSB0aGUgY29udGV4dAoJICBJdCBhdm9pZHMgdG8gZHJhdyB0byBhbiBpbnZhbGlkIGJ1ZmZlci4KCSAgV2l0aHRvdXQgdGhpcyB0aGUgZGVmYXVsdCBmcmFtZSBidWZmZXIgaXMgdW5kZWZpbmVkOgoJICBnbEJpbmRGcmFtZWJ1ZmZlciAoR0xfRlJBTUVCVUZGRVIsIDApCgkgIFZpc3VhbGx5IHlvdSBjb3VsZCBzZWUgc29tZSB3aGl0ZSBmcmFtZXMgYXQgdGhlIGJlZ2lubmluZwoJICB3aGVuIGx1bmNoaW5nIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIFdpdGggT3BlbkdMIFByb2ZpbGVyIGZyb20gWENvZGUgeW91IGNvdWxkIHNlZSBzb21lCgkgIEdMX0lOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIGZvciB0aGUgZmlyc3QgZnJhbWVzCgoyMDE0LTA0LTIzIDE0OjQxOjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZml4IGRlY2xhcmF0aW9uLWRlZmluaXRpb24gbWlzbWF0Y2ggZm9yIF9pbml0X3VwbG9hZAoKMjAxNC0wNC0yMyAxMzozNDoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsL2J1ZmZlcnBvb2w6IGRvIG5vdCByZXNldCB1cGxvYWQgd2hlbiBzZXRfY29uZmlnIGRvZXMgbm90IGNoYW5nZSB0aGUgY2FwcwoJICBXaXRoIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIGl0IHdhcyByZXNldCAzIHRpbWVzCgoyMDE0LTA0LTIzIDEzOjMwOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogdXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZiBmb3IgX19BUFBMRV9fCgkgIHdhcm5pbmc6ICJfX0FQUExFX18iIGlzIG5vdCBkZWZpbmVkIFstV3VuZGVmXQoJICB3aXRoIGdjYyB2ZXJzaW9uIDQuNy4yIDIwMTIwNzMxIChwcmVyZWxlYXNlKQoJICAoY3Jvc3N0b29sLU5HIGxpbmFyby0xLjEzLjErYnpyMjQ1OCAtIExpbmFybyBHQ0MgMjAxMi4wOCkKCjIwMTQtMDQtMjMgMTI6NDI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogVXNlciBnX3NsaWNlX25ldzAgdG8gZW5zdXJlIGZ1bGx5IGluaXRpbGl6ZWQgc3RydWN0dXJlCgkgIFRoZSBwYm8gcG9pbnRlciBub3QgYmVpbmcgaW5pdGlhbGl6ZWQgd291bGQgdHJpZ2dlciBhIHVzZSBvZiB1bml0aWxpYWxpemVkIHZhcmlhYmxlCgkgIGluIHZhbGdyaW5kLgoKMjAxNC0wMy0yOSAxODozNDoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggc3VwcG9ydCBmb3IgSFcgd2l0aG91dCBvdXRwdXQKCSAgRGV2aWNlcyBzdWl0YWJsZSBmb3IgZGVja2xpbmtzcmMgbWF5IG5vdCBoYXZlIGFueSBvdXRwdXQsIGhlbmNlIHF1ZXJ5aW5nCgkgIHRoZSBpbnB1dCByZXR1cm5zIE5VTEwuIEFkZCBzdXBwb3J0IGZvciBhbGwgY2FzZXMgd2hlcmUKCSAgaW5wdXQvb3V0cHV0L2NvbmZpZyBtYXkgYmUgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNgoKMjAxNC0wMy0xNSAxNToxNzo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgeTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YQoJICBUaGlzIGVsZW1lbnQgb25seSBuZWVkIHN0cmlkZSBzdXBwb3J0LCBidXQgY2hlY2tzIGZvciBDUk9QX01FVEEsIHdoaWNoCgkgIGlzIGEgYml0IHRvbyBtdWNoLCBldmVuIHRob3VnaCB0aGlzIHdvcmtzIGFzIENST1AgaW1wbHkgaGF2aW5nIFZJREVPCgkgIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyNTUKCjIwMTQtMDQtMjMgMTE6MTA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFVzZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGFkanVzdGVkIHdpZHRoL2hlaWdodCB3aGVuIGNlbnRlcmluZyB0aGUgZnJhbWUgaW4gdGhlIGRpc3BsYXkgYXJlYQoJICBNYWtlcyBzdXJlIHdlIGFjdHVhbGx5IGtlZXAgdGhlIGRpc3BsYXkgYXNwZWN0IHJhdGlvCgoyMDE0LTA0LTIzIDEwOjU1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBCeSBkZWZhdWx0IGtlZXAgdGhlIGRpc3BsYXkgYXNwZWN0IHJhdGlvCgkgIEFsc28gdGhlIGRlZmF1bHQgZm9yIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gc2hvdWxkIGJlIDEvMSwgbm90IDAvMS4KCjIwMTQtMDQtMjMgMTA6NDI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEZsdXNoIHByb2dyYW0gZW5kIGNvZGUgYnl0ZXMKCSAgVGhpcyBzaG91bGQgbm90IGhhcm0gcmVndWxhciBmaWxlcywgc2luY2UgdGhvc2UgYXJlIHRoZSBsYXN0IDQgYnl0ZXMgb2YKCSAgYSBub3JtYWwgZmlsZS4KCSAgVGhpcyBhbGxvd3MgdG8gaGFuZGxlIHBsYXliYWNrIG9mIGNvbmNhdGVuYXRlZCBtcGVnLXBzIGZpbGVzLiBTZWVraW5nIGFuZAoJICBkdXJhdGlvbiByZXBvcnRpbmcgaXMgc3RpbGwgd3JvbmcgdGhvdWdoLgoKMjAxNC0wNC0yMyAxMDoyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBVbnJlZiBjb250ZXh0IHdoZW4gY3JlYXRpb24gZmFpbGVkIGFuZCBndWFyZCBhZ2FpbnN0IHRoYXQgaW4gZmlsbCgpCgoyMDE0LTA0LTIzIDEwOjI0OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDYWxsIGdzdF9vYmplY3RfdW5yZWYoKSBvbiB0aGUgR3N0R0wgR09iamVjdHMgYWdhaW4KCSAgV2hpbGUgdGhleSdyZSBwbGFpbiBHT2JqZWN0cyBpdCBkb2VzIG5vdCBodXJ0IHRvIGNhbGwgZ3N0X29iamVjdF91bnJlZigpCgkgIG9uIHRoZW0gYW5kIHBvdGVudGlhbGx5IGFsbG93cyB0byBkZWJ1ZyByZWZlcmVuY2UgbGVha3MgYSBiaXQgZWFzaWVyLgoKMjAxNC0wNC0yMyAxMDowMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogSWYgY3JlYXRpbmcgYSBjb250ZXh0IG9yIHVwbG9hZCBmYWlsZWQsIGRlc3Ryb3kgaXQKCSAgRml4ZXMgZGVhZGxvY2tzIGluIGVycm9yIGNhc2VzIHdoZW4gbGF0ZXIgY29kZSBhc3N1bWVzIHRoZSBicm9rZW4KCSAgY29udGV4dCBpcyBhY3R1YWxseSB1c2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NjEKCjIwMTQtMDQtMjIgMTI6NTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzaW1wbGlmeSBpZiBzdGF0ZW1lbnQKCSAgQ0lEIDEyMDQyNzQKCjIwMTQtMDQtMjEgMTM6MTU6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogZml4IE1QMiBjYXNlCgkgIFRlc3RpbmcgbXBlZ3ZlcnNpb24gd2hlbiBtcGVnYXVkaW92ZXJzaW9uIHdhcyBsaWtlbHkgbWVhbnQuCgkgIFNpbWlsYXIgdGVzdHMgaW4gc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jIGFsc28gdGVzdAoJICBtcGVnYXVkaW92ZXJzaW9uIHdpdGggdGhlIHNhbWUgY29uZGl0aW9uYWwgY29kZS4KCSAgQ292ZXJpdHkgMjA2MDcxCgoyMDE0LTA0LTIxIDEwOjM2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGd1YXJkIGFnYWluc3QgZGl2aWRpbmcgYnkgemVybwoJICBJZiBmcmFtZXJhdGUgaXMgdW5rbm93biwgd2Ugd3JpdGUgdGhlIG1heGltdW0gZnJhbWVyYXRlCgkgIGFsbG93ZWQgZm9yIHRoaXMgcHJvZmlsZS9sZXZlbDoKCSAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtYXZ0LXJ0cC12YzEtMDYjc2VjdGlvbi02LjEKCSAgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9VkMtMSNTZXR1cF9EYXRhXy4yRl9TZXF1ZW5jZV9MYXllcgoJICBDb3Zlcml0eSAxMTM5Njk0CgoyMDE0LTA0LTIxIDEwOjA3OjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogZ3VhcmQgYWdhaW5zdCBkaXZpZGluZyBieSAwCgkgIFVzZSBhIHBsYWNlaG9sZGVyIHZhbHVlIGluIHRoYXQgY2FzZSwgaXQncyBiZXR0ZXIgdGhhbiBjcmFzaGluZy4KCSAgQ292ZXJpdHkgMTEzOTY5NwoKMjAxNC0wNC0yMSAwOTo1MToxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGEgY291cGxlIHNwZWxsaW5nL2dyYW1tYXIgZml4ZXMKCjIwMTQtMDQtMjEgMDk6NTA6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBndWFyZCBhZ2FpbnN0IHVzaW5nIGEgTlVMTCB3aW5kb3cgcG9pbnRlcgoJICBDb3Zlcml0eSAxMTk1MTQ1CgoyMDE0LTA0LTIxIDA5OjQ3OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogcHJldmVudCBkaXZpc2lvbiBieSAwIG9uIHVuc3VwcG9ydGVkIHRleHR1cmUgdHlwZQoJICBDb3Zlcml0eSAxMTk5Njk3CgoyMDE0LTA0LTIxIDIyOjAxOjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGJ0NzA5IGNvbnZlcnNpb24gbWF0cmljZXMuCgkgIEZpeCB0aGUgc2lnbiBvbiBvbmUgZW50cnkgaW4gdGhlIGJ0LjcwOSBZVVYtPlJHQiBjb252ZXJzaW9uCgkgIG1hdHJpeCwgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGludmVyc2UgbWF0cml4LiBGaXhlcyByZWFsbHkKCSAgd3JvbmcgY29sb3VyaW5nIG9mIHNvbWUgdmlkZW9zLgoKMjAxNC0wNC0xNyAwOTo1ODo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IHRlc3QgZm9yIHByb3BlciB1c2UgY291bnQgYmFsYW5jaW5nCgkgIHVzZWNvdW50IGlzIHVuc2lnbmVkLCBzbyB0b28gbWFueSAidW51c2UiIHdpbGwgd3JhcCB0aGUgY291bnRlcgoJICBhcm91bmQgYW5kIHRoZSA+PSAwIGNoZWNrIHdpbGwgYWx3YXlzIGJlIGZpbmUuCgkgIEl0IHdvdWxkIGJlIG11Y2ggc2ltcGxlciB0byBqdXN0IG1ha2UgdGhlIGNvdW50ZXIgc2lnbmVkLCBidXQKCSAgbW92aW5nIHRoZSBjaGVja3Mgd2hlcmUgdGhlIGRlY3JlbWVudHMgaGFwcGVuIGFsbG93IGEgbWlzdGFrZQoJICB0byBiZSBkZXRlY3RlZCBlYXJsaWVyLCBhbmQgdGh1cyBlYXNpZXIgdG8gZGVidWcuCgkgIENvdmVyaXR5IDExMzk3OTEKCjIwMTQtMDQtMTcgMDk6MzU6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZ3VhcmQgYWdhaW5zdCBOVUxMIG5vbiBzb3VyY2UgY29tcG9uZW50cwoJICBUaGlzIGNvbXBvbmVudCBpcyBkZXJlZmVyZW5jZWQsIGFuZCBsYXRlciBjb2RlIGNoZWNraW5nIGZvcgoJICBOVUxMIGluIHBhcnRpY3VsYXIgY2FzZXMgaW1wbGllcyBpdCBjYW4gYmUgTlVMTC4gVGhpcyBsaWtlbHkKCSAgZG9lcyBub3QgZml4IHRoZSBjb3Zlcml0eSB3YXJuaW5nIGFzIGl0IHdhcyBzZWVpbmcgYW5vdGhlcgoJICBwYXRoIHNldHRpbmcgY29tcG9uZW50IHRvIE5VTEwgZXhwbGljaXRlbHksIGJ1dCB0aGlzIHdhcwoJICBzcG90dGVkIGJ5IGxvb2tpbmcgYXQ6CgkgIENvdmVyaXR5IDExMzk3MzYKCSAgV2hpY2ggaXMgYWN0dWFsbHkgT0sgZnJvbSB3aGF0IEkgY2FuIHNlZSBzaW5jZSB0aGUgYWN0dWFsCgkgIGRlcmVmZXJlbmNlIG9mIHRoZSBleHBsaWNpdCBOVUxMIHBvaW50ZXIgd2lsbCBub3QgaGFwcGVuCgkgIGlmIHRoZSBjb25kaXRpb24gdGhhdCBsZWQgdG8gdGhlIE5VTEwgcG9pbnRlciBhc3NpZ25tZW50CgkgIGlzIG1ldCwgc2luY2UgdGhlIGFzc2lnbm1lbnQgYW5kIGRlZmVmZXJlbmNlIGhhdmUgbXV0dWFsbHkKCSAgZXhjbHVzaXZlIHRlc3RzLgoKMjAxNC0wNC0xNyAwOToyNjoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICByYXdwYXJzZTogY2F0Y2ggZXJyb3JzIGluIGNhcHMgbWFuaXB1bGF0aW9uCgkgIENvdmVyaXR5IDExMzk2MjIKCjIwMTQtMDQtMTggMjA6MTI6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGNvbXBsaWVyIGVycm9yIHVzaW5nIGZpeGVkIGxlbmdodCBhcnJheXMKCjIwMTQtMDQtMTggMTg6MTI6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGRldGVjdCBhbmQgcHJvcGFnYXRlIHJlc29sdXRpb24gY2hhbmdlcy4KCSAgRGV0ZWN0IHJlc29sdXRpb24gY2hhbmdlcyBvbiBrZXkgZnJhbWVzLCBhbmQgcHJvcGFnYXRlIHRoZSByZXN1bHRpbmcKCSAgY2FwcyB0byB0aGUgc3JjIHBhZC4gT25seSB0aGUgdW5jb21wcmVzc2VkIGRhdGEgY2h1bmsgaXMgZGVjb2RlZCwgc28KCSAgYXZvaWQgdXNpbmcgdGhlIG5ldyBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeSBmb3Igbm93LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE4IDE3OjM0OjA4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBhdm9pZCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvIHdoZW4gY2FsY3VsYXRpbmcgUFRTLgoJICBBdm9pZCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvIHdoaWxlIGRlcml2aW5nIHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wCgkgIG9mIHRoZSBidWZmZXIuIFRoZSBiYXNlIGNsYXNzIHdpbGwgdGFrZSBjYXJlIG9mIGFueSBpbnRlcnBvbGF0aW9uIG5lZWRzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTEwLTI1IDA3OjM4OjUzICswODAwICBIYWxsZXkgWmhhbyA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBpdmZwYXJzZTogZW5hYmxlIGJ1aWxkLgoJICBEcm9wIGBpdmZwYXJzZScgZWxlbWVudCBmcm9tIHRoZSBub24tcG9ydGVkIHNldCBvZiBwbHVnaW5zIGluIGNvbmZpZ3VyZS4KCjIwMTQtMDMtMDQgMTU6NDY6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODU1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMjQgMDg6Mzc6MTYgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZwOHBhcnNlci10ZXN0LmM6CgkgIHRlc3RzOiBhZGQgc3RhbmRhbG9uZSBwcm9ncmFtIGZvciBWUDggcGFyc2VyLgoJICBBZGQgc3RhbmRhbG9uZSB0ZXN0IGFwcGxpY2F0aW9uIHRoYXQgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIG5ldwoJICBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeSwgd2hpbGUgYWxzbyBhbGxvd2luZyBzaW1wbGUgZGVidWdnaW5nLwoJICB0cmFjaW5nIG9mIElWRiBmaWxlcy4KCSAgW2NsZWFuLXVwcywgdXBkYXRlZCB0byBuZXcgcGFyc2VyIEFQSV0KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0wOCAwMjo0OTowMCArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy92cDhwYXJzZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeS4KCSAgW3VwZGF0ZWQgdG8gbmV3IHBhcnNlciBBUEldCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMDkgMDk6MjI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IHZwODogcmVuYW1lIGRib29saHVmZiBzeW1ib2xzLgoJICBSZW5hbWUgVlA4IGRib29saHVmZiBzeW1ib2xzIHNvIHRoYXQgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIGxpYnZweCB3aGVuCgkgIHN0YXRpYyBsaW5raW5nLgoKMjAxNC0wNC0wOCAxMDozMDowOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuQVVUSE9SUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IHZwODogYWRkIEdTdHJlYW1lciBuYXRpdmUgdXRpbGl0aWVzLgoJICBJbXBvcnQgbGlidnB4IDEuMy4wIHJhbmdlIGRlY29kZXIgZmlsZXMgKGRib29saHVmZi5bY2hdKSB0byBpbXBsZW1lbnQKCSAgdGhlIFZQOCB1dGlsaXRpZXMgbmF0aXZlIGludGVyZmFjZS4gTGlrZXdpc2UsIGNvcHkgYW5kIHVzZSB0aGUgZGVmYXVsdAoJICBsaWJ2cHggZ2VuZXJhdGVkIGVudHJvcHkgcHJvYmFiaWxpdGllcyB0YWJsZXMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMDggMDI6NDk6MDAgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBWUDggYml0c3RyZWFtIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjc2MAoJICBbcmVmYWN0b3JlZCwgYW1vbmcgb3RoZXIgZml4ZXNdCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTggMTY6MjM6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBJbXByb3ZlIHRzX3RvX29mZnNldCBjb2RlCgkgICogU2VhcmNoIGluIGN1cnJlbnQgcGVuZGluZyB2YWx1ZXMgZmlyc3QuIEZvciBDQlIgc3RyZWFtcyB3ZSBjYW4gdmVyeQoJICBlYXNpbHkgZW5kIHVwIGhhdmluZyBqdXN0IG9uZSBpbml0aWFsIG9ic2VydmF0aW9ucyBhbmQgdGhlbiBub3RoaW5nCgkgIGVsc2UgKHNpbmNlIHRoZSBiaXRyYXRlIGRvZXNuJ3QgY2hhbmdlKS4KCSAgKiBVc2Ugb25lIGdyb3VwIHdoZXRoZXIgd2UgYXJlIGluIHRoYXQgZ3JvdXAgKk9SKiBpZiB0aGVyZSBpcyBvbmx5CgkgIG9uZSBncm91cC4KCSAgKiBJZiB0aGUgZ3JvdXAgdG8gdXNlIGlzbid0IGNsb3NlZCAocG9pbnRzIGFyZSBiZWluZyBhY2N1bXVsYXRlZCBpbiB0aGUKCSAgUENST2Zmc2V0Q3VycmVudCksIHVzZSB0aGUgbGF0ZXN0IGRhdGEgYXZhaWxhYmxlIGZvciBjYWxjdWxhdGlvbgoJICAqIElmIGluIHRoZSB1bmxpa2VseW5lc3MgdGhhdCBhbGwgb2YgdGhpcyAqc3RpbGwqIGRpZG4ndCBwcm9kdWNlIG1vcmUKCSAgdGhhbiBvbmUgZGF0YSBwb2ludCwganVzdCByZXR1cm4gdGhlIGluaXRpYWwgb2Zmc2V0CgoyMDE0LTA0LTE4IDE2OjIwOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIHRzZGVtdXg6IEZpeCBzY2FsaW5nIG1hY3JvcwoJICBXaGlsZSB0aGUgY2FsY3VsYXRpb24gZG9uZSBpbiB0aGVzZSBtYWNyb3Mgd2lsbCB3b3JrIHdpdGggNjRiaXQKCSAgaW50ZWdlcnMsIHRoZXkgd2lsbCBmYWlsIGlmIHdvcmtpbmcgd2l0aCAzMmJpdCBpbnRlZ2Vycy4KCSAgRm9yY2UgdGhlIHNjYWxpbmcgdXAgdG8gc29sdmUgdGhhdC4KCSAgVGhpcyBhbWF6aW5nbHkgZGlkbid0IGludHJvZHVjZSBtYWpvciBpc3N1ZXMgdXAgdG8gbm93LCBidXQgcmVzdWx0ZWQKCSAgaW4gYm9ndXMgdmFsdWVzIGluIGRlYnVnIGxvZ3MuCgoyMDE0LTA0LTE4IDE2OjE4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgaGFyZC1mbHVzaCB0aGUgcGFja2V0aXplciBvbiBkaXNjb250IGJ1ZmZlcnMKCSAgRG9pbmcgYSBoYXJkIGZsdXNoIG9uIHRoZSBwYWNrZXRpemVyIHdpbGwgZHJvcCBhbGwgb2JzZXJ2YXRpb25zLCB3aGljaAoJICB3aWxsIGV2ZW50dWFsbHkgYnJlYWsgcHVzaC1iYXNlZCBzZWVraW5nICh3aXRoIEJZVEVTIHNlZ21lbnQpIHNpbmNlCgkgIHdlIHdvbid0IGtub3cgd2hlcmUgdG8gc2VlayB0byBhbnltb3JlIChuZXcgZGF0YSB3b3VsZCBhbHdheXMgYmUKCSAgY29uc2lkZXJlZCBhcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0pLgoKMjAxNC0wNC0xNiAxNjoyNToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggY29weS9wYXN0ZSBlcnJvcgoJICBXZSB3YW50IHRvIGNoZWNrIHdoZXRoZXIgdGhlIHJhdGUgaXMgZGlmZmVyZW50LiBXZSBjaGVjayBjaGFuZ2VzIGluCgkgIG51bWVyYXRvciAqYW5kKiBkZW5vbWluYXRvci4KCSAgQ0lEICMxMTM5NjMxCgkgIENJRCAjMTEzOTY0MgoKMjAxNC0wNC0xNiAxNjoxOTo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogSGFuZGxlIGZyYWN0aW9uIHBhcnNpbmcgZmFpbHVyZQoJICBBbmQgcHJvcGVybHkgY2xlYW51cC9yZXNldCB0aGUgc2VnbWVudCBiZWZvcmUgcmV0dXJuaW5nIG9uIGVycm9ycwoJICBDSUQgIzIwNjAxMgoKMjAxNC0wNC0xNiAxNjoxMjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogUmVtb3ZlIHVzZWxlc3MgY2hlY2sKCSAgYSBndWludCB3aWxsIGFsd2F5cyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBtYXhpbXVtIHZhbHVlIGl0IGNhbgoJICBjb250YWluCgkgIENJRCAjMjA2MDQ5CgoyMDE0LTA0LTA5IDEyOjI3OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBhdm9pZCBkZXJlZmVyZW5jaW5nIE5VTEwgbWFwcGluZyBkYXRhIHBvaW50ZXIKCSAgQWxzbyB1bnJlZiBidWZmZXJzIG9uIGVycm9yLCBhcyBpdCBzZWVtcyB0byBiZSBkb25lIGluIG9uZSwgYnV0CgkgIG5vdCBhbGwsIGVycm9yIHBhdGhzLgoJICBUaGUgTlVMTCBwb2ludGVyIHBhcnQgaXMgQ292ZXJpdHkgMjA2MTEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4ODkKCjIwMTQtMDQtMTYgMTY6MDc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IEZpeCBpZigpIGNoZWNrCgkgIGludHJvZHVjZWQgYnkgbXkgcHJldmlvdXMgY29tbWl0IDooCgoyMDE0LTA0LTE2IDE1OjQzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXRlY3QgRUdMIGhlYWRlciBwcmVzZW5jZQoJICBGaXhlcyB0aGUgYnVpbGQgZm9yIEFuZHJvaWQsIGFuZCBJIHN1c3BlY3QgZm9yIG90aGVyIHN5c3RlbXMgdG9vLi4uCgoyMDE0LTA0LTE2IDE1OjM3OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJICBkdmIvY2Ftc2Vzc2lvbjogRG9uJ3QgZG8gb3BlcmF0aW9ucyBvbiB1bmV4aXN0aW5nIHNlc3Npb25zCgkgIENJRCAjMjA2MTE0CgoyMDE0LTA0LTE2IDE1OjMyOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBIYW5kbGUgc29ja2V0KCkgZmFpbHVyZQoJICBDSUQgIzIwNjE3OAoKMjAxNC0wNC0xNiAxNToyMzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEhhbmRsZSBmYWlsdXJlIHRvIGdldCBzdGF0aXN0aWNzIGZyb20gdGhlIGRldmljZQoJICBDaGVjayB0aGUgaW9jdGwgcmV0dXJuIHZhbHVlIGFuZCBkb24ndCBvdXRwdXQgYm9ndXMgdmFsdWVzLgoJICBDSUQgIzIwNjAxNgoKMjAxNC0wNC0xNiAxNToxODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IGNsb3NlIGEgZmQgdGhhdCB3YXNuJ3Qgb3BlbgoJICBXZSBhcmUgaGFuZGxpbmcgdGhlIGZhaWx1cmUgY2FzZXMgaW4gdGhpcyBibG9jayB3aGVyZSB0aGUgb3BlbiBmYWlsZWQKCSAgQ0lEICMyMDYxNzkKCjIwMTQtMDQtMTYgMTU6MTc6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCB0cnkgdG8gYWNjZXNzIE5VTEwgc3RyaW5nCgkgIEFuZCByZWZhY3RvciB0aGUgcGlkIHNldHRpbmcgY29kZSB0byBiZSBpbiBpdHMgb3duIGZ1bmN0aW9uIGZvciBjbGFyaXR5CgkgIENJRCAjMjA2Mzc0CgoyMDE0LTA0LTEwIDE2OjA0OjIxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGR2YiBjYSBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMzowNyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzY3JhbWJsaW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMjowOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDA6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZGF0YSBicm9hZGNhc3QgaWQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTEwIDE1OjU5OjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHByaXZhdGUgZGF0YSBzcGVjaWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTE2IDA5OjIwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiOiBNaW5vciBjb2RlIHN0eWxlIGZpeAoKMjAxNC0wNC0xMCAxNTo1ODo1NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBwYXJlbnRpYWwgcmF0aW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xMCAxNTo1ODowNCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBsaW5rYWdlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xNiAwMDoyNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZvciBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3MuCgoyMDE0LTA0LTE1IDIwOjQ3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGVnbDogQWRkIGxpYmdzdGVnbCBhbmQgZWdsZ2xlcyBwbHVnaW4gdG8gdGhlIENSVUZUIGRpcmVjdG9yaWVzCgoyMDE0LTA0LTE1IDE3OjU4OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL0FuZHJvaWQubWs6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBlZ2wvZWdsZ2xlc3Npbms6IHJlbW92ZSBzaW5jZSBFR0xJbWFnZSBhbmQgaU9TIHN1cHBvcnQgaGF2ZSBiZWVuIGFkZGVkIGluIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MDg6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIGdsOiBhbGxvdyB0byBpbmNsdWRlIEdMRVMvZ2wuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTA0LTE0IDA3OjU2OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgV2Ugc2V0IGl0IGp1c3QgYWZ0ZXIgdmFyaWFibGUgZGVjbGFyYXRpb24KCSAgQ0lEICMxMTk3NzA5CgoyMDE0LTA0LTEzIDE5OjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9lYWdsOiBGaXggY29tcGlsYXRpb24KCjIwMTQtMDQtMTMgMTY6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IE5vdGlmeSB0aGUgd2luZG93J3MgcmVzaXplIGNhbGxiYWNrIGFib3V0IHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEwNwoKMjAxNC0wNC0xMyAxNjo0NjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkgIGdsL2VhZ2w6IFJlbW92ZSBzcHVyaW91cyBwcml2YXRlIHN0cnVjdCBwb2ludGVyCgoyMDE0LTA0LTEzIDE2OjQwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSAgZ2wvYW5kcm9pZDogTm90aWZ5IHRoZSB3aW5kb3cncyByZXNpemUgY2FsbGJhY2sgYWJvdXQgc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTA3CgoyMDE0LTA0LTEzIDIyOjE2OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgdGV4dHVyZQoKMjAxNC0wNC0xMyAyMjoxNDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBtb3ZlIHVwbG9hZCBpbnRvIF9wcmVwYXJlKCkKCjIwMTQtMDQtMTMgMTM6NDk6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbC9jb250ZXh0OiBvdXRwdXQgYXZhaWxhYmxlIGV4dGVuc2lvbnMKCjIwMTQtMDQtMTMgMTM6Mzk6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IHByb3ZpZGUgZ2V0X2dsX3ZlcnNpb24KCjIwMTQtMDQtMTMgMDA6MjE6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiByZXN0b3JlIHZpZXdwb3J0IGRpbWVuc2lvbnMgd2hlbiBmYm8gZG9uZQoJICBSZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgOTVhYmZkYTEzOTliY2RkYmVlMzQ1ZDQ1NDJlODU3ZDc0Mzk2NTQ3Ny4KCSAgSXQgY2F1c2VkIHRvIGRpc3BsYXkgdGhlIHdyb25nIGZyYW1lIHNpemUgd2hlbiByZXNpemluZyB0aGUgd2luZG93LgoKMjAxNC0wNC0xMiAyMjo0NTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsOiBJbXBvcnQgUXVhcnR6Q29yZS9RdWFydHpDb3JlLmggZm9yIENBRUFHTExheWVyIG9uIG9sZGVyIGlPUyB2ZXJzaW9ucwoKMjAxNC0wNC0xMiAyMjoxNTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFNldCBnbGltYWdlc2luayByYW5rIHRvIFNFQ09OREFSWQoJICBUaGlzIGlzIGEgZnVsbC1mZWF0dXJlZCB2aWRlbyBzaW5rIG5vdyBhbmQgZXNwZWNpYWxseSBzaG91bGQgYmUKCSAgdXNlZCBpbnN0ZWFkIG9mIG9zeHZpZGVvc2luayBvbiBPU1ggaWYgYXZhaWxhYmxlLgoKMjAxNC0wNC0xMiAyMTo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBpT1MgRUFHTCBwbGF0Zm9ybQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQxCgoyMDE0LTA0LTEyIDE3OjMzOjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbWFrZSBnc3RfZ2xfd2luZG93X2NvY29hX3NlbmRfbWVzc2FnZV9hc3luYyByZS1lbnRyYW50CgkgIEJhY2tlbmRzIHRoYXQgdXNlIGdfbWFpbl9jb250ZXh0X2ludm9rZSBhcmUgcmUtZW50cmFudC4KCSAgSWwgYWxsb3dzIHRvIGNhbGwgdHdvIG5lc3RlZCBnc3RfZ2xfY29udGV4dF90aHJlYWRfYWRkLgoJICBleDogaW5pdF91cGxvYWQgLyBpbml0X2NvbG9yY29udmVydAoKMjAxNC0wNC0xMiAxNzowMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRmlyc3QgaGFuZGxlIEdMIHdpbmRvdyBzZXR1cCwgdGhlbiBjcmVhdGUgdGhlIGNvbnRleHQgYW5kIGl0cyB0aHJlYWQKCjIwMTQtMDQtMTIgMTU6NTE6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IE5TQXV0b3JlbGVhc2VQb29sIGluaXRpYWxpemF0aW9uCgoyMDE0LTA0LTEyIDEyOjQyOjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBlbnN1cmUgdG8gY2FsbCBOU0FwcGxpY2F0aW9uOnNoYXJlZEFwcGxpY2F0aW9uIGluIHRoZSBtYWluIHRocmVhZAoJICAiKE5TQXBwbGljYXRpb24gKilzaGFyZWRBcHBsaWNhdGlvbiBUaGlzIG1ldGhvZCBhbHNvIG1ha2VzIGEgY29ubmVjdGlvbgoJICB0byB0aGUgd2luZG93IHNlcnZlciBhbmQgY29tcGxldGVzIG90aGVyIGluaXRpYWxpemF0aW9uIgoJICBUaGUgaW1wbGljaXQgdGhpbmcgd2hpY2ggaXMgbm90IG1lbnRpb25lZCBpcyB0aGF0IGl0IHJlcXVpcmVkCgkgIHRvIGJlIGNhbGxlZCBpbiB0aGUgbWFpbiB0aHJlYWQuCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlcyBieSA4MmI3YzkxNWJiMDJhOTc5MGQyNTZkNTk5NDUyZTVhNTRhZmRhNjMzCgkgIFdoZW4gdXNpbmcgd2l0aCBnc3QtbGF1bmNoLCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIGNsaWNrIG9uIHRoZSBjbG9zZQoJICBjcm9zcyBvZiB0aGUgd2luZG93IGFueW1vcmUgd2hpY2ggaXMgYSBiaXQgYW5veWluZyBhbmQgYWxzbyBiZWNhdXNlCgkgIGl0J3Mgd2FzIHBvc3NpYmxlIGJlZm9yZS4KCSAgUHJpb3IgdG8gdGhpcyBjb21taXQgdGhlIEdzdEdMQ29udGV4dENvY29hQ2xhc3Mgd2FzIGluaXRpYWxpemVkCgkgIGluIHRoZSBtYWluIHRocmVhZCBiZWNhdXNlIGdzdF9nbF9jb250ZXh0X25ldyB3YXMgY2FsbGVkIGluIHRoZQoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZnJvbSBnb2luZyBmcm9tIHJlYWR5IHRvIHBhdXNlZC4KCSAgRnJvbSB0aGlzIGNvbW1pdCB0aGlzIGNhbGwgaXMgZG9uZSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBTbyB0aGF0IHRoZSBjYWxsIHRvIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKCSAgd2FzIG5vdCBkb25lIGluIHRoZSBtYWluIHRocmVhZCBhbnltb3JlLgoJICBXZSBub3cgZW5zdXJlIHRoYXQgYnkgYXNzdW1pbmcgdGhlcmUgaXMgYSBHTWFpbkxvb3AgcnVubmluZy4KCSAgSXQncyBmb3IgZGVidWdnaW5nIHB1cnBvc2Ugc28gdGhhdCdzIG9rIHRvIGRvIHRoYXQuIEFsc28KCSAgbm90ZSB3ZSBhbHJlYWR5IGRvIHRoaXMgYXNzdW10aW9uIHRvIHJ1biBhcHAgaXRlcmVhdGlvbnMuCgkgIFRoZSByZWdyZXNzaW9uIGhhZCBubyBjb25zZXF1ZW5jZSBvbiB0aGUgY29jb2EvdmlkZW9vdmVybGF5IGV4YW1wbGUKCSAgKHRoYXQgc2hvdWxkIGJlIG1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtZ2wgdG8gLWJhZCkgYmVjYXVzZSB0aGUKCSAgYXBwbGljYXRpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoYXQgbmVjZXNzYXJ5IGNhbGwuCgoyMDE0LTA0LTEyIDE0OjQwOjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogZml4IHdhcm5pbmcgdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgIndhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlIgoKMjAxNC0wNC0xMiAxODoyNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IHJlbW92ZSBpZiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QKCSAgQ292ZXJpdHkgMTE5OTY5OAoKMjAxNC0wNC0xMiAxODoxNjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcjogcGFzcyBsYXJnZSB2YWx1ZSBieSByZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTE5OTcwMAoKMjAxNC0wNC0wMiAxMjo1OTo1OCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHBkZWM6IGZpeCBhc3NlcnRpb24gY2hlY2tpbmcgc3NyYyBmcm9tIHJ0Y3AgcGFja2V0cwoJICBydGNwX2J1ZmZlcl9nZXRfc3NyYyBpcyBjYWxsZWQgZXZlbiB3aXRoIFJUUCBidWZmZXJzLiB0aGlzIG1lYW5zIHdlCgkgIG1pZ2h0IGVuZCB1cCB3aXRoIGFuIGV4Y2VwdGlvbiBhbmQgbm90IGZpbmQgYW55IHZhbGlkIFJUQ1AgcGFja2V0IHR5cGUKCSAgYW5kIHRodXMgaGl0IEdTVF9SVENQX1RZUEVfSU5WQUxJRC4gd2Ugbm93IHRha2UgY2FyZSBvZiB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTEyCgoyMDE0LTA0LTExIDEyOjI5OjE3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJICBqcDJrZGVjaW1hdG9yOiBmaXggbWF5YmUtdW5pbml0aWFsaXplZCBjb21waWxlciBlcnJvcgoKMjAxNC0wNC0xMSAxMTozNDoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgdW5uZWVkZWQgdW5yZWYKCSAgcGFja2V0X2J1ZmZlciBoYXMgYWxyZWFkeSBiZWVuIGNsZWFyZWQgaW4gYWxsIGNvZGUgcGF0aHMgbGVhZGluZwoJICB0byB0aGlzIHBvaW50LgoJICBDSUQgIzExOTk2OTYKCjIwMTQtMDQtMTEgMDg6Mzk6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBIYW5kbGUgc3ltYm9scyBhZGRlZCBpbiBtaW5vciB2ZXJzaW9uIDcgYW5kIDgKCSAgU29tZSBzeW1ib2xzIHdlcmUgcmUtZGVmaW5lZCBpbiBtaW5vciB2OCAoR08gVEVBTSBCQUNLV0FSRFMgQ09NUEFUSUJMRSEpCgkgIFNvbWUgc3ltYm9scyB3ZXJlIGFkZGVkIGluIG1pbm9yIHY3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NzcKCjIwMTQtMDQtMTEgMTc6MjQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbC9tZW06IGNhY2hlIHRoZSBzdHJpZGUvdW5wYWNrIGxlbmd0aCBmb3IgdXBsb2FkCgoyMDE0LTA0LTExIDE3OjIzOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogZXhwbGljaXRseSBtYXAgdGhlIGJ1ZmZlcnMgd2UgYXJlIGNvcHlpbmcgaW50bwoJICBPdGhlcndpc2UgaXQgbWF5IG5vdCBiZSBkb3dubG9hZGVkIGF0IGFsbC4KCjIwMTQtMDQtMTEgMDg6MTY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgY29tbWVudCB3aXRoIGFsbCBEVkIgQVBJIHY1IG1pbm9yIGNoYW5nZXMKCSAgVGhlcmUgd2Fzbid0IGEgZGVmaW5pdGUgbGlzdCBhbnl3YXksIHNvIEkganVzdCBkb3ZlIGluIHRoZSBrZXJuZWwKCSAgYW5kIGV4dHJhY3QgYWxsIHRoYXQgaW5mb3JtYXRpb24uCgoyMDE0LTA0LTExIDE2OjA5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogY2FjaGUgdGhlIHRlbXBvcmFyeSB0ZXh0dXJlcwoKMjAxNC0wNC0xMSAxMTowNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtOiBwcm92aWRlIGRlZmluZXMgZm9yIHRva2VucyBub3QgZGVmaW5lZCBpbiBHTEVTMi9hbmNpZW50IHBsYXRmb3JtcwoKMjAxNC0wNC0xMSAxMTowMzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeHVwIGluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzCgoyMDE0LTA0LTExIDEwOjU1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4IGluY29ycmVjdCB1c2FnZSBvZiBnX3JldHVybl9pZl9mYWlsCgoyMDE0LTA0LTAyIDE3OjQzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtOiBhbGxvY2F0ZSB0aGUgbWVtb3J5IHBlciBwbGFuZQoJICBUaGlzIHBhdGNoIHByb3ZpZGVzIHRoZSBiYXNpYyBpbmZyYXN0cnVjdHVyZSByZXF1aXJlZCBmb3IgdGhpcy4KCSAgVXBsb2FkIGFuZCBEb3dubG9hZCBoYXMgYmVlbiBwb3J0ZWQgdG8gdGhpcy4KCSAgSGFzIHRoZSBuaWNlIGVmZmVjdCBvZiBhbGxvd2luZyBHc3RHTE1lbW9yeSB0byBiZSBvdXIKCSAgcmVmY291bnRlZCB0ZXh0dXJlIG9iamVjdCBmb3IgYW55IHRleHR1cmUgdHlwZSAobm90IGp1c3QgUkdCQSkuCgkgIFNob3VsZCBub3QgbG9zZSBhbnkgZmVhdHVyZXMvdmlkZW8gZm9ybWF0cy4KCjIwMTQtMDQtMDEgMTU6MTA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbC9lZ2xpbWFnZTogI2lmIDAgdW51c2VkIGNvZGUKCjIwMTQtMDQtMDEgMTM6MzA6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2w6IGFkZCBjb2xvcmNvbnZlcnQgb2JqZWN0IHRoYXQgY29udmVydHMgYmV0d2VlbiBjb2xvciBzcGFjZXMvZm9ybWF0cwoJICBDdXJyZW50bHkgdXNlZCBieSBib3RoIHVwbG9hZCBhbmQgZG93bmxvYWQgb2JqZWN0cyBzZXBhcmF0ZWx5LgoKMjAxNC0wNC0xMCAxNzo1NToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBmYWFjIEFQSSBlcnJvciBjaGVja2luZwoJICBDb3Zlcml0eSAxMTM5NzkwCgoyMDE0LTA0LTEwIDE3OjUyOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBpZ25vcmUgZmFpbHVyZSB0byByZWdpc3RlciB0eXBlZmluZGVyCgkgIENvdmVyaXR5IDExMzk2MjkKCjIwMTQtMDQtMTAgMTc6NDg6MDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHRpbWUgbGVhawoJICBDb3Zlcml0eSAxMTQ3MDE2CgoyMDE0LTA0LTEwIDE3OjQ0OjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUgYW5kIHZhcmlhYmxlCgkgIEEgcmVjZW50IGNvbW1pdCBtYWRlIHN0cmVhbSBub3QgYWJsZSB0byBiZSBOVUxMLCBlbmRpbmcgdXAgd2l0aAoJICBhIGZsYWcgYmVpbmcgYWx3YXlzIHNldCB0byBGQUxTRSB3aGVuIGl0IG1hdHRlcnMuCgkgIENvdmVyaXR5IDExNDY5NjgsIDExNDcwMTIKCjIwMTQtMDQtMTAgMTc6Mzc6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IHJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrCgkgIFdlIGp1c3QgY2hlY2tlZCBmb3IgTlVMTCBhbmQgYWxsb2NhdGVkIGlmIGl0IHdhcy4gQW5kIGdsaWIgYWJvcnRzCgkgIGlmIGl0IGNhbid0IGFsbG9jYXRlLCBJJ20gdG9sZC4KCSAgQ292ZXJpdHkgMTEzOTg0MQoKMjAxNC0wNC0xMCAxNzozMzo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExOTc3MDgKCjIwMTQtMDQtMTAgMTY6NTM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIHVwZGF0ZSB0aGUgc2VxdWVuY2UgcG9zaXRpb24gd2hlbiB1cGRhdGluZyBub24tbGl2ZSBwbGF5bGlzdHMKCjIwMTQtMDQtMTAgMTQ6NTk6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBUcnkgcmVsb2FkaW5nIHRoZSBwbGF5bGlzdCBmaXJzdCBpZiBkb3dubG9hZGluZyBhIGZyYWdtZW50IGZhaWxzCgkgIEJ1dCBvbmx5IGFkZCB0aGlzIGZvciBub24tbGl2ZSBwbGF5bGlzdHMuIEZvciBsaXZlIHBsYXlsaXN0cyB3ZSBhbHJlYWR5CgkgIGhhdmUgYW5vdGhlciB0aHJlYWQgdGhhdCBpcyBwZXJpb2RpY2FsbHkgdXBkYXRpbmcgcGxheWxpc3RzLgoJICBSZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBzb21ldGltZXMgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBjYW4gZmFpbCBiZWNhdXNlCgkgIHRoZSBVUklzIGhhdmUgY2hhbmdlZCBvciBleHBpcmVkIHNpbmNlIGxhc3QgdGltZS4KCjIwMTQtMDQtMTAgMTQ6NDY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXaGVuIHVwZGF0aW5nIGEgbm9uLWxpdmUgcGxheWxpc3QgbWFrZSBzdXJlIHRvIGZpbmQgdGhlIGN1cnJlbnQgc2VxdWVuY2UgYnkgdGltZQoJICBTZXF1ZW5jZSBudW1iZXJzIGluIGRpZmZlcmVudCBwbGF5bGlzdHMgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIHRoZSBzYW1lIGZvciB0aGUKCSAgc2FtZSBwb3NpdGlvbiwgZS5nLiBmcmFnbWVudHMgY291bGQgaGF2ZSBkaWZmZXJlbnQgZHVyYXRpb25zIGluIGRpZmZlcmVudCBwbGF5bGlzdHMuCgkgIEluIHRoZW9yeSB3ZSBzaG91bGQgZG8gZXhhY3RseSB0aGUgc2FtZSBmb3IgbGl2ZSBwbGF5bGlzdHMsIGJ1dCB1bmZvcnR1bmF0ZWx5IHdlIGNhbid0CgkgIGJlY2F1c2UgZG9pbmcgdGhpcyBraW5kIG9mIHNlZWtpbmcgcmVxdWlyZXMgdGhlIGNvbXBsZXRlIHBsYXlsaXN0IHNpbmNlIHdlIHN0YXJ0ZWQKCSAgcGxheWJhY2suIEZvciBsaXZlIHBsYXlsaXN0cyB0aGUgc2VydmVyIGlzIGhvd2V2ZXIgZHJvcHBpbmcgZnJhZ21lbnRzIGluIHRoZSBiZWdpbm5pbmcKCSAgb3ZlciB0aW1lIGFuZCB3ZSBoYXZlIG5vIGFic29sdXRlIHRpbWUgcmVmZXJlbmNlcy4KCjIwMTQtMDQtMDkgMTc6Mjg6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGF2b2lkIHVzaW5nIGFuIHVuaW5pdGlhbGl6ZWQgbWFuaWZlc3QKCSAgSWYgd2UgZGlkIG5vdCBzZXQgdGhlIG1hbmlmZXN0IHlldCwgZWFybHkgb3V0IGluIHRoZSBzZWVraW5nIHF1ZXJ5LgoJICBDb3Zlcml0eSAxMTM5NzM3CgoyMDE0LTAzLTE3IDE2OjM5OjQyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBTZXQgZnJhbWVyYXRlIGV2ZW4gZm9yIGludGVybGFjZWQgdmlkZW9zCgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3NTIKCjIwMTQtMDQtMDkgMTA6MDQ6NDYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYWRkIGF0c2MgdGVycmVzdHJpYWwgdmlydHVhbCBjaGFubmVsIHRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0NjAKCjIwMTQtMDQtMDkgMTU6MDc6MTkgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggbWVtb3J5IGxlYWsgcXVlcnlpbmcgc2luayBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4OTQKCjIwMTQtMDQtMDkgMTg6NDQ6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGNhdGNoIGZhaWx1cmUgdG8gd3JpdGUgcGxheWxpc3QgZmlsZQoJICBDb3Zlcml0eSAxMTM5NjEzCgoyMDE0LTA0LTA5IDE4OjMxOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZml4IGltcGxpY2l0IHByb21vdGlvbiB0byBzaWduZWQgaW50IGJyZWFraW5nIG9uIGxhcmdlaXNoIGlucHV0cwoJICBDb3Zlcml0eSAxMTM5ODU4LCAxMTM5ODU3CgoyMDE0LTA0LTA5IDE4OjE2OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJICBsYWRzcGE6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTM5NzA2CgoyMDE0LTA0LTA5IDE4OjEyOjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBmaXggb3BlbiBlcnJvciBjaGVja2luZwoJICBDb3Zlcml0eSAyMDYzNjQKCjIwMTQtMDQtMDkgMTc6Mzc6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoZSB0YWcgd2FzIGRlcmVmZXJlbmNlZCBlYXJpZXIuIEZyb20gdGhlIGxpYnNjaHJvZWRpbmdlciBjb2RlLAoJICBpdCdzIG5vdCBvYnZpb3VzIHRvIHNlZSB3aGV0aGVyIHRhZyBhbmQgZnJhbWUgd291bGQgYmUgTlVMTCBhdAoJICB0aGUgc2FtZSB0aW1lLiBJIHRoaW5rIGlzIGxpa2VseSB0aGF0IGJvdGggd2lsbCBiZSBub24gTlVMTAoJICBoZXJlLCBidXQgdGhhdCdzIG5vdCBjZXJ0YWluLiBBZGRpdGlvbmFsIHRlc3RzIG1heSBiZSBuZWVkZWQKCSAgdG8gYXZvaWQgZGVyZWZlcmVuY2luZyB0YWcgYW5kL29yIGZyYW1lLCBidXQgd2hhdCB0byBkbyBpZgoJICBvbmx5IG9uZSBpcyBOVUxMIGlzbid0IG9idmlvdXMsIGFzIHRoZSBfZ2V0X3RhZyBmdW5jdGlvbiBkb2VzCgkgIHRyYW5zZmVyIG93bmVyc2hpcCBzbyBpc24ndCB1bmRvYWJsZS4KCSAgQ292ZXJpdHkgMTEzOTg1MAoKMjAxNC0wNC0wOSAxNzoxMDowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIHNtb290aHN0cmVhbWluZzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoZSBmdW5jdGlvbiBpcyBzdGF0aWMsIHRoZSBvbmx5IGNhbGwgc2l0ZSBwYXNzZXMgYSBub24gTlVMTAoJICBwb2ludGVyLCBhbmQgdGhlIHBvaW50ZXIgaXMgZGVyZWZlcmVuY2VkIGJlZm9yZSBhbnl3YXkuCgkgIENvdmVyaXR5IDExMzk4MzkKCjIwMTQtMDQtMDkgMTY6NTU6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExOTc3MDcKCjIwMTQtMDQtMDkgMTU6NTQ6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBmaXggc2R0IGxlbmd0aCBjaGVjawoJICBJdCB3YXMgb3JpZ2luYWxseSB0ZXN0IGZvciA5IGJ5dGVzIChhcyB0aGUgY29tbWVudCBzYXlzKSBhbmQgd2FzCgkgIHJld3JpdHRlbiBidWdnaWx5LiBTbyByZXdyaXRlIGl0IGEgdGhpcmQgd2F5LCB3aGljaCBpcyBub3cKCSAgaG9wZWZ1bGx5IGNvbnNpc3RlbnQgd2l0aCB0aGUgb3JpZ2luYWwgYW5kIHRoZSBjb21tZW50LCB3aGlsZQoJICBiZWluZyBtb3JlIHNlbnNlLW1ha2luZyB0byBodW1hbnMuCgkgIENvdmVyaXR5IDExMzk2NTQKCjIwMTQtMDQtMDkgMTY6MDA6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBSZXZlcnQgInRzbXV4OiBjYXRjaCBhbGxvYyBmYWlsdXJlIgoJICBUdXJucyBvdXQgZ2xpYiBhYm9ydHMgb24gYWxsb2NhdGlvbiBmYWlsdXJlLCBzbyB0aGlzIGlzIHBvaW50bGVzcy4KCSAgV2UnbGwganVzdCBpZ25vcmUgQ292ZXJpdHkgd2FybmluZ3Mgb24gc3VjaCBjb25zdHJ1Y3RzLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzNDc4MDlhODJlMjQwNTczMDJmOTQ4MjY5MzkyZTc2YWFhY2VhMTAuCgoyMDE0LTA0LTA5IDE1OjU4OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHR1cm5zIG91dCBnbGliIGFib3J0cyBvbiBhbGxvY2F0aW9uIGZhaWx1cmUKCSAgU28gdGhpcyBpcyBhY3R1YWxseSBwb2ludGxlc3MuIFdlJ2xsIGp1c3QgaGF2ZSB0byBpZ25vcmUKCSAgQ292ZXJpdHkgbW9hbmluZyBvbiB0aG9zZS4KCSAgUmV2ZXJ0ICJtcGVndHM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyMjRjYjgxYjhmY2JmMDNkZjVlMDdmMDQ1ZWNiOWVjZjY0MTg5NDAwLgoKMjAxNC0wNC0wOSAxNTo0NDoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUKCSAgV2hpbGUgaXQncyB1bmxpa2VseSB0byBnZXQgdGhlcmUsIGl0IHNpbGVuY2VzIHRoZSBjb3Zlcml0eSB3YXJuaW5nCgkgIG9uIHRoZSBlcnJvciBjb2RlIHBhdGggdGhhdCB3ZSB0ZXN0IGZvciBOVUxMIGJlZm9yZSBmcmVlaW5nLCB3aGVuCgkgIGFsbCBicmFuY2hlcyB0aGVyZSBhcmUgZnJvbSBsb2NhdGlvbnMgd2hlcmUgcG10IGNhbm5vdCBiZSBOVUxMLAoJICBhbmQgcmVtb3ZpbmcgdGhlIE5VTEwgY2hlY2sgbWFrZXMgdGhlIGNvZGUgbW9yZSB2dWxuZXJhYmxlIHRvIGEKCSAgaHlwb3RoZXRpY2FsIGZ1dHVyZSBicmFuY2ggZnJvbSBzb21ld2hlcmUgd2hlcmUgaXQgY2FuIGJlLgoJICBDb3Zlcml0eSAxMTM5ODUyCgoyMDE0LTA0LTA5IDE1OjQxOjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHRlc3QKCSAgV2UndmUgYmVlbiBkZXJlZmVyZW5jaW5nIHRoYXQgb2JqZWN0IGxpa2UgdGhlcmUncyBubyB0b21vcnJvdwoJICBpbiB0aGUgY29kZSBqdXN0IGJlZm9yZSB0aGF0LgoJICBDb3Zlcml0eSAyMDYzNjkKCjIwMTQtMDQtMDkgMTU6Mzc6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogcmVtb3ZlIHN0cmF5IGdzdF9idWZmZXJfdW5tYXAgb24gZXJyb3IgcGF0aAoJICBBIHByZXZpb3VzIGNvbW1pdCByZW1vdmVkIHRoZSBtYXAsIGFuZCB0aGUgdW5tYXAgb24gdGhlIG1haW4KCSAgY29kZSBwYXRoLCBidXQgbm90IHRoZSBvbmUgb24gdGhlIGVycm9yIHBhdGguCgkgIENvdmVyaXR5IDExMzk5MzAKCjIwMTQtMDQtMDkgMTU6Mjg6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiByZW1vdmUgZGVhZCBjb2RlCgkgIFRob3NlIGV2ZW50cyB3ZXJlIHByZXZpb3VzbHkgdGFrZW4gZnJvbSBhIGNhY2hlZCBldmVudHMgbGlzdCwKCSAgd2hpY2ggd2FzIHJlbW92ZWQgZHVyaW5nIHRoZSBwb3J0IHRvIDAuMTEsIGJ1dCB0aGlzIGJpdCBzdGF5ZWQuCgkgIENvdmVyaXR5IDExMzk2ODQKCjIwMTQtMDQtMDkgMTU6MjQ6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgQSBtZXNzYWdlIG1heSBub3QgYmUgTlVMTCBpbiB0aGUgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbgoJICAoYW5kIG5vdGhpbmcgdGhlcmUgc2V0cyBpdCB0byBOVUxMKS4KCSAgQ292ZXJpdHkgMTEzOTg0OAoKMjAxNC0wNC0wOSAxNToxODoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkgIGNvbXBhcmU6IHNwZWNpYWwgY2FzZSBlbXB0eSByZWdpb25zIHdpdGggMSBTU0lNIHRvIGF2b2lkIGRpdmlkaW5nIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY4OSwgMTEzOTY4OAoKMjAxNC0wNC0wOSAxNTowOToyNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IDExMzk2NjYKCjIwMTQtMDQtMDkgMTU6MDM6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZyb20gdGhlIDAuMTEgcG9ydAoJICBDb3Zlcml0eSAxMTM5Njc2CgoyMDE0LTA0LTA5IDE0OjM3OjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IGF2b2lkIGNyYXNoaW5nIGluIHBhdGhvbG9naWNhbCBjYXNlCgkgIFdoZW4gd2UnZCBzZWUgYW4gdW5rbm93biBzdHJlYW0gdHlwZSwgdGhlbiBhIFNERFMgc3RyZWFtLgoJICBUaGVuIHdlJ2QgZ2V0IHRvIHRoZSBlbmQgb2YgdGhlIHN3aXRjaCB3aXRoIGEgTlVMTCB0ZW1wIHN0cmVhbQoJICBwb2ludGVyLCBhbmQgZGVyZWZlcmVuY2UgaXQuCgkgIENvdmVyaXR5IDExMzk3MDgKCjIwMTQtMDQtMDkgMTQ6MTM6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGNhdGNoIHByZXYtbm90LWZvdW5kIHdoZW4gaW5zZXJ0aW5nIGluIHRoZSBncm91cCBsaXN0CgkgIFdoaWxlIHRoaXMgcHJvYmFibHkgc2hvdWxkIG5ldmVyIGhhcHBlbiBpZiBjYWxsZXJzIGFyZSB3ZWxsIGJlaGF2ZWQsCgkgIHRoaXMgYXZvaWRzIGEgY3Jhc2ggaWYgaXQgZG9lcy4gV2l0aCBhIHdhcm5pbmcgYWJvdXQgaXQuIFVuc3VyZSBpZgoJICBpdCdkIGJlIGJldHRlciB0byBub3QgYWRkIGF0IGFsbCwgYnV0IGl0IHNob3VsZCBub3QgaGFwcGVuLi4uCgkgIENvdmVyaXR5IDExMzk3MTMKCjIwMTQtMDQtMDkgMTM6NTE6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBndWFyZCBhZ2FpbnN0IF9kaXNwb3NlIGJlaW5nIGNhbGxlZCBtdXRpcGxlIHRpbWVzCgkgIF9kaXNwb3NlIGNhbGxzIF9yZXNldCwgc28gd2UgbmVlZCB0byBtYWtlIHN1cmUgX3Jlc2V0IGhhbmRsZXMKCSAgYWxyZWFkeSBOVUxMZWQgZmllbGRzLgoJICBDb3Zlcml0eSAxMTM5ODQzCgoyMDE0LTA0LTA5IDEzOjQzOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IHByZXZlbnQgcG9zc2libGUgZG91YmxlIGZyZWUgb24gZXJyb3IgcGF0aAoJICBTcG90dGVkIHdoaWxlIGxvb2tpbmcgYXQgYSBDb3Zlcml0eSBpc3N1ZSBpbiB0aGUgYXJlYS4KCjIwMTQtMDQtMDkgMTM6NDE6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogY2F0Y2ggYWxsb2MgZmFpbHVyZQoJICBXaGlsZSBpdCB3aWxsIHByb2JhYmx5IG5vdCB0cmlnZ2VyLCBpdCBzaG91bGQgc2lsZW5jZSBhIENvdmVyaXR5CgkgIHdhcm5pbmcgYWJvdXQgdGhlIGZhaWwgY29kZSBwYXRoIHRlc3RpbmcgZm9yIE5VTExuZXNzIGJlZm9yZQoJICBmcmVlaW5nLCB3aGVyZSB0aGUgYnVmZmVyIHdhcyBhbHJlYWR5IGRlcmVmZXJlbmNlZC4gSXQgc2VlbXMKCSAgc2FmZXN0IHRvIGtlZXAgdGhhdCB0ZXN0LCBpbiBjYXNlIGZ1dHVyZSBnb3RvIGZhaWwgc3RhdGVtZW50cwoJICBoYXBwZW4gdG8gaGF2ZSBhIE5VTEwgYnVmZmVyIHRoZXJlLgoJICBDb3Zlcml0eSAxMTM5ODUxCgoyMDE0LTA0LTA5IDExOjQzOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSAgZGVja2xpbms6IGluaXRpYWxpemUgcHJpdiB0byBOVUxMCgkgIFdoaWxlIHRoZSBjb2RlIHRoYXQgY3JlYXRlcyB0aGUgb2JqZWN0IHNldHMgcHJpdiB0byBzb21lIGV4aXN0aW5nCgkgIHBvaW50ZXIgYWZ0ZXIgbmV3LCB0aGlzIGVuc3VyZXMgYW55IGZ1dHVyZSBuZXcgbm90IGRvaW5nIHRoaXMgd2lsbAoJICBoaXQgdGhlIHZhcmlvdXMgcHJpdiE9TlVMTCBhc3NlcnRzIGluIHRoZSBjb2RlLgoJICBDb3Zlcml0eSAxMTM5OTM1CgoyMDE0LTA0LTA5IDExOjE1OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogbWFrZSBkdXJhdGlvbiBxdWVyeSBhYmxlIHRvIGNvbnZlcnQgYnl0ZXMgdG8gdGltZQoJICBJdCB3YXMgb25seSBxdWVyeWluZyBpbiB0aW1lLCBidXQgdGhlbiB0cnlpbmcgdG8gdXNlIGRlYWQgYnl0ZXMKCSAgdG8gdGltZSBjb252ZXJzaW9uIGNvZGUuCgkgIENvdmVyaXR5IDExMzk2NzcKCjIwMTQtMDQtMDkgMTE6MDQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBmaXggbGVmdCBjcm9wIGNoYW5nZSB0ZXN0CgkgIEl0IHdhcyB0ZXN0aW5nIGEgbm9vcAoJICBDb3Zlcml0eSAxMTM5NjQzCgoyMDE0LTA0LTA5IDExOjAyOjAwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogYWRkIG1pc3NpbmcgdmFfZW5kIGluIHZhcmlhZGljIGZ1bmN0aW9uCgkgIENvdmVyaXR5IDExMzk5NDQKCjIwMTQtMDQtMDkgMTE6MDA6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogcmVtb3ZlIGRlYWQgY29kZQoJICBDb3Zlcml0eSAxMTM5NjgzCgoyMDE0LTA0LTA5IDEwOjU2OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiByZXNldCAiaW4gdXNlIiBmbGFnIG9uIGZhaWx1cmUgdG8gaW5pdGlhbGl6ZQoKMjAxNC0wNC0wOSAxMDo1NTo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlIGJlZm9yZSBkZXJlZmVyZW5jaW5nCgkgIENvdmVyaXR5IDExMzk4NDkKCjIwMTQtMDQtMDkgMTA6MzM6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTM5ODI5CgoyMDE0LTA0LTA5IDEwOjI4OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIGdsOiBwYXNzIGxhcmdlIHN0cnVjdHVyZSBieSBjb25zdCBwb2ludGVyLCBub3QgdmFsdWUKCSAgQXZvaWRzIGxhcmdlIHBvaW50bGVzcyBtZW1jcHkuCgkgIENvdmVyaXR5IDIwNjIzNiwgMjA2MjM3CgoyMDE0LTA0LTA4IDIxOjM5OjIwICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgYW55IGZlYXR1cmUgdG8gdmlld2ZpbmRlcmJpbiBzdGF0aWMgcGFkIHRlbXBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NTcKCjIwMTQtMDQtMDggMjA6NTQ6MjYgKzAzMDAgIE1vaGFtbWVkIFNhbWVlciA8bXNhbWVlckBmb29sYWIub3JnPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlcG9ydCBhbiBlcnJvciBpZiB3ZSBmYWlsIHRvIGxpbmsgdmZzcmMgYW5kIHZpZXdmaW5kZXIgcXVldWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg1NQoKMjAxNC0wNC0wOCAxNzo0NTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB3aW5kb3cgZGlzYXBwZWFycwoKMjAxNC0wNC0wOCAxNzozNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBmaXggb2ZmIGJ5IG9uZSBpbiBjaGFubmVsIG1hc2sgYnVpbGRpbmcKCSAgVGhlIGZpcnN0IGxvb3Agd291bGQgc2hpZnQgMSBieSA2NCwgd2hpY2ggaXMgZWl0aGVyIHVuZGVmaW5lZAoJICBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkLCBpbnN0ZWFkIG9mIGNsZWFyaW5nIHRoZSB0b3AgYml0LgoJICBDb3Zlcml0eSAxMTk3NjkxCgoyMDE0LTA0LTA4IDE3OjEwOjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IHJlc3RvcmUgTlVMTCB0ZXN0IG1pc3Rha2VubHkgcmVtb3ZlZAoJICBUaGFua3MgdG8gdHBtIGZvciBwb2ludCBvdXQgSSdtIGFuIGlkaW90LgoKMjAxNC0wNC0wOCAxNjo1Mzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogb25seSBzZXQgRElTQ09OVCBmbGFnIG9uIGEgdmFsaWQgYnVmZmVyCgkgIFJlY2VudCByZWZhY3RvcmluZyBjYXVzZXMgdGhpcyBjb2RlIHRvIGJlIGNhbGxlZCB3aXRoIGVpdGhlciBhIE5VTEwKCSAgZnJhZ21lbnQsIG9yIGEgbm9uIE5VTEwgZnJhZ21lbnQuIEluIHRoZSBmb3JtZXIgY2FzZSwgd2UgZG9uJ3QgaGF2ZQoJICBhIGJ1ZmZlci4gSW4gdGhlIGxhdHRlciBjYXNlLCB0aGUgb3JpZ2luYWwgY29kZSBkZWFsaW5nIHdpdGggRElTQ09OVAoJICBhc3N1bWVkIHRoZSBidWZmZXIgd2FzIHZhbGlkLiBUZXN0aW5nIGZvciBhIE5VTEwgYnVmZmVyIGhlcmUgdGh1cwoJICBkb2VzIG5vdCBzZWVtIHRvIGNoYW5nZSB0aGUgaW50ZW50LCBhbmQgZml4ZXM6CgkgIENvdmVyaXR5IDExOTUxNDcKCjIwMTQtMDQtMDggMTY6NTM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBndWFyZCBhZ2FpbnN0IE5VTEwgbWF0ZXJpYWwgdHJhY2sKCSAgSnVzdCB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLgoKMjAxNC0wNC0wOCAxNjo0Njo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBicmluZyBOVUxMIHRlc3QgYmVmb3JlIGRlcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExOTUxNjgKCjIwMTQtMDQtMDggMTY6MjM6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IHRlc3QgZm9yIGZyYW1lIE5VTExuZXNzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0CgkgIENvdmVyaXR5IDExOTUxNzIsIDExOTUxNzEKCjIwMTQtMDQtMDkgMDA6NDQ6MDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBBdm9pZCBpbmZpbml0ZSBsb29wcyBvbiBzaG9ydCBkYXRhCgoyMDE0LTA0LTA4IDE2OjA5OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IGZpeCBjb21waWxhdGlvbgoKMjAxNC0wNC0wOCAxNTo1NDowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsOiBmaXggbGVha3MKCSAgQXMgdGhlIHJlbGV2YW50IHZhcmlhYmxlcyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC9OVUxMLCB3ZSBjYW4gbG9vcAoJICBvdmVyIHRoZSBmdWxsIHJhbmdlIGFuZCBtYWtlIHN1cmUgd2UgZnJlZSBwYXJ0aWFsIGFsbG9jYXRpb25zCgkgIHdoZW4gYW4gZXJyb3IgaGFwcGVucyBwYXJ0d2F5IHRocm91Z2ggaW5pdGlhbGl6YXRpb24uCgoyMDE0LTA0LTA4IDE1OjI2OjA0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiByZWplY3QgdG9vIGxvbmcgc29ja2V0IHBhdGhzCgkgIENvdmVyaXR5IDIwNjAwNAoKMjAxNC0wNC0wOCAxNDozMzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGltcGxlbWVudCBzaW1wbGUgS0VZX1VOSVQgc2Vla2luZwoJICBJZiBhIEtFWV9VTklUIHNlZWsgd2FzIHJlcXVlc3RlZCwgYWRqdXN0IHNlZ21lbnQKCSAgc3RhcnQgdG8gcG9zaXRpb24gb2YgdGhlIGtleSBmcmFtZS4KCjIwMTQtMDQtMDggMTQ6MjQ6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG92ZXJmbG93IGluIGF1ZGlvIHN1YnRpdGxlIHN0cmVhbXMKCSAgVHVybnMgb3V0IHRoZXJlIHdhcyB0aGUgc2FtZSBpc3N1ZSBhcyB3aXRoIHN1YnRpdGxlcy4KCSAgVGhlcmUgaXMgc3BhY2UgZm9yIGEgc2luZ2xlIGF1ZGlvIHN0cmVhbSwgYnV0IHVwIHRvIDI1NQoJICBtYXkgYmUgdXNlZCBiYXNlZCBvbiBhIHVpbnQ4X3QgdmFsdWUgaW4gYSBzdHJ1Y3QsIHdoaWNoIG1heQoJICBvciBtYXkgbm90IGJlIHJlYWQgZnJvbSB0aGUgKHVudHJ1c3RlZCkgZGF0YS4KCSAgQSBjb21tZW50IGluIGlmb190eXBlcy5oIHNheXMgdGhpcyB2YWx1ZSBpcyBlaXRoZXIgMCBvciAxLCBzbwoJICB3ZSBjYW4gZW5zdXJlIHRoaXMgaGVyZSB3aXRob3V0IGRyYXdiYWNrcy4KCSAgQ292ZXJpdHkgMTEzOTU4NQoKMjAxNC0wNC0wOCAxNDoxOToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gbWVudSBzdWJ0aXRsZSBzdHJlYW1zCgkgIFRoZXJlIGlzIHNwYWNlIGZvciBhIHNpbmdsZSBzdWJ0aXRsZSBzdHJlYW0sIGJ1dCB1cCB0byAyNTUKCSAgbWF5IGJlIHVzZWQgYmFzZWQgb24gYSB1aW50OF90IHZhbHVlIGluIGEgc3RydWN0LCB3aGljaCBtYXkKCSAgb3IgbWF5IG5vdCBiZSByZWFkIGZyb20gdGhlICh1bnRydXN0ZWQpIGRhdGEuCgkgIEEgY29tbWVudCBpbiBpZm9fdHlwZXMuaCBzYXlzIHRoaXMgdmFsdWUgaXMgZWl0aGVyIDAgb3IgMSwgc28KCSAgd2UgY2FuIGVuc3VyZSB0aGlzIGhlcmUgd2l0aG91dCBkcmF3YmFja3MuCgkgIENvdmVyaXR5IDExMzk1ODYKCjIwMTQtMDQtMDggMTM6MjY6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggc2Vla2luZywgc2VuZCBkYXRhIHN0YXJ0aW5nIGZyb20gYSBrZXkgdW5pdAoJICBGaXhlcyBtdWx0aXBsZSBzZWVraW5nIGlzc3Vlcy4gV2hlbiBkb2luZyBBQ0NVUkFURSBvciBub3JtYWwKCSAgbm9uLUtFWVVOSVQgc2Vla3MsIG14ZmRlbXV4IHdvdWxkIGp1c3Qgc2VuZCBkYXRhIGZyb20gdGhlCgkgIGVkaXQgdW5pdCB0aGF0IGNvdmVyZWQgdGhlIHNlZWsgcG9zaXRpb24sIHdoZXRoZXIgdGhhdCdzCgkgIGEga2V5ZnJhbWUgb3Igbm90LiBEZWNvZGVycyB3b3VsZCBvbmx5IG91dHB1dCB0aGluZ3MgZnJvbQoJICB0aGUgbmV4dCBrZXlmcmFtZSB0aGVuLCB3aGljaCBtZWFucyB0aGVyZSdzIGEgZ2FwIGJldHdlZW4KCSAgdGhlIHN0YXJ0IG9mIHRoZSBzZWdtZW50IGFuZCB0aGUgZmlyc3QgZGVjb2RlZCBkYXRhIGluCgkgIHNvbWUgY2FzZXMuIEluIGNvbWJpbmF0aW9uIHdpdGggZ3N0LWVkaXRpbmctc2VydmljZXMgdGhpcwoJICBtaWdodCByZXN1bHQgaW4gYSBmcm96ZW4gcGljdHVyZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoYXQKCSAgZ2FwIGF0IHRoZSBiZWdpbm5pbmcgKGlmIHZpZGVvcmF0ZSBmaXhlcyB1cCB0aGUgZmlyc3QKCSAgYnVmZmVyJ3Mgc3RhcnQgdGltZXN0YW1wIHRvIGNvdmVyIHRoZSBlbnRpcmUgZ2FwKSwgb3IKCSAgYSBibGFjayBmcmFtZSAoaWYgbm8gdmlkZW9yYXRlIGlzIHVzZWQgYW5kIHZpZGVvbWl4ZXIKCSAgZmlsbHMgdGhlIGdhcCkuIEFsc28gZml4ZXMgQS9WIHN5bmMgaXNzdWUgd2hlbiByZXF1ZXN0aW5nCgkgIGEgS0VZVU5JVCBzZWVrLgoKMjAxNC0wNC0wOCAxMjozNzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCBidWZmZXIgb3ZlcmZsb3dzCgkgIENoYW5uZWxzIGNhbiBiZSB1cCB0byA3LiBBbHNvIGFkZCBhIGd1YXJkIGluIGNhc2UgbW9yZSBjYW4gYmUKCSAgcmV0dXJuZWQgaW4gdGhlIGZ1dHVyZS4KCSAgQ292ZXJpdHkgMTEzOTgyMCwgMTEzOTgyMQoKMjAxNC0wNC0wOCAxMzoyMDo1NCArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGNyaXRpY2FsIGR1ZSB0byBtaXNzaW5nIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MTIKCjIwMTQtMDQtMDggMTI6MjA6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBmaXggZmQgbGVhawoJICBDb3Zlcml0eSAxMTM5ODMxCgoyMDE0LTA0LTA4IDExOjI2OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogQ2xhcmlmeSBwYXNzdGhyb3VnaCBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFdlIGRvIHdhbnQgdGhlIGNhcHMgZXZlbnQgdG8gYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0KCSAgQ0lEICMxMTM5NzU0CgoyMDE0LTA0LTA4IDExOjIzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgV2hvb3BzLCBtb2RpZnlpbmcgdGhlIHBpdGNoIHdoZW4gbW9kaWZ5aW5nIHRoZSBvdXRwdXQgcmF0ZSAuLi4KCSAgQ0lEICMxMTM5NzQ5CgoyMDE0LTA0LTA4IDExOjIxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmc6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgVGhpcyB3YXNuJ3QgZmF0YWwgYmVmb3JlICh3b3JzdCBjYXNlIGl0IHdvdWxkIGNsZWFyIGFuIGFscmVhZHkgZW1wdHkKCSAgYWRhcHRlcikuCgkgIENJRCAjMTEzOTc1OAoKMjAxNC0wNC0wOCAxMToyMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgUVVFUllfQ0FQUyBpcyBmdWxseSBoYW5kbGVkLCB3ZSBkb24ndCBuZWVkIHRvIHBhc3N0aHJvdWdoIHRvIHRoZSBkZWZhdWx0CgkgIGhhbmRsZXIuCgkgIENJRCAjMTEzOTc1NgoKMjAxNC0wNC0wOCAwOTo1MTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IEluaXRpYWxpemUgdmFyaWFibGVzCgkgIFRoZXJlIGlzIGEgc21hbGwgY2hhbmNlIHRoYXQgd2UgbWlnaHQgZW5kIHVwIGluIHRoZSBkb25lIHN0ZXAgd2l0aG91dAoJICBoYXZpbmcgYW55IG91dHB1dCBhdmFpbGFibGUuCgkgIEZ1cnRoZXJtb3JlLCB3aGVuIGdvaW5nIHRocm91Z2ggbm90X3JlYWR5LCB3ZSBuZWVkIHRvIGVuc3VyZSBnc3RfYnVmZmVyX3VubWFwCgkgIGhhcyBhIHByb3Blcmx5IGluaXRpYWxpemVkIEdzdE1hcEluZm8uCgkgIENJRCAjMTEzOTkyMwoJICBDSUQgIzExMzk5MjQKCSAgQ0lEICMxMTM5OTE5CgkgIENJRCAjMTEzOTkyMAoKMjAxNC0wNC0wOCAwNzo0ODoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgY2hlY2s6IEZpeCBtcGVndHNtdXggY2FwcwoJICBJbmNvbWluZyBzdHJlYW1zIG5lZWQgdG8gYmUgcGFyc2VkLiBEb2Vzbid0IGZpeCB0aGUgdGVzdCBjb21wbGV0ZWx5IHRob3VnaAoKMjAxNC0wNC0wOCAwNzo0NzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEluaXRpYWxpemUgaGVscGVyIG1wZWd0cyBsaWJyYXJ5CgkgIFdlIG5vdyB1c2UgdGhhdCBsaWJyYXJ5LCB3ZSBuZWVkIHRvIGluaXRpYWxpemUgaXQgc28gdGhhdCBkZWJ1ZwoJICBjYXRlZ29yaWVzIChhbW9uZ3N0IG90aGVyIHRoaW5ncykgZ2V0IHByb3Blcmx5IGluaXRpYWxpemVkCgoyMDE0LTA0LTA3IDEzOjI1OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJICBteGY6IGZpeCBzdG9wIGRhdGUgcGFyc2luZyB1c2luZyB0aGUgd3JvbmcgaW5wdXQKCSAgQ292ZXJpdHkgMTEzOTY0NQoKMjAxNC0wNC0wNyAxMzoyMjoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBmaXggY29weS9wYXN0ZSBlcnJvcnMgaW4gZXhwcmVzc2lvbnMKCSAgQ29ycmVjdCBmb3JtdWxhZSBmb3VuZCBpbiBJVFUgVC44MDAsIEIuMTIuMS5bMzQ1XQoJICBDb3Zlcml0eSAxMTM5NjQ5LCAxMTM5NjUwLCAxMTM5NjUxCgoyMDE0LTA0LTA0IDE1OjMwOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogZml4IHNobSB0ZXN0IGRlYWRsb2NrCgkgIFRoZSB0ZXN0IHdhcyBub3QgYnJpbmdpbmcgdGhlIHNvdXJjZSBiYWNrIHRvIE5VTEwsIHNvIGl0cyB0aHJlYWQKCSAgY291bGQgc3RhcnQgY3JlYXRpbmcgYSBidWZmZXIgd2hpbGUgdGhlIHBhZHMgd2VyZSBiZWluZyBzaHV0ZG93bi4KCjIwMTQtMDQtMDYgMTE6NTc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENyZWF0ZSBHTCBjb250ZXh0IGFuZCBzZXQgdXAgd2luZG93IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgZ3N0X2dsX2NvbnRleHRfY3JlYXRlKCkgbWlnaHQgbmVlZCB0byBkaXNwYXRjaCBzb21lIG9wZXJhdGlvbnMgdG8gdGhlCgkgIGFwcGxpY2F0aW9uJ3MgbWFpbiB0aHJlYWQsIGFuZCBjYWxsaW5nIHRoaXMgaW4gdGhlIGNoYW5nZV9zdGF0ZSBmdW5jdGlvbgoJICBjYW4gY2F1c2UgZGVhZGxvY2tzLgoKMjAxNC0wNC0wNCAwOToxOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggY2hlY2sgZm9yIGlPUyBmb3IgdGhlIE9wZW5HTCBzdXBwb3J0CgkgIFRoZXJlIGlzIGFsc28gYW4gaTM4NiB2ZXJzaW9uIG9mIGlPUywgd2hpY2ggaXMgZm9yIHRoZSBzaW11bGF0b3IuCgkgIEJldHRlciB1c2Ugb3VyIGFscmVhZHkgZXhpc3RpbmcgSEFWRV9JT1MgY2hlY2sgaW5zdGVhZCBvZiByZWx5aW5nCgkgIG9uIHRoZSBob3N0IHRyaXBsZXQuCgoyMDE0LTA0LTAzIDExOjU0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDE0LTA0LTAzIDExOjQ4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogb25seSBhZGQgbG9jYXRpb24gd2hlbiBub2RlIGV4aXN0ZWQKCSAgQWN0dWFsbHkgcmV0dXJuIEZBTFNFIHdoZW4gdGhlIGxvY2F0aW9uIG5vZGUgd2FzIG5vbi1leGlzdGluZwoJICBPbmx5IGFkZCB0aGUgbG9jYXRpb24gbm9kZSB3aGVuIGl0IGV4aXN0ZWQKCjIwMTQtMDQtMDIgMjM6NDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFJlcXVpcmUgcGFyc2VkL2ZyYW1lZCBpbnB1dCBmb3IgbW9zdCBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTUxOQoKMjAxNC0wNC0wMiAyMzowODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgcGFzcyBhIGRlc3QgcmVjdGFuZ2xlIGlmIHNldCwgb3RoZXJ3aXNlIHBhc3MgTlVMTAoJICBDYWxsIHdpdGggYW4gdW5pbml0aWFsaXplZCByZWN0YW5nbGUgd2lsbCBjYXVzZSBlcnJvcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ5OTgKCjIwMTQtMDQtMDIgMTM6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IGZpeCBnbCB1bml0IHRlc3RzIGZvciByZWNlbnQgQVBJIGNoYW5nZXMKCjIwMTQtMDQtMDIgMjM6MDU6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbDogcGFzcyB2aWRlbyBpbmZvJ3MgYnkgcmVmZXJlbmNlCgoyMDE0LTA0LTAyIDIzOjA1OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiBmaXggYXJyYXkgaW5pdGlhbGl6YXRpb24KCjIwMTQtMDQtMDIgMjI6NTQ6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIGdsYnVtcGVyOiByZW1vdmUgcmVkdW5kYW50IGNoZWNrCgoyMDE0LTA0LTAyIDIyOjUzOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbC9nbHg6IHVzZSB0aGUgY29udGV4dCdzIGRpc3BsYXkgcmF0aGVyIHRoYW4gYXNraW5nIGZvciB0aGUgd2luZG93J3MKCjIwMTQtMDQtMDIgMjI6NDM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IGZpeCBhc3NpZ25tZW50IG9mIHRlbXBvcmFyeSB2YXJpYWJsZXMKCjIwMTQtMDQtMDIgMjI6NDI6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogYXZvaWQgYWRkaW5nIGEgTlVMTCBwb29sIHRvIHByb3Bvc2UgYWxsb2NhdGlvbgoKMjAxNC0wNC0wMiAxMjozODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBhY3R1YWxseSBidWlsZCB0aGUgZ2wgcGx1Z2lucyBvbiB3aW4zMgoJICBSZWdyZXNzaW9uIGZyb20gYzhmZjIxNWIwMmVlMTc4NTEzZTA3NmUyZGZiZDE0ZTljZTc3ZWM0OQoKMjAxNC0wNC0wMiAwOToyOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBmaXggZGV0ZWN0aW9uIG9mIEdML3dnbGV4dC5oCgkgIFdhcyByZXN1bHRpbmcgaW4gJ3ByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCcgZXJyb3JzCgoyMDE0LTA0LTAxIDIxOjQ4OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCBkZXRlY3Rpb24gb2YgZXh0ZW5zaW9ucyB3aXRoIEdMIHZlcnNpb25zIDwgMwoJICBNZXNhLCBmb3IgZXhhbXBsZSByZXR1cm5zIHZhbGlkIHBvaW50ZXJzIGZvciBnbEdldEludGVnZXJ2IGFuZAoJICBnbEdldFN0cmluZ2kgZXZlbiBpZiB0aGUgZ2wgdmVyc2lvbiBpcyBsZXNzIHRoYW4gdGhhdCByZXF1aXJlZCBmb3IKCSAgYm90aCB0aG9zZSBmdW5jdGlvbnMgdG8gc3VwcG9zZWRseSBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyNAoKMjAxNC0wMy0zMCAyMTowMjo0NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBkb2NzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzU2CgoyMDE0LTAzLTMwIDIxOjAyOjEwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSAgbXBlZ3RzOiBhZGQgZHZiLXQyIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzU2CgoyMDE0LTAzLTI0IDE3OjQ0OjQ3ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYnVnZml4IGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9ycwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjk3OQoKMjAxNC0wMy0yNyAyMToyMjozMiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IHVzZSBHU1RfUkVBRF9VSU5UMzJfQkUKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMjE6MjE6MjMgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYWRkIHBhcnNpbmcgZGF0YSBicm9hZGNhc3QgZGVzY3JpcHRvcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAyMToxODozNiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBhZGQgcGFyc2luZyBzdHJlYW0gaWRlbnRpZmllcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAxMzo1NjoyNiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IHVzZSBnbGliIGFsbG9jIGFuZCBmcmVlCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTU5CgoyMDE0LTAzLTI5IDE3OjI2OjAzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIGNvcnJlY3QgcHJpbnQgZm9ybWF0IGZvciBnaW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM4NQoKMjAxNC0wMy0zMCAxODo1MjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEhhbmRsZSBlcnJvcnMgd2hlbiBzd2l0Y2hpbmcgcGxheWxpc3RzIHByb3Blcmx5CgoyMDE0LTAzLTMwIDE4OjEyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogR28gRU9TIGlmIHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQgaXMgcmVhY2hlZAoKMjAxNC0wMy0zMCAxODowNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3JlIGJ1ZmZlciBlbmQgcG9zaXRpb24gaW4gc2VnbWVudC5wb3NpdGlvbgoKMjAxNC0wMy0yOSAxMDoxOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB0eXBvIGluIGRlYnVnIG91dHB1dAoKMjAxNC0wMy0yOCAxODoyNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogQ29weSBvdmVyIERJU0NPTlQgZmxhZyBmcm9tIGlucHV0IGJ1ZmZlcnMKCjIwMTQtMDMtMjggMTg6MTE6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQdXNoIG5leHQgYnVmZmVyIGFmdGVyIGEgZGlzY29udCB3aXRoIHRoZSBESVNDT05UIGZsYWcKCjIwMTQtMDMtMjggMTc6MzI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEcmFpbiByZW1haW5pbmcgZGF0YSBvbiBkaXNjb250cwoKMjAxNC0wMy0yOCAxNzoyNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIGlmIHdlIHJlY2VpdmUgYSBkaXNjb250IGJ1ZmZlcgoKMjAxNC0wMy0yOCAxNzoyNDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgZmx1c2hlZCBiZWZvcmUgYSBwcm9ncmFtIHdhcyBzZWxlY3RlZAoKMjAxNC0wMy0yNyAxOTo0Mjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEVuc3VyZSB0aGF0IGFsbCBwZW5kaW5nIGRhdGEgaXMgcHVzaGVkIGV2ZW4gaWYgdGhlIHN0cmVhbSB3YXMgbm90IGFjdGl2YXRlZCBiZWZvcmUKCSAgZ3N0X3RzX2RlbXV4X3B1c2hfcGVuZGluZ19kYXRhKCkgd2lsbCBjaGVjayBpZiBpdCBub3cgY2FuIGFjdGl2YXRlIHRoZQoJICBzdHJlYW0gYW5kIGFkZCB0aGUgcGFkLCB3ZSBkb24ndCBoYXZlIHRvIGNoZWNrIHRoYXQgb3Vyc2VsdmVzLgoJICBGaXhlcyBwbGF5YmFjayBvZiB2ZXJ5IHNob3J0IE1QRUcgVFMgZmlsZXMuCgoyMDE0LTAzLTI3IDE5OjIyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRml4IHB1bGwgbW9kZSBzY2FubmluZyBmb3IgUENSIG9uIHNtYWxsIGZpbGVzCgkgIElmIGEgZmlsZSBkb2VzIG5vdCBjb250YWluIDUgUENScyB1bnRpbCBpdCBpcyBFT1MsIG9yIGRvZXMgbm90CgkgIGNvbnRhaW4gbW9yZSB0aGFuIDY1NTM2MCBieXRlcyB0aGUgUENSIHNjYW5uaW5nIGFsZ29yaXRobSBqdXN0CgkgIGFib3J0ZWQuCgoyMDE0LTAzLTI2IDIyOjI1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IG9mZnNldAoJICBJdCdzIGNhdXNpbmcgd3JvbmcgcnVubmluZyB0aW1lcyBhZnRlciBzZWVrcyBvciBiaXRyYXRlCgkgIHN3aXRjaGVzLgoKMjAxNC0wMy0yNiAwNzozMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBESVNDT05UIGZsYWcgb24gYWxsIGJ1ZmZlcnMgaW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlCgoyMDE0LTAzLTI2IDA3OjI1OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggZm9yd2FyZHMgYW5kIGJhY2t3YXJkcyBzZWFyY2hpbmcgaW4gdGhlIGZpbGVzIGxpc3QKCjIwMTQtMDMtMjYgMDc6MjQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVbnNldCBEVFMgb2YgYWxsIGJ1ZmZlcnMKCSAgV2Ugd29uJ3QgZ2V0IGEgdmFsaWQgRFRTIGZyb20gdGhlIHNvdXJjZS4KCjIwMTQtMDMtMjYgMDc6MjI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGZsdXNoIHN0YXJ0IGV2ZW50IGJlZm9yZSB3YWl0aW5nIGZvciB0aGUgdGFza3MgdG8gZmluaXNoCgkgIE90aGVyd2lzZSB3ZSdsbCB3YWl0IHVudGlsIGJ1ZmZlcnMgYXJlIGNvbXBsZXRlbHkgcHJvY2Vzc2VkIGRvd25zdHJlYW0sCgkgIHdoaWNoIG1pZ2h0IHRha2UgcXVpdGUgc29tZSB0aW1lLgoKMjAxNC0wMy0wOSAxOTozMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHRyaWNrIG1vZGVzIHZpYSBJLWZyYW1lIHZhcmlhbnQgbGlzdHMKCjIwMTQtMDMtMDkgMTg6MjQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcGFyc2luZyBvZiAjRVhULVgtSS1GUkFNRS1TVFJFQU0tSU5GCgkgIFRoZXNlIGFyZSBJLWZyYW1lLW9ubHkgdmFyaWFudCBsaXN0cyB0aGF0IGNhbiBiZSB1c2VkCgkgIGZvciB0cmljayBtb2RlIHBsYXliYWNrLgoKMjAxNC0wMy0yOCAyMDoyMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBlZ2w6IGZpeCBkaXN0Y2hlY2sgYW5kIG91dCBvZiBzb3VyY2UgYnVpbGQKCjIwMTQtMDMtMjggMjA6NDc6MzYgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBidWlsZDogRml4IG1ha2UgZGlzdAoKMjAxNC0wMy0yOCAxOTo0NjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IExEQUREIG9yZGVyIGZvciBpbnNlcnRiaW4gdGVzdAoKMjAxNC0wMy0yOCAxOTo0MToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgbGluayBjb2RlY3BhcnNlciB0ZXN0cyB0d2ljZSB0byB0aGUgbGliCgoyMDE0LTAzLTI4IDE5OjMwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgZ2wgdW5pdCB0ZXN0cyBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBQdXQgbG9jYWwgLmxhIGZpbGVzIGZpcnN0LCBhbmQgYWRkIGxpbmsgdG8gbGliZ3N0dmlkZW8KCSAgZm9yIHRlc3RzIHRoYXQgdXNlIHRoZSBsaWJnc3R2aWRlbyBBUEkgZGlyZWN0bHkuCgoyMDE0LTAzLTI3IDIyOjQxOjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGFsbG93IG5vdCBidWlsZGluZyB0aGUgZ2wgcGx1Z2lucwoJICBGaXhlcyBidWlsZCBvbiB3aW5kb3dzIGlmIDxHTC93Z2xleHQuaD4gaGVhZGVycyBhcmUgbm90IHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxMjUKCjIwMTQtMDMtMjggMTE6NTQ6NDUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHVucmVmIGxhc3QgYnVmZmVyIG9uIERSQUlOCgkgIFNpbWlsYXIgdG8gMDkzNTc0MDUzZmFlMjQzZWM1ZmNmZDZhZGFlODE4NTA1M2IxZTg5NgoJICBpbiBnc3RiYXNlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTA3CgoyMDE0LTAzLTI3IDE4OjUxOjU5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCB3cm9uZyBkb2MgYmxvY2sgZm9yIGNyZWF0ZV93aW5kb3cKCSAgV3Jvbmcgc2luY2UgMWFkMjUzYjkgd2hlbiBwcm9wIG5hbWUgd2FzIGNoYW5nZWQgZnJvbQoJICBjYW5fY3JlYXRlX3dpbmRvdyB0byBjcmVhdGVfd2luZG93LgoKMjAxNC0wMy0yNyAyMjowMjoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkb24ndCBmYWlsIGNvbmZpZ3VyZSBpZiB3ZSBkbyBub3QgdW5kZXJzdGFuZCB0aGUgcGxhdGZvcm0KCjIwMTQtMDMtMjUgMTU6NDA6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIGdsOiBmaXggb3V0LW9mLXNvdXJjZSBidWlsZHMgcHQyCgkgIDIxYjg5N2RlMmY3NjJiZWU1MDRjYmMwMDdmZDEwODE0OGVlNWFlMjQgZGlkIHRoaXMgZm9yIHgxMSBhbmQgd2F5bGFuZC4KCSAgRG8gaXQgZm9yIHRoZSBvdGhlciBiYWNrZW5kcyBhcyB3ZWxsLgoKMjAxNC0wMy0yNiAyMzoxMzo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBvbmx5IHNldCBDQVBTX0ZFQVRVUkVfTUVNT1JZX0VHTF9JTUFHRSBvbiBlZ2wgcGxhdGZvcm0KCjIwMTQtMDMtMjYgMTc6MTQ6NDAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IE9TWCBob3N0IGNoZWNrCgkgIE1ha2VzIHRoZSBjaGVjayB3b3JrcyB3aXRoIChpMzg2fHg4Nl82NCktYXBwbGUtZGFyd2luKiBob3N0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzEwNAoKMjAxNC0wMy0yNiAxOToxNzowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogbGV0IHRoZSB1c2VyIGluY2x1ZGVzIGl0c2VsZiBvdXIgZWdsIGhlYWRlcnMgaWYgbmVlZGVkCgkgIEZvcmdvdCB0byBhZGRyZXNzIHRoaXMgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTIyIDIyOjAxOjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkgIGdsOiBhZGQgRUdMSW1hZ2Ugc3VwcG9ydAoJICAqIHBpY2tlZCBmcm9tIG9sZCBsaWJnc3RlZ2w6CgkgIC0gR3N0RUdMSW1hZ2VNZW1vcnkKCSAgLSBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICAtIGxhc3RfYnVmZmVyIG1hbmFnZW1lbnQgZnJvbSByZW1vdmVkIEdzdEVHTEltYWdlQnVmZmVyUG9vbAoJICAqIGFkZC1vbnM6CgkgIC0gR3N0RUdMSW1hZ2VNZW1vcnkgbm93IG9sZCBhIHJlZmVyZW5jZSBvbiBHc3RHTENvbnRleHQKCSAgc28gdGhhdCBpdCBjYW4gZGVsZXRlIHRoZSBFR0xJbWFnZSBhbmQgaXRzIGdsdGV4dHVyZSBzb3VyY2UKCSAgd2hpbGUgaGF2aW5nIHRoZSBhc3NvY2lhdGVkIGdsIGNvbnRleHQgYmVpbmcgY3VycmVudC4KCSAgLSBhZGQgRUdMSW1hZ2Ugc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIHdoaWNoCgkgIG1haW5seSBjYWxsIEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJECgkgIC0gR3N0R0xCdWZmZXJQb29sIG5vdyBzdXBwb3J0cyBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICAtIGdsaW1hZ2VzaW5rIC8gZ2xmaWx0ZXJzIC8gZXRjLi4gbm93IHByb3Bvc2UgR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgdG8gdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjoxMjo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGRlcGxveSBlZ2wgaGVhZGVycyBpbiBnc3QvZ2wvZWdsIGluc3RlYWQgb2YgZ3N0L2dsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MTA6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IHJlbW92ZSBjb21tZW50ZWQgYW5kIHVuc3VlZCBjb2RlIGluIHgxMSBNYWtlZmlsZS5hbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTIzIDIxOjU1OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBwa2djb25maWc6IGFkZCBnc3RyZWFtZXItZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjowNDowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmaXggY3Jhc2ggaWYgX2J1aWxkX2V4dGVuc2lvbl9zdHJpbmcgaXMgbm90IGNhbGxlZAoJICBPbiBHTEVTMiB0aGVuIChnbC0+R2V0SW50ZWdlcnYgJiYgZ2wtPkdldFN0cmluZ2kpIGlzIGZhbHNlCgkgIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjYzZkZjIwNGUyZjU4ZmZmZGE1Y2JlOTBmMzQ1MGFlYmE5NTg4OWM0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjYgMTA6MTQ6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBPbmx5IGVuYWJsZWQgY29jb2EgYmFja2VuZCBvbiBvc3ggKGFuZCBub3QgaW9zKQoJICBpb3MgcmVxdWlyZXMgdXNpbmcgRUFHTAoKMjAxNC0wMy0yNiAwOTowNToxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogUmVtb3ZlIFVSTCBjaGVjayBmb3IgdmFsaWQgcGxheXBhdGguCgkgIFRoZSBwbGF5cGF0aCBpcyBhbiBvcHRpb25hbCBjb21wb25lbnQgb2YgdGhlIFVSTCAtIGRvbid0IHJlcXVpcmUgaXQuCgoyMDE0LTAzLTI1IDE3OjM5OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogdW5sb2NrIG9iamVjdCBsb2NrIGJlZm9yZSBwb3N0aW5nIGVycm9yCgkgIFBvc3RpbmcgYW4gZXJyb3Igd2l0aCB0aGUgb2JqZWN0IGxvY2sgd2lsbCBkZWFkbG9jay4gUmV3b3JrIHRoZSBjb2RlCgkgIGEgYml0IHRvIG1ha2UgdGhpbmdzIG1vcmUgc2ltcGxlLgoKMjAxNC0wMy0yNSAxNTowNDoxNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogY29zbWV0aWNzOiBkcm9wIFRBQiBjaGFyYWN0ZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQ2xhcmlmeSBjb25mdXNpbmcgZGVidWcgbWVzc2FnZQoJICBUaGUgbWVzc2FnZSBpcyBkZXNjcmliaW5nIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVtYWluaW5nIGZvcgoJICBwYXJzaW5nLCBub3QgJ21pc3NpbmcnLgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbXBlZ3RzX3BhY2tldGl6ZXJfc2V0X2N1cnJlbnRfcGNyX29mZnNldCgpCgkgIFdoZW4gYWRqdXN0aW5nIHRoZSBQQ1Igb2Zmc2V0IG9mIGdyb3VwcywgYWRqdXN0IHRoZSBjb3JyZWN0IGdyb3VwCgkgIGVudHJ5IGZyb20gdGhlIGxpc3QgLSBub3QgdGhlIGN1cnJlbnQgZ3JvdXAgcmVwZWF0ZWRseS4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgd2FybmluZyBmb3IgMi1iaXQgYW5kIDgtYml0IHN1YnBpY3R1cmVzCgkgIEJvdGggMi1iaXQgYW5kIDgtYml0IG1vZGUgbm93IHNlZW0gZmluZSwgc28gcmVtb3ZlIHRoZSB3YXJuaW5nCgkgIG1lc3NhZ2VzIGFib3V0IHRoZW0KCjIwMTQtMDMtMjUgMjE6NDA6MTAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggOC1iaXQgc3VicGljdHVyZSByZW5kZXJpbmcuCgkgIEZpeCAyIHNtYWxsIGZsYXdzIGhhbmRsaW5nIDgtYml0IHN1YnBpY3R1cmVzIHRoYXQgbWFrZXMKCSAgbXkgb25lIHRlc3QgZmlsZSB3b3JrLgoKMjAxMy0wMy0wOCAwOTo1NzoyMiArMDgwMCAgTGkgWGlhb3dlaSA8eGlhb3dlaS5hLmxpQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBzbGljZV9oZWFkZXIoKSBwYXJzaW5nIGZvciBNVkMuCgkgIFRoZSBpZHJfcGljX2lkIHN5bnRheCBlbGVtZW50IGRlcGVuZHMgb24gSWRyUGljRmxhZywgd2hpY2ggaXMgYSBjYWxjdWxhdGVkCgkgIHZhbHVlIHRoYXQgZG9lcyBub3Qgb25seSBkZXBlbmQgb24gTkFMIHVuaXQgdHlwZSAoSURSKSwgYnV0IHBvc3NpYmx5IGFsc28KCSAgb24gTVZDIG5vbl9pZHJfZmxhZyBzeW50YXggZWxlbWVudC4KCSAgVGhlIGNvbXB1dGVkIGlkcl9waWNfZmxhZyBpcyBhbHJlYWR5IHN0b3JlZCBpbiBHc3RIMjY0TmFsVW5pdCBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3NzIKCSAgU2lnbmVkLW9mZi1ieTogTGkgWGlhb3dlaSA8eGlhb3dlaS5hLmxpQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAwOTo0ODowNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGdzdF9oMjY0X3BhcnNlX25hbHVfaGVhZGVyKCkgaGVscGVyLgoJICBBZGQgaGVscGVyIHRvIHBhcnNlIHRoZSBOQUxVIGhlYWRlci4gTW92ZSBib3VuZHMgY2hlY2tpbmcgdG8gdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAwOTozNzoyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGdzdF9oMjY0X3BhcnNlX3Nwc19kYXRhKCkgaGVscGVyLgoJICBTcGxpdCBzZXFfcGFyYW1ldGVyX3NldF9kYXRhKCkgcGFyc2luZyBvZmYgZ3N0X2gyNjRfcGFyc2Vfc3BzKCkgc28KCSAgdGhhdCBpdCBjb3VsZCBiZSByZS11c2VkIGxhdGVyIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjYgMTg6NDY6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNvbXBsZXRlIHNldCBvZiBOQUwgdW5pdCB0eXBlcy4KCSAgQWRkIG1pc3NpbmcgTkFMIHVuaXQgdHlwZXMuIFRoZXkgYXJlIG1vc3RseSByZWxhdGVkIHRvIGFscGhhIGJsZW5kaW5nLAoJICBzY2FsYWJsZSB2aWRlbyBjb2RpbmcgZXh0ZW5zaW9ucyAoU1ZDLCBBbm5leC5HKSwgYW5kIG11bHRpdmlldyB2aWRlbwoJICBjb2RpbmcgZXh0ZW5zaW9ucyAoTVZDLCBBbm5leC5IKS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNCAxOToyNzo0NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xlYW4tdXAgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaV9tZXNzYWdlKCkuCgkgIEZpeCBidWlsZCB3aGVuIEdTVF9ESVNBQkxFX0dTVF9ERUJVRyBpcyBub3QgZGVmaW5lZC4gVXNlIGEgc3dpdGNoCgkgIHN0YXRlbWVudCB0byBkaXNwYXRjaCB0byB0aGUgdmFyaW91cyBTRUkgcGF5bG9hZCBoYW5kbGVycy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yMSAxNzowNzoxOSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBza2lwcGluZyBvZiB1bnN1cHBvcnRlZCBTRUkgbWVzc2FnZXMuCgkgIFRoZSBwYXlsb2FkU2l6ZSBkb2VzIG5vdCBhY2NvdW50IGZvciBlbXVsYXRpb24gcHJldmVudGlvbiBieXRlcy4gU28sCgkgIGp1c3QgdXNlIG5hbF9yZWFkZXJfc2tpcCgpIGZvciBza2lwcGluZyBwYXlsb2FkX3NpemUgYml0cy4gSXQgc2hvdWxkCgkgIGJlIHBvc3NpYmxlIHRvIGZ1cnRoZXIgb3B0aW1pemUgdGhpcyBjb2RlIHNpbmNlIHRoZSBOQUwgcmVhZGVyIHNoYWxsCgkgIGJlIGFsaWduZWQgdG8gYnl0ZSBib3VuZGFyeSBhbHJlYWR5LgoJICBLaWxsIHRoZSBub3cgdW51c2VkIG5hbF9yZWFkZXJfc2tpcF90b19uZXh0X2J5dGUoKSBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgyOQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTIxIDE3OjAzOjM2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggU0VJIGJ1ZmZlcmluZ19wZXJpb2QoKSBwYXJzaW5nLgoJICBGaXggcGFyc2luZyBvZiBidWZmZXJpbmdfcGVyaW9kKCkgU0VJIG1lc3NhZ2VzLiBUaGUgbnVtYmVyIG9mIGJpdHMKCSAgdXNlZCB0byBleHByZXNzIHtuYWwsdmNsfV9pbml0aWFsX2NwYl9yZW1vdmFsX2RlbGF5eyxfb2Zmc2V0fSBzeW50YXgKCSAgZWxlbWVudHMgaXMgbm90IDUgYnV0IDEgKyBpbml0aWFsX2NwYl9yZW1vdmFsX2RlbGF5X2xlbmd0aF9taW51czEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0xMCAxNjoxOTo0OSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByYnNwX21vcmVfZGF0YSgpIGltcGxlbWVudGF0aW9uLgoJICBBY2NvdW50IGZvciB0cmFpbGluZyB6ZXJvIGJpdHMgd2hlbiBjaGVja2luZyBmb3IgcmJzcF9tb3JlX2RhdGEoKS4KCSAgSW4gcGFydGljdWxhciwgZml4IGFuIGh5cG90aGV0aWNhbCBzdHJlYW0gd2hlcmVieSByYnNwX21vcmVfZGF0YSgpCgkgIGlzIGNhbGxlZCBpbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgZm9yIFBQUyBoZWFkZXI6IE5hbFJlYWRlcgoJICByZWFjaGVkIHBvc2l0aW9uIDIwLCAxMiBiaXRzIGFyZSByZW1haW5pbmcgYW5kIHRyYWlsaW5nIGRhdGEgYXQKCSAgY3VycmVudCBieXRlIHBvc2l0aW9uIGlzIGM4IDAwLgoJICByYnNwX21vcmVfZGF0YSgpIHVzZWQgdG8gcmV0dXJuIFRSVUUgd2hlcmVhcyBpdCBzaG91bGQgb2J2aW91c2x5CgkgIHJldHVybiBGQUxTRSBiZWNhdXNlIHg4IDAwIHJlcHJlc2VudHMgYSB2YWxpZCByYnNwX3RyYWlsaW5nX2JpdHMoKQoJICBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4OTAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNCAxNzozMzowMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogZml4IG91dC1vZi1zb3VyY2UgYnVpbGRzLgoJICBBbHdheXMgdXNlIHRoZSBsb2NhbGx5IGdlbmVyYXRlZCA8Z3N0L2dsL2dzdGdsY29uZmlnLmg+IGZpbGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjUgMDA6NTA6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2wvZG93bmxvYWQ6IGFkZCBzdXBwb3J0IGZvciB0aGUgYnQ3MDkgY29sb3IgbWF0cml4CgoyMDE0LTAzLTI1IDAwOjM0OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGFkZCBzdXBwb3J0IGZvciB0aGUgYnQ3MDkgY29sb3IgbWF0cml4CgoyMDE0LTAzLTI0IDIzOjA5OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogcmVtb3ZlIGV4cGxpY2l0IHJlZmVyZW5jZSB0byBYX0NGTEFHUwoJICBUaGV5IGFyZSBpbiBHTF9DRkxBR1MgaWYgcmVxdWlyZWQKCjIwMTQtMDMtMjMgMjM6NDM6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogcmVtb3ZlIHRoZSBsZWdhY3kgR0wgMS54IHVwbG9hZCBwYXRoCgkgIHVwbG9hZGluZyByZXF1aXJlcyBzaGFkZXJzIGFuZCBmYm9zIGF2YWlsYWJsZSBpbiBHTDIuCgoyMDE0LTAzLTIzIDExOjAyOjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZhbGxiYWNrIHRvIGdsR2V0U3RyaW5nIGlmIEdMX05VTV9FWFRFTlNJT05TIGZhaWxzCgkgIE5lZWQgaXQgb24gTWFjT1NYIDEwLjcuNQoKMjAxNC0wMy0yMyAwMTowMjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSAgZ2w6IGFuZCB1cGRhdGUgdGhlIE1ha2VmaWxlCgoyMDE0LTAzLTIzIDAwOjM4OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9ibGVuZGluZy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2VnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZml4ZWRmdW5jdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHJlb3JnYW5pemUgdGhlIGV4dGVuc2lvbiBoZWFkZXJzIGJ5IGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFwaQoKMjAxNC0wMy0yMSAyMDoyOTo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbC93aW4zMjogdXNlIHRoZSBjb3JyZWN0IGluY2x1ZGUgYW5kIGdzdC1pbmRlbnQKCjIwMTQtMDMtMjEgMTU6NTY6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgY2hlY2s6IGZpeCBtYWtlIGNoZWNrCgkgIFRoZSBtcGVnIHBhcnNlciBub3cgZmxhZ3MgdGhlIHN0cmVhbSBhcyBtcGVnMiBpZiB0aGVyZSBpcyBhIHBpY3R1cmUKCSAgZXh0ZW5zaW9uIGhlYWRlciwgc28gcmVtb3ZlIGl0IGZvciBtcGVnMSBkYXRhLgoKMjAxNC0wMy0xOCAwOToxNjoyNSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsOiB1c2Ugd2dsQ3JlYXRlQ29udGV4dEF0dHJpYnNBUkIgdG8gY3JlYXRlIHNoYXJlIGNvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ5NAoKMjAxNC0wMy0xNyAyMDo0MzozNSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9taXhlcjogZml4IGRvd25sb2FkIGNoZWNrIGZvciBmYWlsdXJlCgoyMDE0LTAzLTE3IDIwOjQwOjUxICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBzaWxlbmNlIGEgY3JpdGljYWwgaWYgdXBzdHJlYW0gZG9lcyBub3QgcHJvdmlkZSB1cyB3aXRoIG1ldGEgcGFyYW1zCgoyMDE0LTAzLTE5IDEzOjQ4OjEwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoJICBTaW1pbGFyIHRoYW4gMTE5MGE3OWIxOTk1ODRjZmM0ZGQ2MmM0NzQ1MzFjMzJjZmJiYTQyNQoKMjAxNC0wMy0xOSAxMzo0NTozNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSAgZ2w6IGtlZXAgb25seSBvbmUgb2NjdXJlbmNlIG9mICcjaW5jbHVkZSA8RUdML2VnbC5oPicKCSAgVG8gc2ltcGx5IG1haW50YWluYW5jZSBpZiB3ZSBuZWVkIHRvIHB1dCBzcGVjaWZpYyBpbmNsdWRlcyBhcm91bmQgaXQuCgoyMDE0LTAzLTE2IDAxOjI1OjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3QgZm9yd2FyZCB0ZXh0IGdhcCBldmVudHMgZG93bnN0cmVhbQoJICBUaGF0IGdhcCBpcyBvbmx5IGZvciB0aGUgc3VidGl0bGUgc3RyZWFtIGFuZCBub3QgZm9yIHRoZSB2aWRlbyBzdHJlYW0uCgoyMDE0LTAzLTE4IDAwOjExOjA5ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvbid0IGRlZmF1bHQgdG8gR1NUX0dMX0hBVkVfV0lORE9XX0RJU1BNQU5YPTEKCSAgTWlzdGFrZSBpbnRyb2R1Y2VkIGJ5IDJhMGYwMzk5YWUyMjYwODljMmJhMDdiMWI5MDQ3NDFiODU2ZjM3YWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xOCAwMDowODo1MCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBnbDogZml4IHRoZSB1c2Ugb2YgYWx3YXlzLWRlZmluZWQgbWFjcm9zCgkgIEFmdGVyIDJhMGYwMzk5YWUyMjYwODljMmJhMDdiMWI5MDQ3NDFiODU2ZjM3YWYgR1NUX0dMXyogbWFjcm9zIGFyZSBhbHdheXMKCSAgZGVmaW5lZCB0byAwIG9yIDEuIERvbid0IHVzZSAjaWZkZWYgLi4uIG9yICNpZiBkZWZpbmVkKCkgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xOCAwMDowNzo0MyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBjaGVjayBmb3IgWCB1bmNvbmRpdGlvbmFsbHkKCSAgV2l0aG91dCB0aGlzIHRoZSBIQVZFX1ggbWFjcm8gaXMgZW1wdHksIG5vdCAibm8iIG9yICJ5ZXMiLCB3aGljaCBpcyBub3QKCSAgd2hhdCB0aGUgbGF0ZXIgY29kZSBpcyBjb3VudGluZyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xNyAxNzozNToyMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBzZXQgZGVmYXVsdCB2YWx1ZSB0byAwIGZvciBhbGwgZGVmaW5pdGlvbnMgdGhhdCBnbyB0byBnc3RnbGNvbmZpZy5oCgkgIFRvIGF2b2lkIHdhcm5pbmdzIGxpa2UgIkdTVF9HTF9IQVZFX09QRU5HTCBpcyBub3QgZGVmaW5lZCIuCgkgIEFzIHdlIGFyZSB1c2luZyAjaWYgaW5zdGVhZCBvZiAjaWZkZWYKCjIwMTQtMDMtMTcgMTU6NDk6MzcgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYWxsb3cgbm90IGJ1aWxkaW5nIHRoZSBnbCBsaWJyYXJ5IHBsdWdpbnMKCjIwMTQtMDMtMTcgMTU6MTY6MTMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIEdNb2R1bGUgbGlicyBmb3Igd2luMzIKCjIwMTQtMDMtMTcgMTU6MDY6MjUgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogb25seSBsaW5rIGFnYWluc3QgZ3N0ZWdsIGlmIHdlIGFyZSB1c2luZyBlZ2wKCSAgQXNzdW1pbmcgaWYgd2UgYXJlIGJ1aWxkaW5nIGVnbCB0aGF0IHRoZSBlZ2wgbGlicmFyeSBpcyBidWlsdAoKMjAxNC0wMy0xNyAxNTowNToyNCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhZGQgdGhlIG9wdGlvbiBvZiBkaXNhYmxpbmcgY29jb2Egb24gT1MgWCB1c2luZyAtLWRpc2FibGUtY29jb2EKCjIwMTQtMDMtMTcgMTQ6Mzc6MTMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIHBhdGggb2YgdGhlIGdzdGVnbCBsaWJyYXJ5CgkgIFRlbXBvcmFyeSB1bnRpbCB3ZSBtZXJnZSB0aGUgdHdvIGxpYnJhcmllcwoKMjAxNC0wMy0xNyAxNDoyNjozMSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFJldmVydCAiZ2w6IGFkZCBkZXAgb24gZ3N0ZWdsIgoJICBJdCB3YXMgYWxyZWFkeSBpbiBfTElCQURECgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjEwYTM1MzA4MDQzMzVmYzNiOTQ5NDYwM2VmNzhjZTk0MTdjM2JjOC4KCjIwMTQtMDMtMTcgMTQ6MTE6MTQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIGRlcCBvbiBnc3RlZ2wKCSAgVGVtcG9yYXJ5IHVudGlsIHdlIG1lcmdlIHRoZSB0d28gbGlicmFyaWVzCgoyMDE0LTAzLTE3IDE0OjA2OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnRzIGFuZCBwbGF0Zm9ybQoKMjAxNC0wMy0xNyAxMjozMjoyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBzZXQgSEFWRV9FR0xfUlBJIHRvIHllcyBpZiBIQVZFX0dMIGFuZCBSUEkKCSAgV2hpY2ggZml4ZXMgYnVpbGQgb24gUmFzcGJlcnJ5IFBpIHNpbmNlIC1nbCBoYXMgYmVlbiBtb3ZlZCB0byAtYmFkCgoyMDE0LTAzLTE3IDEyOjA0OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbDogRml4IHN0YXRpYyBidWlsZCB3aXRoIG9iamVjdGl2ZS1DCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAzLTE3IDEyOjAwOjA5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIG1ha2U6IHdoaXRlc3BhY2UgY2xlYW51cHMKCjIwMTQtMDMtMTcgMTA6NTY6MzkgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2w6IEFkZCBFR0xEaXNwbGF5IGRpc3BsYXkgc3ViY2xhc3MKCjIwMTQtMDMtMTcgMTA6NDQ6MzIgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3dpbmRvdzogYWRkIGEgZHVtbXkgd2luZG93IGNsYXNzCgkgIEVmZmVjdGl2ZSBmb3IgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBhIHBsYXRmb3JtIHRoYXQgZG9lcyBub3QKCSAgcmVxdWlyZSBhIG5hdGl2ZSB3aW5kb3cuICBXZSByZXF1aXJlIGEgbWFpbmxvb3AgdG8gcnVuIHRoZSBHTAoJICBjb21tYW5kcyB3aGljaCBpcyBjdXJyZW50bHkgb3BlcmF0ZWQgYnkgR3N0R0xXaW5kb3cuCgoyMDE0LTAzLTE3IDA4OjEwOjUwICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBmaXggdW5kZWNsYXJlZCBzeW1ib2wgd2hlbiBidWlsZGluZyB3aXRob3V0IEdTVF9ERUJVRwoKMjAxNC0wMy0xNiAxODo1NTowMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZml4IGEgZG91YmxlIHVucmVmIG9mIHRoZSBxdWVyeSB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgWAoKMjAxNC0wMy0xNiAxNjozNjowNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaGFuZGxlIHZpZGVvL3gtcmF3KEFOWSkgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDYzCgoyMDE0LTAzLTE2IDE3OjIxOjM4ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBzaWxlbmNlIGEgY29tcGlsZXIgd2FybmluZyBhYm91dCBtaXNzaW5nIHByb3RvdHlwZXMKCjIwMTQtMDMtMTQgMTk6MDM6MzYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2wvdXRpbHM6IGFkZCB4MTEgR3N0Q29udGV4dCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzYwCgoyMDE0LTAzLTE2IDE1OjM0OjExICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGRlZmluZSBHTF9OVU1fRVhURU5TSU9OUyBpZiBub3QgZGVmaW5lZAoKMjAxNC0wMy0xNiAxNTowODoyMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgTW92ZSBnc3QtcGx1Z2lucy1nbCB0byBiYWQKCjIwMTQtMDMtMTYgMTU6MDY6MzcgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbDogc2lsZW5jZSBhbGwgdGhlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTAzLTE2IDExOjIzOjE2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9CVUdTOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBtb3ZlIGdsIGVsZW1lbnRzIHRvIGV4dCBzdWJkaXJlY3RvcnkKCjIwMTQtMDMtMTUgMTU6NTU6NDYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs5MDYvOTA2XSBmaWx0ZXI6IHdhcm4gYWJvdXQgdHJ5aW5nIHRvIHNoYXJlIHdpdGggbXVsdGlwbGUgY29udGV4dHMgYXQgb25jZQoKMjAxNC0wMy0xNSAxNDowNjo0MCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzkwNS85MDZdIEFkZCBHTCBjb250ZXh0IHNoYXJpbmcgc3VwcG9ydCBmb3Igbm9uLWdzdGdsIGVsZW1lbnRzCgoyMDE0LTAzLTE1IDEzOjU1OjM5ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs5MDQvOTA2XSBtaXhlcjogYXNrIGZvciBkaXNwbGF5IGhhbmRsZXMgb24gcGFkIGFjdGl2YXRpb24KCjIwMTQtMDMtMTUgMTM6NTE6NDQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbOTAzLzkwNl0gYXBpOiBhZGQgR3N0R0xQbGF0Zm9ybSB0by9mcm9tIHN0cmluZwoKMjAxNC0wMy0xNSAxMToyNTo0MyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs5MDIvOTA2XSBjb250ZXh0OiBpbXBsZW1lbnQgZ2xHZXRTdHJpbmdpIGhhbmRsaW5nIGZvciBHTCBjb3JlIGNvbnRleHRzL0dMRVMzCgoyMDE0LTAzLTEyIDIzOjQ2OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbOTAxLzkwNl0gZ2x4OiB1c2UgdGhlIGRpc3BsYXkgaGFuZGxlIGZyb20gdGhlIGdsb2JhbCBkaXNwbGF5CgkgIEludGVsIGRyaXZlcnMgcmVxdWlyZSB0aGUgZGlzcGxheSBoYW5kbGVzIGJlIHRoZSBzYW1lIGZvciBjb250ZXh0CgkgIHNoYXJpbmcgdG8gb2NjdXIuICBBbHNvIHNvbHZlcyBzb21lIGNhc2VzIG9mIHVzZSBhZnRlciBmcmVlIG9mIHRoZQoJICBkaXNwbGF5IHdoZW4gaW50ZWdyYXRpbmcgd2l0aCBnc3RyZWFtZXItdmFhcGkuCgkgIFNlZSBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD00MTczNiBmb3IgdGhlIGludGVsIGJ1Zy4KCjIwMTQtMDMtMTIgMjM6NDQ6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzkwMC85MDZdIHRlc3RzL2dzdGdsY29udGV4dDogcmVkdWNlIHRoZSBudW1iZXIgb2YgZnJhbWVzIGRpc3BsYXllZAoJICBXYXMgY2F1c2luZyB0aW1lb3V0cyBvbiBpbnRlbCBoYXJkd2FyZSBkdWUgdG8gdnN5bmMgaGFuZGxpbmcuCgoyMDE0LTAzLTEyIDIzOjQzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODk5LzkwNl0gZWdsOiB3YXJuIGlmIHdlIHJlc29ydCB0byBkaXNwbGF5IGhhbmRsZXMgZnJvbSB0aGUgd2luZG93CgoyMDE0LTAzLTA2IDE4OjExOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzg5OC85MDZdIGdsaW1hZ2VzaW5rOiBhZGQgYW4gb3RoZXItY29udGV4dCBwcm9wZXJ0eQoJICBBbGxvd3MgYXBwbGljYXRpb25zIHRvIHByb3ZpZGUgdXMgd2l0aCBhbiBPcGVuR0wgY29udGV4dCB3aXRoIHdoaWNoCgkgIHRvIHNoYXJlIHdpdGguCgoyMDE0LTAzLTA0IDIzOjI4OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBbODk3LzkwNl0gYXBpOiBwbHVnaW4gYSBzbWFsbCBtZW1vcnkgbGVhawoJICBGb3VuZCBieSBhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20KCjIwMTQtMDMtMDIgMTE6NDg6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzg5Ni85MDZdIHV0aWxzOiB1c2UgdGhlIHZ0YWJsZSBmb3IgZGVsZXRpbmcgdGhlIHRleHR1cmUKCjIwMTQtMDItMjggMTc6NDI6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODk1LzkwNl0gY29udGV4dDogY2FsbCB3aW5kb3dfY2xhc3MtPmNsb3NlIGxhc3QKCSAgV2Ugc2hvdWxkIGRlc3Ryb3kgcmVzb3VyY2VzIGJlZm9yZSBjbG9zaW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA0OAoKMjAxNC0wMi0yNSAwOToyNzoyNiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzg5NC85MDZdIGdsOiBhZGQgbWlzc2luZyBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMTEKCjIwMTQtMDItMjQgMjM6NTU6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg5My85MDZdIHgxMTogY2xvc2UgYm90aCBvZiB0aGUgZGlzcGxheSdzIHdlIHVzZQoJICAodGhlIGNvbW1lbnQgZG9lc24ndCBzZWVtIHRvIGFwcGx5IGFueW1vcmUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwNDgKCjIwMTQtMDItMjMgMTE6NDQ6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODkyLzkwNl0gc2lsZW5jZSBhIGNvbXBpbGVyIHdhcm5pbmcgb24gb2xkZXIgZ2NjIHZlcnNpb25zICg0LjYpCgoyMDE0LTAyLTExIDA4OjU3OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzg5MS85MDZdIGNvbnRleHQ6IGFkZCBzdXBwb3J0IGZvciB3cmFwcGluZyBleHRlcm5hbCBjb250ZXh0cwoKMjAxMy0xMS0yNyAxNzo1Mjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJICBbODkwLzkwNl0geDExOiBhZGQgZGlzcGxheSBzdWJjbGFzcwoJICBHc3RHTERpc3BsYXlYMTEgaG9sZHMgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiBhbmQgbmFtZS4gIEVhY2ggdGhyZWFkIHJlcXVpcmVzCgkgIGl0J3Mgb3duIFgxMSBEaXNwbGF5IGNvbm5lY3Rpb24gKGluaXRpYWxpc2VkIGZyb20gbmFtZSkgZHVlIHRvIHRoZSBmYWN0IHRoYXQKCSAgd2UgZG8gbm90IHdhbnQgdG8gY2FsbCBYSW5pdFRocmVhZHMoKS4gIERvaW5nIHNvIHdvdWxkIHJlc3VsdCBpbiBzZWdmYXVsdHMKCSAgd2hlbiBpbnRlZ3JhdGluZyB3aXRoIEdVSSB0b29sa2l0cyBHdGssIFF0LCBldGMuCgkgIFRoZSBEaXNwbGF5IGNvbm5lY3Rpb24gaXMgZm9yIE9wZW5HTCBwbGF0Zm9ybXMgd2hlcmUgYSBjb25zdGFudCBkaXNwbGF5IGlzCgkgIHJlcXVpcmVkIGluIG9yZGVyIHRvIHNoYXJlIGNvbnRleHRzIChlZ2wpLiAgSW4gdGhlIGNhc2Ugb2YgYSB3cmFwcGVkIGNvbnRleHQKCSAgKGFkZGVkIGxhdGVyKSwgd2UgZG8gbm90IGhhdmUgR3N0R0xXaW5kb3cgdG8gcmV0cmVpdmUgdGhlIGRpc3BsYXkgZnJvbSBzbyBhCgkgICdtYXN0ZXInIGNvbm5lY3Rpb24gaXMgdXNlZCBpbnN0ZWFkLgoKMjAxNC0wMS0xNSAxMDoyMTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzg4OS85MDZdIGRpc3BsYXk6IGFkZCBkaXNwbGF5IHR5cGUgZW51bQoKMjAxNC0wMi0yMyAxMToyNzoyMyArMTEwMCAgQWRyaWVuIFNDSCA8YWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzg4OC85MDZdIGNvcnJlY3QgZXJyb3IgaGFuZGxpbmcgaW4gZ3N0Z2xkb3dubG9hZC5jCgoyMDE0LTAyLTIzIDEwOjM2OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4ODcvOTA2XSBtaXhlcjogZml4dXAgYSBtZW1vcnkgbGVhayBvZiB0aGUgY29udGV4dCBpbiB0aGUgR0xUZXh0dXJlVXBsb2FkTWV0YSBwYXRoCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0IHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBhbmQgd2UgYXNrZWQKCSAgZm9yIGFub3RoZXIgd2l0aCBnc3Rfb2JqZWN0X3JlcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjMgMDE6MzI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg4Ni85MDZdIGZpeHVwIGEgbWVtb3J5IGxlYWsgb2YgdGhlIGNvbnRleHQgaW4gdGhlIEdMVGV4dHVyZVVwbG9hZE1ldGEgcGF0aAoJICBnc3Rfc3RydWN0dXJlX2dldCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgYW5kIHdlIGFza2VkCgkgIGZvciBhbm90aGVyIHdpdGggZ3N0X29iamVjdF9yZXBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIxIDE1OjI1OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODg1LzkwNl0gZmlsdGVyOiBmcmVlIG91ciBkYXRhCgkgIHBsdWdzIHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjEgMTM6Mjg6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4ODQvOTA2XSBmaWx0ZXI6IHJldHVybiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaW4gdHJhbnNmb3JtX2NhcHMKCSAgV2UgY2FuIHRyYW5zZm9ybSBmcm9tIGFueSBpbnB1dCBpbiBvdXIgY2FwcyB0byBhbnkgb3V0cHV0LgoJICBXaXRoIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgc25pcHBldDoKCSAgLi4uICEgdmFhcGlkZWNvZGUgISBnbGNvbG9yc2NhbGUgISB4dmltYWdlc2luawoJICBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgd2FzIGJlaW5nIHVzZWQgb24gYm90aCBzcmMgYW5kIHNpbmsKCSAgcGFkcyBjYXVzaW5nIGxpbmtpbmcgdG8gZmFpbC4gIFRoaXMgYWxsb3dzIHRoZSB1c2FnZSBvZiB0aGUgbWV0YQoJICBvbiBlaXRoZXIgcGFkIHdpdGhvdXQgYWZmZWN0aW5nIHdoZXRoZXIgdGhlIG1ldGEgaXMgY2hvc2VuIG9uIHRoZQoJICBvdGhlciBwYWQuCgoyMDE0LTAyLTExIDA4OjIzOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODgzLzkwNl0gYXBpOiBwcm92aWRlIGZyb21fc3RyaW5nKCkKCSAgQWxzbyBzL2dzdF9nbF9hcGlfc3RyaW5nL2dzdF9nbF9hcGlfdG9fc3RyaW5nL2cKCjIwMTQtMDItMTEgMDc6MjQ6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzg4Mi85MDZdIHBvcnQgZ2xjb2xvcnNjYWxlIHRvIEdMRVMyCgoyMDE0LTAyLTA2IDIxOjQzOjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODgxLzkwNl0gdXBsb2FkOiByZXN0b3JlIGRlZmF1bHQgdmFsdWVzIGZvciB1bnBhY2tfbGVuZ3RoCgkgIGZpeGVzIGVsZW1lbnRzIHRoYXQgdXBsb2FkIGEgc3VwcGxlbWVudGFyeSB0ZXh0dXJlIChnbGJ1bWJlciwKCSAgZ2xkaWZmZXJlbmNlbWF0dGUsIGV0YykKCjIwMTQtMDItMDUgMDA6NDQ6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbODgwLzkwNl0gZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgc3RvcmVkX2J1ZmZlciBmaWVsZAoJICBJdCBoYXMgdGhlIHBvdGVudGlhbCB0byBjYXVzZSBkZWFkbG9ja3MuCgoyMDE0LTAyLTIwIDIyOjQwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbODc5LzkwNl0gYnVpbGQ6IGRvbid0IGFkZCBYX0NGTEFHUyB0byBDRkxBR1MKCSAgSXQgc2hvdWxkIGFscmVhZHkgYmUgaW5jbHVkZWQgaWYgbmVlZGVkIGluc2lkZSBHTF9DRkxBR1MKCjIwMTQtMDItMDUgMDE6NTM6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzgvOTA2XSB0ZXN0czogdXBkYXRlIGZvciBnbG1lbSBhcGkgY2hhbmdlCgoyMDE0LTAyLTA0IDEzOjQ5OjM1ICswMTAwICBDaHJpcyBQYXVsc29uLUVsbGlzIDxjaHJpc0BlZGVzaXguY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg3Ny85MDZdIHgxMTogVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnRwdHIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUzNwoKMjAxNC0wMi0wMSAwMzoxNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzYvOTA2XSBnbG1lbTogdXNlIEdzdFZpZGVvSW5mbyBmb3IgZm9ybWF0IGNvbmZpZ3VyYXRpb24KCSAgQWxsb3dzIHVzZSBvZiBzdHJpZGVzCgoyMDE0LTAxLTMxIDA2OjUzOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODc1LzkwNl0gdXBsb2FkOiBzdXBwb3J0IGZvciBhcmJpdHJhcnkgc3RyaWRlcwoJICBVc2luZyBHTF9VTlBBQ0tfQUxJR05NRU5UIGZvciBHTEVTMiBhbmQgR0xfVU5QQUNLX1JPV19MRU5HVEggZm9yIGV2ZXJ5dGhpbmcgZWxzZQoKMjAxNC0wMS0zMCAwNzo0OToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFs4NzQvOTA2XSBmaWx0ZXI6IGltcGxlbWVudCBkcmF3X3RleHR1cmUgZm9yIEdMRVMyCgkgICh0YWtlbiBmcm9tIGdsZWZmZWN0cykKCjIwMTQtMDEtMjkgMTk6MTQ6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODczLzkwNl0gdXBsb2FkOiB1c2UgR3N0VmlkZW9JbmZvIGZvciBjaG9vc2luZyB0aGUgZm9ybWF0CgoyMDE0LTAxLTI5IDA2OjQyOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcyLzkwNl0gdXBsb2FkOiBjb25zb2xpZGF0ZSBkYXRhIF9maWxsCgoyMDE0LTAxLTI5IDAyOjUxOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcxLzkwNl0gdXBsb2FkOiBmaXggdGV4dHVyZSBzY2FsaW5nIGZvciBZVVkyL1VZVlkgd2l0aCBHTEVTMgoJICBBbm90aGVyIGFydGlmYWN0IGZyb20gdGhlIHRyYW5zaXRpb24gdG8gR0xfVEVYVFVSRV8yRAoKMjAxNC0wMS0yOSAwMTowMjo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3MC85MDZdIHVwbG9hZDogcmVtb3ZlIHN1cGVyZmxvdXMgZ19tdXRleF9pbml0CgoyMDE0LTAxLTMwIDA4OjI4OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIFs4NjkvOTA2XSB0ZXN0czogYWRkIHNvbWUgdXBsb2FkIHRlc3RzCgoyMDE0LTAxLTI4IDA3OjUwOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODY4LzkwNl0gdXBsb2FkOiBmaXggY29tcGlsYXRpb24gZm9yIEdMRVMyCgoyMDE0LTAxLTE3IDA4OjQ2OjAyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbODY3LzkwNl0gZ2x1cGxvYWQ6IEFkZCBHUkFZOC9HUkFZMTZMRS9CRSB1cGxvYWQgc3VwcG9ydCB0byBnbGltYWdlc2luawoJICB0aGUgMTZiaXQgZGF0YSBpcyB1cGxvYWRlZCBhcyBMVU1JTkFOQ0VfQUxQSEEsIHRoZW4gZXhwYW5kZWQsIGNvbXBvc2VkCgkgIGluIHNoYWRlci4gdmFsdWUgd2VpZ2h0IGlzIGEgbGl0dGxlIGNvbXBsaWNhdGUsIGhpZ2ggYnl0ZSB3ZWlnaHQgaXMKCSAgMjU1KjI1Ni82NTUzNSAoZGVub3JtYWxpemUgdG8gWzB+MjU1XSAsc2hpZnQgdG8gaGlnaCBieXRlLHRoZW4gbm9ybWFsaXplCgkgIHRvIFswfjFdKSwgbG93IGJ5dGUgd2VpZ2h0IGlzIDI1NS82NTUzNShzaW1pbGFyKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjcwCgoyMDEzLTExLTIzIDIyOjU3OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzg2Ni85MDZdIHVwbG9hZDogdXBkYXRlIHNvbWUgZG9jcwoKMjAxMy0xMS0yMyAyMjoxOToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzg2NS85MDZdIGdsbWVtOiByZXBvcnQgc3VjY2Vzc2Z1bCBjb3B5IHRvIHRoZSBjYWxsZXIKCjIwMTMtMTItMjkgMTc6Mjk6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzg2NC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgdG8gZ3RrMwoKMjAxMy0xMS0yNiAwOTozMjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs4NjMvOTA2XSB3aW5kb3c6IGhvbGQgYSByZWYgdG8gb3VyIEdzdEdMRGlzcGxheQoKMjAxMy0xMS0yNSAyMDozNDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODYyLzkwNl0gd2luZG93OiByZW1vdmUgc2V0X25lZWRfbG9jawoJICBOby1vbmUgaXMgdXNpbmcgaXQuICBUaGUgb25seSBjb2RlIHRoYXQgZGlkIHdhcyB0aGUgeDExIG9uZSB3aGljaAoJICBkb2Vzbid0IG5lZWQgaXQgYW55bW9yZS4KCjIwMTQtMDEtMTAgMDI6NTA6MTQgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBbODYxLzkwNl0gZ2xwcm90b3R5cGVzOiBBZGQgbWlzc2luZyBnbFNjYWxlZiBkZWNsYXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE5MDMKCjIwMTMtMTEtMjMgMjI6NTg6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzg2MC85MDZdIGRvY3M6IG1pc2MgdXBkYXRlcwoKMjAxMy0xMS0yMyAyMjo1Nzo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs4NTkvOTA2XSB3aW5kb3c6IHByb3ZpZGUgc29tZSBkb2N1bWV0YXRpb24KCjIwMTMtMTEtMjMgMjI6NTY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbODU4LzkwNl0gZ2xtZW06IHVwZGF0ZSB0aGUgZG9jcwoKMjAxMy0xMS0yMyAyMjo1NDo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzg1Ny85MDZdIGRpc3BsYXk6IGRvY3VtZW50IHRoZSBuZXcgR3N0Q29udGV4dCBhcGkKCjIwMTMtMTEtMjMgMjI6NTM6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIFs4NTYvOTA2XSBjb250ZXh0OiBkb2N1bWVudCBpdAoKMjAxMy0xMS0xNCAxNToyNzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODU1LzkwNl0gdXBsb2FkOiBhZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDEzLTExLTEzIDAwOjQxOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODU0LzkwNl0gdXNlIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHRvIHByb3BvZ2F0ZSBHc3RHTENvbnRleHQKCSAgdXNlcyB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGFwaSB0eXBlIGZvciB0aGUgcXVlcnkKCjIwMTMtMTAtMjQgMjI6MzA6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzg1My85MDZdIGRpc3BsYXk6IHJlbW92ZSBfe3NldCxnZXR9X2NvbnRleHQKCSAgQSBHc3RHTERpc3BsYXkgZG9lc24ndCBuZWVkIGEgR3N0R0xDb250ZXh0IGFuZCBpdHMgdXNlCgkgIHdhcyBjYXVzZSBhIHJlZmVyZW5jZSBjeWNsZQoKMjAxMy0xMS0xMyAxMDo0MzoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg1Mi85MDZdIHVzZSBHc3RDb250ZXh0IGZvciBHc3RHTERpc3BsYXkgcHJvcG9nYXRpb24KCSAgaW1wbGVtZW50cyB0aGUgaG9va3MgcmVxdWlyZWQgaW4gR3N0RWxlbWVudDo6c2V0X2NvbnRleHQgYW5kIHRoZSBjb250ZXh0IHF1ZXJ5CgoyMDEzLTEyLTIwIDE1OjE4OjM4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzg1MS85MDZdIGRlaW50ZXJsYWNlOiBmaXggdGV4dHVyZSBjb29yZGluYXRlcyBjb21wdXRhdGlvbgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBmZmZkY2JkZDNkZGU0MzdlMTBjZjZlMWI1ZTQwYzY5NThkNDFlNmMxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA4MjYKCjIwMTMtMTEtMTUgMTg6Mjg6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NTAvOTA2XSBnbHVwbG9hZDogUmVtb3ZlIHRleHR1cmUgc2NhbGluZyBhcnRpZmFjdHMgZnJvbSB0aGUgVEVYVFVSRV9SRUNUQU5HTEUgLT4gVEVYVFVSRV8yRCB0cmFuc2l0aW9uCgkgIGZpeGVzIHRoZSBmdW5reSBjb2xvdXJzIGluIHNvbWUgb2YgdGhlIHl1diBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjExNTUKCjIwMTMtMTAtMjYgMDI6MjA6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJICBbODQ5LzkwNl0gdGVzdHNyYzogdXNlIF9jb250ZXh0X2dldF9nbF9hcGkKCjIwMTMtMTAtMjQgMjI6Mjg6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4NDgvOTA2XSBmaWx0ZXI6IGEgbGl0dGxlIGNvZGUgY2xlYW51cAoKMjAxMy0xMS0xMyAxNTo1NzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODQ3LzkwNl0gbWl4ZXI6IHVubWFwIHRoZSB2aWRlbyBmcmFtZXMgd2UgbWFwCgkgIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTMtMTEtMTUgMjA6NTA6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg0Ni85MDZdIG1peGVyOiBoYW5kbGUgMC8xIGZyYW1lcmF0ZSBiZXR0ZXIgaW4gY2FwcwoKMjAxMy0xMS0xNSAyMDo0OTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg0NS85MDZdIGZpbHRlcjogaGFuZGxlIGNhcHNmZWF0dXJlcyBwcm9wZXJseQoKMjAxMy0xMS0xNCAxNTowODo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBbODQ0LzkwNl0gbWl4ZXI6IGdpdmUgYWNjZXNzIHRvIHRoZSBwYWRzIGF0IHJlbmRlciB0aW1lCgkgIGFsbG93cyB1cyB0byBtb3ZlIHRoZSB2aWRlbyBmcmFtZSBtYXBwaW5nIHNvbWV3aGVyZSBlbHNlCgoyMDEzLTExLTEzIDIzOjI0OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzg0My85MDZdIG1lbW9yeTogcHJvdmlkZSBjb3B5X2ludG9fdGV4dHVyZQoKMjAxMy0xMi0yNSAyMzozNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzg0Mi85MDZdIEZpeCBnc3RnbGNvbmZpZy5oLXJlbGF0ZWQgJ21ha2UgZGlzdGNoZWNrJyBpc3N1ZXMKCSAgRml4IHNyY2RpciB2cy4gYnVpbGRkaXIgaXNzdWUgaW4gZG9jcyBhbmQgJ2ZpbGVzIGxlZnQgYWZ0ZXIKCSAgZGlzY2xlYW4nIGlzc3VlIGZvciBnc3RnbGNvbmZpZy5oCgoyMDEzLTExLTMwIDA5OjUxOjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4NDEvOTA2XSBvc3g6IGFsbG93IHgxMS9nbHggYmFja2VuZCBhbmQgc2V0IGRlZmF1bHQgcnVudGltZSB0byBjb2NvYS9uc2dsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3NTcKCjIwMTMtMTItMTQgMTk6MTI6MDkgKzAxMDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIFs4NDAvOTA2XSBnbHZpZGVvbWl4ZXI6IFVzZSBjb3JyZWN0IGNvb3JkaW5hdGVzIGFmdGVyIHRoZSBzd2l0Y2ggZnJvbSBHTF9URVhUVVJFX1JFQ1RBTkdMRSB0byBHTF9URVhUVVJFXzJECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAxNzcKCjIwMTMtMTEtMzAgMTY6Mzg6MTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs4MzkvOTA2XSBjb2NvYTogYWxsb3cgdG8gY2FsbCBzZXRfd2luZG93X2hhbmRsZSBiZWZvcmUgdG8gY3JlYXRlIGdsY29udGV4dAoJICBTbyB0aGF0IGl0IGFjdHVhbGx5IG1ha2UgY29jb2EgdmlkZW9vdmVybGF5IGV4YW1wbGUgd29yayBhZ2Fpbi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3NTgKCjIwMTMtMTEtMTUgMTg6Mjg6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs4MzgvOTA2XSBnbDogVXNlIEdMX1RFWFRVUkVfMkQgaW5zdGVhZCBvZiBHTF9URVhUVVJFX1JFQ1RBTkdMRQoJICBXZSBjcmVhdGUgb3VyIHRleHR1cmVzIChpbiBEZXNrdG9wIEdMKSB3aXRoIEdMX1RFWFRVUkVfUkVDVEFOR0xFLAoJICB2YWFwaSBhdHRlbXB0cyB0byBiaW5kIG91ciB0ZXh0dXJlIHRvIEdMX1RFWFRVUkVfMkQgd2hpY2ggdGhyb3dzIGEKCSAgR0xfSU5WQUxJRF9PUEVSQVRJT04gZXJyb3IgYW5kIGFzIHRodXMsIG5vIHZpZGVvLgoJICBBbHNvLCBieSBtb3ZpbmcgZXhjbHVzaXZlbHkgdG8gR0xfVEVYVFVSRV8yRCBhbmQgdGhlIG5wb3QgZXh0ZW5zaW9uCgkgIHdlIGFsc28gcmVtb3ZlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBEZXNrdG9wIEdMIGFuZCBHTEVTMiBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjg3CgoyMDEzLTExLTA4IDEyOjEyOjI2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs4MzcvOTA2XSBjb2NvYTogcmVzaXplIE9wZW5HTCB2aWV3IHNpemUgZWFjaCB0aW1lIHRoZSB3aW5kb3cgaXMgcmVzaXplZAoJICBGaXhlcyBnbGl0Y2hlcyB0aGF0IGNhbiBhcHBlYXIgd2hlbiB0aGUgT3BlbkdMIHZpZXcgaGFzIG5vdCBiZWVuIHJlc2l6ZWQKCSAgYWZ0ZXIgYSB3aW5kb3cgcmVzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjcyCgoyMDEzLTExLTAxIDE2OjM1OjQ2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBbODM2LzkwNl0gY29jb2E6IG9ubHkgdXNlIEdTUmVnaXN0ZXJDdXJyZW50VGhyZWFkIHdpdGggR05VU3RlcCBlbnZpcm9ubWVudAoKMjAxMy0xMS0wNiAyMjoxNjoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgzNS85MDZdIGdzdGdsd2luZG93OiByZW1vdmUgdW51c2VkIGZpZWxkcwoKMjAxMy0xMS0wNiAyMjoxMzoyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgzNC85MDZdIGdzdGdsd2luZG93OiBjbGVhciBtdXRleAoKMjAxMy0xMS0wNiAyMjoxMjowMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MzMvOTA2XSBnc3RnbGNvbnRleHQ6IGluaXRpYWxpemUgd2luZG93IHRvIE5VTEwKCjIwMTMtMTEtMDYgMjE6NTk6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgzMi85MDZdIHgxMTogaWdub3JlIEV4cG9zZSBldmVudHMgbm90IGluaXRpYXRlZCBieSBnc3RfZ2xfd2luZG93X2RyYXcKCjIwMTMtMTEtMDYgMjE6NTU6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgzMS85MDZdIGdsaW1hZ2VzaW5rOiBhdm9pZCB0byBvdmVybG9hZCB0aGUgZHJhd2VyIGlmIGFscmVhZHkgZHJhd2luZwoJICBFc3BlY2lhbGx5IGlmIHRoZSBhcHBsaWNhdGlvbiBjYWxscyBnc3RfdmlkZW9fb3ZlcmxheV9leHBvc2UgYSBsb3QKCjIwMTMtMTAtMjMgMjE6NDY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODMwLzkwNl0gZ2x2aWRlb21peGVyOiBBZGQgYSBuZXcgc2ltcGxlIGdsdmlkZW9taXhlciBlbGVtZW50CgkgIHRoYXQgc2ltcGx5IHVzZXMgZ2xCbGVuZEZ1bmMgdG8gYmxlbmQgZWFjaCBpbXB1dCBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzE0CgoyMDEzLTEwLTIzIDIwOjM4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MjkvOTA2XSBtaXhlcjogZXJyb3Igb3V0IHByb3Blcmx5IG9uIGZsdXNoaW5nCgoyMDEzLTEwLTIyIDIxOjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzgyOC85MDZdIGNvbnRleHQ6IHJlZmNvdW50IHRoZSBkaXNwbGF5CgoyMDEzLTEwLTI2IDAyOjIwOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MjcvOTA2XSBtaXhlcjogZG9uJ3QgdW5yZWYgdGhlIHF1ZXJ5IGluIHRoZSBkZWZhdWx0IGNhc2UKCSAgVGhlIGVsZW1lbnQvYXBwbGljYXRpb24gcGVyZm9ybWluZyB0aGUgcXVlcnkgaXMgcmVzcG9uc2libGUgZm9yIHRoZQoJICBkZS9hbGxvY2F0aW9uCgoyMDEzLTEwLTI0IDIxOjI0OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODI2LzkwNl0gdXBsb2FkOiBmcmVlIG91ciBtdXRleAoKMjAxMy0xMC0xMSAxNjowMDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODI1LzkwNl0gZ2x3aW5kb3dfeDExOiBjaGVjayBpZiB0aGUgbG9vcCBleGlzdHMKCSAgSXQgaGFwcGVucyB3aGVuIGNhbGxpbmcgc2V0X3dpbmRvd19oYW5kbGUgYmVmb3JlIHRvIHJlYWNoIEdTVF9TVEFURV9SRUFEWS4KCSAgSW4gdGhpcyBjYXNlIHRoZSBwYXJlbnQgaXMgc2V0IHdoZW4gY3JlYXRpbmcgdGhlIGludGVybmFsIHdpbmRvdy4KCjIwMTMtMTAtMDEgMjM6NDc6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzgyNC85MDZdIGFuZHJvaWQ6IEJ1aWxkIGZpeGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3ODYKCjIwMTMtMTAtMDEgMTE6NDY6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzgyMy85MDZdIHdheWxhbmRfZWdsOiBtYWtlIHRoZSB3YXlsYW5kIGJhY2tlbmQgYWN0dWFsbHkgd29yayBvbiBSYXNwYmVycnkgUGkKCSAgRml4IHJlc2l6aW5nIGFuZCBjYW4gbm93IG1vdmUgdGhlIHdpbmRvdwoKMjAxMy0xMC0wMSAxMTo0NDowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzgyMi85MDZdIGdzdGdsY29udGV4dF9lZ2w6IGF2b2lkIG5vbiB3b3JraW5nIEVHTCBjb25mcyBvbiBycGkvd2F5bGFuZAoKMjAxMy0xMC0wMSAxMTo0MjoyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODIxLzkwNl0gdGVzdHM6IGZpeCB0ZXN0X3NoYXJlIG9uIEdMRVN2MgoKMjAxMy0xMC0wMSAxMToyNzowNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgyMC85MDZdIGdzdGdsd2luZG93OiBpZiBhdmFpbGFibGUgdXNlIHdheWxhbmQgaW5zdGVhZCBkaXNwbWFueCBvbiBycGkKCjIwMTMtMDktMjcgMDE6MTU6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs4MTkvOTA2XSBtYWtlIGdlbl90ZXh0dXJlL2RlbF90ZXh0dXJlIHRocmVhZHNhZmUKCSAgVXNlIHN0YWNrIGFsbG9jYXRlZCBpbnN0ZWFkIG9mIHN0YXRpYyB2YXJpYWJsZXMKCSAgQ29uZmxpY3RzOgoJICBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jCgoyMDEzLTA5LTI1IDEyOjI2OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODE4LzkwNl0gd2luZG93OiBhZGQgc2VuZF9tZXNzYWdlX2FzeW5jIHZtZXRob2QKCSAgLSBwcm92aWRlIGEgZGVmYXVsdCBzeW5jaHJvbm91cyBzZW5kX21lc3NhZ2UKCSAgLSBtYWtlIGNvbnRleHQgY3JlYXRpb24gdGhyZWFkc2FmZSBhZ2FpbgoKMjAxMy0wOS0yNCAxNjozNzoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbODE3LzkwNl0gbWFrZSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QgcGFzcwoKMjAxMy0wOS0yNCAxNDowNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODE2LzkwNl0geDExOiBmaXggbWFrZSBjaGVjayBzZWdmYXVsdAoKMjAxMy0wOS0yMCAxMTo1NTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODE1LzkwNl0gZml4IHNvbWUgcmVmY291bnQgZXJyb3JzCgoyMDEzLTA5LTIwIDExOjU0OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4MTQvOTA2XSBtaXhlcjogdGltZXN0YW1wIGJ1ZmZlcnMKCjIwMTMtMDktMTYgMTk6MDc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MTMvOTA2XSB1bnJlZiB0aGUgcG9vbCBvbiBzaHV0ZG93bgoKMjAxMy0wOS0xNSAxNDoyMzo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzgxMi85MDZdIG1vdmUgdGhlIEdMIHZ0YWJsZSBmcm9tIEdzdEdMRGlzcGxheSB0byBHc3RHTENvbnRleHQKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jCgoyMDEzLTA4LTIyIDE1OjU1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzgxMS85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIEdzdEdMQ29udGV4dCBhZGRpdGlvbgoKMjAxMy0wOS0yNiAxNDo0NjoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbODEwLzkwNl0gZ3N0Z2x1dGlsczogdXNlIGdsX3Z0YWJsZSBmb3IgZ2xEZWxldGVUZXh0dXJlcwoKMjAxMy0wOS0yNiAxNDo0MzoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODA5LzkwNl0gdGVzdHM6IHBvcnQgdGVzdF9zaGFyZSB0byBHTEVTMgoJICBBbHNvIGFkZCBhIGRlaW5pdCBmdW5jdGlvbiB0byByZWxlYXNlIGZibywgdGV4IGFuZCBzaGFkZXIuCgoyMDEzLTA5LTAzIDIyOjAzOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MDgvOTA2XSB4MTE6IHJlbW92ZSBkZWFkIGNvZGUKCjIwMTMtMDktMDMgMjE6NDk6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzgwNy85MDZdIGNvbnRleHQ6IE1vdmUgc29tZSB3aW5kb3cgZXJyb3IgZW51bXMgdG8gY29udGV4dAoKMjAxMy0wOC0zMCAwMDoyODowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzgwNi85MDZdIGVnbDogZG9lc24ndCByZXF1aXJlIHRoZSBFR0xDb25maWcgZnJvbSB0aGUgb3RoZXIgY29udGV4dAoJICBsaWJFR0wgc2hvdWxkIGdpdmUgdXMgdGhlIHNhbWUgb3Igc2ltaWxhciBFR0xDb25maWcgZnJvbSB0aGUKCSAgRUdMRGlzcGxheSB3ZSBoYXZlLgoKMjAxMy0wOC0zMCAwMDoyMjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs4MDUvOTA2XSBnbGZpbHRlcjogcmVuYW1lIGV4dGVybmFsLW9wZW5nbC1jb250ZXh0IHByb3AgdG8gb3RoZXItY29udGV4dAoJICBJdCBub3cgcmVxdWlyZXMgYSBHc3RHTENvbnRleHQgaW5zdGVhZCBvZiBhIGhhbmRsZQoKMjAxMy0wOC0zMCAxNTo1Mzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzgwNC85MDZdIHJwaTogY2FsbCBiY21faG9zdF9pbml0IGluIHBsdWdpbl9pbml0CgoyMDEzLTA4LTMwIDE0OjEyOjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MDMvOTA2XSByYXNwYmVycnlwaTogYWRkIHN1cHBvcnQgZm9yIGRpc3BtYW54CgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQyCgoyMDEzLTA4LTI5IDIwOjEyOjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MDIvOTA2XSBhZGQgR3N0R0xDb250ZXh0IHRlc3QgdGhhdCB0ZXN0cyBjb250ZXh0IHNoYXJpbmcKCjIwMTMtMDgtMjkgMjA6MTA6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbODAxLzkwNl0gY29udGV4dDogUmVpbXBsZW1lbnQgR0wgY29udGV4dCBzaGFyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ4MDYKCjIwMTMtMDgtMjggMTA6MzI6MjkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MDAvOTA2XSBnbGltYWdlc2luazogYXZvaWQgdG8gZHJhdyB0ZXh0dXJlIHdoaWxlIHJlbGVhc2luZyBzdG9yZWQgYnVmZmVyCgkgIFNwb3RlZCBieSBnZW5lcmljL2N1YmUgZXhhbXBsZSB3aXRoIENsaWVudERyYXdDYWxsYmFjayBzZXQgdG8KCSAgcmV0dXJuaW5nIFRSVUUgKGl0IG1lYW5zIGRyYXdpbmcgYXMgZmFzdCBhcyBwb3NzaWJsZSkKCjIwMTMtMDgtMjggMTA6MDc6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNzk5LzkwNl0gZ2xpbWFnZXNpbms6IGZpeCBhc3luY2hyb25lIGRyYXdpbmcKCSAgU2ltcGxpZnkgZ3N0X2dsaW1hZ2Vfc2lua19yZWRpc3BsYXkgd2hpY2ggaXMgdGhlcmUKCSAgb25seSB0byBhc2sgdGhlIHdpbmRvdyBmb3IgYSByZWRyYXcuCgkgIFB1dCBhIGxvY2sgdG8gbWFrZSBzdXJlIHdlIGFyZSBub3QgcmVhbGVhc2luZwoJICB0aGUgc3RvcmVkIGJ1ZmZlciB3aGlsZSBzdGlsbCBkcmF3aW5nIHRoZSBjb3JyZXNwb25kaW5nCgkgIHRleHR1cmUKCjIwMTMtMDgtMjIgMDA6Mjk6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSAgWzc5OC85MDZdIGJ1aWxkOiBpbnN0YWxsIG5lZWRlZCBoZWFkZXIKCjIwMTMtMDgtMjEgMTU6NDA6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc5Ny85MDZdIHgxMTogZml4IGJ1aWxkIGZvciBjbGFuZwoKMjAxMy0wOC0yMSAxNDowNTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIFs3OTYvOTA2XSBtb3ZlIGVnbCBpbnRvIGl0cyBvd24gZGlyZWN0b3J5CgoyMDEzLTA4LTIxIDEzOjU3OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkgIFs3OTUvOTA2XSBhbmRyb2lkOiBwb3J0IHRvIEdzdEdMQ29udGV4dAoJICBub3QgdGVzdGVkCgoyMDEzLTA4LTE1IDE3OjA5OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzc5NC85MDZdIGNvbnRleHQ6IGFkZCBzdWJjbGFzc2VzIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3JtcyAoZWdsLCBnbHgsIHdnbCwgZXRjKQoJICAtIG1vc3QgY29kZSB0YWtlbiBmcm9tIHRoZSBXaW5kb3cgc3ViY2xhc3NlcwoJICAtIHRlc3RlZCBjb21iaW5hdGlvbnM6IHhFR0wsIEdMWCwgV2F5bGFuZCtFR0wsIENvY29hICh1bmRlciBHTlVTdGVwKSwgV0dMIChXaW5lKQoKMjAxMy0wOC0xNCAxMDo0NDoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzkzLzkwNl0gYWRkIGEgR3N0R0xDb250ZXh0IG9iamVjdCB0aGF0IHdpbGwgYmUgdGhlIGJhc2lzIG9mIE9wZW5HTCBjb250ZXh0cwoJICBBdCB0aGUgbW9tZW50IGl0IGp1c3Qgc2l0cyBpbiBiZXR3ZWVuIEdzdEdMRGlzcGxheSBhbmQgR3N0R0xXaW5kb3cKCSAgcGVyZm9ybWluZyBzb21lIG9mIHRoZSBzdHVmZiB0aGF0IEdzdEdMV2luZG93IHVzZWQgdG8gZG8uCgoyMDEzLTA4LTEzIDIwOjEwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzc5Mi85MDZdIGJ1aWxkOiB1c2Ugb3VyIG93biBpbiB0cmVlIGhlYWRlcnMgYmVmb3JlIHN5c3RlbSBvbmVzCgkgIGFsbG93cyB1cyB0byBkZXZlbG9wIGFnYWluc3QgdGhlIHRyZWUgcmF0aGVyIHRoYW4gd2hhdCBtYXkgYmUgaW5zdGFsbGVkCgoyMDEzLTA4LTE2IDE2OjI5OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJICBbNzkxLzkwNl0gZ2x3aW5kb3cveDExOiByZW1vdmUgWDExRXZlbnRTb3VyY2UgYXMgc29vbiBhcyB0aGUgd2luZG93IGlzIGRlbGV0ZWQKCSAgZ3N0X2dsX3dpbmRvd194MTFfc2VuZF9tZXNzYWdlIGRvIG5vdCB1c2UgWFNlbmRFdmVudCBhbnltb3JlCgoyMDEzLTA4LTE2IDE1OjI2OjI4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzkwLzkwNl0gZ2xpbWFnZXNpbms6IHJldHJpZXZlIHdpbmRvdyBvbmx5IHdoZW4gY2xpZW50RHJhd0NhbGxiYWNrIHJldHVybiB0cnVlCgoyMDEzLTA4LTA3IDE3OjExOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc4OS85MDZdIGVnbDogQ3JlYXRlIGEgd2luZG93IHN1cmZhY2UgaWYgbmVjZXNzYXJ5CgoyMDEzLTA4LTA3IDExOjQ2OjQ5ICswMjAwICBUb251IEphYW5zb28gPGNoYWluQGJzZC5lZT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzg4LzkwNl0gb3N4OiBGaXggY29tcGlsYXRpb24KCjIwMTMtMDgtMDcgMTE6NDI6NDYgKzAyMDAgIFRvbnUgSmFhbnNvbyA8Y2hhaW5AYnNkLmVlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzg3LzkwNl0gZ2w6IFRoZSBHTFNMIHJlY3RhbmdsZSByZXNhbXBsZXIgZG9lcyBub3QgYWx3YXlzIHdvcmsgd2l0aCBpbnQgdGV4IGNvb3JkcwoJICBVc2UgZmxvYXRzIGluc3RlYWQuCgoyMDEzLTA3LTI0IDEzOjM1OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkgIFs3ODYvOTA2XSBnbHByb3RvdHlwZXM6IEFkZCBzdXBwb3J0IGZvciBOViBleHRlbnNpb25zIGZvciBEcmF3QnVmZmVycyBhbmQgUmVhZEJ1ZmZlcgoKMjAxMy0wNy0yNCAxMzozNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3ODUvOTA2XSBlZ2w6IFVzZSBFR0xfS0hSX3N1cmZhY2VsZXNzX2NvbnRleHQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIHVzZWxlc3Mgc3VyZmFjZSBpZiBhdmFpbGFibGUKCjIwMTMtMDctMjIgMTk6MDA6NDIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNzg0LzkwNl0gZ2xvdmVybGF5OiBhZGQgR19CRUdJTi9FTkQgZGVjbGFyYXRpb24KCjIwMTMtMDctMTkgMTY6Mjg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzgzLzkwNl0gZ2xpbWFnZXNpbms6IEZpeCBmb3JtYXQgc3RyaW5nIHdhcm5pbmcKCjIwMTMtMDctMTkgMTA6MDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3ODIvOTA2XSBnbGRvd25sb2FkOiBVc2Ugc3RybGVuKCkgaW5zdGVhZCBvZiBzaXplb2YoY2hhciopCgkgIGdzdGdsZG93bmxvYWQuYzo4NDY6MjI6IGVycm9yOiBhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtY3B5JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIHByb3ZpZGUgYW4gZXhwbGljaXQgbGVuZ3RoPyBbLVdlcnJvcj1zaXplb2YtcG9pbnRlci1tZW1hY2Nlc3NdCgoyMDEzLTA3LTE5IDE2OjQ4OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3ODEvOTA2XSBkb3dubG9hZDogcHJvcG9nYXRlIGVycm9ycyBmcm9tIHRoZSBHTCB0aHJlYWQKCjIwMTMtMDctMTggMjA6MjE6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzgwLzkwNl0gdXAvZG93bmxvYWQ6IGNoZWNrIHJldHVybiB2YWx1ZXMKCSAgU28gd2UgZmFpbCBwcm9wZXJseQoKMjAxMy0wNy0xOCAxOTozNzozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNzc5LzkwNl0gZG93bmxvYWQ6IHJlbW92ZSBfdGhyZWFkIHZhcmlhbnRzIG9mIHRoZSBBUEkKCjIwMTMtMDctMTggMTk6MzY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzc4LzkwNl0gdXBsb2FkOiByZW1vdmUgX3RocmVhZCB2YXJpYW50cyBvZiB0aGUgQVBJCgoyMDEzLTA3LTE4IDE5OjE3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc3Ny85MDZdIHVwbG9hZDogb3ZlcmhhdWwgYW5kIGFkZGl0aW9uIG9mIG5ldyB2aWRlbyBmb3JtYXRzCgkgIHVzZSB0aGUgc2hhZGVycyBmcm9tIGVnbGdsZXNzaW5rIChhZGFwdGVkIGZvciBEZXNrdG9wIEdMKQoJICBlcnJvciBvdXQgcHJvcGVybHkKCjIwMTMtMDctMTcgMjE6MTc6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc3Ni85MDZdIGRvd25sb2FkOiBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBtaXNzaW5nIHN0cmluZyBmb3JtYXQKCjIwMTMtMDctMTkgMDk6MjA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzc1LzkwNl0gY29uZmlndXJlOiBDaGVjayBmb3IgR0xlZ2xJbWFnZU9FUyBhbmQgb3RoZXJzIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0OTgKCjIwMTMtMDctMTggMjA6MjY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNzc0LzkwNl0gd2luMzI6IEZpeCBzb21lIGNvbXBpbGVyIGVycm9ycy93YXJuaW5ncwoKMjAxMy0wNy0xOCAwMTo0MjozMSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs3NzMvOTA2XSBnbGZpbHRlcnM6IE1hcmsgd3JpdGFibGUtb25seSBwcm9wZXJ0aWVzIGFzIHJlYWRhYmxlIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyOQoKMjAxMy0wNy0xOCAwMTo0MTowNSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzc3Mi85MDZdIGdsZmlsdGVyczogTWFyayB0aGVtIGFzIFZpZGVvIGZpbHRlcnMgaW4gdGhlaXIgY2xhc3NpZmljYXRpb24KCSAgSXQgbWFrZXMgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucyBsaWtlIHBpdGl2aSB0bwoJICB1c2UgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyOQoKMjAxMy0wNy0xNyAxMToyMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzc3MS85MDZdIGdsOiBTb21lIGxlc3MgbG9uZy91bG9uZy9ndWxvbmcgdXNhZ2UKCjIwMTMtMDctMTYgMTg6Mjg6MzMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs3NzAvOTA2XSB0ZXN0cy9leGFtcGxlczogcG9ydCBzb21lIG9mIHRoZSBleGFtcGxlcy4KCSAgVGhpcyBjb21taXQgaXMgYSBmaXJzdCBzdGVwLCByZW1vdmVzIGdsdXBsb2FkLCBzd2l0Y2ggbmV3LWRlY29kZWQtcGFkCgkgIHRvIHBhZC1hZGRlZCwgYnV0IHRoZXNlIGV4YW1wbGVzIHN0aWxsIGZhaWwgZm9yIHZhcmlvdXMgcmVhc29ucy4KCjIwMTMtMDctMTYgMTg6Mjc6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzc2OS85MDZdIHRlc3RzL2V4YW1wbGVzOiBmaXggYW5kIHBvcnQgc29tZSBvZiB0aGUgZXhhbXBsZXMuCgkgIFJlYWxpemUgd2lkZ2V0cywgcmVtb3ZlIGdsdXBsb2FkIGVsZW1lbnQuCgoyMDEzLTA3LTE2IDE2OjE3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3NjgvOTA2XSBnbHRlc3RzcmM6IEZpeCB1c2FnZSBvZiBGQk8gQVBJCgoyMDEzLTA3LTE2IDE0OjIyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3NjcvOTA2XSBnbGltYWdlc2luazogUmVtb3ZlIEdWYWx1ZSB1c2FnZSBmb3IgZnJhY3Rpb24gaGFuZGxpbmcKCjIwMTMtMDctMDQgMTA6MDE6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzc2Ni85MDZdIHV0aWxzOiBnZW5lcmF0ZSBhIFJHQkEgdGV4dHVyZSBpbiBhbGwgY2FzZXMKCjIwMTMtMDctMDMgMjE6MDE6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzc2NS85MDZdIHdheWxhbmQ6IHJlbW92ZSBmdWxsc2NyZWVuCgoyMDEzLTA3LTAzIDE0OjM3OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNzY0LzkwNl0gZmlsdGVyOiBmaXggcGFkIHRlbXBsYXRlIGNhcHMKCSAgdXBsb2FkIGlzIGZvciB0aGUgc2luayB0ZW1wbGF0ZQoJICBkb3dubG9hZCBpcyBmb3JtIHRoZSBzcmMgdGVtcGxhdGUKCjIwMTMtMDctMDMgMTQ6MTM6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs3NjMvOTA2XSBtZW1vcnk6IGNvcHkgcHJvcGVybHkgZGVwZW5kaW5nIG9uIHdoZXJlIHRoZSBtb3N0IHJlY2VudCBkYXRhIGlzCgoyMDEzLTA3LTE2IDE0OjExOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3NjIvOTA2XSBnbGltYWdlc2luazogRml4IHNvbWUgbWVtb3J5IGxlYWtzIGFuZCBwcm9wZXJseSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgoyMDEzLTA3LTE2IDEzOjI4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbNzYxLzkwNl0geDExOiBQcm90ZWN0IGV2ZW50IGRpc3BsYXkgY29ubmVjdGlvbiB3aXRoIGEgbXV0ZXgKCSAgV2UgdXNlIGl0IGZyb20gZGlmZmVyZW50IHRocmVhZHMgYW5kIG5lZWQgdG8gc2VyaWFsaXplIHRoZQoJICBhY2Nlc3NlcyB0byBpdC4KCjIwMTMtMDctMTYgMTM6MjM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3NjAvOTA2XSB4MTE6IEFsd2F5cyB1c2UgdGhlIHNhbWUgZGlzcGxheSBjb25uZWN0aW9uIGZyb20gdGhlIEdMIHRocmVhZAoJICBUaGUgb3RoZXIgZGlzcGxheSBjb25uZWN0aW9uIG1pZ2h0IGJlIHVzZWQgYnkgYXN5bmMgY2FsbHMgZnJvbSBlbHNld2hlcmUKCSAgYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0NwoKMjAxMy0wNy0xNSAyMTo0NDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1OS85MDZdIGdsZG93bmxvYWQ6ICNpZmRlZiBzb21lIEdMRVMyIHNwZWNpZmljIGNvZGUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDEzLTA3LTE1IDE4OjA3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBbNzU4LzkwNl0gYW5kcm9pZDogRG9uJ3QgcmVxdWlyZSBhIHdpbmRvdyB0byBiZSBzZXQKCSAgVGhpcyBhbGxvd3MgdGhlIGZpbHRlcnMgdG8gYmUgdXNhYmxlIHdpdGhvdXQgYSBHTCBzaW5rIGRvd25zdHJlYW0uCgoyMDEzLTA3LTE1IDE4OjAxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc1Ny85MDZdIGVnbDogQ3JlYXRlIGFuIG9mZnNjcmVlbiBzdXJmYWNlIGlmIG5vIHdpbmRvdyB3YXMgcHJvdmlkZWQKCjIwMTMtMDctMTUgMTc6MjA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTYvOTA2XSBnbGRvd25sb2FkOiBSZXNldCB0aGUgdmlld3BvcnQgYWZ0ZXIgZG93bmxvYWQgUkdCIHZpYSBHTEVTMgoKMjAxMy0wNy0xNSAxNzoxMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1NS85MDZdIGdsZG93bmxvYWQ6IFVuYmluZCBmcmFtZWJ1ZmZlciBhZnRlciBkb3dubG9hZGluZyBSR0Igd2l0aCBHTEVTMgoKMjAxMy0wNy0xNSAxNzowODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzc1NC85MDZdIGdsZG93bmxvYWQ6IEFkZCBzdXBwb3J0IGZvciBSR0IgcmVvcmRlcmluZyB3aGVuIHVzaW5nIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjA4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs3NTMvOTA2XSBnbGRpc3BsYXk6IFNlbmRpbmcgYSBtZXNzYWdlIGlzIHN5bmNocm9ub3VzLCB3ZSBjYW4gYWxsb2NhdGUgdGhlIG1lbW9yeSBvbiB0aGUgc3RhY2sKCjIwMTMtMDctMTUgMTU6NTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc1Mi85MDZdIGdsd2luZG93OiBBZGQgZGVzdHJveSBub3RpZmllcyBmb3IgdGhlIGRhdGEgb2YgdGhlIGNhbGxiYWNrcwoJICBBbmQgYWN0dWFsbHkgY2FsbCB0aGUgY2xvc2UgY2FsbGJhY2sgd2hlbiB0aGUgd2luZG93IGlzIGNsb3NlZC4KCjIwMTMtMDctMTUgMTU6MjU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzc1MS85MDZdIGdsZGlzcGxheTogRG9uJ3QgaG9sZCBsb2NrIHdoaWxlIHNlbmRpbmcgYSBtZXNzYWdlIHRvIHRoZSBHTCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0NwoKMjAxMy0wNy0xNSAxNDoxMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc1MC85MDZdIGdsdXBsb2FkOiBBZGQgc3VwcG9ydCBmb3IgUkdCIHJlb3JkZXJpbmcgd2hlbiB1c2luZyBHTEVTMgoKMjAxMy0wNy0xNSAwNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs3NDkvOTA2XSBnbHNoYWRlcjogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTMtMDctMTIgMTQ6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NDgvOTA2XSBnbHVwbG9hZDogR0xfU1RFTkNJTF9BVFRBQ0hNRU5UIGlzIG5lZWRlZCBmb3IgZGVza3RvcCBHTCwgbm90IEdMRVMKCjIwMTMtMDctMTIgMTQ6MjY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNzQ3LzkwNl0gZ2w6IENvbnN0aWZ5IFlVViBjb252ZXJzaW9uIHNoYWRlcnMKCjIwMTMtMDctMTIgMTQ6MjA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIFs3NDYvOTA2XSBhbmRyb2lkOiBBZGQgY29tbWVudCB0byBjbGFyaWZ5IHRoZSB0eXBlIG9mIGEgdmFyaWFibGUKCjIwMTMtMDctMTIgMTQ6MjA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNzQ1LzkwNl0gZ2w6IFNpbXBsaWZ5IGFuZCBvcHRpbWl6ZSBZVVYgY29udmVyc2lvbiBzaGFkZXJzIGEgYml0CgoyMDEzLTA3LTEyIDExOjM1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgWzc0NC85MDZdIGdsOiBVc2UgX19HU1RfR0xfSF9fIGluc3RlYWQgb2YgX19HTF9IX18gYXMgYSBtdWx0aS1pbmNsdWRlIGd1YXJkCgkgIEdML2dsLmggbWlnaHQgdXNlIHRoZSBsYXR0ZXIgYWxyZWFkeS4KCjIwMTMtMDctMTEgMjE6MzA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSAgWzc0My85MDZdIHdpbjMyOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIxOjIyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzc0Mi85MDZdIGNvY29hOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIxOjE3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzQxLzkwNl0gd2F5bGFuZDogRG9uJ3QgbGVhayBtYWluIGNvbnRleHQgYW5kIGxvb3AKCjIwMTMtMDctMTEgMjE6MTU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3NDAvOTA2XSB4MTE6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjA6NTg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MzkvOTA2XSB4MTE6IERvbid0IGxlYWsgbWFpbiBjb250ZXh0IGFuZCBtYWluIGxvb3AKCjIwMTMtMDctMTEgMjA6NTE6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzM4LzkwNl0gZ2w6IEluY2x1ZGUgZ2x1LmggYWZ0ZXIgZ2wuaAoKMjAxMy0wNy0xMSAxNjoyMTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MzcvOTA2XSBnbGltYWdlc2luazogUmVxdWVzdCBhbmQgc2V0IHRoZSB3aW5kb3cgaGFuZGxlIG11Y2ggZWFybGllcgoKMjAxMy0wNy0xMSAxNjowNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNzM2LzkwNl0gZ2xpbWFnZXNpbms6IEdpdmUgTUFSR0lOQUwgcmFuayB0byBiZSBhYmxlIHRvIGF1dG9wbHVnIGl0IGlmIG5vdGhpbmcgZWxzZSBpcyBhdmFpbGFibGUKCjIwMTMtMDctMTAgMTE6MzE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzczNS85MDZdIGdsOiBBZGQgc3VwcG9ydCBmb3IgQW5kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQwCgoyMDEzLTA3LTExIDExOjM3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIFs3MzQvOTA2XSB3aW4zMjogTWFrZSBhdXRvbWFrZSBoYXBweSBieSB1c2luZyBub2luc3RfSEVBREVSUwoKMjAxMy0wNy0xMSAxMTowMzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs3MzMvOTA2XSBnbDogTWFqb3IgaGVhZGVyIGFuZCBpbmNsdWRlIGNsZWFudXAKCjIwMTMtMDctMTAgMTY6MDM6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNzMyLzkwNl0gYnVpbGQ6IGZpeCByZXBlYXRlZCB0eXBlZGVmcwoJICBXcml0ZSBmb3J3YXJkIGRlY2xhcmF0aW9ucyBpbiBhbm90aGVyIHdheSB0byBhdm9pZAoJICByZXBlYXRlZCB0eXBlZGVmcyAiZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIi4KCSAgUmFpc2VkIHdoZW4gdXNpbmcgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgSXQgc2VlbXMgdGhhdCBDIGFwcGxlIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQKCSAgQzExIGZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM4ODUKCjIwMTMtMDctMTAgMTU6NDc6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3MzEvOTA2XSBjb2NvYTogZml4IGJ1aWxkIHdoZW4gR05VU1RFUCBpcyBub3QgZGVmaW5lZAoKMjAxMy0wNy0xMCAxMTozMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgWzczMC85MDZdIGdsY29tcGF0OiBQcm9wZXJseSBjaGVjayBmb3IgR0xjaGFyIGFuZCBvdGhlciB0eXBlcwoJICBPbiBBbmRyb2lkIGZvciBleGFtcGxlIHRoZXNlIGFyZSBubyAjZGVmaW5lcyBidXQgdHlwZWRlZnMKCjIwMTMtMDctMTAgMTE6MjQ6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzcyOS85MDZdIGdsOiBJbmNsdWRlIGNvbmZpZy5oIGV2ZXJ5d2hlcmUKCjIwMTMtMDctMDMgMTQ6MTM6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MjgvOTA2XSBnbGltYWdlc2luazogZml4IGZvciBnbGVzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTA4CgoyMDEzLTA3LTAzIDA5OjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJICBbNzI3LzkwNl0gZWdsOiBSZWZhY3RvciBFR0wgbG9naWMgaW50byBhIGhlbHBlciBvYmplY3QKCjIwMTMtMDctMDIgMjI6NDU6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNzI2LzkwNl0gd2luZG93OiBkb24ndCBjYWxsIGEgTlVMTCBkZXN0cm95IGZ1bmN0aW9uCgoyMDEzLTA3LTAyIDIyOjA2OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuaDoKCSAgWzcyNS85MDZdIHgxMTogdXNlIEdNYWluQ29udGV4dC9HTWFpbkxvb3AKCSAgYWxsb3dzIHVzIHRvIGJlIHJlZW50cmFudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDQ1CgoyMDEzLTA3LTAyIDE4OjMzOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3MjQvOTA2XSB3YXlsYW5kOiBtYWtlIHJlZW50cmFudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDQ1CgoyMDEzLTA3LTAxIDE0OjQzOjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzIzLzkwNl0gZ3N0Z2x3aW5kb3c6IGNsb3NlIGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIGdsdGhyZWFkLgoJICBJbmRlZWQgJ2dsWE1ha2VDdXJyZW50ICh3aW5kb3dfeDExLT5kZXZpY2UsIE5vbmUsIE5VTEwpOycKCSAgaGFzIHRvIGJlIGNhbGxlZCBpbiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBnbGNvbnRleHQgaXMgYWN0dWFsbHkKCSAgY3VycmVudC4KCSAgT3RoZXJ3aXNlIGdsWERlc3Ryb3lDb250ZXh0IG1heSBjcmFzaC4KCjIwMTMtMDctMDEgMDE6MzY6MzUgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3MjIvOTA2XSBnbDogRml4IGJ1aWxkIG9uIFdpbjMyCgkgIDEpIE5lZWQgdG8gaW5jbHVkZSBHTC9nbGV4dC5oIG9uIFczMiB0byBwcm92aWRlIG5lY2Vzc2FyeSBtYWNyb3MKCSAgMikgVzMyIG1hY3JvcyB0aGF0IHByZS1wcm9jZXNzb3IgaGFzIGJ5IGRlZmF1bHQgYXJlIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50CgkgIHRvb2xjaGFpbnMuIEJvcmxhbmQgdXNlcyBfX1dJTjMyX18sIGV2ZXJ5b25lIGVsc2UgaGFzIF9XSU4zMiwgc28gY2hlY2sgYm90aC4KCSAgU2lkZS1ub3RlOiBnbGV4dC5oIGlzIG5vdCBzdXBwbGllZCBieSBtaW5ndy13NjQgYXQgdGhlIG1vbWVudCwgYnV0IGNhbiBiZQoJICBkb3dubG9hZGVkIGZyb20gaHR0cDovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzY0CgoyMDEzLTA2LTI4IDExOjEwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzcyMS85MDZdIGdsZmlsdGVyOiBVc2UgdWludDY0IGZvciB0aGUgT3BlbkdMIGNvbnRleHQgcHJvcGVydHkKCSAgdWxvbmcvbG9uZyBwcm9wZXJ0aWVzIGFyZSBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZQoJICBmb3IgcG9ydGFiaWxpdHkgcmVhc29ucy4KCjIwMTMtMDYtMjggMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNzIwLzkwNl0gZXhhbXBsZXM6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTMtMDYtMjggMTE6MDA6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzE5LzkwNl0gZ2w6IEZpeCBjb21waWxhdGlvbiB3aXRoIEdMRVMyCgoyMDEzLTA2LTI4IDAwOjM0OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs3MTgvOTA2XSBzaGFkZXI6IG1ha2UgaXQgcG9zc2libGUgdG8gdW5yZWYgaW4gdGhlIG5vbi1HTCB0aHJlYWQKCjIwMTMtMDYtMjggMDA6MzE6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs3MTcvOTA2XSByZW1vdmUgb3V0ZGF0ZWQgY21ha2UgYnVpbGQgZmlsZXMKCjIwMTMtMDYtMTcgMTk6NDU6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs3MTYvOTA2XSB3YXlsYW5kOiBwcm9wZXJseSBjaG9vc2UgRUdMX1JFTkRFUkFCTEVfVFlQRQoJICBiYXNlZCBvbiB0aGUgZ2wgYXBpIHdlIGNob3NlCgoyMDEzLTA2LTE2IDIwOjQ3OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzcxNS85MDZdIGRpc3BsYXk6IGluaGVyaXQgZnJvbSB0aGUgcmlnaHQgb2JqZWN0IGNsYXNzCgoyMDEzLTA2LTE2IDIwOjQ0OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcxNC85MDZdIEFkZCBHc3RHTEZyYW1lYnVmZmVyIHRvIHJlcGxhY2UgX2Rpc3BsYXlfZ2VuX2ZibyBhbmQgZnJpZW5kcwoJICBUaGlzIHZlcnNpb24gaXMgc2ltcGx5IEFQSSBjb21wYXRpYmxlIHdpdGggX2Rpc3BsYXlfZ2VuX2Ziby4KCSAgVGhlIG5leHQgdmVyc2lvbiB3aWxsIGxpa2VseSByZXZhbXAgdGhlIEFQSQoKMjAxMy0wNi0xNiAyMDo0MToyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzcxMy85MDZdIHNoYWRlcjogbWFrZSBpdCBwb3NzaWJsZSB0byBjcmVhdGUgdGhlIG9iamVjdCBpbiBhIG5vbi1HTCB0aHJlYWQKCjIwMTMtMDYtMTYgMjA6Mzg6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzcxMi85MDZdIHdheWxhbmQ6IHNodXRkb3duIHByb3Blcmx5CgkgIFdlIGNhbm5vdCB1c2UgX2ZpbmFsaXplIGFzIHRoaXMgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIEdzdEdMV2luZG93J3MKCSAgX2ZpbmFsaXplLiAgVGhpcyBjYXVzZXMgdXMgdG8gdHJ5IGFuZCBwZXJmb3JtIG9wZXJhdGlvbnMgd2l0aCB0aGUKCSAgd2F5bGFuZCBzZXJ2ZXIgd2hlbiB0aGUgY29ubmVjdGlvbiBoYXMgYmVlbiBzZXZlcmVkLgoKMjAxMy0wNi0xNiAyMDozNzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzcxMS85MDZdIHdheWxhbmQ6IHN1cHBvcnQgY2hvb3NpbmcgRGVza3RvcCBHTCBhcyB0aGUgYXBpCgoyMDEzLTA2LTE2IDIwOjM0OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzEwLzkwNl0gd2luZG93OiBmYWlsIGlmIHRoZSB1c2VyIHNwZWNpZmllcyBhbiBHTCBhcGkgdGhhdCB3ZSBjYW5ub3Qgd29yayB3aXRoCgkgIEl0IHdvdWxkJ3ZlIGJlZW4gY2F1Z2h0IGxhdGVyIGluIGFuIGdfYXNzZXJ0IGFueXdheS4KCjIwMTMtMDYtMTMgMTg6MzM6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs3MDkvOTA2XSBkaXNwbGF5OiBzb21lIG1vcmUgY2xlYW51cHMKCjIwMTMtMDYtMTMgMTc6NTc6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzA4LzkwNl0gZGlzcGxheTogYSBjbGVhbnVwIGFuZCByZW1vdmFsIG9mIG9sZCBjb2RlCgoyMDEzLTA2LTEzIDE2OjU1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3MDcvOTA2XSBkaXNwbGF5OiBtb3ZlIGVycm9yX21lc3NhZ2UgdG8gdXRpbHMKCjIwMTMtMDYtMTMgMTY6MzE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MDYvOTA2XSBkaXNwbGF5OiBtb3ZlIGFjdGl2YXRlX2NvbnRleHQgaW50byB1dGlscwoKMjAxMy0wNi0xMyAxNjowNDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDUvOTA2XSB4MTE6IGRvbid0IHNodXRkb3duIGluIF9maW5hbGl6ZQoJICBUaGUgd2luZG93J3MgbG9vcCBjb3VsZCBiZSBzdGlsbCBydW5uaW5nIHdoZW4gX2ZpbmFsaXplIGlzIGNhbGxlZAoJICBhbmQgaWYgd2UgZGVzdHJveSB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGl0IHdpbGwgbmV2ZXIgYmUgY2xvc2VkLgoJICBBZGQgX29wZW4gYW5kIF9jbG9zZSB2ZnVuY3MgdG8gR3N0R0xXaW5kb3cgc28gdGhhdCBzdWJjbGFzc2VzIGNhbgoJICBzdGFydCB1cCBhbmQgc2h1dGRvd24gYXQgdGhlIHJpZ2h0IHRpbWUuCgoyMDEzLTA2LTEzIDE0OjM2OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzA0LzkwNl0gVXNlIGdzdF9vYmplY3RfW3VuXXJlZiBzbyB3ZSBjYW4gZ2V0IHJlZmNvdW50cyBpbiB0aGUgbG9nCgoyMDEzLTA2LTEzIDE0OjE4OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzAzLzkwNl0geDExOiBkb24ndCBzZWdmYXVsdCBpZiBkZXN0cm95X2NiIGlzIE5VTEwKCjIwMTMtMDYtMTIgMjM6MjE6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwMi85MDZdIHgxMTogZml4IHNlZ2ZhdWx0IGlmIHRoZSB4MTEgYmFja2VuZCBpcyBpbnN0YW50aWF0ZWQgYnV0IG5vdCB1c2VkCgoyMDEzLTA2LTEyIDIzOjE3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3MDEvOTA2XSBkaXNwbGF5OiBtb3ZlIGNvbnRleHQgY3JlYXRpb24gaW50byB3aW5kb3cKCjIwMTMtMDYtMTIgMDE6MDQ6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MDAvOTA2XSBkaXNwbGF5OiBtb3ZlIG1vc3Qgb2YgdGhlIGNvZGUgaW50byB1dGlscyBmb3Igc29ydGluZyBsYXRlcgoJICBUaGlzIGNvbnRhaW5zIGEgaGFjayB0aGF0IGVzc2VudGlhbGx5IHJlcXVpcmVzIG9uZSBHc3RHTERpc3BsYXkKCSAgcGVyIHByb2Nlc3MuCgoyMDEzLTA2LTExIDE4OjUwOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzY5OS85MDZdIGRpc3BsYXk6IHJlbW92ZSBsaXN0IG9mIHVwbG9hZCBhbmQgZG93bmxvYWQgb2JqZWN0cwoJICBhbmQgb25seSBjcmVhdGUgYW4gdXAvZG93bmxvYWQgb2JqZWN0IHdoZW4gbmVlZGVkLgoKMjAxMy0wNi0xMSAxMjoyNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNjk4LzkwNl0gbW92ZSBzaW5rLXNwZWNpZmljIHN0dWZmIGZyb20gR3N0R0xEaXNwbGF5IGludG8gZ2xpbWFnZXNpbmsKCjIwMTMtMDYtMTEgMTE6Mjc6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjk3LzkwNl0gZGlzcGxheTogYWxsb3cgdGhlIHVzZXIgdG8gdHJ5IGFuZCBjaG9vc2UgdGhlIEdMIGFwaSB3ZSB1c2UgdmlhIGVudiB2YXJpYWJsZQoJICBHU1RfR0xfQVBJPW9wZW5nbCxvcGVuZ2wzLGdsZXMyLGdsZXMzCgoyMDEzLTA2LTExIDExOjI2OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBbNjk2LzkwNl0gZ2xhcGk6IGZpeCBtZW1vcnkgbGVhayBmcm9tIG5vdCBmcmVlaW5nIGEgc3RyaW5nCgoyMDEzLTA2LTA0IDIyOjE4OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgWzY5NS85MDZdIGJ1aWxkOiByZW1vdmUgbGlidG9vbCB3YXJuaW5nIGFib3V0IC12ZXJzaW9uLWluZm8gbm90IHVzZWQgaW4gY29udmVuaWVuY2UgbGlicmFyaWVzCgoyMDEzLTA2LTA0IDIyOjE3OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzY5NC85MDZdIGJ1aWxkOiBhZGQgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDYtMDQgMjI6MTY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2OTMvOTA2XSB4MTFfZ2x4OiBhc2sgZm9yIGEgMy4wIEdMIENvbnRleHQKCSAgKGZhbGxpbmcgYmFjayBpZiBuZWVkZWQpCgoyMDEzLTA2LTAzIDE4OjE1OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs2OTIvOTA2XSB3aW5kb3dfeDExOiBhZGQgWEVycm9yIHRyYXBwaW5nCgkgIHNvbWUgZnVuY3Rpb25zIGluIEdMWCBjYW4gZmFpbCBpZiB0aGUgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc3VwcG9ydAoJICBjZXJ0YWluIGZlYXR1cmVzIHdlIGFzayBmb3IgKGkuZS4gR0wgMykgYnJpbmdpbmcgZG93biB0aGUgZW50aXJlCgkgIGFwcGxpY2F0aW9uCgoyMDEzLTA2LTAzIDE4OjEzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzY5MS85MDZdIGZlYXR1cmU6IG1ha2UgZ3N0X2dsX2NoZWNrX2V4dGVuc2lvbiBwdWJsaWMKCSAgcHJldmVudHMgZHVwbGljYXRpb24gb2YgY29kZSBvZiBleHRlbnNpb24gc3RyaW5nIHBhcnNpbmcgaW4gR3N0R0xXaW5kb3cncwoKMjAxMy0wNi0wMiAyMTo0NzoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2OTAvOTA2XSB3aW5kb3d4MTFnbHg6IHVzZSBmYmNvbmZpZ3MgaWYgc3VwcG9ydGVkCgoyMDEzLTA0LTI1IDEyOjA0OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjg5LzkwNl0gYnVtcGVyOiBuaWNlciBlcnJvciBmb3Igbm8gYnVtcG1hcCBmaWxlIHByb3ZlZGVkCgoyMDEzLTA0LTI0IDE0OjI1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY4OC85MDZdIGRpc3BsYXk6IHByb3Blcmx5IHNodXRkb3duIGlmIHdlIGVycm9yIGFmdGVyIGNvbnRleHQgY3JlYXRpb24KCSAgVGhlIF9maW5hbGl6ZSgpIGNvZGUgY2hlY2tzIHRvIHNlZSBpZiB0aGUgY29udGV4dCB3YXMgY3JlYXRlZCBiZWZvcmUKCSAgYXR0ZW1wdGluZyB0byBkZXN0cm95IGl0LiAgV2UgbmV2ZXIgZGlkIHNheSB0aGF0IHdlIGhhZCBjcmVhdGVkIHRoZSBjb250ZXh0LgoKMjAxMy0wNC0yNCAxNDoyNDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY4Ny85MDZdIGJ1bXBlcjogZXJyb3Igb3V0IHByb3Blcmx5IGlmIHdlIGNhbm5vdCBsb2FkIHRoZSBwbmcgZmlsZQoKMjAxMy0wNC0yNCAxNDoyMzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY4Ni85MDZdIGZpbHRlcnNoYWRlcjogZml4IHN0cmluZyBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDQtMjQgMTQ6MjI6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs2ODUvOTA2XSBmaWx0ZXI6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcKCjIwMTMtMDQtMjQgMTI6MTg6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjg0LzkwNl0gZGlzcGxheTogbGFjayBvZiBmb3JtYXQtc3RyaW5nIGNhdXNpbmcgYSBjb21waWxlciB3YXJuaW5nCgoyMDEzLTA0LTI0IDEyOjE3OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgWzY4My85MDZdIGZlYXR1cmU6IHJlbW92ZSBkb3VibGUgZnJlZQoKMjAxMy0wMy0xMSAxNTo1MTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs2ODIvOTA2XSBvdmVybGF5OiBmaXggdmlkZW8tdG9wIHByb3BlcnR5CgoyMDEzLTA2LTAyIDA3OjUyOjMwICswMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzY4MS85MDZdIHdpbjMyOiBmaXggZ2wgYXBpIGNhbGxzIG9uIDMyLWJpdAoJICB3aW4gaGFzIHRoZSBicmlnaHQgaWRlYSBvZiBoYXZpbmcgNSBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9ucy4KCSAgd2Ugc2hvdWxkIHByb2JhYmx5IHVzZSB0aGUgcmlnaHQgb25lIHNvIHdlIGRvbid0IGNyYXNoIGZyb20gc3RhY2sKCSAgY29ycnVwdGlvbi4KCjIwMTMtMDMtMTAgMTM6Mzc6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNjgwLzkwNl0gb3ZlcmxheTogdGVudGF0aXZlIHBvcnQgdG8gbmV3IEdzdEdMRnVuY3MgQVBJCgoyMDEzLTAzLTEwIDEzOjM0OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzY3OS85MDZdIG9wZW5nbDogZml4IHBsdWdpbnMgbm90IGJlaW5nIHJlZ2lzdGVyZWQgd2hlbiB0aGV5IHNob3VsZCBiZQoKMjAxMy0wMy0wOSAyMzozNjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkgIFs2NzgvOTA2XSB3aW5kb3dfd2luMzJfd2dsOiBpbXBsZW1lbnQgd2dsR2V0UHJvY0FkZHJlc3MgZm9yIGV4dGVuc2lvbiBmdW5jdGlvbnMKCjIwMTMtMDMtMDkgMjI6NTM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs2NzcvOTA2XSBtZW1vcnk6IGZpeCBHU0laRSBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgoyMDEzLTAzLTA5IDIyOjUzOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJICBbNjc2LzkwNl0gd2luZHdvX3dpbjMyOiBwb3J0IHRvIG5ldyBBUEkKCjIwMTMtMDMtMDkgMjI6NDc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2NzUvOTA2XSB1cGxvYWQ6IHByb3ZpZGUgbmljZXIgZGVidWdnaW5nCgoyMDEzLTAzLTA5IDIyOjQ1OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgWzY3NC85MDZdIGZlYXR1cmU6IHRyeSBhbmQgY2F0Y2ggbW9yZSBHTCBleHRlbnNpb24gZnVuY3Rpb25zCgkgIGlmIHdlIGRvbid0IGZpbmQgdGhlIGV4dGVuc2lvbiBpbiBjb3JlIEdMLCB0cnkgdGhlIGV4dGVuc2lvbiB2ZXJzaW9uIGFueXdheQoKMjAxMy0wMy0wOSAyMjozNzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2NzMvOTA2XSBmZWF0dXJlOiBhZGQgZ3N0cmVhbWVyIGxpY2Vuc2UKCjIwMTMtMDMtMDkgMjI6MDU6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjcyLzkwNl0gZGlzcGxheTogY29uc3RpZnkgR3N0R0xGdW5jcyAqZ2wKCjIwMTMtMDMtMDkgMjE6NTk6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs2NzEvOTA2XSB3aW4zMjogI2luY2x1ZGUgR0wvZ2xleHQuaCBvbiB3aW5kb3dzCgkgIGFsc28gYWRkIHNvbWUgR0wgZGVmYXVsdCB2YXJpYWJsZXMgaWYgc29tZSBHTCB0eXBlcyBhcmUgbm90IGRlZmluZWQKCjIwMTMtMDItMTggMjE6NDA6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs2NzAvOTA2XSBkaXNwbGF5OiByZXBsYWNlIGdsaWIgZGVwcmVjYXRlZCBhcGkKCjIwMTMtMDItMTIgMjM6NDg6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzY2OS85MDZdIHdpbmRvdzogc2VwZXJhdGUgb2JqZWN0IGNyZWF0aW9uIGFuZCBjb250ZXh0IGNyZWF0aW9uCgoyMDEzLTAyLTA0IDIxOjMwOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjY4LzkwNl0gc2hhZGVyOiBmaXggZ2xlczIgc2VnZmF1bHQKCjIwMTMtMDItMDQgMjE6Mjk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNjY3LzkwNl0gZmlsdGVyY3ViZTogZml4IGZvciBnbGVzMiBjb21waWxhdGlvbgoKMjAxMy0wMi0wMSAxODoyMDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNjY2LzkwNl0gc29iZWw6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAyLTAxIDAwOjA4OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNjY1LzkwNl0gbW9zYWljOiBmaXggYSBjb3VwbGUgb2YgYXNzZXJ0aW9ucwoKMjAxMy0wMi0wMSAwMDowNjo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY2NC85MDZdIGZpbHRlcnNoYWRlcjogaW1wcm92ZSBlcnJvciBjaGVja2luZwoKMjAxMy0wMS0zMSAyMzo1MTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY2My85MDZdIGZpbHRlcnNoYWRlcjogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzo0NjozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzY2Mi85MDZdIGxhcGxhY2lhbjogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzo0Mzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJICBbNjYxLzkwNl0gZ2xhc3M6IHBvcnQgdG8gbm9uLWdsZXcgKyBzaGFkZXIgbWF0cmljZXMKCjIwMTMtMDEtMzEgMjM6Mzk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNjYwLzkwNl0gY3ViZTogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6MzQ6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNjU5LzkwNl0gYmx1cjogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6MzI6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzY1OC85MDZdIG1peGVyOiBmaXggZW9zIHRpbWVzdGFtcCBjaGVjawoKMjAxMy0wMS0zMSAyMzozMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzY1Ny85MDZdIGZpbHRlcmFwcDogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzoyOToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY1Ni85MDZdIGJ1bXBlcjogdXNlIERyYXdFbGVtZW50cyBmb3Igc2VtaS1jb21wYXRhYmlsaXR5IHdpdGggRVMKCSAgYWxzbyBHTF9RVUFEUyBpc24ndCBhdmFpbGFibGUgd2l0aCBFUyBjb250ZXh0cwoKMjAxMy0wMS0xNyAyMzo0NTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNjU1LzkwNl0gZG93bmxvYWQ6IHJlbW92ZSBlcnJvbm91cyBSZWFkQnVmZmVyIGNhbGwKCSAgLSBpdCB3YXMgY2F1c2luZyBzZWdmYXVsdHMgaW4gbWVzYQoJICAtIHdlIGRpZG4ndCBzZXQgdGhlIHJlYWRidWZmZXIgc28gd2Ugc2hvdWxkbid0IHJlc2V0IGl0CgoyMDEzLTAxLTE3IDIzOjE3OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNjU0LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBwb3J0IHRvIG5vbi1HTEVXCgoyMDEzLTAxLTE3IDIzOjE2OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs2NTMvOTA2XSBkZWludGVybGFjZTogcG9ydCB0byBub24tR0xFVyArIGFycmF5cwoKMjAxMy0wMS0xNyAyMzoxNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY1Mi85MDZdIGJ1bXBlcjogcG9ydCB0byBub24tR0xFVyArIGFycmF5cwoKMjAxMy0wMS0xNyAyMzoxMjozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzY1MS85MDZdIHVwL2Rvd25sb2FkOiBmaXggc29tZSB0eXBvcyB3aGVuIHJlbW92aW5nIEdMRVcKCjIwMTMtMDEtMTYgMjI6NDE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs2NTAvOTA2XSBmaWx0ZXI6IGZpeCBfZHJhd190ZXh0dXJlKCkncyB3cm9uZyB2ZXJ0aWNlcwoKMjAxMy0wMS0xNiAyMjoyNzoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSAgWzY0OS85MDZdIGVmZmVjdHM6IGZpeGVzIGZvciBtaXJyb3IoMSkgYW5kIHNxdWVlemUoMikgcHJvZHVjaW5nIGJsYWNrCgoyMDEzLTAxLTE2IDE1OjIzOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs2NDgvOTA2XSB0ZXN0cy9leGFtcGxlczogcmVtb3ZlIGRlcGVuZGVuY3kgb24gZ2xldwoKMjAxMy0wMS0xNiAxNToyMTo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs2NDcvOTA2XSByZW1vdmUgZGVwZW5kZWN5IG9uIGdsZXcKCjIwMTMtMDEtMTMgMDA6MDk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIFs2NDYvOTA2XSBzb21lIGdsIGhlYWRlciBmaXhlcy9hZGRpdGlvbnMKCjIwMTMtMDEtMTAgMTM6MzI6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjQ1LzkwNl0gZml4IGdsZXMyIGNvbXBpbGF0aW9uCgoyMDEzLTAxLTEwIDEwOjU3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC8uZ2l0aWdub3JlOgoJICBbNjQ0LzkwNl0gdXBkYXRlIC5naXRpZ25vcmUgZm9yIHNvbWUgbmV3IGZpbGVzCgoyMDEzLTAxLTEwIDAxOjQ0OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNjQzLzkwNl0gZGlzcGxheTogcHJpdmF0aXNlIG1vc3Qgb2YgdGhlIHN0cnVjdAoKMjAxMy0wMS0xMCAwMToxMzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs2NDIvOTA2XSBhZGQgZ3N0Z2xjb25maWcuaCBmb3IgYXBwcyB0byBmaW5kIG91dCB3aGF0IG91ciBjYXBhYmlsaXRlcyBhcmUKCSAgaWUgbGliZ3N0Z2wgY2FuIGJlIGNvbXBpbGVkIHdpdGggYW55IGNvbWJpbmF0aW9uIG9mIG9wZW5nbC9nbGVzMgoKMjAxMy0wMS0xMCAwMDozMDowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NDEvOTA2XSBkaXNwbGF5OiBmZWF0dXJlIGNoZWNrIGZvciBHTCBleHRlbnNpb24gZnVuY3Rpb25zCgoyMDEzLTAxLTEwIDAwOjI1OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzY0MC85MDZdIGJ1aWxkOiBhZGQgbWlzc2luZyBmaWxlIHRvIGJ1aWx0IHNvdXJjZXMKCjIwMTMtMDEtMTAgMDA6MjM6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjM5LzkwNl0gYWRkIGdldF9wcm9jX2FkZHJlc3MgaW1wbGVtZW50YXRpb25zIGZvciBlZ2wgYW5kIGdseAoKMjAxMy0wMS0wOCAxNzo0MDozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs2MzgvOTA2XSB3aW5kb3c6IGFkZCBnZXRfcHJvY19hZGRyZXNzICsgc3R1YiBmb3IgcmV0cmlldmluZyBnbCBmdW5jdGlvbnMKCjIwMTMtMDEtMDggMTc6Mzg6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJICBbNjM3LzkwNl0geDExX2VnbDogYWRkIHByZWxpbSBzdXBwb3J0IGZvciBjaG9vc2luZyBvcGVuZ2wgb3IgZ2xlcwoKMjAxMy0wMS0wOCAxNzozNjoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjM2LzkwNl0gd2luZG93X3gxMTogY29tcGFjdCBkZWJ1ZyBpbmZvCgoyMDEzLTAxLTA3IDE0OjA4OjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYzNS85MDZdIGZpeHVwIGNvbXBpbGUgZXJyb3JzCgoyMDEyLTEyLTE5IDE0OjU0OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs2MzQvOTA2XSB3YXlsYW5kIGVnbDogZGVhY3RpdmF0ZSBjb250ZXh0IGJlZm9yZSB3ZSBkZXN0cm95IGl0CgkgIGF2b2lkcyBhIHNlZ2ZhdWx0IHdpdGggZHJpIGRyaXZlcnMKCjIwMTItMTItMTkgMTQ6MzI6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjMzLzkwNl0gZGlzcGxheTogZmFpbCBwcm9wZXJseSBpbiBjb250ZXh0IGNyZWF0aW9uIGluIG9yZGVyIHRvIG1pbmltaXplIGEgcmFjZSBjb25kaXRpb24KCSAgcHJldmlvdXNseSwgb24gY29udGV4dCBjcmVhdGlvbiwgd2hlbiB3ZSBmYWlsZWQgdG8gZ2V0IGEgdmFsaWQgY29udGV4dAoJICB3ZSB3b3VsZCBzdGlsbCBhdGVtcHQgdG8gcnVuIHRoZSB3aW5kb3cgbWFpbmxvb3AgYXMgd2VsbCBhcyBzZXR0aW5nIGFuIGVycm9yCgkgIG9uIHRoZSBkaXNwbGF5LiBUaGlzIHdvdWxkIGNhdXNlIHRoZSBjYWxsaW5nIGVsZW1lbnQgdG8gZmluYWxpemUgdGhlIGRpc3BsYXkKCSAgYW5kIHRoZXJlZm9yZSBhdHRlbXB0IHRvIHF1aXQgdGhlIHdpbmRvdyBtYWlubG9vcC4gIEhvd2V2ZXIgdGhlIG1haW5sb29wCgkgIG1heSBub3QgaGF2ZSBzdGFydGVkIHJ1bm5pbmcuICBUaHVzIHdoZW4gdGhlIHdpbmRvdyBtYWlubG9vcCByYW4gaXQgd291bGQKCSAgbmV2ZXIgYSBnZXQgYSBxdWl0IG1lc3NhZ2UgYW5kIG5ldmVyIGVuZC4KCjIwMTItMTItMTggMTg6MzE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNjMyLzkwNl0gcmVtb3ZlIHN0cmF5ICkKCSAgVGhlIHJlc3QgaXMgaW5kZW50IHN0dWZmIGZyb20gdGhlIHN0cmF5ICkKCjIwMTItMTItMTggMTg6Mjk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIFs2MzEvOTA2XSByZW1vdmUgcmVkZWZpbml0aW9uIHdhcm5pbmdzIGluIGNvbXBpbGluZyB0ZXN0cwoKMjAxMi0xMi0wOSAwOTozMjo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYzMC85MDZdIGRpc3BsYXk6IGFkZCBnbCBhcGkgY2hlY2tpbmcKCSAgaS5lLiBjaGVjayBmb3IgY2FzZXMgd2hlcmUgdGhlIHdpbmRvdyB3YW50cyBhIGRpZmZlcmVudCBBUEkgdGhhbgoJICB3aGF0IHRoZSBsaWJyYXJ5IHdhcyBjb21waWxlZCB3aXRoCgoyMDEyLTEyLTA5IDA5OjMwOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjI5LzkwNl0gd2luZG93OiBhZGQgR0Vycm9yIGZvciBlcnJvciBoYW5kbGluZyBvZiBjb250ZXh0IGNyZWF0aW9uCgoyMDEyLTEyLTA5IDA5OjA0OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjI4LzkwNl0gc2hhZGVyIGZpbHRlcjogZG9uJ3QgZG8gYW55dGhpbmcgaWYgd2UgZG9uJ3QgaGF2ZSBhIHNoYWRlciBmaWxlCgoyMDEyLTEyLTA3IDEzOjMyOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjI3LzkwNl0gc2hhZGVyOiBjaGVjayBmb3IgaW52YWxpZCBvYmplY3RzCgoyMDEyLTEyLTA3IDAwOjIwOjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzYyNi85MDZdIGZpeCBidWlsZCBmYWlsdXJlIGZyb20gdW5kZWZpbmVkIG1hY3JvCgoyMDEyLTEyLTA3IDAwOjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvUkVBRE1FOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MjUvOTA2XSBhZGQgdnRhYmxlIGZvciBvcGVuZ2wgZnVuY3Rpb25zCgkgIFRoZSB2dGFibGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIG9uZSB0byBjb21waWxlIChidXQgbm90IGxpbmspCgkgIGFnYWluc3QgYm90aCBPcGVuR0wgYW5kIEdMfEVTIGFuZCBzdGFydHMgdGhlIG1vdmUgYXdheSBmcm9tIEdMRVcKCjIwMTItMTItMDYgMTg6NDA6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNjI0LzkwNl0gT1BFTkdMX0VTMiA9PiBIQVZFX0dMRVMyIGFuZCBhZGQgSEFWRV9PUEVOR0wKCSAgdXNlIEdzdEdMQVBJIHRvIGRldGVybWluZSB3aGljaCBjb2RlIHBhdGhzIHRvIGV4ZWN1dGUuCgkgIHBlcmZvcm0gc29tZSBjbGVhbnVwcwoKMjAxMi0xMi0wNiAxNzo0MDo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjIzLzkwNl0gbW92ZSBHTCBpbmNsdWRlcyBpbnRvIGEgc2luZ2xlIGZpbGUKCjIwMTItMTItMDUgMTc6MjM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs2MjIvOTA2XSBhZGQgbWlzc2luZyBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQgZm9yIGdsZXMyIGNvbXBhdGFiaWxpdHkKCjIwMTItMTItMDMgMTU6MDQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjEvOTA2XSBHc3RHTFJlbmRlcmVyQVBJID0+IEdzdEdMQVBJIGFuZCBnZXQgR3N0R0xBUEkgZnJvbSBhIHdpbmRvdwoKMjAxMi0xMS0zMCAxNzowOToyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBbNjIwLzkwNl0gd2F5bGFuZF9lZ2w6IGF0dGVtcHQgYXQgcmVzaXppbmcgdGhlIHZpZGVvCgoyMDEyLTExLTI5IDEzOjA2OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkgIFs2MTkvOTA2XSBmaXggdHlwbyBmb3Igd2luMzIgZGVidWcgdmFyaWFibGVzCgoyMDEyLTExLTI5IDAxOjAxOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJICBbNjE4LzkwNl0gYWRkIHdheWxhbmQtZWdsIHdpbmRvdyBiYWNrZW5kCgoyMDEyLTExLTIwIDAwOjE1OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MTcvOTA2XSBmaXggJ3NldCBidXQgbm90IHVzZWQnIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTExLTE5IDIyOjU0OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjE2LzkwNl0gbW92ZSB3aW5kb3ctc3BlY2lmaWMgY29kZSBpbnRvIHNlcGVyYXRlIHN1YmZvbGRlcnMKCjIwMTItMTEtMTkgMjE6NTI6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJICBbNjE1LzkwNl0gcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgV2luMzIgRUdMCgoyMDEyLTExLTE4IDAxOjIzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYxNC85MDZdIHRyeSBHTFggZmlyc3Qgd2hlbiB1c2luZyBBTlkgfCBPUEVOR0wgfCBPUEVOR0wzCgoyMDEyLTExLTE4IDAxOjE2OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNjEzLzkwNl0gd2luZG93X2NvY29hOiBmaXggc2VnZmF1bHQgd2l0aCBnc3QtbGF1bmNoLTEuMCAtZSAuLi4gYW5kIHNlbmRpbmcgU0lHSU5UIChDdHJsLUMpCgkgIEdOVXN0ZXAgaGFzIGEgc2lnbmFsIGhhbmRsZXIgZm9yIFNJR0lOVCB3aGljaCBydW5zIGluIHRoZSBtYWluIHRocmVhZC4KCSAgSG93ZXZlciB0aGF0IHRocmVhZCBoYXMgbmV2ZXIgYmVlbiAncmVnaXN0ZXJlZCcgd2l0aCBHTlVzdGVwIHNvCgkgIHRoZSBhdXRvcmVsZWFzZSBtYWdpYyBvZiBvYmplY3RpdmUtYyBjYXVzZXMgYSBzZWdmYXVsdCBmcm9tIGFjY2Vzc2luZwoJICBhIG51bGwgTlNUaHJlYWQgb2JqZWN0IHNvbWV3aGVyZSBkZWVwIGluIEdOVXN0ZXAuCgoyMDEyLTExLTE2IDE4OjAxOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzYxMi85MDZdIHJlbW92ZSBHTlVzdGVwIG1ha2VmaWxlcwoKMjAxMi0xMS0xNiAxNzoxMzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs2MTEvOTA2XSBjb2NvYSBwb3J0IG9mIGRldGVybWluaW5nIGdsIHBsYXRmb3JtIGF0IHJ1bnRpbWUKCjIwMTItMTEtMTUgMjE6NDY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzYxMC85MDZdIFdpbmRvd1gxMUVHTDogcmVtb3ZlIGdldF9wbGF0Zm9ybSBjYWxsCgoyMDEyLTExLTE1IDEzOjE3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkgIFs2MDkvOTA2XSB3aW4zMiBwb3J0IG9mIGRldGVybWluaW5nIEdMIHBsYXRmb3JtIGF0IHJ1bnRpbWUKCSAgLSBhZGQgR3N0R0xXaW5kb3dXaW4zMiBhbmQgR3N0R0xXaW5kb3dXaW4zMldHTCBhbG9uZyB0aGUgc2FtZSBsaW5lcyBhcyB0aGUKCSAgWDExIHZhcmlhbnRzCgoyMDEyLTExLTE0IDIwOjM5OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJICBbNjA4LzkwNl0gYWRkIEdTVF9HTF9QTEFURk9STV9BTlkgZm9yIGNob29zaW5nIGFueSBwbGF0Zm9ybQoKMjAxMi0xMS0xNCAyMDozNjoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjA3LzkwNl0gcmVtb3ZlIGdldF9wbGF0Zm9ybSBhbmQgZ2V0X3dpbmRvd19oYW5kbGUgdmZ1bmNzCgkgIC0gcmVuYW1lIGNob29zZV92aXN1YWwoKSB0byBjaG9vc2VfZm9ybWF0KCkgZm9yIGxhdGVyIGluY29ycG9yYXRpbmcKCSAgd2luMzIgY2hhbmdlcyBhbmQgbmV3IEdzdEdMUGxhdGZvcm0gZm9yIFdHTCwgRUdMLCBHTFgsIGV0Yy4KCjIwMTItMTEtMTMgMjI6MTI6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjA2LzkwNl0gZGV0ZXJtaW5lIHRoZSBHTCBwbGF0Zm9ybSB0byB1c2UgYXQgcnVudGltZQoJICAtIE1ha2UgR3N0R0xXaW5kb3cgc3ViY2xhc3NhYmxlcmF0aGVyIHRoYW4gc3BlY2lmaWVkIGF0IGNvbXBpbGUgdGltZS4KCSAgLSBBZGQgR3N0R0xXaW5kb3dYMTEgZm9yIHgxMSB3aW5kb3dzIGFuZCB0d28gc3ViY2xhc3NlcywgR3N0R0xXaW5kb3dYMTFHTFgKCSAgYW5kIEdzdEdMV2luZHdYMTFFR0wgZm9yIEdMWCBhbmQgRUdMIHJlcGVjdGl2ZWx5LiAod2luMzIgYW5kIGNvY29hCgkgIHBvcnRzIHRvIGNvbWUpCgkgIC0gQWxzbyBjbGVhbnVwIEdMIGxpYnJhcnkgZGV0ZWN0aW9uIGluIGNvbmZpZ3VyZS5hYwoKMjAxMi0xMi0wMiAxNDo1ODoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzYwNS85MDZdIHNoYWRlcjogbW92ZSB0byBnc3QgZGVidWdnaW5nCgoyMDEyLTExLTIxIDEzOjM0OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzYwNC85MDZdIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YSgpCgoyMDEyLTExLTA4IDIyOjUzOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNjAzLzkwNl0gdXBkYXRlIEZTRiBhZGRyZXNzCgoyMDEyLTExLTA0IDE5OjE1OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs2MDIvOTA2XSBoaWRlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIHdpdGggbmV3ZXIgY2x1dHRlciB2ZXJzaW9ucwoKMjAxMi0xMC0xMSAwMDoyNDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzYwMS85MDZdIGZpeCB0eXBvIGNhdXNpbmcgc2hhZGVyIGNvbXBpbGF0aW9uIGZhaWx1cmUgZm9yIHVwbG9hZGluZyBJNDIwCgoyMDEyLTA5LTI3IDE1OjUzOjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs2MDAvOTA2XSBkb2NzOiBhZGQgZG9jcyBmb3IgbmV3IG9iamVjdHMgYW5kIGV4cGFuZCBvbiBzb21lIGV4aXN0aW5nIG9uZXMKCjIwMTItMDktMjYgMDc6MTg6NTMgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs1OTkvOTA2XSBHTHxFUzI6IGZpeCB0eXBvcyBmcm9tIHJlY2VudCBjaGFuZ2VzIGFuZCBtYWtlIGRvd25sb2FkaW5nIFJHQiBmb3JtYXRzIHdvcmsgYWdhaW4KCjIwMTItMDktMjUgMTk6MjY6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzU5OC85MDZdIGV4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gb2YgY2x1dHRlcnNoYXJlCgoyMDEyLTA5LTI1IDE4OjEzOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs1OTcvOTA2XSB0ZXN0czogYWRkIHNvbWUgc2ltcGxlIHBpcGVsaW5lIHRlc3RzIHRvIGNoZWNrCgoyMDEyLTA5LTI1IDE4OjA3OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTk2LzkwNl0gY29sb3JzY2FsZTogcG9ydCBvdmVyIHRvIGZpbHRlciBiYXNlIGNsYXNzCgoyMDEyLTA5LTI1IDE4OjA2OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1OTUvOTA2XSB1cGRhdGUgZm9yIGZpbHRlciBBUEkgY2hhbmdlCgkgIGdsZWZmZWN0cyBuZWVkZWQgYSBzaW1pbGFyIGNoYW5nZQoKMjAxMi0wOS0yNSAxNzo1OToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1OTQvOTA2XSBmaWx0ZXI6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMgYW5kIHNjYWxpbmcgZml4ZXMKCjIwMTItMDktMjUgMTY6MDM6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzU5My85MDZdIHRlc3RzcmMvaW1hZ2VzaW5rOiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzCgoyMDEyLTA5LTI1IDE2OjAxOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTkyLzkwNl0gbWVtb3J5OiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzCgoyMDEyLTA5LTI1IDE2OjAwOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1OTEvOTA2XSBtaXhlcjogc2F2ZSB0aGUgdXBsb2FkIG9iamVjdCBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGZvciBpdCBldmVyeSBmcmFtZQoKMjAxMi0wOS0yNSAxNToyMDoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTkwLzkwNl0gdXAvZG93bmxvYWQ6IGZpeCBzY2FsaW5nIG9uIHRyYW5zZmVyCgkgIGkuZS4gdXBsb2FkaW5nIGZyb20gYSAxMHgxMCB2aWRlbyBmcmFtZSB0byBhIDIweDIwIHRleHR1cmUgaW50byBhbm90aGVyIDMweDMwIHZpZGVvZnJhbWUKCjIwMTItMDktMjAgMjM6NDU6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1ODkvOTA2XSBSZXZlcnQgIkdMQ29sb3JzY2FsZTogY29udmVydCB0byBhIGJpbiBvZiBnbHVwbG9hZCAhIGdsZG93bmxvYWQiCgkgIFRoZSBlbGVtZW50cyBubyBsb25nZXIgZXhpc3Qgc28gd2UgaGF2ZSB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50CgoyMDEyLTA5LTIwIDIzOjQxOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzU4OC85MDZdIG1vc2FpYzogdXBkYXRlIGZvciBtaXhlciBjaGFuZ2VzIGFuZCBjb252ZW5pZW5jZSBBUEkKCjIwMTItMDktMjAgMjM6Mjc6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzU4Ny85MDZdIG1peGVyOiBtaXJyb3IgdGhlIGNoYW5nZXMgZG9uZSBmb3IgZmlsdGVyCgoyMDEyLTA5LTIwIDIzOjIxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1ODYvOTA2XSBmaXggdXAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIGdldCB0aGVtIGludG8gdGhlIHJpZ2h0IGNhdGVnb3JpZXMKCjIwMTItMDktMjAgMjM6MjA6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1ODUvOTA2XSBnbHRlc3RzcmM6IHVwZGF0ZSBmb3IgbmV3IEdMRG93bmxvYWQgaW4gbGlicwoKMjAxMi0wOS0yMCAyMzoxNjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1ODQvOTA2XSBnbGltYWdlc2luazogdXBkYXRlIGZvciBuZXcgR0xVcGxvYWQgb2JqZWN0IGluIGxpYnMKCjIwMTItMDktMjAgMjM6MDY6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbNTgzLzkwNl0gZGVpbnRlcmxhY2U6IGNoYW5nZSBmb3IgbmV3IEFQSQoJICBhbHNvIGFsbG93IGVsZW1lbnRzIHRvIGNhbGwgdGhlIF9maWx0ZXJfdGV4dHVyZSB2ZnVuYyBpZiB0aGV5IHdhbnQKCjIwMTItMDktMjAgMjM6MDM6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTgyLzkwNl0gZmlsdGVyczogY2hhbmdlcyBmb3IgbmV3IEFQSQoKMjAxMi0wOS0xOSAwMDozMjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1ODEvOTA2XSBmaWx0ZXI6IGFkZCBzZXBlcmF0ZSBmaWx0ZXIgZnVuY3Rpb24gZm9yIG9wZXJhdGluZyBvbiB0ZXh0dXJlcyBpbnN0ZWFkIG9mIGJ1ZmZlcnMKCjIwMTItMDktMTkgMDA6Mjk6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIFs1ODAvOTA2XSBidWZmZXJwb29sOiByZW1vdmUgb2JzZWxldGUgZ2wgbWV0YSBidWZmZXIgcG9vbCBvcHRpb25zCgoyMDEyLTA5LTE4IDIxOjQyOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1NzkvOTA2XSBkb3dubG9hZDogZml4IFlWMTIgZm9ybWF0CgkgIHNhbWUgYXMgSTQyMCBidXQgcGxhbmUgMSsyIHN3YXBwZWQKCjIwMTItMDktMTggMjE6Mzk6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTc4LzkwNl0ge3VwLGRvd259bG9hZDogYWRkIHZhcmlhbnRzIHRoYXQgY2FuIGJlIGNhbGxlZCBpbiB0aGUgZ2wgdGhyZWFkCgoyMDEyLTA5LTE3IDEwOjM3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzU3Ny85MDZdIHJlbW92ZSB1cGxvYWQgYW5kIGRvd25sb2FkIGVsZW1lbnRzIGZyb20gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOS0xNyAxMDozMDowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTc2LzkwNl0gcmVtb3ZlIHVuZWVkZWQgR3N0R0xNZXRhICh1c2UgR3N0VmlkZW9NZXRhKQoKMjAxMi0wOS0xNiAyMTo0MjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1NzUvOTA2XSBmaWx0ZXI6IHBvcnQgdG8gbmV3IHVwbG9hZC9kb3dubG9hZAoKMjAxMi0wOS0xNiAyMTozNjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs1NzQvOTA2XSBtZW1vcnk6IGltcGxlbWVudCB0cmFuc3BlcmVudCB1cGxvYWQvZG93bmxvYWQgZm9yIGRhdGEKCSAgKG5vdCBhc3luYyB5ZXQpCgoyMDEyLTA5LTE2IDIxOjIzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzMvOTA2XSBhZGQgdXBsb2FkIGFuZCBkb3dubG9hZCBsaWJyYXJ5IG9iamVjdHMKCSAgYWxsb3dzIG11bHRpcGxlIHVwbG9hZCBwaXBlbGluZXMgdGhhdCBwcmV2aW91c2x5IHdhc24ndCBwb3NzaWJsZQoJICAoaS5lLiB1cGxvYWQgUkdCIGFuZCBJNDIwIGFuZCAuLi4gb24gdGhlIHNhbWUgR3N0R0xEaXNwbGF5KQoKMjAxMi0wOS0xNiAyMToxMTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzU3Mi85MDZdIHJlbW92ZSB1cGxvYWQgYW5kIGRvd25sb2FkIGVsZW1lbnRzCgkgIHRvIGJlIHJlcGxhY2VkIGJ5IHVwbG9hZCBhbmQgZG93bmxvYWQgaW4gbWVtb3J5CgoyMDEyLTA5LTA1IDE0OjU4OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1NzEvOTA2XSBtaXhlcjogZml4IGRlYWRsb2NrIG9uIHNodXRkb3duCgkgIGRpZG4ndCByZWl0ZXJhdGUgb3ZlciB0aGUgc2lua3BhZCdzIGRpc3BsYXlzIGFuZCByZWFjdGl2YXRlIHRoZW0gY2F1c2luZyBhIGRlYWRsb2NrCgoyMDEyLTA5LTA0IDIyOjUwOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU3MC85MDZdIHJlbW92ZSB0aGUgcmVxdWlyZW1lbnQgZm9yIFZpZGVvTWV0YSB0byBiZSBwcmVzZW50IG9uIG5vbi1HTCBidWZmZXJzCgoyMDEyLTA4LTIwIDE2OjU1OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNTY5LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBwcmV2ZW50IGRvdWJsZSB1bnJlZiBvZiBzaGFkZXIgYW5kIG1pZHRleHR1cmUKCjIwMTItMDgtMjcgMTQ6MDg6MTYgKzAwMDAgIE1hdHRoZXcgPG1hdHRAbWF0dC1idW50LWxhcHQuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs1NjgvOTA2XSB3aW5kb3c6IGZpeCBwdWJsaWMgZGVmaW5pdGlvbnMKCjIwMTItMDgtMjcgMTQ6MDc6MzEgKzAwMDAgIE1hdHRoZXcgPG1hdHRAbWF0dC1idW50LWxhcHQuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs1NjcvOTA2XSBmaXggT3BlbkdMfEVTMiBpZmRlZidlZCBjb2RlCgoyMDEyLTA4LTIwIDEzOjI3OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzU2Ni85MDZdIGVmZmVjdHM6IGF2b2lkIHVzaW5nIHRhbmggaW4gc2luX2ZyYWdtZW50CgkgIEl0IHByb2R1Y2VzIHdlaXJkIHJlc3VsdHMgb24gbm91dmVhdS4KCSAgUHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiB3aXRoICgxLXNpbmgpKmNvc2gKCjIwMTItMDgtMjAgMTM6MDY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNTY1LzkwNl0gZWZmZWN0czogZml4IHNoYWRlciBjb21waWxhdGlvbiB3aXRoIG1lc2EgZHJpdmVycwoKMjAxMi0wOC0xNSAyMTozNzowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzU2NC85MDZdIGdsbWVtb3J5OiByZW1vdmUgdW51c2VkIHR5cGVkZWYKCjIwMTItMDgtMTUgMTY6NTI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTYzLzkwNl0gcmVhZGQgc3VwcG9ydCBmb3IgaGFuZ2luZyBHTCBwaXBlbGluZXMgZS5nLiAuLi4gISBnbGVmZmVjdHMgISBmYWtlc2luawoKMjAxMi0wOC0xNSAxNTozNTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NjIvOTA2XSBnbGRpc3BsYXk6IGZpeCBkb3dubG9hZCBvZiBZVVYgZm9ybWF0cwoKMjAxMi0wOC0xNCAyMzo1NToxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NjEvOTA2XSBnbGRpc3BsYXk6IGZpeCBlbmRpYW5lc3MgaXNzdWVzIG9uIFJHQiBkb3dubG9hZAoKMjAxMi0wOC0xNCAxNDo0MToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzU2MC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcyBhbmQgZ2xpbWFnZXNpbmsgY2hhbmdlcwoKMjAxMi0wOC0xNCAwMjowNToxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTU5LzkwNl0gZ2xtaXhlcjogcGFzcyB0aGUgbWl4cGFkJ3MgZGlzcGxheSB0byB0aGUgcXVlcnlpbmcgZWxlbWVudAoKMjAxMi0wOC0xMiAxOTowMzo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs1NTgvOTA2XSBhZGQgbWlzc2luZyBpbmNsdWRlcyBmb3IgX3Bvc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2UgaW4gZ2xjb2xvcnNwYWNlCgoyMDEyLTA4LTEwIDE2OjQxOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzU1Ny85MDZdIEZpeCBwbHVnaW4gZGVmaW5lIGFuZCByZW1vdmUgd2FybmluZwoKMjAxMi0wOC0xMCAxNTo1NTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU1Ni85MDZdIEdMQ29sb3JzY2FsZTogY29udmVydCB0byBhIGJpbiBvZiBnbHVwbG9hZCAhIGdsZG93bmxvYWQKCjIwMTItMDgtMTAgMTU6MzE6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTU1LzkwNl0gTWFrZSB0aGUgcXVlcnkgZm9yIGEgR3N0R0xEaXNwbGF5IGEgcGFkIHBlZXIgcXVlcnkKCSAgQWxsb3dzIHRoZSBxdWVyeSB0byBwYXNzIHRocm91Z2ggYmluIGJvdW5kYXJpZXMgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIGZvcgoJICBhcmJpdHJhcnkgZ2wgZWxlbWVudHMgdG8gYmUgcGxhY2VkIGluIGJpbnMuCgoyMDEyLTA4LTA4IDE2OjA4OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbNTU0LzkwNl0gR3N0R0xNZW1vcnk6IHVwZGF0ZSBmb3IgR3N0QWxsb2NhdG9yIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTE2IDIzOjMxOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNTUzLzkwNl0gR3N0R0xGaWx0ZXJTaGFkZXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDIzOjIyOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbNTUyLzkwNl0gR3N0R0xGaWx0ZXJBcHA6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDIyOjQwOjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU1MS85MDZdIEdzdEdMT3ZlcmxheTogZml4IGxvYWRpbmcgb2Ygbm9uLXNxdWFyZSBvdmVybGF5cwoJICBsaWJqcGVnIGNvbXBsYWlucyBhYm91dCAiQXBwbGljYXRpb24gcmVhZCB0b28ge21hbnksZmV3fSBzY2FuIGxpbmVzIiBpbiBub24tc3F1YXJlIGltYWdlcwoKMjAxMi0wNy0xNiAyMTo0MDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NTAvOTA2XSBHc3RHTE92ZXJsYXk6IGZpeCBsaWJQTkcgY29tcGxhaW5pbmcgYWJvdXQgdW5zaWduZWQgaW50ZWdlciBiZWluZyBvdXQgb2YgcmFuZ2UKCjIwMTItMDctMTYgMjE6MzU6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTQ5LzkwNl0gR3N0R0xPdmVybGF5OiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAxNTowNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzU0OC85MDZdIEdzdEdMRGlmZmVyZW5jZU1hdHRlOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAwMDozNjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzU0Ny85MDZdIEdzdEdMQnVtcGVyOiBmaXggbGliUE5HIGNvbXBsYWluaW5nIGFib3V0IGludmFsaWQgcG5nIGZpbGVzCgkgIFdlIGZhaWxlZCB0byBpbmZvcm0gbGliUE5HIHRoYXQgd2UgaGFkIGFscmVhZHkgcmVhZCB0aGUgaGVhZGVyCgoyMDEyLTA3LTE2IDAwOjAzOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs1NDYvOTA2XSBHc3RHTEZpbHRlclNvYmVsOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMyAwMTowNzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzU0NS85MDZdIEdzdEdMQnVtcGVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMyAwMTowNDoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU0NC85MDZdIGZpeCBtZW1vcnkgbGVha3MgZnJvbSBub3QgZ19mcmVlKClpbmcgc3RyaW5nIHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2dldF9uYW1lCgoyMDEyLTA3LTEyIDE4OjIyOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU0My85MDZdIEdzdEdMRGlzcGxheTogZml4IHNlZ2ZhdWx0IGZyb20gR1NUX1BUUl9GT1JNQVQgdHJ5aW5nIHRvIGV4cGFuZCB0aGUgb2JqZWN0CgoyMDEyLTA3LTEyIDE4OjE5OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIFs1NDIvOTA2XSBHc3RHTE1peGVyOiBhZGQgYWxsb2NhdGlvbiBhbmQgYnVmZmVycG9vbCBtZXRob2RzCgkgIGJhc2VkIG9mZiBHc3RCYXNlVHJhbnNmb3JtCgoyMDEyLTA3LTEyIDE4OjExOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzU0MS85MDZdIEdzdEdMVGVzdFNyYzogZ2VuZXJhdGUgYSBHTEJ1ZmZlclBvb2wgaW5zdGVhZCBvZiBhIFZpZGVvQnVmZmVyUG9vbCBpbiBkZWNpZGVfYWxsb2NhdGlvbgoKMjAxMi0wNy0xMiAxODowOTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFs1NDAvOTA2XSBHc3RHTE1vc2FpYzogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTIgMTg6MDc6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTM5LzkwNl0gR3N0R0xJbWFnZVNpbms6IGZvbGQgbXVsdGlwbGUgZmllbGRzIGludG8gb25lIGFuZCB1c2UgVklERU9fU0lOS18qIGZvciB3aW5kb3cgd2lkdGgvaGVpZ2h0CgkgIHJlcGxhY2UgdGhlIGNhcHMgaW5mb3JtYXRpb24gd2l0aCBhIEdzdFZpZGVvSW5mbwoJICBwbGFjZSB0aGUgd2luZG93IHdpZHRoL2hlaWdodCBpbmZvcm1hdGlvbiB3aWR0aCBWSURFT19TSU5LCgoyMDEyLTA3LTExIDE0OjIwOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFs1MzgvOTA2XSBHc3RHTERlaW50ZXJsYWNlOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzo1NTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzUzNy85MDZdIEdzdEdMRmlsdGVyUmVmbGVjdGVkU2NyZWVuOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzozNzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbNTM2LzkwNl0gR3N0R0xGaWx0ZXJHbGFzczogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6MTE6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs1MzUvOTA2XSBHc3RHTEZpbHRlckxhcGxhY2lhbjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMDE6MjU6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNTM0LzkwNl0gR3N0R0xGaWx0ZXJDdWJlOiBVcGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAwMToxMDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs1MzMvOTA2XSBHc3RHTEZpbHRlckJsdXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTA5IDIyOjI3OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzUzMi85MDZdIEdzdEdMRmlsdGVyOiBpbXBsZW1lbnQgYWxsb2NhdGlvbiB2ZnVuY3MKCjIwMTItMDctMDkgMjI6MjY6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNTMxLzkwNl0gR3N0R0xFZmZlY3RzOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0wOSAxNjoxNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUzMC85MDZdIEdzdEdMVXBsb2FkOiBmaXggdmlkZW8gc2NhbGluZyBhbmQgdXNlIEdMX1VQTE9BRF9DQVBTCgoyMDEyLTA3LTA5IDE2OjE1OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1MjkvOTA2XSBHc3RHTERvd25sb2FkOiBmaXggdmlkZW8gc2NhbGluZyBhbmQgdXNlIEdMX0RPV05MT0FEX0NBUFMKCjIwMTItMDctMDkgMTY6MTM6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJICBbNTI4LzkwNl0gR3N0R0xNZXRhOiBzZXBlcmF0ZSB1cGxvYWQvZG93bmxvYWQvbm9ybWFsIEdMIGNhcHMgdmlkZW8gZm9ybWF0cwoJICBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdXBsb2FkLCBkb3dubG9hZCBhbmQgR0wgY2FwcwoKMjAxMi0wNy0wOSAxNjoxMjo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MjcvOTA2XSBHc3RHTERpc3BsYXk6IGFkZCBzb21lIHRyYWNlIGRlYnVnZ2luZwoKMjAxMi0wNy0wOCAxMzoxMTowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzUyNi85MDZdIEdzdEdMVGVzdFNyYzogdXBkYXRlIGZvciAxLjAKCSAgaW1wbGVtZW50IGRlY2lkZV9hbGxvY2F0aW9uCgkgIHJlbmFtZSBwdXNoX3NyY19jcmVhdGUgdG8gX2ZpbGwKCSAgdXNlIEdzdFZpZGVvSW5mbyB0byBjb252ZXJ0IHRpbWVzCgkgIG1ha2UgdXNlIG9mIEdzdEdMTWV0YSBhbmQgZnJpZW5kcwoKMjAxMi0wNy0wOCAwMTo1MDo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNTI1LzkwNl0gR3N0R0xEb3dubG9hZDogYWRkIGFsbG9jYXRpb24gbWV0aG9kcyBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIEdzdEdMRG93bmxvYWQgd29yayB3aXRoIHRoZSBuZXcgR3N0R0xNZXRhIGFuZCBmcmllbmRzCgoyMDEyLTA3LTA4IDAxOjQ5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNTI0LzkwNl0gR3N0R0xEaXNwbGF5OiByZXdvcmsgdGhlIGRvd25sb2FkIGNvZGUKCSAgZGF0YSBwYXJhbWF0ZXJzIG5vdyB0YWtlIEdzdFZpZGVvRnJhbWUKCSAgcmVtb3ZlIHJlZHVuZGFudCBwYXJhbWV0ZXJzCgoyMDEyLTA3LTA4IDAxOjExOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUyMy85MDZdIHVwZGF0ZSBmb3IgbWV0YSBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOCAwMToxMDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MjIvOTA2XSBHc3RHTERpc3BsYXk6IGFkZCBmb3Jnb3R0ZW4gZnVuY3Rpb24gZGVmaW5pdGlvbgoKMjAxMi0wNy0wOCAwMTowOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzUyMS85MDZdIEdzdEdMTWVtb3J5OiB1cGRhdGUgZm9yIEdzdEFsbG9jYXRvciBjaGFuZ2VzCgoyMDEyLTA3LTA3IDIyOjU2OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1MjAvOTA2XSBHc3RHTE1peGVyOiBmaXggZm9yIEdzdENoaWxkUHJveHkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxOToxMDo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1MTkvOTA2XSBHc3RHTFVwbG9hZDogaW1wbGVtZW50IHRoZSBhbGxvY2F0aW9uIGZ1bmNzIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgdXNlIG9mIHRoZSBuZXcgR3N0R0xNZXRhLCBHc3RHTE1lbW9yeSBhbmQgR3N0R0xCdWZmZXJQb29sIG9iamVjdHMKCjIwMTItMDctMDYgMTk6MDc6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTE4LzkwNl0gR3N0R0xJbWFnZVNpbms6IGFkZCBwcm9wb3NlX2FsbG9jYXRpb24gaW1wbCBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIHVzZSBvZiBHc3RHTE1ldGEgYW5kIEdzdEdMTWVtb3J5CgoyMDEyLTA3LTA2IDE5OjA1OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIFs1MTcvOTA2XSBhZGQgR3N0R0xCdWZmZXJQb29sCgkgIHdoaWNoIGFkZHMgR3N0R0xNZXRhIHRvIGJ1ZmZlcnMKCjIwMTItMDctMDYgMTg6NTc6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSAgWzUxNi85MDZdIGFkZCBza2VsZXRvbiBHc3RHTE1ldGEKCSAgdGhlIEdzdFZpZGVvTWV0YSBfbWFwL3VubWFwIGZ1bmN0aW9ucyBzdGlsbCBuZWVkIGltcGxlbWVudGluZwoKMjAxMi0wNy0wNiAxODo1MTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzUxNS85MDZdIEdzdEdMRGlzcGxheTogcmV3b3JrIGdlbl90ZXh0dXJlIGFuZCB1cGxvYWQKCSAgcmVuYW1lIGZ1bmN0aW9ucyBzbyB0aGF0IG90aGVyIGNvZGUgY2FuIGNyZWF0ZSB0ZXh0dXJlcyBpbiB0aGUgR0wgdGhyZWFkCgkgIGNoYW5nZSB1cGxvYWQgZnVuY3Rpb25zIHRvIHRha2UgYSBHc3RWaWRlb0ZyYW1lCgkgIGRlZmF1bHQgdG8gR0xTTCBmb3IgdXBsb2FkIGNvbnZlcnNpb24KCjIwMTItMDctMDYgMTg6MjI6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzUxNC85MDZdIGFkZCBHc3RHTE1lbW9yeSBhbmQgYWxsb2NhdG9yCgkgIGltcGxlbWVudCBjdXN0b20gR3N0TWVtb3J5IGZvciBHTCB0ZXh0dXJlcwoJICBjdXJyZW50bHkgbWFwL3VubWFwIHJldHVybnMgTlVMTCBhbHRob3VnaCBpdCBtaWdodCBiZSBmYXZvdXJhYmxlIHRvIHVwbG9hZC9kb3dubG9hZC9jYWNoZSB0aGUgaW1hZ2UgZGF0YQoKMjAxMi0wNi0xOSAxODo0MDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzUxMy85MDZdIFJlbW92ZSBHc3RHTEJ1ZmZlciAodG8gYmUgcmVwbGFjZWQgYnkgR3N0R0xNZXRhKQoKMjAxMi0wNi0xOSAxNTo1NDoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTEyLzkwNl0gR3N0R0xNaXhlcjogdXBkYXRlIGZvciAxLjAgYmFzZWQgb24gdGhlIHZpZGVvbWl4ZXIyIGVsZW1lbnQgaW4gLWdvb2QKCjIwMTItMDYtMDcgMDA6NTE6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs1MTEvOTA2XSB0ZXN0czogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMjI6NTk6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTEwLzkwNl0gR3N0R0xJbWFnZVNpbms6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE5OjEwOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs1MDkvOTA2XSBHc3RHTERpc3BsYXk6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE4OjUzOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs1MDgvOTA2XSBHc3RHTERvd25sb2FkOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxNTo0MDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1MDcvOTA2XSBHc3RHTFRlc3RTcmM6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDEzOjU2OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTA2LzkwNl0gR3N0R0xVcGxvYWQ6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA0IDE4OjQ0OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgWzUwNS85MDZdIEdzdEdMQ29sb3JzY2FsZTogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDMgMjA6NDA6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTA0LzkwNl0gR3N0R0xGaWx0ZXI6IHVwZGF0ZSBmb3IgMS4wCgkgIC1maXggdXAgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCSAgLXJlbW92ZSBfcHJlcGFyZV9vdXRwdXRfYnVmZmVyIChmdW5jdGlvbmFsaXR5IHRha2VuIG92ZXIgYnkgR3N0QnVmZmVyUG9vbCkuCgoyMDEyLTA1LTMwIDEzOjQ2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MDMvOTA2XSBSZW5hbWUgR1NUX0JPSUxFUlBMQVRFXyogdG8gR19ERUZJTkVfVFlQRV8qIGFuZCBtb3ZlIF9iYXNlX2luaXQgaW50byBfY2xhc3NfaW5pdAoKMjAxMi0wNS0yOSAxNzo1NTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgWzUwMi85MDZdIFVwZGF0ZSB2ZXJzaW9uaW5nIGZvciBnc3RyZWFtZXIgMS4wCgkgIFJlbmFtZXMgR1NUX01BSk9STUlOT1IgdG8gR1NUX0FQSV9WRVJTSU9OIGluIGJ1aWxkIGZpbGVzCgkgIHJlbW92ZXMgLWxnc3RpbnRlcmZhY2VzIGZyb20gX0xEQUREIGZsYWdzCgoyMDEyLTA1LTIwIDE4OjQ1OjA2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzUwMS85MDZdIEZpeCBidWlsZGluZyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0MjgKCjIwMTItMDQtMjAgMTI6MzM6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTAwLzkwNl0gZ2xkaXNwbGF5OiBkbyBub3QgY2FsbCBnbENoZWNrRnJhbWVidWZmZXJTdGF0dXMgaWYgMCBpcyBib3VuZAoJICBJbmRlZWQgaXQgbWF5IHJldHVybiBHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQgaWYgdGhlcmUgaXMgbm8KCSAgZGVmYXVsdCBmcmFtZWJ1ZmZlci4KCSAgSXQgc2VlbXMgdG8gYmUgdGhlIGNhc2Ugb24gTWFjT1NYCgoyMDEyLTA0LTIwIDExOjE5OjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzQ5OS85MDZdIGV4YW1wbGVzOiBmaXggYnVpbGQgb24gTWFjT1NYCgoyMDEyLTA0LTIwIDEwOjQxOjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDk4LzkwNl0gZ2xkaXNwbGF5OiBkb24ndCBwYXNzIG5vbi1jb25zdGFudCBzdHJpbmdzIGFzIHByaW50ZiBmb3JtYXQgc3RyaW5ncwoJICBGaXhlcyAnZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzJyBvbiBkYXJ3aW4KCjIwMTItMDQtMjAgMTA6MzI6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs0OTcvOTA2XSBmaWx0ZXJzaGFkZXI6IGZpeCBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDQtMjAgMTA6MjY6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNDk2LzkwNl0gY21ha2UgYnVpbGQ6IGFkZCBwYXRoIHRvIGNvbmZpZy5oIG9uIEFQUExFCgoyMDEyLTA0LTE4IDE1OjQ0OjA1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNDk1LzkwNl0gZ2xFUzIuMDogcHJvcGVybHkgdXNlIGdsRGVsZXRlU2hhZGVyCgoyMDEyLTA0LTE3IDE4OjI1OjU1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNDk0LzkwNl0gY21ha2UgYnVpbGQ6IHVzZSBjb25maWcuaCBmcm9tIHdpbjMyL2NvbW1vbiBhbmQgYWRkIHNvbWUgZ3VpZGVsaW5lcwoKMjAxMy0wNi0yOCAwMDowNDo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNDkzLzkwNl0gZ2xmaWx0ZXJzaGFkZXI6IGZpeCBjcmFzaCB3aGVuIGxvYWRpbmcgc2hhZGVyIGZpbGUKCSAgSnVzdCB1c2UgZ19maWxlX2dldF9jb250ZW50cygpIGluc3RlYWQgb2YgaG9tZS1tYWRlIGZpbGUgbG9hZGluZy4KCSAgRml4ZXMgdHdvIGlzc3VlcyAtIG9uZSBpcyB0aGF0IHdlIHNob3VsZCBwYXNzICJyIiB0byBmb3BlbiBhbmQKCSAgbm90IE9fUkRPTkxZLCB0aGUgb3RoZXIgaXMgdGhhdCBhbiBpbmNvcnJlY3QgdmFyaWFibGUgd2FzIHVzZWQKCSAgdG8gcmVhZCB0aGUgZmlsZSBsZW5ndGgsIGxlYWRpbmcgdG8gYW4gZW1wdHkgc2hhZGVyIGZpbGUuCgkgIFNwb3R0ZWQgYnk6IFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjg0NQoJICBDb25mbGljdHM6CgkgIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jCgoyMDEyLTA0LTEzIDE1OjA4OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs0OTIvOTA2XSBnbHdpbmRvdzogcHJvcGVybHkgZmFpbHMgaWYgcmVzb3VyY2Ugbm90IGZvdW5kCgoyMDEyLTA0LTEzIDEyOjM4OjExICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDkxLzkwNl0gZ2xFUzIuMDogcHJvcGVybHkgZmFpbHMgaWYgZHJpdmVyL2tlcm5lbCBpbmNvbnNpc3RlbmN5CgoyMDEyLTA0LTExIDEwOjQ0OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNDkwLzkwNl0gZ2xkaXNwbGF5OiBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydAoKMjAxMi0wNC0xMCAxNjoxMjoxNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ4OS85MDZdIGdsaW1hZ2VzaW5rOiBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgbm93IHJldHVybnMgIjEvMSIgYnkgZGVmYXVsdAoJICBQcmV2aW91c2x5IGl0IHdhcyBub3Qgc2V0CgkgIEZpeCBidWcgIzY3MTczNCAoY29tcGF0aWJpbGl0eSB3aXRoIFRvdGVtKQoKMjAxMi0wNC0wNCAxNjoyMjo0MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQ4OC85MDZdIGxpYnZpc3VhbC1nbDogZnVsbCBjb21wYXRpYmlsaXR5IHdpdGggcHJvamVjdE0tbGlidmlzdWFsIGlmIGxpYnByb2plY3RNID49IDIuMC4xCgkgIEZpeCBidWcgIzMxMDc3NQoKMjAxMi0wMy0wNiAxNDozMTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNDg3LzkwNl0gZ2w6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICAnaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5Jywgd2hpY2ggd2VyZSByZWFsIGJ1Z3MgYW5kCgkgICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzIGFsd2F5cyBmYWxzZScsIHdoaWNoIHdhcwoJICBvbmx5IGFuIHVubmVlZGVkIGNvbXBhcmlzb24uCgoyMDExLTEyLTIyIDE1OjMwOjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQ4Ni85MDZdIGxpYnZpc3VhbC1nbDogYWRkIG1pbmltYWwgc3VwcG9ydCB0byBsaWJ2aXN1YWwgcGx1Z2lucyB0aGF0IHVzZXMgRnJhbWVidWZmZXIgb2JqZWN0cwoJICBGaXggYnVnICMzMTA3NzUKCSAgZ3N0LWxhdW5jaCBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfcHJvamVjdE0gISBnbGltYWdlc2luayBpcyB3b3JraW5nCgkgIGJ1dCBmb3Igbm93IHlvdSBjYW5ub3QgYXBwZW5kIGFueSBvdGhlciBvcGVuZ2wgZmlsdGVycyBiZXR3ZWVuCgkgIGxpYnZpc3VhbF9nbF9wcm9qZWN0TSBhbmQgZ2xpbWFnZXNpbmsgYmVjYXVzZSBvdXIgRkJPIGlzIHR1cm5lZCBPRkYuCgkgIEl0IHdvdWxkIHJlcXVpcmUgdGhhdCBsaWJ2aXN1YWwgYWxsb3dzIHRvIHNwbGl0IHJlbmRlcmluZyBiZXR3ZWVuCgkgIHBhc3MxLDIsMy4uLiBhbmQgZmluYWwgcmVuZGVyaW5nLiBJbiBvcmRlciB0byB1bmJpbmQgb3VyIEZCTyBiZWZvcmUKCSAgdGhlIHBhc3NOLCBhbmQgdGhlbiByZWJpbmQgaXQganVzdCBiZWZvcmUgdGhlIGZpbmFsIGxpYnZpc3VhbCByZW5kZXJpbmcuCgoyMDExLTEyLTE1IDE4OjEzOjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQ4NS85MDZdIGdzdGdsZGlzcGxheTogdHVybiBvZmYgdGV4dHVyZSBiaW5kaW5nIGFuZCByZWFkIGJ1ZmZlciB3aGVuIGRvd25sb2FkaW5nIHJnYiBpcyBkb25lCgkgIEl0IGZpeGVzOiAoYmxhY2sgaW1hZ2UgYmVmb3JlKQoJICBnc3QtbGF1bmNoLTAuMTAgYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX2x2X2dsdGVzdCAhIGdsZG93bmxvYWQgISB4aW1hZ2VzaW5rCgkgIGFuZAoJICBnc3QtbGF1bmNoLTAuMTAgIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9sdl9nbHRlc3QgISBnbGRvd25sb2FkICEgZ2xpbWFnZXNpbmsKCjIwMTEtMTItMTUgMTg6MDg6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSAgWzQ4NC85MDZdIGxpYnZpc3VhbF9nbDogY29ycmVjdGx5IHNldHVwIGRlcHRoIGFuZCBibGVuZCBmdW5jdGlvbnMKCjIwMTEtMTItMTUgMTY6MTg6MzYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0ODMvOTA2XSBnbGVsZW1lbnRzOiBkbyBub3QgbGVhayBwYXJlbnQgd2hlbiB1c2luZyBnc3RfcGFkX2dldF9wYXJlbnQKCjIwMTEtMTEtMjUgMTY6NTE6NTkgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL0NNYWtlTGlzdHMudHh0OgoJKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJICBbNDgyLzkwNl0gZXh0OiBBZGQgYSBsaWJ2aXN1YWwgcGx1Z2luIHdyYXBwaW5nIG9wZW5nbCBsaWJ2aXN1YWwKCSAgRml4IGJ1ZyAjMjAyMDY5CgoyMDExLTExLTI0IDE2OjAyOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ4MS85MDZdIGZlYXR1cmUgY2hlY2tpbmc6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGRvaW5nIG5vdGhpbmcgaWYgYW4gT3BlbkdMIGZlYXR1cmUgaXMgbm90IHByZXNlbnQKCSAgRml4IGJ1ZyAjNTcyNzY3CgoyMDExLTExLTIxIDE2OjQ2OjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDgwLzkwNl0gd2luMzIgYnVpbGRzOiBhZGQgZ2xzaGFkZXIgZmlsdGVyIHNvdXJjZXMgdG8gdnM5IGFuZCBjb2RlYmxvY2tzCgkgIEFsc28gZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOSBhbmQgbWluZ3ctMy40LjUKCjIwMTEtMTEtMjEgMTU6MDQ6MTYgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs0NzkvOTA2XSBnc3RnbHNoYWRlcnZhcmlhYmxlczogc3RydG9rX3IgaXMgbm90IG11bHRpcGxhdGZvcm0KCSAgRml4IGJ1ZyAjNjY0MzY3CgoyMDExLTExLTE4IDE3OjMyOjA1ICswMTAwICBXZWkgRmVuZyA8d2VpLmZlbmcud2F5bmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs0NzgvOTA2XSBPcGVuR0wgRVMgMi4wOiBpbmNsdWRlIGdsaWIuaCB0byB1c2UgR19CRUdJTl9ERUNMUyBpbiBnc3RnbGVzMi5oCgkgIEZpeCBidWcgIzYzMTAxOQoKMjAxMS0xMS0xOCAxNzoyNzo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBbNDc3LzkwNl0gT3BlbkdMIEVTIDIuMDogZml4IGJ1aWxkIHNpbmNlIGdsZmlsdGVyc2hhZGVyIGNoYW5nZXMKCjIwMTEtMTEtMTggMTc6MjY6MzUgKzAxMDAgIEFudG9uaSBTaWx2ZXN0cmUgPGFudG9uaS5zaWx2ZXN0cmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNDc2LzkwNl0gT3BlbkdMIEVTIDIuMDogZml4IGJ1aWxkIGFuZCBkaXNhYmxlIHNvbWUgZXhhbXBsZXMKCSAgRml4IGJ1ZyAjNjMxMDE5CgoyMDExLTExLTE4IDEyOjE2OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNDc1LzkwNl0gZG9jczogYWRkIGdsbW9zYWljIGFuZCBnbHNoYWRlciB0byBkb2NzCgoyMDExLTExLTE4IDExOjUyOjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDc0LzkwNl0gYnVpbGQ6IG1ha2UgbGlianBlZyB1c2UgY29uZGl0aW9uYWwKCSAgRGlzYWJsZSBnbG92ZXJsYXkgZWxlbWVudCBpZiB3ZSBkbyBub3QgaHZlIGxpYmpwZWcKCjIwMTEtMTEtMTggMTA6MTA6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbNDczLzkwNl0gY21ha2UgYnVpbGQ6IDIuOCBpcyBub3cgcmVxdWlyZWQgYW5kIGFkZCBqcGVnCgkgIGpwZWcgYW5kIHBuZyBzaG91bGQgYmUgb3B0aW9uYWwgYnV0IG91ciBjbWFrZSBidWlsZCBpcyBzdGlsbCBpbiBwcmUtYWxwaGEKCjIwMTEtMTEtMTggMDg6MDg6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3Mi85MDZdIGxpbnBuZzogbWFrZSBsaWJwbmcgdXNlIGNvbmRpdGlvbmFsCgkgIERpc2FibGUgMyBlbGVtZW50cyBpZiB3ZSBkb24ndCBoYXZlIGxpYnBuZy4KCjIwMTEtMTEtMTcgMTc6MzY6NDQgKzAxMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eEBmcmVlc3VyZi5jaD4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDcxLzkwNl0gZ2xzaGFkZXI6IGFkZCBkeW5hbWljIGZyYWdtZW50IHNoYWRlciBmaWx0ZXIKCSAgQWxzbyBhZGQgZnJhZ21lbnQgc2hhZGVyIHBhcnNlcgoJICBGaXggYnVnICM2MDAxOTUKCjIwMTEtMTEtMTcgMTU6MjI6MDYgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0NzAvOTA2XSBnbG92ZXJsYXk6IGFkZCBqcGVnIHN1cHBvcnQKCSAgRml4IGJ1ZyAjNjM2MDcwCgoyMDExLTExLTE3IDExOjM5OjUwICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQ2OS85MDZdIGdsb3ZlcmxheTogbWFuYWdlIHJhdGlvIHRleHR1cmUKCSAgRml4IGJ1ZyAjNjMwNTI1CgoyMDExLTExLTE3IDExOjM0OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkgIFs0NjgvOTA2XSB0ZXN0czogZml4IGNvbW1lbnRhcnkgaW4gY2x1dHRlcmFjdG9yIGV4YW1wbGUKCjIwMTEtMTEtMTYgMTY6NTM6MjUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs0NjcvOTA2XSB0ZXN0czogdmFyaW91cyBidWlsZCBmaXhlcwoJICAtIGNtYWtlIGNvdWxkIG5vdCBmaW5kIGdsaWIKCSAgLSBwdXQgZ3RrIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIHRvIGF2b2lkIEdMIGNvbmZsaWN0cwoJICAtIHVwZGF0ZSBleGFtcGxlcyB0byBjbHV0dGVyLTEuOAoJICAtIHVzZSBjb25zdCBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgR19DT05TVF9SRVRVUk4KCSAgLSBzZXQgbWF4IHBlbmRpbmcgZXZlbnRzIHRvIDAgdG8gbWFrZSBjdWJlIGV4YW1wbGUgd29ya3MgYWdhaW4KCjIwMTEtMDgtMDMgMDk6MDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzQ2Ni85MDZdIHRlc3RzOiBGaXggdmFyaWFibGUgdW51c2VkIGJ1dCBzZXQgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wOC0wMyAwOTowNzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzQ2NS85MDZdIGdsOiBGaXggdmFyaWFibGUgdW51c2VkIGJ1dCBzZXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDUtMjUgMTE6MjE6MTkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDY0LzkwNl0gZ2xpbWFnZXNpbms6IEludGVyZmFjZSBxdWVyeSBzaG91bGQgcmV0dXJuIEZBTFNFIGlmIHRoZSBzdXBwbGllZCBpbnRlcmZhY2UgaXMgbm90IEdTVF9UWVBFX1hfT1ZFUkxBWQoKMjAxMC0xMi0xNCAyMzo1Njo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzQ2My85MDZdIEFkZCBzb21lIG1vcmUgR197QkVHSU4sRU5EfV9ERUNMUyB0byBwdWJsaWMgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MjYwCgoyMDEwLTEwLTE5IDE4OjAwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ2Mi85MDZdIHZhcmlvdXM6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4gSW5jbHVkZXMgc29tZSBnc3QtaW5kZW50IGNoYW5nZXMgYXMgd2VsbCA6LwoKMjAxMC0wOS0xNiAxNTowMDoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzQ2MS85MDZdIHhvdmVybGF5OiByZXF1aXJlIGJhc2UgZnJvbSBnaXQgYW5kIHVwZGF0ZSB0byBuZXcgQVBJCgoyMDEwLTA5LTA4IDIwOjM4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDYwLzkwNl0gZ3N0Z2xlZmZlY3RzOiBGaXggdXBwZXIgYm91bmQgb2YgYW4gYXJyYXkgaXRlcmF0aW9uCgkgIDEwIGlzIGFib3ZlIE5FRURFRF9URVhUVVJFUyAoY3VycmVudGx5IDUpIGFuZCBtYWtlcyB0aGUgY29kZSBjb25zaXN0ZW50CgkgIHdpdGggdGhlIHJlc3Qgb2YgdGhlIHVzYWdlIGluIHRoZSBmaWxlLgoKMjAxMC0wOC0xMSAwMDo0Nzo0MiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNDU5LzkwNl0gRml4IGRpc3RjaGVjay4KCjIwMTAtMDctMjMgMjI6MTI6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0NTgvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOQoKMjAxMC0wNy0xMiAxODozODo1OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQ1Ny85MDZdIGd0ayBleGFtcGxlczogYWRhcHQgY29kZSBzaW5jZSB0aGUgbmF0aXZlLXdpbmRvdyBjaGFuZ2VzIGZyb20gZ3RrCgkgIEZpeGVzIGJ1ZyAjNTk5ODg1CgoyMDEwLTA1LTA1IDExOjIxOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDU2LzkwNl0gZ2xmaWx0ZXIvZ2xtaXhlci9nbHRlc3RzcmMvZ2x1cGxvYWQ6IHRocm93IGFuIGVsZW1lbnQgZXJyb3IgaWYgbm8gcGFyZW50IGJpbgoJICBGaXhlcyBidWcgIzYwMjE1MwoKMjAxMC0wNS0wNCAxMTozNzozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNDU1LzkwNl0gZ2xpbWFnZXNpbms6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8KCjIwMTAtMDUtMDEgMTE6MTk6NTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDU0LzkwNl0gYmx1cjogZml4IGdhdXNzaWFuIGtlcm5lbCBjb21wdXRhdGlvbgoKMjAxMC0wNC0yOSAyMDo0OTowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJICBbNDUzLzkwNl0gYmx1cjogZ2l2ZSB1cCBzb21lIGFjY3VyYWN5IGZvciBzcGVlZAoJICBTZXR0bGUgd2l0aCA3eDcgZ2F1c3NpYW4gY29udm9sdXRpb24ga2VybmVscywgbWF5YmUgc2xpZ2h0bHkgbGVzcwoJICBhY2N1cmF0ZSB0aGFuIHByZXZpb3VzIDl4OSBidXQgZmFzdCBlbm91Z2ggdG8gYmUgYWJsZSB0byB1c2UgaXQgb24gaTkxNS4KCSAgQWJvdXQgYSAyMCUgcGVyY2VudCBzcGVlZCBnYWluIChhZ2Fpbiwgcm91Z2hseSBtZWFzdXJlZCB3aXRoCgkgIHZpZGVvdGVzdHNyYyBhbmQgZ2xpbWFnZXNpbmsgc3luYz1mYWxzZSkuIE5vIG5vdGljZWFibGUgcmVuZGVyaW5nCgkgIGRpZmZlcmVuY2Ugd2l0aCBjdXJyZW50IGVmZmVjdHMuCgoyMDEwLTA0LTI4IDE3OjA4OjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ1Mi85MDZdIHNpbjogZ2V0IHJpZCBvZiBobHMgY29udmVyc2lvbiBjb2RlCgkgIEdldCByaWQgb2YgYnVnZ3kgYW5kIGNvbXBsaWNhdGVkIGhscyBjb252ZXJzaW9uIGNvZGUgZm9yIHRoZSBzaW4gZWZmZWN0LgoJICBUaGUgb25seSB0aGluZyBuZWVkZWQgd2FzIGh1ZSBhbnl3YXkgYW5kIGl0IGlzIGVhc2lseSBjYWxjdWxhdGVkIHVzaW5nCgkgIFByZXVjaWwgZm9ybXVsYSBmb3IgcmdiIHRvIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24uCgkgIE5vdyB3b3JrcyBvbiBpOTE1IChyZW1vdmVkIGFsbCB0aGUgSUYgYmxvY2tzKS4gU3RpbGwgbmVlZHMgc29tZSB0dW5pbmcsCgkgIEkgd29uZGVyIGlmIGl0IHdpbGwgZXZlciB3b3JrIHByb3Blcmx5LgoKMjAxMC0wNC0zMCAxMTo0NDoyNiArMDIwMCAgUm9sYW5kIFBlZmZlciA8Um9sYW5kLlBlZmZlckBjbGl4eHVuLmRlPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTEvOTA2XSBnbHVwbG9hZDogcGFyIGlzIGFscmVhZHkgaGFuZGxlZCBpbiBmaXhhdGVfY2FwcyBmdW5jdGlvbgoJICBGaXhlcyBidWcgIzU5MzE2NQoKMjAxMC0wNC0zMCAxMTo0Mjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1MC85MDZdIGluZGVudDogZ3N0Z2x1cGxvYWQuYwoKMjAxMC0wNC0yOSAxNDoyMToyOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzQ0OS85MDZdIHNvYmVsOiBkcm9wIHVudXNlZCBzaW5nbGUgcGFzcyBzb2JlbCBzaGFkZXIKCSAgRHJvcCB1bnVzZWQgc29iZWwgc2hhZGVyLCBpZiBhbnlvbmUgc3RpbGwgbmVlZHMgaXQsIGdpdCBsb2cgaXMgeW91cgoJICBmcmllbmQuCgoyMDEwLTA0LTI5IDE0OjIwOjU2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBbNDQ4LzkwNl0geHJheTogaW5jcmVhc2UgZWRnZXMgdmlzaWJpbGl0eQoJICBTb21lIGxpdHRsZSBmaW5lIHR1bmluZywgc3RpbGwgbm90IGNvbXBsZXRlbHkgc2F0aXNmaWVkIHlldC4KCjIwMTAtMDQtMjkgMTI6NTk6NDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzQ0Ny85MDZdIHhyYXk6IHBvcnQgdG8gdGhlIG5ldyBzZXBhcmFibGUgc29iZWwgY29udm9sdXRpb24KCSAgUG9ydCB4cmF5IGVmZmVjdCB0byB1c2UgdGhlIHNhbWUgc29iZWwgY29udm9sdXRpb24ganVzdCB1c2VkIGluCgkgIGdsZmlsdGVyc29iZWwuIE5vdyB4cmF5IHRvbyB3b3JrcyBvbiBpOTE1IChhIGJpdCBzbG93KS4KCjIwMTAtMDQtMjkgMTA6NTc6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDQ2LzkwNl0gYmx1cjogZm9yZ290IHRvIGFkZCBhbGwgdGhlIGNoYW5nZXMgaW4gcHJldmlvdXMgY29tbWl0CgoyMDEwLTA0LTI5IDA5OjE1OjIxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQ0NS85MDZdIGJsdXI6IHVzZSBkcmF3X3RleHR1cmUgZnJvbSBnbGZpbHRlcgoKMjAxMC0wNC0yOSAwOTowMjoxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQ0NC85MDZdIGxhcGxhY2lhbjogcHJlY2FsY3VsYXRlIGNvb3JkaW5hdGVzCgkgIFByZWNhbGN1bGF0ZSBjb29yZGluYXRlcyB0byBhdm9pZCB1bm5lZWRlZCB0ZXh0dXJlIGluZGlyZWN0aW9ucy4KCSAgTm93IGxhcGxhY2lhbiB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yOSAwODoyNzoyOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs0NDMvOTA2XSBzb2JlbDogbW92ZSBzb21lIGhpZ2hseSBkdXBsaWNhdGVkIGNvZGUgaW50byBnbGZpbHRlcgoJICBBZGQgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24gaW4gR3N0R0xGaWx0ZXIgdGhhdCBqdXN0IGRyYXdzIGFuIGlucHV0CgkgIHRleHR1cmUgdG8gYSB0YXJnZXQgdGV4dHVyZSB1c2luZyBhIHNpbXBsZSBzaGFkZXIgd2l0aCBqdXN0IGEgInRleCIKCSAgdW5pZm9ybSBzYW1wbGVyLgoJICBNb3ZlIGRyYXdfdGV4dHVyZSBmcm9tIGdsZmlsdGVyc29iZWwgdG8gZ2xmaWx0ZXIuIFN0aWxsIG5lZWQgdG8gdXBkYXRlCgkgIG90aGVyIHBsdWdpbnMgdG8gdGhpcy4KCjIwMTAtMDQtMjcgMjE6NTY6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDQyLzkwNl0gYmx1cjogb3B0aW1pemUgY29vcmRpbmF0ZXMgY2FsY3VsYXRpb25zCgkgIFNhdmUgMjggaW5zdHJ1Y3Rpb25zIG9uIGk5MTUgKG1haW5seSByZWR1bmRhbnQgTU9WcykgYW5kIGdhaW4gYSAyNSUKCSAgKHJvdWdobHkgbWVhc3VyZWQgd2l0aCB2aWRlb3Rlc3RzcmMgYW5kIGdsaW1hZ2VzaW5rIHN5bmM9ZmFsc2UpIHNwZWVkCgkgIGJ1bXAKCjIwMTAtMDQtMjcgMTk6Mzg6MzMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkgIFs0NDEvOTA2XSBzb2JlbDogY29udm9sdmUgb25seSBsdW1hCgkgIFJld29yayBTb2JlbCBhIGxpdHRsZSBiaXQgYWdhaW4gbWFraW5nIGl0IHdvcmsgYXMgdGhlIG9sZCBvbmU6CgkgIDEuIGRlc2F0dXJhdGUgaW5wdXQgdGV4dHVyZQoJICAyLiBjYWxjdWxhdGUgaG9yaXpvbnRhbCBjb252b2x1dGlvbiBmb3IgeCBncmFkaWVudCBhbmQgdmVydGljYWwKCSAgY29udm9sdXRpb24gZm9yIHkgZ3JhZGllbnQgYXQgdGhlIHNhbWUgdGltZSAoaGFsdmVzIHRoZSBudW1iZXIgb2YKCSAgbmVlZGVkIHRleHR1cmUgbG9va3VwcykKCSAgMy4gc3RvcmUgcmVzdWx0cyBpbiBhIHNpbmdsZSB0ZXh0dXJlIChyZWQgYW5kIGdyZWVuIGNoYW5uZWwpCgkgIDQuIGNhbGN1bGF0ZSByZW1haW5pbmcgY29udm9sdXRpb24gKHNhbWUgYXMgYWJvdmUgc3dpdGNoaW5nIHZlcnRpY2FsIGFuZAoJICBob3Jpem9udGFsKQoJICA1LiBjYWxjdWxhdGUgbGVuZ3RoIG9mIGdyYWRpZW50IHVzaW5nIHJlZCBhbmQgZ3JlZW4gYXMgeCBhbmQgeQoJICBjb21wb25lbnRzLgoJICBPcHRpbWl6ZSB3aGVyZXZlciBwb3NzaWJsZSwgc3RvcmUga2VybmVscyBhcyBjb25zdGFudHMgaW4gdGhlIHNoYWRlcnMsCgkgIHJlbW92ZSB1bm5lZWRlZCB1bmlmb3Jtcy4gUmVzdG9yZSBpbnZlcnQgcHJvcGVydHkgY2FyZWZ1bGx5IGF2b2lkaW5nCgkgIHVzaW5nIElGLgoJICBTdGlsbCBub3Qgc3VyZSBpZiAiZnVsbCBjb2xvciIgY29udm9sdXRpb24gd2lsbCBiZSBuZWVkZWQsIGdsZmlsdGVyc29iZWwKCSAgaXMgdG8gYmUgaW50ZW5kZWQgYXMgYSBkZW1vIGZpbHRlciBhbmQgeHJheSwgdGhlIG9ubHkgZWZmZWN0IHdoaWNoIHVzZXMKCSAgc29iZWwgb25seSBuZWVkcyBlZGdlIGludGVuc2l0eS4gRHJvcHBpbmcgaXQgZm9yIG5vdy4KCjIwMTAtMDQtMjcgMDk6MDg6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkgIFs0NDAvOTA2XSBzb2JlbDogaW1wbGVtZW50IHNvYmVsIGZpbHRlciB1c2luZyBzZXBhcmFibGUga2VybmVscwoJICBSZWltcGxlbWVudCBzb2JlbCBpbiBhIG11bHRpcGFzcyBmdWxseSBzZXBhcmF0ZWQgY29udm9sdXRpb246CgkgIC0gY2FsY3VsYXRlIHggZ3JhZGllbnQgbWFwIGNvbnZvbHZpbmcgZmlyc3QgaG9yaXpvbnRhbGx5IHdpdGggYmx1cnJpbmcKCSAga2VybmVsIGFuZCB0aGVuIHZlcnRpY2FsbHkgd2l0aCBkaWZmZXJlbnRpYXRpbmcga2VybmVsCgkgIC0gY2FsY3VsYXRlIHkgZ3JhZGllbnQgbWFwIGNvbnZvbHZpbmcgZmlyc3QgdmVydGljYWxseSB3aXRoIGJsdXJyaW5nCgkgIGtlcm5lbCBhbmQgdGhlbiBob3Jpem9uYWxseSB3aXRoIGRpZmZlcmVudGlhdGluZyBrZXJuZWwKCSAgLSBjYWxjdWxhdGUgbGVuZ3RoIG9mIHRoZSBncmFkaWVudCB2ZWN0b3IKCSAgUGFydGljdWxhciBjYXJlIHdhcyBuZWVkZWQgd2l0aCBub3JtYWxpemF0aW9uIG9mIHRoZSBibHVycmluZyBrZXJuZWwgYW5kCgkgIHdpdGggZ3JleSBsZXZlbCBvZmZzZXQgb2YgdGhlIGRpZmZlcmVudGlhdGluZyBvbmUgdG8gcHJldmVudCBvdmVyZmxvdyBvZgoJICByZ2IgdmFsdWVzIGZyb20gdGhlIFswLjAsMS4wXSByYW5nZSBpbiBpbnRlcm1lZGlhdGUgcGFzc2VzLgoJICBOb3cgd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjYgMTM6MjA6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDM5LzkwNl0gc29iZWw6IGdldCByaWQgb2YgI3ZlcnNpb24gMTIwIGRlcGVuZGVudCBhcnJheSBjb25zdHJ1Y3RvcnMKCjIwMTAtMDQtMjcgMTE6MDc6MDQgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSAgWzQzOC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBpbXByb3ZlIGJlaGF2aW9yIGFuZCBhZGQgc29tZSBwcm9wZXJ0aWVzCgkgIEZpeGVzIGJ1ZyAjNjEyMTYzCgoyMDEwLTA0LTI2IDIzOjQ4OjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDM3LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IHJlbW92ZSB1bnVzZWQgY29kZSAoY29waWVkL3Bhc3RlZCBmcm9tIGdsZmlsdGVyZ2xhc3MpCgoyMDEwLTA0LTI2IDIzOjQyOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0MzYvOTA2XSBnbGVmZmVjdHNzb3VyY2VzOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5CgoyMDEwLTA0LTI2IDIzOjM4OjU5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNDM1LzkwNl0gR05VU3RlcCBidWlsZDogYWRkIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuIHNvdXJjZXMKCjIwMTAtMDQtMjYgMTQ6NDE6MTcgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSAgWzQzNC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBmb3Jnb3QgdG8gYWRkIHNvdXJjZXMKCjIwMTAtMDQtMjYgMTQ6MzI6MjggKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0MzMvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogYWRkIG5ldyBPcGVuR0wgUmVmbGVjdGVkIFNjcmVlbiBmaWx0ZXIKCSAgRml4ZXMgYnVnICM2MTIxNjMKCjIwMTAtMDQtMjYgMTQ6MTE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDMyLzkwNl0gR3N0R0xEaXNwbGF5OiB0aGlzIGlzIEdMX0RFUFRIMjRfU1RFTkNJTDhfRVhULCBub3QgR0xfREVQVEgyNF9TVEVOQ0lMOF9FWFQKCjIwMTAtMDQtMjYgMTM6NTc6MDAgKzAyMDAgIFBpZXJyZSBQb3V6b2wgPHBpZXJyZS5wb3V6b2xAaG90bWFpbC5mcj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQzMS85MDZdIEdzdEdMRGlzcGxheTogZW5hYmxlIHN0ZW5jaWwgYnVmZmVyIHdoZW4gdXNpbmcgZnJhbWVidWZmZXIgb2JqZWN0cy4KCSAgRml4ZXMgQnVnICM2MTIxNTkKCjIwMTAtMDQtMjYgMTI6NDU6NTcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDMwLzkwNl0gY29udm9sdXRpb246IHNhdmUgc29tZSBpbmRpcmVjdGlvbiBncm91cGluZyBtYXRoIGFuZCBzYW1wbGluZwoJICBUaGFua3MgdG8gRXJpYyBBbmhvbHQgSSd2ZSBmaW5hbGx5IHVuZGVyc3Rvb2QgKGF0IGxlYXN0IEkgaG9wZSkgaG93IHRvCgkgIGNvdW50IHRleHR1cmUgaW5kaXJlY3Rpb25zIGFuZCBzYXZlIHVwIHNvbWUuICBUZXh0dXJlIHNhbXBsaW5nIGRlcGVuZGVudAoJICBvbiB0aGUgcmVzdWx0IG9mIHNvbWUgbWF0aCBjb3VudHMgYXMgYW4gaW5kaXJlY3Rpb24gcGhhc2UuIEdyb3VwZWQKCSAgdGV4dHVyZSBsb29rdXBzIHdpdGggbm8gbWF0aCBpbnZvbHZlZCBjb3VudCBhcyBhIHNpbmdsZSBpbmRpcmVjdGlvbi4KCSAgTWF0aCBvbiB0aGUgY29vcmRpbmF0ZXMgY291bnQgYXMgaW5kaXJlY3Rpb24uCgkgIFNvIHRoZSBiZXN0IHRoaW5nIGlzIHRvIGdyb3VwIGFsbCB0aGUgbWF0aCBpbnZvbHZpbmcgY29vcmRpbmF0ZXMgYW5kCgkgIHRoZW4gZG8gYWxsIHRoZSBsb29rdXBzLgoJICBUaGlzIHNhdmVzIGVub3VnaCBpbmRpcmVjdGlvbnMgdG8gbWFrZSBnbGZpbHRlcmJsdXIgYW5kIGdsb3cgZWZmZWN0CgkgIHdvcmssIGFsYmVpdCBhIGJpdCBzbG93bHksIG9uIGk5MTUuCgoyMDEwLTA0LTI1IDEwOjU1OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDI5LzkwNl0gbGFwbGFjaWFuOiByZW1vdmUgdW51c2VkIG5vcm1fY29uc3QgYW5kIG5vcm1fb2Zmc2V0IHVuaWZvcm1zCgkgIFJlbW92ZSB1bnVzZWQgdW5pZm9ybXMgZnJvbSB0aGUgbGFwbGFjaWFuIGZpbHRlci4gQWxzbyByZW1vdmUgaWYKCSAga2VybmVsW2ldICE9IDAgY2hlY2tzIHNvIHRoYXQgaXQgY29tcGlsZXMgd2hlcmUgSUYgaXMgbm90IGF2YWlsYWJsZS4KCSAgQWdhaW4sIGJpZyB0aGFua3MgdG8gRXJpYyBBbmhvbHQgZm9yIHRoZSBoaW50cy4KCjIwMTAtMDQtMTMgMTY6MjA6MDIgLTA3MDAgIEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQyOC85MDZdIGxhcGxhY2lhbjogQXZvaWQgdXNpbmcgR0xTTCAxLjIwIGZlYXR1cmVzIGluIGEgbm9uLSN2ZXJzaW9uZWQgc2hhZGVyLgoJICBGaXhlcyBjb21waWxlIG9uIE1lc2EuCgoyMDEwLTA0LTI1IDEwOjMxOjAxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNy85MDZdIHJnYl90b19jdXJ2ZTogc2F2ZSB1cCBhIHRleHR1cmUgaW5kaXJlY3Rpb24KCSAgQXBwYXJlbnRseSBhc3NpZ25pbmcgZ2xfVGV4Q29vcmQgdG8gYSB0ZW1wIGNvdW50IGFzIGFuIGluZGlyZWN0aW9uLgoJICBVc2luZyBpdCBkaXJlY3RseSBhdm9pZHMgaXQgYW5kIGxpbWl0cyBpbmRpcmVjdGlvbnMgdG8gZm91ciBub3QKCSAgZXhjZWVkaW5nIGk5MTUgbGltaXQuIE5vdyB4cHJvIGVmZmVjdCB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yNSAxMDowNDoyOCArMDIwMCAgVmluc29uIExlZSA8dmxlZUB2bXdhcmUuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI2LzkwNl0gbXVsdGlwbHk6IGZpeCBhIGNvbXBpbGF0aW9uIGVycm9yIHdpdGggQXBwbGUgY29tcGlsZXIKCSAgRml4IG11bHRpcGx5X2ZyYWdtZW50X3NvdXJjZSB0byBjb21waWxlIHdpdGggQXBwbGUgR0xTTCBjb21waWxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjc0OAoKMjAxMC0wNC0yNCAyMToxMTozNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjUvOTA2XSB0d2lybDogZ2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uCgkgIEdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgaW4gdGhlIHR3aXJsIGVmZmVjdC4gVGhlIHNhbWUgY2FuIGJlIGRvbmUKCSAgdXNpbmcgYSByb3RhdGlvbiBtYXRyaXgsIHNhdmluZyBhbHUgaW5zdHJ1Y3Rpb25zIGFuZCwgbW9zdCBvZiBhbGwsCgkgIGF2b2lkaW5nIHRoZSB1c2Ugb2YgdGhlIGV2aWwgYXRhbigpIGZ1bmN0aW9uICh3aGljaCB1c2VzIElGIG9wZXJhdG9ycykuCgkgIENhbGN1bGF0ZSByb3RhdGlvbiBhbmdsZSBpbiBhIHNhbmVyLCB1bmRlcnN0YW5kYWJsZSB3YXkuCgkgIFdvcmtzIG9uIGk5MTUhIChIb3BlIGl0IHN0aWxsIHdvcmtzIGVsc2V3aGVyZSB0b28gYXMgSSdtIG5vdCBhYmxlIHRvCgkgIHRlc3QgYXQgdGhlIG1vbWVudCkKCjIwMTAtMDQtMjQgMjA6NDM6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI0LzkwNl0gdHVubmVsOiBnZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24KCSAgR2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBpbiB0aGUgdHVubmVsIGVmZmVjdCBhcyB0aGUgc2FtZSBjYW4gZWFzaWx5CgkgIGJlIGRvbmUganVzdCBjbGFtcGluZyB0aGUgcmFkaXVzIGFuZCBtdWx0aXBseWluZy4KCSAgUmVtb3ZlIHRoZSBldmlsIGF0YW4oKSBjYWxsIHRoYXQgdXNlcyBicmFuY2hpbmcgYW5kIGEgbG90IG9mIHVubmVlZGVkIGFsdQoJICBpbnN0cnVjdGlvbnMuIE5vdyB3b3JrcyBvbiBpOTE1IQoKMjAxMC0wNC0yMyAyMDowNjo0OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJICBbNDIzLzkwNl0gY29udm9sdXRpb246IGdlbmVyYXRlIGdhdXNzaWFuIGtlcm5lbCBvbiB0aGUgZmx5CgkgIEdlbmVyYXRlIGEgbm9ybWFsaXplZCBnYXVzc2lhbiBrZXJuZWwgd2l0aCBnaXZlbiBzaXplIGFuZCBzdGFuZGFyZAoJICBkZXZpYXRpb24gb24gdGhlIGZseS4KCSAgUmVtb3ZlICJub3JtX2NvbnN0IiB1bmlmb3JtIGZyb20gY29udm9sdXRpb24gc2hhZGVycyBhbmQgcHJvdmlkZSBhCgkgIG5vcm1hbGl6ZWQga2VybmVsIGluc3RlYWQuIFJlbW92ZSBub3JtX29mZnNldCB1bmlmb3JtIGFzIGl0IHdhcyBhbHdheXMKCSAgemVybywgd2lsbCByZWludHJvZHVjZSBpdCBpZiByZWFsbHkgbmVlZGVkIGluIHRoZSBmdXR1cmUuIFRoYW5rcyB0byBFcmljCgkgIEFuaG9sdCBmb3Igc3VnZ2VzdGluZyBpdC4KCSAgU2F2ZSBzb21lIEFMVSBpbnN0cnVjdGlvbiBjYWxjdWxhdGluZyBkaXJlY3RseSB0aGUgY29vcmRpbmF0ZSBmb3IKCSAgdGV4dHVyZSBsb29rdXAgaW5zdGVhZCBvZiBzdW1taW5nIGFuIG9mZnNldC4KCSAgU3RpbGwgZXhjZWVkIG1heGltdW0gaW5kaXJlY3QgdGV4dHVyZSBsb29rdXBzIG9uIGk5MTUsIHRoZSBvbmx5IHNvbHV0aW9uCgkgIEkgc2VlIGlzIHVzaW5nIGEgM3gzIGtlcm5lbC4KCjIwMTAtMDQtMjMgMTc6NDk6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDIyLzkwNl0gY29udm9sdXRpb246IHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVyIHVzZWQKCSAgUmVkdWNlIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXIgY2FsY3VsYXRpbmcgdGV4dHVyZSBsb29rdXAgb2Zmc2V0IG9uIHRoZQoJICBmbHkuIEl0IHdhcyBqdXN0IGEgc2ltcGxlIHNlcXVlbmNlLCBubyBuZWVkIHRvIHN0b3JlIGl0IGluIGEgYXJyYXkuCgkgIEZpeGVzIG1heGltdW0gbnVtYmVyIG9mIHJlZ2lzdGVycyBleGNlZWRlZCBlcnJvciB3aXRoIGk5MTUuIFN0aWxsCgkgIGV4Y2VlZCBtYXhpbXVtIGluZGlyZWN0IHRleHR1cmUgbG9va3VwcyBhbmQgbWF4aW11bSBBTFUgaW5zdHJ1Y3Rpb25zLgoJICBNYXliZSB3ZSBzaG91bGQgZ2F2ZSB1cCBzb21lIGJsdXIgZ29vZG5lc3MgYW5kIHVzZSBsaWdodGx5IG1vcmUgbGl0dGxlCgkgIGtlcm5lbHMuCgoyMDEwLTA0LTIzIDE3OjM3OjIxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyMS85MDZdIGNvbnZvbHV0aW9uOiBkb24ndCBjaGVjayBrZXJuZWxbaV0gdG8gYmUgbm9uIHplcm8KCSAgQXBwYXJlbnRseSBzYXZpbmcgdXAgc29tZSB0ZXh0dXJlIGxvb2t1cCBmb3IgemVybyBrZXJuZWwgZWxlbWVudHMgaXMKCSAgZGVmaW5pdGVseSBub3Qgd29ydGggdGhlIHVzZSBvZiBicmFuY2hpbmcuIFRoaXMgd2F5IGNvbnZvbHV0aW9uCgkgIGZyYWdtZW50IHByb2dyYW1zIGFsc28gd29yayB3aGVyZSBJRiBvcGVyYXRvciBpcyBub3Qgc3VwcG9ydGVkICh0ZXN0ZWQKCSAgb24gaTkxNSBhbmQgbm91dmVhdSkuIFNlZSBhbHNvIGRpc2N1c3Npb24gb24gYnVnICM2MTU2OTYuCgkgIFRoYW5rcyB0byBFcmljIEFuaG9sdCBmb3Igc3BvdHRpbmcgdGhpcy4KCjIwMTAtMDQtMjMgMTc6MzA6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDIwLzkwNl0gYmx1cjogdXNlIGNvbW1vbiBzaGFkZXIgc291cmNlcwoJICBQb3J0IGJsdXIgZmlsdGVyIHRvIHVzZSB0aGUgY29tbW9uIGNvbnZvbHV0aW9uIHNoYWRlcnMgaW4KCSAgZ3N0Z2xlZmZlY3Rzc291cmNlcy5jLiBUaGlzIHJlZHVjZXMgY29kZSBkdXBsaWNhdGlvbiBhbmQsIGluY2lkZW50YWxseSwKCSAgdGhlIHNoYWRlcnMgaW4gdGhlIGNvbW1vbiBmaWxlIHdlcmUgYWxyZWFkeSB1cGRhdGVkIHRvIG5vdCB1c2UgYXJyYXkKCSAgY29uc3RydWN0b3IgYW5kIHRvIG5vdCBkZXBlbmQgb24gI3ZlcnNpb24gMTIwLgoJICBGaXJzdCBzdGVwIHRvd2FyZHMgYnVnICM2MTU2OTYgZml4aW5nLgoKMjAxMC0wNC0yMyAxNzoxOTo1MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0MTkvOTA2XSBibHVyOiByZW1vdmUgaG9yaXpvbnRhbCBmbGlwCgkgIEFwcGFyZW50bHkgdGhlcmUgd2FzIHNvbWUgc3RhbGUgaG9yaXpvbnRhbCBmbGlwIGZ1bmN0aW9uIHN0aWxsIHRoZXJlCgkgIGZyb20gbXkgc3VtbWVyIG9mIGNvZGUgZXhwZXJpbWVudHMuIFJlbW92ZSBpdC4KCjIwMTAtMDQtMjMgMTc6MTQ6NTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDE4LzkwNl0gZWZmZWN0czogZGlzYWJsZSBnc3QtaW5kZW50IGluIHRoZSBzb3VyY2VzCgkgIEZpeCBzb21lIGNyYXp5IGZvcm1hdHRpbmcgY2F1c2VkIGJ5IGdzdC1pbmRlbnQgcHJldmlvdXMgcnVucyBhbmQgZGlzYWJsZQoJICB0aGUgc2NyaXB0IGZvciB0aGlzIGZpbGUuIFRoZSBiZXN0IHdvdWxkIGJlIHRvIG1vdmUgc2hhZGVycyBpbnRvCgkgIHNlcGFyYXRlIGZpbGVzIGFuZCBsb2FkIHRoZW0gYXQgcnVudGltZSBvciBoYXJkY29kZSB0aGVtIGF0IGNvbXBpbGUKCSAgdGltZS4KCjIwMTAtMDMtMzEgMTI6NDA6MTIgKzAyMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs0MTcvOTA2XSBnbGJ1bXBlcjogVXNlIHBuZ19zaWdfY21wKCkgaW5zdGVhZCBvZiBwbmdfY2hlY2tfc2lnKCkKCSAgRml4ZXMgYnVnICM2MTMxODYKCjIwMTAtMDMtMjQgMTE6MTA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0MTYvOTA2XSBnbDogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpCgkgIEZpeGVzICM2MTMzNzEuCgoyMDEwLTAzLTA5IDAxOjM1OjQyICswMTAwICBOaWNob2xhcyBQYW5heWlzIDxuaWNrQG1vdmVuY3kuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs0MTUvOTA2XSBnc3RnbHdpbmRvd193aW4zMjogc2hhcmUgb3BlbmdsIGNvbnRleHQgaW4gY29ycmVjdCBvcmRlcgoJICBBbGxvdyB0byB1c2UgdGhlIG9wZW5nbCBjb250ZXh0IHNoYXJpbmcgZmVhdHVyZSBpZiB0aGUgb3JpZ2luYWwKCSAgY29udGV4dCBoYXMgYmVlbiB1c2VkIGFscmVhZHkuCgkgIFRoaXMgaXMgb25seSBwb3NzaWJsZSBvbiB3aW4zMiB3aXRoIHdnbFNoYXJlTGlzdHMgYmVjYXVzZSBvbiBvdGhlcgoJICBiYWNrZW5kcywgdGhlIHNoYXJpbmcgaXMgbWFkZSB3aGVuIGEgY29udGV4dCBpcyBjcmVhdGVkLgoJICBUaGlzIG5ldyBmZWF0dXJlIGlzIG9ubHkgdXNlZnVsbCB3aGVuIHVzaW5nIGV4dGVybmFsIGNvbnRleHQKCSAgYmVjYXVzZSBnc3QtZ2wgaW50ZXJuYWxseSBtYWtlcyBzdXJlIHRoYXQgdGhlIG9yZ2luYWwgY29udGV4dCBpcyBub3QKCSAgYWxyZWFkeSB1c2VkIHdoZW4gc2hhcmluZyBpdC4KCSAgRml4IGJ1ZyAjNjExMDY3CgoyMDEwLTAzLTA5IDAxOjI0OjA2ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDE0LzkwNl0gZ2xidW1wZXIvZ2xkaWZmZXJlbmNlbWF0dGUvZ2xvdmVybGF5OiBsaWJwbmcgMS40LnggY29tcGF0aWJsZQoJICBGaXggYnVnICM2MDg2NDMKCjIwMTAtMDEtMTIgMTg6MzI6MzkgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs0MTMvOTA2XSBGaXggV2luZG93cyBjb21waWxlciB3YXJuaW5nIGluIHRlc3QvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmMKCjIwMTAtMDEtMDYgMDA6MTM6NDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzQxMi85MDZdIENvY29hIGJhY2tlbmQ6IGltcHJvdmUgc3VwcG9ydCBvbiBHTlVTdGVwCgoyMDA5LTEyLTE4IDAwOjM0OjEzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MTEvOTA2XSBnc3RnbG1peGVyOiBjb3B5L3Bhc3QgcmVjZW50IGNoYW5nZXMgZnJvbSBnc3R2aWRlb21peGVyCgoyMDA5LTEyLTE2IDAxOjMzOjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MTAvOTA2XSBnc3RnbG1peGVyOiBpbmFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0IGJlZm9yZSB0byByZWxlYXNlIG91cnMKCSAgRmlyc3QsIGluYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHRzIGtub3duIGJ5IGVhY2ggc2luayBwYWQuCgkgIFRoZW4sIGRlc3Ryb3kgdGhlIGdsIGNvbnRleHQga25vd24gYnkgdGhlIGdsbWl4ZXIuCgkgIEZpbmFsbHksIHJlLWFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0cy4KCSAgVGhpcyBpcyB0byBzYXRpc2Z5IHRoZSBmYWN0IHRoYXQgbm8gc2hhcmVkIGdsIGNvbnRleHQgbXVzdCBiZSBjdXJyZW50CgkgIHdoZW4gYW4gb3BlbmdsIGNvbnRleHQgaXMgZGVzdHJveWVkLgoJICBNb3Jlb3ZlciB0aGUgYXBwbGljYXRpb24gbWF5IGhhbmcgb3IgY3Jhc2ggd2l0aG91dCB0aG9zZSBzdGVwcy4KCjIwMDktMTEtMjUgMTA6MjQ6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDA5LzkwNl0gZ2xlZmZlY3RzOiBpbmRlbnQgYW5kIGZpeCBzb21lIHdhcm5pbmdzIGluIEVTIDIuMCBtb2RlCgoyMDA5LTExLTIxIDIxOjQwOjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0MDgvOTA2XSBnbGVmZmVjdHM6IHN0YXJ0IHRvIG1ha2UgaXQgY29tcGF0aWJsZSB3aXRoIE9wZW5HTCBFUyAyLjAKCSAgRm9yIG5vdyBvbmx5IGlkZW50aXR5LCBtaXJyb3IgYW5kIHNxdWVlemUgZWZmZWN0cyBhcmUgYXZhaWxhYmxlLgoJICBNYXliZSBzb21lIGZhY3Rvcml6YXRpb24gaXMgbmVlZGVkIGFib3V0IGNvbXBpbGF0aW9uIHNoYWRlcgoJICBiZWZvcmUgdG8gcHV0IHRoZSBvdGhlciBlZmZlY3RzIHNpbmNlIG9ubHkgYSBjb3B5L3Bhc3QgaXMgbmVlZGVkLAoJICBhdCBsZWFzdCB1bnRpbCBlZmZlY3QgbnVtYmVyIDk6IGhlYXQuCgkgIFRoZSBlZmZlY3RzIGZyb20gMTA6c2VwaWEgdG8gMTU6Z2xvdyByZXF1aXJlIG1vcmUgd29yay4KCjIwMDktMTEtMjEgMTM6MzI6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkgIFs0MDcvOTA2XSB3aW5DRSBiYWNrZW5kOiBmaXggYnVpbGQKCjIwMDktMTEtMjEgMTM6MjE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNDA2LzkwNl0gZ2xpbWFnZXNpbms6IGFkZCBhIGNsaWVudC1kYXRhIHByb3BlcnR5CgkgIEFsc28gYWRkIGl0IHRvIGdsZmlsdGVyYXBwLgoJICBGaXhlcyAjNTU5MTMxCgoyMDA5LTExLTE3IDIzOjQ3OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs0MDUvOTA2XSBnbGZpbHRlcjogYWRkIGV4dGVybmFsLW9wZW5nbC1jb250ZXh0IHByb3BlcnR5CgkgIEl0IHJlcGFpcnMgdGhlIGNsdXR0ZXJzaGFyZSBhbmQgc2Rsc2hhcmUgZXhhbXBsZQoKMjAwOS0xMS0xNyAyMjo1NDozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQwNC85MDZdIGdsdXBsb2FkOiByZXBhaXIgZXh0ZXJuYWxfb3BlbmdsX2NvbnRleHQgcHJvcGVydHkKCSAgcWdsd3RleHR1cmVzaGFyZSBub3cgd29ya3MgYWdhaW4uIEluIHRoaXMgZXhhbXBsZSwKCSAgdGhlIHBpcGVsaW5lIGlzIHNyYyAhIGdsdXBsb2FkICEgZmFrZXNpbmsuCgkgIFNvIGluIHRoaXMgY2FzZSB0aGUgZ2x1cGxvYWQgZWxlbWVudCBpcyBhIHNpbmsgaW4KCSAgdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEJ1dCB0aGUgcHJvYmxlbSBpcyBzdGlsbCB0aGVyZSBpZiB0aGUgcGlwZWxpbmUgaXMKCSAgc3JjICEgZ2x1cGxvYWQgISBnbGZpbHRlciAhIGZha2VzaW5rCgkgIChpdCdzIHRoZSBjYXNlIGluIHNkbHNoYXJlIGFuZCBjbHV0dGVyc2hhcmUgZXhhbXBsZXMpCgkgIGJlY2F1c2Ugc2luY2UgcmVjZW50IGNoYW5nZXMgYWJvdXQgaG93IHRoZSBnc3RnbGRpc3BsYXkKCSAgaXMgdHJhbnNtaXR0ZWQgdG8gdGhlIGdsIGVsZW1lbnQsIHRoZSBjb250ZXh0IGlzIHVzdWFsbHkKCSAgY3JlYXRlZCBieSB0aGUgc2luayBpbiB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQSBzb2x1dGlvbiB3b3VsZCBiZSB0byBhbHNvIGluc3RhbGwgdGhpcyBwcm9wZXJ0eSBvbiBnbGZpbHRlci4KCjIwMDktMTEtMTcgMDI6MTY6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs0MDMvOTA2XSBnc3RnbG1peGVyOiBJbml0aWFsaXNlIHRoZSBkZWJ1ZyBjYXRlZ29yeQoJICBJbml0aWFsaXNlIHRoZSBnc3RnbG1peGVyIGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdC4KCjIwMDktMTEtMTcgMDE6MDg6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNDAyLzkwNl0gZ2xvdmVybGF5OiBmaXggc29tZSB3YXJuaW5ncwoKMjAwOS0xMS0xNiAxNDozMjoxNiArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0MDEvOTA2XSBnbG92ZXJsYXk6IEFkZGVkIHJvdGF0ZSB0ZXh0dXJlCgkgIGZpeCAjNjAxMjc3CgoyMDA5LTExLTA1IDE0OjUzOjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQwMC85MDZdIGdzdGdsZGlzcGxheTogbm8gbmVlZCB0aGUgSTQyMCB3b3JrIGFyb3VuZCBpZiBBVEkgTW9iaWxpdHkKCSAgZml4ICM1ODg2NTMKCjIwMDktMTEtMDQgMjM6NDQ6NDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzM5OS85MDZdIGdsbWl4ZXI6IGZpeCB3aGVuIG5vIG1vcmUgZ2wgZWxlbWVudHMgYWZ0ZXIgaXQKCSAgRm9yIGV4YW1wbGU6CgkgIHZpZGVvdGVzdHNyYyAhIGdsdXBsb2FkICEgLi4uICEgZ2xmaXRlciAhIC4uLiAhIGdsbW9zYWljICEgZmFrZXNpbmsKCSAgVXNlZnVsbCB3aGVuIHVzaW5nIGdsbWl4ZXIgaW5zaWRlIGNsdXR0ZXJzaGFyZSBvciBzZGxzaGFyZSBjYXNlcy4KCjIwMDktMTEtMDQgMjM6MTI6NDIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzM5OC85MDZdIGdsZG93bmxvYWQ6IGRvIG5vdCBmb3Jnb3QgdG8gY3JlYXRlIHRoZSBnbCBjb250ZXh0CgkgIGZpeCAjNjAwNjMwCgoyMDA5LTExLTA0IDIzOjExOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbMzk3LzkwNl0gZ2xtb3NhaWM6IGZpeCBhIGNvbXBhcmlzb24gd2FybmluZwoKMjAwOS0xMS0wNCAyMzoxMDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzM5Ni85MDZdIGdsZGlmZmVyZW5jZW1hdHRlOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIHZjOQoKMjAwOS0xMC0yOCAxMDo0MTo1MyArMDEwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSAgWzM5NS85MDZdIGRpZmZlcmVuY2VtYXR0ZTogZml4IHJlZ3Jlc3Npb25zIGZyb20gZ2RrcGl4YnVmIHRvIGxpYnBuZyBtaWdyYXRpb24KCSAgVGhlIGJhY2tncm91bmQgaW1hZ2UgbmVlZHMgdG8gYmUgc2NhbGVkIHRvIGZpdCBjdXJyZW50IHRleHR1cmUgc2l6ZS4KCSAgUHJldmlvdXNseSB0aGlzIHdhcyBkb25lIGJ5IGdka19waXhidWZfc2NhbGVfc2ltcGxlIGJ1dCB0aGF0J3MgYmVlbgoJICByZW1vdmVkLgoJICBDcmVhdGUgYSB0ZXh0dXJlIGZyb20gdGhlIGJhY2tncm91bmQgcGl4YnVmIHdpdGggY29ycmVjdCBkaW1lbnNpb25zIGFuZAoJICB1c2UgaW50ZXJwb2xhdGlvbiBzaGFkZXIgdG8gc2NhbGUgaXQgdG8gdGhlIHJpZ2h0IHNpemUuIEludGVycG9sYXRpb24KCSAgZnJhZ21lbnQgc2hhZGVyIGRvZXNuJ3QgaGF2ZSB0b28gbXVjaCBzZW5zZSBpZiBhbGwgdGhlIHRleHR1cmVzIGRvbid0CgkgIGhhdmUgdGhlIHNhbWUgc2l6ZSBzbyB0aGlzIHNlZW1lZCB0aGUgbW9zdCBuYXR1cmFsIHBsYWNlIHRvIGRvIHRoZQoJICBzY2FsaW5nLiBJdCBjb3VsZCBwcm9iYWJseSBiZSBkb25lIHdpdGggc29tZSBjdXN0b20gdGV4dHVyZSBtYXBwaW5nCgkgIG91dHNpZGUgdGhlIHNoYWRlciBidXQgaXQgaW52b2x2ZWQgbW9yZSBjb2RlLgoJICBGaXhlcyBidWcgIzU5OTg4My4KCjIwMDktMTAtMjcgMTc6MDI6MjMgKzAxMDAgIFByYXRoZWVzaCBHYW5nYWRoYXIgPHByYXRoZWVzaC5nYW5nYWRoYXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzk0LzkwNl0gZ3N0Z2xkaXNwbGF5OiB1c2Ugb2YgR0xfREVQVEhfQ09NUE9ORU5UMTYgaWYgT3BlbkdMIEVTIDIuMAoJICBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UgZG9lcyBub3QgYWNjZXB0IEdMX0RFUFRIX0NPTVBPTkVOVCBpbgoJICBPcGVuR0wgRVMgMi4wLgoJICBGaXggYnVnICM1OTM3ODYKCjIwMDktMTAtMjcgMTU6Mjc6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbMzkzLzkwNl0gZ2xtb3NhaWM6IGZvciBub3cgaXQncyBhIGN1YmUgbW9zYWljCgkgIEFsc28gdXNlIEdQdHJBcnJheSBpbnN0ZWFkIG9mIEdBcnJheSBpbiBnbG1peGVyLgoJICBBbmQgYWRkIGEgcGlwZWxpbmUgdG8gdGVzdHMvcGllcGxpbmVzCgoyMDA5LTEwLTI3IDExOjE0OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbMzkyLzkwNl0gZ2xtb3NhaWM6IGRlc2FjdGl2YXRlIHNoYWRlciB3aGVuIGRvbmUKCjIwMDktMTAtMjYgMTE6NDQ6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszOTEvOTA2XSBDb2NvYTogZml4IGJhY2tlbmQgc2luY2UgcmVjZW50IGNoYW5nZXMKCSAgQmVmb3JlLCB0aGUgd2luZG93IHNpemUgd2FzIGdpdmVuIGF0IGl0cyBjcmVhdGlvbi4gTm93LCBpdCdzIGRvbmUgYXQKCSAgdGhlIGRyYXdpbmcgc3RlcCBiZWNhdXNlIGl0J3Mgb25seSByZWxldmFudCB3aGVuIHRoZXJlIGlzIGEgZ2xpbWFnZXNpbmsKCSAgZWxlbWVudCBpbiB0aGUgcGlwZWxpbmUuCgoyMDA5LTEwLTIzIDIwOjUzOjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzM5MC85MDZdIHJlbW92ZSB3YXJuaW5ncyBmcm9tIHZzOQoKMjAwOS0xMC0yMyAyMDo1MjozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzM4OS85MDZdIGZpeCBjb2RlYmxvY2tzIGJ1aWxkIG9uIHdpbjMyCgoyMDA5LTEwLTIzIDEwOjUyOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFszODgvOTA2XSBqdXN0IGZpeCBidWlsZHMgYW5kIGluZGVudAoKMjAwOS0xMC0yMyAwMToxMToyNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszODcvOTA2XSBnbG1peGVyOiBhZGQgYSBnbG1peGVyIGJhc2UgZWxlbWVudAoJICBnbG1peGVyIGNhbiBiZSBzZWVuIGFzIGEgZ2xmaWx0ZXIgZXhjZXB0IGl0IGhhbmRsZXMgTiByZXF1ZXN0ZWQKCSAgc2luayBwYWRzLgoJICBFYWNoIHNpbmsgcGFkIGFuZCB0aGUgc3JjIHBhZCBhcmUgdmlkZW8veC1yYXctZ2wuCgkgIGdsbWl4ZXIgaXMgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGRpZmZlcmVudCBmcmFtZXJhdGVzIGZyb20gaW5wdXRzLgoJICBJdCB1c2VzIE9wZW5HTCBjb250ZXh0IHNoYXJpbmcuIEl0IG1lYW5zIHRoYXQgZWFjaCBpbnB1dCBpcyBpbiBpdHMKCSAgb3duIE9wZW5HTCBjb250ZXh0IHNoYXJlZCB0b2dldGhlciBhbmQgc2hhcmVkIHdpdGggdGhlIE9wZW5HTCBjb250ZXh0CgkgIG9mIHRoZSBvdXB1dCBnbCBjaGFpbi4KCSAgQWxzbyBhZGQgYSBnbG1vc2FpYyB3aGljaCBpcyBhbiBleGFtcGxlIG9mIGltcGxlbWVudGF0aW9uIG9mIGdsbWl4ZXIuCgkgIEZvciBub3cgZ2xtb3NhaWMgaXMgYSBjdWJlIGJ1dCBpdCB3aWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgkgIEZvciBub3cgdGhlIGdsbWl4ZXIgaGFzIHNvbWUgd2VpcmQgYmVoYXZpb3VycyBpbiBzb21lIGNvbmZpZ3VyYXRpb25zCgkgIGJ1dCBpdCB3aWxsIGJlIGltcHJvdmVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgkgIFRoZSBhdXRvdG9vbHMgYnVpbGRzIGlzIHRlbXBvcmFybHkgYnJva2VuIHNpbmNlIHRob3NlIGNoYW5nZXMKCSAgaGF2ZSBiZWVuIG1hZGUgb24gd2luMzIuCgoyMDA5LTEwLTIzIDAxOjA3OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzg2LzkwNl0gcGl4YnVmZHJvcDogZml4IGV4YW1wbGUgb24gd2luMzIKCjIwMDktMTAtMDQgMDI6MjM6NDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMzg1LzkwNl0gcmV3cml0ZSB0aGUgd2F5IGEgZ3N0Z2xkaXNwbGF5IGlzIHRyYW5zbWl0ZWQgdG8gdGhlIGdsIGVsZW1lbnRzCgkgIEJlZm9yZSwgYSBnc3RnbGRpc3BsYXkgd2FzIGluc3RhbmNpZWQgYnkgdGhlIGdsIHNyYyBpbiB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQW5kIHRoZW4gdGhlIG5leHQgZWxlbWVudCBnb3QgaXQgdGhyb3VnaCB0aGUgZmlyc3QgZ3N0Z2xidWZmZXIuCgkgIE5vdywgdGhpcyBpcyBkb25lIHRob3VnaCBxdWVyaWVzLgoJICBBbGwgZ2xlbGVtZW50cyBnZXQgdGhlaXIgcmVmIG9uIGEgZ3N0Z2xkaXNwbGF5IGluIFJFQURZIHN0YXRlLgoJICBUaGlzIHJld3JpdGUgaXMgbWFpbmx5IGEgZmlyc3Qgc3RlcCB0byBiZSBhYmxlIHRvIHNoYXJlIE9wZW5HTCBjb250ZXh0IGhvbGQKCSAgYnkgdGhlIGdzdGdsZGlzcGxheSB1c2luZyBtb3JlIGNvbXBsZXggZ2xlbGVtZW50cy4KCSAgRm9yIGV4YW1wbGUsIHdpdGggYSBnbHZpZGVvbWl4ZXIuIFRoZSBhc3NvY2lhdGVkIGdzdGdsZGlzcGxheSBvZiBlYWNoIGdsIGNoYWluCgkgIG9mIHRoZSBzaW5rIHBhZHMgd2lsbCBzaGFyZSB0aGVpciBPcGVuR0wgY29udGV4dC4KCjIwMDktMTAtMTYgMTg6MDg6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM4NC85MDZdIGJ1aWxkOiB1c2UgPHN0ZGlvLmg+IC8gInN0ZGlvLmgiCgoyMDA5LTEwLTE2IDE3OjI5OjA4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszODMvOTA2XSBidWlsZDogaW5jbHVkZSA8c3RkaW8uaD4gd2hlbiB1c2luZyBwcmludGYgJiBjby4KCjIwMDktMTAtMTUgMTU6NDA6MTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMzgyLzkwNl0gRVMyLjA6IHJlbW92ZSB3YXJuaW5ncwoJICBQYXJ0aWFsbHkgZml4ICM1OTM3ODYKCjIwMDktMTAtMTUgMTQ6NTk6MDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszODEvOTA2XSBFR0wgYW5kIEdMWDo6IHNldCBhIG1pbmltdW0gZGVwdGggc2l6ZQoKMjAwOS0wOS0yMSAxNTowMDowMiArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszODAvOTA2XSBnbG92ZXJsYXk6IGNhbiBwdXQgdmlkZW8gb3ZlciBwbmcgaW1hZ2VzCgkgIEZpeCBidWcgIzU5NTMwMwoKMjAwOS0wOS0yMSAxMDo1MTo0NyArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzc5LzkwNl0gZ2xvdmVybGF5OiBhZGQgc3VwcG9ydCB0byB1c2UgUkdCIHBuZyBpbWFnZXMKCSAgUHJldmlvdXNseSByZXN0cmljdGVkIHRvIFJHQkEsIG5vdyBnbG92ZXJsYXkgY2FuIGFsc28gaGFuZGxlIGEgUkdCIGltYWdlLgoKMjAwOS0wOS0xOSAxNDozMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzM3OC85MDZdIGdsZGlzcGxheTogYXZvaWQgdG8gcmVxdWVzdCBnbCB0aHJlYWQgd2hlbiBkZWxldGluZyBhIHRleHR1cmUKCSAgQSB0ZXh0dXJlIGlzIG5vdCBkZXN0cm95ZWQgd2hlbiB3aGVuIHdlIGFyZSBkb25lIHdpdGggaXQuCgkgIFRoaXMgdGV4dHVyZSBpcyBqdXN0IGFkZGVkIHRvIHRoZSB0ZXh0dXJlIHBvb2wgaW4gb3JkZXIgdG8gYmUKCSAgcmUtdXNlZC4gSW4gdGhpcyBjYXNlIG5vIE9wZW5HTCBjb2RlIGlzIGV4ZWN1dGVkIHNvIHdlIGRvIG5vdCBuZWVkIHRvCgkgIHJlcXVlc3QgZ2wgdGhyZWFkLgoKMjAwOS0wOS0xOSAxNDoxNjoyNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNzcvOTA2XSBnbGRpc3BsYXk6IGF2b2lkIHRvIHJlcXVlc3QgZ2wgdGhyZWFkIHdoZW4gZ2VuZXJhdGluZyBhIHRleHR1cmUKCSAgVGhhbmtzIHRvIHRoZSB0ZXh0dXJlIHBvb2wgdGhlIGdsIHRleHR1cmVzIGFyZSByZS11c2VkLgoJICBXaGVuIHJlLXVzaW5nIG9uZSwgbm8gb3BlbmdsIGNvZGUgaXMgZXhlY3V0ZWQgc28gZG8gbm90IG5lZWQKCSAgdG8gcmVxdWVzdCBnbCB0aHJlYWQuCgoyMDA5LTA5LTAxIDE1OjIxOjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM3Ni85MDZdIGJ1aWxkOiBzdXBwb3J0IG9wZW5HTEVTIG9uIGxpbnV4IHZpYSBhdXRvZm9vLiBQYXJ0aWFseSBmaXhlcyAjNTkzNzg2CgkgIEFkZCBhIHBrZy1jb25maWcgY2hlY2sgZm9yIG9wZW5nbCBhbmQgaWYgbm90IGZvdW5kIGFzc3VtZSBvcGVuZ2wtZXMuIElmIHVzZXIgaGFzCgkgIG5vbmUgb2YgYm90aCBvbmUgc3RpbGwgZ2V0IGJ1aWxkIGVycm9yIGxhdGVyIG9uICh0aGVyZSBpcyBubyBwa2ctY29uZmlnIGZvcgoJICBvcGVuZ2wtZXMpLgoJICBBZGQgbW9yZSBmaWxlcyB0byBFWFRSQSBkaXN0IGFuZCBidWlsZCB0aGUgb3BlbmdsZXMgdmFyaWFudCBpZiBzZWxlY3RlZC4KCSAgU2ltbWlsYXIgY2hhbmdlcyBjb3VsZCBiZSBkb25lIGZvciB0aGUgd2luQ0UgYmFja2VuZC4KCjIwMDktMDktMDIgMTA6MDY6MzYgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzc1LzkwNl0gZ2xvdmVybGF5OiBjYW4gY29udHJvbCBpbWFnZSBzaXplIGFuZCBwb3NpdGlvbgoJICBGaXggYnVnICM1OTE1OTEKCjIwMDktMDktMDEgMTk6NDY6MTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzQvOTA2XSBzZGxzaGFyZSBleGFtcGxlOiBmaXggYnVpbGQgb24gd2luMzIKCjIwMDktMDgtMzEgMTc6MjY6MzQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzMvOTA2XSBzZGxzaGFyZSBleGFtcGxlOiByZXZpZXcgaW5jbHVkZXMgb3JkZXIgYW5kIGZpeCBjbG9zdXJlCgoyMDA5LTA4LTMxIDE3OjE4OjAxICswMjAwICBNaXF1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzcyLzkwNl0gbWFrZSBzZGxzaGFyZSBleGFtcGxlIHdvcmsgb24gbGludXguIEZpeCBidWcgIzU5MzQ4NgoKMjAwOS0wOC0yNiAyMzo0MzozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3MS85MDZdIHRlc3RzOiBhZGQgc2Rsc2hhcmUgZXhhbXBsZQoJICBJdCBzaG93cyBob3cgdG8gdXNlIGdsIHRleHR1cmVzIHRoYXQgY29tZQoJICBmcm9tIGdzdCBnbCBlbGVtZW50cyBpbnNpZGUgYSBTREwgT3BlbkdMIHNjZW5lCgoyMDA5LTA4LTE3IDE1OjQ4OjA5ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNzAvOTA2XSBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZSB0byBNYWtlZmlsZS5hbSBhbmQgdXBkYXRlIHNwZWMgZmlsZSB0byBhY3R1YWxseSBiZSBmb3IgdGhpcyBwYWNrYWdlCgoyMDA5LTA4LTAzIDE3OjUyOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM2OS85MDZdIGRlZmluZSBtaXNzaW5nIGdsZXcgbWFjcm8gb24gb2xkZXIgdmVyc2lvbnMKCjIwMDktMDgtMDMgMTA6MTM6MDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjgvOTA2XSBDb2NvYSBiYWNrZW5kOiBmaXggY3Jhc2ggd2hlbiByZXNpemluZwoJICBEZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIE5TT3BlbmdsVmlldzo6dXBkYXRlIGlzIG5vdCBzYWZlIGJlY2F1c2UgaXQKCSAganVzdCBjYWxscyB1cGRhdGUgb24gdGhlIG9wZW5nbCBjb250ZXh0IHdoZXJlYXMgd2UgYXJlIG5vdCBpbiB0aGUgZ2wgdGhyZWFkLgoJICBBbHNvIGZpeCB0aGUgd2hpdGUgZmxpY2tlcmluZyB3aGVuIHJlc2l6aW5nLCBiZWNhdXNlIG5vdyB3ZSBuZWVkIHRvIGNhbGwKCSAgdGhlIGRyYXcgY2FsbGJhY2sgbWFudWFsbHkgd2hlbiByZXNpemluZy4KCjIwMDktMDctMzEgMTg6MTc6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMzY3LzkwNl0gZG9jczogZml4IEdzdFh2SW1hZ2VTSW5rIC0+IEdzdEdMSW1hZ2VTaW5rIGFuZCByZWluZGVudAoKMjAwOS0wNy0zMCAwMDozNjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzY2LzkwNl0gZG9jczogbWFrZSByZW1haW5pbmcgZWxlbWVudHMgc2hvdyB1cCBpbiBkb2NzCgkgIFNwbGl0IG91dCBkZWNsYXJhdGlvbnMgaW50byBoZWFkZXIgZmlsZXMgYW5kIGhvb2sgZXZlcnl0aGluZyB1cCBzbwoJICB0aGF0IGZpdmUgbW9yZSBlbGVtZW50cyBzaG93IHVwIGluIHRoZSBwbHVnaW4gZG9jcy4gRml4ZXMgIzU1OTEzNS4KCjIwMDktMDctMjcgMDk6NTg6MjAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjUvOTA2XSBDb2NvYSBiYWNrZW5kOiBtYWtlIHN1cmUgdGhhdCBuc2FwcCBpcyBpbml0aWFsaXplZAoJICBnc3QtbGF1bmNoLTAuMTAgdmlkZW90ZXN0c3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsgdC4gISBxdWV1ZSAhIGdsaW1hZ2VzaW5rCgkgIG5vdyB3b3JrcyBwcm9wZXJseSBvbiBNYWNPU1gKCjIwMDktMDctMjQgMTA6MzM6NDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszNjQvOTA2XSBtYWtlIHRoZSBjbWFrZSBidWlsZCB3b3JrIG9uIE1hY09TWAoJICBXZSBjYW4gbm93IGdlbmVyYXRlIGEgWGNvZGUgcHJvamVjdCAob3IgVW5peCBNYWtmaWxlcyksCgkgIHNlZSBJTlNUQUxMIGZpbGUKCjIwMDktMDctMjQgMTA6MTI6MDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjMvOTA2XSBDb2NvYSBiYWNrZW5kOiBmaXggY3Jhc2ggd2hlbiBjbG9zaW5nCgkgIC0gQWxsIGdzdGdsd2luZG93IG1lbWJlcnMgYXJlIG5vdyBtb2RpZmllZCBvbmx5IGluIHRoZSBnbCB0aHJlYWQKCSAgdG8gYXZvaWQgdGhyZWFkIGNvbmN1cnJlbmN5CgkgIC0gT3BlbkdMIGNvbnRleHQgaXMgbm93IHByb3Blcmx5IGNsZWFuCgkgIC0gZml4IGEgY291cGxlIG9mIHRoaW5ncyBpbiBpbXBsZW1lbnRhdGlvbiBvZiB4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDktMDctMTcgMTY6NDc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszNjIvOTA2XSBtYWtlIGNvY29hIGJhY2tlbmQgd29yayBvbiBNYWNPU1gKCSAgSXQgd29ya3Mgd2l0aCBib3RoIGdzdC1sYXVuY2ggYW5kIGEgY29jb2EgYXBwIChub24tZW1iZWRkZWQgYW5kIGVtYmVkZGVkKQoJICBCdXQgdGhlcmUgaXMgc3RpbGwgc29tZSBwcm9ibGVtczoKCSAgLSBzb21ldGltZXMgY3Jhc2ggd2hlbiBjbG9zaW5nCgkgIC0gZmxpY2tlcmluZyB3aGVuIHJlc2l6aW5nCgkgIC0gZW1iZWRkZWQgbW9kZSBub3QgcGVyZmVjdAoJICBJIHdpbGwgZmlyc3QgbWFrZSB0aGUgQ01ha2UgYnVpbGQgd29yayB3aXRoIGNvY29hIGJhY2tlbmQKCSAgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgYSBYQ29kZSBwcm9qZWN0LgoJICBUaGVuIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gZml4IHRob3NlIGlzc3Vlcy4KCjIwMDktMDctMTQgMjA6MzY6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzYxLzkwNl0gZ3N0Z3RrOiBhZGQgbWlzc2luZyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDctMTQgMjA6MjU6MjggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszNjAvOTA2XSBleGFtcGxlczogYWRkIG1pc3NpbmcgY29weXJpZ2h0L2xpY2Vuc2UgdG8gbXkgZXhhbXBsZXMKCjIwMDktMDctMTMgMTY6MzI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzU5LzkwNl0gZ2w6IExpbmsgd2l0aCAtbG0gYW5kIGZpeCBpbmRlbnRpb24KCjIwMDktMDctMTMgMTI6NTM6MTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM1OC85MDZdIGdzdGdsZGlzcGxheTogQ2xvc2UgYSBzbWFsbCByYWNlIHN0YXJ0aW5nIHRoZSBkaXNwbGF5IHRocmVhZAoJICBUYWtlIHRoZSBkaXNwbGF5IGxvY2sgYmVmb3JlIHNpZ25hbGxpbmcgdGhlIGNyZWF0ZS1jb250ZXh0IGNvbmQKCSAgdG8gZW5zdXJlIHRoZSBjYWxsZXIgaGFzIGRyb3BwZWQgdGhlIGxvY2sgYW5kIGlzIHRoZXJlZm9yZSBsaXN0ZW5pbmcKCSAgZm9yIHRoZSBzaWduYWwuCgoyMDA5LTA3LTEzIDEyOjUyOjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFszNTcvOTA2XSB4MTE6IERvbid0IGNyYXNoIHdoZW4gdGhlIFgxMSBkaXNwbGF5IGlzIG5vdCBhdmFpbGFibGUuCgkgIEVycm9yIG91dCBjbGVhbmx5IGluc3RlYWQgb2YgY3Jhc2hpbmcgd2hlbiB0aGUgWDExIGRpc3BsYXkgY2FuJ3QKCSAgYmUgY29udGFjdGVkLgoKMjAwOS0wNy0xMyAxMjowODoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzU2LzkwNl0gYnVpbGQ6IEZpeCB0eXBvOiBnc3RnbGJ1bWJlci5oIC0+IGdzdGdsYnVtcGVyLmgKCjIwMDktMDYtMjUgMjE6MzI6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzM1NS85MDZdIHNhbWUgbW90aW9uIGNvbXBlbnNhdGlvbgoKMjAwOS0wNi0yNSAwMTozMDo0NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzU0LzkwNl0gZml4IGFuZCBhZGQgZ2xkZWludGVybGFjZSBmaWx0ZXIgdG8gdGhlIGJ1aWxkcwoKMjAwOS0wNi0yNCAxNzo1ODozNSArMDIwMCAganVsaWVuIDxqdWxpZW5AS0pJUy4obm9uZSk+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbMzUzLzkwNl0gYWRkIGEgZ2xkZWludGVybGFjZSBmaWx0ZXIKCSAgR3JlZWR5aCBvcGVyYXRpb24gaW1wbGVtZW50ZWQgdXNpbmcgT3BlbkdMIFNoYWRpbmcgTGFuZ3VhZ2UuCgkgIFdlIGNvdWxkIGFkZCBvdGhlciBvcGVyYXRpb25zIGxhdGVyLgoJICBEb2VzIHNvbWUgZ29vZCByZXN1bHRzIGJ1dCBzdGlsbCBub3QgYXMgZXhwZWN0ZWQuCgkgIFRoYXQncyB3aHkgSSBkbyBub3QgYWRkIGl0IHlldCB0byB0aGUgYnVpbGQuCgoyMDA5LTA2LTEyIDExOjMzOjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFszNTIvOTA2XSBmaXggdHlwbwoJICBDaGFuZ2UgR1NUX0dMX0RJU1BMQVlfUFJPSkVDVElPTl9QRVJTUEVDSVZFIHRvCgkgIEdTVF9HTF9ESVNQTEFZX1BST0pFQ1RJT05fUEVSU1BFQ1RJVkUuCgkgIFJlLWluZGVudCBhIGNvdXBsZSBvZiBmaWxlcyB0aGF0IG5lZWRlZCBpdC4KCjIwMDktMDYtMDkgMjA6MzU6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFszNTEvOTA2XSBhbGxvdyB0byBzd2l0Y2ggeG92ZXJsYXkgd2hpbGUgYmVpbmcgaW4gcGF1c2VkIHN0YXRlCgoyMDA5LTA2LTA3IDIwOjE5OjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzUwLzkwNl0gZml4IHdpbmRvdyBwb3NpdGlvbiB3aGVuIHVzaW5nIHhvdmVybGF5CgkgIHgsIHkgYXJlIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcG9zaXRpb24gaW5zaWRlCgkgIHRoZSBuZXcgcGFyZW50IHdpbmRvdy4KCSAgRml4ZXMgIzU4NDg3NwoKMjAwOS0wNi0wNiAxNDozNDo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzM0OS85MDZdIGNhbiBzd2l0Y2ggeG92ZXJsYXlzIHdoaWxlIHBsYXlpbmcKCSAgRml4ZXMgYnVnICM1ODQ4NzcKCSAgQmVmb3JlIHRoaXMgY29tbWl0IGNhbGxpbmcgImdzdF94X292ZXJsYXlfc2V0X3h3aW5kb3dfaWQiIG1vcmUKCSAgdGhhbiBvbmUgdGltZSwgaGFkIG5vIGVmZmVjdC4KCSAgSXQgbWFpbmx5IGFmZmVjdHMgdGhlIGdsaW1hZ2VzaW5rIGltcGxlbWVudGF0aW9uLgoJICBCdXQgb24gd2luMzIgKGFuZCBDRSksIHNvbWUgc3R1ZmYgaGFzIHRvIGJlIGRvbmUgdG8KCSAgcmVsZWFzZSB0aGUgb2xkIHBhcmVudC4KCSAgQW5kIGFkZCBhIHN3aXRjaHhvdmVybGF5IGV4YW1wbGUgd2hlcmUgdGhlIHVzZXIKCSAgY2FuIGNsaWNrIG9uIGxlZnQvcmlnaHQgcGFydCBvZiB0aGUgbWFpbiB3aW5kb3cgdG8KCSAgc3dpdGNoIHRoZSB4b3ZlcmxheS4KCjIwMDktMDYtMDQgMDk6NTA6NTIgKzAyMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNDgvOTA2XSBBZGQgZ3N0dmlkZW8gdG8gZ2xpbWFnZXNpbmsgTElCQURELiBGaXhlcyBidWcgIzU4NDY4MAoKMjAwOS0wNi0wNCAwMDoyNzo0NCArMDIwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzQ3LzkwNl0gZml4IG1pc2Nhc3Qgb2YgYSBwb2ludGVyIGluIFNldFdpbmRvd0xvbmdQdHIKCSAgR0NDIDQuNC4wIGNvbXBsYWlucyBlcnJvcjogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZQoJICBGaXhlcyAjNTg0Njc4LgoKMjAwOS0wNS0xMiAxMTo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNDYvOTA2XSBGaXggbGlua2luZyBieSBwcm92aWRpbmcgbGlidG9vbCB0aGUgY29ycmVjdCAtLXRhZyBwYXJhbWV0ZXIKCjIwMDktMDUtMTEgMTg6MDY6MTggKzAyMDAgIGp1bGllbiA8anVsaWVuQEtKSVMuKG5vbmUpPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0NS85MDZdIGNoYW5nZSByb3RhdGlvbiBjZW50ZXIgaW4gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDkgMjE6MzA6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0NC85MDZdIFVzZSBhIG1vcmUgY29tcGxleCBnc3QgZ2wgcGlwZWxpbmUgaW4gdGhlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA5IDIxOjI2OjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDMvOTA2XSBBZGQgYSBzaWduYWwgd2F0Y2ggYnVzIGNhbGxiYWNrIHRvIGNoZWNrIGdzdCBtZXNzYWdlcwoKMjAwOS0wNS0wOSAyMDo1MTozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQyLzkwNl0gRml4IHRleHR1cmUgYWN0b3IgdXBkYXRlIGR1ZSB0byBhIHRvbyBzdHJvbmcgdGhyZWFkIGxvY2tpbmcuCgkgIE9uIGxpbnV4LCB0aGUgR1NvdXJjZSBmdW5jIGF0dGFjaGVkIHRvIHRoZSBjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGUKCSAgd2FzIG5vdCBnZXR0aW5nIHRoZSBjcHUgcmVzc291cmNlIHBlcmlvZGljYWxseS4KCSAgQmVjYXVzZSB0aGUgdXNlIG9mIGNsdXR0ZXJfdGhyZWFkc19lbnRlci9sZWF2ZSBpbnNpZGUgdGhlIGZha2VzaW5rCgkgIGNhbGxiYWNrIHNlZW1zIHRvIGJlIHRvbyBzdHJvbmcuCgkgIFNvIHJlbW92ZSB0aGUgdXNlIGlmIGNsdXR0ZXJfdGhyZWFkc19lbnRlci9sZWF2ZSBpbiB0aGUgZmFrZXNpbmsgY2FsbGJhY2suCgkgIFRoZW4gcmVwbGFjZSBHUXVldWUgYnkgR0FzeW5jUXVldWUgdG8ga2VlcCB0aHJlYWQgc2FmZSBhY2Nlc3MgdG8gdGhlCgkgIGNvbW11bmljYXRpb24gcXVldWVzIGJldHdlZW4gY2x1dHRlciBhbmQgZ3N0LWdsLgoJICBDYWxsIGNsdXR0ZXJfdGhyZWFkc19hZGRfaWRsZSB3aXRoIGhpZ2ggcHJpb3JpdHkuCgoyMDA5LTA1LTA5IDE1OjQ0OjA5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDEvOTA2XSBQcm9wZXJseSBjbGVhbiB1cCBwZW5kaW5nIGdzdCBnbCBidWZmZXJzIGluIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA4IDIxOjQzOjU2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDAvOTA2XSBGaXggY2x1dHRlcnNoYXJlIGV4YW1wbGUuCgkgIEl0IHJlcXVpcmVzIGF0IGxlYXN0IGNsdXR0ZXIgMC44LjYgc2luY2UgbG93ZXIgY2x1dHRlciB2ZXJzaW9ucyBhcmUKCSAgbm90IGNvbXBhdGlibGUgd2l0aCBHTF9URVhUVVJFX1JFQ1RBTkdMRV9BUkIuCgkgIFJlbW92ZSB1c2Ugb2YgQ2x1dHRlckVmZmVjdFRlbXBsYWNlIHNpbmNlIGl0IGRvZXMgbm90IGV4aXN0IGluCgkgIGNsdXR0ZXIgMC45LgoKMjAwOS0wNS0wNCAxMToyNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM5LzkwNl0gQ2FzdCB0byBhIEdzdEJ1ZmZlciogYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X2J1ZmZlcl91bnJlZiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAwOS0wNS0wMiAxNDoyNzoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM4LzkwNl0gVXNlIEdRdWV1ZSBpbiB0aGUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDQtMzAgMjM6NDA6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzcvOTA2XSBJbXByb3ZlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgkgIFVzZSBjbHV0dGVyX3RocmVhZHNfQVBJLgoJICBXaGVuIGp1c3QgdXNpbmcgZ2x1cGxvYWQgZnJvbSByZ2IsIHdlIGhhdmUgdG8gYmUgc3VyZSB0aGF0CgkgIHRoZSB1cGxvYWQgdGV4dHVyZSBpcyBub3QgaW4gdXNlIGluIG91ciBnc3QgZ2wgY29udGV4dC4KCjIwMDktMDQtMjAgMTg6MTc6NTQgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszMzYvOTA2XSBbeDExL3gxMUVTXSBmaXggc29tZSBwb2ludGVyIGNhc3Qgd2FybmluZ3MKCjIwMDktMDQtMjAgMjM6NTU6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMzUvOTA2XSBbY29jb2FdIHVwZGF0ZSBzaW5jZSBpbnRlcmZhY2UgY2hhbmdlZAoKMjAwOS0wNC0yMCAyMzo0ODoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM0LzkwNl0gW3dpbjMyL3dpbkNFXSBmaXggc29tZSBwb2ludGVyIGNhc3Qgd2FybmluZ3Mgd2l0aCBtaW5ndwoJICBBbmQgdHVybiBvZmYgZGVwcmVjYXRlZCBXcDY0IG1zdmMgY29tcGlsZXIgb3B0aW9uLgoKMjAwOS0wNC0yMCAwMDo1Mjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbMzMzLzkwNl0gYWRkIGZvcmNlLWFzcGVjdC1yYXRpbyBzdXBwb3J0CgoyMDA5LTA0LTE4IDE2OjA4OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzIvOTA2XSBqdXN0IGdzdC1pbmRlbnQgYW5kIEM5MCBvbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNC0xOCAwODo0MDo1MSAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFszMzEvOTA2XSBpbmRlbnQgYW5kIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTA0LTE4IDEzOjU3OjQ0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzMwLzkwNl0gQ2FuIG5vdyBzaGFyZSB0ZXh0dXJlcyB3aXRoIGFuIGV4dGVybmFsIGdsIGNvbnRleHQKCSAgVGhlIGV4dGVybmFsIG9wZW5nbCBjb250ZXh0IG11c3QgYmUgc3BlY2lmeSB3aGVuIGNyZWF0aW5nCgkgIG91ciBPcGVuR0wgY29udGV4dCAoZ2x4KSBvciBqdXN0IGFmdGVyICh3Z2wpLgoJICBXaGVuIGNhbGxpbmcgZ2xYQ3JlYXRlQ29udGV4dCBvciB3Z2xTaGFyZUxpc3RzLCB0aGUKCSAgZXh0ZXJuYWwgb3BlbmdsIGNvbnRleHQgbXVzdCBub3QgYmUgY3VycmVudC4KCSAgVGhlbiBvdXIgZ2wgY29udGV4dCBjYW4gYmUgY3VycmVudCBpbiB0aGUgZ2wgdGhyZWFkIHdoaWxlCgkgIHRoZSBleHRlcm5hbCBnbCBjb250ZXh0IGlzIGN1cnJlbnQgaW4gYW4gb3RoZXIgdGhyZWFkLgoJICBTZWUgdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYwoKMjAwOS0wNC0xMiAyMjoyNDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzI5LzkwNl0gQnVpbGQgZm9yIENvY29hIG9uIGRhcndpbiwgd2l0aCB2YXJpb3VzIGZpeGVzCgoyMDA5LTA0LTEyIDIwOjAzOjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzMyOC85MDZdIENvbnZlcnQgZ3RrIGV4YW1wbGVzIHRvIHVzZSBoZWxwZXIgbGlicmFyeQoJICBIZWxwZXIgbGliIGltcGxlbWVudHMgZ3N0LWd0ayBnbHVlIG9uIGFsbCBwbGF0Zm9ybXMKCjIwMDktMDQtMTAgMjA6NDI6NTkgKzAyMDAgIEp1bGllbiA8anVsaWVuQEp1bGllbi1LdWJ1bnR1Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzMyNy85MDZdIGZpeCBpbml0IEZCTydzIHRleHR1cmUgYXR0YWNobWVudCBvbiBFUyAyLjAKCjIwMDktMDQtMTAgMjA6MzA6NDYgKzAyMDAgIEp1bGllbiA8anVsaWVuQEp1bGllbi1LdWJ1bnR1Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszMjYvOTA2XSBhZGQgWCBiYWNrZW5kIGZvciBPcGVuR0wgRVMgMi4wCgoyMDA5LTAzLTI5IDE1OjQwOjE2ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjUvOTA2XSBSZXN0b3JlIGdsaW1hZ2VzaW5rIGluc3RlYWQgb2YgeGltYWdlc2luawoJICBQYXJ0aWFsbHkgcmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4gSXQncyBub3QgYW4gaXNzdWUgd2l0aCBnbGltYWdlc2luawoJICBYb3ZlcmxheSBpbnRlcmZhY2UuIEl0J3MgYWx3YXlzIHRoZSBzYW1lIGludGVsIGJ1ZyB3aXRoIGRpcmVjdAoJICByZW5kZXJpbmcgcmVkaXJlY3Rpb24gKHRoZSBvbmUgdGhhdCBhZmZlY3RzIGVhY2ggb3BlbmdsIGFwcGxpY2F0aW9uCgkgIHdpdGggY29tcG9zaXRpbmcgbWFuYWdlcnMpLiBJdCB3b3JrcyBmaW5lIHdpdGggRFJJMiBhbmQgVVhBCgkgIGFjY2VsZXJhdGlvbi4gU3RpbGwgbGVhdmluZyBlZmZlY3RzIGRpc2FibGVkIGJlY2F1c2UgSSdtIHRlc3RpbmcgaW50ZWwKCSAgaGFyZHdhcmUgdGhhdCBkb2Vzbid0IHN1cHBvcnQgRkJPcy4KCjIwMDktMDMtMjkgMDk6MDE6NTUgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyNC85MDZdIFRlbXBvcmFyeSBkaXNhYmxlIGdsaW1hZ2VzaW5rIGluIGNsdXR0ZXJhY3RvcnRlZQoJICBHTGltYWdlc2luayBYT3ZlcmxheSBpbnRlcmZhY2UgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBjb21wb3NpdGUKCSAgcmVkaXJlY3Rpb24gb24gaW50ZWwgKGFuZCBJIGJlbGlldmUgYXRpIHRvbykuIFdpbmRvd3MgYXJlbid0CgkgIHJlZGlyZWN0ZWQgb2Zmc2NyZWVuIGF0IGFsbC4gIFRoaXMgY29tbWl0IGp1c3Qgc2hvd3MgdGhhdCB0aGUgZXhhbXBsZQoJICBjb3JyZWN0eSB3b3JrcyB3aXRoIHhpbWFnZXNpbmsuIFRoZSBtb3N0IGV2aWRlbnQgZGlmZmVyZW5jZSBJIHNlZSBpcwoJICB0aGF0IGdsaW1hZ2VzaW5rIHJlcGFyZW50cyB0aGUgeG92ZXJsYXkgd2luZG93IGludG8gaXRzIG93biB3aGlsZSBib3RoCgkgIHggYW5kIHh2aW1hZ2VzaW5rIGRlc3Ryb3kgdGhlaXIgd2luZG93IGFuZCByZW5kZXIgZGlyZWN0bHkgdG8gdGhlCgkgIHhvdmVybGF5IG9uZS4KCjIwMDktMDMtMjkgMDg6NTE6MTYgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyMy85MDZdIFJlbW92ZSByZWR1bmRhbnQgWE1vdmVXaW5kb3cgY2FsbAoJICBSZXZlcnQgdGhlICJtb3ZlIHdpbmRvd3MiIHRoaW5nIGZyb20gY29tbWl0CgkgIDE3NWY3YTcwN2JjOTIyZjNmYWNjNjNlN2Q5YjZkMDFmOWJiNmIxYjAKCSAgV2luZG93cyBhcmUgb2Zmc2NyZWVuIHdobyBjYXJlcyBhYm91dCB0aGVpciBwb3NpdGlvbj8gSWYgeW91IHNlZSB0aGUKCSAgd2luZG93cyBzb21ldGhpbmcgaXMgZ29pbmcgd3Jvbmcgd2l0aCBjb21wb3NpdGUgcmVkaXJlY3Rpb24uCgoyMDA5LTAzLTE4IDIyOjQ2OjU2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzMyMi85MDZdIFtkb3dubG9hZCBZVVkyL1VZVlldIGZpeCBhIHJlZ3Jlc3Npb24KCSAgVGhlIGNhbGwgdG8gZ2xMb2FkSWRlbnRpdHkgd2FzIHJlbW92ZWQgYnkgbWlzdGFrZSBkdXJpbmcKCSAgT3BlbkdMIEVTIDIuMCBpbnRlZ3JhdGlvbi4KCjIwMDktMDMtMTUgMTQ6NDg6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzIxLzkwNl0gYWRkIE9wZW5HTCBFUyAyLnggc3VwcG9ydC4KCSAgSW4gT3BlbkdMIDIueCBmb3IgRW1iZWRkZWQgU3lzdGVtLCBhIGxvdCBvZiBiYXNpYyBzY2VuZS9kcmF3IGZ1bmN0aW9ucwoJICBoYXZlIGJlZW4gcmVtb3ZlZC4gSXQgbWVhbnMgdGhhdCBldmVyeXRoaW5nIGlzIG1hZGUgdXNpbmcgdmVydGV4IGFuZAoJICBmcmFnbWVudCBzaGFkZXJzLgoJICBJIGhhdmUgYWxzbyBhZGRlZCBhIGdzdGdsd2luZG93IGJhY2tlbmQgZm9yIHdpbkNFIHRoYXQgdXNlcyBFR0wKCSAgKE5hdGl2ZSBQbGF0Zm9ybSBHcmFwaGljcyBJbnRlcmNhY2UpICh3aGljaCBpcyBhIGZ1bGwgcGFydCBvZgoJICBPcGVuR0wgRVMgc3BlY2lmaWNhdGlvbikuIEl0IHJlbW92ZSB0aGUgdXNlIG9mIHdnbC9nbHggZnVuY3Rpb25zLgoKMjAwOS0wMy0wNyAwMzoxMzozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMyMC85MDZdIGZpeCBwb3NpdGlvbiBhbmQgY29udGVudCByZWN0CgoyMDA5LTAzLTA2IDIyOjQzOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzE5LzkwNl0gW3dpbjMyIGJhY2tlbmRdIGZpeCB0cmFuc21pdGlvbiBtZXNzYWdlIHRvIHRoZSBwYXJlbnQuCgkgIFRoZSBRdCBtb3V2ZXhvdmVybGF5IGV4YW1wbGUgc2hvd3MgaG93IHRvIHJvdGF0ZSB0aGUgY3ViZQoJICBieSBtb3ZpbmcgKCtjbGljaykgdGhlIG1vdXZlIG92ZXIgYSBxd2lkZ2V0IHVzaW5nIHhvdmVybGF5CgkgIGludGVyZmFjZS4KCjIwMDktMDItMjYgMTc6NDU6MjEgLTA1MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFszMTgvOTA2XSByZW5hbWUgR05VbWFrZWZpbGUocykgdG8gR05VbWFrZWZpbGUocykuZ251c3RlcAoKMjAwOS0wMi0yNiAwMTowNjo1OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJICBbMzE3LzkwNl0gaW1wbGVtZW50IGdzdGdsd2luZG93IGZvciBDb2NvYSAoTWFjT1MgYW5kIEdOVXN0ZXApCgoyMDA5LTAyLTI1IDAwOjM5OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMxNi85MDZdIHJlbW92ZSBzb21lIHVudXNlZCBIQVZFX0xJQlBORzogbGlicG5nIGlzIGEgcmVxdWlyZWQgcGFja2FnZQoKMjAwOS0wMi0yNSAwMDoxMjoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZToKCSAgWzMxNS85MDZdIGFkZCBHTlVzdGVwIGJ1aWxkCgoyMDA5LTAyLTIzIDExOjA3OjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkgIFszMTQvOTA2XSBBZGQgc3JjZGlyIHRvIGluY2x1ZGVzIGZvciBvdXQtb2Ytc291cmNlIGJ1aWxkcwoJICBXaGVuIHlvdSB1c2UgZ3N0cmVhbWVyIHVuaW5zdGFsbGVkIGFuZCBidWlsZCBvdXRzaWRlCgkgIHRoZSBzb3VyY2UgdHJlZSwgdGhlIGluY2x1ZGVzIG5lZWQgdG8gYmUgc3BlY2lmaWVkIGZvcgoJICBib3RoIHRoZSBzb3VyY2UgdHJlZSBhbmQgdGhlIGJ1aWxkIHRyZWUuCgoyMDA5LTAyLTIzIDEzOjM5OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFszMTMvOTA2XSBpbmRlbnQ6IGRvbid0IHVzZSB0YWJzIGluc2lkZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMKCjIwMDktMDItMjMgMTM6MzU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzEyLzkwNl0gYnVpbGQ6IGluY2x1ZGUgc3RkbGliLmggd2hlbiB1c2luZyBmcmVlKCkuCgoyMDA5LTAyLTIyIDE5OjM2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzMxMS85MDZdIENhc3QgR3N0QnVmZmVyIHN1YmNsYXNzZXMgdG8gR3N0QnVmZmVyICogYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X2J1ZmZlcl91bnJlZigpCgoyMDA5LTAyLTEwIDIyOjM5OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMxMC85MDZdIEdsb2JhbCByZWluZGVudAoJICBJbmRlbnQgcGFyYW1ldGVyczoKCSAgSU5ERU5UX1BBUkFNRVRFUlM9Ii0tYnJhY2VzLW9uLWlmLWxpbmUgXAoJICAtLWNhc2UtYnJhY2UtaW5kZW50YXRpb24wIFwKCSAgLS1jYXNlLWluZGVudGF0aW9uMiBcCgkgIC0tYnJhY2VzLWFmdGVyLXN0cnVjdC1kZWNsLWxpbmUgXAoJICAtLWxpbmUtbGVuZ3RoODAgXAoJICAtLW5vLXRhYnMgXAoJICAtLWN1ZGRsZS1lbHNlIFwKCSAgLS1kb250LWxpbmUtdXAtcGFyZW50aGVzZXMgXAoJICAtLWhvbm91ci1uZXdsaW5lcyBcCgkgIC0tY29udGludWF0aW9uLWluZGVudGF0aW9uNCBcCgkgIC0tdGFiLXNpemU4IFwKCSAgLS1pbmRlbnQtbGV2ZWwyIgoKMjAwOS0wMi0wMyAxODo1ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFszMDkvOTA2XSBSZXBsYXk6IEZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoJICBBbHRob3VnaHQgdGhlIFhFdmVudCdzIHhjbGllbnQuZGF0YS5sIGFycmF5IGlzIGFuIGFycmF5IG9mCgkgIGxvbmdzIHRoZXkgd2lsbCBiZSBjb25zdHJhaW5lZCB0byAzMiBiaXQgYnkgdGhlIFgxMSBwcm90b2NvbC4KCSAgT24gNjQgYml0IGFyY2hpdGVjdHVyZXMgdXNlIHR3byBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gc3RvcmUKCSAgb25lIHBvaW50ZXIuCgkgIFRoaXMgZml4ZXMgc2VnZmF1bHRzIHRoYXQgaGFwcGVuIGF0IGxlYXN0IGZvciBldmVyeSBleGFtcGxlCgkgIG9uIHN0YXJ0dXAuCgoyMDA5LTAyLTA1IDEzOjEzOjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwOC85MDZdIFJlbmFtZSBnbHBpeGJ1Zm92ZXJsYXkgdG8gZ2xvdmVybGF5CgoyMDA5LTAyLTA0IDE2OjU3OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDcvOTA2XSBSZW1vdmUgY29uZGl0aW9uYWxzIG9uIGdka3BpeGJ1ZgoKMjAwOS0wMi0wOCAwMTo1MDoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMwNi85MDZdIGZpeCBDTWFrZSBidWlsZCBhbmQgZnJvemVuIENvZGVCbG9ja3MgYnVpbGQKCjIwMDktMDItMDcgMjE6MTk6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzA1LzkwNl0gQ01ha2UgYnVpbGQgbm93IGNoZWNrcyBmb3IgbGlicG5nCgoyMDA5LTAyLTA1IDE5OjU5OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDQvOTA2XSBvbmx5IGxvYWQgUkdCQSBmaWxlcy5wbmcKCjIwMDktMDItMDQgMTY6MTg6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzAzLzkwNl0gQWRkIGxpYnBuZyBkZXBlbmRlbmN5CgoyMDA5LTAxLTI2IDE2OjMwOjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFszMDIvOTA2XSBGaXggc29tZSB3YXJuaW5ncwoKMjAwOS0wMS0yMyAwMjowNDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzAxLzkwNl0gZGVwZW5kcyBvbiBsaWJwbmcgaW5zdGVhZCBvZiBnZGtfcGl4YnVmCgoyMDA5LTAxLTIyIDAyOjE5OjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwMC85MDZdIHVzZSBsaWJwbmcgaW4gZ2xwaXhidWZvdmVybGF5IGZpbHRlci4KCjIwMDktMDEtMjIgMDE6MTY6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJICBbMjk5LzkwNl0gdXNlIGxpYnBuZyB0byBsb2FkIHRoZSBub3JtYWwgbWFwIGluc3RlYWQgb2YgdXNpbmcgZ2RrcGl4YnVmCgoyMDA5LTAyLTEwIDIxOjU3OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5OC85MDZdIFJldmVydCAiRml4IGluZGVudGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NmU0YWIxOGMyY2Y5ODc2ZjZjMDMxYjlhYmE2MjgyZDBiZDQ1YTkzLgoJICBZb3Ugc2hvdWxkIGhhdmUgYXNrZWQgZmlyc3QuICBBbmQgeW91IHdvdWxkIGhhdmUgYmVlbiB0b2xkICJubyIsCgkgIGJlY2F1c2UgaXQgY2F1c2VzIHBlb3BsZSBvbiBkZXZlbG9wbWVudCBicmFuY2hlcyB0byBkbyBhIGh1Z2UKCSAgYW1vdW50IG9mIGV4dHJhIHdvcmsuCgoyMDA5LTAyLTEwIDIxOjU3OjA4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5Ny85MDZdIFJldmVydCAiRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI4MDc3MWQwOWI1ODYxN2IyNzIwMTAyN2RlMGUxMTk0ZGEzNzZlNzIuCgoyMDA5LTAyLTAzIDE4OjU4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5Ni85MDZdIEZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoJICBBbHRob3VnaHQgdGhlIFhFdmVudCdzIHhjbGllbnQuZGF0YS5sIGFycmF5IGlzIGFuIGFycmF5IG9mCgkgIGxvbmdzIHRoZXkgd2lsbCBiZSBjb25zdHJhaW5lZCB0byAzMiBiaXQgYnkgdGhlIFgxMSBwcm90b2NvbC4KCSAgT24gNjQgYml0IGFyY2hpdGVjdHVyZXMgdXNlIHR3byBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gc3RvcmUKCSAgb25lIHBvaW50ZXIuCgkgIFRoaXMgZml4ZXMgc2VnZmF1bHRzIHRoYXQgaGFwcGVuIGF0IGxlYXN0IGZvciBldmVyeSBleGFtcGxlCgkgIG9uIHN0YXJ0dXAuCgoyMDA5LTAyLTAzIDE4OjMzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5NS85MDZdIEZpeCBpbmRlbnRpb24KCjIwMDktMDItMDMgMTE6MjM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk0LzkwNl0gRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgYnkgdXNpbmcgR19HVUlOVDY0X0ZPUk1BVAoKMjAwOS0wMS0xNSAxODozOTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjkzLzkwNl0gbWluaW1hbCBndGsgZG9jCgoyMDA5LTAxLTA5IDE3OjQ2OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMjkyLzkwNl0gQWRkICdleHRlcm4nIGZvciBkYXRhIHN5bWJvbHMgaW4gaGVhZGVycwoKMjAwOS0wMS0wOSAxNzoyMDoyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyOTEvOTA2XSBBZGQgY2hlY2sgZm9yIEdMRVdfRVhUX2ZyYW1lYnVmZmVyX29iamVjdAoKMjAwOS0wMS0wOCAxOToxODo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyOTAvOTA2XSBTZXQgR0xfTElCUyBjb3JyZWN0bHkgaW4gY29uZmlndXJlLmFjCgkgIFRoaXMgZG9lc24ndCBkZXRlY3QgdGhlIGV4aXN0ZW5jZSBvZiBsaWJyYXJpZXMsIHdoaWNoIG5lZWRzIHRvCgkgIGJlIGZpeGVkLgoKMjAwOS0wMS0wNyAxOToxMTowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI4OS85MDZdIGJ1aWxkIGZpeGVzIGZvciBXaW5kb3dzIGxpYnJhcmllcwoKMjAwOC0xMi0xNCAxMjowNjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyODgvOTA2XSBhZGQgbW9yZSBkZWJ1ZyBvdXB1dHMgYWJvdXQgR0xTTCBhbmQgbWVzYQoKMjAwOC0xMi0xMyAxOTozNjozMiAtMDUwMCAganVsaWVuIDxqdWxpZW5AanVsaWVuLWRlc2t0b3AuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjg3LzkwNl0gZml4IGEgcmVncmVzc2lvbiBhYm91dCBnbFhDaG9vc2VWaXN1YWwgd2hpY2ggZmFpbGVkIHdoZW4gdXNpbmcgbWVzYSwgc28gYXR0cmlidXRlcyBtdXN0IGJlIGxlc3MgcmVzdHJpY3RpdmVzLgoKMjAwOC0xMi0xMyAwMDo1MDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI4Ni85MDZdIFt3aW4zMl0gUmVnaXN0ZXIgd2luZG93IGNsYXNzIGluIGdzdF9nbF93aW5kb3dfY2xhc3NfaW5pdAoKMjAwOC0xMi0wNyAwMzoyNTo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMjg1LzkwNl0gZml4IGdsIGZyYW1lcmF0ZSBpbiBnc3QgY2Fwcy4gQ29uc2lkZXIgcG9zaXRpb24gaW4geG92ZXJsYXkuIEZpeCBpbnZlcnNpb24gYmV0dHdlZW4gQ09MUyBhbmQgUk9XUywgYW5kIG1vdmUgd2luZG93cy4KCjIwMDgtMTEtMjkgMjI6MTY6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODQvOTA2XSB3b3JrYXJvdW5kIGFib3V0IHRoZSBBVEkgc2hhZGVyIGNvbXBpbGVyIG9uIGxpbnV4IChzZXRsb2NhbGUpCgoyMDA4LTExLTI1IDAxOjAxOjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4My85MDZdIGJldHRlciByZXN1bHQgaW4gY3ViZSBhbmQgZG91YmxlY3ViZSBleGFtcGxlLiBBbmQgc29tZSBjbGVhbiB1cCBkZWJ1ZyBhbmQgY29tbWVudHMKCjIwMDgtMTEtMjMgMTY6MTQ6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjgyLzkwNl0gdXBkYXRlIENNYWtlIGJ1aWxkCgoyMDA4LTExLTIzIDE2OjA0OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODEvOTA2XSBNYWtlIGN1YmUgZXhhbXBsZSB3b3JrIG9uIHgxMS4gRmluaXNoIFRPRE8gdGFzayA5LgoKMjAwOC0xMS0yMiAxNjo0MzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjgwLzkwNl0gUmVtb3ZlIHNldF92aXNpYmxlLCBiZWNhdXNlIGl0J3Mgbm93IGF1dG9tYXRpY2FsbHkgZG9uZSB3aGVuIHRoZSBmaXJzdCBwb3N0IHJlZGlzcGxheSBjb21lcy4KCjIwMDgtMTEtMjIgMDA6NTE6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc5LzkwNl0gZmluaXNoIHNldF94d2luZG93X2lkIChnc3RfZ2xfd2luZG93X3NldF9leHRlcm5hbF93aW5faWQpOiBjaGlsZCBpcyByZXNpemVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIHBhcmVudCBpcy4KCjIwMDgtMTEtMjEgMjA6NTE6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc4LzkwNl0gSW1wbGVtZW50IHNldF94d2luZG93X2lkIChnc3RfZ2xfd2luZG93X3NldF9leHRlcm5hbF93aW5kb3dfaWQpLgoKMjAwOC0xMS0yMSAxOTozNzoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzcvOTA2XSBvcGVuIHggY2xpZW50IGNvbm5lY3Rpb24gZm9yIHNlbmRlciBvbmx5IGF0IHN0YXJ0IHVwCgoyMDA4LTExLTIxIDE5OjExOjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Ni85MDZdIGJldHRlciBkZWFsIHdpdGggbGFzdCBwZW5kaW5nIGN1c3RvbSBjYiBhbmQgZGVzdHJveV9jb250ZXh0X2NiCgoyMDA4LTExLTIxIDAxOjMxOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzUvOTA2XSBNYWtlIHN1cmUgdGhlIGdsIHJlc3NvdXJlcyBhcmUgZGVzdHJveWVkIGJlZm9yZSB0byBkZXN0cm95IGdsIHdpbmRvdwoKMjAwOC0xMS0yMCAwMToyNDoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3NC85MDZdIGFkZCBzb21lIG90aGVyIGRlYnVnIG91dHB1dHMgYW5kIGNoZWNrcwoKMjAwOC0xMS0xOSAwMDowNzoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjczLzkwNl0gYWRkIHNvbWUgZGVidWcgb3V0cHV0cyBhYm91dCBWaXN1YWwgYW5kIFhWaXN1YWxJbmZvCgoyMDA4LTExLTE3IDAxOjA0OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Mi85MDZdIGFkZCBhIHZpc2libGUgbWVtYmVyIHRvIGRlYWwgYmV0dGVyIHdpdGggdGhlIGZpcnN0IGV4cG9zZSBldmVudHMKCjIwMDgtMTEtMTYgMTY6NTc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcxLzkwNl0gcmV2ZXJ0IGxhc3QgY29tbWl0IGJlY2F1c2UgdGhlIGNyYXNoIGNvbWVzIGZyb20gbGlic2VsaW51eAoKMjAwOC0xMS0xNSAyMzozMjowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzAvOTA2XSBmaXggdXNlIG9mIGRpZmZlcmVudCBEaXNwbGF5IHN0cnVjdHVyZXMgd2hpY2ggcG9pbnQgb24gdGhlIHNhbWUgZGlzcGxheSBuYW1lCgoyMDA4LTExLTE1IDE4OjUxOjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2OS85MDZdIEJldHRlciBkZWFsIHdpdGggWE5leHRFdmVudCBhbmQgWFNlbmRFdmVudAoKMjAwOC0xMS0xNSAwMjoyNDowNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjgvOTA2XSBCZXR0ZXIgZGVhbCB3aXRoIEF0b21zCgoyMDA4LTExLTE0IDAxOjAwOjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2Ny85MDZdIEdldCByaWRlIG9mIGNhbGxpbmcgc2xlZXAgaW4gZ2wgdGhyZWFkIFggbG9vcAoKMjAwOC0xMS0xMyAwMjowNTozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyNjYvOTA2XSBzZWN1cmUgY2xvc2Ugd2hlbiBjbGlja2luZyBvbiB0aGUgY3Jvc3MKCjIwMDgtMTEtMTMgMDE6Mjk6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgWzI2NS85MDZdIENSTEYgLT4gTEYKCjIwMDgtMTEtMTMgMDE6MjM6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI2NC85MDZdIFJld3JpdGUgZ3N0Z2x3aW5kb3dfeDExLmMgYmVjYXVzZSBYIEFQSSBpcyBub3QgdGhyZWFkIHNhZmUuCgoyMDA4LTExLTExIDAzOjE5OjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2My85MDZdIGRpc2NhcmQgeCBjdXN0b20gbWVzc2FnZXMgd2hpY2ggYXJlIG9mIGRhdGUKCjIwMDgtMTEtMDkgMjM6MjM6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI2Mi85MDZdIFdvcmtzIG9uIGxpbnV4IGJ1dCBzdGlsbCBzb21lIGJ1Z3MuIEZpeCBhdXRvdG9vbHMgIGJ1aWxkLgoKMjAwOC0xMS0wOSAyMjoxNDoyOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjEvOTA2XSBpbXBsZW1lbnQgcXVpdCB4IG1lc3NhZ2UgbG9vcAoKMjAwOC0xMS0wOSAwMjo0NDoyNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2MC85MDZdIHRyeSB0byBtYWtlIFhTZW5kRXZlbnQgYmxvY2tlciAoYXMgd2luMzIgU2VuZE1lc3NhZ2UgaXMpCgoyMDA4LTExLTA2IDIzOjQxOjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjU5LzkwNl0gY29udGludWUgeCBpbXBsZW1lbnRhdGlvbiAoYnV0IHN0aWxsIG5vdCB0ZXN0ZWQpCgoyMDA4LTExLTA2IDAxOjI4OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI1OC85MDZdIHNldHVwIHggbWVzc2FnZSBsb29wCgoyMDA4LTExLTA1IDAyOjA2OjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1Ny85MDZdIGJlZ2luIGdzdGdsd2luZG93X3gxMS5jIGltcGxlbWVudGF0aW9uCgoyMDA4LTEwLTI5IDIzOjUzOjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI1Ni85MDZdIGZpeCBDTWFrZSBhbiBDb2RlQmxvY2tzIGJ1aWxkcwoKMjAwOC0xMC0yOCAyMTo0NDowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjU1LzkwNl0gZml4IHdpbmRvdyBjbG9zdXJlIHdoZW4gdXNpbmcgZ3N0IHhvdmVybGF5IGludGVyZmFjZQoKMjAwOC0xMC0yOCAwMTozODo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTQvOTA2XSBCZXR0ZXIgaGFuZGxlIHdoZW4gdGhlIHBhcmVudCB3aW5kb3cgaXMgcmVzaXppbmcsIGFuZCBjbGVhbnVwIHNvbWUgY29kZQoKMjAwOC0xMC0yOCAwMDoyMjoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjUzLzkwNl0gd2luMzI6IHJlLWltcGxlbWVudCBzdXBwb3J0cyBmb3IgZ3N0IHhvdmVybGF5IGludGVyZmFjZSwgb24gdGhpcyBicmFuY2gKCjIwMDgtMTAtMjUgMTY6MTg6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjUyLzkwNl0gYXZvaWQgYSBkZWFkIGxvY2sgb24gd2luZG93IGNsb3N1cmUKCjIwMDgtMTAtMjUgMDI6MDM6MTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjUxLzkwNl0gUHJvcGVybHkgY2xlYW4gT3BlbkdMIGNvbnRleHRzCgoyMDA4LTEwLTI0IDAxOjM5OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTAvOTA2XSB3aW4zMjogYmFzaWMgc3R1ZmZzIGFyZSB3b3JraW5nIG5vdyBvbiB0aGlzIGJyYW5jaCB3aXRoIHRoaXMgbmV3IGRlZXAgZGVzaWduIChnc3RnbHdpbmRvdykKCjIwMDgtMTAtMjMgMDE6NDA6NTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjQ5LzkwNl0gYmVnaW4gR3N0R0xXaW5kb3cgaW4gb3JkZXIgdG8gdG90YWxseSByZW1vdmUgZ3N0ZnJlZWdsdXQKCjIwMDgtMTAtMTYgMjM6NDc6MDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgWzI0OC85MDZdIGZpeCBtc3ZjIHdhcm5pbmdzIGFuZCB1cGRhdGUgQ01ha2UgYnVpbGQsIHdpbjMyIENvZGVCbG9ja3MgYnVpbGQgYW5kIHZzOCBidWlsZAoKMjAwOC0xMC0xNSAxNjoxODoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsyNDcvOTA2XSBJbXBvcnQgeHJheSBlZmZlY3QKCSAgQWRkIHhyYXkgZWZmZWN0LiBNYXBzIGx1bWEgdG8gYSBuZWdhdGl2ZSwgc2xpZ2h0bHkgY3lhbiB0aW50ZWQsIGN1cnZlLAoJICBhcHBsaWVzIHNvbWUgbGlnaHQgZ2F1c3NpYW4gYmx1ciBhbmQgbXVsdGlwbGllcyBpdCB3aXRoIGl0cyBzb2JlbCBlZGdlcy4gTm90CgkgIHN1cmUgYWJvdXQgdGhlIG5hbWUsIGxpa2VseSB0byBjaGFuZ2UuIFByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0xMC0xNSAxNjoxNDo1MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzI0Ni85MDZdIEFkZCBtdWx0aXBseSBmcmFnbWVudCBzaGFkZXIKCSAgQWRkIGEgZnJhZ21lbnQgc2hhZGVyIHRvIGJsZW5kIHR3byB0ZXh0dXJlcyB3aXRoIG11bHRpcGx5IGJsZW5kIG1vZGUKCjIwMDgtMTAtMTUgMTU6NDk6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbMjQ1LzkwNl0gQWRkIGludmVydCBwcm9wZXJ0eSB0byBzb2JlbCBmaWx0ZXIKCSAgQWRkIGFuIGludmVydCBwcm9wZXJ0eSB0byBzb2JlbF9mcmFnbWVudF9zb3VyY2UgYW5kIFNvYmVsIGZpbHRlci4gVXNlZnVsCgkgIHRvIGhhdmUgZGFyayBlZGdlcyB3aXRoIHdoaXRlIGJhY2tncm91bmQuCgoyMDA4LTEwLTE1IDEyOjUwOjA3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJICBbMjQ0LzkwNl0gTWFrZSBsdW1hX3RvX2N1cnZlIG5vbi1zdGF0aWMKCSAgTWFrZSBsdW1hX3RvX2N1cnZlIHB1YmxpYyBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGFzIGEgc3RlcCBmb3IgbW9yZQoJICBjb21wbGV4IGVmZmVjdHMuCgoyMDA4LTEwLTE1IDEyOjQyOjI5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI0My85MDZdIFN1cHBvcnQgZm9yIG1pc3NpbmcgdmlkZW9mb3JtYXRzIGluIGdsdXBsb2FkCgkgIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIGFscGhhIGNoYW5uZWxlZCB2aWRlb2Zvcm1hdHMgKFJHQkEsIEJHUkEsCgkgIEFSR0IsIEFCR1IpIGluIGdzdF9nbF9kaXNwbGF5X2RvX3VwbG9hZF9maWxsLgoKMjAwOC0xMC0xMyAyMzoxNDoyNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzI0Mi85MDZdIEZpeCBjcmFzaCBpbiBmaWx0ZXJzIHdoZW4gZ29pbmcgdG8gTlVMTCB3aXRoIG5vIGRpc3BsYXkKCjIwMDgtMTAtMTEgMTE6NDU6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjQxLzkwNl0gZml4IENNYWtlIGJ1aWxkCgoyMDA4LTEwLTA0IDIyOjM0OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFsyNDAvOTA2XSBCdWlsZCBndGstZG9jcyBmb3IgcGx1Z2lucy4KCSAgQWRkIGluY2x1ZGUgdG8gb3RoZXJ3aXNlIGVtcHR5IC50eXBlcyBmaWxlIHRvIGZpeCB0aGUgc2Nhbm5lciBidWlsZC4KCSAgRWRpdCBNYWtlZmlsZS5hbSwgLnNlY3Rpb25zLCAtZG9jcy5zZ21sIHRvIHNjYW4gYWxsIHBsdWdpbnMgYW5kIGluY2x1ZGUKCSAgdGhlbSBpbiB0aGUgbWFzdGVyIGZpbGUuIEZpeCB4bWwgZXJyb3JzIGluIHR3byBzb3VyY2VzIChtaXNzaW5nIGNsb3NpbmcKCSAgdGFnKS4KCjIwMDgtMDktMjkgMjM6NDU6MTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjM5LzkwNl0gc3RhcnQgdG8gd3JpdGUgdGhlIGd0ayBkb2MKCjIwMDgtMDktMjUgMjI6MjU6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMjM4LzkwNl0gZml4IGdsZmlsdGVyZ2xhc3MgKHJlYXNvbjogdmlkZW90ZXN0c3JjIHJnYiBpcyBieSBkZWZhdWx0IGJwcD0zMiwgZGVwdGg9MjQsIHNvIGFscGhhIGNoYW5uZWwgaXMgMCkKCjIwMDgtMDktMjQgMTk6MzI6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjM3LzkwNl0gdXBkYXRlIGNtYWtlIGJ1aWxkIGFuZCB0aGUgMiBmcm96ZW4gd2luMzIgYnVpbGRzIChDb2RlQmxvY2tzLCB2czgpCgoyMDA4LTA5LTIzIDEwOjM3OjU4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjM2LzkwNl0gaW1wb3J0IHNvYmVsIGVkZ2UgZGV0ZWN0b3IgZnJvbSBjdnMgYnJhbmNoCgoyMDA4LTA5LTI0IDAyOjA3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFsyMzUvOTA2XSBjYW4gdXNlIHNldmVyYWwgR19MT0dfRE9NQUlOcyBhbmQgR1NUX0NBVGVnb3JpZXMsIHdpdGggbXN2YzgKCjIwMDgtMDktMjIgMDk6NDc6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjM0LzkwNl0gdXNlIHJpZ2h0IGJsZW5kaW5nIGZ1bmN0aW9uIHdpdGggcGl4YnVmIG92ZXJsYXkKCjIwMDgtMDktMjEgMTA6NTg6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjMzLzkwNl0gbm8gbmVlZCB0byBleHBsaWNpdCBzZXQgdGhlIGRlYnVnIGNhdGVnb3J5IGlmIGRlZmF1bHQgb25lIGlzIHVzZWQKCjIwMDgtMDktMjEgMTA6MDQ6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSAgWzIzMi85MDZdIHVzZSB0ZXh0dXJlMSBmb3IgY3VydmUgdGV4dHVyZXMKCjIwMDgtMDktMjEgMTk6MjY6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzMS85MDZdIEFkZCBhIGdsZmlsdGVyZ2xhc3MgaW5zcGlyZWQgZnJvbSBodHRwOi8vd3d3Lm1kay5vcmcucGwvMjAwNy8xMS8xNy9nbC1jb2xvcnNwYWNlLWNvbnZlcnNpb25zCgoyMDA4LTA5LTIxIDE2OjQwOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbMjMwLzkwNl0gZXhwbGljaXQgY2hlY2sgZ19nZXRlbnYgcmV0dXJuIHZhbHVlIHRvIGJlIG5vdCBOVUxMCgoyMDA4LTA5LTIwIDE1OjQ0OjI0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMjkvOTA2XSB1cGRhdGUgYXV0aG9ycyBmcm9tIHRoZSBDVlMgcmVwb3NpdG9yeQoKMjAwOC0wOS0yMCAxNDoxMjo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzIyOC85MDZdIG91dHB1dCBzaGFkZXJzIGluZm8gbG9nIG9ubHkgaWYgR1NUX0dMX1NIQURFUl9ERUJVRyBlbnYgdmFyaWFibGUgaXMgc2V0LiBTaG91bGQgZml4IFRPRE8gdGFzayAxOAoKMjAwOC0wOS0xOSAxMjo0NzowNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJICBbMjI3LzkwNl0gZXhwbGljaXRseSBiaW5kIHRoZSBtYWluIHRleHR1cmUgYW5kIHRoZSBjdXJ2ZSBvbmUgdG8gc2VwYXJhdGUgdW5pdHMgaW4gcmdiIGFuZCBsdW1hIHRvIGN1cnZlIGVmZmVjdHMuIFRoaXMgc2hvdWxkIHNvbHZlIHRoZSBpc3N1ZSBwb2ludGVkIGluIFRPRE8gaXRlbSAyMS4KCjIwMDgtMDktMTggMjI6NTA6MDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI2LzkwNl0gY2hlY2sgb24gd2luMzIgdGhhdCBldmVyeSB0ZXN0cy9waXBlbGluZXMgYW5kIHRlc3RzL2V4YW1wbGVzIChnZW5lcmljLCBndGssIHF0KSBzdGlsbCB3b3JrCgoyMDA4LTA5LTE4IDIxOjEzOjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNS85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gdGhhdCBtYWRlIHRoZSBnbHRlc3RzcmMgZWxlbWVudCBub3Qgd29ya2luZwoKMjAwOC0wOS0xNiAwMjoxMDozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjQvOTA2XSBmaXggYSByZWdyZXNzaW9uIGFib3V0IE1FU0EgWUNiQ3IgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDA4LTA5LTE0IDIzOjIyOjU4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMy85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gKHNvbWV0aW1lcyBhIEZCTyBpcyBuZWVkZWQgZXZlbiBpZiB0aGUgdmlkZW8gc291cmNlIGlzIHJnYikKCjIwMDgtMDktMTQgMTk6NTY6NTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsyMjIvOTA2XSBGaW5pc2ggVE9ETyB0YXNrIDE3CgoyMDA4LTA5LTEzIDE5OjQ3OjQ0ICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjEvOTA2XSBmaXggZ19pbnRfaGFzaCAtPiBnX2RpcmVjdF9oYXNoCgoyMDA4LTA5LTEzIDE4OjE3OjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMC85MDZdIFVzZSBhIGJldHRlciBrZXkgZm9yIHRoZSBwb29sIG9mIHRleHR1cmVzCgoyMDA4LTA5LTEzIDAzOjMyOjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzIxOS85MDZdIFVzZSBhIGdzdCBkZWJ1ZyBjYXRlZ29yeSBmb3IgR3N0R0xEaXNwbGF5IGluc3RlYWQgb2YgZ19wcmludCwgZ3N0LWxhdW5jaC0wLjEwIC0tZ3N0LWRlYnVnPWdsZGlzcGxheTozIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA5LTEyIDAxOjEzOjUwICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzIxOC85MDZdIFRoZSBDTWFrZSBidWlsZCBub3cgd29ya3Mgb24gbXkgS3VidW50dS1LREU0LjEuMQoKMjAwOC0wOS0xMSAwMjowNzoxMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzIxNy85MDZdIEFkZCBjbWFrZSBidWlsZCBodHRwOi8vd3d3LmNtYWtlLm9yZy4gU2VlIENNYWtlIGluc3RhbGwgaW5zdHJ1Y3Rpb25zIGluIHRoZSBJTlNUQUxMIGZpbGUuIChJIGhhdmUgbm90IGNvcnJlY3RseSBjb25maWd1cmVkIHlldCB0aGUgQ01ha2UgYnVpbGQgZm9yIHVuaXgsIEJFIHBhdGllbnQpCgoyMDA4LTA5LTA3IDE3OjQ0OjQyICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTYvOTA2XSBmaXggZ2xidW1wZXIgcmVsYXRlZCBndGsgZGVwZW5kZW5jaWVzCgoyMDA4LTA5LTA3IDE0OjE3OjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjE1LzkwNl0gZ2xidW1wZXIgaXMgY29tcGlsZWQgb25seSB3aGVuIGhhdmluZyBHZGtQaXhCdWYuIEFuZCB1cGRhdGUgd2luMzIgY29kZWJsb2NrcyBidWlsZAoKMjAwOC0wOS0wNyAwMTozODoxMCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbMjE0LzkwNl0gdXBkYXRlIGNvZGVibG9ja3MgYnVpbGQgb24gbGludXggYW5kIGZpeCBhIHdhcm5pbmcKCjIwMDgtMDktMDcgMDE6MjM6MTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJICBbMjEzLzkwNl0gZm9yZ290IHRvIGFkZCB0aGUgYnVtcGVyIGZpbGVzCgoyMDA4LTA5LTA3IDAwOjQ1OjM0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTIvOTA2XSBhZGQgYSBnbGJ1bXBlciAoYnVtcCBtYXBwaW5nIGZpbHRlciB0aHJvdWdoIEdMU0wpIHRoYXQgZXhwb3NlcyBob3cgdG8gdXNlIGJvdGggdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzCgoyMDA4LTA4LTI1IDEwOjM0OjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIxMS85MDZdIEZpeCB1cGxvYWQgQVlVViBhbmQgWVYxMiAoYSByZWdyZXNzaW9uIGluIGxhc3QgY29tbWl0cykKCjIwMDgtMDgtMjQgMTY6MzM6MjYgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMTAvOTA2XSBnZXQgcmlkZSBvZiBhIHdyb25nIGNvbG9yIG9uIG52aWRpYS9saW51eCB3aGVuIGNvbnZlcnRpbmcgeXYxMiB0byByZ2IgdGhyb3VnaCBHTFNMCgoyMDA4LTA4LTI0IDE1OjM5OjE0ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA5LzkwNl0gZml4IHdhcm5pbmdzCgoyMDA4LTA4LTI0IDA0OjI0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwOC85MDZdIGZpeCB1cGxvYWQgQVlVViwgcmVncmVzc2lvbiBkdXJpbmcgdGhlIDIgbGFzdCBjb21taXRzCgoyMDA4LTA4LTI0IDAzOjM4OjQwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwNy85MDZdIG91cHMsIGZpeCBteSBtaXN0YWtlIG9uIGxhc3QgY29tbWl0CgoyMDA4LTA4LTI0IDAzOjEyOjEyICswMjAwICB1bmtub3duIDxMdWNALihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjA2LzkwNl0gRG8gbm90IHVzZSBmcmFtZSBidWZmZXIgb2JqZWN0IHdoZW4gImlucHV0IHZpZGVvIGlzIFJHQiIgb3Igd2hlbiAiR0xTTCBpcyBub3QgYXZhaWxhYmxlIGFuZCBZQ2JDciBpcyBhdmFpbGFibGUiLiBTbyBmcmFtZSBidWZmZXIgb2JqZWN0IGlzIG5vdCBhIHBsdWdpbiByZXF1aXJlbWVudCBhbnltb3JlLiBTbyBJIGRlY3JlYXNlZCB0aGUgT3BlbmdHTCB2ZXJzaW9uIGZyb20gMS40IHRvIDEuMiAobWF5YmUgbGVzcz8pCgoyMDA4LTA4LTIxIDExOjEyOjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMjA1LzkwNl0gdXNlIGEgR0hhc2ggIHRhYmxlIGluc3RlYWQgb2YgYSBHRGF0YSBmb3IgdGhlIHRleHR1cmUgcG9vbAoKMjAwOC0wOC0yMCAxNTo0Nzo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDQvOTA2XSBnZXQgcmlkZSBvZiBhIGJ1ZyBvbiBBVEkgcmVsYXRlZCB0byBZVjEyIHRvIHJnYiBjb252ZXJzaW9uIHRocm91Z2ggR0xTTCBhbmQgYWRkIGFuIGV4YW1wbGUKCjIwMDgtMDgtMjAgMTA6MDI6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjAzLzkwNl0gdXNlIG9wZW5nbCBmb3IgcGl4YnVmIHJlc2l6aW5nIGluIGdscGl4YnVmb3ZlcmxheSwgc3RhcnQgdG8gd29yayBvbiBwcm9wZXJ0aWVzCgoyMDA4LTA4LTIwIDA5OjI2OjQ2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIwMi85MDZdIHVzZSBmaXhlZCBvcGVuZ2wgcGlwZWxpbmUgZm9yIGdscGl4YnVmb3ZlcmxheSAoYW55IGRyYXdiYWNrPykKCjIwMDgtMDgtMjAgMDk6MjQ6NTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjAxLzkwNl0gZml4IGEgc2lnbmVkbmVzcyB3YXJuaW5nCgoyMDA4LTA4LTIwIDAwOjExOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwMC85MDZdIGdldCByaWRlIG9mIGEgQVRJIGJ1ZyByZWxhdGVkIHRvIEdMU0wgY29sb3JzcGFjZSBjb252ZXJzaW9uIGZvciBJNDIwIGFuZCBZVjEyIHRvIHJnYgoKMjAwOC0wOC0xOSAyMjoxNToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OS85MDZdIGFkZCBwaXhidWZkcm9wIHZzOCBwcm9qZWN0CgoyMDA4LTA4LTE5IDIxOjA0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OC85MDZdIGFkZCBmeHRlc3QgdnM4IHByb2plY3QKCjIwMDgtMDgtMTkgMTE6MDc6MTggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTk3LzkwNl0gU2hhZGVycyB3aGljaCBhcmUgaW4gdGhlIHNoYWRlcnN0YWJsZSBhcmUgbm93IHJlbGVhc2VkCgoyMDA4LTA4LTE5IDA5OjQ4OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTk2LzkwNl0gZml4IGEgZGlmZmVyZW5jZW1hdHRlIG1lbW9yeSBpc3N1ZQoKMjAwOC0wOC0xOSAwODo1MDoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5NS85MDZdIGZpeCBnc3RnbGRpZmZlcmVuY2VtYXR0ZSBhbmQgYWRkIGFuIGV4YW1wbGUgYXBwIHRvIHRlc3QgaXQgZHJhZ2dpbmcgYW4gaW1hZ2Ugb3ZlciB0aGUgdmlkZW8gKHdvcmtzIHdpdGggcGl4YnVmb3ZlcmxheSB0b28sIHNlZSBwaXhidWZkcm9wIC0taGVscCkKCjIwMDgtMDgtMTggMjE6NTA6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5NC85MDZdIGFub3RoZXIgdHlwbywgcmVzdG9yZSBvbGQgdHdpcmwgZnJhZ21lbnQgc291cmNlCgoyMDA4LTA4LTE4IDIxOjQzOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTMvOTA2XSBmaXggdHlwb3MKCjIwMDgtMDgtMTggMjE6NDA6MjYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTkyLzkwNl0gY29tcGxldGUgZGlmZmVyZW5jZW1hdHRlIGZpbHRlci4uIEkgZGlkIGl0IHF1aWNrbHksIHByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgd29yawoKMjAwOC0wOC0xOCAyMDoyNToyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxOTEvOTA2XSBsaXR0bGUgY2xlYW51cC4gYWRkIGZpcnN0IGRyYWZ0IG9mIGdzdGdsZGlmZmVyZW5jZW1hdHRlLiBzdGlsbCBkb2Vzbid0IHdvcmsKCjIwMDgtMDgtMTggMTg6NTM6MTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxOTAvOTA2XSBmb3JjZSBjYWxsaW5nIGdsaW1hZ2VzaW5rLT5zdG9wKCkgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoKMjAwOC0wOC0xOCAxNzoxOTowNiArMDIwMCAgdW5rbm93biA8QWRtaW5pc3RyYXRldXJALihub25lKT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzE4OS85MDZdIHVwZGF0ZSB2czggYnVpbGQgYW5kIGZpeCBzb21lIHdhcm5pbmdzIHRoYXQgY29tZXMgZnJvbSB2YzgKCjIwMDgtMDgtMTggMTY6MTY6NTggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE4OC85MDZdIGFkZCBmaXJzdCBkcmFmdCBvZiBhIHBpeGJ1ZiBvdmVybGF5IGVsZW1lbnQuIGFkZCBtYWNyb3MgdG8gb3B0aW9uYWxseSBidWlsZCB0aGUgbGF0dGVyIGlmIGdkay1waXhidWYgaXMgZm91bmQKCjIwMDgtMDgtMTggMTE6NDg6NDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4Ny85MDZdIHJlbW92ZSBleHBvc2UgZXZlbnQgaGFuZGxpbmcsIGl0J3MgbWFwLXVubWFwIHRoYXQgaXMgbm90IGJlaGF2aW5nIGNvcnJlY3RseSwgYW55IGlkZWE/CgoyMDA4LTA4LTE4IDExOjA4OjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODYvOTA2XSBhZGQgZXhwb3NlIGV2ZW50IGhhbmRsaW5nIHRvIGNsdXR0ZXJhY3RvcnRlZQoKMjAwOC0wOC0xOCAxMDo1MDozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg1LzkwNl0gYWRkIGNsdXR0ZXJhY3RvcnRlZSBleGFtcGxlLCBhIG5pY2UgZXhhbXBsZSBhYm91dCBob3cgY2x1dHRlciBjb3VsZCBiZSB1c2VkIHRvIGNyZWF0ZSBhIGxpdmUgcHJldmlldyB3aWRnZXQgZm9yIGdsZWZmZWN0cy4gSXQgdXNlcyB0ZXh0dXJlIGZyb20gcGl4bWFwLCBzdGlsbCBuZWVkcyBzb21lIHdvcmsgcmVnYXJkaW5nIGNsZWFuIGV4aXQgYW5kIGV4cG9zZSBldmVudCBtYW5hZ2VtZW50LgoKMjAwOC0wOC0xOCAwOTowNjowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxODQvOTA2XSBhZGQgYSBjb3VwbGUgb2YgbWFjcm9zIHRvIGF1dG90b29scyB0byBjb21waWxlIHdpdGggdWludHJlcGlkIGF1dG9tYWtlLiByZW1vdmUgYXJyYXkgY29uc3RydWN0b3Igc28gd2UgZG9uJ3QgaGF2ZSB0byBkZXBlbmQgb24gZ2xzbCAjdmVyc2lvbiAxMjAuCgoyMDA4LTA4LTE3IDE3OjQ1OjUyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkgIFsxODMvOTA2XSBhZGQgYW4gZXhhbXBsZSB0byB1c2UgdGV4dHVyZSBmcm9tIHBpeG1hcCB0byBkbyBzb21lIGtpbmQgb2YgeF9vdmVybGF5IG9uIGEgY2x1dHRlcmFjdG9yLiBBIGJldHRlciB3YXkgd291bGQgYmUgdG8gZGlyZWN0bHkgc2hhcmUgZ2wgaGFuZGxlcyBiZXR3ZWVuIGNsdXR0ZXIgYW5kIGdzdGdsIGJ1dCBzdGlsbCBJIGNhbm5vdCBmaW5kIGEgd2F5IHRvIGRvIGl0LgoKMjAwOC0wOC0xNyAxMjoyMTo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE4Mi85MDZdIGFkZCBhIGJldHRlciBzZXBpYSB0b25pbmcgY3VydmUKCjIwMDgtMDgtMTcgMDk6MjQ6MjQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMTgxLzkwNl0gYWRkIGEgdHJhbnNsYXRhYmxlIHN0cmluZyB0byB0ZXN0c3JjIHRvIGdldCByaWQgb2YgcG8gZGlyIGVycm9ycyBhZnRlciBkaXN0Y2xlYW4gYW5kIGdpdCBjbGVhbgoKMjAwOC0wOC0xNiAxNzozNjoxMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTgwLzkwNl0gbWlub3IgY2xlYW51cCBpbiBmeHRlc3QKCjIwMDgtMDgtMTYgMTI6Mzc6MzYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzZGlzdG9ydGlvbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSAgWzE3OS85MDZdIGRpc3RvcnRpb24gZWZmZWN0IGNsZWFudXAKCjIwMDgtMDgtMTYgMTA6MTU6MzEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3OC85MDZdIGltcHJvdmUgZnh0ZXN0IGNvbW1hbmQgbGluZSBvcHRpb24gaGFuZGxpbmcsIGRlZmF1bHQgdG8gdmlkZW90ZXN0c3JjIGlmIG5vIHNvdXJjZSBiaW4gZGVzY3JpcHRpb24gaXMgZ2l2ZW4KCjIwMDgtMDgtMTYgMDk6NDA6NTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTc3LzkwNl0gZml4IGdsZWZmZWN0cyBtZW1vcnkgaXNzdWUgKGluaXQgcmVzb3VyY2VzIG9uIHN0YXJ0IGFuZCByZXNldCB0aGVtIG9uIHN0b3ApCgoyMDA4LTA4LTE2IDA5OjE3OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE3Ni85MDZdIGZpeCBhIHR5cG8KCjIwMDgtMDgtMTYgMDk6MTM6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzUvOTA2XSBhZGQgc2luIGVmZmVjdCAoZGVzYXR1cmF0ZSBldmVyeXRoaW5nIGJ1dCByZWQgc2hhZGVzKS4gc3RpbGwgbmVlZHMgc29tZSB0dW5pbmcuCgoyMDA4LTA4LTE0IDIyOjI4OjE5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTc0LzkwNl0gYWRkIGEgcHJvcGVydHkgdG8gZ2xlZmZlY3RzIHRvIHN3aXRjaCB2aWRlbyBsZWZ0IHRvIHJpZ2h0LCB1c2VmdWwgd2l0aCB3ZWJjYW1zIHRvIHJlc2VtYmxlIGEgbWlycm9yCgoyMDA4LTA4LTE0IDIxOjI5OjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTczLzkwNl0gYWRkIGx1bWF4cHJvIChkZXNhdHVyYXRlICsgY3Jvc3MgcHJvY2VzcykgZWZmZWN0LiBub3RoaW5nIHRvbyBpbXByZXNzaXZlIGJ1dCBJIGxpa2UgaXQuCgoyMDA4LTA4LTE0IDIwOjU0OjU0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzIvOTA2XSBhZGQgc3VwcG9ydCBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgdG8gZnh0ZXN0ICh0cnkgZnh0ZXN0IHZpZGVvdGVzdHNyYyAhIGRlc2lyZWQgY2FwcyAhIGlkZW50aXR5KS4gcmVwb3J0IGEgbmV3IGlzc3VlIG9uIEJVR1MuCgoyMDA4LTA4LTE0IDIwOjAyOjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3MS85MDZdIGltcG9ydCBmeHRlc3QgKGxpdHRsZSBndGsgYXBwIHRvIGVhc2lseSB0ZXN0IGVmZmVjdHMpIGZyb20gY3ZzIGJyYW5jaCwgZml4ZWQgcmdidG9jdXJ2ZS4KCjIwMDgtMDgtMTQgMTc6MDM6MjEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTcwLzkwNl0gdXBkYXRlIGNvZGVibG9ja3MgYnVpbGQKCjIwMDgtMDgtMTQgMTQ6MDg6MjMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNkaXN0b3J0aW9uLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY5LzkwNl0gaW1wb3J0IHJlbWFpbmluZyBkaXN0b3J0aW9uIGVmZmVjdHMgZnJvbSBjdnMgYnJhbmNoIChmaXNoZXllLCB0d2lybCwgYnVsZ2UsIHR1bm5lbCwgc3F1YXJlKQoKMjAwOC0wOC0xNCAxMjozOTowMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE2OC85MDZdIGNsZWFudXAgY3VydmVzIGhlYWRlcgoKMjAwOC0wOC0xNCAxMjoyNjoyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE2Ny85MDZdIGJldHRlciBjcm9zcyBwcm9jZXNzaW5nIGN1cnZlCgoyMDA4LTA4LTE0IDEyOjA5OjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjYvOTA2XSBhZGQgcmdiX3RvX2x1bWFfZnJhZ21lbnQgc291cmNlIGFuZCBjb3JyZXNwb25kZW50IGVmZmVjdC4gdXNlIHRoZSBsYXR0ZXIgZm9yIGEgY3Jvc3MgcHJvY2Vzc2luZyBlZmZlY3QuCgoyMDA4LTA4LTE0IDExOjMxOjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY1LzkwNl0gaW1wb3J0IGx1bWFfdG9fY3VydmUgZWZmZWN0cyAoU2VwaWEsIEhlYXQpIGZyb20gY3ZzIGJyYW5jaCB3aXRoIGJldHRlciB0ZXh0dXJlIG1lbW9yeSBoYW5kbGluZyAodGV4aW1hZ2UgY3VydmVzIG9ubHkgb25jZSkuIFNlcGlhIGN1cnZlIHN0aWxsIG5lZWRzIHNvbWUgbG92ZS4KCjIwMDgtMDgtMTQgMDk6Mzk6NTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMTY0LzkwNl0gcmVuYW1lIGJsZW5kX2ZyYWdtZW50X3NvdXJjZSB0byBzdW1fZnJhZ21lbnRfc291cmNlIGFuZCBhZGQgdW5pZm9ybSBibGVuZGluZyBwYXJhbWV0ZXJzCgoyMDA4LTA4LTE0IDA5OjI2OjIzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjMvOTA2XSBpbXBvcnQgZ2xvdyBlZmZlY3QgKG1heWJlIHRoZSBtb3N0IHRyaWNreSkgZnJvbSBjdnMgYnJhbmNoCgoyMDA4LTA4LTE0IDA4OjAzOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTYyLzkwNl0gaW1wb3J0IHN0cmV0Y2ggZWZmZWN0IGZyb20gY3ZzCgoyMDA4LTA4LTE0IDAwOjA3OjIwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTYxLzkwNl0gaW1wb3J0IHNxdWVlemUgZWZmZWN0IGZyb20gY3ZzCgoyMDA4LTA4LTEzIDIyOjQyOjQ4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE2MC85MDZdIGZvcmdvdCB0byBhZGQgYSBmaWxlCgoyMDA4LTA4LTEzIDIyOjM2OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTkvOTA2XSBzdGlsbCBzb21lIHNvdXJjZSB0cmVlIHJlb3JnYW5pemUsIGZpeGVkIHNvbWUgaXNzdWUgd2l0aCBoZWFkZXJzIGFuZCBpZmRlZnMsIG1vdmVkIGlkZW50aXR5IGludG8gZWZmZWN0cyBkaXIKCjIwMDgtMDgtMTMgMjA6NTg6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTgvOTA2XSBzdGlsbCB3b3JraW5nIG9uIG1lcmdpbiBnc3RnbGVmZmVjdHMsIGFkZCBtaXJyb3IgZWZmZWN0LiByZW9yZ2FuaXplIHNvdXJjZSB0cmVlLgoKMjAwOC0wOC0xMyAxNzo1OTowOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxNTcvOTA2XSBtb3ZlIHRocmVhZF9kb191cGxvYWRfbWFrZSBmcm9tIHRocmVhZF9kb191cGxvYWQgdG8gdGhyZWFkX2luaXRfdXBsb2FkCgoyMDA4LTA4LTEzIDE3OjE2OjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL0JVR1M6CgkgIFsxNTYvOTA2XSBmaXggYSBjcmFzaCB0aGF0IGNvdWxkIGhhcHBlbnMgd2hlbiB1c2luZyBhdCBsZWFzdCAyIGdsIGNvbnRleHQgYW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyBvbiBsaW51eAoKMjAwOC0wOC0xMyAxNjowMToyMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTUvOTA2XSBmaXggc29tZSBlcnJvcnMgYW5kIGNoZWNrIGFsbCB0aGUgcGlwZWxpbmVzIGxpc3RlZCBpbiB0ZXN0cy9waXBlbGluZXMKCjIwMDgtMDgtMTIgMTE6MDk6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE1NC85MDZdIGFkZGVkIGZpcnN0IHNrZWxldG9uIG9mIGdzdGdsZWZmZWN0cywgaW1wb3J0ZWQgYmFzaWMgc3R1ZmYgZnJvbSBjdnMgYnJhbmNoLgoKMjAwOC0wOC0xMSAyMDoxMjowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE1My85MDZdIFRyeSB0byBnZW5lcmVhdGUgdGV4dHVyZXMgd2l0aGluIGdzdGdsZmlsdGVyYmx1ciB0byBzZWUgaWYgdGhlIG5ldyB0aHJlYWRfdXNlX2ZibyB3b3JrcyBib3RoIHdpdGggdGV4dHVyZXMgZnJvbSB0aGUgcG9vbCBhbmQgY3VzdG9tIG9uZXMKCjIwMDgtMDgtMTEgMjA6MDE6NDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTUyLzkwNl0gcmVtb3ZlIGFuIHVubmVlZGVkIChyZWFsbHk/KSBnbFRleEltYWdlCgoyMDA4LTA4LTExIDE5OjA4OjIyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMTUxLzkwNl0gSVNPIEM5MAoKMjAwOC0wOC0xMSAxOTowMTozMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE1MC85MDZdIGdsVGV4SW1hZ2UyRCh3LCBoLCBOVUxMKSBpcyBub3cgY2FsbGVkIG9ubHkgb25lIHRpbWUgKG1lbSBhbGxvYykKCjIwMDgtMDgtMTEgMTc6MjE6MzAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQ5LzkwNl0gc2FtZSBhcyBwcmV2aW91cyBjb21taXQKCjIwMDgtMDgtMTEgMTc6MTc6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQ4LzkwNl0gRml4IHJnYiBpc3N1ZS4gQ3VycmVudCBwcm9ncmFtIHNob3VsZCBhbHdheXMgYmUgc2V0IHRvIDAgd2hlbiBhIG5ldyB0ZXh0dXJlIGlzIGF0dGFjaGVkIHRvIGEgZmJvLgoKMjAwOC0wOC0xMSAxNTo1MzoxMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNDcvOTA2XSBvdXBzIGZvcmdvdCB0byBhZGQgMiBmaWxlcyB0byB0aGUgcHJldmlvdXMgY29tbWl0CgoyMDA4LTA4LTExIDE1OjQwOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxNDYvOTA2XSByZW1vdmUgZmlsdGVyZWRnZQoKMjAwOC0wOC0xMSAxNTozMDozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDUvOTA2XSBnZW4vZGVsIHRoZSBtaWRkbGUgdGV4dHVyZSBvbmx5IG9uZSB0aW1lIGluIHRoZSBnc3RnbGZpbHRlcmJsdXIKCjIwMDgtMDgtMTEgMTE6MjY6MzIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE0NC85MDZdIHJlbW92ZSBnc3RnbGZpbHRlcmJsdXIuaCwgaXQncyBlYXNpZXIgdG8gaGF2ZSBldmVyeXRoaW5nIGluIHRoZSBzYW1lIGZpbGUKCjIwMDgtMDgtMTEgMDk6NTI6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQzLzkwNl0gQWRkIGluaXQgYW5kIHJlc2V0IGNhbGxiYWNrcyBpbiBHc3RHTEZpbHRlciB0byBydW4gYXJiaXRyYXJ5IGdsIGNvZGUgYXQgc3RhcnQgYW5kIHN0b3AuIFVzZWZ1bCB0byBpbml0IGFuZCBjbGVhbnVwIGN1c3RvbSBnbCByZXNvdXJjZXMuCgoyMDA4LTA4LTExIDA5OjAwOjQwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDIvOTA2XSBBZGQgYSBnZW5lcmljIGFjdGlvbiB0byBiZSBhYmxlIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGdsIGNvZGUgd2l0aGluIHRoZSBnbCB0aHJlYWQgd2l0aCBsZXNzIHBhaW4KCjIwMDgtMDgtMTAgMTE6MjI6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0MS85MDZdIHNvbWUgc3RlcHMgdG93YXJkcyBzaW1wbGlmaWNhdGlvbi4gYWRkZWQgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0byBnc3RnbGZpbHRlciBhbmQgc29tZSBjb21tZW50IGhlcmUgYW5kIHRoZXJlCgoyMDA4LTA4LTA1IDEwOjE1OjA3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0MC85MDZdIEZpeCBHTF9TVEFDS19PVkVSRkxPVwoKMjAwOC0wOC0wNCAxMjoxMzoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzEzOS85MDZdIGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB1cGxvYWQvZG93bmxvYWQgc2hhZGVycwoKMjAwOC0wOC0wNCAwOTo1Njo1OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzOC85MDZdIGlzIHRoYXQgdmlkZW9mb3JtYXQgcG9pbnRlciByZWFsbHkgbmVlZGVkPwoKMjAwOC0wOC0wNCAwOTo0NjoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzNy85MDZdIERvbid0IHJlYWxsb2NhdGUgdGV4dHVyZSBtZW1vcnkgZXZlcnkgdGltZSBpbiB1cGxvYWRfKiBmdW5jdGlvbnMuCgoyMDA4LTA4LTAxIDExOjAwOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM2LzkwNl0gcmVpbmRlbnQgZ3N0Z2xkaXNwbGF5IHdpdGggZ3N0cmVhbWVyLWMtbW9kZQoKMjAwOC0wNy0zMSAxNzo0ODowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTM1LzkwNl0gYWRkIGFuZCBtYWtlIHRoZSBGaWxpcHBvJ3MgZ3N0Z2xmaWx0ZXJibHVyIHdvcmtzIG9uIHRoZSBtYXN0ZXIgYnJhbmNoIChleGFtcGxlIG9mIG11bHRpcGxlIHN0ZXAgcmVuZGVyaW5nKQoKMjAwOC0wNy0yNSAwMTo0MzoyOCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTM0LzkwNl0gZml4IG1ha2VmaWxlcyBsaXN0IGZyb20gY29uZmlndXJlLmFjICh0ZXN0cyBoYXZlIGNoYW5nZXMpIGFuZCBmaXggYSB3YXJuaW5nCgoyMDA4LTA3LTIxIDAwOjI0OjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEzMy85MDZdIGZpbmlzaCB0b2RvIHRhc2sgNAoKMjAwOC0wNy0yMCAxNjozODo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMzIvOTA2XSBtYWtlIHRoZSBwbHVnaW4gcHJvcGVybHkgc2h1dGRvd24gd2hlbiBvbmUgb2YgdGhlIGNoZWNrIHJlcXVpcmVtZW50cyBmYWlsZWQKCjIwMDgtMDctMTkgMDg6MzI6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMzEvOTA2XSBmaXggd2FybmluZ3MgKHVudXNlZCB2YXJzKQoKMjAwOC0wNy0xOSAwMzowMDoyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSAgWzEzMC85MDZdIHVzZSBHc3RHTFNoYWRlciBpbiB0aGUgR0xTTCBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMDgtMDctMTggMjI6MzM6NDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFsxMjkvOTA2XSBmaXhlZCB3YXJuaW5nIGZvciB1bnVzZWQgdmFyaWFibGUgKGZhdGFsIHdpdGggLVdlcnJvcikKCjIwMDgtMDctMTggMjE6NTU6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzEyOC85MDZdIGFkZCBHc3RHTFNoYWRlciBzdHVmZnMgaW4gdGhlIHZzOCBwcm9qZWN0LCBmaXggbGFwbGFjaWFuIGZyYWdtZW50IGNvZGUgdG8gbWFrZSBpdCBjb21waWxlIG9uIEFUSSwgYW5kIGZpeCBjaGVjayBmdW5jdGlvbiBhYm91dCBPcGVuZ2wgYW5kIEdsZXcgdmVyc2lvbgoKMjAwOC0wNy0xOCAxMDo0OTozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEyNy85MDZdIEltcG9ydGVkIEdzdEdMU2hhZGVyIGZyb20gY3ZzIGJyYW5jaC4gQWRkZWQgYSBkZW1vIGxhcGxhY2lhbiBjb252b2x1dGlvbiBmaWx0ZXIgdG8gZGVtb25zdHJhdGUgaG93IHRoaXMgY2FuIGJlIGludGVncmF0ZWQgd2l0aCBtaW5pbXVtIGVmZm9ydC4KCjIwMDgtMDctMTYgMTU6MjM6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFsxMjYvOTA2XSBDaGFuZ2Ugc29tZSBndWludHMgdG8gR0x1aW50cyBiZWNhdXNlIG9mIHdhcm5pbmdzIG9uIE9TL1guCgoyMDA4LTA3LTE2IDE1OjIyOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzEyNS85MDZdIEFkZCBsaWJyYXJpZXMgYXMgYXBwcm9wcmlhdGUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDA4LTA3LTE1IDE0OjM2OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFsxMjQvOTA2XSBHbG9iYWwgcmVwbGFjZSBvZiBDUkxGIGxpbmUgZW5kaW5ncyB0byBMRgoKMjAwOC0wNy0xMiAxNDoxODo0NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjMvOTA2XSBYIFNwZWNpZmljOiBiZXR0ZXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIGdzdF9nbF9zZXRfd2luZG93X2lkCgoyMDA4LTA3LTEyIDEzOjI0OjMwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMi85MDZdIGJldHRlciBpbXBsZW1lbnRhdGlvbiBvZiBnc3RfZ2xfZGlzcGxheV9zZXRfd2luZG93X2lkIGZvciB3aW4zMi4gKGNoYW5nZSB0aGUgd2luZG93IG9mIHRoZSBjdXJyZW50IHdnbGNvbnRleHQgaW5zdGVhZCBvZiByZWluaXQgZXZlcnl0aGluZywgYW5kIHNvIGF2b2lkIHNvbWUgcHJvYmxlbXMgYWJvdXQgb3BlbmdsIG9iamVjdHMgdGhhdCBjb3VsZCBiZSBpbml0IGluIHRoZSBwcmV2aW91cyB3Z2xjb250ZXh0IGFuZCBzbyBubyB1c2FibGUgaW4gdGhlIG5ld2VyIHdnbGNvbnRleHQsIGl0IHdoYXQgdGhlIGNhc2UgZm9yIHRoZSBmaXJzdCB0ZXh0dXJlKSBUaGlzIG5ld2VyIGltcGxlbWVudGF0aW9uIGhhcyBub3QgYmVlbiBtYWRlIHlldCBvbiBsaW51eAoKMjAwOC0wNy0xMiAwMToxMzowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjEvOTA2XSBhdm9pZCB1c2Ugb2YgR0xTTCBmdW5jdGlvbnMgd2hlbiBmcmFnbWVudF9zaGFkZXIgaXMgbm90IGF2YWlsYWJsZQoKMjAwOC0wNy0xMSAwNjoyNDoyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjAvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU4MCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMTAgMjM6NTM6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExOS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTc5IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0wNyAyMDo1OToyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE4LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NzMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTA2IDE2OjUwOjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE3LzkwNl0gdXAgZ3RrIGV4YW1wbGUKCjIwMDgtMDctMDUgMjI6NTY6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzExNi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTYzIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0zMCAwMDozODozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTUvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NiA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjkgMTc6Mjc6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTE0LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTUgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI4IDIzOjI4OjExICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFsxMTMvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjggMTU6Mzg6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTEyLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTIgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI0IDIyOjI4OjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzExMS85MDZdIHVwCgoyMDA4LTA2LTIzIDIzOjEyOjM3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzExMC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQ0IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yMyAxODo1NjoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzEwOS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQzIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yMSAyMTozODo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbMTA4LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDAgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTE5IDIzOjM4OjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEwNy85MDZdIGZpeCBvcGVuZ2wgdmVyc2lvbiBjaGVja2VyCgoyMDA4LTA2LTE2IDIzOjEyOjQ4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEwNi85MDZdIHVwIHNvYmVsIGFsZ28KCjIwMDgtMDYtMTUgMTg6MzE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMDUvOTA2XSB1cCBTb2JlbCBmaWx0ZXIgYW5kIGdsL2dsZXcgdmVyc2lvbiBjaGVja2VyCgoyMDA4LTA2LTEzIDAwOjAxOjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTA0LzkwNl0gc3RhcnQgdG8gYWRkIGEgZ2xmaWx0ZXJlZGdlIHRoYXQgcHJvY2VlZHMgZWRnZSBkZXRlY3Rpb24gdXNpbmcgR0xTTAoKMjAwOC0wNi0xMiAyMTo0MDoxNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTAzLzkwNl0gcmVuYW1lIGdsZ3JhcGhpY21ha2VyIC0+IGdsdXBsb2FkIGFuZCBnbHZpZGVvbWFrZXIgLT4gZ2xkb3dubG9hZAoKMjAwOC0wNi0xMSAyMzo0Mzo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIFsxMDIvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzo0Mjo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzEwMS85MDZdIGlkZW0KCjIwMDgtMDYtMTEgMjM6NDA6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFsxMDAvOTA2XSBmaXggd2FybmluZ3MgbGludXgtc3BlY2lmaWMKCjIwMDgtMDYtMTEgMjM6NDA6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMDk5LzkwNl0gdXAgKHN3aXRjaGluZyBsaW51eCBhbmQgd2luMzIpIC4uLiBub3QgZnVuIGVkaXRvciAuLi4KCjIwMDgtMDYtMTEgMjM6Mzg6MzMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDk4LzkwNl0gdXAuLi4KCjIwMDgtMDYtMTEgMjM6MzY6MjUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkgIFswOTcvOTA2XSBmaXggd2FybmluZ3MKCjIwMDgtMDYtMTEgMjM6MzE6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSAgWzA5Ni85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjI2OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5oOgoJICBbMDk1LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MjM6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFswOTQvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoxMjo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswOTMvOTA2XSByZW1vdmUgMiB3YXJuaW5ncwoKMjAwOC0wNi0xMSAyMzowNDo1MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMDkyLzkwNl0gRmluaXNoIHRvIHJldml2ZSB0aGUgZ2x0ZXN0c3JjLiBOZXh0IHN0ZXAgaXMgdG8gZG8gc29tZSByZWZhY3RvcmluZy4KCjIwMDgtMDYtMTEgMTg6MzM6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA5MS85MDZdIHN0YXJ0IHRvIHJldml2ZSB0aGUgZ2x0ZXN0c3JjCgoyMDA4LTA2LTEwIDIzOjAwOjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA5MC85MDZdIHVwCgoyMDA4LTA2LTEwIDIyOjU5OjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4OS85MDZdIGFkZCBhICJnbGNvbG9yc2NhbGUiIGVsZW1lbnQgZXF1aXZhbGVudCB0byAiZmZtZXBnY29sb3JzcGFjZSAhIHZpZGVvc2NhbGUgISBmZm1wZWdjb2xvcnNwYWNlIgoKMjAwOC0wNi0xMCAyMjowODoxMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDg4LzkwNl0gZml4IHNvbWUgY2FwcyBuZWdvY2lhdGlvbnMgdGhvc2UgcGlwZWxpbmVzIHdvcmtzIGZpbmUgOiBnc3QtbGF1bmNoLTAuMTAgLXYgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LCB3aWR0aD0zMjAsIGhlaWdodD0yNDAgISBnbGdyYXBoaWNtYWtlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD03MjAgLCBoZWlnaHQ9NTc2ICEgZ2xmaWx0ZXJjdWJlICEgZ2xpbWFnZXNpbmsgYW5kIGdzdC1sYXVuY2gtMC4xMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsIHdpZHRoPTMyMCwgaGVpZ2h0PTI0MCAhIGdsZ3JhcGhpY21ha2VyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPTcyMCAsIGhlaWdodD01NzYgISBnbGltYWdlc2luawoKMjAwOC0wNi0xMCAxOTowNzo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswODcvOTA2XSBnbGZpbHRlciBjYW4gYWNjZXB0IHRvIGhhdmUgYW4gaW5wdXQgc2l6ZSBkaWZmZXJlbnQgdGhhbiB0aGUgb3V0IHB1dCBzaXplIDogdmlkZW8veC1yYXctZ2wsIHdpZHRoPXcxLCBoZWlnaHQ9dzEgISBnbGZpbHRlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD13MiwgaGVpZ2h0PXcyICEgKGZpeCBldmVyeSBleGFtcGxlcykKCjIwMDgtMDYtMDggMjI6MTE6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDg2LzkwNl0gdXAKCjIwMDgtMDYtMDggMTM6MTU6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswODUvOTA2XSBmaXggcmVncmVzc2lvbnMgYWJvdXQgZ2x2aWRlb21ha2VyLgoKMjAwOC0wNi0wOCAwMjoxOTo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4NC85MDZdIGFkZCBhIGdsZmlsdGVyYXBwIHdoaWNoIGhvbGRzIHRoZSBjbGllbnQgZHJhdyBhbmQgcmVzaGFwZSBjYWxsYmFja3MgKHNvbWUgIndhbnRlZCIgcmVncmVzc2lvbnMgYWJvdXQgdGhlIGdsdmlkZW9tYWtlciwgaGF2ZSBiZWVuIGRvbmUgd2l0aCB0aGlzIHZlcnNpb24uIFdpbGwgYmUgZml4IGluIG5leHQgY29tbWl0cykKCjIwMDgtMDYtMDcgMjE6NTY6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDgzLzkwNl0gZmluaXNoIHRvIGltcGxlbWVudCB0aGUgZ2xmaWx0ZXI6IGV4YW1wbGUgOiBnc3QtbGF1bmNoLTAuMTAgdmlkZW90ZXN0c3JjIG51bV9idWZmZXJzID0gMTAwICEgZ2xncmFwaGljbWFrZXIgISBnbGZpbHRlcmN1YmUgISBnbGltYWdlc2luawoKMjAwOC0wNi0wNyAxNToyNzoxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDgyLzkwNl0gZ2xmaWx0ZXIgY2FuIHJlcXVlc3QsIHVzZSBhbmQgcmVqZWN0IGEgRkJPIChzdGVwIDEpCgoyMDA4LTA2LTA3IDAwOjAxOjE4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODEvOTA2XSBzdGFydCB0byBhZGQgYSBnbGZpbHRlcgoKMjAwOC0wNS0yNCAxMjozNTozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswODAvOTA2XSBmaXggZ3N0ZnJlZWdsdXQgbGludXggaW1wbGVtZW50YXRpb24gdG8gY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3N0eG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA4LTA1LTIyIDIwOjEwOjMxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3OS85MDZdIHVwCgoyMDA4LTA1LTIxIDIyOjQ5OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA3OC85MDZdIHVwIGZyb20ga3VidW50dQoKMjAwOC0wNS0yMSAyMToxNzo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzcvOTA2XSB1cAoKMjAwOC0wNS0yMSAyMToxNTo0NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzYvOTA2XSBjaGVjayBPcGVuR0wgYW5kIEdsZXcgdmVyc2lvbnMKCjIwMDgtMDUtMjAgMTc6NDA6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDc1LzkwNl0gaW5kZW50CgoyMDA4LTA1LTE5IDIzOjA2OjA3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3NC85MDZdIHVwCgoyMDA4LTA1LTE5IDIzOjAzOjIyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3My85MDZdIHVwCgoyMDA4LTA1LTE5IDIxOjM2OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Mi85MDZdIHVwCgoyMDA4LTA1LTE5IDIxOjI4OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3MS85MDZdIHJlbW92ZSBhbGwgd2FybmluZ3MKCjIwMDgtMDUtMTkgMTg6NDU6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDcwLzkwNl0gaW1wbGVtZW50IGFuZCBmaXggb25DbG9zZTogd2hlbiBhIHVzZXIgY2xpY2sgb24gdGhlIGNyb3NzIG9mIGFuIGludGVybmFsIHdpbmRvdyAodGhlcmUgaXMgbm90IHRoaXMgaXNzdWUgd2hlbiB1c2luZyB0aGUgZ3N0eG92ZXJsYXkgaW50ZXJmYWNlKQoKMjAwOC0wNS0xOSAxNjo1NzozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2OS85MDZdIGFkZCBnc3RyZWFtZXIgbGljZW5zZQoKMjAwOC0wNS0xOCAyMDowNToxOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNjgvOTA2XSB1cAoKMjAwOC0wNS0xOCAxOTo1ODo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNjcvOTA2XSB1cAoKMjAwOC0wNS0xOCAxOToxODowNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA2Ni85MDZdIHVwCgoyMDA4LTA1LTE4IDE3OjU1OjU2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMDY1LzkwNl0gdXAKCjIwMDgtMDUtMTggMTY6MDQ6NTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2wuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDY0LzkwNl0gdXAKCjIwMDgtMDUtMTggMTQ6NDc6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMDYzLzkwNl0gdXAKCjIwMDgtMDUtMTggMTE6MTI6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA2Mi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANDIxIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0xNSAxNDoxNjo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC8uY3ZzaWdub3JlOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvY29sb3JfbWF0cml4LmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2MS85MDZdIEZpcnN0IFNWTiBjb21taXQuICBUaGlzIGNvbW1pdCBpcyBhIGhhY2sgdG8gbWFrZSBnaXQtcmViYXNlIHdvcmsKCjIwMDgtMDItMjMgMTU6MTA6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA2MC85MDZdIAkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOiAoZ3N0X2dsX2J1ZmZlcl9mb3JtYXRfZnJvbV92aWRlb19mb3JtYXQpOiAJICBGaXggY29tcGlsZXIgd2FybmluZyBpZiB0aGVyZSBhcmUgdmlkZW8gZm9ybWF0IAkgIGVudW1zIGdzdGdsYnVmZmVyIGRvZXNuJ3Qga25vdyBhYm91dCB5ZXQuICogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOiAoZ3N0X2dsX2Rpc3BsYXlfdXBsb2FkX3RleHR1cmVfcmVjdGFuZ2xlKSwgKGdzdF9nbF9kaXNwbGF5X2RyYXdfdGV4dHVyZSk6IAkgIEZpeCBwcmludGYgZm9ybWF0IGZvciA2NC1iaXQgaW50ZWdlcnMuCgoyMDA4LTAxLTMxIDIzOjQwOjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFswNTkvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBwa2djb25maWcvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46IFJlbmFtZSBwa2djb25maWcgZmlsZXMuICBBbmQgaW5zdGFsbCB0aGVtLiAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6ICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogQWRkIHNvbWUgdGVzdHMgY29waWVkIGZyb20gLWdvb2QuCgoyMDA4LTAxLTMxIDIxOjM1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU4LzkwNl0gCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAJICBUaGUgbGlicmFyeSBuZWVkcyB0byBsaW5rIGFnYWluc3QgbGliZ3N0dmlkZW8tMC4xMC4gCSogZ3N0L2dsL01ha2VmaWxlLmFtOiAJICBUaGUgcGx1Z2luIGRvZXMgbm90IChJIHRoaW5rKSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBHTCBvciBsaWJnc3R2aWRlbywgCSAgc2luY2Ugb3VyIG5ldyBnc3RyZWFtZXIgR0wgbGlicmFyeSBhbHJlYWR5IGRvZXMgdGhhdCwgYnV0IGl0IGRvZXMgCSAgbmVlZCB0byBsaW5rIGFnYWluc3Qgb3VyIGJyYW5kLW5ldyBsaWJnc3RnbC0wLjEwLgoKMjAwOC0wMS0zMSAyMDozMToxMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvLmN2c2lnbm9yZToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU3LzkwNl0gKiBnc3QvZ2wvLmN2c2lnbm9yZTogaW5nb3JlIHNvbWUgZmlsZXMgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06IGRpc3RjaGVjayBmaXhlcyAqIGdzdC9nbC9NYWtlZmlsZS5hbTogZGlzdGNoZWNrIGZpeGVzICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiAtZ29vZCBoYXMgdGhpcyBpbiBDVlMsIHNvIHdlIHdpbGwgdG9vLgoKMjAwOC0wMS0zMSAyMDoyMToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDU2LzkwNl0gKiBjb25maWd1cmUuYWM6IFJlYWRkIHByZS1wa2djb25maWcgT3BlbkdMIGRldGVjdGlvbiwgc2luY2UgcGtnY29uZmlnIHJlcXVpcmVzIE1lc2EgZnJvbSBnaXQgbWFzdGVyLiAqIGdzdC9nbC9nbGltYWdlc2luay5jOiAqIGdzdC9nbC9nc3RvcGVuZ2wuYzogTW92ZSBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbiB0byBlbGVtZW50LiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzogKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDogKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzogKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDogTW92ZSBnbGZpbHRlciB0byBsaWJyYXJ5LiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogQWRkIGdzdHJlYW1lci1iYXNlLTAuMTAgYXMgYSByZXF1aXJlbWVudC4gKiBwby9lbi5wbzogVXBkYXRlLgoKMjAwOC0wMS0xOCAxNToxMzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1NS85MDZdIAkqIGNvbmZpZ3VyZS5hYzogCSogZG9jcy9NYWtlZmlsZS5hbTogCSogZ3N0LWxpYnMvTWFrZWZpbGUuYW06IAkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogCSogZ3N0L2dsL01ha2VmaWxlLmFtOiAqIHRlc3RzL01ha2VmaWxlLmFtOiAJICBGaXggY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXAgYW5kIHNvbWUgICBkaXN0Y2hlY2steSBiaXRzIChub3QgYWxsIHRob3VnaCkuCgoyMDA4LTAxLTE3IDIzOjIzOjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFswNTQvOTA2XSBGaXhlcyB0byBtYWtlIHByb2plY3QgY29tcGlsZS4gIFByb2JhYmx5IHN0aWxsIGRvZXNuJ3Qgd29yay4gKiBjb25maWd1cmUuYWM6ICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QvTWFrZWZpbGUuYW06ICogZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzogKiBwby9MSU5HVUFTOiAqIHdpbjMyL01BTklGRVNUOgoKMjAwOC0wMS0xNyAxOTo0MDozNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTMvOTA2XSBBZGQgcHJvamVjdCBpbmZyYXN0cnVjdHVyZS4gIE5vdCBjb21wbGV0ZSwgZG9lc24ndCB3b3JrLiAqIC5jdnNpZ25vcmU6ICogQVVUSE9SUzogKiBDT1BZSU5HOiAqIENPUFlJTkcuTElCOiAqIElOU1RBTEw6ICogTWFrZWZpbGUuYW06ICogTkVXUzogKiBSRUFETUU6ICogUkVMRUFTRTogKiBSRVFVSVJFTUVOVFM6ICogYXV0b2dlbi5zaDogKiBjb25maWd1cmUuYWM6ICogZG9jcy8uY3ZzaWdub3JlOiAqIGRvY3MvTWFrZWZpbGUuYW06ICogZG9jcy9saWJzL01ha2VmaWxlLmFtOiAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46ICogZXh0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0LXBsdWdpbnMtZ2wuZG9hcDogKiBnc3QtcGx1Z2lucy1nbC5zcGVjLmluOiAqIGdzdC9NYWtlZmlsZS5hbTogKiBtNC8uY3ZzaWdub3JlOiAqIG00L01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy8uY3ZzaWdub3JlOiAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiAqIHN5cy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogKiB0b29scy9NYWtlZmlsZS5hbTogKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgoyMDA4LTAxLTA2IDAzOjAxOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA1Mi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcyBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnVsbHNjcmVlbmluZyBiZWluZyBhbiBleGVjcHRpb24pLiAgRG9lc24ndCBoYW5kbGUgZXhwb3NlIGV2ZW50cyBkaXJlY3RseSB0byB0aGUgR0wgd2luZG93LgoKMjAwOC0wMS0wNiAwMToxOTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDUxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA3LTEyLTMxIDA3OjU1OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1MC85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZyBhIGNoZWNrIGZvciBwcmUtcGtnY29uZmlnIHZlcnNpb25zLgoKMjAwNy0xMi0yOSAwMDozNzo0MCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ5LzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gbW9zdGx5IGNvcnJlY3RseS4gIFJlZW5hYmxlIGluIGJ1aWxkLgoKMjAwNy0xMi0yNyAwNToyNjowNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDgvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcyBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiZSBmaXhlZCBzb29uLgoKMjAwNy0xMi0yNyAwNDoxNToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0Ny85MDZdICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdXMgZm9ybWF0cyB0byBkb3dubG9hZGluZy4gIEZpeCBhIGZldyBwbGFjZXMgd2hlcmUgd2UgbGVhayBHTCBzdGF0ZSB0byBvdGhlciBlbGVtZW50cyAoYmFkLCBidXQgaGFyZCB0byBwcmV2ZW50KS4KCjIwMDctMTItMjcgMDA6NTI6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9jb2xvcl9tYXRyaXguYzoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQ2LzkwNl0gKiBzeXMvZ2xzaW5rL0JVR1M6ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYSBHc3RHTEJ1ZmZlckZvcm1hdCB0eXBlIHRoYXQgY29ycmVzcG9uZHMgdG8gaG93IHRvIHVzZSB0aGUgdGV4dHVyZSwgbm90IHRoZSBvcmlnaW5hbCB2aWRlbyBmb3JtYXQuICBDb252ZXJ0IGdzdGZsZmlsdGVyLmMgaW50byBhIGJhc2UgY2xhc3MsIGFkZCBnbGZpbHRlcmV4YW1wbGUgYW5kIGdsY29udmVydCBlbGVtZW50cy4gKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOiBNaW5vciByYW1ibGluZ3MgYWJvdXQgY29sb3IgY29udmVyc2lvbiBtYXRyaWNlcy4KCjIwMDctMTItMjUgMDA6MzQ6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0NS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMgR0wgcmVuZGVyaW5nIHRvIGNyZWF0ZSBpbWFnZXMuICBNb3JlIGNsZWFudXAuCgoyMDA3LTEyLTI0IDIxOjI2OjM4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzA0NC85MDZdICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCjIwMDctMTItMjQgMjE6MDQ6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzA0My85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6IFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgoyMDA3LTEyLTI0IDIwOjUzOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZSBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLCBmaWx0ZXJpbmcgYWxsIHdvcmsuCgoyMDA3LTEyLTIyIDA1OjAxOjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gQ2hlY2twb2ludCBiZWNhdXNlIEknbSBhYm91dCB0byByZXdyaXRlIGEgYnVuY2ggb2YgY29kZS4KCjIwMDctMTItMjEgMDA6MDM6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQwLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtb3ZlIEdMRHJhd2FibGUsIHNpbmNlIEdzdEdMRGlzcGxheSBub3cgaGFzIGEgZGVmYXVsdCBkcmF3YWJsZSBhbmQgY29udGV4dC4KCjIwMDctMTItMTggMDE6MjU6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM5LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZCBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Zi4gIFVudGVzdGVkLiAgV2lsbCBsaWtlbHkgY3Jhc2ggeW91ciBtb3RvcmN5Y2xlIGlmIHlvdSB0cnkgaXQuICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBSZW1vdmUuCgoyMDA3LTEyLTE2IDIyOjU3OjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzAzOC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCjIwMDctMTItMTYgMDA6MTY6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSAgWzAzNy85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6IEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkgZHJpdmVyLiA6KAoKMjAwNy0xMi0xNSAxOTozMToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzNi85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCjIwMDctMTItMTUgMDY6MzM6MzYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzUvOTA2XSAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLiBUaGlzIHNob3VsZCBldmVudHVhbGx5IG1vdmUgdG8gLWJhc2UuICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFVzZSB0aGUgbmV3IHZpZGVvLWNvbW1vbi5oIHN0dWZmLiAgUmVhZGQgc3VwcG9ydCBmb3IgUkdCIHZpZGVvLgoKMjAwNy0xMi0xNCAxNjoyMzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDM0LzkwNl0gdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA3LTEyLTEyIDAyOjMzOjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkgIFswMzMvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYSBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhc2lvbmFsbHkgZHVlIHRvIGRpZmZlcmVudCB0aHJlYWRzIHRvdWNoaW5nIGJpdHMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMDctMDYtMDYgMTU6NTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3Npbmtfc3RvcCksIChnc3RfZ2xpbWFnZV9zaW5rX2NyZWF0ZV93aW5kb3cpLCAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpbmdsZSBnbGltYWdlc2luay4KCjIwMDctMDUtMTggMTI6Mzk6NDkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0IG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIGZvcm1hdHMsIG5vdCBqdXN0IHRoZSB0ZW1wbGF0ZSBjYXBzLiBGaXhlczogIzQzOTQwNQoKMjAwNy0wNC0wMyAyMjozNjo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgoyMDA2LTA5LTIzIDAwOjI4OjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI5LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LiAoZml4ZXMgIzM1NzIxMikKCjIwMDYtMDktMjIgMTU6NTk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjgvOTA2XSAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKHBsdWdpbl9pbml0KTogTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbid0IHRydW1wIHBsdWdpbnMgaW4gLWJhc2UsIC1nb29kIG9yIC11Z2x5IChpbiB0aGlzIGNhc2UgeGltYWdlc2luaykuICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAocGx1Z2luX2luaXQpOiBTZXQgcmFuayB0byBOT05FIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCB1bnRpbCBlcnJvcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgKHNlZSAjMzU3MjEyKS4KCjIwMDYtMDgtMTUgMTk6Mjk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjcvOTA2XSAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2dldF9wcm9wZXJ0eSk6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19nZXRfcHJvcGVydHkpOiBGaXggbGVha3MgKCMzNTE1MDIpLgoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNi85MDZdICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6ICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKiBleHQvbGlibW1zL2dzdG1tcy5jOiAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6ICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNS85MDZdICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6ICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6ICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6ICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6ICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOiAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6ICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6ICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6ICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6ICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6ICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KTogKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6ICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6ICogZXh0L3Nob3V0L2dzdHNob3V0LmM6ICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOiAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KTogKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6ICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6ICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6ICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6ICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6ICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6ICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOiAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOiAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6ICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6ICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6ICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6ICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6ICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOiAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6ICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6ICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6ICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOiAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNC85MDZdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMi0yNSAyMTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSAgWzAyMy85MDZdIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgoyMDA2LTAyLTIyIDE0OjM3OjIwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjIvOTA2XSAgICAgICAgICogY29uZmlndXJlLmFjOiAgICAgICAgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogICAgICAgTWVyZ2UgcGF0Y2ggZnJvbSAjMzE3MDQ4IGZvciBidWlsZGluZyBvbiBDeWd3aW4uIFBhdGNoIGJ5IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLiAgICAgICAgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiAgICAgICAgIE1vdmUgbm9ybWFsIGRlYnVnIG91dHB1dCB0byBMT0cgbGV2ZWwgbm90IEVSUk9SLgoKMjAwNi0wMi0xNCAxMTozNjozMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgWzAyMS85MDZdIDIwMDYtMDItMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uCgkgIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoKMjAwNi0wMS0zMCAxNTo0Nzo0NyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDIwLzkwNl0gMjAwNi0wMS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIChsaWJnc3RnbGltYWdlc2lua19sYV9DRkxBR1MpOiBBZGQgUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicy4KCjIwMDYtMDEtMjggMTI6NDU6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDE5LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgoyMDA2LTAxLTI4IDA0OjM5OjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJICBbMDE4LzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE3LzkwNl0gICAgICAgICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogICAgICAgICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOiAgICAgICAgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKTogICAgICAgICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6ICAgICAgICAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKTogICAgICAgICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6ICAgICAgICAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICAgICAgICAgKCMzMjIwMjcpCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNi85MDZdICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKTogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KTogKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KTogKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KTogKiBleHQvamFjay9nc3RqYWNrLmg6ICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLCAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6ICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6ICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9uYXMvbmFzc2luay5oOiAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOiAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLCAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuaDogKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KTogKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KTogKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6ICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KTogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDogKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KTogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOiAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOiAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLCAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLCAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOiAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDogKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KTogKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLCAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOiAqIHN5cy92Y2QvdmNkc3JjLmg6IHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTA5LTA1IDE3OjIwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE1LzkwNl0gICAgICAgICAgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA0LTExLTAxIDE0OjQzOjM4ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE0LzkwNl0gKiBleHQvYWxzYS9nc3RhbHNhLmM6IChnc3RfYWxzYV9jbGFzc19pbml0KSwgKGdzdF9hbHNhX2Rpc3Bvc2UpLCAgICAgICAgIChnc3RfYWxzYV9maW5hbGl6ZSk6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9jZGF1ZGlvX2ZpbmFsaXplKTogKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhLmM6IChjZHBhcmFub2lhX2NsYXNzX2luaXQpLCAoY2RwYXJhbm9pYV9maW5hbGl6ZSk6ICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfZGlzcG9zZSk6ICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAoZ3N0X2RpdnhlbmNfZGlzcG9zZSk6ICogZXh0L2R2ZHJlYWQvZHZkcmVhZHNyYy5jOiAoZHZkcmVhZHNyY19jbGFzc19pbml0KSwgICAgICAgICAoZHZkcmVhZHNyY19maW5hbGl6ZSk6ICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfY2xhc3NfaW5pdCksIChnc3RfZmxhY2RlY19maW5hbGl6ZSk6ICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfY2xhc3NfaW5pdCksICAgICAgKGdzdF9mbGFjZW5jX2ZpbmFsaXplKTogKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWV2ZnNzaW5rX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfZ25vbWV2ZnNzaW5rX2ZpbmFsaXplKTogKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZXZmc3NyY19jbGFzc19pbml0KSwgKGdzdF9nbm9tZXZmc3NyY19maW5hbGl6ZSk6ICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9mYW1lZW5jX2ZpbmFsaXplKTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfbmFzc2lua19maW5hbGl6ZSk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KTogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC9taXhlci9taXhlcnRyYWNrLmM6IChnc3RfbWl4ZXJfdHJhY2tfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3R1bmVyL3R1bmVyY2hhbm5lbC5jOiAoZ3N0X3R1bmVyX2NoYW5uZWxfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3R1bmVyL3R1bmVybm9ybS5jOiAoZ3N0X3R1bmVyX25vcm1fZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3h3aW5kb3dsaXN0ZW5lci94d2luZG93bGlzdGVuZXIuYzogKGdzdF94X3dpbmRvd19saXN0ZW5lcl9kaXNwb3NlKTogKiBnc3QvYXVkaW9zY2FsZS9nc3RhdWRpb3NjYWxlLmM6ICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpLCAocGxheV9vbl9kZW1hbmRfZmluYWxpemUpOiAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzogKGdzdF92aWRlb2JhbGFuY2VfZGlzcG9zZSk6ICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvc2NhbGVfY2hhaW4pOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCksICAgICAoY2RwbGF5ZXJfZmluYWxpemUpOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maW5hbGl6ZSksICAgICAgICAgKGdzdF9nbGltYWdlc2lua19jbGFzc19pbml0KTogKiBzeXMvb3NzL2dzdG9zc2VsZW1lbnQuYzogKGdzdF9vc3NlbGVtZW50X2NsYXNzX2luaXQpLCAoZ3N0X29zc2VsZW1lbnRfZmluYWxpemUpOiAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc3NpbmtfZGlzcG9zZSk6ICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3NzcmNfZGlzcG9zZSk6ICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9kaXNwb3NlKTogICAgICAgICAgIEZpeGVzIGEgYnVuY2ggb2YgcHJvYmxlbXMgd2l0aCBmaW5hbGl6ZSBhbmQgZGlzcG9zZSBmdW5jdGlvbnMsICAgICAgICAgICBlaXRoZXIgYXNzdW1wdGlvbnMgdGhhdCBkaXNwb3NlIGlzIG9ubHkgY2FsbGVkIG9uY2UsIG9yIG5vdCBjYWxsaW5nICAgICAgICAgICB0aGUgcGFyZW50IGNsYXNzIGRpc3Bvc2UvZmluYWxpemUgZnVuY3Rpb24KCjIwMDQtMDgtMjcgMTk6MTg6MjQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTMvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua194aW1hZ2VfcHV0KSwgKGdzdF9nbGltYWdlc2lua194d2luZG93X25ldyksIChnc3RfZ2xpbWFnZXNpbmtfeGNvbnRleHRfZ2V0KSwgKGdzdF9nbGltYWdlc2lua19maXhhdGUpOiAgTW92ZSBsb2NhbCB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gbWFrZSBnY2MtMi45NSBoYXBweS4KCjIwMDQtMDgtMDkgMjA6MTY6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAxMi85MDZdICogc3lzL2dsc2luay9BUkJfbXVsdGl0ZXh0dXJlLmg6ICBSZW1vdmUgb2xkIGZpbGVzLiAqIHN5cy9nbHNpbmsvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDogKiBzeXMvZ2xzaW5rL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfbnZpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfcGRyaW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsX3JnYmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbHNpbmsuYzogKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x4d2luZG93LmM6ICogc3lzL2dsc2luay9yZWdjb21iX3l1dnJnYi5jOgoKMjAwNC0wOC0wOSAyMDoxNDo1MSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSAgWzAxMS85MDZdIFBhdGNoIGZyb20gR2Vybm90IFppZWdsZXIgPGd6QGx5c2F0b3IubGl1LnNlPiByZXdyaXRpbmcgdGhlIEdMIHNpbmsgcGx1Z2luLiAgKEJ1ZyAjMTQ3MzAyKSAqIGNvbmZpZ3VyZS5hYzogVGVzdCBmb3IgT3BlbkdMICogc3lzL01ha2VmaWxlLmFtOiBVc2UgdGVzdCBmb3IgT3BlbkdMICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IHJld3JpdGUgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6IHJld3JpdGUKCjIwMDQtMDMtMTUgMTk6MzI6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDEwLzkwNl0gZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1MyArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkgIFswMDkvOTA2XSAgICAgICAgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDA4LzkwNl0gZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwNDoxNTo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA3LzkwNl0gKiBleHQvZmZtcGVnL2dzdGZmbXBlZy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2NvZGVjbWFwLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVjLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYzogICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6ICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogICogZXh0L2xpYnBuZy9nc3RwbmcuYzogICogZXh0L21wZWcyZGVjL3BlcmZ0ZXN0LmM6ICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAgKiBnc3QtbGlicy9nc3QvcmVzYW1wbGUvZHRvcy5jOiAgKiBnc3QvaW50ZmxvYXQvZ3N0aW50ZmxvYXRjb252ZXJ0LmM6ICAqIGdzdC9vbmV0b24vZ3N0b25ldG9uLmM6ICAqIGdzdC9ydGpwZWcvUlRqcGVnLmM6ICAqIGdzdC9ydHAvZ3N0cnRwLmM6ICAqIHN5cy9keHIzL2R4cjNpbml0LmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xfbnZpbWFnZS5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsX3BkcmltYWdlLmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmM6ICAqIHRlc3RzdWl0ZS9nc3QtbGludDogIE1ha2Ugc3VyZSBldmVyeWJvZHkgd3JhcHMgI2luY2x1ZGUgImNvbmZpZy5oIiBpbiAjaWZkZWYgSEFWRV9DT05GSUdfSAoKMjAwMy0xMi0yMiAwMTo0NzowOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDYvOTA2XSBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0wNCAxMDozNzozNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA1LzkwNl0gcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMDcgMTI6NDY6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDA0LzkwNl0gUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wNiAwMDoyNzowMyArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDMvOTA2XSB1cGRhdGVzIHRvIGdsc2luawoKMjAwMy0xMC0zMSAxNjo0MDoyMCArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDAyLzkwNl0gZ2xzaW5rIHdpdGggY29ycmVjdCB0aHJlYWRpbmcgc3VwcG9ydAoKMjAwMy0xMC0yOCAxODo1NDoyMCArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDEvOTA2XSB3ZWxjb21lIHRvIGdsc2luayBmb3IgMC43LnggOikKCjIwMTQtMDMtMTQgMTg6MjM6NTEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwNDEKCjIwMTQtMDMtMTUgMTU6MTc6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEKCSAgVGhpcyBlbGVtZW50IG9ubHkgbmVlZCBzdHJpZGUgc3VwcG9ydCwgYnV0IGNoZWNrcyBmb3IgQ1JPUF9NRVRBLCB3aGljaAoJICBpcyBhIGJpdCB0b28gbXVjaCwgZXZlbiB0aG91Z2ggdGhpcyB3b3JrcyBhcyBDUk9QIGltcGx5IGhhdmluZyBWSURFTwoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MjU1CgoyMDE0LTAzLTA0IDEzOjE5OjU1ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBtcGVndHM6IGNoYW5nZSBiYW5kd2lkdGggdG8gRFZCdjUgdmFsdWVzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDYzCgoyMDEzLTEwLTMxIDE0OjI3OjEwICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IEFkZCB0YWJsZV9pZF9uYW1lIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODIKCjIwMTMtMTEtMTkgMTE6MzY6MTQgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogQWRkIERWQiB0ZWxldGV4dC9zdWJ0aXRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODIKCjIwMTQtMDMtMDMgMTM6MDc6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IEJsdXJheSBEVFMvRFRTLUhEIGFuZCBBQzMrL1RydWVIRCBzdHJlYW1zCgkgIEFwYXJ0IGZyb20ganVzdCBhZGRpbmcgZGV0ZWN0aW9uIG9mIHRoZSBwcm9wZXIgc3RyZWFtIHR5cGUsIHdlIGFsc28gbmVlZCB0byBvbmx5CgkgIG91dHB1dCB0aGUgZmlyc3Qgc3Vic3RyZWFtICgweDcxKSB3aGljaCBjb250YWlucyB0aGUgY29yZSBzdWJzdHJlYW0uCgkgIFdoaWxlIHRoaXMgZG9lcyBub3QgcHJvdmlkZSAqZnVsbCogRFRTLUhEIHN1cHBvcnQgKHNpbmNlIGl0IHdpbGwgbWlzcyB0aGUgY29tcGxlbWVudGFyeQoJICBzdWJzdHJlYW1zKSwgaXQgd2lsbCBzdGlsbCB3b3JrIGluIHRoZSB3YXkgbGVnYWN5IChub24tRFRTLUhEKSBibHVyYXkgcGxheWVycyB3b3VsZCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NTYzCgoyMDE0LTAzLTEzIDE0OjQxOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggc3RyaW5nIG9yZGVyIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAxNC0wMy0wOSAxODo0MToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWx3YXlzIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBkb3dubG9hZCByYXRlCgkgIEFsc28gdGFrZSBpbnRvIGFjY291bnQgdGhlIGxhc3QgZG93bmxvYWQgcmF0ZSB3aGVuCgkgIGNhbGN1bGF0aW5nIGl0LgoKMjAxNC0wMy0xMSAxMDozMjo0NiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiY2VuYzogQWxsb3cgdXNlciB0byBzZXQgY2hhbm5lbC1tb2RlCgkgIERvbid0IHJldHVybiBlcnJvciB3aGVuIGNoYW5uZWwtbW9kZSBpcyBhbHJlYWR5IHNldCwganVzdCBjaGVjayB0aGF0IGl0CgkgIGlzIGNvaGVyZW50IHdpdGggbnVtYmVyIG9mIGNoYW5uZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDk4CgoyMDE0LTAzLTEwIDExOjE5OjQ2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEaWZmZXJlbnRpYXRlIHRoZSBtcGVnLTIgc3RyZWFtIGZyb20gbXBlZy0xIGJhc2VkIG9uIHBpY19leHQKCSAgUHJlc2VuY2Ugb2YgcGljdHVyZSBleHRlbnNpb24gaGVhZGVyIGlkZW50aWZpZXMgdGhlIHN0cmVhbSBhcyBtcGVnMi4KCSAgV2UgYXJlIHN1cHBvc2VkIHRvIHNldCB0aGUgbXBlZ3ZlcnNpb24gdG8gMiBpZiB0aGVyZSBpcyBhIHBpY2V4dGVuc2lvbgoJICBpbnN0ZWFkIG9mIGJsaW5kbHkgc2V0dGluZyB0aGUgdmVyc2lvbiB0byAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMjgKCjIwMTQtMDMtMTEgMjI6MzY6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHNldCBhIGdyb3VwLWlkIG9uIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgU2V0IGEgZGVmYXVsdCBncm91cC1pZCB0byBmaXggYSB3YXJuaW5nIHByaW50ZWQgYnkgdGhlIHNpbmsuCgoyMDE0LTAzLTEwIDIyOjQ4OjA0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcmZpbHRlcjogZml4IG1lbW9yeSBjb3JydXB0aW9uIG9uIHNpbmsgY2FwcyBjaGFuZ2VzLgoJICBXaGVuIHRoZSBpbnB1dCBzaXplIGNoYW5nZWQsIHRoZSBmcmVpMHIgZmlsdGVycyBkaWRuJ3QgdGFrZQoJICBpdCBpbnRvIGFjY291bnQgYW5kIGVuZGVkIHVwIGNvcnJ1cHRpbmcgbWVtb3J5LgoJICBGaXhlcyAjNzI2MDY5CgoyMDE0LTAzLTExIDE1OjMwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE0LTAzLTExIDE0OjQ3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEltcGxlbWVudCBkcmFpbmluZyBwcm9wZXJseQoKMjAxNC0wMy0xMSAxNDozNzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBGaXJzdCBkZXF1ZXVlIGEgYnVmZmVyIGJlZm9yZSBlbnF1ZXVlaW5nIGFueXRoaW5nIGZyb20gdGhlIHF1ZXVlCgkgIFJlcXVpcmVkIGZvciBvZmZsaW5lIHJlbmRlcmluZyBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuIHd0Zi4KCjIwMTQtMDMtMTEgMTQ6MzI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBwb3NpdGlvbgoJICBJdCdzIHJlcXVpcmVkIHRvIHNldCBhIHZhbGlkIHNhbXBsZSB0aW1lIGZvciBkZWNvZGluZyBvbiBpT1MuCgoyMDE0LTAzLTExIDE0OjI0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEFsd2F5cyB0cnkgdG8gcHVsbCBvbmUgZGVjb2RlZCBmcmFtZSBvdXQgb2YgdGhlIHF1ZXVlCgkgIC4uLiBpbnN0ZWFkIG9mIGRvaW5nIG1hZ2ljIGNhbGN1bGF0aW9ucyB3aXRoIHRoZSBidWZmZXIgZHVyYXRpb24uCgoyMDE0LTAzLTExIDE0OjIyOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEhhbmRsZSBlcnJvcnMgaW4gaGFuZGxlX2ZyYW1lKCkgcHJvcGVybHkKCjIwMTQtMDMtMTEgMTQ6MTQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogQ2FsbCBBdWRpb1F1ZXVlUmVzZXQoKSBmb3IgZmx1c2hpbmcKCSAgQXVkaW9RdWV1ZUZsdXNoKCkgaXMgZm9yIGRyYWluaW5nIGFsbCByZW1haW5pbmcgZGF0YS4KCjIwMTQtMDMtMTEgMTE6MTg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkgIGF0ZGVjOiBTZXQgY29ycmVjdCBudW1iZXIgb2YgZnJhbWVzIGZvciBNUDMKCjIwMTQtMDMtMTEgMTE6MTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogSW5pdGlhbGl6ZSB0aGUgYXVkaW8gZGVzY3JpcHRpb24gd2l0aCB6ZXJvZXMKCjIwMTQtMDMtMTEgMTE6MTQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogU2V0IHRoZSBjb3JyZWN0IGxheWVyIGRlcGVuZGluZyBvbiB0aGUgTVAzIGNhcHMKCjIwMTQtMDMtMTEgMTA6MjY6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHZpZGVvc2lnbmFsIHdhcyBwb3J0ZWQgYWxtb3N0IGEgeWVhciBhZ28KCjIwMTQtMDMtMDkgMTk6Mzg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBjb21wYXJpc29uIGluIGJpdHJhdGUgc2VsZWN0aW9uCgoyMDE0LTAzLTA3IDEyOjExOjU5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBzZXQgcHJveHkgYWxsb2NhdGlvbiBmbGFnIG9uIHRoZSB2aWRlbyBzaW5rIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODkzCgoyMDE0LTAzLTA3IDE2OjIyOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIG0zdTg6IEZpeCBvZmYtYnktb25lIGluIHRoZSBkb3dubG9hZCByYW5nZSBlbmQKCjIwMTQtMDMtMDcgMTY6MjI6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkOiBIYW5kbGUgbm8gYnVmZmVycyBiZWZvcmUgRU9TIGFzIGVycm9yIGluc3RlYWQgb2YgY3Jhc2hpbmcKCjIwMTQtMDMtMDYgMjM6MTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwcm9wZXIgc2VnbWVudCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODQ2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNjgKCjIwMTQtMDMtMDUgMTA6NDc6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBoYW5kbGluZyBvZiBieXRlIHJhbmdlcwoKMjAxNC0wMi0yNyAxMDo1NDoxMCArMDEwMCAgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBzZWVraW5nIGZ1cnRoZXIgdGhhbiB0cmFjayBkdXJhdGlvbgoJICBEb24ndCBmYWlsIHRoZSBzZWVrIGJ1dCBpbnN0ZWFkIHNlbmQgYW4gRU9TIGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE0LTAzLTA1IDE2OjAyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3dpdGNoIHBsYXlsaXN0cyBhZnRlciBwdXNoaW5nIHRoZSBmcmFnbWVudAoJICBNYWtlcyBzdXJlIHdlIHByb3Blcmx5IHNldCB0aGUgZGlzY29udCBmbGFnIGZvciB0aGUgbmV4dCBidWZmZXIsCgkgIG5vdCB0aGUgY3VycmVudCBvbmUuCgoyMDE0LTAxLTEwIDE3OjM4OjA5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBoYW5kbGUgdmlkZW8veC1yYXcoQU5ZKSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE5NTAKCjIwMTQtMDMtMDQgMTc6MjU6MjMgKzAyMDAgIEFuZHJlcyBHb21leiA8YWdvbWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXQ6ICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgZGVmYXVsdHMgdG8gVFJVRQoJICBBcyBwZXIgZGlzY3Vzc2VkIGluIGJ1ZyAjNzI1MzgzLCBpdCBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSB0byBkZWZhdWx0CgkgIHRvIEZBTFNFIGluIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5LiBCZXR0ZXIsIGxldCdzIHNlbnQgdGhlIGhlYWRlcgoJICBieSBkZWZhdWx0IGFuZCBqdXN0IGlnbm9yZSBoZWFkZXJzIHRoYXQgYXJlIG5vdCB1bmRlcnN0b29kLCBpZiBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTY1OQoKMjAxNC0wMy0wNSAwMDo1MTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIHRlc3RzOiBmaXggbXBnMTIzYXVkaW9kZWMgdGVzdCBmb3IgYmlnLWVuZGlhbiBhcmNoaXRlY3R1cmVzCgoyMDE0LTAzLTA1IDExOjIwOjI3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGluY3JlYXNlIGZyYW1lcmF0ZSB0byBtYXhpbnQKCjIwMTQtMDMtMDUgMTA6NTQ6NDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogaW5jcmVhc2UgbWF4aW11bSBmcmFtZXJhdGUKCjIwMTQtMDMtMDIgMDU6MjU6NDggKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBnY292IGludGVybWVkaWF0ZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDgxCgoyMDE0LTAzLTAxIDE3OjEzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwcm9wZXIgaGFuZGxpbmcgb2YgZGlzY29udGludWl0aWVzCgkgIEl0J3Mgbm90IHJlYWxseSBjb3JyZWN0IHlldCBmb3Igc2Vla3MgYnV0IGJldHRlciB0aGFuIHdoYXQKCSAgd2UgaGFkIGJlZm9yZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NDYKCjIwMTQtMDItMjggMTE6MTY6MjcgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiB1bnJlZiBjYXBzIGFmdGVyIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQxMgoKMjAxNC0wMi0yNSAxMTo0NTo0NiArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTZWdmYXVsdHMgaWYgcGxheWxpc3QgaGFzIG5vIG1lZGlhIGZpbGVzCgkgIGhsc2RlbXV4IGNhdXNlcyBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpZiB0aGUgbWVkaWEgcGxheWxpc3QKCSAgZG9lcyBub3QgY29udGFpbiBhbnkgbWVkaWEgZmlsZXMuIFRoZSBnc3RfbTN1OF9jbGllbnRfZ2V0X2R1cmF0aW9uCgkgIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBkZW11eC0+Y2xpZW50LT5jdXJyZW50LT5maWxlcyBpcyB2YWxpZCB3aGVuCgkgIGNvbXB1dGluZyBkdXJhdGlvbi4KCSAgZ3N0X20zdThfY2xpZW50X3VwZGF0ZSBuZWVkZWQgdG8gYmUgbW9kaWZpZWQgdG8gY2hlY2sgZm9yIHRoZQoJICBjYXNlIG9mIGRvd25sb2FkaW5nIGFuIE0zVTggZmlsZSB0aGF0IGRvZXNuJ3QgY29udGFpbiBhbnkgbWVkaWEKCSAgZmlsZXMsIGFuZCByZXR1cm5pbmcgYW4gZXJyb3IgdG8gZ3N0aGxzZGVtdXguYwoJICBUaGlzIGJ1ZyBjYW4gYmUgcmVwcm9kdWNlZCBieSBjcmVhdGluZyBhIG1hc3RlciBtM3U4IGZpbGUgdGhhdAoJICBjb250YWlucyBvbmUgbWVkaWEgcGxheWxpc3QgdGhhdCBwb2ludHMgYmFjayB0byB0aGUgbWFzdGVyIG0zdTgKCSAgZmlsZS4gIEZvciBleGFtcGxlIGNyZWF0ZSBhIGZpbGUgY2FsbGVkIGJ1ZzcyNTEzNC5tM3U4OgoJICAjRVhUTTNVCgkgICNFWFQtWC1WRVJTSU9OOjQKCSAgI0VYVC1YLVNUUkVBTS1JTkY6UFJPR1JBTS1JRD0xLCBCQU5EV0lEVEg9MTI1MTEzNSwgQ09ERUNTPSJhdmMxLjQyMDAxZiBtcDRhLjQwLjIiLCBSRVNPTFVUSU9OPTY0MHgzNTIKCSAgYnVnNzI1MTM0Lm0zdTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEzNAoKMjAxNC0wMi0yOCAwOTozNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmUxNjcyZSB0byBiY2IxNTE4CgoyMDE0LTAyLTI3IDIyOjI4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCB3cml0ZSBhZnRlciB0aGUgZW5kIG9mIHRoZSBwc20gYXJyYXkgd2hlbiBpbml0aWFsaXNpbmcgaXQKCjIwMTQtMDItMjcgMjE6NDU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJICBvcGVuYWxzcmM6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjcgMjE6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjcgMTU6NDk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbml0IGFuZCBjbGVhciBhIG11dGV4CgkgIEdMaWIgaW5pdGlhbGlzZXMgYXV0b21hdGljYWxseSBmb3IgdXMgZm9yIHNvbWUgcmVhc29uLi4uIGJ1dCBvZiBjb3Vyc2UKCSAgZG9lcyBub3QgY2xlYXIgdGhlIG11dGV4IG9uY2UgdGhlIGRlbXV4ZXIgaXMgZGVzdHJveWVkLgoKMjAxNC0wMi0yNyAxNTo0MTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVucmVmIHNlZWsgZXZlbnRzIGJlZm9yZSByZXR1cm5pbmcgZnJvbSB0aGUgc2VlayBoYW5kbGVyCgkgIE90aGVyd2lzZSB3ZSBsZWFrIHRoZW0gYWxsLgoKMjAxNC0wMi0yNyAxMjowMjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IGRlYnVnIG91dHB1dCB0byBkZXNjcmliZSB0aGUgbmV3IHJlYWxpdHkKCjIwMTQtMDItMjcgMTE6NTM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFdhcm5pbmcgbWVzc2FnZXMgYXJlIG5vdCBmYXRhbAoJICBBbHNvIHRoZXkgbmVlZCB0byBiZSBwYXJzZWQgd2l0aCBnc3RfbWVzc2FnZV9wYXJzZV93YXJuaW5nKCksCgkgIGdzdF9tZXNzYWdlX3BhcnNlX2Vycm9yKCkgZG9lcyBub3Qgd29yayBvbiB0aGVtLgoKMjAxNC0wMi0yNiAyMjoyNjo0OCArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBkb2NzOiBtcGVndHM6IGFkZCBtaXNzZWQgZG9jcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI3OAoKMjAxNC0wMi0yNiAyMTowODoyMyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgZG9jczogZHZic3JjOiBhZGQgbWlzc2VkIGFyZ3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNzgKCjIwMTQtMDItMjYgMjI6MTI6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFhMDdkYTkgdG8gZmUxNjcyZQoKMjAxNC0wMi0yNiAxOToxODo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBzdHJheSAoIGluIE1ha2VmaWxlLmFtCgoyMDE0LTAyLTI0IDIyOjUzOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZm9yd2FyZCB0YWdzIHRoYXQgaGF2ZSBnbG9iYWwgc2NvcGUKCSAgSW5zdGVhZCBvZiBkcm9wcGluZyBhbGwgdGFnIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDE0LTAyLTI0IDIyOjQzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHN0b3JlIGdsb2JhbCB0YWdzIHRvIHB1c2ggbGF0ZXIKCSAgS2VlcCBhIGxpc3Qgb2YgY3VycmVudCBnbG9iYWwgdGFncyBhcm91bmQgYW5kIHB1c2ggdGhlbQoJICB3aGVuZXZlciBhIG5ldyBzdHJlYW0gaXMgc3RhcnRlZC4gQWxzbyBjb252ZXJ0IGFsbCBzdHJlYW0KCSAgc3BlY2lmaWMgdGFncyB0byBnbG9iYWwgYXMgdGhleSBhcmUgc3RyZWFtIHNwZWNpZmljIGZvcgoJICB0aGUgY29udGFpbmVyLCBzbyB0aGV5IGFyZSBnbG9iYWwgZm9yIHRoZSBzdHJlYW1zIGZyb20KCSAgd2l0aGluIHRoYXQgY29udGFpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDE0LTAyLTI2IDExOjMyOjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogaW5zdGFsbCBwcmVidWlsdCBwbHVnaW4gZG9jcyBpZiBndGstZG9jIGlzIGRpc2FibGVkCgkgIFN5bmMgdG8gdGhlIE1ha2VmaWxlLmFtIGZyb20gZ3N0LXBsdWdpbi1iYXNlIHdoZXJlIGl0IGlzIGRvbmUgcmlnaHQuCgkgIEZpeGVzICM3MjUwMzQKCjIwMTQtMDItMjEgMDk6MzY6NTEgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IHBhcnNpbmcgb2YgQ09ERUNTIGFuZCBSRVNPTFVUSU9OCgkgIGhsc2RlbXV4IGRvZXMgbm90IGNoZWNrIGZvciB0aGUgJyInIGNoYXJhY3RlciBpbiAjRVhULVgtU1RSRUFNLUlORgoJICBhdHRyaWJ1dGVzLiBUaGUgQ09ERUNTIHBhcmFtZXRlciBpcyBhbiBleGFtcGxlIG9mIGFuIGF0dHJpYnV0ZQoJICB0aGF0IG1pZ2h0IHVzZSB0aGUgJyInIHN5bWJvbCBhbmQgbWlnaHQgY29udGFpbiBhICcsJyBjaGFyYWN0ZXIKCSAgaW5zaWRlIHRoaXMgcXVvdGVkIHN0cmluZy4KCSAgRm9yIGV4YW1wbGU6IENPREVDUz0iYXZjMS43Ny4zMCwgbXA0YS40MC4yIgoJICBobHNkZW11eCBkb2VzIG5vdCBjb3JyZWN0bHkgcGFyc2UgdGhlIFJFU09MVVRJT04gYXR0cmlidXRlLCBpdAoJICBhc3N1bWVzIHRoYXQgYW4gJz0nIGNoYXJhY3RlciBpcyB1c2VkIHRvIGRlbGluZWF0ZSB0aGUgd2lkdGgKCSAgYW5kIGhlaWdodCB2YWx1ZXMsIGJ1dCB0aGUgSExTIFJGQyBzdGF0ZXMgdGhhdCBhICd4JyBjaGFyYWN0ZXIKCSAgbXVzdCBiZSB1c2VkIGFzIHRoZSBkZWxpbWl0ZXIgYmV0d2VlbiB3aWR0aCBhbmQgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTQwCgoyMDE0LTAyLTIxIDA5OjMwOjQ5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBmb3IgVVJMcyB0aGF0IGNvbnRhaW4gYSAnLycgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlcgoJICBJZiB0aGUgVVJMIGZvciB0aGUgbWFzdGVyIG1hbmlmZXN0IGZpbGVzIGNvbnRhaW5zIGEgJy8nIGNoYXJhY3RlcgoJICBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyIChmb3IgZXhhbXBsZQoJICBodHRwOi8vZXhhbXBsZS5uZXQvMTA1NDU1OV9oMjY0XzE1MDBrLm1wNC9tYXN0ZXIubTN1OD9hY2w9LyoxMDU0NTU5X2gyNjRfMTUwMGsubXA0KSwKCSAgaGxzZGVtdXggaXMgaW5jb3JyZWN0bHkgY29udmVydGluZyB0aGUgcmVsYXRpdmUgVVJMcyBvZiB0aGUgbWVkaWEKCSAgcGxheWxpc3RzIGluIHRvIGFic29sdXRlIFVSTHMuIEl0IGlzIGluY29ycmVjdGx5IHVzaW5nIHRoZSBsYXN0ICcvJyBpdAoJICBmaW5kcyBpbiB0aGUgVVJMLiBBY2NvcmRpbmcgdG8gUkZDMzk4NiB0aGUgJy8nIGNoYXJhY3RlciBpcyBhbGxvd2VkIGluCgkgIHRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMzcKCjIwMTMtMTItMDIgMTA6MDE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsZ2xlc3Npbms6IG1vdmUgR3N0RUdMSW1hZ2VCdWZmZXJQb29sIHRvIGdzdGVnbCBsaWIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA1NAoKMjAxNC0wMi0yNSAxMjoxNzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3Q6IG1wZWd0czogQWRkIGNoZWNrIGZvciBTRFQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0NjozMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIGNvbnN0cnVjdG9yIGZvciBkdmIgc2VydmljZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjUgMTA6Mjg6MzggKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtcGVndHM6IEFkZCBuZXcgU0RUIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQ3OjU3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpb24gb2YgU0RUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDE6MjIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCB0cmFuc3BvcnRfc3RyZWFtX2lkIHRvIEdzdE1wZWdUc1NEVAoJICBUaGUgdHJhbnNwb3J0X3N0cmVhbV9pZCBpcyBjb250YWluZWQgaW4gdGhlIHN1YnRhYmxlIGV4dGVuc2lvbi4KCSAgSW50cm9kdWNlIGEgdmFyaWFibGUgZm9yIHJlYWRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTI1IDExOjI5OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEluaXRpYWxpemUgUFNNIGZ1bGx5CgkgIFNvbWUgZ2FwcyB3ZXJlIG1pc3NlZCBpbiB0aGUgcHJldmlvdXMgdmVyc2lvbi4gSW5zdGVhZCBqdXN0IGluaXRpYWxpemUKCSAgdGhlIHdob2xlIHRhYmxlIHRvIC0xIGZpcnN0IGFuZCB0aGVuIGZpbGwgd2hhdCBuZWVkcyB0byBiZSBzcGVjaWZpZWQuCgoyMDE0LTAyLTI0IDE1OjUyOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggZGVzY3JpcHRvciBjaGVja3MKCSAgT25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgb24gcHJvdmlkZWQgZGlyZWN0IGFyZ3VtZW50cy4gVGhlIG90aGVycyBnZXQKCSAgY2hlY2tlZCBhbGwgdGhlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0NjQKCjIwMTQtMDItMjQgMTQ6NTY6MDMgLTA1MDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGNpdGEudXRvcm9udG8uY2E+CgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkgIGRlYnVndXRpbHNiYWQuYyBmYWlscyBnc3QtaW5kZW50IGNoZWNrCgkgIHRoaXMgcGF0Y2ggaXMgImdzdC1pbmRlbnQgZGVidWd1dGlsc2JhZC5jIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDkwCgoyMDE0LTAyLTIyIDE4OjIyOjI2ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBuZXR3b3JrX25hbWU6IENoZWNrIGNvbnZlcnRlZCBsZW5ndGgKCSAgQ2hlY2sgdGhlIGxlbmd0aCBvZiB0aGUgbmFtZSBhcmd1bWVudCBhZnRlciBpdCBoYXMgYmVlbiBjb252ZXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM5NTMKCjIwMTQtMDItMDggMjI6NDc6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIG1wZWd0cyBsaWJyYXJ5CgkgIFRlc3RzIGZvciBQQVQsIFBNVCwgYW5kIE5JVAoJICBDcmVhdGVzIGEgbmV3IHRhYmxlLCBhbmQgcG9wdWxhdGVzIGl0IHdpdGggZGVzY3JpcHRvcnMuCgkgIFBhcnNlcyB0aGUgbmV3bHkgY3JlYXRlZCB0YWJsZXMsIGFuZCBjaGVja3MgdGhlIGRhdGEuCgkgIENyZWF0ZXMgYSBHc3RNcGVnVHNTZWN0aW9uIGZyb20gdGhlIHRhYmxlcywgYW5kIHBhY2tldGl6ZSB0aGUgc2VjdGlvbnMuCgkgIFRoZSBwYWNrZXRpemVkIHNlY3Rpb24gZGF0YSBpcyBieXRlLXdpc2UgY29tcGFyZWQgdG8gYSBzdGF0aWMgYnl0ZSBhcnJheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzOTUzCgoyMDE0LTAyLTI0IDExOjA2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYWJpbjItdGVzdDogbmV3IDEueCByYXcgY2FwcyBmb3JtYXQKCSAgUmVtb3ZlIC15dXYgYW5kIC1yZ2IgZnJvbSB2aWRlby94LXJhdyBhcyB0aG9zZSBhcmUgZnJvbSB0aGUKCSAgb2xkIDAuMTAgdmVyc2lvbgoKMjAxNC0wMi0yMyAxNToxODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogS2VlcCB0cmFjayBvZiB0aW1lc3RhbXBzIGJ5IGFkZGluZyB0aGVtIHVwIGR1cmluZyBwbGF5YmFjawoJICAuLi5pbnN0ZWFkIG9mIGFkZGluZyB0aGVtIGZyb20gdGhlIHN0YXJ0IG9mIHBsYXlsaXN0IGV2ZXJ5IHRpbWUuIFRoaXMKCSAgYW1vbmcgb3RoZXIgdGhpbmdzIGZpeGVzIHRpbWVzdGFtcHMgZm9yIGxpdmUgc3RyZWFtcywgd2hlcmUgdGhlIHBsYXlsaXN0CgkgIGlzIHNvbWUga2luZCBvZiByaW5nYnVmZmVyIG9mIGZyYWdtZW50cyBhbmQgdGh1cyBhZGRpbmcgZnJvbSB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBwbGF5bGlzdCB3aWxsIG1pc3MgdGhlIHBhc3QgZnJhZ21lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgzCgoyMDE0LTAyLTIzIDExOjAxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRGVwcmVjYXRlIGZyYWdtZW50cy1jYWNoZSBwcm9wZXJ0eQoJICBUaGUgYnVmZmVyaW5nL2NhY2hpbmcgaXMgaGFuZGxpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgbm93IGFuZAoJICBvdXRzaWRlIG9mIGhsc2RlbXV4LgoKMjAxNC0wMi0xOCAxOToxNjozNSAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZWRlYzogTWVyZ2UgbmV3IHRhZ3Mgd2l0aCBleGlzdGluZyB0YWdzIHRvIHByZXZlbnQgb3ZlcndyaXRpbmcgZGVtdXhlciB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2OTkKCjIwMTQtMDItMjAgMTU6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIGV4dDogVXNlIENvZGVjL0RlbXV4ZXIvQWRhcHRpdmUgZm9yIHRoZSBhZGFwdGl2ZSBzdHJlYW1pbmcgZGVtdXhlcnMKCjIwMTQtMDItMTcgMDk6MTk6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVmYWN0b3IgdGhyZWFkaW5nIGFuZCBkb3dubG9hZGluZwoJICBXZSBub3cgZG93bmxvYWQgZnJhZ21lbnRzIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtCgkgIHdoaWxlIGFub3RoZXIgdGhyZWFkIGlzIGp1c3QgcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIGxpdmUgcGxheWxpc3RzCgkgIGV2ZXJ5IG5vdyBhbmQgdGhlbi4KCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbG90IGFuZCB0b2dldGhlciB3aXRoIHRoZSBuZXcgYnVmZmVyaW5nCgkgIG1vZGUgZm9yIGFkYXB0aXZlIHN0cmVhbXMgaW4gbXVsdGlxdWV1ZSBtYWtlcyBzdHJlYW1zIHN0YXJ0IG11Y2ggZmFzdGVyLgoJICBBbHNvIHNpbXBsaWZ5IHRocmVhZGluZyBhIGJpdCBhbmQgaG9wZWZ1bGx5IG1ha2UgdGhlIEdzdFRhc2sgdXNhZ2Ugc2FmZXIuCgoyMDE0LTAyLTE5IDA5OjM1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzd2l0Y2ggcGFkcyBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcKCjIwMTQtMDItMjEgMTI6MzM6NDIgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGVuc3VyZSBzZWdtZW50cyBhcmVuJ3QgZmV0Y2hlZCBiZWZvcmUgdGhleSdyZSBhdmFpbGFibGUKCSAgSW5jb3JyZWN0IHRpbWUgc2NhbGluZyBpbiBnc3RfZGFzaF9kZW11eF93YWl0X2Zvcl9mcmFnbWVudF90b19iZV9hdmFpbGFibGUoKQoJICBtZWFucyB0aGF0IG1lZGlhIHNlZ21lbnRzIGFyZSBmZXRjaGVkIGJlZm9yZSB0aGVpciBhdmFpbGFibGl0eSB0aW1lLiBUaGlzCgkgIHBhdGNoIGZpeGVzIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4NzUKCjIwMTQtMDItMjEgMTQ6MDY6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogVW5jb21tZW50IFBBVCBjbGVhcnVwIGluIF9yZXNldAoJICBUaGUgUEFUIGlzIHJlbGF0ZWQgdG8gdGhlIHN0cmVhbSwgd2UgdGhlcmVmb3JlIHdhbnQgaXQgY2xlYXJlZCBhbG9uZwoJICB3aXRoIGFueXRoaW5nIHN0cmVhbSByZWxhdGVkLgoJICBUaGlzIGNvbW1lbnRlZCBzZWN0aW9uIHdhcyBmcm9tIHRoZSAob2xkKSBtcGVndHNwYXJzZSBhbmQgKm1pZ2h0KiBoYXZlCgkgIGJlZW4gcmVsYXRlZCB0byBzcGVlZGluZyB1cCBEVkIgc3RhcnQtdXAuIEJ1dCB3ZSBoYXZlIGFub3RoZXIgcGxhbiBmb3IgdGhhdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxNgoKMjAxNC0wMi0xOCAxMDoxOTo1MiArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW5pdGlhbGlzZSBkZW11eC0+bGFzdF9tYW5pZmVzdF91cGRhdGUKCSAgZGVtdXgtPmxhc3RfbWFuaWZlc3RfdXBkYXRlIGlzIG5vdCBpbml0aWFsaXNlZCBhdCBzdGFydHVwLCB3aXRoIHRoZQoJICBlZmZlY3QgdGhhdCBsaXZlIG1hbmlmZXN0cyBhcmUgcmVsb2FkZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGRvd25sb2FkCgkgIGxvb3AgYmVnaW5zLiBUaGlzIHBhdGNoIGZpeGVzIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3OTAKCjIwMTMtMTItMjkgMTY6MDA6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHRzX3RvX29mZnNldCBiZXlvbmQgbGFzdCBvYnNlcnZlZCBQQ1IKCSAgVGhlIHJlcXVlc3RlZCBUUyBtaWdodCBiZSBiZXlvbmQgdGhlIGxhc3Qgb2JzZXJ2ZWQgUENSLiBJbiBvcmRlciB0byBjYWxjdWxhdGUKCSAgYSBjb2hlcmVudCBvZmZzZXQsIHdlIG5lZWQgdG8gdXNlIHRoZSBsYXN0IGFuZCBwcmV2aW91cy10by1sYXN0IGdyb3Vwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAzNQoKMjAxNC0wMi0xMiAxODoxNTo0NCAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZ3N0X21wZWd0c19zZWN0aW9uX2dldF9kYXRhLCB0byBhbGxvdyB1cyB0byBnZXQgdGhlIG9yaWdpbmFsIGJpbmFyeSBzZWN0aW9uIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQyNTUKCjIwMTQtMDItMjAgMTk6MDg6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc2l6ZSBndWFyZHMgZm9yIGRlc2NyaXB0b3JzIHdoZXJlIG5lZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDQ2NAoKMjAxNC0wMi0yMCAxODoxNDo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVnLXRzOiBSZW5hbWUgcHJpdmF0ZSBmdW5jdGlvbgoJICBDYWxsaW5nIGl0IF9kZXNjX2NoZWNrcyB3aGVuIGl0IHdhcyBpbiBmYWN0IHVzZWQgZm9yIHNlY3Rpb25zIHdhcyBhCgkgIHRhZCBjb25mdXNpbmcgLi4uCgoyMDE0LTAyLTE2IDEwOjQ1OjIxICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNvbnRlbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTE2IDEwOjQ0OjU1ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTYgMTA6NDM6NTIgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgZXh0ZW5kZWQgZXZlbnQgZGVzcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTAgMjE6NTI6MjggKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNjkKCjIwMTQtMDItMTYgMTA6MDk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IFJlbmFtZSBhbGwgdmFyaWFibGVzIHJlbGF0ZWQgdG8gdGhlIHdpbmtzIHBsdWdpbgoJICBJdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNhbGwgdGhlbSBhZnRlciBkaXJlY3RzaG93IGlmIHRoZXkKCSAgYXJlIGZvciB0aGUgd2lua3MgcGx1Z2luIG9ubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMDAKCjIwMTMtMDQtMDggMTQ6MDQ6MTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggdXBkYXRlIGludGVydmFsIHdpdGggcmVzcGVjdCBvZiB0aGUgc3BlYwoKMjAxNC0wMi0xNCAxMjozOTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogQ2FsY3VsYXRlIG51bWJlciBvZiBzYW1wbGVzIHBlciBmcmFtZSBmb3IgTVAzIGFuZCB1c2UgdGhhdAoJICBTb21lIGF1ZGlvIGRlY29kZXJzIChhdCBsZWFzdCB0aGUgTVAzIGRlY29kZXIgb24gTVRLIGJhc2VkIGRldmljZXMpIG91dHB1dHMKCSAgcmF3IGF1ZGlvIGluIGJhdGNoZXMgb2YgbXVsdGlwbGUgYXVkaW8gZnJhbWVzLiBXZSBuZWVkIHRvIGhhbmRsZSB0aGF0CgkgIHByb3Blcmx5LCBvdGhlcndpc2UgdGhlIGJhc2UgY2xhc3Mgd2lsbCBiZSBraW5kIG9mIHVuaGFwcHkuCgoyMDE0LTAyLTE0IDEyOjMzOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogRXJyb3Igb3V0IGlmIHdlIGdldCBhbiBpbnZhbGlkIHJhdyBhdWRpbyBidWZmZXIgc2l6ZQoKMjAxNC0wMi0xNCAxMjozMjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFN0b3JlIHJldHVybiB2YWx1ZSBvZiBnc3RfY2Fwc19tZXJnZV9zdHJ1Y3R1cmUoKQoJICBUaGUgaW5wdXRzIGFyZSBib3RoIGludmFsaWQgYWZ0ZXJ3YXJkcy4KCjIwMTQtMDItMTQgMTI6MzE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBSZWxlYXNlIGJ1ZmZlciB0byBBbmRyb2lkIGlmIGFsbG9jYXRpbmcgb3V0cHV0IGZhaWxlZAoKMjAxNC0wMi0xNCAxMjoyODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFJlbGVhc2UgYnVmZmVyIGJhY2sgdG8gQW5kcm9pZCBpZiBhbGxvY2F0aW5nIG91dHB1dCBmYWlscwoKMjAxNC0wMi0xMyAxMDoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogS2VlcCBhbGl2ZSBjb25uZWN0aW9ucyBpZiB0aGUgc291cmNlIHN1cHBvcnRzIHRoYXQKCjIwMTQtMDItMTMgMTA6MDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFJlLXVzZSBvbGQgc291cmNlIGVsZW1lbnQgaWYgcG9zc2libGUKCSAgQWxsb3dzIHRvIGltcGxlbWVudCBrZWVwLWFsaXZlIGhhbmRsaW5nIGluIHRoZSBzb3VyY2UgZWxlbWVudC4KCjIwMTQtMDItMTIgMTg6NDk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IElnbm9yZSBlbXB0eSBsaW5lcyBpbiB0aGUgcGxheWxpc3QKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBBbmRvbmkgTW9yYWxlcy4KCjIwMTQtMDItMTIgMTg6NDc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IE1ha2Ugc3VyZSB0byBpZ25vcmUgXHIgaW4gbGluZSBlbmRpbmdzIGluIGV2ZXJ5IGNhc2UKCjIwMTQtMDItMTIgMTg6Mjc6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEdpdmUgYSBwcm9wZXIgbmFtZSB0byB0aGUgc3JjcGFkcyBhbmQgcmVtb3ZlIGl0IHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50CgoyMDE0LTAyLTEyIDE4OjA2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggcG90ZW50aWFsIGRlYWRsb2NrCgkgIFRoZSBzdHJlYW1pbmcgdGhyZWFkIG1pZ2h0IHVzZSBvdXIgbG9jaywgc28gc2h1dHRpbmcKCSAgZG93biB0aGUgZWxlbWVudCB3aGlsZSBob2xkaW5nIHRoYXQgbG9jayBjYWxscyBmb3IgcHJvYmxlbXMuCgoyMDE0LTAyLTEyIDE3OjU5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTaHV0ZG93biB0aGUgc291cmNlIGVsZW1lbnQgYmVmb3JlIHVubGlua2luZyBpdAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IHdhcm5pbmdzIGFib3V0IHB1c2hpbmcgdG8gdW5saW5rZWQgcGFkcy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBBbmRvbmkgTW9yYWxlcy4KCjIwMTQtMDItMTIgMTY6NDY6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9wIGxlYWtpbmcgR0Vycm9ycyBpbiBzb21lIGVycm9yIHBhdGhzCgoyMDEyLTA1LTExIDEzOjU4OjI4ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHBhdXNlIHRhc2sgd2hlbiBpdCBpcyBzdG9wcGVkCgkgIFRoaXMgZml4ZXMgYSBwb3RlbnRpYWwgZGVhZC1sb2NrIHNpdHVhdGlvbiBmcm9tIEdzdFRhc2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTg2OQoKMjAxNC0wMi0xMiAxNjowMTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdhaXQgZm9yIHRoZSB1cGRhdGUgdGFzayB0byBmaW5pc2ggd2hlbiBzaHV0dGluZyBkb3duCgoyMDE0LTAyLTEyIDE1OjMzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJldmVudCByb3VuZGluZyBlcnJvcnMgZHVlIHRvIGRpdmlzaW9uIGJ5IHVzaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpCgoyMDEzLTA3LTI1IDE5OjM2OjQ4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc2NoZWR1bGUgbmV4dCB1cGRhdGUgYmFzZWQgb24gdGhlIGZyYWdtZW50IGR1cmF0aW9uCgoyMDE0LTAyLTEyIDE1OjE2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgZXJyb3Igb3V0IGlmIGNhcHMgY2FuJ3QgYmUgdHlwZWZpbmQgaW5zdGVhZCBvZiB1c2luZyBOVUxMIGNhcHMKCjIwMTMtMDctMjkgMTg6MDA6MzEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9nIGZyYWdtZW50IHRpbWVzdGFtcAoKMjAxNC0wMi0xMiAxNDoxMDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogVXNlIGdfYXNjaWlfeGRpZ2l0X3ZhbHVlKCkgaW5zdGVhZCBvZiBvdXIgb3duIHZlcnNpb24gb2YgaXQKCjIwMTQtMDItMTIgMTM6NDA6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBFcnJvciBvdXQgaWYgdGhlIGtleSBpcyBub3QgMTYgYnl0ZXMgbGFyZ2UKCjIwMTQtMDItMTIgMTM6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb3dubG9hZCBwbGF5bGlzdHMgd2l0aCBjb21wcmVzc2lvbiwga2V5cyBhbmQgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MTE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEb3dubG9hZCB0aGUgbWFuaWZlc3Qgd2l0aCBjb21wcmVzc2lvbiwgdGhlIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjEwOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG93bmxvYWQgTVBEIHdpdGggY29tcHJlc3Npb24sIHRoZSBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzowODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBkb3dubG9hZHMKCSAgVmVyeSB1c2VmdWwgZm9yIHBsYXlsaXN0cywgbGVzcyB1c2VmdWwgZm9yIG1lZGlhIGZpbGVzLgoKMjAxNC0wMi0xMiAxMToyNjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCB0aGUgZWxlbWVudCBwcml2YXRlIGRhdGEgb24gdGhlIHNyY3BhZHMKCSAgSXQncyBub3QgdXNlZCBhbnl3YXkuCgoyMDE0LTAyLTEyIDExOjI1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiB0aGUgc3JjcGFkcwoKMjAxNC0wMi0xMiAxMDo1OTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQ2FjaGUgdGhlIGtleSBmcmFnbWVudCBpbnN0ZWFkIG9mIGRvd25sb2FkaW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4KCjIwMTQtMDItMTIgMTA6NTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggY2xlYW51cCB3aGVuIGRlY3J5cHRpb24gZmFpbHMKCSAgRmlyc3QgdW5tYXAgYnVmZmVycywgdGhlbiB1bnJlZiB0aGVtLiBBbmQgYWxzbyB1bnJlZiB0aGUKCSAga2V5IGZyYWdtZW50LgoKMjAxNC0wMi0xMSAxNToyMDo1OCArMDEwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBJbmNsdWRlIHRpbWV6b25lIGluZm9ybWF0aW9uIGluIG1haWwgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMjUKCjIwMTQtMDItMTEgMTg6MTU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IERvbid0IHRyeSBkZWNyeXB0aW9uIGlmIGFuIHVuc3VwcG9ydGVkIG1ldGhvZCBpcyBmb3VuZAoKMjAxNC0wMi0xMSAxODoxNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgcGFyc2UgSVYgZnJvbSB0aGUgcGxheWxpc3QKCSAgV2l0aG91dCB0aGlzIGV2ZXJ5IGZyYWdtZW50J3MgZmlyc3QgMTYgYnl0ZXMgd2lsbCBiZSBjb3JydXB0ZWQKCSAgaWYgbm90IHRoZSBmYWxsYmFjayBJViBpcyB1c2VkIGJ5IHRoZSBwbGF5bGlzdC4KCjIwMTQtMDItMTEgMTU6MjY6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFJlc2V0IGNhbmNlbGxlZCBzdGF0ZSBhZnRlciBmZXRjaGluZyBhbiBVUkkKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgbmV2ZXIgZXZlciBiZSBhYmxlIHRvIGZldGNoIGFueXRoaW5nIGFmdGVyIGFuCgkgIGVycm9yIHVudGlsIHRoZSB1c2VyIHJlc2V0cyBpdCBtYW51YWxseS4KCjIwMTQtMDItMTEgMTQ6NTc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm9wYWdhdGUgZG93bmxvYWQgZXJyb3JzIHByb3Blcmx5IGFuZCBwb3N0IGVycm9yIG1lc3NhZ2VzIGlmIHRoZXkncmUgZmF0YWwKCjIwMTQtMDItMTEgMTQ6MTg6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RVcmlEb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTAyLTExIDE0OjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IFByb3ZpZGUgc29tZSBtb3JlIGRldGFpbHMgYWJvdXQgZXJyb3JzIGlmIGRvd25sb2FkaW5nIGZhaWxzCgoyMDE0LTAyLTExIDA5OjIwOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSB3aW5rcyBwbHVnaW4gaXMgbm90IHBvcnRlZCB0byAxLjAgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMDAKCjIwMTQtMDItMTAgMTU6Mzg6MDggLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogY2FsbCBjbG9zZSgpIGFmdGVyIHNodXRkb3duKCkKCSAgc2h1dGRvd24oKSBkb2Vzbid0IGNsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3Igc28gd2UgbGVhayBzb2NrZXRzIGlmIHdlCgkgIGRvbid0IGNhbGwgY2xvc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA3NwoKMjAxNC0wMi0xMCAxNDozMzo0OSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiB1c2Ugc2h1dGRvd24oKSBpbnN0ZWFkIG9mIGNsb3NlKCkKCSAgd2UgbWFrZSBzdXJlIGJvdGggZW5kcyBnZXQgbm90aWZpZWQgd2hlbiB0aGUgc29ja2V0IGlzIGNsb3NlZCBieSB1c2luZwoJICBzaHV0ZG93bigpIGluc3RlYWQgb2YgY2xvc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA3NwoKMjAxNC0wMi0xMCAxODoyOToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0YXJ0IGRvd25sb2FkaW5nIHRoZSBuZXh0IGZyYWdtZW50IGltbWVkaWF0ZWx5IGFmdGVyIGNhY2hpbmcgdGhlIGluaXRpYWwgZnJhZ21lbnRzCgkgIEFuZCBvbmx5IGFmdGVyd2FyZHMgd2FpdCB1bnRpbCBhIGZyYWdtZW50IHdhcyBwbGF5ZWQuIE90aGVyd2lzZSB3ZSdyZSBrZWVwaW5nCgkgIG91ciBjYWNoZSBtb3N0IG9mIHRoZSB0aW1lIGF0ICJmcmFnbWVudHMtY2FjaGUiIGZyYWdtZW50cyBtaW51cyBvbmUuCgkgIEFsc28gYWxsb3cgc2V0dGluZyAiZnJhZ21lbnRzLWNhY2hlIiB0byAxIG5vdyB0byBzdGFydCBwbGF5YmFjayBldmVuIGZhc3Rlci4KCjIwMTQtMDItMTAgMTg6Mjc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdGFydCBmZXRjaGluZyBuZXcgZnJhZ21lbnRzIHdoZW5ldmVyIHdlIGhhdmUgbGVzcyBmcmFnbWVudHMgY2FjaGVkIHRoYW4gZ2l2ZW4gYnkgdGhlIGZyYWdtZW50cy1jYWNoZSBwcm9wZXJ0eQoJICBXYWl0aW5nIHVudGlsIG91ciBjYWNoZSBpcyBlbXB0eSBiZWZvcmUgc3RhcnRpbmcgdG8gZmV0Y2ggdGhlIG5leHQgZnJhZ21lbnQKCSAga2luZCBvZiBkZWZlYXRzIHRoZSBwdXJwb3NlIG9mIGNhY2hpbmcgbXVsdGlwbGUgZnJhZ21lbnRzLgoKMjAxNC0wMi0xMCAxODoyMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBiaXRyYXRlIGNhbGN1bGF0aW9uCgkgIGdfZ2V0X21vbm90b25pY190aW1lKCkgcmV0dXJucyBtaWNyb3NlY29uZHMsIG5vdCBuYW5vc2Vjb25kcy4KCjIwMTQtMDItMTAgMTc6MjY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEFjdHVhbGx5IHN0b3JlIGRvdWJsZXMgYXMgc3VjaCBhbmQgZG9uJ3QgdHJ1bmNhdGUgdGhlbSB0byBpbnRzCgkgIEZpeGVzIGJyb2tlbiBkdXJhdGlvbiByZXBvcnRpbmcuCgoyMDE0LTAyLTEwIDE3OjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBVc2UgbG9jYWxlLWluZGVwZW5kZW50IGludC9mbG9hdCBwYXJzaW5nIGZ1bmN0aW9ucyBmcm9tIEdMaWIKCjIwMTQtMDItMTAgMTQ6MzQ6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGFkZCBtb3JlIHNvdW5kZm9udCBzZWFyY2ggcGF0aHMKCSAgRmVkb3JhIGluc3RhbGxzIHRoZSBzb3VuZGZvbnRzIGluIC91c3Ivc2hhcmUvc291bmRmb250cy8gc28gbWFrZSBzdXJlIHdlCgkgIGxvb2sgdGhlcmUgYXMgd2VsbC4KCjIwMTQtMDItMTAgMDg6MTk6NTIgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgQ2hhbmdlIHNvdW5kZm9udCBmaWxlIHNlYXJjaCBwYXRoIGZvciBmbHVpZGRlYwoJICBVc2UgZ2xpYiB0byBnZXQgYSBsaXN0IG9mIHN5c3RlbSAic2hhcmUiIGRpcmVjdG9yaWVzLCB0aGVuIGdvIHRocm91Z2ggdGhhdAoJICBsaXN0LCBhcHBlbmRpbmcgJ3NvdW5kcy9zZjIvJyB0byBlYWNoIGRpcmVjdG9yeSB0byBnZXQgYSBzb3VuZGZvbnQgZGlyZWN0b3J5LAoJICBhbmQgbG9va2luZyBmb3IgLnNmMiBmaWxlcyB0aGVyZS4KCSAgVGhpcyB3YXkgZmx1aWRkZWMgaXMgYWJsZSB0byBsb2FkIHNmMiBmaWxlcyBvbiBXMzIsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZQoJICBwYXRoICcvdXNyL3NoYXJlL3NvdW5kcy9zZjInIG1ha2VzIG5vIHNlbnNlIHRoZXJlLgoJICBGaXhlcyAjNzI0MDEzCgoyMDE0LTAyLTEwIDA4OjIxOjA0ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHdpbmtzIGNvbmZpZ3VyZSB0ZXN0CgkgIEZpeGVzICM3MjM5OTUKCjIwMTQtMDItMTAgMDg6MjI6MDUgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5rczogTWFrZSBoZWFkZXJzIGtub3duIHRvIGF1dG9tYWtlCgkgIEZpeGVzICM3MjQwMDMKCjIwMTQtMDItMDkgMTg6NDk6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByZWZlciB0byB1c2UgbmV0dGxlIGZvciBkZWNyeXB0aW9uIGJ1dCBmYWxsLWJhY2sgdG8gbGliZ2NyeXB0CgkgIG5ldHRsZSBpcyB1c2VkIGJ5IG5ld2VyIHZlcnNpb25zIG9mIGdudXRscywgd2hpbGUgb2xkZXIgdmVyc2lvbnMgb2YgZ251dGxzCgkgIHVzZWQgbGliZ2NyeXB0LiBTdXBwb3J0IGJvdGggZm9yIG5vdyBhcyBub3QgZXZlcnkgZGlzdHJvIGhhcyBuZXR0bGUgeWV0LgoJICBuZXR0bGUgaXMgcHJlZmVycmVkIGFzIGl0IGlzIG1vcmUgZWZmaWNpZW50IHRvIHVzZSBhbmQgbXVjaCBzbWFsbGVyLgoKMjAxNC0wMi0wOSAxODoxOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBVcGRhdGUgdG8gbm9uLWRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDE0LTAyLTA5IDE4OjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIG00L2xpYmdjcnlwdC5tNDoKCSAgaGxzZGVtdXg6IFVzZSBsaWJnY3J5cHQgZGlyZWN0bHkgaW5zdGVhZCBvZiBnb2luZyB0aHJvdWdoIGdudXRscwoJICBnbnV0bHMgaXMgYWxzbyBqdXN0IHdyYXBwaW5nIGdjcnlwdCwgYnV0IHdlIGRvbid0IG5lZWQgYW55IG9mCgkgIHRoZSBUTFMgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LiBXZSBqdXN0IG5lZWQgdG8gYmUgYWJsZSB0byBkZWNyeXB0CgkgIEFFUzEyOC1DQkMuCgoyMDE0LTAyLTA4IDIwOjA4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGZyb20gdW5pdCB0ZXN0CgoyMDE0LTAyLTA4IDIwOjA3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGZyb20gdW5pdCB0ZXN0CgoyMDE0LTAyLTA4IDIwOjA3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdAoJICBlcnJvcjogc3VnZ2VzdCBicmFjZXMgYXJvdW5kIGluaXRpYWxpemF0aW9uIG9mIHN1Ym9iamVjdCBbLVdlcnJvciwtV21pc3NpbmctYnJhY2VzXQoKMjAxNC0wMi0wOCAxOTo1OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRml4IGNvbXBhcmlzb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24gb2YgdHlwZQoJICAnR3N0U3J0cENpcGhlclR5cGUnIGlzIGFsd2F5cyBmYWxzZQoKMjAxNC0wMi0wOCAxOToyOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFJlbW92ZSB1bnVzZWQgcHJpdmF0ZSBmaWVsZHMKCjIwMTQtMDItMDggMTk6Mjg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIHNlZ21lbnRhdGlvbjogRml4IGludGVnZXIgdW5kZXJmbG93IGNoZWNrCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzCgkgIGFsd2F5cyBmYWxzZSBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoKMjAxNC0wMi0wOCAxODo1ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0wOCAxODo1NzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgIGJ6MjogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmRzCgoyMDE0LTAyLTA4IDE4OjU2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJICB2ZHBhdTogRml4IGNvbXBhcmlzb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24KCSAgb2YgdHlwZSAnY29uc3QgR3N0VmlkZW9Gb3JtYXQnIGlzIGFsd2F5cyBmYWxzZQoKMjAxNC0wMi0wOCAxODo1NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wMi0wOCAxODo0ODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogdmFyaWFibGUgJ2ltYWdlX3R5cGUnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlcgoJICAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxODo0NToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMi0wOCAxODoyMDoyMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHBtdDogRGV0ZWN0IGRlc2NyaXB0b3IgbGVuZ3RoIGNvcnJlY3QKCjIwMTQtMDItMDggMTc6NDM6MDMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBDb3JyZWN0bHkgY2hlY2sgZm9yIFBBVCxQTVQsQ0FULFRTRFQKCjIwMTQtMDItMDggMTM6MDg6MDIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggc29tZSBwYWNrZXRpemluZyBidWdzCgkgIC0gTGVuZ3RoIG9mIE5JVCBzdHJlYW0gZGVzY3JpcHRvcnMgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0CgkgIC0gUmVzZXJ2ZWQgYml0cyB3YXMgbm90IHNldCBhY2NvcmRpbmcgdG8gRU4gMzAwIDQ2OCwgSVNPL0lFQyAxMzgxOC0xCgkgIC0gQWxzbyBzZXQgb3V0cHV0IGRhdGEgc2l6ZSBpZiB0aGUgc2VjdGlvbiB3YXMgcHJldmlvdXNseSBwYWNrZXRpemVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4OTIKCjIwMTQtMDItMDcgMTE6NTQ6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgb3IgbW92ZSB2YXJpYWJsZSBhc3NpZ25tZW50cwoJICBUbyB3aGVyZSB0aGV5J3JlIG5lZWRlZAoKMjAxNC0wMi0wNyAxMTo1MzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBSZW1vdmUgdW5uZWVkZWQgaW5jcmVtZW50CgoyMDE0LTAyLTA3IDExOjQyOjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IEZpeCBjb21wYXJpc2lvbgoJICB3ZSB3YW50IHRvIHN0b3AgaWYgb25lIE9SIHRoZSBvdGhlciBpcyBOVUxMLgoKMjAxNC0wMi0wNiAxMzo1Mzo0OSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXBkYXRlZCBkb2NzIHdpdGggbmV3IEFQSQoKMjAxMy0xMS0xOSAxMjoyMTozMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBVc2UgbXBlZy10cyBsaWIgZm9yIFBBVC9QTVQgc2VjdGlvbnMKCSAgUmV3cml0ZSBvZiB0aGUgUEFUL1BNVCBzZWN0aW9uIGhhbmRsaW5nIHRvIHVzZSB0aGUgbXBlZy10cyBsaWJyYXJ5CgoyMDEzLTExLTIwIDExOjE0OjQ2ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgU0kgdGFibGVzCgkgIFRoZSBtdXhlciBpcyBub3cgYWJsZSB0byBpbmNsdWRlIERWQiBzZWN0aW9ucyBpbiB0aGUgdHJhbnNwb3J0IHN0cmVhbS4KCSAgVGhlIHNpLWludGVydmFsIHByb3BlcnR5IHdpbGwgZGV0ZXJtaW5lIGhvdyBvZnRlbiB0aGUgU0kgdGFibGVzIGFyZQoJICBtdXhlZCBpbnRvIHRoZSBzdHJlYW0uCgkgIFRoZSBzZWN0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIG1wZWctdHMgbGlicmFyeS4gQmVsb3cgaXMgYSBzbWFsbCBleGFtcGxlCgkgIHRoYXQgd2lsbCBpbmNsdWRlIGEgTmV0b3JrIEluZm9ybWF0aW9uIFRhYmxlIHdpdGggYSBOZXR3b3JrIE5hbWUKCSAgZGVzY3JpcHRvciBpbiB0aGUgc3RyZWFtLgoJICBHc3RNcGVnVHNOSVQgKm5pdDsKCSAgR3N0TXBlZ1RzRGVzY3JpcHRvciAqZGVzY3JpcHRvcjsKCSAgR3N0TXBlZ1RzU2VjdGlvbiAqc2VjdGlvbjsKCSAgR3N0RWxlbWVudCAqbXBlZ3RzbXV4OwoJICBnc3RfbXBlZ3RzX2luaXRpYWxpemUgKCk7CgkgIG5pdCA9IGdzdF9tcGVndHNfc2VjdGlvbl9uaXRfbmV3ICgpOwoJICBuaXQtPmFjdHVhbF9uZXR3b3JrID0gVFJVRTsKCSAgZGVzY3JpcHRvciA9IGdzdF9tcGVndHNfZGVzY3JpcHRvcl9mcm9tX2R2Yl9uZXR3b3JrX25hbWUgKCJOZXR3b3JrIG5hbWUiKTsKCSAgZ19wdHJfYXJyYXlfYWRkIChuaXQtPmRlc2NyaXB0b3JzLCBkZXNjcmlwdG9yKTsKCSAgc2VjdGlvbiA9IGdzdF9tcGVndHNfc2VjdGlvbl9mcm9tX25pdCAobml0KTsKCSAgLy8gbXBlZ3RzbXV4IHNob3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcGlwZWxpbmUKCSAgZ3N0X21wZWd0c19zZWN0aW9uX3NlbmRfZXZlbnQgKHNlY3Rpb24sIG1wZWd0c211eCk7CgkgIGdzdF9tcGVndHNfc2VjdGlvbl91bnJlZiAoc2VjdGlvbik7CgoyMDEzLTExLTE5IDExOjMwOjMzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogU3VwcG9ydCByZWdpc3RyYXRpb24gYW5kIGN1c3RvbSBkZXNjcmlwdG9yCgkgIFN1cHBvcnQgZm9yIHJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yICgweDA1KQoJICBBZGQgZnVuY3Rpb24gdG8gY3JlYXRlIGEgZGVzY3JpcHRvciB3aXRoIGN1c3RvbSB0YWcgYW5kIGRhdGEKCjIwMTMtMTEtMTkgMTE6MTU6NTIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIGNyZWF0aW9uIG9mIERWQiBTdWJ0aXRsaW5nIGRlc2NyaXB0b3IKCSAgRGVzY3JpcHRvciB0YWcgaXMgMHg1OQoKMjAxMy0xMS0xOSAxMDo1MDozMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBTdXBwb3J0IHBhcnNpbmcgb2YgRFZCIFRlbGV0ZXh0IGRlc2NyaXB0b3IKCSAgRGVzY3JpcHRvciB0YWcgaXMgMHg1NgoKMjAxMy0xMS0yMCAxMTowNjowMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGluZyBQQVQvUE1UCgoyMDEzLTExLTIwIDExOjA0OjU4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHByb2dyYW1fbnVtYmVyIHRvIEdzdE1wZWdUc1BNVAoKMjAxMy0xMC0yOCAxNDo0OTowOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IgY29uc3RydWN0aW9uCgkgIEFkZCBmdW5jdGlvbiB0byBjcmVhdGUgYSBOZXR3b3JrIE5hbWUgRFZCIGRlc2NyaXB0b3IuCgoyMDEzLTEwLTI4IDE0OjQ4OjEzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGluZyBhIE5JVCBzZWN0aW9uCgkgIEZ1bmN0aW9ucyB0aGF0IHdpbGwgZW5hYmxlIHVzZXIgdG8gY3JlYXRlIE5ldHdvcmsgSW5mb3JtYXRpb24gVGFibGVzLgoKMjAxMy0xMC0yOCAxNDoyNjozOSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgbmV0d29ya19pZCB0byBHc3RNcGVnVHNOSVQKCSAgVGhlIG5ldHdvcmtfaWQgaXMgc3RvcmVkIGluIHRoZSBzdWJ0YWJsZSBleHRlbnNpb24uIE1ha2UgYSBmaWVsZAoJICBpbiB0aGUgR3N0TXBlZ1RzTklUIGZvciBiZXR0ZXIgY29kZSByZWFkYWJpbGl0eQoKMjAxMy0xMC0zMSAxMzo0NzoyMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbnMgdG8gc2VuZCBzZWN0aW9ucyBhcyBldmVudHMKCSAgQWRkZWQgZnVuY3Rpb24gdGhhdCBlbmFibGVzIHRoZSB1c2VyIHRvIHNlbmQgYSBHc3RNcGVnVHNTZWN0aW9uIGFzCgkgIGFuIGV2ZW50IHRvIGEgR3N0RWxlbWVudC4gKGkuZS4gbXBlZ3RzbXV4KQoKMjAxMy0xMC0yOCAxNDo0NDoxMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbnMgdG8gcGFja2V0aXplIHNlY3Rpb24KCSAgU2VjdGlvbnMgbmVlZHMgdG8gYmUgcGFja2V0aXplZCBmb3IgdXNlIGluIGkuZS4gbXBlZ3RzbXV4LgoJICBUaGVzZSBmdW5jdGlvbnMgaGFuZGxlcyB0aGUgZ2VuZXJpYyBjb21tb24gcGFydHMgb2YgYSBHc3RNcGVnVHNTZWN0aW9uCgoyMDEzLTEwLTI4IDE0OjM5OjQ5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQWRkIGluaXQgZnVuY3Rpb25zIGZvciBkZXNjcmlwdG9yL3NlY3Rpb24KCjIwMTMtMTAtMzAgMTA6NDM6MjEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9uIHRvIGVuY29kZSBVVEY4IHN0cmluZ3MKCSAgVGhpcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgZGVzY3JpcHRvcnMgd2l0aCBhcHByb3ByaWF0ZSBjaGFyYWN0ZXIgbWFwcwoKMjAxMy0xMC0zMCAxMDo0MjowNyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXNlIGJpZyBlbmRpYW4gVUNTLTIgY29kaW5nCgkgIFBhcnNpbmcgb2YgY29udHJvbCBjb2RlcyByZXF1aXJlcyBhIGJpZyBlbmRpYW4gY2hhcmFjdGVyIG1hcAoKMjAxMy0xMC0zMCAxMDozMzoxOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIHR3by13YXkgaWNvbnYgY29udmVyc2lvbnMKCSAgVG8gdXNlIGluIGNvbnZlcnNpb25zIGZyb20gVVRGLTggdG8gYW5vdGhlciBjaGFyYWN0ZXIgbWFwCgoyMDE0LTAyLTA2IDE2OjE3OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IEZpeCBsaWJ0b29sIHVzYWdlCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAyLTA2IDE0OjIxOjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVcGRhdGUgcGx1Z2luIGxpY2Vuc2UgZmllbGQKCSAgVGhlIG9yaWdpbmFsIGNvZGUgKG9sZCBtcGVndHNwYXJzZSkgZnJvbSB3aGljaCB0aGlzIHBsdWdpbiB3YXMgYmFzZWQgb24KCSAgd2FzIGR1YWwtbGljZW5zZWQuIFRoaXMgYWxsb3dlZCB1c2FnZSBvZiB0aGUgY29kZSB1bmRlciBhbnkgb2YgdGhlCgkgIGxpY2Vuc2VzICh3aGljaCBpbmNsdWRpbmcgTEdQTCk6CgkgICIiIgoJICAqIEFsdGVybmF0aXZlbHksIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zIG9mCgkgICogdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZSAiTEdQTCIpLAoJICAqIGluIHdoaWNoIGNhc2UgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIExHUEwgYXJlIGFwcGxpY2FibGUgaW5zdGVhZAoJICAqIG9mIHRob3NlIGFib3ZlLiBJZiB5b3Ugd2lzaCB0byBhbGxvdyB1c2Ugb2YgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSBvbmx5CgkgICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBMR1BMLCBhbmQgbm90IHRvIGFsbG93IG90aGVycyB0bwoJICAqIHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTVBMLCBpbmRpY2F0ZSB5b3VyCgkgICogZGVjaXNpb24gYnkgZGVsZXRpbmcgdGhlIHByb3Zpc2lvbnMgYWJvdmUgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBub3RpY2UKCSAgKiBhbmQgb3RoZXIgcHJvdmlzaW9ucyByZXF1aXJlZCBieSB0aGUgTEdQTC4gSWYgeW91IGRvIG5vdCBkZWxldGUKCSAgKiB0aGUgcHJvdmlzaW9ucyBhYm92ZSwgYSByZWNpcGllbnQgbWF5IHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyCgkgICogdGhlIHRlcm1zIG9mIHRoZSBNUEwgb3IgdGhlIExHUEwuCgkgICIiIgoJICBXaGVuIHJlZmFjdG9yZWQgKGxlYWRpbmcgdG8gdGhlIGNyZWF0aW9uIG9mIHRoaXMgbmV3IHBsdWdpbiksIEkgY2hvc2UgYWxsCgkgIG5ldyBjb2RlIHRvIGJlIExHUEwtb25seSAod2hpY2ggd2FzIGFsbG93ZWQgZm9yIHByZS1leGlzdGluZyBjb2RlKSBieSByZW1vdmluZwoJICB0aGUgTVBMIHNlY3Rpb25zLgoJICBUaGUgaGVhZGVycyB3ZXJlIGFsbCB1cGRhdGVkLCBidXQgbm90IHRoZSBwbHVnaW4gbGljZW5zZSBmaWVsZC4gVGhpcyBjb21taXQKCSAgZml4ZXMgdGhpcy4KCjIwMTQtMDItMDQgMTQ6MTU6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgdGVzdHM6IGluc2VydGJpbjogdXBkYXRlIHRlc3RzIHRvIDEueCBzY2VuYXJpbwoJICBUaGUgdGhyZWFkIHRoYXQgY2FsbHMgdGhlIHN1Y2Nlc3MvZmFpbHVyZSBjYWxsYmFjayBjYW4gYmUgdGhlCgkgIHNhbWUgdGhhdCBpcyBhZGRpbmcvcmVtb3ZpbmcgdGhlIGVsZW1lbnQgYXMgdGhlIElETEUgcHJvYmUgY2FuCgkgIGhhcHBlbiBpbnN0YW50bHkgaWYgdGhlIHBhZCBpcyBub3QgJ2J1c3knLgoJICBUaGlzIHJlcXVpcmVkIG1vdmluZyBzb21lIGNoZWNrcyBmb3IgdGhlIGNhbGxiYWNrIGNvdW50ZXIgYXJvdW5kCgkgIGFzIHdlbGwgYXMgcmVtb3Zpbmcgc29tZSBwYWQgcHVzaGVzIGZyb20gdGhlIG1haW4gdGVzdCB0aHJlYWQgYXMKCSAgdGhleSB3ZXJlIG1hZGUgdXNlbGVzcyBhZnRlciB0aGUgSURMRSBwYWQgcHJvYmUgd2FzIGZpeGVkIGluIGNvcmUKCSAgYnkgY29tbWl0IDAzMjQzNThlYmM4MTIyYTQxYWI0OTlhM2VmNzk3M2I2MWMzZTYyMWIKCjIwMTQtMDItMDMgMjM6Mzk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGF2b2lkIHdhcm5pbmcgaWYgdGVzdCBpcyBmYWlsaW5nCgkgIEluIGNhc2UgdGhlIHRlc3QgZmFpbHMgdGhlIG1lc3NhZ2Ugd29uJ3QgYmUgcmV0dXJuZWQgYW5kIGl0CgkgIHdpbGwgbGVhZCB0byBhbiBhc3NlcnRpb24gdGhhdCBtaWdodCBiZSBtaXNsZWFkaW5nIHRvIHRob3NlCgkgIGRlYnVnZ2luZyB0aGUgaXNzdWUuCgoyMDE0LTAyLTAzIDIzOjEwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc3RvcCBzb3VyY2UgdG8gZG8gaW50ZXJuYWwgcmVjb25maWd1cmF0aW9uIHNhZmVseQoJICBJbiBvcmRlciB0byBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgY2FwcyBvbiBtdWx0aXBsZSBjYXBzZmlsdGVycyB0aGUKCSAgc291cmNlIGVsZW1lbnQgbmVlZHMgdG8gYmUgc3RvcHBlZCwgb3RoZXJ3aXNlIGl0IHdpbGwgZ2V0IGEgZmV3CgkgIHJlY29uZmlndXJlIGV2ZW50cyBhbmQgbWlnaHQgdHJ5IHRvIHJlbmVnb3RpYXRlIHdoaWxlIHRoZSBiaW4KCSAgaXMgc3RpbGwgdHJhbnNpdGlvbmluZyBpdHMgY2FwcywgbGVhZGluZyB0byBhIG5vdC1uZWdvdGlhdGVkIGZhaWx1cmUKCSAgYW5kIHRoZSBpbWFnZSBjYXB0dXJlIHdvbid0IGhhcHBlbiBiZWNhdXNlIHRoZSBzb3VyY2Ugd2lsbCBiZQoJICB1bnVzYWJsZS4KCSAgVGhlIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhlIHNvdXJjZSBpbiBwYXVzZWQgd2hpbGUgdGhlIGNhcHMgYXJlIGJlaW5nCgkgIGNoYW5nZWQgaW4gdGhlIGJpbiwgYW5kIHRoZW4gYnJpbmcgdGhlIGVsZW1lbnQgYmFjayB0byBwbGF5aW5nIG9uY2UKCSAgaXQgaXMgZG9uZS4gVW5mb3J0dW5hdGVseSB0aGlzIGluY3JlYXNlcyB0aGUgaW1hZ2UgY2FwdHVyZSBsYXRlbmN5LAoJICBidXQgaXQgc2hvdWxkIGFsd2F5cyB3b3JrLgoJICBBIHBvc3NpYmxlIGltcHJvdmVtZW50IHRvIHJlZHVjZSB0aGUgbGF0ZW5jeSBpcyB0byBhZGQgYW5vdGhlciBzaWduYWwKCSAgdG8gYmUgY2FsbGVkIGJlZm9yZSAnc3RhcnQtY2FwdHVyZSc6ICdwcmVwYXJlLWNhcHR1cmUnLiBBdCB0aGlzIHN0ZXAKCSAgdGhlIGNhbWVyYSBzb3VyY2Ugc2hvdWxkIHNldCBhbGwgY2FwcyBpdCBuZWVkcyBhbmQgZ2V0IHRoZSBzb3VyY2UKCSAgcmVhZHkgZm9yIGRvaW5nIHRoZSBjYXB0dXJlIGFzIHNvb24gYXMgJ3N0YXJ0LWNhcHR1cmUnIGlzIGNhbGxlZC4KCSAgVGhpcyBjYW4gYmUgZG9uZSBvbiBhIGZ1dHVyZSBjb21taXQKCjIwMTQtMDItMDMgMjM6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUHJvYmFibHkgYSBsZWZ0IG92ZXIgZnJvbSAwLjEwIC0+IDEueCBwb3J0aW5nCgoyMDE0LTAyLTA0IDE3OjIyOjI3ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogaW1wcm92ZWQgZXJyb3IgcmVwb3J0IGFuZCBjaGVja3MKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxNC0wMi0wNCAxMjo1MjoyNSArMDEwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHJhY2UgY29uZGl0aW9uIGJldHdlZW4gRU9TIGhhbmRsaW5nIGFuZCBkb3dubG9hZGluZyBhIHJhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMzQKCjIwMTQtMDItMDQgMDU6NDY6MTYgLTA1MDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IGFkYXB0aXZlIGJ1ZmZlciBzaXplCgkgIENvcGllZCBmcm9tIHdhdnBhcnNlLCBoZWxwcyB3aXRoIENQVSB1c2FnZSBvbiBoaWdoIGJpdHJhdGUKCSAgZmlsZXMuCgoyMDE0LTAyLTAyIDE4OjE3OjA2IC0wODAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBTaW5jZSBiMWE3NTZmZCwgYXBwbGVtZWRpYSBmYWlscyB0byBidWlsZCBvbiBvc3ggMTAuNywgd2hpY2ggbGFja3MgVmlkZW9Ub29sYm94LmguLi4gc28gZGlzYWJsZSBpdCBvbiBPU1ggaWYgdGhhdCBoZWFkZXIgaXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUwOAoKMjAxNC0wMi0wMiAxMzo1MDo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggZGF0YSBzdGFydCBvZmZzZXQgY2FsY3VsYXRpb24gbm90IGNvdW50aW5nIENPTU0gc2l6ZQoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGZpeGVzIHNlZWtpbmcgYmFjayB0byB0aGUgc3RhcnQgcmVhZGluZyBkYXRhCgkgIG91dCBvZiBzeW5jIHdpdGggc2FtcGxlIHN0YXJ0IGdyYW51bGFyaXR5LCB5aWVsZGluZyBzd2FwcGVkIGNoYW5uZWxzLgoKMjAxNC0wMS0zMSAyMzo0MzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICB0ZXN0czogZ2RwZGVwYXk6IHVwZGF0ZSB0byAxLnggZXZlbnRzCgkgIFRlc3RzIG5lZWRlZCBzdHJlYW0gc3RhcnQgYXQgYmVnaW5uaW5nIGFuZCBzZWdtZW50IGFmdGVyIHRoZQoJICBjYXBzIGV2ZW50CgoyMDE0LTAxLTMxIDE4OjM4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGFkZCBEVFMgdG8gaGVhZGVycwoKMjAxNC0wMS0zMSAxMjoxNTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwcGF5OiB1cGRhdGUgdG8gMS54IHJlYWxpdHkKCSAgKiBzdHJlYW0tc3RhcnQtaWQgaXMgbWFuZGF0b3J5IGF0IHRoZSBiZWdpbm5pbmcsIHNvIGFkZCB0aGF0IHRvIHRoZQoJICBnZHAgaGVhZGVycwoJICAqIGNhcHMgbXVzdCBiZSBzZW50IGJlZm9yZSBuZXcgc2VnbWVudCwgaW52ZXJ0IHRoZSBvcmRlciBmcm9tIGxlZ2FjeQoJICAwLjEwIGNvZGUKCSAgQW5kIGZpeCB0aGUgdGVzdHMgYXMgYSByZWYgaXMgbm93IGtlcHQgZm9yIHRob3NlIGJ1ZmZlcnMgdGhhdCBjb21wb3NlCgkgIHRoZSBoZWFkZXIKCjIwMTQtMDEtMzEgMTY6NTg6MTYgLTA1MDAgIENvbGluIE1hY2RvbmFsZCA8Y2JtQG0uZnNmLm9yZz4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJICBmaXNoZXllOiBGaXggZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzk4CgoyMDE0LTAxLTI5IDE2OjMyOjMwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERlZmF1bHQgZnJhbWVyYXRlIHRvIDAvMSB3aGVuIG5vIGluZm9ybWF0aW9ucyBmb3VuZAoJICBJdCBpcyBub3QgcGVyZmVjdCBidXQgaXQgYWxsb3dzIHVzIHRvIGJlIHN1cmUgdGhhdCB0aGUgbWFuZGF0b3J5ICdmcmFtZXJhdGUnCgkgIGZpZWxkIGlzIHByZXNlbnQgaW4gdGhlIGNhcHMuCgkgIEFzIHNvb24gYXMgc29tZSBpbmZvcm1hdGlvbiBpcyBmb3VuZCBpbiB0aGUgc3RyZWFtLCB0aGF0IHdpbGwgYmUKCSAgdXBkYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI0MwoKMjAxNC0wMS0zMCAxOTo0NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogcmVmYWN0b3IgYW5kIGFkZCBtaXNzaW5nIGJpdHMKCSAgTW9zdCBvZiB0aGUgdGVzdHMgd2VyZW4ndCB1cGRhdGVkIGFmdGVyIHRoZSBzdGlja3kgZXZlbnRzIG9yZGVyCgkgIGFuZCBzdHJlYW0gc3RhcnQuIEZpeCB0aGF0IGFuZCByZWZhY3RvciB0aG9zZSB0ZXN0cyBjaGVjayB0aGF0CgkgIGFyZSB0aGUgc2FtZSB0byBzb21lIGNvbW1vbiBmdW5jdGlvbnMuCgkgIFRob3NlIGZ1bmN0aW9ucyBzdGlsbCBkb24ndCBhY3R1YWxseSB0ZXN0IHRoZSBjb250ZW50IGJ1dCBhdAoJICBsZWFzdCBub3cgdGhleSBhcmUgaW4gYSBzaW5nbGUgcGxhY2UgYW5kIGNhbiBiZSBpbXByb3ZlZAoJICB3aXRob3V0IHJlcGxpY2F0aW9uCgoyMDE0LTAxLTMwIDE4OjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiBEbyBub3QgZm9yZ2V0IHRvIHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IG9uIHRlc3QKCSAgRXZlbiBpZiB3ZSBkb24ndCB3YW50IHRvIHB1c2ggdGhlIGNhcHMgZXZlbnQsIGEgc3RyZWFtLXN0YXJ0IG11c3QKCSAgYmUgcHJlc2VudCBiZWZvcmUgYW55IGRhdGEgaW4gMS54CgoyMDE0LTAxLTMwIDE4OjA5OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcHVzaCB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIGluc3RlYWQgb2YganVzdCBzd2FsbG93aW5nIHVwc3RyZWFtJ3Mgc3RyZWFtLXN0YXJ0IGludG8gaXRzCgkgIHBheWxvYWQsIHB1c2ggaXQgYXMgZWxlbWVudHMgZXhwZWN0IGEgc3RyZWFtLXN0YXJ0IGJlZm9yZSBkYXRhCgoyMDE0LTAxLTMwIDIwOjI4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogV2UgZG8gbm90IHN1cHBvcnQgdGhlIFNLSVAgc2VlayBmbGFnIGJ1dCB0aGF0IGlzIG5vdCBhIHByb2JsZW0KCjIwMTQtMDEtMzAgMTA6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ0OGJlZDMgdG8gMWEwN2RhOQoKMjAxNC0wMS0zMCAwMzoyODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogaW1wcm92ZSBwcmV2aWV3IGhhbmRsaW5nIGluIHRlc3RzCgkgIEFsd2F5cyBlcmFzZSB0aGUgcHJldmlldyBpbWFnZSBkYXRhIHRvIGFsbG93IHRoZSBuZXh0IGNoZWNrIGZvcgoJICBpdCB0byBvcGVyYXRlIHByb3Blcmx5CgoyMDE0LTAxLTI5IDIwOjM4OjU3ICswMTAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBBbHdheXMgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgaW4gZ3N0X3VyaV9kb3dubG9hZGVyX2ZldGNoX3VyaV93aXRoX3JhbmdlKCkKCSAgZXZlbiBpZiBkb3dubG9hZGVyLT5wcml2LT51cmlzcmMgaXMgbm90IHNldC4gVGhpcyBhdm9pZHMgZGVhZGxvY2sgdW5kZXIgc29tZQoJICBzb21lIGNvbmRpdGlvbnMgb24gY2FuY2VsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTI3CgoyMDE0LTAxLTI5IDEzOjI1OjM3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBUaGUgcGx1Z2luIHdvcmtzIHdpdGggMi40LjggdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyMzAKCjIwMTQtMDEtMjkgMTA6NTA6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogRG9uJ3QgdXNlIGdzdF8gYXMgcHJlZml4IGZvciBwcml2YXRlIHN5bWJvbHMKCSAgT3RoZXJ3aXNlIHRoZXkgZ2V0IGV4cG9zZWQvYWNjZXNzaWJsZSBpbiB0aGUgcmVzdWx0aW5nIC5zbwoJICBBbmQgbWFrZSBjaGVjay1leHBvcnRzIHdpbGwgY29tcGxhaW4KCjIwMTQtMDEtMjcgMjM6NTU6NTcgLTAzMDAgIEFtYXVyeSBNZWRlaXJvcyA8YW1hdXJ5bWVkZWlyb3NAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IEZpeCBmbGFncyBjb21wYXJpc29uIG9wZXJhdG9yIHByZWNlZGVuY2UKCSAgRml4IG9wZXJhdG9yIHByZWNlZGVuY2UsIHNvIHRoZSB3aG9sZSBvcGVyYXRpb24gaXMKCSAgbmVnYXRlZCBpbnN0ZWFkIG9mIG9ubHkgZmxhZ3MgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwOTYKCjIwMTQtMDEtMjYgMTQ6NDI6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkgIG1wZWd0czogaW5zdGFsbCBidXQgbm9kaXN0IGZvciBnZW5lcmF0ZWQgaGVhZGVyCgoyMDE0LTAxLTI1IDE3OjQwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgaGFuZGxlIEZMVVNISU5HIG9yIE5PVF9MSU5LRUQgYXMgZXJyb3IKCSAgQW5kIGFsc28ganVzdCBzdG9wIHRoZSB0YXNrIGZvciBGTFVTSElORy4KCjIwMTQtMDEtMjQgMjE6NDE6MjUgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IGdvIGludG8gcHVsbCBtb2RlIHdoZW4gdGhlIHNlcXVlbnRpYWwgZmxhZyBpcyBzZXQKCSAgV2hlbiB0aGUgc2NoZWR1bGluZyBxdWVyeSByZXN1bHRzIGhhcyBHU1RfU0NIRURVTElOR19GTEFHX1NFUVVFTlRJQUwgc2V0CgkgIGluIGl0cyBmbGFncyBkb24ndCBnbyBpbnRvIHB1bGwgbW9kZSB0byBwcmV2ZW50IG92ZXItZWFnZXIgc2Vla2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjkzNAoKMjAxNC0wMS0yNCAxMjozNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogZml4IHRlc3RzIGFmdGVyIGxlYWRpbmcgMHgwMCByZW1vdmFsCgkgIENvbW1pdCA2YWYzODdjZDVhYjJjOTQ2MDI1ZTU0OTk5MDNlNzVlZTg3YjA2M2E5IG1hZGUgaDI2NHBhcnNlCgkgIHN0cmlwIGEgbGVhZGluZyAweDAwIGJ5dGUgZnJvbSBzb21lIG91dHB1dCBzY2VuYXJpb3MuIFRoaXMgYnJva2UKCSAgdGVzdHMgYXMgYnNfdG9fbmFsIHRlc3QgZXhwZWN0cyBvbmUgbW9yZSBieXRlIG9uIHRoZSBvdXRwdXQuCgkgIEZpeCB0aGlzIGJ5IGNvbXBhcmluZyB0aGUgb3V0cHV0IHdpdGggdGhlIGV4cGVjdGVkIHN0cmlwcGVkIHZlcnNpb24sCgkgIHRvby4KCjIwMTQtMDEtMjQgMDE6MDc6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiByZWZhY3RvciBjb21tb24gbmFsIHBhcnNpbmcgdG8gbmFsdXRpbHMKCSAgTW92ZXMgY29tbW9uIGNvZGUgZnJvbSBoMjY0IGFuZCBoMjY1IHRvIGEgc2VwYXJhdGUgZmlsZQoKMjAxNC0wMS0wMyAwOTo0NDoyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggbXVsdGlwbGUgU0VJIG1lc3NhZ2VzIGluIG9uZSBTRUkgUkJTUCBwYXJzaW5nLgoJICBBbiBTRUkgUkJTUCBjb3VsZCBjb250YWlucyBtb3JlIHRoYW4gb25lIFNFSSBtZXNzYWdlIGFzIHNwZWNpZmllZCBpbgoJICA3LjQuMi4zLjEuCgkgIFRoaXMgY29tbWl0IGNoYW5nZSB0aGUgcGFyc2VyIEFQSTogdGhlIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWkoKQoJICBmdW5jdGlvbiBub3cgY3JlYXRlIGFuZCBmaWxsIGEgR0FycmF5IGNvbnRhaW5pbmcgR3N0SDI2NFNFSU1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3MTUKCjIwMTQtMDEtMjIgMTA6MjY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IHJlbW92ZSB0cmFpbGxpbmcgMHgwMCBieXRlcyBhcyB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZW0KCSAgSnVzdCBsaWtlIGgyNjQsIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlIGxhc3QgYnl0ZXMgb2YgYSBOQUwgdG8gYmUgMHgwMC4KCSAgU28gcmVtb3ZlIGl0IGFzIGl0IGlzIHByb2JhYmx5IGp1c3QgcGFkZGluZy4KCSAgVGhpcyBpcyByZWxhdGVkIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODQKCjIwMTQtMDEtMjAgMTc6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IHJlbW92ZSB0cmFpbGxpbmcgMHgwMCBieXRlcyBhcyB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZW0KCSAgVGhlIHNwZWMgc3RhdGVzIHRoYXQgdGhlIGxhc3QgYnl0ZSBvZiBhIE5BTCAnc2hhbGwgbm90JyBiZSAweDAwCgkgIGFuZCBpdCBpcyBhbGxvd2VkIGZvciBieXRlLXN0cmVhbSBmb3JtYXQgdG8gYWRkIHBhZGRpbmcgMHgwMCBmb3IKCSAgYWxpZ25tZW50LgoJICBTbyBvdXIgcGFyc2VyIHNob3VsZCBzdHJpcCBhbnkgdHJhaWxsaW5nIDB4MDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODQKCjIwMTQtMDEtMjEgMjM6NDI6NTggKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGxlYWsgcGFkIG5hbWUgd2hlbiB0cmVhdGluZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY5OQoKMjAxNC0wMS0yMSAxMDoyNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IHVwZGF0ZSBsYXN0X3RzIHRvIG11eCBjb3JyZWN0bHkKCSAgV2UgdXNlIGxhc3RfdHMgdG8gZGVjaWRlIHdoYXQgYnVmZmVyIHRvIG11eCBuZXh0IHNvIG1ha2Ugc3VyZSB0aGF0IGl0CgkgIGFsd2F5cyBjb250YWlucyB0aGUgbGFzdCBrbm93biB2YWxpZCB0aW1lc3RhbXAuCgoyMDE0LTAxLTIxIDEwOjU4OjM1ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEluaXRpYWxpemUgcG9pbnRlciBjb3JyZWN0bHkgdGhhdCBpcyBuZXZlciBhc3NpZ25lZCBidXQgZnJlZWQgaW4gZXJyb3IgY2FzZXMKCSAgRml4ZXMgY3Jhc2ggb24gYnJva2VuIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2NjkKCjIwMTQtMDEtMjEgMDk6NDQ6MDAgKzAxMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRmlyc3QgZGVzdHJveSB0aGUgd2luZG93LCB0aGVuIHVucmVnaXN0ZXIgdGhlIGNsYXNzCgkgIEl0J3MgaW1wb3NzaWJsZSB0byBjcmVhdGUgYW5vdGhlciBwaXBlbGluZSB3aXRoIGQzZHZpZGVvc2luayBhZnRlciBkaXNwb3NpbmcKCSAgdGhlIHByZXZpb3VzIG9uZSBkdWUgdG8gc29tZSBwcm9ibGVtIGluIGQzZHZpZGVvc2luay4gVGhlIG1lc3NhZ2UgaXM6ICJVbmFibGUKCSAgdG8gcmVnaXN0ZXIgRGlyZWN0M0QgaGlkZGVuIHdpbmRvdyBjbGFzcyIuCgkgIEkndmUgZXZhbHVhdGVkIHRoZSBwcm9ibGVtIGFuZCBpdCdzIHRoYXQgVW5yZWdpc3RlckNsYXNzKCkgaW4gd29ya2luZyB0aHJlYWQgaXMKCSAgY2FsbGVkIGJlZm9yZSBEZXN0cm95V2luZG93KCkgYW5kIFVucmVnaXN0ZXJDbGFzcygpIGRvZXMgbm90aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjYyMgoKMjAxNC0wMS0yMCAxNjoyNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IGZpeCB0aW1lc3RhbXAgaGFuZGxpbmcKCSAgSWYgdGhlIGZpcnN0IGJ1ZmZlciB0aGF0IHdlIGhhbmRsZSBmb3IgYSBzdHJlYW0gaGFzIG5vIHRpbWVzdGFtcCwgd2UKCSAgd291bGQgbmV2ZXIgY29uc2lkZXIgdGhpcyBwYWQgYWdhaW4gZm9yIG11eGluZyB3aGljaCBjYXVzZXMgcXVldWVzIHRvCgkgIGZpbGwgdXAgYW5kIHBpcGVsaW5lcyB0byBzdGFsbC4gSW5zdGVhZCwgdHJ5IHRvIG11eCBwYWRzIHdpdGggLTEKCSAgdGltZXN0YW1wcyBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzMwCgoyMDE0LTAxLTIwIDE2OjIzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogcmV0dXJuIEdTVF9GTE9XX0VPUyB3aGVuIHdlIHB1c2hlZCBFT1MKCSAgUmV0dXJuIEdTVF9GTE9XX0VPUyBmcm9tIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24gd2hlbiB3ZSBwdXNoZWQgRU9TIG9yCgkgIGVsc2UgaXQgc2ltcGx5IGtlZXBzIG9uIGNhbGxpbmcgb3VyIGNvbGxlY3RlZCBmdW5jdGlvbi4KCjIwMTQtMDEtMjAgMTA6Mzg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogQWN0dWFsbHkgdGhlIGVuYy9kZWNiaW5zIGFyZSBub3QgdXNlZCBhbnl3aGVyZSBjdXJyZW50bHkKCSAgQ29kZSBpcyBjb21tZW50ZWQgb3V0LgoKMjAxNC0wMS0yMCAxMDozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogRml4IGJ1aWxkIG9uIGlPUyBhbmQgcHJvYmFibHkgYWxzbyBvbiBPU1gKCSAgVGhlIHZpZGVvIHRvb2xib3ggaXMgbm90IGF2YWlsYWJsZSBvbiBpT1MsIGFuZCBhbHNvIG9uIE9TWAoJICB3ZSBzaG91bGQgcHJvYmFibHkgYnVpbGQgYWxsIHNvdXJjZSBmaWxlcyB0aGF0IGFyZSB1c2VkIGZvcgoJICBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU5MAoKMjAxNC0wMS0yMCAxNToyMTo0MiArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogVXBkYXRlIGNhcHMgd2hlbiByZWNlaXZlIFZQUy9TUFMvUFBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIyNDAKCjIwMTQtMDEtMjAgMTc6MDM6MDkgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogRml4IHNlZ2ZhdWx0IHdoZW4gcGFyc2luZyBIUkQgcGFyYW1ldGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIyNDAKCjIwMTQtMDEtMTggMTM6NTY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogRG9uJ3Qgc3RhcnQgc2Nhbm5pbmcgZm9yIHRoZSBoZWFkZXIgZnJvbSB0aGUgc3RhcnQgYWdhaW4gZWFjaCB0aW1lCgkgIFRoaXMgd2lsbCBiZSBpbmNyZWRpYmxlIHNsb3cgaWYgdGhlIHVwc3RyZWFtIGJsb2NrIHNpemUgaXMgdmVyeSBzbWFsbC4gSW5zdGVhZAoJICBjb250aW51ZSBzY2FubmluZyBmb3IgdGhlIGhlYWRlciB3aGVyZSB3ZSBwcmV2aW91c2x5IHN0b3BwZWQuCgkgIEZvciB0aGUgc3RhbmRhcmQgZmlsZXNyYyBibG9jay1zaXplIHRoaXMgbWFkZSBkZWNvZGluZyBhIGZpbGUgYWJvdXQKCSAgMyB0aW1lcyBmYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4OTAKCjIwMTQtMDEtMTggMTM6MDY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogVGhpcyBpcyBhIGRlY29kZXIsIG5vdCBhIGRlbXV4ZXIKCSAgRG9uJ3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTYKCjIwMTQtMDEtMTggMDE6MTk6MzYgKzAyMDAgIEFuZHJleSBVdGtpbiA8YW5kcmV5LmtyaWVnZXIudXRraW5AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IGxlYWsgb2YgUENST2Zmc2V0R3JvdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjQ2MgoKMjAxNC0wMS0xNiAxMjoxODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHNvbWUgdXNlbGVzcyBhc3NpZ25tZW50cyBhbmQgc2tpcCB0aGUgY3VycmVudCBwYXJ0IG9mIHRoZSBidWZmZXIgaWYgdGhlIHBhZCBpcyBtdXRlZAoKMjAxNC0wMS0xNiAyMDoxNjo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJICByZXNpbmR2ZDogTWVyZ2UgY2hhbmdlcyBhY3Jvc3MgZnJvbSBtYXN0ZXIgbXBlZ2RlbXV4CgkgIE1lcmdlIHZhcmlvdXMgY2hhbmdlcyBhbmQgZml4ZXMgZnJvbSB0aGUgbWFzdGVyIG1wZWdkZW11eAoJICBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmcm9tIHRoZSB3YXkgc3RyZWFtcyBhcmUgb3JnYW5pc2VkLAoJICByZXR1cm4gZmxvdyBjb21iaW5pbmcsIGxhbmd1YWdlIHRhZyBldmVudCBnZW5lcmF0aW9uLAoJICBhZGp1c3RtZW50cyBhbmQgZml4ZXMgaW4gZGVidWcgb3V0cHV0LCBhbmQgdGhpbmdzIGxpa2UgdGhhdC4KCjIwMTQtMDEtMTYgMjA6MTQ6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBNZXJnZSBzb21lIGNoYW5nZXMgZnJvbSB0aGUgcmVzaW5kdmQgY29weQoJICBPbmUgYnVnIGZpeCwgc29tZSBkZWJ1ZyBjaGFuZ2VzIGFuZCBvdGhlciBpbmNvbnNlcXVlbnRpYWwgY2hhbmdlcwoJICBqdXN0IHRvIHJlZHVjZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSAyIGNvcGllcyBhIGJpdC4KCjIwMTQtMDEtMTUgMjM6MzA6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBhbmQgc2ltcGxpZnkgb3ZlcmxhcCBjYWxjdWxhdGlvbgoKMjAxNC0wMS0xNCAyMzo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogZml4IG1pbm9yIG1lbW9yeSBsZWFrIHdoZW4gY3JlYXRpbmcgdGl0bGUgaW5mbyBtZXNzYWdlCgoyMDEzLTEwLTA5IDE3OjQ5OjA2ICswMjAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogQWRkIHRoZSBkaXZ4IHZhcmlhbnQgZm9yIG1wZWc0IHZpZGVvCgkgIExvb2tzIGxpa2UgYWxsIHRoZSBtcGVnNCB2aWRlbyBkZWNvZGVycyBhbHNvIGFjY2VwdCB0aGUgZGl2eAoJICB2YXJpYW50cy4gU28gd2UgYmV0dGVyIGFkZCB0aG9zZSBjYXBzIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTYzCgoyMDE0LTAxLTE0IDE3OjA4OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggKGFnYWluKSBjaGVjayBmb3IgREIgQVBJOiA1LjQgaXMgTm90IFJlY2VudCBFbm91Z2gKCSAgTWF5YmUgdGVzdGluZyB0aGUgdmVyc2lvbiBpcyBjbGVhcmVyLCBidXQgdGVzdGluZyBmb3IgPCA1IGlzIG5vdAoJICBlbm91Z2gsIG15IHZlcnNpb24gaXMgNS40IGFuZCBkb2VzIG5vdCB5ZXQgaGF2ZSB0aG9zZSBuZXcgZW51bXMuCgkgIElmIHlvdSBnaXQgYmxhbWUgdG8gdGhpcyBhbmQgaGF2ZSBhIHZlcnNpb24gPiA1LjQgdGhhdCBkb2VzIG5vdAoJICBlaXRoZXIsIHBsZWFzZSBmZWVsIGZyZWUgdG8gam9pbiBhbG9uZyBhbmQgYnVtcCB0aGUgdmVyc2lvbi4KCjIwMTQtMDEtMTQgMjM6MjE6MjUgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGgyNjVwYXJzZXI6IEZpeCBzZWdmYXVsdCB3aGVuIHBhcnNpbmcgVlBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwODEKCjIwMTQtMDEtMTQgMTA6Mzg6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBzZXQgbWF4aW11bSBmZWF0dXJlIHNpemUgdG8gMHgwCgkgIFByZXZpb3VzbHkgZmFjZXMgd291bGQgb25seSBiZSBkZXRlY3RlZCBpZiB0aGV5IHdlcmUgYXQgbGVhc3QgMzB4MzAgcGl4ZWxzCgkgIGxhcmdlIGFuZCBhdCBtb3N0IDMyeDMyIHBpeGVscy4gV2Uga2VlcCB0aGUgbWluaW11bSBzZXR0aW5nIChtYXliZSBuZWVkcwoJICBhIHByb3BlcnR5IGFzIGluIGZhY2VkZXRlY3QpIGJ1dCBkaXNhYmxlIHRoZSBtYXhpbXVtIGZlYXR1cmUgc2l6ZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTgKCjIwMTQtMDEtMTQgMDE6MDY6MDIgLTA1MDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGNpdGEudXRvcm9udG8uY2E+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogc2V0IG1heGltdW0gZmVhdHVyZSBzaXplIHRvIDB4MAoJICBUaGlzIGRpc2FibGVzIHRoZSAibWF4IGZlYXR1cmUgc2l6ZSIgZmVhdHVyZS4gVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbgoJICBpcyB0b3RhbGx5IGJ1c3RlZDogVGhlIG1heCBmZWF0dXJlIHNpemUgaXMgaGFyZC1jb2RlZCB0byAyIHBpeGVscyBtb3JlCgkgIHRoYW4gdGhlIHVzZXItc3VwcGxpZWQgbWluIGZlYXR1cmUgc2l6ZSB3aGljaCBwcmV0dHkgbXVjaCBtZWFucyB5b3UgbmVlZAoJICB0byBndWVzcyB0aGUgc2l6ZSBvZiB0aGUgcGVyc29uJ3MgZmFjZSB0byB3aXRoaW4gYSBmZXcgcGl4ZWxzIHRvIGdldCB0aGUKCSAgY29kZSB0byBmaW5kIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU4CgoyMDE0LTAxLTE0IDAyOjE5OjEyICswMjAwICBBbmRyZXkgVXRraW4gPGFuZHJleS5rcmllZ2VyLnV0a2luQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBtZW1sZWFrIG9mIFBDUk9mZnNldEN1cnJlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE0NQoKMjAxNC0wMS0xMyAyMTo1MDoxNiArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBwcmV2ZW50IHRvIG92ZXJydW4gY2hyb21hX3dlaWdodF9sMF9mbGFnCgkgIFRoZSBpbmRleCBvZiBlbGVtZW50cyBjYW5ub3QgZXhjZWVkIG9yIGVxdWFsIHRvIHRoZSBzaXplIG9mIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTAxCgoyMDE0LTAxLTEzIDEwOjAxOjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCBidWZmZXIgb2Zmc2V0IHRvIGJ1ZmZlciB0aW1lc3RhbXAKCSAgb2dnbXV4IGV4cGVjdHMgdGhpcyB0byBvcmRlciBpbmNvbWluZyBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwNzgKCjIwMTQtMDEtMTAgMDg6NTg6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR2YjogVXNlIERWQl9BUElfVkVSU0lPTiB0byBrbm93IGlmIHdlIGhhdmUgcmVjZW50IGVub3VnaCB2ZXJzaW9uCgkgIFdlIGVuZCB1cCB3aXRoIHRoZSBzYW1lIGVuZC1yZXN1bHQgYnV0IGl0J3MgbW9yZSBjb21wcmVoZW5zaWJsZQoKMjAxNC0wMS0wOSAxNjozODoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3IgZ29vZCBlbm91Z2ggZHZiIGtlcm5lbCBoZWFkZXJzCgkgIFJlY2VudCBjaGFuZ2VzIGFyZSB1c2luZyBuZXcgZHZiIGFwaS4gRG9uJ3QgYnVpbHQgdGhlIHBsdWdpbiwgaWYgd2UgY2FuJ3QuCgkgIEZpeGVzICM3MjE4NjkKCjIwMTQtMDEtMDkgMDg6MTg6MDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBtaXNjIGNvZGUgY2xlYW51cHMKCSAgRml4IHRoZSBsYXVuY2ggZXhhbXBsZXMgZm9yIDEuMC4gVHVybiBtb3JlIGxvZ2dpbmcgaW50byBfT0JKRUNUIHZhcmlhbnRzLgoKMjAxNC0wMS0wOSAwOToxMzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUKCSAgSW5zdGVhZCBvZiB1c2luZyAyIGluZGV4ZXMgdGhhdCB3ZXJlIGFjdHVhbGx5IHRoZSBzYW1lLCB1c2Ugb25seQoJICBvbmUuIFNhdmVzIGEgdmFyaWFibGUuCgoyMDE0LTAxLTA5IDA5OjExOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggc2Vla2luZyB3aGVuIHRoZSBtcGQgdXNlcyBhIHNlZ21lbnQgdGVtcGxhdGUKCSAgUmVtb3ZlIHRoZSBkYXNoZGVtdXggc2Vla2luZyBmdW5jdGlvbiB0byB1c2UgdGhlIG9uZSBpbXBsZW1lbnRlZAoJICBpbiBtcGRwYXJzZXIgYXMgaXQgaXMgbW9yZSBjb21wbGV0ZS4gVGhpcyBhbHNvIG1ha2VzIGRhc2hkZW11eCBub3QKCSAgY3Jhc2ggd2hlbiBzZWVraW5nIG9uIHN0cmVhbXMgdGhhdCB1c2Ugc2VnbWVudCB0ZW1wbGF0ZXMuCgoyMDE0LTAxLTA4IDE2OjMzOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG8gbm90IGxvc2UgRElTQ09OVCBmbGFnIGlmIGJ1ZmZlciBpc24ndCBwdXNoZWQKCSAgbXBlZzR2aWRlb3BhcnNlIG1pZ2h0IG5vdCBwdXNoIGJ1ZmZlcnMgd2hpbGUgcGFyc2luZy4gSWYgdGhvc2UgYnVmZmVycwoJICBjb250YWluIHRoZSBESVNDT05UIGZsYWcsIGl0IGdldHMgbG9zdCBhbmQgZG93bnN0cmVhbSB3b24ndCBnZXQgYW55CgkgIGJ1ZmZlciB3aXRoIHRoZSBmbGFnLgoJICBGaXggaXQgYnkgYWRkaW5nIHRoZSBESVNDT05UIHRvIHRoZSBuZXh0IHB1c2hlZCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgYmFja3dhcmRzIHBsYXliYWNrIHdvcmsuCgoyMDE0LTAxLTA2IDIyOjE1OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHNraXAgJ1wwJyBzdHJpbmdzIGZvciBtZXRhZGF0YQoJICBsaWJzbmRmaWxlIGRvZXMgbm90IGZpbHRlciBlbXB0eSBzdHJpbmdzLiBXZSBnZXQgYSB3YXJuaW5nIGZyb20gZ3N0cmVhbWVyIHdoZW4KCSAgc2V0dGluZyB0aGlzIGFzIGEgdGFnLgoKMjAxNC0wMS0wNiAxNToxNToyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBicmVhayBsb25nIG1ldGhvZAoJICBFeHRyYWN0IHRhZ2xpc3QgY3JlYXRpb24gaW50byBzZXBhcmF0ZSBmdW50aW9uLgoKMjAxNC0wMS0wNiAxNTowMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogbWFrZSBoZWFkZXJzIHVzYWJsZSB3aXRoIGMrKyBjb21waWxlcgoJICBBZGQgR19CRUdJTl9ERUNMUyBHX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTM2CgoyMDE0LTAxLTA2IDE1OjAyOjMwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHJlbW92ZSBsZWZ0IG92ZXIgcHJvcGVydHktaWQgZW51bQoKMjAxNC0wMS0wNiAxNDo1Mjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogQWxsb3dzIGh2YzEgdmVyc2lvbiAwIGFuZCBmaXggcmVhZGluZyBvZiBOQUwgY291bnQgaW4gY29kZWNfZGF0YQoKMjAxNC0wMS0wNiAxNDo0ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgQW5kIGRvbid0IGFjY2VzcyBpbnZhbGlkIG1lbW9yeQoKMjAxNC0wMS0wNiAxNDo0Nzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBGaXggZGVidWcgb3V0cHV0CgoyMDE0LTAxLTA2IDEzOjUxOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNSAyMzo0NDozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHR5cG8gZml4IGluIGNvbW1lbnQKCjIwMTQtMDEtMDUgMjM6NDM6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogdGhlIHJlYWQgZnVuY3Rpb25zIGFscmVhZHkgcmV0dXJuIGZyYW1lc19yZWFkCgkgIEZpeGVzIGNob3BweSBvdXRwdXQuCgoyMDE0LTAxLTA1IDIzOjQxOjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgc25kZmlsZTogZW5hYmxlIHJmNjQgZm9ybWF0CgoyMDE0LTAxLTAyIDIxOjAyOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGFkZCBkYXRlIHRvIHRhZ2xpc3QKCjIwMTQtMDEtMDMgMTE6MTg6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogRG9jdW1lbnQgdGhhdCBzb2NrZXQtcGF0aCBtYXkgY2hhbmdlCgoyMDE0LTAxLTAzIDExOjE2OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IENoYW5nZSBkZWZhdWx0IHNobSBzaXplIHRvIDY0IE1pQgoJICBUaGUgb3JpZ2luYWwgc2l6ZSBvZiAyNTZrIHdhcyB0b28gc21hbGwgZm9yIGFueXRoaW5nIHdoZXJlCgkgIG9uZSB3b3VsZCB3YW50IHRvIHVzZSBzaG0uIElmIHRoZSBidWZmZXIncyBzaXplIG5lZWRzIHRvIGJlIGxpbWl0LCBpdCBpcwoJICBiZXR0ZXIgdG8gdXNlIGJ1ZmZlci10aW1lIGluIG1vc3QgY2FzZXMgYW55d2F5LgoKMjAxMy0xMC0xMCAxODoyNTo0NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBBZGQgZHZiLXMyLCBkdmItdDIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDEzLTEwLTEwIDE4OjIzOjIwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IENoYW5nZSBmcm9tIGRlcHJlY2F0ZWQgZnJvbnRlbmQgdHlwZSBmaWVsZCB0byBEVFZfRU5VTV9ERUxTWVMKCSAgLWFkZCBkZWxzeXMgcHJvcGVydHkKCSAgLWFkZCBkZWxpdmVyeSBzeXN0ZW0gY2FwYWJpbGl0eSB0byB0aGUgZ3N0cmVhbWVyIGFkYXB0ZXIgc3RydWN0dXJlCgkgIC1yZWFkeSBmb3IgYWRkIG5ldyBkZWxpdmVyeSBzeXN0ZW1zCgkgIEFwcGxpY2F0aW9uIG11c3QgYXNrIHRoZSBhZGFwdGVyIHN0cnVjdHVyZSB0byBrbm93IHdoaWNoIGRlbGl2ZXJ5IHN5c3RlbXMgYXJlIGF2YWlibGUuCgkgIFRoZSBwcm9wZXJ0eSBkZWxzeXMgbXVzdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTQtMDEtMDMgMDk6NTk6MzQgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBGaXggR3N0Q2FwcyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzgyCgoyMDEzLTEyLTMxIDIyOjM4OjAzICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyOTMKCjIwMTMtMTItMzEgMjM6MTg6NTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIG5ldyBjb2xvciBmb3JtYXQsIGFuZCBlbmhhbmNlIGRlYnVnIG91dHB1dAoJICBBZGQgYSBuZXcgY29sb3IgZm9ybWF0IHNlZW4gb24gbXkgR2FsYXh5IFMzCgkgIChPTVhfU0VDX0NPTE9SX0Zvcm1hdE5WMTJUaWxlZCA9IDB4N2ZjMDAwMDIpIHRvIHRoZSB0YWJsZSwKCSAgYnV0IGRvbid0IGFjdHVhbGx5IGltcGxlbWVudCBpdCAtIHRoZSBkZWNvZGVyIGRvZXNuJ3QgY2hvb3NlIGl0LgoJICBSZW1vdmUgYW4gYXNzZXJ0IHRoYXQgbWFrZXMgdGhlIHBsdWdpbiBmYWlsIG5vaXNpbHkgYW5kIHRha2UgdGhlIGFwcCBkb3duCgkgIGlmIGl0IHNlZXMgYSBjb2xvciBmb3JtYXQgaXQgZG9lc24ndCByZWNvZ25pc2UgKGp1c3Qgc2tpcCB0aGUgY29kZWMgaW5zdGVhZCkKCSAgTW9kaWZ5IHRoZSBkZWJ1ZyBvdXRwdXQgd2hlbiBwbHVnaW4gc2Nhbm5pbmcgdG8gcHJpbnQgY29sb3IgZm9ybWF0IGluZm8gdG8KCSAgbWFrZSB0aGlzIHNvcnQgb2YgdGhpbmcgZWFzaWVyIGluIHRoZSBmdXR1cmUuCgoyMDEzLTEyLTE5IDIzOjAwOjEyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRG9uJ3QgZGlzcnVwdCBidWZmZXIgc3RhdGUgaW4gdGhlIGNsaXAgZnVuY3Rpb24KCSAgQ29sbGVjdHBhZHMgYXNzdW1lcyB0aGF0IGl0IGNhbiBwYXNzIGFueSBidWZmZXIgdG8gdGhlIGNsaXAgZnVuY3Rpb24KCSAgZm9yIGFkanVzdG1lbnQsIHNvbWUgb2Ygd2hpY2ggYXJlIGFydGlmaWNpYWxseSBpbmplY3RlZCAtIHNvIGRvbid0CgkgIGFkanVzdCBnbG9iYWwgdGltZXN0YW1wIHRyYWNraW5nIHRoZXJlLiBJbnN0ZWFkLCBvbmx5IGFkanVzdCB0aGUKCSAgYnVmZmVyIHRpbWVzdGFtcHMgYW5kIHVzZSB0aGVtIGRpcmVjdGx5IGluIHRoZSBjb2xsZWN0aW9uIGZ1bmN0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4NzQ4CgoyMDEzLTEyLTMwIDE1OjQ5OjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc25kZmlsZTogZW1pdCBtaWRpLWJhc2Utbm90ZSB0YWcKCSAgUXVlcnkgaW5zdHJ1bWVudCBkYXRhLiBVc2UgYm90aCAnbG9vcF9pbmZvJyBhbmQgJ2luc3RydW1lbnQnIHRvIGluZm9ybSBhYm91dCB0aGUKCSAgYmFzZW5vdGUuCgoyMDEzLTEyLTMwIDEzOjI4OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogUmVtb3ZlIHVubmVlZGVkIGNhbGwKCSAgJ3BhcnNlJyBpcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IHRoZSBwYXJlbnQgdmFyaWFibGUKCjIwMTMtMTItMjkgMTM6MzE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogVGhlIHBsdWdpbiB3b3JrcyB3aXRoIDIuNC43IHRvbwoJICBSZXBvcnRlZCBieSBrd20gb24gSVJDLgoKMjAxMy0xMi0yOCAxMjozOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IERvbid0IHNlbmQgY2FwcyBpbiBHc3RCYXNlUGFyc2U6OnN0YXJ0KCkKCSAgVGhpcyBpcyB0b28gZWFybHkgYW5kIHdpbGwgY29uZnVzZSB0aGUgZXZlbnQgb3JkZXIuIFRoZSBvdGhlcgoJICBjb2RlIHRoYXQgc2V0cyB0aGUgY2FwcyBpcyBhdCB0aGUgcmlnaHQgcG9zaXRpb24gYW5kIGRvZXMgaXQKCSAgcHJvcGVybHkgYWxyZWFkeS4KCjIwMTMtMTItMjQgMjM6MTU6MjggKzAwMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IGZpeCBpbnB1dCBkZXF1ZXVlIGZvciBvZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAyNwoKMjAxMy0xMi0yNyAxNDoyOTo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGluY3JlYXNlIG1heCBwYXlsb2FkIHNpemUgdG8gNDAwMCBieXRlcwoJICAxMjc1IGlzIHRoZSBtYXhpbXVtIHNpemUgb2YgYSBmcmFtZSwgYnV0IHRoZSBlbmNvZGVyIG1heSByZXR1cm4KCSAgdXAgdG8gMyBmcmFtZXMsIGFuZCB3ZSBuZWVkIGEgZmV3IGV4dHJhIGJ5dGVzIGZvciBUT0MsIGV0Yy4gV2UKCSAgdXNlIDQwMDAsIHdoaWNoIGlzIGEgYml0IG1vcmUsIGFuZCBzdWdnZXN0ZWQgaW4gdGhlIGxpYm9wdXMgZG9jcy4KCjIwMTMtMTItMjcgMTA6MjU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IGZpeCBnLWkgYW5ub3RhdGlvbnMgYW5kIGd0ay1kb2MgbWFya3VwCgoyMDEzLTEyLTIwIDEwOjA1OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgc3RyZWFtIGxvb3AgdGhyZWFkCgkgIERvd25sb2FkIGFuZCBwdXNoIGZyb20gdGhlIHNhbWUgdGFzaywgbWFrZXMgY29kZSBhIGxvdCBzaW1wbGVyCgkgIHRvIG1haW50YWluLiBBbHNvIHB1c2hpbmcgZnJvbSBzZXBhcmF0ZSB0aHJlYWRzIGF2b2lkcyBkZWFkbG9ja2luZwoJICB3aGVuIGdzdF9wYWRfcHVzaCBibG9ja3MgZHVlIHRvIGRvd25zdHJlYW0gcXVldWVzIGJlaW5nIGZ1bGwuCgoyMDEzLTEyLTIwIDE5OjQyOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZml4IGRlYWRsb2NrIG5lYXIgRU9TCgkgIEEgZGVhZGxvY2sgY2FuIGhhcHBlbiB3aGVuIHRoZSBzb3VyY2Ugc2VuZHMgRU9TIHdoZW4KCSAgYmVpbmcgcHV0IHRvIE5VTEwgYXMgdGhlIG9iamVjdCBsb2NrIGlzIGJlaW5nIGhlbGQgYnkgdGhlCgkgIHRocmVhZCB0aGF0IHNldHMgdGhlIGVsZW1lbnQgdG8gTlVMTCBhbmQgaXMgbmVlZGVkIGJ5CgkgIHRoZSBldmVudCBoYW5kbGVyLgoKMjAxMy0xMi0yMCAxOTozOToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZGV0ZWN0IEVPUyB3aGVuIHNlZ21lbnRzIGFyZSBnZW5lcmF0ZWQgYnkgdGVtcGxhdGUKCSAgVXNlIHRoZSBQZXJpb2QgZHVyYXRpb24gZG8ga25vdyB3aGVuIHRvIGVuZCB0aGUgc3RyZWFtCgoyMDEzLTEyLTEzIDE3OjI2OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWNjZXNzIGJ1ZmZlciBhZnRlciBsb3NpbmcgdGhlIHJlZgoJICBGb3Igb2J2aW91cyByZWFzb25zCgoyMDEzLTEyLTEzIDE3OjI1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB1c2UgYSBzZXBhcmF0ZSBHc3RVcmlEb3dubG9hZGVyIHBlciBzdHJlYW0KCSAgQXZvaWRzIG9uZSBkb3dubG9hZCBoYXZpbmcgdG8gd2FpdCBmb3IgYW5vdGhlciB0byBmaW5pc2gKCSAgYmVmb3JlIHN0YXJ0aW5nCgoyMDEzLTEyLTA5IDEzOjU1OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzdG9yZSBHc3RBY3RpdmVTdHJlYW0gdG8gYXZvaWQgZ2V0dGluZyBpdCBldmVyeSB0aW1lCgkgIEdzdEFjdGl2ZVN0cmVhbSBpcyB1c2VkIGV2ZXJ5d2hlcmUgdG8gb3BlcmF0ZSBvbiB0aGUgTVBEIGNsaWVudCwKCSAgYmV0dGVyIHN0b3JlIGl0IGluIHRoZSBHc3REYXNoRGVtdXhTdHJlYW0gdG8gYXZvaWQgZ2V0dGluZyBpdAoJICBldmVyeXRpbWUKCjIwMTMtMTItMDkgMTM6MzM6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHNpbXBsaWZ5IGxvY2tpbmcgZm9yIHN0cmVhbXMKCSAgVXNlIGEgc2luZ2xlIGxvY2sgZm9yIGFsbCBzdHJlYW1zIGluc3RlYWQgb2YgaGF2aW5nIHNlcGFyYXRlIGxvY2tzLgoJICBUaGlzIG1ha2VzIG1haW50ZW5hbmNlIGVhc2llciBhbmQgYXQgbW9zdCBwb2ludHMgd2Ugd291bGQgbmVlZAoJICBhIHNpbmdsZSBsb2NrIGJlZm9yZSBpdGVyYXRpbmcgb24gYWxsIHN0cmVhbXMgZGF0YS4gU28gbm90IG11Y2gKCSAgaXMgZ2FpbmVkIGZyb20gaW5kaXZpZHVhbCBsb2Nrcy4KCjIwMTMtMTItMDkgMTE6Mjg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG11bHRpcGxlIHBlcmlvZCBtcGQgcGxheWJhY2sKCSAgTWFrZSBkYXNoIHBsYXlsaXN0cyB3aXRoIG11bHRpcGxlIHBlcmlvZHMgd29yayBhZ2FpbiBieSB3YWl0aW5nCgkgIHRvIHN3aXRjaCB0aGUgcGVyaW9kcyB3aGVuIGFsbCBzdHJlYW1zIGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mCgkgIHRoZSBjdXJyZW50IHBlcmlvZC4gVGhlIHN0cmVhbV9sb29wIGlzIHJlc3BvbnNpYmxlIGZvciBhZHZhbmNpbmcKCSAgdGhlIHBlcmlvZCwgYnV0IHRoZSBkb3dubG9hZCBsb29wcyB3aWxsIGFscmVhZHkgc3RhcnQgZG93bmxvYWRpbmcKCSAgZGF0YSBmb3IgdGhlIG5leHQgcGVyaW9kIGFzIHNvb24gYXMgcG9zc2libGUuCgoyMDEzLTEyLTA1IDAyOjUzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFkZCBjb21iaW5lIGZsb3dzIGZ1bmN0aW9uCgkgIFVzZSBhIGZsb3cgY29tYmluYXRpb24gZnVuY3Rpb24gdG8gZGVjaWRlIHRoZSByZXN1bHQgZnJvbSB0aGUKCSAgc3RyZWFtX2xvb3AKCjIwMTMtMTItMDQgMTE6MzA6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBtdWx0aXBsZSBsYW5ndWFnZXMKCSAgSGFuZGxlIG11bHRpcGxlIGxhbmd1YWdlcyBieSB1c2luZyB0aGUgbm90LWxpbmtlZCByZXR1cm4gdG8gc3RvcAoJICB0aGUgZG93bmxvYWQgdGFzayBmb3IgdGhhdCBzdHJlYW0uIEl0IGNhbiBiZSByZWFjdGl2YXRlZCB3aGVuCgkgIGEgcmVjb25maWd1cmUgZXZlbnQgaXMgcmVjZWl2ZWQuIFN0b3BwaW5nIHRoZSB1bnVzZWQgc3RyZWFtcyBpcwoJICByZWxldmFudCB0byBzYXZlIG5ldHdvcmsgYmFuZHdpZHRoCgoyMDEzLTEyLTAzIDE2OjE2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBVc2UgMSBkb3dubG9hZCB0YXNrIHBlciBzdHJlYW0KCSAgSW5zdGVhZCBvZiBoYXZpbmcgYSBzaW5nbGUgZG93bmxvYWQgdGFzayBmb3IgYWxsIHN0cmVhbXMsIHRoaXMKCSAgY29tbWl0IG1ha2VzIGVhY2ggc3RyZWFtIGhhdmUgaXRzIG93biBkb3dubG9hZCBsb29wLCBhbGxvd2luZwoJICBwYXJhbGxlbCBkb3dubG9hZCBvZiBmcmFnbWVudHMuCgoyMDEzLTEyLTAzIDAwOjEyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBmcmFnbWVudCBmZXRjaGluZyBpbnRvIHNtYWxsZXIgZnVuY3Rpb25zCgkgIE1ha2VzIGl0IGVhc2llciB0byBtYWludGFpbiBhbmQgZXh0ZW5kLiBUaGlzIGlzIGEgZmlyc3Qgc3RlcCBpbnRvCgkgIGFkZGluZyBtdWx0aSBsYW5ndWFnZSBzdXBwb3J0IHRvIGRhc2hkZW11eAoKMjAxMy0xMi0wMiAxNzo0MTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgTG90cyBvZiBpbmRlbnRhdGlvbiBpc3N1ZXMgbWFraW5nIGl0IHZlcnkgYW5ub3lpbmcgdG8gY29tbWl0CgkgIGJlY2F1c2Ugb2YgdGhlIGluZGVudCBob29rLiBGaXggdGhpcyBmb3Igb25jZS4KCjIwMTMtMTItMDIgMTc6MzE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBleHBvc2UgYWxsIHN0cmVhbXMKCSAgYWx3YXlzIGV4cG9zZSBhbGwgc3RyZWFtcyBpbnN0ZWFkIG9mIG9ubHkgZXhwb3Npbmcgb25lIG9mIGVhY2ggdHlwZS4KCSAgVGhpcyBpcyBtb3JlIGFsaWduZWQgd2l0aCBnc3RyZWFtZXIncyB3YXkgb2Ygd29ya2luZy4gQWxsb3dzIHRoZSB1c2VyCgkgIHRvIHNlbGVjdCB0aGUgc3RyZWFtIHRoYXQgaXQgd2FudHMgdG8gdXNlIGJ5IGxpbmtpbmcgaXRzIHBhZCBhbmQgbGVhdmluZwoJICB0aGUgdW51c2VkIG9uZXMgYXMgdW5saW5rZWQuCgoyMDEzLTEyLTI0IDExOjUxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBjbGVhbiB1cCByZW5kZXJidWZmZXJzIGFuZCBFQUdMIGNvbnRleHQKCjIwMTMtMTItMjMgMTU6MzM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IFByb3Blcmx5IHNldCBvdXRwdXQgZm9ybWF0CgkgIE90aGVyd2lzZSB0aGlzIHdpbGwganVzdCBlcnJvciBvdXQgaWYgd2Ugb25seSBzZXQgY2FwcyBvbiB0aGUgc3JjcGFkLgoKMjAxMy0xMi0yMiAyMjozMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGJlZGFhMCB0byBkNDhiZWQzCgoyMDEzLTEyLTIyIDIxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBzZXQgZ2V0dGV4dCBkb21haW4gaW4gTWFrZXZhcnMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXRjaCB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTUKCjIwMTMtMTItMjIgMTc6NDY6NDAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgdGhlIGNvcnJlY3Qgc3RyaWRlIGluIHRoZSB2aWRlbyBtZXRhCgoyMDEzLTEyLTIyIDE3OjQ0OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBmaXggYWFjIGRlY29kaW5nIG9uIE1hdmVyaWNrcwoKMjAxMy0xMi0yMCAxODoxMjo1MyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHNtYWxsIHNlZWtpbmcgY29kZSByZXNodWZmbGUKCSAgUHV0IHRoZSBjb2RlIHRoYXQgY2hlY2tzIHN0b3AgdmFsdWVzIHRvZ2V0aGVyLiBEb24ndCBjbGFtcCBhIGN1ciB2YWx1ZSBvZiAtMSB0byAwIChzaG91bGQgbm90IGhhcHBlbiByaWdodCBub3cpLgoKMjAxMy0xMi0yMCAxODoxMDoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBtYWtlIF9zdG9wKCkgbm9uIGZhdGFsIHdoZW4gd2UgaGF2ZSBhbiBlcnJvciBhbHJlYWR5CgkgIEhhdmluZyBubyBvcGVuIGZpbGUgaW4gX3N0b3AoKSBpcyBva2F5LiBKdXN0IHJlc2V0IHN0YXRlLgoKMjAxMy0xMi0yMCAxODowODozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNmZGVjOiBhZGQgZXZlbnQgZnVuY3Rpb24gYW5kIHNlZWtpbmcgc3VwcG9ydAoKMjAxMy0xMi0xOCAwODoxMjowNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBhZGQgdGFnbGlzdCBzdXBwb3J0CgkgIE1hcCB0aGUgbWV0YWRhdGEgc3RyaW5ncyBhbmQgYSBidW5jaCBvZiBpbmZvLWZpZWxkcyB0byBHU3RyZWFtZXIgdGFncy4KCjIwMTMtMTItMTcgMjI6MjU6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzZmRlYzogYWRkIHF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBwb3NpdGlvbiBhbmQgZHVyYXRpb24KCjIwMTMtMTItMTcgMTc6NTY6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzbmRmaWxlOiByZXdyaXRlIHNuZGZpbGUgZm9yIDEuMAoJICBBZGQgYSBzZmRlYyBmb3IgYSBzdGFydC4gSW5zdGVhZCBvZiBhIHNvdXJjZSBwbHVnaW4sIHRoaXMgaXMgYSBkZW11eGVyL2RlY29kZXIgY29tYmluYXRpb24uIFRoaXMgbWFrZXMgaXQgd29yayB3aXRoIGF1dG8tcGx1Z2dpbmcuCgoyMDEzLTEyLTIwIDAwOjM5OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVwZGF0aW5nIGRvY3MgZXhwbGFpbmluZyBob3cgaXQgd29ya3MKCSAgbXNzZGVtdXggY2hhbmdlZCBhIGxvdCBhbmQgdGhlIGRvY3Mgd2VyZSBub3QgY29ycmVjdCBhbnltb3JlLgoJICBBbHNvIGFkZHMgdGhlICdBZGFwdGl2ZScgY2F0ZWdvcnkgdG8gaXRzIGRldGFpbHMKCjIwMTMtMTItMTkgMTQ6MzA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHB1c2ggZXZlbnQgaG9sZGluZyBvYmplY3QgbG9jawoJICBDYW4gbGVhZCB0byBkZWFkbG9ja3MgYXMgdGhlIHB1c2ggbWlnaHQgYmxvY2sgZG93bnN0cmVhbSBpbgoJICBzZXJpYWxpemVkIGV2ZW50IGNhc2VzLgoKMjAxMy0xMi0xOSAxNDoyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBsb2NrIGFyb3VuZCAnY2FuY2VsbGVkJyBmbGFnCgkgIFByZXZlbnRzIHJhY2UgY29uZGl0aW9ucyB3aGVuIHBpcGVsaW5lIGlzIHNlZWtpbmcgbmVhciBlb3MKCjIwMTMtMTItMTkgMjE6NTk6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFsc28gcmVzeW5jIHRpbWVzdGFtcHMgb24gdGhlIFJFU1lOQyBmbGFnCgoyMDEzLTEyLTE5IDIxOjM2OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBzZXQgdGhlIEVBR0xDb250ZXh0IG9mIHRoZSBtYWluIHRocmVhZCBhbmQgZG9uJ3QgcmV1c2UgaXQgZWl0aGVyCgkgIC4uLiBpbnN0ZWFkIGNyZWF0ZSBhIG5ldyBjb250ZXh0IGZvciBldmVyeSBzaW5rIGluc3RhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDIxCgoyMDEzLTEyLTE5IDA4OjU3OjQxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IGZpeCBmb3IgcGxhbmFyIGZvcm1hdHMKCjIwMTMtMTItMTkgMDc6NTQ6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbW92ZSBzaWxseSBzdHJpZGUgcmVxdWlyZW1lbnQKCSAgVGhpcyBpcyBsZWdhY3kgZnJvbSB0aGUgMC4xMCB0aW1lcywgYW5kIGl0IGlzbid0IGNsZWFyIGhvdyBpdCB3YXMgdXNlZnVsIGJhY2sKCSAgdGhlbiBhbHNvLicKCjIwMTMtMTItMTkgMTE6MTE6MjggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJICBkaXJlY3RmYjogQWRkIGhhY2sgdG8gZml4IGNvbXBpbGUgd2l0aCBicm9rZW4gRGlyZWN0RkIgZGVmaW5lCgkgIENvbXBpbGF0aW9uIGJyZWFrcyBiZWNhdXNlIHNvbWUgdmVyc2lvbnMgb2YgRGlyZWN0RkIgcmVkZWZpbmUKCSAgX19ub19pbnN0cnVtZW50X2Z1bmN0aW9uX18sIHdoaWNoIGlzIHVzZWQgaW4gdGhlIEdfR05VQ19OT19JTlNUUlVNRU5UCgkgIG1hY3JvLgoKMjAxMy0xMi0xNyAxNzo1NTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc2VnZmF1bHQgd2hlbiB0cnlpbmcgdG8gYWNjZXNzIGNvZGVjX2RhdGEKCSAgQ2hlY2sgaWYgY29kZWNfZGF0YSB3YXMgb2J0YWluZWQgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQgdG8KCSAgcHJldmVudCBhIHNlZ2ZhdWx0CgoyMDEzLTEyLTE3IDE3OjU0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsc28gZ2VuZXJhdGUgY2FwcyBmcm9tIGF1ZGlvdGFnIGF0dHJpYnV0ZQoJICBTb21lIGF1ZGlvIHdpbGwgaGF2ZSBpdHMgYXVkaW8gZm9ybWF0IGRlZmluZWQgYnkgdGhlIEF1ZGlvVGFnCgkgIGluc3RlYWQgb2YgdGhlIEZvdXJjYy4gRmFsbGJhY2sgdG8gdXNpbmcgQXVkaW9UYWcgaWYgRm91cmNjCgkgIGlzbid0IGF2YWlsYWJsZQoKMjAxMy0xMi0xNyAxNjozMTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBtYWtlIHN1cmUgc3RyZWFtcyBzdG9wIHByb3Blcmx5IG9uIGNhbmNlbGxlZAoJICBzcGVjaWFsbHkgd2hlbiB0aGUgZ3N0X3Rhc2tfam9pbiBpcyB3YWl0aW5nIGZvciB0aGUgdGFzawoJICB0byBnbyBzdG9wIGFuZCB0aGUgdGFzayBpdHNlbGYgc2V0cyBpdHMgYmFjayB0byBwYXVzZWQsIGNhdXNpbmcKCSAgYSBkZWFkbG9jayBvbiBleGl0LgoKMjAxMy0xMi0xNyAxMzoxNjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHRyYWNrIHNlZ21lbnRzIHBlciBzdHJlYW0KCSAgQXMgc3RyZWFtcyBub3cgZmxvdyBpbmRlcGVuZGVudGx5LCB0aGUgR3N0U2VnbWVudCBuZWVkcyB0byBiZSBwdXQKCSAgb24gZWFjaCBzdHJlYW0gc28gdGhleSBjYW4gdHJhY2sgdGhlIHBvc2l0aW9uIG9mIGVhY2ggb25lIGNvcnJlY3RseQoJICBpbnN0ZWFkIG9mIGJlaW5nIG1peGVkIGluIGEgc2luZ2xlIHNlZ21lbnQKCjIwMTMtMTEtMTQgMTU6MjM6NDIgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcHVzaCBsYW5ndWFnZSBjb2RlIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzU4CgoyMDEzLTExLTE0IDE1OjE0OjE4ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NtYW5pZmVzdDogc3RvcmUgdGhlIGxhbmd1YWdlIG9mIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjM1OAoKMjAxMy0xMi0xNiAxNjoxNDoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSB0aGUgc3RyZWFtIGxvb3AgdGFzawoJICBEb3dubG9hZCBhbmQgcHVzaCBmcm9tIHRoZSBzYW1lIHRhc2ssIG1ha2VzIGNvZGUgYSBsb3Qgc2ltcGxlcgoJICB0byBtYWludGFpbi4gQWxzbyBwdXNoaW5nIGZyb20gc2VwYXJhdGUgdGhyZWFkcyBhdm9pZHMgZGVhZGxvY2tpbmcKCSAgd2hlbiBnc3RfcGFkX3B1c2ggYmxvY2tzIGR1ZSB0byBkb3duc3RyZWFtIHF1ZXVlcyBiZWluZyBmdWxsCgoyMDEzLTEyLTEzIDE3OjMxOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEltcHJvdmUgbG9nZ2luZwoJICBTaG93IHRoZSBzdHJlYW0ncyBwYWQgb24gbG9nIG1lc3NhZ2VzIHRvIG1ha2UgZWFzaWVyIHRvIGRlYnVnCgkgIGlzc3VlcyBpbiB0aGUgbXVsdGlwbGUgdGhyZWFkcwoKMjAxMy0xMi0xMCAxODowODo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIEhhbmRsZSBkaWZmZXJlbnQgZmxvdyByZXR1cm5zIGJvdGggZnJvbSB0aGUgc3RyZWFtaW5nIGFuZCB0aGUKCSAgZG93bmxvYWRpbmcgbG9vcHMKCjIwMTMtMTItMTAgMTU6NDE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgc3RyZWFtIGxvY2tzCgkgIFNpbXBsaWZ5IHRoZSBsb2NraW5nIGJ5IHVzaW5nIGEgc2luZ2xlIGxvY2sgaW5zdGVhZCBvZiBoYXZpbmcgb25lCgkgIGxvY2sgcGVyIHN0cmVhbS4gVGhpcyBzdGlsbCB3b3JrcyBhbmQgaXMgc2ltcGxlciB0byBtYWludGFpbi4KCjIwMTMtMTEtMTIgMDk6NTg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhdm9pZCBkb3dubG9hZGluZyBub3QtbGlua2VkIHN0cmVhbXMKCSAgV2hlbiBhIHN0cmVhbSBnZXRzIGEgbm90LWxpbmtlZCByZXR1cm4sIGl0IHdpbGwgYmUgbWFya2VkIGFzIHNvIGFuZAoJICB3b24ndCBkb3dubG9hZCBhbnkgbW9yZSBuZXcgZnJhZ21lbnRzIHVudGlsIGEgcmVjb25maWd1cmUgZXZlbnQKCSAgaXMgcmVjZWl2ZWQuIFRoaXMgd2lsbCBtYWtlIG1zc2RlbXV4IGV4cG9zZSBhbGwgcGFkcywgYnV0IG9ubHkgZG93bmxvYWQKCSAgZnJhZ21lbnRzIGZvciB0aGUgc3RyZWFtcyB0aGF0IGFyZSBhY3R1YWxseSBiZWluZyB1c2VkLgoJICBSZWx5aW5nIG9uIHRoZSBwYWRzIGJlaW5nIGxpbmtlZC91bmxpbmtlZCBpc24ndCBlbm91Z2ggaW4gdGhpcyBzY2VuYXJpbwoJICBhcyB0aGVyZSBtaWdodCBiZSBhbiBpbnB1dC1zZWxlY3RvciBkb3duc3RyZWFtIHRoYXQgaXMgYWN0dWFsbHkgZGlzY2FyZGluZwoJICBidWZmZXJzIGZvciBhIGdpdmVuIGxpbmtlZCBwYWQuCgkgIFdoZW4gc3RyZWFtcyBhcmUgc3dpdGNoaW5nLCB0aGUgb2xkIGFjdGl2ZSBzdHJlYW0gY2FuIGJlIGJsb2NrZWQgYmVjYXVzZQoJICBpbnB1dC1zZWxlY3RvciB3aWxsIGJsb2NrIG5vdC1saW5rZWQgc3RyZWFtcy4gSW4gY2FzZSB0aGUgbXNzZGVtdXgncwoJICBzdHJlYW0gbG9vcCBpcyBibG9ja2VkIHB1c2hpbmcgYSBidWZmZXIgdG8gYSBmdWxsIHF1ZXVlIGRvd25zdHJlYW0gaXQgd2lsbAoJICBuZXZlciB1bmJsb2NrIGFzIHRoZSBxdWV1ZSB3aWxsIG5vdCBkcmFpbiAoaW5wdXQtc2VsZWN0b3IgaXMgYmxvY2tpbmcpLgoJICBJbiB0aGlzIHNjZW5hcmlvLCBzdHJlYW0gc3dpdGNoaW5nIHdpbGwgZGVhZGxvY2sgYXMgaW5wdXQtc2VsZWN0b3IgaXMKCSAgd2FpdGluZyBmb3IgdGhlIG5ld2x5IGFjdGl2ZSBzdHJlYW0gZGF0YSBhbmQgdGhlIHN0cmVhbV9sb29wIHRoYXQgd291bGQKCSAgcHVzaCB0aGlzIGRhdGEgaXMgYmxvY2tlZCB3YWl0aW5nIGZvciBpbnB1dC1zZWxlY3Rvci4KCSAgVG8gc29sdmUgdGhpcyBpc3N1ZSwgd2hlbmV2ZXIgYW4gc3RyZWFtIGlzIHJlYWN0aXZhdGVkIG9uIGEgcmVjb25maWd1cmUKCSAgaXQgd2lsbCBlbnRlciBpbnRvIHRoZSAnY2F0Y2ggdXAgbW9kZScsIGluIHRoaXMgbW9kZSBpdCBjYW4gcHVzaCBidWZmZXJzCgkgIGZyb20gaXRzIGRvd25sb2FkIHRocmVhZCB1bnRpbCBpdCByZWFjaGVzIHRoZSBjdXJycmVudCBHc3RTZWdtZW50J3MgcG9zaXRpb24uCgkgIFRoaXMgd29ya3MgYmVjYXVzZSB0aGlzIHRpbWVzdGFtcCB3aWxsIGFsd2F5cyBiZSBiZWhpbmQgb3IgZXF1YWwgdG8gdGhlIG1heGltdW0KCSAgdGltZXN0YW1wIHB1c2hlZCBmb3IgYWxsIHN0cmVhbXMsIGFmdGVyIHB1c2hpbmcgZGF0YSBmb3IgdGhpcyB0aW1lc3RhbXAsCgkgIHRoZSBzdHJlYW0gd2lsbCBnbyBiYWNrIHRvIGRlZmF1bHQgYW5kIGJlIHB1c2hlZCBzZXF1ZW50aWFsbHkgZnJvbSB0aGUgbWFpbgoJICBzdHJlYW1pbmcgdGhyZWFkLiBCeSB0aGlzIHRpbWUsIHRoZSBpbnB1dC1zZWxlY3RvciBzaG91bGQgaGF2ZSBhbHJlYWR5CgkgIHJlbGVhc2VkIHRoZSB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDkKCjIwMTMtMTItMTggMTY6MjY6MTcgLTA1MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGRvY3VtZW50YXRpb24gb2YgR3N0TXBlZ1ZpZGVvU2VxdWVuY2VTY2FsYWJsZU1vZGUKCjIwMTMtMTItMTggMTM6NDg6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2djb25maWc6IERvbid0IGluY2x1ZGUgbGlicmFyaWVzIGluIHRoZSBnZW5lcmljIGdzdC1wbHVnaW5zLWJhZCBwYyBmaWxlCgoyMDEzLTEyLTE4IDEzOjQ1OjIyICswMTAwICBNYXJpdXN6IEJ1cmFzIDxtYXJpdXN6LmJ1cmFzQHlvdXZpZXcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgbXBlZ3RzOiBJbnN0YWxsIGdlbmVyYXRlZCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2NzMKCjIwMTMtMTItMTcgMTA6MDE6NDIgKzAxMDAgIERhdmlkZSBCZXJ0b2xhIDxkYWRlQGRhZGViLml0PgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IEVuYWJsZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBkZWNvZGluZyBvbiAxMC45CgoyMDEzLTEyLTE3IDEyOjE3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IEZpeCBpbmRlbnRpb24KCjIwMTMtMTItMTcgMTI6MDY6MTMgKzAxMDAgIEhhcmlkYXNzIFNlbHZhcmFqIDxoYXJpZGFzakBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkgIGN1cmxmdHBzaW5rOiBPcHRpb25hbGx5IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIGR1cmluZyBGVFAgdHJhbnNmZXIvdXBsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjAKCjIwMTMtMTItMTcgMTA6MjM6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBHaXZlIHByZWZlcmVuY2UgdG8gdGhlIG9yZGVyIG9mIHRoZSBmaWx0ZXIgY2FwcyB3aGVuIHF1ZXJ5aW5nIGNhcHMKCjIwMTMtMTItMTcgMTA6MjE6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBPbmx5IGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgY2FwcyBpZiB0aGVyZSBhY3R1YWxseSBpcyBhIGZpbHRlcgoKMjAxMy0xMi0xNSAyMTowNTozMSAtMDgwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBTb21lIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMgdG8gc2F0aXNmeSBYQ29kZSBjb21waWxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEzCgoyMDEzLTEyLTE2IDE2OjA3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBSZWFkIGltYWdlLWRlc2NyaXB0aW9uIGZyb20gdGhlIGluZm8gc3RydWN0dXJlLCBub3QgdGhlIGNhcHMKCjIwMTMtMTItMTYgMTE6MTQ6MjkgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IHR5cG8gaW4gYnoyIGNoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MzIKCjIwMTMtMTItMTYgMTE6NTE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFdyaXRlIGltYWdlLXR5cGUgaW50byB0aGUgQVBJQyB0YWcKCjIwMTMtMTItMTYgMTA6MjU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjI0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIHBuZ3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoyMjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVzZSBwYnV0aWxzIEFQSSB0byBjcmVhdGUgdGhlIFZJREVPX0NPREVDIHRhZyBzdHJpbmcKCjIwMTMtMTItMTYgMTA6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSAgaDI2NXBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTY6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjEzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJICBkaXJhY3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNCAxODoxMjo1MyAtMDUwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogUHJvY2VzcyBFT1MgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBpbmNvbWluZyB2aWRlbyBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMTItMTQgMTU6NTU6NDIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGhhbmRsZSBsZXZlbCAzIGluIGdldF9kcGJfbWF4X21iX3NfZnJvbV9sZXZlbC4gb29wcy4KCjIwMTMtMTItMTQgMTU6NTU6MjIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGZpeCBtcDMgY2FwcwoKMjAxMy0xMi0xNCAxODo0MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBTZXQgR1NUX0VMRU1FTlRfRkxBR19TT1VSQ0Ugb24gdGhlIHNvdXJjZQoJICBBcyBpdCBkb2VzIG5vdCBpbmhlcml0IGZyb20gYmFzZXNyYywgdGhpcyBmbGFnIGlzIG5vdCBhdXRvbWF0aWNhbGx5IHNldAoJICBhbmQgZS5nLiBnc3RfYmluX2l0ZXJhdGVfc291cmNlcygpIGFuZCBvdGhlciBjb2RlIGRvZXMgbm90IGNvbnNpZGVyIHRoaXMKCSAgZWxlbWVudCBhIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0xMi0xNCAxMzozMjoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYWRkIG1pc3NpbmcgQU1fQ09ORElUSU9OQUwgZm9yIE9QRU5FWFIgYW5kIFNCQwoJICBNYWtlcyBteSBhdXRvbWFrZSAoMS4xNCkgaGFwcGllci4KCjIwMTMtMTItMTQgMTM6MzA6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFsd2F5cyBpbmNsdWRlIDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KCSAgRml4ZXMgY29tcGlsYXRpb24gd2l0aCBuZXdlc3QgeGNvZGUuCgoyMDEzLTEyLTEyIDE3OjQ5OjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IG5vdCBhbGwgc3RhcnRjb2RlcyBzaG91bGQgaGF2ZSAzLWJ5dGUgMCBwcmVmaXgKCSAgVGhlIHBhcnNlciBhc3N1bWVzIHRoYXQgZXZlcnkgdGltZSB0aGVyZSBpcyBhIDAgYmVmb3JlIHRoZSBzdGFydGNvZGUsCgkgIGl0IGlzIHBhcnQgb2YgdGhlIHN0YXJ0Y29kZS4gQnV0IHRoYXQncyBub3QgdHJ1ZS4KCSAgRnJvbSB0aGUgc3BlY2lmaWNhdGlvbgoJICBCeXRlIHN0cmVhbSBOQUwgdW5pdCBzeW50YXgKCSAgemVyb19ieXRlIGlzIGEgc2luZ2xlIGJ5dGUgZXF1YWwgdG8gMHgwMC4KCSAgV2hlbiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBmdWxmaWxsZWQsIHRoZSB6ZXJvX2J5dGUgc3ludGF4CgkgIGVsZW1lbnQgc2hhbGwgYmUgcHJlc2VudC4KCSAg4oCTIHRoZSBuYWxfdW5pdF90eXBlIHdpdGhpbiB0aGUgbmFsX3VuaXQoICkgaXMgZXF1YWwgdG8gNyAoc2VxdWVuY2UgcGFyYW1ldGVyCgkgIHNldCkgb3IgOCAocGljdHVyZSBwYXJhbWV0ZXIgc2V0KQoJICDigJMgdGhlIGJ5dGUgc3RyZWFtIE5BTCB1bml0IHN5bnRheCBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIGZpcnN0IE5BTCB1bml0IG9mIGFuCgkgIGFjY2VzcyB1bml0IGluIGRlY29kaW5nIG9yZGVyLCBhcyBzcGVjaWZpZWQgYnkgc3ViY2xhdXNlIDcuNC4xLjIuMy4KCSAgVGhlIHByb2JsZW0gd2l0aCBkb2luZyB0aGlzIGZvciBhbGwgc3RhcnRjb2RlcyBpcyB0aGF0IGEgdHJhaWxpbmcgemVybyBjYW4gbWVzcwoJICB1cCB0aW1lc3RhbXBzLiBUaGUgdHJhaWxpbmcgemVybyBnZXRzIHByZXBlbmRlZCB0byB0aGUgc3RhcnRjb2RlLCB3aGljaCB3aWxsCgkgIGNhcnJ5IHRoZSBQVFMgYW5kIERUUyBvZiBwcmV2aW91cyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ0NDMKCjIwMTMtMTItMTAgMTE6Mjc6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZnBhcnNlOiBhZGQgdGltZXN0YW1wcyB0byBwYWNrZXRzCgkgIHJlLWVuYWJsZSB0aGUgY29kZSB0aGF0IGFkZHMgdGltZXN0YW1wcyB0byBwYWNrZXRzIGFmdGVyIGJhc2VwYXJzZSdzCgkgIHBvcnQKCjIwMTMtMTItMTAgMTA6MzQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSAgYXNmcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgkgIGFzZnBhcnNlIHdhcyBub3QgcmVhbGx5IGZ1bmN0aW9uYWwgYWZ0ZXIgdGhlIHBvcnQgdG8gMS4wCgkgIE5vdyBwb3J0aW5nIGl0IHRvIGJhc2VwYXJzZSB0byBnZXQgaXQgd29ya2luZyBhZ2FpbgoKMjAxMy0xMi0xMyAxMTo0OTo1MiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCByZWFkaW5nIG9mIGRpc3BsYXkgd2luZG93IGluIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50CgkgIEZyb20gRVRTSSBFTiAzMDAgNzQzIFYxLjMuMSAoMjAwNi0xMSkgNy4yLjEgRGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgc3BlY2lmaWN0YXRpb25zCgkgIHRoZSBwYXJhbWV0ZXJzIG9mIGRpc3BsYXkgd2luZG93IGFyZSBpbiB0aGlzIG9yZGVyOiBYbWluLCBYbWF4LCBZbWluLCBZbWF4LgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgU2lnbmVkLW9mZi1ieTogUGllcnJlLVl2ZXMgTW9yZHJldCA8cGllcnJlLXl2ZXMubW9yZHJldEBzdC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODIKCjIwMTMtMTItMTMgMTQ6MTY6NDkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgc3J0cDogYWRkIDI1Ni1iaXQga2V5IHN1cHBvcnQKCSAgKiBleHQvc3J0cC9nc3RzcnRwLltjaF06IGFkZGVkIEdTVF9TUlRQX0NJUEhFUl9BRVNfMjU2X0lDTSB0bwoJICBHc3RTcnRwQ2lwaGVyVHlwZSBhbmQgbmV3IGZ1bmN0aW9uIGNpcGhlcl9rZXlfc2l6ZS4KCSAgKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6IG1heGltdW0ga2V5IHNpemUgaXMgbm93IDQ2IGNoYXJhY3RlcnMgKDE0IGZvcgoJICB0aGUgc2FsdCBwbHVzIHRoZSBrZXkpLiBJZiBkaWZmZXJlbnQgY2lwaGVycyBhcmUgY2hvc2VuIGZvciBSVFAgYW5kCgkgIFJUQ1AgdGhlIG1heGltdW0gbmVlZGVkIGtleSBzaXplIGlzIGV4cGVjdGVkLgoJICAqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzogbWlub3IgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDM0CgoyMDEzLTEyLTEyIDEzOjIxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBwcm9jZXNzIGFsbCBhdmFpbGFibGUgaW5wdXQgZnJhbWVzIGluIG9uZSBnbwoJICBJbnN0ZWFkIG9mIHBhcnNpbmcsIGRlY29kaW5nIGFuZCBzZW5kaW5nIG91dAoJICBsb3RzIG9zIGxpdHRsZSAyMG1zIGF1ZGlvIGJ1ZmZlcnMgb25lIGJ5IG9uZS4KCjIwMTMtMTItMTEgMTg6NTI6NTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBjb21waWxlciB3YXJuaW5nICh1bmluaXRpYWxpemVkIHZhcmlhYmxlKQoKMjAxMy0xMi0xMSAwODoxMTo1MCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVuYW1lIHJlb3JkZXJfcXVldWVfZnJhbWVfZGVsYXkgdG8gcmVvcmRlcl9xdWV1ZV9sZW5ndGgKCjIwMTMtMTItMTEgMDg6MTA6MTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlcG9ydCBsYXRlbmN5CgoyMDEzLTEyLTExIDA3OjU4OjIzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgcmVvcmRlciBxdWV1ZSBsZW5ndGggdG8gdGhlIG1heCBEUEIgbGVuZ3RoCgkgIFNldCByZW9yZGVyX3F1ZXVlX2ZyYW1lX2RlbGF5IGZyb20gdGhlIERQQiBzaXplIChpbiBmcmFtZXMpLiBTdGlsbCBub3Qgb3B0aW1hbCwKCSAgYXMgdGhlIERQQiBzaXplIGlzIGxhcmdlciB0aGFuIHRoZSBtYXggYmZyYW1lIGZvcndhcmQgcHJlZGljdGlvbiBsZW5ndGgsIGJ1dCBJCgkgIGRvbid0IGtub3cgaG93IHRvIGNvbXB1dGUgdGhlIGxhdHRlciB3aXRob3V0IHBhcnNpbmcgZXZlcnkgZ3JvdXAgb2YgcGljdHVyZXMuCgoyMDEzLTEyLTEwIDIzOjA2OjUzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgc291bmR0b3VjaDogQ2FsbCBkZWZhdWx0IGV2ZW50IGhhbmRsZXIgZm9yIGJhc2V0cmFuc2Zvcm0KCSAgTWFrZSBwaXBlbGluZSBlbmQgcHJvcGVybHkgYXQgRU9TIGFuZCBub3QgbGVhayBieSBwYXNzaW5nIGV2ZW50cwoJICB0byB0aGUgZGVmYXVsdCBldmVudCBoYW5kbGVyLgoKMjAxMy0xMi0wNiAwMDo0NTo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSByYWN5IGdsaWIgd2FybmluZy4KCSAgU29tZXRpbWVzLCB0aGUgcGFkIHByb2JlcyBjYW4gYmUgY2FsbGVkIHR3aWNlIC0gZm9yIE9PQiBldmVudHMKCSAgdHJhdmVsbGluZyBkb3duc3RyZWFtLiBDbGVhciBvdXQgdGhlIHBhZCBibG9jayBpZCwgc28gaXQgb25seQoJICBnZXRzIHJlbW92ZWQgb25jZS4KCjIwMTMtMTItMDYgMDA6MjI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IGZpeCBkZWNvZGluZyBvZiBhdWRpby9tcy1nc20gdmFyaWFudAoJICBBbHRlcm5hdGVzIGJldHdlZW4gMzMgYW5kIDMyIGJ5dGUgZnJhbWVzLCBidXQgbXVzdCBzdGFydAoJICB3aXRoIGEgMzMgYnl0ZSBmcmFtZS4gVGhpcyBoYXMgYmVlbiBicm9rZW4gZm9yIGFnZXMgc2luY2UKCSAgdGhlIGVsZW1lbnQgd2FzIHBvcnRlZCB0byB0aGUgYXVkaW8gZGVjb2RlciBiYXNlIGNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE2CgoyMDEzLTEyLTEwIDExOjEwOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHRoZSBjb3JyZWN0IHZpZGVvIGZvcm1hdCBpbiB0aGUgdmlkZW8gbWV0YQoJICBGaXhlcyBhbGwga2luZHMgb2Ygd2VpcmQgYnVncyB3aGVuIHZpZGVvY29udmVydCBpcyB1c2VkIHdpdGggdGhlIGRlY29kZXIuCgoyMDEzLTA0LTE3IDEwOjQ0OjQ4ICswODAwICBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGljdHVyZSBsZXZlbCBzY2FsaW5nIGxpc3RzIGRlcml2YXRpb24gKHJ1bGUgQikuCgkgIEZpeCBwaWN0dXJlIGxldmVsIHNjYWxpbmcgbGlzdHMgZGVyaXZhdGlvbiBmcm9tIGZhbGwtYmFjayBydWxlIHNldCBCLAoJICBhcyBzcGVjaWZpZWQgaW4gNy40LjIuMi4gTW9yZSBwcmVjaXNlbHksIHRoZSBzZXF1ZW5jZSBsZXZlbCBzY2FsaW5nCgkgIGxpc3RzIG5lZWQgdG8gYmUgdXNlZCBidXQgaW50cmEgYW5kIGludGVyIGxpc3RzIGFyZ3VtZW50cyB3ZXJlIHN3YXBwZWQuCgkgIFRoaXMgZml4ZXMgRlJFeHQvZnJlaDUuMjY0IGZyb20gY29uZm9ybWFuY2UgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDA5OQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTEyLTA4IDE2OjQ2OjU4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IHNldCB0aGUgY29ycmVjdCBzdHJpZGUgZm9yIHBhY2tlZCBmb3JtYXRzCgoyMDEzLTEyLTA4IDE1OjMxOjA5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggbXBlZzIgdmlkZW8gc3VwcG9ydAoKMjAxMy0xMi0wOCAxNToyNToyNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogbWFrZSBqcGVnIGRlY29kaW5nIGFjdHVhbGx5IHdvcmsKCjIwMTMtMTItMDggMTU6MjQ6NTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZhaWwgZ3JhY2VmdWxseSB3aGVuIG5vdCBuZWdvdGlhdGVkCgoyMDEzLTEyLTA3IDIzOjU1OjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmV3cml0ZSBWaWRlb1Rvb2xib3ggZGVjb2RlciBiYXNlZCBvbiBHc3RWaWRlb0RlY29kZXIKCjIwMTMtMTItMDYgMjE6MTE6MzIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmg6CgkgIHZtY25kZWM6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlCgkgIEZvcmdvdCB0byBhZGQgaGVhZGVyIGZpbGUgdG8gcHJldmlvdSBjb21taXQKCjIwMTMtMTItMDYgMjA6NTg6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDYgMTc6NTg6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNiAxNzoxMDozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDUgMTY6NTA6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IFVzZSBHc3RSVFBCYXNlUGF5bG9hZCBtZXRob2QgdG8gcHVzaCBidWZmZXIKCSAgVGhpcyB3YXkgdGhlIGV2ZW50IGlzIGFsc28gcHVzaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTEyLTA1IDEyOjA1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIHNpcmVuZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMTo0OTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0OTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mY2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSAgZGFhbGFkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNCAxNzozMToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogQWxzbyBpbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGluIHBhcnNlX3NlcXVlbmNlX2hlYWRlcgoJICBBbHNvIHJlbW92ZSB0aGUgdXNlbGVzcyBpbml0aWFsaXplZCBmbGFnLCB0aGlzIGlzIGFscmVhZHkgZG9uZSBieSB0aGUgbWFjcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTY1NwoKMjAxMy0xMi0wNCAyMjozODoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBJbnN0ZWFkIG9mIHRyeWluZyB0byBwYXJzZSB0aGUgYml0c3RyZWFtLCBqdXN0IGxvb2sgZm9yIHRoZSBuZXh0IGhlYWRlcgoJICBUaGlzIHNob3VsZCBiZSBtb3JlIHJvYnVzdCBhbmQgYWxsb3dzIHVzIHRvIGhhbmRsZSBuZXcgdmVyc2lvbnMgb2YgdGhlCgkgIGZpbGUgZm9ybWF0IGlmIHRoZSBsaWJyYXJ5IHN1cHBvcnRzIGl0LgoKMjAxMy0xMi0wNCAwOToxMzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIEFDQ0VQVF9JTlRFUlNFQ1QKCSAgV2UgY2FuIGFsc28gYWNjZXB0IGNhcHMgd2l0aCBtaXNzaW5nIGZpZWxkcy4KCjIwMTMtMTItMDQgMDk6MDM6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHJlbW92ZSBmaWVsZHMgZnJvbSBmaWx0ZXIKCSAgRG9uJ3QgZmlsdGVyIG91dCB0aGUgY2FwcyBwcm9wZXJ0aWVzIHdlIGNhbiBjb252ZXJ0IGJldHdlZW4gd2hlbgoJICBwcm94eWluZyB0aGUgZ2V0Y2FwcyBxdWVyeSB0byB0aGUgZG93bnN0cmVhbSBwZWVyIHBhZC4KCjIwMTMtMTItMDQgMDk6MDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHJlZmFjdG9yIHJlbW92ZV9maWVsZHMgaW4gZ2V0Y2FwcwoKMjAxMy0xMi0wMyAxNDo1MzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDaGVjayBjb2xvciBmb3JtYXQKCjIwMTMtMTItMDMgMTQ6NDc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQWRkIHN1cHBvcnQgZm9yIHRoZSB2aWRlbyBtZXRhCgoyMDEzLTEyLTAzIDE0OjQ2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogVXNlIEdzdFZpZGVvRnJhbWUgQVBJIGZvciBiZXR0ZXIgaGFuZGxpbmcgb2Ygc3RyaWRlcwoJICBBbmQgZG8gcHJvcGVyIHN0cmlkZSBjb252ZXJzaW9uLgoKMjAxMy0xMi0wMyAxNDozNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nIHRvIGFjdHVhbGx5IHdvcmsgYW5kIHByb3Blcmx5IHRpbWVzdGFtcCBidWZmZXJzCgoyMDEzLTEyLTAzIDE0OjM1OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IERvbid0IHNodXQgZG93biBsaWJyYXJ5IHdoZW4gZmluYWxpemluZyBhbiBlbGVtZW50IGluc3RhbmNlCgoyMDEzLTEyLTAzIDE0OjM1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBuZWdvdGlhdGlvbiBhbmQgY3JlYXRpb24gb2YgYSB2aWRlbyBidWZmZXIgcG9vbAoKMjAxMy0xMi0wMyAxNDozNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBVc2UgZGVidWcgY2F0ZWdvcnkgcHJvcGVybHkKCjIwMTMtMTItMDIgMTc6MDM6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIFNvdXJjZS9WaWRlbwoKMjAxMy0xMi0wMiAxNzowMTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBVc2UgR3N0VmlkZW9JbmZvIHRvIGNyZWF0ZSBjYXBzIGFuZCBkb24ndCBsZWFrIHRoZW0KCjIwMTMtMTItMDIgMTY6NTk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogU29tZSByYW5kb20gY2xlYW51cCBhbmQgbWlub3IgZml4ZXMKCjIwMTMtMTItMDIgMTE6MTc6MDIgKzAxMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubmkyL01ha2VmaWxlLmFtOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pOiBBZGQgT3Blbk5OSTIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg5MTQKCjIwMTMtMTItMDIgMTA6Mjg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBHX0RFRklORV9UWVBFKCkgYWxyZWFkeSBjYWxscyBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoKSBmb3IgdXMKCjIwMTMtMTItMDIgMTA6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbW92ZSBlbXB0eSBHT2JqZWN0OjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9ucwoJICBBbHNvIGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTMtMTAtMjAgMjI6MDQ6MzggKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGQgYSAyRCBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0gcGx1Z2luCgkgIFRoZSBwZXJzcGVjdGl2ZSBwbHVnaW4gYXBwbGllcyBhIDJEIHBlcnNwZWN0aXZlIChhbHNvIGNhbGxlZCBwcm9qZWN0aXZlKQoJICB0cmFuc2Zvcm0gdG8gdGhlIGZyYW1lIGJ1ZmZlci4KCSAgQSBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0gY2FuIGJlIHVzZWQgZm9yIGluc3RhbmNlIHRvIHBlcmZvcm0ga2V5c3RvbmUKCSAgY29ycmVjdGlvbiB3aGVuIHBsYXlpbmcgdGhlIGNvbnRlbnQgd2l0aCBhIHZpZGVvIHByb2plY3Rvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDgxMAoKMjAxMy0xMi0wMSAyMzozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGF2b2lkIGxpc3QgZm9yIG9uZSBzaW5nbGUgdmFsdWUgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMy0xMi0wMSAyMjozMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IGdzdF9idWZmZXJfZ2V0X3NpemUoKSBjYWxscwoKMjAxMy0xMS0yOSAxMzoyMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogaW5pdCBydHAgYnVmZmVyIGZpeGluZyBydHAgcGFja2V0IGNyZWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTEtMjkgMTM6MjI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGRvbid0IHVzZSBidWZmZXIgYWZ0ZXIgZ2l2aW5nIGF3YXkgb3duZXJzaGlwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTEtMjkgMTA6MTQ6NDMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEzLTExLTI1IDE2OjU3OjAwICswMDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBEb24ndCB0cnkgdG8gc2V0IGZyYW1lcmF0ZSBpZiBub3QgZnJvbSB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTY2CgoyMDEzLTExLTI4IDE1OjEwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggc3BsaXR0aW5nIG9mIG11bHRpcGxlIE5BTFUgcGVyIGJ1ZmZlcgoJICBDb252ZXJzaW9uIHRvIGJ5dGUtc3RyZWFtL25hbCBjcmFzaGVzIHdpdGhvdXQgdGhhdCBiZWNhdXNlIHRoZQoJICBiYXNlcGFyc2UgZnJhbWUgb2YgYWxsIE5BTFVzIGlzIGZpbmlzaGVkIGZvciB0aGUgZmlyc3QgTkFMVSwgdGhlbgoJICB1c2VkIGFnYWluIGZvciBwYXJzaW5nIHRoZSBzZWNvbmQgTkFMVS4gSnVzdCB0aGF0IG5vdyB0aGUgYnVmZmVyCgkgIG9mIHRoZSBmcmFtZSBpcyBhbHJlYWR5IGdvbmUuIEluc3RlYWQgd2UgY3JlYXRlIHRlbXBvcmFyeSBmcmFtZXMKCSAgZm9yIGV2ZXJ5IE5BTFUuCgoyMDEzLTEwLTMxIDE3OjE2OjE0ICswMTAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNldHRpbmcgY29kZWNfZGF0YSB3aGVuIHVzaW5nIFdhdmVGb3JtYXRFeAoJICBXaGVuIHVzaW5nIFdhdmVGb3JtYXRFeCB0aGUgYWN0dWFsIGNvZGVjIHByaXZhdGUgZGF0YSBpcyBhdCB0aGUgZW5kIG9mCgkgIHRoZSB3YXYgaGVhZGVyIHN0cnVjdHVyZSwgYWZ0ZXIgdGhlIGNiU2l6ZSBmaWVsZCwgc2VlIGZvciBleGFtcGxlIHRoZQoJICBub3RlcyBhdCBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1XQVZFRk9STUFURVgKCSAgVGhlIHByZXZpb3VzIGNvZGUgd2FzIGVycm9uZW91c2x5IHBhc3NpbmcgdGhlIHdob2xlIFdBVkVGT1JNQVRFWAoJICBzdHJ1Y3R1cmUgYXMgY29kZWNfZGF0YS4KCSAgVGhlIHNtb290aHN0cmVhbWluZyBzcGVjaWZpY2F0aW9uc1sxLDIsM10gYWx3YXlzIG1lbnRpb24gV0FWRUZPUk1BVEVYCgkgIGFuZCBuZXZlciBzbWFsbGVyIHN0cnVjdHVyZXMgbGlrZSBXQVZFRk9STUFUIG9yIFBDTVdBVkVGT1JNQVQsIHNvIHRoZQoJICBidWZmZXIgY2FuIGFzc3VtZWQgdG8gYmUgYXQgbGVhc3QgMTggYnl0ZXMgYW5kIGFsd2F5cyBjb25zdW1pbmcgdGhlIHdhdgoJICBoZWFkZXIgZ2l2ZXMgdGhlIChwb3NzaWJseSBlbXB0eSkgY29kZWMgcHJpdmF0ZSBkYXRhLgoJICBbMV0gaHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMjA5MDcwMDQ3NDIvaHR0cDovL3d3dy5paXMubmV0L2NvbW11bml0eS9maWxlcy9tZWRpYS9zbW9vdGhzcGVjcy8lNUJNUy1TTVRIJTVELnBkZgoJICBbMl0gaHR0cDovL2Rvd25sb2FkLm1pY3Jvc29mdC5jb20vZG93bmxvYWQvQi8wL0IvQjBCMTk5REItNDFFNi00MDBGLTkwQ0QtQzM1MEQwQzE0QTUzLyU1Qk1TLVNTVFIlNUQucGRmCgkgIFszXSBodHRwOi8vZG93bmxvYWQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC85LzUvRS85NUVGNjZBRi05MDI2LTRCQjAtQTQxRC1BNEY4MTgwMkQ5MkMvJTVCTVMtU1NUUiU1RC5wZGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0xMC0zMSAxNTo1ODoyNyArMDEwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHVzZSBtc3NkZW11eF9kZWJ1ZyBkZWJ1ZyBjYXRlZ29yeSBmb3IgZ3N0bXNzbWFuaWZlc3QuYyB0b28KCjIwMTMtMTAtMTYgMTY6MjI6MzYgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggY29kaW5nIHN0eWxlCgoyMDEzLTExLTI1IDE1OjE3OjMzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IERvbid0IHVubWFwIGFuIHVucmVmZmVkIGJ1ZmZlcgoJICBnc3RfZHZkX3NwdV9maW5pc2hfc3B1X2J1ZiBkcm9wcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50CgkgIGJ1ZmZlciwgc28gbWFrZSBzdXJlIHRvIGNhbGwgZ3N0X2J1ZmZlcl91bm1hcCBiZWZvcmUgaXQuCgoyMDEzLTExLTIzIDE5OjExOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IENvbnNpZGVyIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gc3RvcmVkIGluIHRoZSBmaWxlCgoyMDEzLTExLTIzIDE4OjM3OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuaDoKCSAgb3BlbmV4cjogQWRkIE9wZW5FWFIgZGVjb2RlciBlbGVtZW50CgkgIFRoaXMgY3VycmVudGx5IGNvbnZlcnRzIGZyb20gQVJHQjY0X0YxNiAoMTYgYml0IGZsb2F0IHBlciBjb21wb25lbnQpCgkgIHRvIEFSR0I2NCBieSBjbGlwcGluZy4gV2Ugc2hvdWxkIGFkZCBzdXBwb3J0IGZvciB0aGUgRjE2IGZvcm1hdCBhbmQKCSAgaW1wbGVtZW50IGEgY29udmVyc2lvbiBmaWx0ZXIgZWxlbWVudCB0aGF0IGNhbiBhcHBseSBnYW1tYSBjdXJ2ZXMsCgkgIGNoYW5nZSBleHBvc3VyZSwgZXRjLgoKMjAxMy0xMS0yMyAxMToyOTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5jOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmg6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmg6CgkgIG9wZW5leHI6IEFkZCBPcGVuRVhSIHBsdWdpbgoJICBTZWUgaHR0cDovL3d3dy5vcGVuZXhyLmNvbQoKMjAxMy0xMS0yMyAxMTozNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEZpeCBuYW1lcyBvZiBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDEzLTExLTIzIDE0OjM1OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBwb3AgbmV3IHBhY2tldCB3aGVuIGludmFsaWQgbmV4dCBjb21tYW5kIGJsb2NrCgkgIC4uLiB0byBwcmV2ZW50IHN0YXlpbmcgc3R1Y2sgb24gY3VycmVudCBjb21tYW5kIGJsb2NrIGFuZCBidXN5IGxvb3BpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMTkKCjIwMTMtMTEtMjMgMTE6MjM6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWNjZXB0IFZpZGVvT2JqZWN0TGF5ZXIgYXMgc3RhcnQgb2YgZnJhbWUgYW5kIGNvbmZpZwoJICAuLi4gd2hpY2ggaXQgZGVzZXJ2ZXMgYXMgbXVjaCBhcyBWaWRlb09iamVjdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzU2NAoKMjAxMy0xMS0yMSAxNTo1NDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZAoJICBKdXN0IHVzZSBwbGFpbiBtZW1tb3ZlKCksIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQgaW4KCSAgcmVjZW50IEdMaWIgdmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MTEKCjIwMTMtMTEtMjAgMTI6NDY6MjMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBIYW5kbGUgdm9ic3ViIHBhY2tldHMgc21hbGxlciB0aGFuIDQgYnl0ZXMKCSAgSW4gcGFydGljdWxhciwgaGFuZGxlIHRoZSBjYXNlIG9mIGFuIGVtcHR5IHBhY2tldCB3aXRoIHNpemUgMCBieXRlcy4KCSAgUGFydGlhbGx5IGZpeGVzOiAjNzEyNjQzCgoyMDEzLTExLTE5IDIwOjE4OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBTZXQgdGhlIGZpcnN0IHNlc3Npb24gZmxhZyB0byBmYWxzZSBvbmNlIG9uZSBpcyBjcmVhdGUKCSAgT3RoZXJ3aXNlIGl0IGFsd2F5cyB0aGlua3MgaXQncyB0aGUgZmlyc3Qgc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQ5NQoKMjAxMy0xMS0xOSAyMDoxMjo1NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBNYWtlIHN1cmUgdGhhdCBzdHJlYW0taWQvY2Fwcy9zZWdtZW50IGFyZSBzZW50IGJlZm9yZSBidWZmZXJzCgkgIEl0IG1heSBiZSBwb3NzaWJsZSB0aGF0IG9ubHkgb25lIG9mIHRoZSB0d28gc2luayBwYWRzIGlzIGxpbmtlZCBpbiB0aGF0IGNhc2UsCgkgIHRoZSBldmVudHMgbmVlZCB0byBiZSBjcmVhdGVkIGZyb20gdGhlIG90aGVyIHBhZC4KCjIwMTMtMTEtMTkgMTk6MTA6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFBhc3MgaXNfcnRjcCB0byBzZXRjYXBzIGZ1bmN0aW9uCgoyMDEzLTA0LTA0IDE3OjU5OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwOiBJbXBsZW1lbnQgU1JUQ1AgZGVtdWx0aXBsZXhpbmcKCSAgU2VwYXJhdGUgbXVsdGlwbGV4ZWQgUlRQIGFuZCBSVENQIGlmIHRoZXkgYXJyaXZlCgkgIG9uIHRoZSBydHBfc2luayBwYWQuCgoyMDEzLTExLTE5IDAwOjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJICBkYWFsYTogRml4IGNvbXBpbGF0aW9uCgoyMDEzLTExLTEzIDIyOjI1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB0cnkgdG8gZGVpbml0IHRoZSBkb3dubG9hZHJhdGUgd2hpbGUgaXQgaXMgdXNlZAoJICBUaGlzIGNhbiBjYXVzZSBhbiBhc3NlcnRpb24gb3IgZGVhZGxvY2tzLgoKMjAxMy0xMS0xMSAxNjozNTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGNvbnNpZGVyIC9tYW5pZmVzdAoJICBUaGUgc3BlYyBzYXlzIC9NYW5pZmVzdCwgYnV0IC9tYW5pZmVzdCBpcyBlYXNpbHkgZm91bmQgb24gc29tZQoJICBzZXJ2aWNlcywgc28gaGFuZGxlIHRoYXQsIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDIyMwoKMjAxMy0xMS0xNCAwOTowMjozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggY29tcGlsYXRpb24gd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoKMjAxMy0xMS0xMyAxODo1OTo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogQWRkIC1sbSBuZWVkZWQgYnkgSC4yNjUgcGFyc2VyCgoyMDEzLTExLTEzIDE3OjE2OjA0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBQcm94eSB1cHN0cmVhbSBmcmFtZXJhdGUgb24gc3JjcGFkIGlmIGF2YWxhaWJsZQoJICBJZiB0aGUgdXNlciBzZXRzIGl0IGhpbXNlbGYgd2l0aCBjYXBzZmlsdGVyLCB0aGUgaW5mb3JtYXRpb24gc2hvdWxkIGJlCgkgIGtlcHQgYW5kIHRyYW5zbWl0dGVkIGRvd25zdHJlYW0uCgoyMDEzLTExLTEyIDE4OjM2OjA0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogUHJvcGVybHkgYWRkIHN1YnRpdGxlIGRlc2NyaXB0b3IgZm9yIERWYiBzdWJwaWN0dXJlIHN1YnRpdGxlcwoJICBXZSB3ZXJlIGFkZGluZyBhbiBlbXB0eSBkZXNjcmlwdG9yIGZvciB0aGVtIGFuZCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvCgkgIGFjdHVhbGx5IHVzZSB0aGVtIG9uIG11eGVkIHN0cmVhbXMuCgoyMDEzLTExLTEzIDE0OjI4OjMwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCBub24tZWdsIGRpc3BsYXkgY29udGV4dCBxdWVyeQoKMjAxMy0xMS0xMSAxNjoxNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogbG9vayBiZXlvbmQgc3RhcnQgY29kZSBiZWZvcmUgbGVhcGluZwoJICBJbiBjYXNlIG1vcmUgZGF0YSB0aGFuIGEgc3RhcnQgY29kZSBhbG9uZSBpcyBuZWVkZWQgdG8gZGVjaWRlIHdoZXRoZXIKCSAgaXQgZW5kcyBhIGZyYW1lLCBhcnJhbmdlIGZvciBtb3JlIGlucHV0IGRhdGEgYW5kIGRlY2lkZSB3aGVuIGF2YWlsYWJsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0xMSAxMzoyNDowOCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkZWNsYXJlIG1pc3NpbmcgaW5zdGFuY2UgdmFyaWFibGVzCgkgIEZpeGVzIGJ1aWxkIG9uIDMyLWJpdCBzeXN0ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDQKCjIwMTMtMTEtMTAgMTI6MTc6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHR3ZWFrIGV4dGVuc2lvbiBoYW5kbGluZwoKMjAxMy0xMS0xMCAxMjoxNTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBnZWdkZW11eDogZG8gbm90IHVzZSBwdXNoZWQgYnVmZmVyIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTMtMTEtMDkgMTM6MzI6MjEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGVjayBmb3Igc2FtZSBUU04gb25seSBmb3IgaW50ZXJsYWNlZCBzdHJlYW1zIChmaXhlcyB1bml0IHRlc3QpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE3MjEKCjIwMTMtMTEtMDkgMTI6MTg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgZm9yIHRoZSBPUkMgY29kZQoKMjAxMy0xMS0wOSAwOTo0Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndnBhcnNlOiBGaXggbGFzdCBzdGFydCBjb2RlIHBvc2l0aW9uIHdoZW4gaW5wdXQgYnVmZmVyIGlzIGVtcHR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDdjMjNhNmYyM2MxODUzMzBkNzRhZTRjY2NlNzljMzY0MWEyZmFiYWMuCgkgIFRoZSBmaXggd2FzIG5vdCBjb21wbGV0ZSwgc2VlIGRpc2N1c3Npb24gaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0wOCAyMDoyMzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHNvbWUgbW9yZSBlbGVtZW50LXR5cGUgYW5ub3RhdGlvbnMgZm9yIGctaQoKMjAxMy0xMS0wNyAyMTozNzoyOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBjb3JlbWVkaWFidWZmZXI6IGtlZXAgYW4gZXh0cmEgcmVmIHRvIHRoZSBpbWFnZSBhbmQgZGF0YSBidWZmZXIKCjIwMTMtMTEtMDcgMTA6NTc6MjIgLTA3MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZwYXJzZTogRml4IGxhc3Qgc3RhcnQgY29kZSBwb3NpdGlvbiB3aGVuIGlucHV0IGJ1ZmZlciBpcyBlbXB0eQoJICBXaGVuIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1wdHkgYW5kIHdlIG5lZWQgbW9yZSBkYXRhIHRvIGRldGVybWluZQoJICB3aGV0aGVyIG9yIG5vdCB0byB0ZXJtaW5hdGUgdGhlIHByZXZpb3VzIGZyYW1lLCB0aGUgbGFzdCBzdGFydCBjb2RlCgkgIGxvY2F0aW9uIG5lZWRzIHRvIGJlIHNldCB0byA0IGJ5dGVzIGJlZm9yZSB0aGUgdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgKHNpemUgb2Ygc3RhcnRfY29kZSBpcyAzMi1iaXRzKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTA3IDE0OjM5OjI2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogRml4IGJhZCBjb25kaXRpb24gaW4gaDI2NCBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNQoKMjAxMy0xMS0wNyAxMjoyOTo0OCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JlbWVkaWFidWZmZXI6IHVzZSBjb3JyZWN0IHJldGFpbi9yZWxlYXNlIGZ1bmN0aW9ucyBvbiBDTVNhbXBsZUJ1ZmZlclJlZiBidWZmZXIKCSAgRml4ZXMgYSBjcmFzaCB3aGlsZSByZWxlYXNpbmcgdGhlIHNhbXBsZSBidWZmZXIgYWZ0ZXIgdGhlIGltYWdlCgkgIGJ1ZmZlciBpdCBjb250YWlucy4KCSAgQWxzbyBmaXhlcyBhIG1pbm9yIGNvZGluZyBzdHlsZSBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYwNgoKMjAxMy0xMS0wNyAxNDoyNjoyMiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBxdGtpdHZpZGVvc3JjOiBsb3dlciByYW5rIHRvIEdTVF9SQU5LX1NFQ09OREFSWQoJICBNYWtlcyBhdmZ2aWRlb3NyYyBiZSBwcmVmZXJlZCBvdmVyIHF0a2l0dmlkZW9zcmMgc2luY2UgaXQgaXMgZGVwcmVjYXRlZAoJICB3aXRoIE9TIFggMTAuOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNAoKMjAxMy0xMS0wNyAxMzozMzozNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdmZ2aWRlb3NyYzogc2V0IHJhbmsgdG8gR1NUX1JBTktfUFJJTUFSWQoJICBNYWtlcyBhdmZ2aWRlb3NyYyB0byBiZSB1c2VkIHdpdGggYXV0b2RldGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNAoKMjAxMy0xMS0wNyAxMjo0Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG8gbm90IGxvc2UgcmVmIHRvIHRoZSBtdWx0aWZpbGVzaW5rCgkgIEl0IGlzIG5lZWRlZCB0byB1cGRhdGUgbG9jYXRpb24gcHJvcGVydGllcyBhbmQgaXQgd2FzIGJlaW5nIGxvc3Qgb24KCSAgc3RhdGUgY2hhbmdlcywgY2F1c2luZyBpc3N1ZXMgaWYgdGhlIHBpcGVsaW5lIHdhcyB0byBiZSByZXVzZWQKCjIwMTMtMTEtMDcgMTI6MzU6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IG1ha2Ugc3VyZSBpdCBpcyBoYW5kbGVkIGFzIGEgc2luawoJICBJdCBvbmx5IGdldHMgdGhlIHNpbmsgZmxhZyBzZXQgd2hlbiBpdCBhZGRzIHRoZSBtdWx0aWZpbGVzaW5rLCB0aGF0CgkgIGhhcHBlbnMgaW4gbnVsbC0+cmVhZHkgYW5kIGl0IG1pZ2h0IGJlIHRvbyBsYXRlLiBTZXQgdGhlIGZsYWcKCSAgZXhwbGljaXRseSBvbiB0aGUgY29uc3RydWN0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODYKCjIwMTMtMTEtMDcgMTM6MDU6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdmZ2aWRlb3NyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gaU9TCgoyMDEzLTExLTA3IDEyOjI5OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCBpbiBpT1Mgd2l0aCBpc0VxdWFsVG8gZG9lc24ndCBleGlzdHMKCjIwMTMtMTEtMDcgMTI6MjA6MzEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIHdpdGggb2xkZXIgU0RLIG5vdCBzdXBwb3J0aW5nIEFWRGV2aWNlRm9ybWF0CgkgIEFWRGV2aWNlRm9ybWF0IGFuZCBBVkZyYW1lUmF0ZVJhbmdlIGFyZSBhdmFpbGFibGUgaW4gaU9TIHNpbmNlIDcuMAoJICBzbyB3ZSBuZWVkIGEgbW9yZSBkeW5hbWljIGFwcHJvYWNoIHRvIHN1cHBvcnQgY29tcGlsYXRpb24gd2l0aCBvbGRlcgoJICBTREsncy4gV2UgdXNlIGEgTlNPYmplY3QgdG8gYXZvaWQgcmVmZXJlbmNpbmcgdGhvc2UgdHlwZXMgYW5kIGtleS12YWx1ZQoJICBjb2Rpbmcgb3IgcHJlZm9ybVNlbGVjdG9yIHRvIGFjY2VzcyBwcm9wZXJ0aWVzLgoKMjAxMy0xMS0wNyAwMTozODoyMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggY2hlY2tzIGZvciBIQVZFX0lPUwoKMjAxMy0xMS0wNyAwMTozNzozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbmNsdWRlIGNvbmZpZy5oCgoyMDEzLTExLTA2IDE4OjUzOjI1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTExLTA2IDE4OjUwOjQ2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYwoJICBUaGUgc3ludGhlc2l6ZSBibG9jayBuZWVkcyB0byBiZSBtb3ZlZCB0byBmaXggYSBjb21waWxlciBlcnJvcgoKMjAxMy0xMS0wNiAxODo0OTozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzb3J0IGNhcHMgd2l0aCB0aGUgaGlnaGVzdCByZXNvbHV0aW9uIGZpcnN0CgkgIFdoZW4gc3RhcnRlZCB3aXRob3V0IGFueSBjYXBzIGZpbHRlciB3ZSBwcmVmZXIgdGhlIGhpZ2hlc3QKCSAgc3VwcG9ydGVkIHJlc29sdXRpb24uCgoyMDEzLTExLTA0IDExOjE0OjM1ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHN1cHBvcnQgc2NyZWVuIGNhcHR1cmUgb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MzIKCjIwMTMtMTAtMzEgMTM6MDU6NDAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbWlub3IgY29zbWV0aWMKCjIwMTMtMTAtMzEgMTM6MDM6NTggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXNlIGlucHV0IGRldmljZSBmb3JtYXRzIHRvIHNldC9nZXQgY2FwcyBpZiBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIxMQoKMjAxMy0xMC0yOSAxNTozNzoxNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1cGRhdGUgY2FwcyBpZiBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkCgkgIE9uIE9TWCwgc2V0dGluZyB0aGUgcGl4ZWwgZm9ybWF0IG9uIHRoZSBvdXRwdXQgcmVzZXQgdGhlIGNhcHR1cmUgZGV2aWNlCgkgIHRvIGl0cyBuYXRpdmUgcmVzb2x1dGlvbiwgc28gd2UgbmVlZCB0byB1cGRhdGUgdGhlIGNhcHMgaWYgdGhlIG91dHB1dAoJICBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkIGJlZm9yZSBhIHByb3BlciBzb2x1dGlvbiBpcyBmb3VuZC4KCjIwMTMtMTAtMjkgMTU6MzY6MDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgaWYgbG93IHByZXNldCBpcyBhdmFpbGFibGUKCjIwMTMtMTAtMjggMTg6MjI6MTMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXNlIGEgZGVkaWNhdGVkIHF1ZXVlIGZvciBBVkZvdW5kYXRpb24gY2FsbHMKCSAgUmVwbGFjZSB0aGUgbWFpbiBxdWV1ZSB3aXRoIGEgZGVkaWNhdGVkIHF1ZXVlIGZvciBBVkZvdW5kYXRpb24gY2FsbHMKCSAgc28gdGhlIGV4ZWN1dGlvbiBvbiB0aGlzIHF1ZXVlIHdvbid0IGJsb2NrIGlmIHRoZSBtYWluIHF1ZXVlCgkgIGlzIG5vdCBydW5uaW5nLgoKMjAxMy0xMC0yOSAxNzozMzoxMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiByZW1vdmUgdHJhaWxpbmcgc3BhY2UKCjIwMTMtMTAtMzAgMTQ6NTE6NTAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZGlzcGF0Y2ggQVZGb3VuZGF0aW9uIGNhbGxzIHN5bmNocm9ub3VzbHkgaW4gdGhlIG1haW4gcXVldWUKCjIwMTMtMTAtMzAgMTI6NDA6MDEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSBhdmZ2aWRlb3NyYyBpZiBBVkZvdW5kYXRpb24gaXMgcHJlc2VudAoKMjAxMy0xMC0zMCAxMjozOToyNCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBvbmx5IGVuYWJsZSAxOTIweDEwODAgcHJlc2V0IG9uIGlPUwoKMjAxMy0xMC0yOCAxMToyMDoyNyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkZXRlY3QgcHJlc2VuY2Ugb2YgQVZGb3VuZGF0aW9uCgoyMDEzLTEwLTI4IDExOjUzOjI2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IHBvcnQgYXZmdmlkZW9zcmMgdG8gMS4wCgoyMDEzLTExLTA3IDE0OjEyOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgdW5pdCB0ZXN0IGZvciBoYW5kbGluZyB1bmFsaWduZWQgYnVmZmVycwoJICBUaGF0IGlzLCBidWZmZXJzIHRoYXQgc3RhcnQgb3IgZW5kIGluIHRoZSBtaWRkbGUgb2YgYW4gb3V0cHV0IGJsb2NrLgoKMjAxMy0xMS0wNyAxNDoxMjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IEVPUyBoYW5kbGluZyBpZiB3ZSBoYXZlIHNvbWUgcGVuZGluZyBkYXRhCgoyMDEzLTExLTA3IDEzOjU3OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCBmb3IgdGhlIGRpc2NvbnQgaGFuZGxpbmcKCjIwMTMtMTEtMDcgMTM6NTU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlZmFjdG9yIHN5bmMgdGVzdCB0byBiZSBtb3JlIHJldXNhYmxlCgoyMDEzLTExLTA3IDEzOjQ4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgc29tZSByYWN5LW5lc3MgZnJvbSB0aGUgdW5pdCB0ZXN0CgkgIFdlIG1pZ2h0IGFscmVhZHkgYmUgRU9TIHdoZW4gd2Ugc3RhcnQgdGhlIG1haW5sb29wLCBzbyBvbmx5CgkgIHNldCB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBmcm9tIHRoZSBtYWluIGxvb3AuCgoyMDEzLTExLTA3IDA5OjU0OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFJlbW92ZSBzb21lIHVudXNlZCBmdW5jdGlvbnMKCjIwMTMtMTEtMDYgMjI6MTM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IE1ha2Ugc3VyZSB2aWRlby1kb25lIGlzIHBvc3Qgb25seSB3aGVuIGZpbGUgaXMgY2xvc2VkCgkgIEZvcmNlIGZpbGVzaW5rIHRvIG51bGwgYmVmb3JlIHBvc3RpbmcgdmlkZW8tZG9uZSB0byBtYWtlIHN1cmUgdGhlCgkgIGZpbGUgd2FzIGNsb3NlZC4KCSAgSGFkIHRvIGRvIGl0IGZyb20gYSBzZXBhcmF0ZSB0aHJlYWQgdG8gYXZvaWQgY2FsbGluZyBzdGF0ZV9jaGFuZ2UgZnJvbQoJICBhIHN5bmMgbWVzc2FnZSBoYW5kbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzczCgoyMDEzLTExLTA2IDIzOjExOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBhZGQgbmV3IGNvZGVjcGFyc2VyIEFQSSB0byAuZGVmIGZpbGUKCjIwMTMtMTAtMDkgMTA6NTQ6MTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIEguMjY1IEhFVkMgdmlkZW8gcGFyc2VyIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODQzOAoKMjAxMy0xMC0wMSAxMzozOTo0MSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBILjI2NSBIRVZDIGJpdHN0cmVhbSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODQzOAoKMjAxMy0xMS0wNSAxMjo0Mzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAxMy0xMS0wNiAxNTo1MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9uJ3QgdGFrZSBjaGFubmVsIG1hc2sgaW4gY29uc2lkZXJhdGlvbiBpbiBtb25vIG9yIHN0ZXJlbwoJICBUaGlzIGNvdWxkIGNhdXNlIG5lZ290aWF0aW9uIHRvIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MzMKCjIwMTMtMTEtMDYgMTU6MzE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCB0byB0aGUgLmdpdGlnbm9yZSBmaWxlCgoyMDEzLTExLTA2IDE1OjE4OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgc2ltcGx5IHN5bmNocm9uaXphdGlvbiB0ZXN0CgoyMDEzLTExLTA2IDE1OjE4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy5vcmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBuZXcgZWxlbWVudCBiYXNlZCBvbiBhZGRlciB0aGF0IGRvZXMgc3luY2hyb25pemVkIGF1ZGlvIG1peGluZwoKMjAxMy0xMS0wNSAxMToxOTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODY1YWEyMCB0byBkYmVkYWEwCgoyMDEzLTExLTA0IDE5OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFF1ZXJ5IHVwc3RyZWFtIGZpcnN0IHRvIGdldCBhIEVHTERpc3BsYXkKCjIwMTMtMTEtMDQgMTA6MDQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBMaW5rIHdpdGggZ21vZHVsZSBmb3IgZ19tb2R1bGVfb3BlbigpIGFuZCBvdGhlcnMKCjIwMTMtMTEtMDQgMTA6MDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB3aXRoIGdtb2R1bGUgZm9yIGdfbW9kdWxlX29wZW4oKSBhbmQgb3RoZXJzCgoyMDEzLTExLTAxIDIyOjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsd2F5cyBkZWZpbmUgQU1fQ09ORElUSU9OQUwgVVNFX0VHTEdMRVMKCjIwMTMtMTAtMDQgMTI6NDg6MTAgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkgIGN1cmw6IGN1cmxzZnRwc2luayAtIG5ldyBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudCBmb3IgU0ZUUAoJICBOb3RlOiBTRlRQID0gU1NIIEZpbGUgVHJhbnNmZXIgUHJvdG9jb2wKCSAgVGhlIHNpbmsgYWN0cyBhcyBhIGNsaWVudCBhbmQgdXBsb2FkcyBkYXRhIHRvIHRoZSBTRlRQIHNlcnZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc5NQoKMjAxMy0xMC0zMSAxMzozNjoyNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBjZGF1ZGlvOiBSZW1vdmUgY2RhdWRpbyBwbHVnaW4KCSAgVGhpcyBlbGVtZW50IGlzIGJlaW5nIHJlbW92ZWQgZHVlIHRvIGl0IGJlZW4KCSAgY29uc2lkZXJlZCBvYnNvbGV0ZSBhbmQgdGhlIGZ1bmN0aW9uYWlseSBpdAoJICBwcm92aWRlcyBubyBsb25nZXIgbmVlZGVkLgoJICBEZXRhaWxzIG9uIHRoZSBkZWNpc2lvbiBjYW4gYmUgZm91bmQgaGVyZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIyMwoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIzMgoKMjAxMy0xMS0wMSAxMDo0MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IGNvbXBpbGVyIHdhcm5pbmcgY2F1c2VkIGJ5IHNwZWNpZnlpbmcgY29uc3QgdHdpY2UKCSAgeWFkaWYuYzo0OToyNDogd2FybmluZzogZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gc3BlY2lmaWVyIFstV2R1cGxpY2F0ZS1kZWNsLXNwZWNpZmllcl0KCSAgREVDTEFSRV9BU01fQ09OU1QgKDE2LCBjb25zdCB4bW1fcmVnLCBwYl8xKSA9IHsKCSAgXgoJICB5YWRpZi5jOjMzOjUwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdERUNMQVJFX0FTTV9DT05TVCcKCSAgI2RlZmluZSBERUNMQVJFX0FTTV9DT05TVChuLHQsdikgICAgc3RhdGljIGNvbnN0IHQgX19hdHRyaWJ1dGVfXygodXNlZCkpIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChuKSkpIHYKCSAgXgoJICB5YWRpZi5jOjUyOjI0OiB3YXJuaW5nOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIgWy1XZHVwbGljYXRlLWRlY2wtc3BlY2lmaWVyXQoJICBERUNMQVJFX0FTTV9DT05TVCAoMTYsIGNvbnN0IHhtbV9yZWcsIHB3XzEpID0gewoJICBeCgkgIHlhZGlmLmM6MzM6NTA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0RFQ0xBUkVfQVNNX0NPTlNUJwoJICAjZGVmaW5lIERFQ0xBUkVfQVNNX0NPTlNUKG4sdCx2KSAgICBzdGF0aWMgY29uc3QgdCBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKG4pKSkKCjIwMTMtMTEtMDEgMTA6NDA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBidWlsZCB3aXRoIFhDb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0NTEKCjIwMTMtMTAtMjggMTU6MDQ6MTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUmVtb3ZlIHRoZSBleHBsaWNpdCBQQVIgY2FsY3VsYXRpb24gYmFzZWQgb24gVlVJIGhlYWRlcnMKCSAgVGhlIFBBUiBjYWxjdWxhdGlvbiBiYXNlZCBvbiBWVUkgaGVhZGVycyBpcyBhbHJlYWR5IGRvaW5nIGJ5IHRoZQoJICBoMjY0IGNvZGVjcGFyc2VyIGFuZCB3ZSBkb2VzJ3QgbmVlZCB0byBkdXBsaWNhdGUgdGhvc2UgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MTEwMDkKCjIwMTMtMTAtMTcgMTI6MDU6NDQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBGaXggYW5nbGUgcHJvcGVydHkgaGVscCB0ZXh0CgkgIFRoZSBoZWxwIHRleHQgb2YgdGhlIGFuZ2xlIHByb3BlcnR5IHdhcyBwcm9iYWJseSBjb3BpZWQgZnJvbSB0aGUgY2lyY2xlCgkgIHBsdWdpbiwgZml4IGl0IHRvIG1lbnRpb24gdGhlIHJvdGF0aW9uIGRldGVybWluZWQgYnkgdGhlIGFuZ2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMzkxCgoyMDEzLTEwLTMwIDE4OjQ4OjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgIGNkYXVkaW86IHBvcnQgdG8gMS5YCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMjMKCjIwMTMtMTAtMzAgMTg6MjU6NTAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCByYW5rIGZvciBtb3JlIHNvZnR3YXJlIGRlY29kZXJzCgkgIEluIEdhbGF4eSBTNCB0aGUgY29kZWNzIGxpc3QgY29udGFpbnMgc29tZSBPTVguU0VDLmZvby5zdy5kZWMKCSAgYXMgc29mdHdhcmUgZGVjb2RlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIxNAoKMjAxMy0xMC0xNyAxMjo1MzozMSArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRml4IHNldHRpbmcgYmxhY2sgYmFja2dyb3VuZCBmb3IgQVlVViBidWZmZXJzCgkgIFdoZW4gdGhlIGZyYW1lIGJ1ZmZlciBpcyBBWVVWIHdyaXRpbmcgYWxsIHplcm9zIGRvZXMgbm90IHNldCBpdCB0bwoJICBibGFjaywgaW4gWVVWIGNvbG9yc3BhY2UgMHgxMCBpcyB0aGUgYmxhY2sgbGV2ZWwgZm9yIGx1bWluYW5jZSBhbmQgMHg4MAoJICBpcyB0aGUgYmxhY2sgbGV2ZWwgZm9yIGNocm9taW5hbmNlLgoJICBGaXggc2V0dGluZyB0aGUgYmFja2dyb3VuZCB0byBibGFjayB3aGVuIHRoZSBvdXRfZnJhbWUgZm9ybWF0IGlzIEFZVVY7CgkgIGluIGFsbCB0aGUgb3RoZXIgc3VwcG9ydGVkIGZvcm1hdHMgemVyb2luZyB0aGUgZGF0YSB3aXRoIG1lbXNldCBpcyBzdGlsbAoJICB0aGUgcmlnaHQgdGhpbmcgdG8gZG8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAzOTIKCjIwMTMtMTAtMjMgMjM6MzQ6MjcgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IGZpeCBwbHVnaW4gbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTM1CgoyMDEzLTEwLTIzIDE3OjIyOjE2ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogdXNlIHByb3BlciByZWxlYXNlIGNhbGxiYWNrIHR5cGUgaW4gQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhQbGFuYXJCeXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTQwCgoyMDEzLTA5LTIxIDAwOjIwOjM2ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCB0cnVuY2F0ZWQgbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjU3CgoyMDEzLTEwLTMwIDE2OjIwOjU2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBpbiB0aGUgZWFnbCBiYWNrZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTkKCjIwMTMtMTAtMTggMTE6NTQ6MTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYWNjZXNzIHRvIGludmFsaWQgYnVmZmVycyBpbiB0aGUgZGVjb2RpbmcgbG9vcAoJICBGbHVzaGluZyB0aGUgZGVjb2RlciBpbnZhbGlkYXRlcyBhbGwgYnVmZmVycywgc28gaXQgc2hvdWxkIGJlIGRvbmUKCSAgYWZ0ZXIgcXVpdGluZyB0aGUgZGVjb2RpbmcgbG9vcC4gT3RoZXJ3aXNlIHdlIGNhbiBqdW1wIGludG8KCSAgImZhaWxlZF9yZWxlYXNlIiBhbmQgc3RvcCBldmVyeXRoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTYKCjIwMTMtMTAtMjggMDk6MzM6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVbmlmeSB2YWx1ZSBzZXR0aW5nCgkgIHRoZSBpbml0aWFsIHBhcl9uID0gcGFyX2QgPSAwOyB3YXMgYWx3YXlzIG92ZXJ3cml0dGVuIHNpbmNlIHRoZSBzd2l0Y2gvY2FzZQoJICBoYW5kbGVzIGFsbCB2YWx1ZXMKCSAgQW5kIHJlbW92ZSB0aGUgMCBjYXNlIChpdCdzIHRoZSBzYW1lIGhhbmRsaW5nIGFzIGRlZmF1bHQpCgoyMDEzLTEwLTI4IDA5OjMzOjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQXZvaWQgZW5kaW5nIHVwIHdpdGggdW5kZWZpbmVkIHZhbHVlcwoJICBJZiBjYXBzIGFyZW4ndCBmaXhlZCwgd2UnZCBlbmQgdXAgd2l0aCB1bmRlZmluZWQgdmFsdWVzIGZvciBmb3JtYXQKCSAgYW5kIGFsaWduLgoKMjAxMy0xMC0xMSAxMToyMzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEZW1vdGUgR1NUX0VSUk9SIHRvIEdTVF9XQVJOSU5HCgkgIGRpc2NvbnRpbnVpdGllcyBhcmUgbm90IGVycm9ycyBwZXItc2UgYW5kIHdlIGhhbmRsZSB0aGVtIGNvcnJlY3RseS4KCjIwMTMtMTAtMjUgMTE6MTE6MzAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50CgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhyZWUgbWVtb3J5IGxlYWtzIGluIGhsc2RlbXV4LCBvbmUgdGhhdCBvY2N1cnMKCSAgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24gYW5kIHR3byB0aGF0IG9jY3VyIGR1cmluZyBlcnJvciBjb25kaXRpb25zLgoJICBUaGUgZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCBmdW5jdGlvbiBjYWxscwoJICBnc3RfZnJhZ21lbnRfZ2V0X2J1ZmZlciB3aGljaCBpbmNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQKCSAgb24gdGhlIGJ1ZmZlciBidXQgZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCBuZXZlciBjYWxscyB1bnJlZiBvbgoJICB0aGUgYnVmZmVyLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgZWFjaCBkb3dubG9hZGVkCgkgIGZyYWdtZW50IG5ldmVyIGdldHMgdG8gemVybyBhbmQgc28gaXRzIG1lbW9yeSBpcyBuZXZlciByZWxlYXNlZC4KCSAgVGhpcyBwYXRjaCBhZGRzIGEgY2FsbCB0byBnc3RfYnVmZmVyX3VucmVmIGFmdGVyIHRoZSBmbGFncyBoYXZlIGJlZW4KCSAgdXBkYXRlZCBvbiB0aGUgYnVmZmVyLgoJICBUaGVyZSBpcyBhIGxlYWstb24tZXJyb3IgaW4gZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50IGlmIGl0IGZhaWxzCgkgIHRvIGRvd25sb2FkIHRoZSBrZXkgZmlsZS4gSWYgdGhlIGtleSBmYWlscyB0byBkb3dubG9hZCwgbnVsbCBpcwoJICByZXR1cm5lZCB3aXRob3V0IGRvaW5nIGFuIHVucmVmIG9uIHRoZSBlbmNyeXB0ZWQgZnJhZ21lbnQuIFRoZQoJICBzZW1hbnRpY3Mgb2YgZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50IGlzIHRoYXQgaXQgdGFrZXMgb3duZXJzaGlwCgkgIG9mIHRoZSBlbmNyeXB0ZWQgZnJhZ21lbnQgYW5kIHJlbGVhc2VzIGl0IGJlZm9yZSByZXR1cm5pbmcuCgkgIFRoZXJlIGlzIGEgbGVhay1vbi1lcnJvciBpbiBnc3RfaGxzX3NyY19idWZfdG9fdXRmOF9wbGF5bGlzdCBpbiB0aGUKCSAgdW5saWtlbHkgZXZlbnQgdGhhdCB0aGUgZ3N0X2J1ZmZlcl9tYXAgZmFpbHMuIEluIHRoZSAiaGFwcHkgcGF0aCIKCSAgb3BlcmF0aW9uIG9mIGdzdF9obHNfc3JjX2J1Zl90b191dGY4X3BsYXlsaXN0IHRoZSBidWZmZXIgZ2V0cyBhbiB1bnJlZgoJICBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMsIHRoZXJlZm9yZSB0aGUgZXJyb3IgY29uZGl0aW9uIG11c3QgZG8gdGhlCgkgIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4ODEKCjIwMTMtMTAtMjMgMTc6MTE6MjAgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSAgbXBlZ3RzbXV4OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NTkKCjIwMTMtMTAtMjMgMTY6NTg6NDkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NTkKCjIwMTMtMTAtMTggMTA6MTI6NTYgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBtYWtlIGdzdF9hbWNfYXZjX3Byb2ZpbGVfZnJvbV9zdHJpbmcgcmVjb2duaXplIGFsdCBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0MzMKCjIwMTMtMTAtMTIgMTY6MDQ6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IEZpeCBpbnZlcnRlZCBjb25kaXRpb24gaW4gc2V0Y2FwcwoKMjAxMy0xMC0xMSAxMDozMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTa2lwIHBhY2tldHMgd2l0aCBjb3JydXB0ZWQgbGVuZ3RoCgkgIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IHdlIGRvIGZvciBwYWNrZXRzIHdpdGggcGF5bG9hZAoKMjAxMy0xMC0xMSAxMDoyOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZhY3RvciBsYW5ndWFnZSB0YWcgZXh0cmFjdGlvbgoJICBzdWJ0aXRsaW5nIGRlc2NyaXB0b3IgbmVlZHMgdG8gYmUgdXNlZCB3aXRoIGEgZGlmZmVyZW50IG1ldGhvZCB0byBleHRyYWN0CgkgIGxhbmd1YWdlIGNvZGVzLgoKMjAxMy0xMC0xMSAxMDoyMToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIERWQiBTdWJ0aXRsaW5nIGRlc2NyaXB0b3IgKDB4NTkpCgkgIEVzc2VudGlhbGx5IHdvcmtzIGluIHRoZSBzYW1lIHZlaW4gYXMgdGhlIGlzbzYzOSBkZXNjcmlwdG9yIGNvZGUKCjIwMTMtMTAtMTAgMjI6NDY6NDggKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggYXNzZXJ0aW9uIGZhdWx0IGluIElTTyA2MzkgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA5IDE3OjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IEZpeCBzb21lIGJ5dGVzLXBlci1mcmFtZSB2cy4gYnl0ZXMtcGVyLXNhbXBsZSBtaXh1cHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY3Jhc2ggd2hlbiBoYW5kbGluZyBtdWx0aXBsZSBjaGFubmVscyBhbmQKCSAgbWlzY2FsY3VsYXRlIHRpbWVzdGFtcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MzQKCjIwMTMtMTAtMDggMTE6MTA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYWtlIHN1cmUgdG8gdHJ5IHdpbmRvdy1zeXN0ZW0tYWdub3N0aWMgRUdMIGlmIG5vdGhpbmcgd2FzIGF1dG8tZGV0ZWN0ZWQKCjIwMTMtMTAtMDggMDc6NTY6MTEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbG9nIHRpbWUgZm9ybWF0IGFzIG5hbWUgaW5zdGVhZCBvZiB0aGUgbnVtYmVyCgoyMDEzLTEwLTA2IDE3OjM3OjM4ICswMjAwICBHaWxsZXMgRGFydGlndWVsb25ndWUgPGV2YUBnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2w6IEFsbG93IGRpc2FibGluZyBnc3RyZWFtZXItZWdsIGxpYnJhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTUzMQoKMjAxMy0xMC0wNSAxNDo0NTozMyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBtcGVndHMtbGliIGZvciBJU08gNjM5IGxhbmd1YWdlIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAxNDo0NTozMiArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJldHVybiBkZXNjcmlwdG9yIGluIGdldF9kZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMTQ6NDU6MzEgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIElTTyA2MzkgcGFyc2luZyBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAwMDowMDo1MiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogaGFuZGxlIHN0aWNreSBkdmQgZXZlbnRzCgkgIHBhbGV0dGUtY2hhbmdlZCBldmVudHMgYXJlIG5vdyBzdGlja3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0NTQKCjIwMTMtMTAtMDMgMDc6NTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU21hbGwgaW1wcm92ZW1lbnQgb24gYWx3YXlzIHZhbGlkIGlmIGNvbmRpdGlvbgoJICBObyBuZWVkIHRvIGNoZWNrIGZvciAhY2FuY2VsbGVkIGFzIHRoZSBhYm92ZSBpZiBndWFyYW50ZWVzIGl0CgkgIHRvIGJlIHRydWUKCjIwMTMtMTAtMDMgMDc6NTY6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGNhbGwgX3N0b3AgaG9sZGluZyB0aGUgdXBkYXRlcyBsb2NrCgkgIEl0IHdpbGwgY2F1c2UgYSBkZWFkbG9jayBhbmQgdGhlIGNhbGVycyBmb3IgX2dldF9uZXh0X2ZyYWdtZW50CgkgIHdpbGwgYWxyZWFkeSBjYWxsIF9zdG9wIGlmIHJlcXVpcmVkIHdoZW4gX2dldF9uZXh0X2ZyYWdtZW50IGZhaWxzLgoJICBGaXhlcyAjNjkwMTQ4CgoyMDEzLTA2LTEyIDEwOjUwOjUxIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBJbXByb3ZlIGlmIGNhdXNlIHJlYWRhYmlsaXR5CgkgIEZpeGVkIHVwIHRoZSBlcnJvci1oYW5kbGluZyBjb2RlIHdoZW4gZG93bmxvYWRpbmcgZnJhZ21lbnRzLgoJICBNb2RpZmVkIHRoZSBlcnJvci1oYW5kbGluZyBjb2RlIHRvIHVzZSBwb3NpdGl2ZSBsb2dpYyB3aGVuCgkgIHRlc3RpbmcgZm9yIGNhbmNlbGxhdGlvbiBvZiB0aGUgZG93bmxvYWQgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0wOS0yNiAxNzowNToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhY3R1YWxseSByZXR1cm4gdHJ1ZSBvbiBsYXRlbmN5IHF1ZXJ5CgkgIERvIG5vdCBmb3JnZXQgdG8gc2V0IHRoZSByZXR1cm4gZm9yIGxhdGVuY3kgcXVlcnkKCjIwMTMtMDktMjYgMTY6MTM6MzMgLTAzMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogc3RvcCBmZXRjaGluZyBsaXZlIGZyYWdtZW50cyB0aGF0IGRvbid0IHlldCBleGlzdAoJICBUaGVyZSBpcyBhbiBpc3N1ZSBmb3IgbGl2ZSBzdHJlYW1zIHdoZXJlIGRvd25sb2FkX2xvb3Agd2lsbCBrZWVwCgkgIGRvd25sb2FkaW5nIHNlZ21lbnRzIHVudGlsIGl0IGdldHMgYSA0MDQgZXJyb3IgZm9yIGEgc2VnbWVudAoJICB0aGF0IGhhcyBub3QgeWV0IGJlZW4gcHVibGlzaGVkLiBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlIHRoaXMKCSAgcmVxdWVzdCBmb3IgYSBzZWdtZW50IHRoYXQgZG9lc24ndCBleGlzdCB3aWxsIHByb3BhZ2F0ZSBhbGwgdGhlCgkgIHdheSBiYWNrIHRvIHRoZSBvcmlnaW4gc2VydmVyKHMpLiBUaGlzIG1lYW5zIHRoYXQgZGFzaGRlbXV4IGNhdXNlcwoJICBleHRyYSBsb2FkIG9uIHRoZSBvcmlnaW4gc2VydmVyKHMpIGZvciBzZWdtZW50cyB0aGF0IGFyZW4ndCB5ZXQKCSAgYXZhaWxhYmxlLgoJICBUaGlzIHBhdGNoIHVzZXMgYXZhaWxhYmlsaXR5U3RhcnRUaW1lLCBwZXJpb2QKCSAgYW5kIHRoZSBob3N0J3MgaWRlYSBvZiBVVEMgdG8gZGVjaWRlIGlmIGEgZnJhZ21lbnQgaXMgYXZhaWxhYmxlIHRvCgkgIGJlIHJlcXVlc3RlZCBmcm9tIGFuIEhUVFAgc2VydmVyIGFuZCBmaWx0ZXIgb3V0IHJlcXVlc3RzIGZvciBmcmFnbWVudHMKCSAgdGhhdCBhcmUgbm90IHlldCBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMTAtMDMgMTM6MjY6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IGNvbnZlcnNpb24gdG8gQVZDIGlmIGEgU1BTL1BQUyBub3QgZnJvbSB0aGUgZmlyc3QgaW5kaXplcyBpcyB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5NzQKCjIwMTMtMTAtMDIgMTA6NTU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBQb3J0IE9wZW5KUEVHIHBsdWdpbiB0byB0aGUgMi4wIEFQSQoKMjAxMy0xMC0wMiAwNTo0OTo0MyArMDMwMCAgRG9taW5payBSw7Z0dHNjaGVzIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQWRkIHN1cHBvcnQgZm9yIEk0MjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI0MQoKMjAxMy0xMC0wMiAwNTo0OTozNCArMDMwMCAgRG9taW5payBSw7Z0dHNjaGVzIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogVXNlIGNvcnJlY3Qgc3RyaWRlcywgZXRjIGZyb20gdGhlIEdzdFZpZGVvRnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjIxMQoKMjAxMy0wOC0yMCAxNzowMzozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogc3RvcmUgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluIHppZy16YWcgb3JkZXIKCSAgUXVhbnRpemVyIG1hdHJpY2VzIGFyZSBlbmNvZGVkIGluIHppZ3phZyBzY2FuIG9yZGVyIGluIHRoZSBiaXRzdHJlYW0sCgkgIHNvIGFsd2F5cyBwYXJzZSBpdCBhcyBpdCBpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0xMC0wMiAxMTo0MDowNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgd2l0aCB0aGUgbmV3IGZpbGUgbGliZ3N0Y29kZWNwYXJzZXJzLmRlZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTEwLTAyIDExOjI0OjU4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMKCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnLXphZyBzY2FuCgkgIG9yZGVyIGludG8gcmFzdGVyIHNjYW4gb3JkZXIgYW5kIHZpY2UtdmVyc2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0wOS0zMCAxNTozMjo1NSAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJICBBZGQgZ3N0cmVhbWVyLW1wZWd0cyBwa2ctY29uZmlnIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxNDUKCjIwMTMtMDktMjkgMjM6NDM6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkgIG9wZW5jdjogZG9uJ3QgdW5yZWYgTlVMTCBjYXBzIGluIGZpbmFsaXplCgkgIEZpeGVzIGdzdC1pbnNwZWN0LTEuMCAtYSBhbmQgZ2VuZXJpYyBzdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMy0wOS0yNiAxMzozNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkgIGlvc2Fzc2V0c3JjOiBQb3J0IHRvIDEuMCBhbmQgZml4IHNvbWUgYnVncyBvbiB0aGUgd2F5CgoyMDEzLTA5LTI2IDEzOjIxOjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3Nhc3NldHNyYzogQWRkIG5ldyBlbGVtZW50IGZyb20gdGhlIEdTdHJlYW1lciBTREsgcHJvamVjdAoKMjAxMy0wOS0yMyAxNDozNjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgaU9TIHBhcnQgdG8gMS4wCgoyMDEzLTA5LTIzIDEzOjIwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGlPUyBjaGVjayBmb3IgZWdsZ2xlc3NpbmsKCjIwMTMtMDktMjMgMTE6MzU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmMgaXMgbm90IHBvcnRlZCB0byAxLjAgeWV0CgoyMDEzLTA5LTE4IDE3OjUxOjI2ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcm91bmQgd2hlbiBjYWxjdWxhdGlvbiBsZW5ndGggZnJvbSBkdXJhdGlvbgoJICBsaXZlYWRkZXIgc29tZXRpbWVzIGNhbGN1bGF0ZXMgdGhlIG9mZnNldHMgaW5jb3JyZWN0bHkgYmVmb3JlIGFkZGluZy4gVGhlCgkgIHJlc3VsdGluZyBlcnJvcnMgY2FuIGVhc2lseSBiZSBoZWFyZCB3aGVuIG1peGluZyBzaWxlbmNlIHdpdGggYSBzaW5lLgoJICBJJ20gbm90IHN1cmUgd2hhdCB0aGUgZXhhY3QgY29uZGl0aW9ucyBhcmUgdG8gdHJpZ2dlciB0aGlzLCBidXQgaXQgZGVmaW5pdGl2ZWx5CgkgIGhhcHBlbnMgd2hlbiB0aGUgYnVmZmVycyBvZiB0d28gc3RyZWFtcyBoYXZlIGEgZGlmZmVyZW50IGR1cmF0aW9uIGFuZCBidWZmZXIKCSAgbGVuZ3RoIGFuZCBkdXJhdGlvbiBkb24ndCBtYXRjaCBleGFjdGx5IGZvciBvbmUgc3RyZWFtIGJlY2F1c2Ugb2Ygcm91bmRpbmcKCSAgZXJyb3JzIChlLmcuICBkdXJhdGlvbj0wOjAwOjAwLjAyMTMzMzMzMykKCSAgSSBoYXZlIHRvIGFkbWl0LCBJIGdvdCBsb3N0IGluIHRoZSBtYXRoIHNvbWV3aGVyZSBidXQgaXQgc2VlbXMgdGhhdCBub3QKCSAgcm91bmRpbmcgaW4gZ3N0X2xpdmVfYWRkZXJfbGVuZ3RoX2Zyb21fZHVyYXRpb24oKSBjYXVzZXMgMSBzYW1wbGUgb3ZlcmxhcHMgaW4KCSAgY29uc2VjdXRpdmUgYnVmZmVycyBmcm9tIHRoZSBzYW1lIHN0cmVhbS4KCSAgV2hlbiB1c2luZyBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50X3JvdW5kKCkgaW5zdGVhZCBvZiBqdXN0IHRydW5jYXRpbmcgdGhlCgkgIHNpbmUgc291bmQgY29ycmVjdGx5IGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MzQ1CgoyMDEzLTA5LTI1IDE1OjIyOjEyICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBVc2UgZmxvYXRzIGZvciB0aGUgRVhUSU5GIGR1cmF0aW9uIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODUxCgoyMDEzLTA5LTI1IDE1OjE4OjM5ICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBXcml0ZSBFWFQtWC1WRVJTSU9OIHRhZyBpbiB0aGUgcGxheWxpc3QgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODUxCgoyMDEzLTA5LTE5IDE0OjUzOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICBjaGVjazogVXBkYXRlIHV2Y2gyNjRkZW11eCBmb3IgYmVoYXZpb3VyIGNoYW5nZQoJICBTaW5jZSAwMDZlN2EzNDI4YmQwOTdmYzZlNmM2NDgzMzJiZmY1ODNkZDQzNGY5IHdlIG5vIGxvbmdlciBlcnJvciBvdXQgb24KCSAgaW5jb21wbGV0ZSBhdXggc2VnbWVudC4KCjIwMTMtMDktMjcgMTQ6NDU6MDAgKzAwMDAgIFN0ZXZlIE1heW5hcmQgPHN0ZXZlQHNlY29uZHN0cnlrZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzOiBBZGQgU0NURS9FSVNTIHNlY3Rpb25zIGFuZCB0YWJsZSB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4Njg4CgoyMDEzLTA3LTI5IDA4OjEwOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFdhaXQgZm9yIHZhbGlkIFBDUi9vZmZzZXQgb2J2ZXJ2YXRpb25zCgkgIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgd2UgbWlnaHQgZ2V0IFBUUy9EVFMgYmVmb3JlIHRoZSBmaXJzdAoJICBQQ1IvT2Zmc2V0IG9ic2VydmF0aW9uLgoJICBJbiBvcmRlciB0byBlbmQgdXAgd2l0aCB2YWxpZCB0aW1lc3RhbXAgd2Ugd2FpdCB1bnRpbCBhdCBsZWFzdCBvbmUKCSAgc3RyZWFtIHdhcyBhYmxlIHRvIGdldCBhIHByb3BlciBydW5uaW5nLXRpbWUgZm9yIGFueSBQVFMvRFRTLgoJICBVbnRpbCB0aGVuLCB3ZSBxdWV1ZSB1cCB0aGUgcGVuZGluZyBidWZmZXJzIHRvIHB1c2ggb3V0LgoJICBPbmNlIHdlIHNlZSBhIGZpcnN0IHZhbGlkIHRpbWVzdGFtcCwgd2UgcmUtZXZhbHVhdGUgdGhlIGFtb3VudCBvZgoJICBydW5uaW5nLXRpbWUgZWxhcHNlZCAoYmFzZWQgb24gcmV0dXJuZWQgaW5pdGFsIHJ1bm5pbmctdGltZSBhbmQgYW1vdW50CgkgIG9mIGRhdGEvRFRTIHF1ZXVlZCB1cCkgZm9yIGFueSBnaXZlbiBzdHJlYW0uCgkgIFRha2luZyB0aGUgYmlnZ2VzdCBhbW91bnQgb2YgZWxhcHNlZCB0aW1lLCB3ZSBzZXQgdGhhdCBvbiB0aGUgcGFja2V0aXplcgoJICBhcyB0aGUgaW5pdGlhbCBvZmZzZXQgYW5kIHJlY2FsY3VsYXRlIGFsbCBwZW5kaW5nIGJ1ZmZlcnMgcnVubmluZy10aW1lCgkgIFBUUy9EVFMuCgkgIE5vdGU6IFRoZSBidWZmZXIgcXVldWVpbmcgc3lzdGVtIGNhbiBhbHNvIGJlIHVzZWQgbGF0ZXIgb24gZm9yIHRoZQoJICBkdmIgZmFzdCBzdGFydCBwcm9wb3NhbCAod2hlcmUgd2UgcXVldWUgdXAgYWxsIHN0cmVhbSBwYWNrZXRzIGJlZm9yZQoJICBzZWVpbmcgUEFUL1BNVCBhbmQgdGhlbiBwdXNoIHRoZW0gb25jZSB3ZSBrbm93IGlmIHRoZXkgYmVsb25nIHRvIHRoZQoJICBjaG9zZW4gcHJvZ3JhbSkuCgoyMDEzLTA3LTA3IDE1OjA0OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBkZXNjcmlwdG9yIGR1bXBpbmcKCjIwMTMtMDctMjYgMDc6NTQ6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBOZXcgUENSPD0+T2Zmc2V0IGVzdGltYXRpb24gY29kZQoJICBUaGlzIGFsbG93czoKCSAgKiBCZXR0ZXIgZHVyYXRpb24gZXN0aW1hdGlvbgoJICAqIE1vcmUgYWNjdXJhdGUgUENSIGxvY2F0aW9uCgkgICogT3ZlcmFsbCBtb3JlIGFjY3VyYXRlIHJ1bm5pbmctdGltZSBsb2NhdGlvbiBhbmQgY2FsY3VsYXRpb24KCSAgTG9jYXRpb24gYW5kIHZhbHVlcyBvZiBQQ1IgYXJlIHJlY29yZGVkIGluIGdyb3VwcyAoUENST2Zmc2V0R3JvdXApCgkgIHdpdGggbm90YWJsZSBQQ1IvT2Zmc2V0IG9ic2VydmF0aW9ucyBpbiB0aGVtICh3aGVuIGJpdHJhdGUgY2hhbmdlZAoJICBmb3IgZXhhbXBsZSkuIFBDUiBhbmQgb2Zmc2V0IGFyZSBzdG9yZWQgYXMgMzJiaXQgdmFsdWVzIHRvCgkgIHJlZHVjZSBtZW1vcnkgdXNhZ2UgKHRoZXkgYXJlIGRpZmZlcmVuY2VzIGFnYWluc3QgdGhhdCBncm91cCdzCgkgIGZpcnN0X3twY3J8b2Zmc2V0fS4KCSAgVGhvc2UgZ3JvdXBzIGVhY2ggY29udGFpbiBhIGdsb2JhbCBQQ1Igb2Zmc2V0IChwY3Jfb2Zmc2V0KSB3aGljaAoJICBpbmRpY2F0ZXMgaG93IGZhciBpbiB0aGUgc3RyZWFtIHRoYXQgZ3JvdXAgaXMuCgkgIFdoZW5ldmVyIG5ldyBQQ1IgdmFsdWVzIGFyZSBvYnNlcnZlZCwgd2Ugc3RvcmUgdGhlbSBpbiBhIHNsaWRpbmcKCSAgd2luZG93IGVzdGltYXRvciAoUENST2Zmc2V0R3JvdXBDdXJyZW50KS4KCSAgV2hlbiBhIHJlc2V0L3dyYXBvdmVyL2dhcCBpcyBkZXRlY3RlZCwgd2UgY2xvc2UgdGhlIGN1cnJlbnQgZ3JvdXAgd2l0aAoJICBjdXJyZW50IHZhbHVlcyBhbmQgc3RhcnQgYSBuZXcgb25lICh0aGUgcGNyX29mZnNldCBvZiB0aGF0IG5ldyBncm91cAoJICBpcyBhbHNvIGNhbGN1bGF0ZWQpLgoJICBXaGVuIGEgbm90YWJsZSBjaGFuZ2UgaW4gYml0cmF0ZSBpcyBvYnNlcnZlZCAoKy8tIDEwJSksIHdlIHJlY29yZAoJICBuZXcgdmFsdWVzIGluIHRoZSBjdXJyZW50IGdyb3VwLiBUaGlzIGlzIGEgY29tcHJvbWlzZSBiZXR3ZWVuCgkgIHN0b3JpbmcgYWxsIFBDUi9vZmZzZXQgb2JzZXJ2YXRpb25zIGFuZCBub25lLCB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lCgkgIHByb3ZpZGluZyBiZXR0ZXIgaW5mb3JtYXRpb24gZm9yIHJ1bm5pbmctdGltZTw9Pm9mZnNldCBjYWxjdWxhdGlvbgoJICBpbiBWQlIgc3RyZWFtcy4KCSAgV2hlbmV2ZXIgYSBuZXcgbm9uLWNvbnRpZ3VvdXMgZ3JvdXAgaXMgc3RhcnQgKGR1ZSB0byBzZWVraW5nIGZvciBleGFtcGxlKQoJICB3ZSByZS1ldmFsdWF0ZSB0aGUgcGNyX29mZnNldCBvZiBlYWNoIGdyb3Vwcy4gVGhpcyBhbGxvd3MgZGV0ZWN0aW5nIGFzCgkgIHF1aWNrbHkgYXMgcG9zc2libGUgUENSIHdyYXBvdmVyL3Jlc2V0LgoJICBXaGVuIHdhbnRpbmcgdG8gZmluZCB0aGUgb2Zmc2V0IG9mIGEgY2VydGFpbiBydW5uaW5nLXRpbWUsIG9uZSBjYW4KCSAgaXRlcmF0ZSB0aGUgZ3JvdXBzIGJ5IGxvb2tpbmcgYXQgdGhlIHBjcl9vZmZzZXQgKHdoaWNoIGluIGVzc2VuY2UgKmlzKgoJICB0aGUgcnVubmluZy10aW1lIG9mIHRoYXQgZ3JvdXAgaW4gdGhlIG92ZXJhbGwgc3RyZWFtKS4KCSAgT25jZSBhIGdyb3VwIChvciBuZWlnaGJvdXJpbmcgZ3JvdXBzIGlmIHRoZSBydW5uaW5nLXRpbWUgaXMgYmV0d2VlbiB0d28KCSAgZ3JvdXBzKSBpcyBmb3VuZCwgb25jZSBjYW4gdXNlIHRoZSByZWNvcmRlZCB2YWx1ZXMgdG8gZmluZCB0aGUgbW9zdAoJICBhY2N1cmF0ZSBvZmZzZXQuCgkgIFJpZ2h0IG5vdyB0aGlzIGNvZGUgaXMgb25seSB1c2VkIGluIHB1bGwtbW9kZSAsIGJ1dCBjb3VsZCBhbHNvCgkgIGJlIGFjdGl2YXRlZCBsYXRlciBvbiBmb3IgYW55IHNlZWthYmxlIHN0cmVhbSwgbGlrZSBsaXZlIHRpbWVzaGlmdAoJICB3aXRoIHF1ZXVlMi4KCSAgRnV0dXJlIGltcHJvdmVtZW50czoKCSAgKiBzb21lIGhldXJpc3RpY3MgdG8gImNvbXByZXNzIiB0aGUgc3RvcmVkIHZhbHVlcyBpbiBncm91cHMgc28gYXMgdG8ga2VlcAoJICB0aGUgbWVtb3J5IHVzYWdlIGRvd24gd2hpbGUgc3RpbGwga2VlcGluZyBhIGRlY2VudCBhbW91bnQgb2Ygbm90YWJsZQoJICBwb2ludHMuCgkgICogQWZ0ZXIgYSBzZWVrIGNvbXBhcmUgZXhwZWN0ZWQgYW5kIG9idGFpbmVkIFBDUi9PZmZzZXQgYW5kIGlmIHRoZQoJICBkaWZmZXJlbmNlIGlzIHRvbyBiaWcsIHJlLWNhbGN1bGF0ZSBwb3NpdGlvbiB3aXRoIG5ld2x5IG9ic2VydmVkCgkgIHZhbHVlcyBhbmQgc2VlayB0byB0aGF0IG1vcmUgYWNjdXJhdGUgcG9zaXRpb24uCgkgIE5vdGUgdGhhdCB0aGlzIGNvZGUgd2lsbCAqbm90KiBwcm92aWRlIGtleWZyYW1lLWFjY3VyYXRlIHNlZWtpbmcsIGJ1dAoJICB3aWxsIGFsbG93IGEgbXVjaCBtb3JlIGFjY3VyYXRlIFBDUi9ydW5uaW5nLXRpbWUvb2Zmc2V0IGxvY2F0aW9uIG9uCgkgIGFueSByYW5kb20gc3RyZWFtLgoJICBGb3IgcGFzdCAob2JzZXJ2ZWQpIHZhbHVlcyBpdCB3aWxsIGJlIGFzIGFjY3VyYXRlIGFzIGNhbiBiZS4KCSAgRm9yIGZ1dHVyZSB2YWx1ZXMgaXQgd2lsbCBiZSBiZXR0ZXIgdGhhbiB0aGUgY3VycmVudCBzaXR1YXRpb24uCgkgIEZpbmFsbHkgdGhlIG1vcmUgeW91IHNlZWssIHRoZSBtb3JlIGFjY3VyYXRlIHlvdXIgcG9zaXRpb25pbmcgd2lsbCBiZS4KCjIwMTMtMDctMDUgMTc6MTE6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogTm8gbG9uZ2VyIHVzZSBhIHByaXZhdGUgc3RydWN0CgkgIFRoZXNlIGFyZSBub3QgcHVibGljIGhlYWRlcnMsIGl0IGp1c3QgYWRkcyBjb21wbGV4aXR5IGZvciBubyByZWFzb24KCjIwMTMtMDktMjYgMTY6NTE6MjUgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBkZXJlZmVyZW5jaW5nIG9mIE5VTEwgcG9pbnRlcgoJICBPbiBzb21lIGxpdmUgSExTIHN0cmVhbXMsIGdzdF9obHNfZGVtdXhfc3dpdGNoX3BsYXlsaXN0IGNhdXNlcwoJICBhc3NlcnRpb24gZmFpbHVyZXMgYmVjYXVzZSBpdCB0cmllZCB0byBkZXJlZmVyZW5jZSBhIE5VTEwgZnJhZ21lbnQuCgkgIFRoaXMgaXMgYmVjYXVzZSBnX3F1ZXVlX3BlZWtfdGFpbCBzb21ldGltZXMgd2FzIHJldHVybmluZyBOVUxMIGFuZAoJICB0aGlzIGNhc2Ugd2FzIG5vdCBiZWluZyBjaGVja2VkLgoJICBUaGlzIHBhdGNoIGRvZXMgdHdvIHRoaW5nczoKCSAgKiBtb3ZlIHRoZSBnX3F1ZXVlX3BlZWtfdGFpbCBpbnNpZGUgdGhlIHNlbWFwaG9yZSBwcm90ZWN0aW9uCgkgICogY2hlY2sgaWYgcV9xdWV1ZV9wZWVrX3RhaWwgcmV0dXJucyBOVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NDkKCjIwMTMtMDktMjcgMTY6MTA6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IFF1ZXVlIGJ1ZmZlcnMgdW50aWwgd2UgaGF2ZSBlbm91Z2ggdG8ga25vdyB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MjIyCgoyMDEzLTA5LTE2IDExOjQ2OjI3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IHJld29yayBUUyBwYWNrZXQgc3luYyBhbmQgZXh0cmFjdGlvbgoJICBUaGUgcHJldmlvdXMgY29kZSBjb3VsZCBlbnRlciBhbiBpbmZpbml0ZSBsb29wIGJlY2F1c2UgdGhlIGFkYXB0ZXIgc3RhdGUKCSAgY291bGQgZ2V0IG91dCBvZiBzeW5jIHdpdGggaXRzIG1hcHBlZCBkYXRhIHN0YXRlIGFmdGVyIHN5bmMgd2FzIGxvc3QuCgkgIFRoZSBjb2RlIHdhcyBwcmV0dHkgY29uZnVzaW5nIHNvIGl0J3MgYmVlbiByZXdyaXR0ZW4gdG8gYmUgY2xlYXJlci4KCSAgVGhlIGVhc2llc3Qgd2F5IHRvIHJlcHJvZHVjZSB0aGUgaW5maW5pdGUgbG9vcCBpcyB0byB1c2UgdGhlIGJyZWFrbXlkYXRhCgkgIGVsZW1lbnQgYmVmb3JlIHRzZGVtdXggdG8gdHJpZ2dlciBhIHJlc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2MQoKMjAxMy0wOS0xNiAxMTo0Mjo0OCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggYnVmZmVyIG92ZXJmbG93CgkgIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGEgY29ycnVwdCBUUyBmaWxlLCBmb3VuZCB3aXRoIGJyZWFrbXlkYXRhIGVsZW1lbnQKCSAgcGx1Z2dlZCBiZWZvcmUgdHNkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2MQoKMjAxMy0wOS0yNSAyMzo1Nzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgQVNfU0NSVUJfSU5DTFVERQoJICBTaG91bGRuJ3QgYmUgbmVlZGVkIGFueSBtb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NjU4CgoyMDEzLTA5LTI1IDIwOjI1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBGaXggY29tcGlsYXRpb24gb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDEzLTA5LTI0IDE4OjMxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZiMDNiYTcgdG8gODY1YWEyMAoKMjAxMy0wOS0yNCAxNTowNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFjdHVhbGx5IHVzZSAxLjMuMC4xIGFzIHZlcnNpb24gdG8gbWFrZSBjb25maWd1cmUgaGFwcHkKCjIwMTMtMDktMjQgMTU6MDA6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4yLjAgPT09CgoyMDEzLTA5LTI0IDE0OjM3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4yLjAKCjIwMTMtMDktMjQgMTQ6Mzc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTIzIDE2OjE4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSAgc2RwZGVtdXg6IENoYW5nZSByYW5rIHRvIE5PTkUgdW50aWwgaXQgY2FuIGJlIGF1dG9wbHVnZ2VkIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OTUKCjIwMTMtMDktMjAgMTY6MTc6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjEzNjYxIHRvIDZiMDNiYTcKCjIwMTMtMDktMTkgMjA6MTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvZnhiYWQuYzoKCSAgYXVkaW9meGJhZDogQ2hhbmdlIHBsdWdpbiBuYW1lIHRvIGF1ZGlvZnhiYWQgZnJvbSBhdWRpb2NoYW5uZWxtaXgKCjIwMTMtMDktMTkgMjA6MDk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgZGFzaC9zbW9vdGhzdHJlYW1pbmc6IFJlbW92ZSB1bnVzZWQgZGVidWcgY2F0ZWdvcnkgd2l0aCB0aGUgc2FtZSBuYW1lCgkgIEl0IGNhdXNlZCBzdGF0aWMgbGlua2luZyB0byBmYWlsLgoKMjAxMy0wOS0xOSAxODo0MzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzRhNjg1NyB0byBiNjEzNjYxCgoyMDEzLTA5LTE5IDE3OjM2OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDc0YTY4NTcKCjIwMTMtMDktMTkgMTY6NDQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogRml4IHN0YXRpYyBsaW5raW5nIGZvciBBbmRyb2lkIGJ5IHBhc3NpbmcgLS10YWc9Q0MgdG8gbGlidG9vbAoKMjAxMy0wOS0xOSAxMTozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuOTAgPT09CgoyMDEzLTA5LTE5IDEwOjUwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjkwCgoyMDEzLTA5LTE5IDEwOjQ2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0xOSAwOTo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vY3MucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDktMTggMjI6MzY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBmb3IgbmV3IEdzdENvbnRleHQgQVBJCgoyMDEzLTA5LTE4IDIyOjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFVwZGF0ZSBmb3IgbmV3IEdzdENvbnRleHQgQVBJCgoyMDEzLTA5LTE3IDE3OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgR3N0VXJpRG93bmxvYWRlciBjYW5jZWxsYXRpb24gd2hlbiByZXN0YXJ0aW5nIHRvIHBsYXkKCjIwMTMtMDktMTUgMTc6MDk6MTYgKzA1MzAgIFN1ZGlwIEphaW4gPHN1ZGlwLmphaW5Ac3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ29ycmVjdCBjb25kaXRpb24gY2hlY2sgZm9yIGN1cnJlbnQgbmV4dCBpbmRpY2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODEwNgoKMjAxMy0wOS0xMiAxMjowMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IGZpeCBldmVudCBvcmRlcgoJICBEZWxheSBmb3J3YXJkaW5nIHRoZSBzZWdtZW50IGV2ZW50IHVudGlsIHdlIHB1c2hlZCBjYXBzLgoJICBTZW5kIFNUUkVBTV9TVEFSVCBpbiBwdWxsIG1vZGUuCgoyMDEzLTA5LTEyIDEzOjIxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBEb24ndCBwdXQgdGhlIGxldmVsIHJlc3RyaWN0aW9ucyBvbiB0aGUgc2lua3BhZCBjYXBzCgkgIFRoZXkgdGVuZCB0byBiZSBpbmFjY3VyYXRlIGFuZCBoYXZpbmcgdGhlbSBpbiB0aGUgc2lua3BhZCBjYXBzCgkgIHByZXZlbnRzIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgd291bGQgb3RoZXJ3aXNlIHBsYXkgZmluZS4KCjIwMTMtMDktMTAgMTg6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IHJlc3BlY3Qgc2VxbnVtcyBvbiBzZWVrcwoJICBQYXNzIHRoZSBzZXFudW0gdG8gb3RoZXIgZXZlbnRzIHRoYXQgYXJlIGNvbnNlcXVlbmNlIG9mIHRoZQoJICBvcmlnaW5hbCBzZWVrIGV2ZW50CgoyMDEzLTA5LTEwIDExOjM3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogV2UgYWxzbyB3b3JrIHdpdGggT3BlbkNWIDIuNC42LjEKCjIwMTMtMDktMTAgMDg6NDg6MzIgKzAwMDAgIElhaW4gTGFuZSA8aWFpbi5sYW5lQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBTcGVjaWZ5IGRpcmVjdG9yeSB3aGVuIGluY2x1ZGluZyBzdGRhZnguaAoJICBtb2RwbHVnIHN0b3BwZWQgZXhwb3NpbmcgdGhlaXIgZGlyZWN0b3J5IGluIHRoZWlyIHBjZmlsZSwgbWVhaW5pbmcKCSAgY29uc3VtZXJzIGFjY2Vzc2luZyB0aGUgaGVhZGVycyBkaXJlY3RseSBmYWlsIHRvIGJ1aWxkLgoJICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbW9kcGx1Zy14bW1zL2dpdC9jaS83NWU5YjE2Njk4MmVkNjM3YjU5ZWY3Y2JjMTgzNWEwOWY3Njg5MjNlLwoKMjAxMy0wOS0wOSAxMzoxNDoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCBzbWFsbCBtZW0gbGVhawoKMjAxMy0wOS0wNyAyMzowOTozMSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgdXBkYXRlIHNyYyBjYXBzIGlmIG9ubHkgY29kZWNfZGF0YSBkaWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzMzMKCjIwMTMtMDktMDUgMTk6MjM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBMZXQgdGhlIGNhcHMgYmUgTlVMTCBpZiB0aGVyZSBpcyBubyBwZWVyCgoyMDEzLTA5LTA1IDE5OjIyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogTm8gbmVlZCB0byBkcm9wIHNlZ21lbnQgZXZlbnRzCgkgIEluIDEuMCwgc2VnbWVudCBldmVudHMgYXJlIHN0aWNreSBhbmQgbm90IGFkZGl0aXZlLCBubyBuZWVkIHRvIHByZXZlbnQKCSAgdGhlaXIgYWNjdW11bGF0aW9uLgoKMjAxMy0wOS0wNSAxOToxMDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBzZW5kIGNhcHMgZXZlbnQgYmVmb3JlIHNlZ21lbnQKCjIwMTMtMDktMDQgMTA6NTg6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGNoYW5nZSBwb29sLT5zaW5rLT5sYXN0X2J1ZmZlciB0byBwb29sLT5sYXN0X2J1ZmZlcgoJICBTbyB0aGF0IEdzdEVHTEltYWdlQnVmZmVyUG9vbCBkb2VzIG5vdCBkZXBlbmQgb24gR3N0RWdsR2xlc1NpbmsKCSAgVGhlIGdvYWwgaXMgc3RpbGwgdG8gbW92ZSBpdCBpbnRvIGdzdGVnbCBsaWIKCjIwMTMtMDktMDQgMTA6NTY6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGJ1ZmZlciBwb29sIGRvZXMgbm90IG5lZWQgdG8gbWFpbnRhaW4gYSByZWYgb24gdGhlIGRpc3BsYXkKCSAgQmVjYXVzZSBpdCBkb2VzIG5vdCB1c2UgaXQgYW5kIGFsc28gaXQgbWF5IG5vdCBrbm93IGl0IHdoZW4KCSAgd2UgY3JlYXRlIHRoZSBwb29sCgoyMDEzLTA5LTA0IDEwOjUyOjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBhZGQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sU2VuZEJsb2NraW5nQWxsb2NhdGUgY2FsbGJhY2sKCSAgVGhlIGdvYWwgaGVyZSBpcyB0byBwcmVwYXJlIEdzdEVHTEJ1ZmZlclBvb2wgdG8gYmUgbW92ZWQgaW50bwoJICBnc3RlZ2wgbGliLiBTbyBpdCBoYXMgdG8gbm90IGRlcGVuZCBvbiAnZ3N0X2VnbGdsZXNzaW5rX3F1ZXVlX29iamVjdCcKCjIwMTMtMDktMDQgMTA6NDg6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogcHJlcGFyZSBnc3RfZWdsX2FkYXB0YXRpb25fYWxsb2NhdGVfZWdsaW1hZ2UgdG8gYmUgbW92ZWQKCSAgaW50byBnc3RlZ2wgbGliIG9yIHNwbGl0ZWQgYmV0d2VlbiBnc3RlZ2wgbGliIGFuZCBnc3RnbCBsaWIKCSAgYmVjYXVzZSBpdCBib3RoIGRlcGVuZHMgb24gZWdsIGFuZCBnbAoJICBTbyBpdCBoYXMgdG8gbm90IGRlcGVuZCBvbiBHc3RFZ2xBZGFwdGF0aW9uQ29udGV4dAoKMjAxMy0wOC0zMCAxMzo1NDo0MCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIHN1cHBvcnQgZm9yIHN0cmVhbS1mb3JtYXQ9YXZjMwoJICBXaGVuIG91dHB1dHRpbmcgaW4gQVZDMyBzdHJlYW0gZm9ybWF0LCB0aGUgY29kZWNfZGF0YSBzaG91bGQgbm90CgkgIGNvbnRhaW4gYW55IFNQUyBvciBQUFMsIGJlY2F1c2UgdGhleSBhcmUgZW1iZWRkZWQgaW5zaWRlIHRoZSBzdHJlYW0uCgkgIEluIGNhc2Ugb2YgYXZjLT5ieXRlc3RyZWFtIGgyNjRwYXJzZSB3aWxsIHB1c2ggdGhlIFNQUyBhbmQgUFBTIGZyb20KCSAgY29kZWNfZGF0YSBkb3duc3RyZWFtIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtLCBhdCBpbnRlcnZhbHMKCSAgY29udHJvbGxlZCBieSAiY29uZmlnLWludGVydmFsIiBhbmQgd2hlbiB0aGVyZSBpcyBhIGNvZGVjX2RhdGEgY2hhbmdlLgoJICBJbiB0aGUgY2FzZSBvZiBhdmMzLT5ieXRzdHJlYW0gaDI2NHBhcnNlIGRldGVjdHMgdGhhdCB0aGVyZSBpcwoJICBhbHJlYWR5IFNQUy9QUFMgaW4gdGhlIHN0cmVhbSBhbmQgc2V0cyBoMjY0cGFyc2UtPnB1c2hfY29kZWMgdG8gRkFMU0UuCgkgIFRoZXJlZm9yZSBhdmMzLT5ieXRzdHJlYW0gd2FzIGFscmVhZHkgc3VwcG9ydGVkLCBleGNlcHQgZm9yIHRoZSBzdHJlYW0KCSAgdHlwZS4KCSAgSW4gdGhlIGNhc2Ugb2YgYnlzdHJlYW0tPmF2YyBoMjY0cGFyc2Ugd2lsbCBnZW5lcmF0ZSBjb2RlY19kYXRhIGNhcHMKCSAgZnJvbSB0aGUgcGFyc2VkIFNQUy9QUFMgaW4gdGhlIHN0cmVhbS4gSG93ZXZlciBpdCBkb2VzIG5vdCByZW1vdmUgdGhlc2UKCSAgU1BTL1BQUyBmcm9tIHRoZSBzdHJlYW0uIGJ5dGVzdHJlYW0tPmF2YzMgaXMgdGhlIHNhbWUgYXMgYnl0ZXN0cmVhbS0+YXZjCgkgIGV4Y2VwdCB0aGF0IHRoZSBjb2RlY19kYXRhIG11c3Qgbm90IGhhdmUgYW55IFNQUy9QUFMgaW4gaXQuCgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHxzdHJlYW0tZm9ybWF0IHwgU1BTIGluLWJhbmQgfCBTUFMgaW4gY29kZWNfZGF0YSB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHwgYXZjICAgICAgICAgIHwgbWF5YmUgICAgICAgfCBhbHdheXMgICAgICAgICAgICB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHwgYXZjMyAgICAgICAgIHwgYWx3YXlzICAgICAgfCBuZXZlciAgICAgICAgICAgICB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIEFtZW5kbWVudCAyIG9mIElTTy9JRUMgMTQ0OTYtMTUgKEFWQyBmaWxlIGZvcm1hdCkgaXMgZGVmaW5pbmcgYSBuZXcKCSAgc3RydWN0dXJlIGZvciBmcmFnbWVudGVkIE1QNCBjYWxsZWQgImF2YzMiLiBUaGUgcHJpbmNpcGFsIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBBVkMxIGFuZCBBVkMzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZWMgaW5pdGlhbGlzYXRpb24KCSAgZGF0YSAoZS5nLiBTUFMsIFBQUykuIEluIEFWQzEgdGhpcyBkYXRhIGlzIHBsYWNlZCBpbiB0aGUgaW5pdGlhbCBNT09WIGJveAoJICAobW9vdi50cmFrLm1kaWEubWluZi5zdGJsLnN0c2QuYXZjMSkgYnV0IGluIEFWQzMgdGhpcyBkYXRhIGdvZXMgaW4gdGhlCgkgIGZpcnN0IHNhbXBsZSBvZiBldmVyeSBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAwNAoKMjAxMy0wOS0wMyAxNzozNjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogRml4IGNvbXBpbGF0aW9uIHdpdGggc291bmR0b3VjaCAxLjQuMAoJICBJdCB1c2VkIEZMT0FUX1NBTVBMRVMvSU5URUdFUl9TQU1QTEVTICNkZWZpbmVzIGluc3RlYWQgb2Ygb25lcyBwcm9wZXJseQoJICBwcmVmaXhlZCB3aXRoIGEgbmFtZXNwYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzkwCgoyMDEzLTA5LTAzIDExOjE0OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyB3aW4zMiBjb25maWcuaC1uZXcKCjIwMTMtMDktMDMgMTE6MDU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFBvcnQgdGlsZWQgTlYxMiBjb252ZXJzaW9uIHRvIDEuMAoKMjAxMy0wOS0wMyAxMDo1Njo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogQWRkIEZJWE1FIGNvbW1lbnQKCjIwMTMtMDgtMTIgMTA6MTY6MTYgKzAwMDAgIEpvcmdlIEx1aXMgWmFwYXRhIDxqemFwYXRhQGZsdWVuZG8uY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgYSBuZXcgcXVhbGNvbW0gY29sb3JzcGFjZQoKMjAxMy0wOS0wMiAyMzoyODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBtaW5vciBjbGVhbi11cAoKMjAxMy0wOS0wMiAyMjo1NDozMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VuZCBldmVudHMgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkCgkgIFNvbWVvbmUgbWlnaHQgYmUgd2FpdGluZyBmb3IgY2VydGFpbiBldmVudHMgd2l0aCBhIHByb2JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzE3CgoyMDEzLTA4LTI4IDIwOjA3OjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZGlzYWJsZSBidWZmZXIgcG9vbHMKCSAgT24gYSBkZXZpY2UgbG9zdCwgYWxsIHRoZSBzdXJmYWNlcyBhbGxvY2F0ZWQgaW4gdGhlCgkgIGRldmljZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZXNldHRpbmcgdGhlIGRldmljZSwKCSAgd2hpY2ggY2FuJ3QgYmUgZG9uZSBmb3IgdGhlIGFsbG9jYXRlZCBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NTY2CgoyMDEzLTA5LTAyIDEzOjQwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQ2hhbmdlIGhvdyB3aW4zMi9jb21tb24vY29uZmlnLmggaXMgdXBkYXRlZAoJICBHZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmgtbmV3IGRpcmVjdGx5IGZyb20gY29uZmlnLmguaW4sCgkgIHVzaW5nIHNoZWxsIHZhcmlhYmxlcyBpbiBjb25maWd1cmUgYW5kIHNvbWUgaGFyZC1jb2RlZCBpbmZvcm1hdGlvbi4KCSAgQ2hhbmdlIHRvcC1sZXZlbCBtYWtlZmlsZSBzbyB0aGF0ICdtYWtlIHdpbjMyLXVwZGF0ZScgY29waWVzIHRoZQoJICBnZW5lcmF0ZWQgZmlsZSB0byB3aW4zMi9jb21tb24vY29uZmlnLmgsIHdoaWNoIHdlIGtlZXAgaW4gc291cmNlCgkgIGNvbnRyb2wuICBJdCdzIGtlcHQgaW4gc291cmNlIGNvbnRyb2wgc28gdGhhdCB0aGUgZ2l0IHRyZWUgaXMKCSAgYnVpbGRhYmxlIGZyb20gVlMuCgkgIFRoaXMgY2hhbmdlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSByZWNlbnRseSBhcHBsaWVkIHRvIEdTdHJlYW1lcgoJICBhbmQgZ3N0LXBsdWdpbnMtZ29vZC4gIFRoZSBwcmV2aW91cyBjb25maWcuaCBmaWxlIGluIC1iYWQgd2FzIGluCgkgIHByZXR0eSBiYWQgc2hhcGUsIHNvIHVubGlrZSBjb3JlIGFuZCBiYXNlLCBJIGRpZG4ndCBhdHRlbXB0IHRvCgkgIGxlYXZlIGl0IHN0cmljdGx5IHRoZSBzYW1lLCBidXQgZml4ZWQgaXQgYXMgbmVjZXNzYXJ5LiAgTmVlZHMKCSAgdGVzdGluZyBJIGNhbm5vdCBkbyBteXNlbGYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkwMTUKCjIwMTMtMDktMDIgMTI6MTk6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBhaWZmcGFyc2UgdGVzdCBiaW5hcnkKCjIwMTMtMDktMDIgMTA6Mjk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBzb3VuZHRvdWNoOiBBbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IGZsb2F0IGFuZCBpbnRlZ2VyIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI3MAoKMjAxMy0wOC0zMCAyMTo1MjozNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgaW4gT1MgWCBTbm93IExlb3BhcmQKCSAgZ3N0ZGFzaGRlbXV4LmM6MTc1Mzogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnCgkgIGdzdGRhc2hkZW11eC5jOjIyMjQ6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2d1aW50NjQnCgkgIGdzdGRhc2hkZW11eC5jOjIyMjQ6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEwIGhhcyB0eXBlICdndWludDY0JwoKMjAxMy0wOC0zMCAyMTozNjoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEZpeCB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIGluIE9TIFggU25vdyBMZW9wYXJkCgkgIGdzdG1wZHBhcnNlci5oOjUzMDogd2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUKCSAgZ3N0bXBkcGFyc2VyLmM6NDE3Nzogd2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUKCjIwMTMtMDgtMzAgMDk6MDU6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2UgY29kZWNwYXJzZXJzIG1hY3JvcwoJICBub3RlOiBJL1NJIGFsc28gY292ZXJzIHRoZSBTX0kvU19TSSB2YXJpYW50cwoKMjAxMy0wOC0yOSAxMTowMjozNyAtMDcwMCAgS2VycmljayBTdGFsZXkgPGtlcnJpY2tAa2Vycmlja3N0YWxleS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSAgZXhhbXBsZXM6IHBvcnQgZGlyZWN0ZmIgZXhhbXBsZSB0byAxLjAKCSAgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXBzIHdhcyByZW1vdmVkIGZyb20gMS4wOwoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4gU2VlCgkgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0cmVhbWVyL3RyZWUvZG9jcy9yYW5kb20KCSAgL3BvcnRpbmctdG8tMS4wLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDc0CgoyMDEzLTA4LTI5IDE1OjU1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlIGNvbmZpZy5oCgoyMDEzLTA4LTI5IDE1OjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IG1ha2UgImxheWVyLW1vZGUiIHByb3BlcnR5IGFuIGVudW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wOC0yOSAxNDo0ODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wNi0yNiAxMTowNzoxNCArMDkwMCAgS2F6dW5vcmkgS29iYXlhc2hpIDxra29iYXlhc0BpZ2VsLmNvLmpwPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgZGZidmlkZW9zaW5rOiBwb3J0IHRvIDEuMAoJICBpbmNsdWRpbmcgdGhlIGZvbGxvd2luZyBzdXBwb3J0cyBhbmQgZml4ZXM6CgkgICogQ3JlYXRlIERpcmVjdEZCIHN1cmZhY2VzIGZyb20gR3N0QnVmZmVyUG9vbAoJICAqIEFkZCBOVjEyIHBpeGVsIGZvcm1hdCBzdXBwb3J0CgkgICogRG9uJ3QgdXNlIHRoZSBjdXJzb3IgaW4gdGhlIGV4Y2x1c2l2ZSBtb2RlCgkgIC0gRW5hYmxlQ3Vzb3IoKSBjYW4gYmUgb25seSB1c2VkIHdoZW4gdGhlIGFkbWluaXN0cmF0aXZlIG1vZGUgaXMgc2V0CgkgIGluIERpcmVjdEZCIDEuNi4wIGFuZCBsYXRlci4KCSAgKiBTdXBwb3J0IG11bHRpcGxlIHBsYW5lIHJlbmRlcmluZyBmb3IgcGxhbmFyIGNvbG9yIGZvcm1hdHMKCSAgLSBUaGlzIGFjY29tbW9kYXRlcyB0aGUgY2hyb21hIHBsYW5lIG9mZnNldHMgb2YgdGhlIGZyYW1lYnVmZmVyCgkgIGluIHBsYW5hciBmb3JtYXRzLgoJICAqIEludm9rZSBTZXRDb25maWd1cmF0aW9uIHJlZ2FyZGxlc3Mgb2YgdmlkZW8gbW9kZSBzZXR0aW5nIGluIHNldGNhcHMoKQoJICAtIFNldENvbmZpZ3VyYXRpb24oKSBtZXRob2Qgc2hvdWxkIGJlIGludm9rZWQgcmVnYXJkbGVzcyBvZgoJICB0aGUgcmVzdWx0IG9mIGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUoKSwgc2luY2UgdGhlIHR3byBhcmUKCSAgdW5yZWxhdGVkLgoJICAqIERpc2FibGUgRGlyZWN0RkIgc2lnbmFsIGhhbmRsZXIKCSAgLSAiLS1kZmI6bm8tc2lnaGFuZGxlciIgb3B0aW9uIGlzIHBhc3NlZCB0byBEaXJlY3RGQkluaXQoKS4KCSAgVGhpcyBwcmV2ZW50cyBEaXJlY3RGQiBmcm9tIHRyeWluZyB0byBraWxsIHRoZSBwcm9jZXNzIGFuZCBhbGxvd3MKCSAgR1N0cmVhbWVyJ3MgdGVybWluYXRpb24gc2VxdWVuY2UgdG8gcHJvY2VlZCBub3JtYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wOC0yOSAxMDoyMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBhdmR0cHV0aWw6IFNvbWUgbWlub3IgY2xlYW51cCBhbmQgbGVhayBmaXhlcwoKMjAxMy0wOC0yOCAxNDoyNjowNCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogc3VwcG9ydCBhYWMgaW4gYXZkdHBzcmMKCSAgU2lnbmVkLW9mZi1ieTogQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCjIwMTMtMDgtMjggMTM6MjY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4IDEzOjA3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS40CgoyMDEzLTA4LTI4IDEzOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOC0yOCAxMjozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vcHRfQlIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA4LTI4IDExOjEzOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBtYXJrIGFzIHVuc3RhYmxlIEFQSQoKMjAxMy0wOC0yNyAxNzowNTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcG9zc2libGUgcmVhZCBiZXlvbmQgZW5kIG9mIGJ1ZmZlciB3aGVuIHJlc3luY2luZwoKMjAxMy0wOC0yNyAxMToyNzowNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb25seSB1cGRhdGUgc3JjIENBUFMgd2hlbiBpdCdzIG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDUyCgoyMDEzLTA4LTIwIDExOjU5OjM0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3Qgc2V0IENBUFMgYW5kIHBhc3N0aHJvdWdoIG1vZGUgaWYgU1BTL1BQUyBoYXZlIG5vdCBiZWVuIHBhcnNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDUyCgoyMDEzLTA4LTI2IDEzOjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3Qgc2V0IEJaMl9MSUJTIGlmIGJ6MiBpcyBub3QgZm91bmQKCjIwMTMtMDgtMjYgMTA6MjI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogU29tZSBjbGVhbnVwIGFuZCBtaW5vciBmaXhlcwoKMjAxMy0wOC0yNCAwMDo0NjozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9nc3R3ZWJwLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5oOgoJICB3ZWJwOiBBZGQgV2ViUCBpbWFnZSBkZWNvZGVyIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mjg1CgoyMDEyLTA5LTAxIDIwOjQ2OjQzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogbmV3IHByb3BlcnR5IHRvIGNvbnRyb2wgYnVzIG1lc3NhZ2VzIHVwZGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTYyMgoKMjAxMy0wOC0yMyAxMjowMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIG9wZW5jdjogRml4IGluZGVudGlvbgoKMjAxMy0wOC0yMyAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJICBvcGVuY3Y6IFBvcnQgdG8gbm9uLWRlcHJlY2F0ZWQgR011dGV4L0dDb25kIEFQSQoKMjAxMy0wOC0yMyAxMTozODowNCArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBvcGVuY3Y6IEFkZCBkaXNwYXJpdHktbWFwIGNhbGN1bGF0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDc2MAoKMjAxMy0wOC0yMiAxNzozMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEzLTA4LTIyIDE2OjA3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIG9wZW5jdiBkZXBlbmRlbmN5LCAyLjQuNSB3b3JrcyB0b28uCgoyMDEzLTA4LTIyIDEzOjQ1OjU5ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGZvciBzZWxlY3RpbmcgYSBhdWRpbyBkZXZpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjU3NAoKMjAxMy0wOC0yMiAxNDo1NjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBiejIgY29uZmlndXJlIGNoZWNrIGZvciBXaW5kb3dzCgkgIER1ZSB0byBmdW5jdGlvbiBkZWNvcmF0aW9ucyBvbiBXaW5kb3dzIEFDX0NIRUNLX0xJQiBjYW4ndCBiZSB1c2VkIHRvIGNoZWNrIGZvciBiejIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00NjU5MjQKCjIwMTMtMDgtMjEgMTQ6NDQ6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmdXNlIG5lZ2F0aXZlIHJhdGVzIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQgeWV0CgkgIEFuZCByZW1vdmUgYSBjaGVjayB3aGljaCB3YXMgZG9uZSBiZWZvcmUKCjIwMTMtMDMtMTAgMTc6MDI6MTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IFNldCB0aGUgcHJvZ3JhbSBudW1iZXIgZnJvbSBwcm9nLW1hcAoJICBUaGUgcHJvZy1tYXAgcHJvcGVydHkgb2YgbXBlZ3RzbXV4IG9ubHkgYWxsb3dzIHlvdSB0byBncm91cCBwaWRzIHRvZ2V0aGVyIGluIGEgcHJvZ3JhbS4KCSAgVGhlIHByb2dyYW0gbnVtYmVyIHNldCBpbiB0aGUgUEFUL1BNVCB0YWJsZXMgY2Fubm90IGJlIHNldCBleHBsaWNpdGx5LgoJICBUaGlzIHBhdGNoIHdpbGwgc2V0IHRoZSBwcm9ncmFtIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIHByb2ctbWFwLgoJICBJZiBhIHByb2dyYW0gaWQgb2YgMCBpcyBnaXZlbiwgdGhlIGZpcnN0IHZhY2FudCBwcm9ncmFtIG51bWJlciBzdGFydGluZyBmcm9tIDEgd2lsbCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjM5CgoyMDEzLTA4LTIxIDA4OjU4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogQWRhcHQgZm9yIGxhdGVzdCBtcGVndHMgbGliIGNoYW5nZXMKCjIwMTMtMDgtMjEgMDg6NTg6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogQWRhcHQgZm9yIGxhdGVzdCBtcGVndHMgbGliIGNoYW5nZXMKCjIwMTMtMDgtMjEgMDg6NDA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBBQkkvQVBJIGJyZWFrOiBVc2UgR1B0ckFycmF5IGluc3RlYWQgb2YgR0FycmF5CgkgIFdoaWxlIGl0IHdhcyBhIGdyZWF0IGlkZWEsIHZhcmlvdXMgZy1pIGJhc2VkIGJpbmRpbmdzIGRvbid0IHN1cHBvcnQKCSAgR0FycmF5IHdpdGggZW50cmllcyBncmVhdGVyIHRoYW4gc2l6ZW9mKGdwb2ludGVyKSA6KAoJICBTbyBsZXQncyBqdXN0IG1ha2UgZXZlcnlib2R5IGhhcHB5IGJ5IGp1c3QgdXNpbmcgR1B0ckFycmF5LgoJICBBbmQgc2luY2Ugd2UncmUgYnJlYWtpbmcgdGhlIEFQSSwgYWxzbyByZW5hbWUgdGhlIHZhcmlvdXMgZGVzY3JpcHRvciBmaWVsZHMKCSAgdG8gbm8gbG9uZ2VyIGhhdmUgdGhlIGRlc2NyaXB0b3JfIHByZWZpeC4KCSAgSXQgZG9lcyBjb3N0IGEgYml0IG1vcmUgaW4gdGVybXMgb2YgbWVtb3J5L2NwdSB1c2FnZSwgYnV0IG1ha2VzIGl0IHVzYWJsZQoJICBmcm9tIGJpbmRpbmdzLgoKMjAxMy0wOC0xOSAxNTozMTo1MSAtMDQwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRzcmM6IGRvbid0IGVycm9yIG91dCBvbiBpbmNvbXBsZXRlIGF1eCBkYXRhIHNlZ21lbnQKCSAgSXQgYXBwZWFycyB0aGF0IHRoZSBMb2dpdGVjaCBDOTIwIHNvbWV0aW1lcyBkcm9wcyB0aGUgbmV4dAoJICB0byBsYXN0IHNlZ21lbnQgb2YgUkFXIGF1eCBkYXRhIGNvbnRhaW5lZCB3aXRoaW4gdGhlIE1KUEVHCgkgIGNvbnRhaW5lci4gIEgyNjQgZGF0YSB0aGF0IGlzIG11bHRpcGxleGVkIHdpdGggaW4gdGhlIHNhbWUKCSAgY29udGFpbmVyIGRvZXMgbm90IGFwcGVhciB0byBiZSBhZmZlY3RlZC4gIFRoaXMgYXBwZWFycyB0bwoJICBiZSBhIGJ1ZyBpbiB0aGUgTG9naXRlY2ggQzkyMCBmaXJtd2FyZSBhbmQgdXZjaDI2NHNyYyBzaG91bGQKCSAgbm90IGVycm9yIG91dCBpbiB0aGlzIGNhc2UuCgkgIFNvbWV0aW1lcyBpdCBjYW4gdGFrZSAyNCBob3VycyBvZiBjb250aW51b3VzIHN0cmVhbWluZyBmb3IKCSAgdGhlIHByb2JsZW0gdG8gb2NjdXIsIGJ1dCBzb21ldGltZXMgaXQgdGFrZXMgb25seSBhIGNvdXBsZQoJICBvZiBob3Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI3NgoKMjAxMy0wOC0yMCAxNjowMTo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IFVzZSBpbnB1dCBmcmFtZXJhdGUgd2hlbiBwb3NzaWJsZQoJICBpZiBpbnB1dCBpcyAzMDAwMC8xMDAxIC4uLiB1c2UgMjQwMDAvMTAwMSBhcyB0aGUgb3V0cHV0IGZpeGF0ZWQgZnJhbWVyYXRlCgoyMDEzLTA4LTE1IDExOjQ1OjM0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBoYW5kbGUgcHVibGlzaGVyLCBpbnRlcnByZXRlZC1ieSBhbmQgbXVzaWNhbC1rZXkgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTk5CgoyMDEzLTA4LTIwIDEzOjI5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggc3dpdGNoIHN0YXRlbWVudCBpbiBsZXZlbCBkZXRlY3Rpb24gY29kZQoJICBQcm9wZXJseSBmYWxsIHRocm91Z2ggdGhlIGNhc2VzIHdpdGhvdXQgcmUtYXNzaWduaW5nIHRoZSBsZXZlbCB0bwoJICB0aGUgd3JvbmcgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzNjkKCjIwMTMtMDgtMTkgMTc6MjM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRm9yd2FyZCBzZWdtZW50IGV2ZW50IGFmdGVyIGNhcHMKCSAgU3RvcmUgaXQgdW50aWwgd2Uga25vdyB3aGF0IG91ciBjYXBzIGFyZS4KCjIwMTMtMDgtMjAgMDA6MjY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdDogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gYWlmZnBhcnNlIHRlc3Qgb24gMzItYml0IHg4NgoKMjAxMy0wOC0xOSAwOToyNToyMCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBjb3B5cmlnaHQKCjIwMTMtMDgtMTcgMDA6MjI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGluIGFpZmZwYXJzZSB1bml0IHRlc3QKCjIwMTMtMDgtMTcgMDA6MDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBzdGF0ZSBjaGFuZ2Ugb3JkZXIgaW4gYWlmZnBhcnNlIHRlc3QKCSAgRG8gc3RhdGUgY2hhbmdlcyBmcm9tIHNpbmsgdG8gc3JjLiBGaXhlcyByYWNlIGNvbmRpdGlvbiBpbgoJICBwdWxsIG1vZGUgdGVzdCB3aGVyZSB0aGUgc291cmNlIHdpbGwgc3RhcnQgdXAgYW5kIHB1c2ggYnVmZmVycwoJICB0byBxdWV1ZS9pZGVudGl0eSBvciBhaWZmcGFyc2UgYmVmb3JlIHRoZSBtYWluIHRocmVhZCBoYXMKCSAgbWFuYWdlZCB0byBzZXQgdGhlbSB0byBwbGF5aW5nIHlldC4KCjIwMTMtMDgtMTIgMTg6MzM6MzkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9zMTZiZS1pZDN2Mi5haWZmOgoJICBhaWZmcGFyc2U6IGFkZCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTE3IDAwOjIzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZG9uJ3QgbGVhayBhZGFwdGVyCgoyMDEzLTA4LTE1IDEzOjU4OjQ4ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogcy9uZXdzZWdtZW50L3NlZ21lbnQvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTMgMTg6NDI6NTUgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggcHVzaCBtb2RlCgkgIEZpeCBwdXNoIG1vZGUgYnkgaGFuZGxpbmcgc2luayBldmVudHMgKENBUFMsIFNFR01FTlQpIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTE2IDE1OjQxOjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBSZXBhcnNlIHRoZSBjb25maWcgaWYgdGhlIHNpemUgY2hhbmdlZAoJICBBbHNvIG9ubHkgcmUtaXNzdWUgdGhlIGNhcHMgdXBkYXRlIGlmIHRoZSBwYXJ0IG9mIHRoZSBjb25maWcgdGhhdAoJICBjaGFuZ2VkIGlzIG9uZSB3ZSBjYXJlIGFib3V0LgoKMjAxMy0wOC0xNiAxOTo0ODowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogZml4IGJ1ZmZlcnMgYmVpbmcgZHJvcHBlZCBkdWUgdG8gc2hhZG93ZWQgdmFyaWFibGUKCSAgU3BvdHRlZCBieSBnc3RibHViQGdtYWlsLmNvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5MQoKMjAxMy0wOC0wOCAxMToxOTowMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogb2Zmc2V0IHNlZ21lbnQgbnVtYmVycyBieSBzdGFydE51bWJlcgoJICBGb3IgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnRzIGNvbnRhaW5pbmcgYSBzdGFydE51bWJlciBhdHRyaWJ1dGUsIHRoZQoJICBgbnVtYmVyJyBtZW1iZXIgb2YgR3N0TWVkaWFTZWdtZW50cyBzaG91bGQgYmUgb2Zmc2V0IGJ5IHRoZSB2YWx1ZSBvZgoJICBzdGFydE51bWJlcjsgaG93ZXZlciwgdGhpcyBpcyBub3QgY3VycmVudGx5IHRoZSBjYXNlLiBBcyBhIHJlc3VsdCwgdGhlCgkgIGZpcnN0IFVSSShzKSByZXF1ZXN0ZWQgYnkgdGhlIGRvd25sb2FkIGxvb3Agd2lsbCBiZSB3cm9uZy4KCSAgVGhpcyBjb21taXQgZW5zdXJlcyB0aGF0IHNlZ21lbnQgbnVtYmVycyB3aWxsIGJlIG9mZnNldCBieSBzdGFydE51bWJlcgoJICB3aGVuIG9uZSBpcyBwcmVzZW50IGluIGEgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjEKCjIwMTMtMDgtMDggMTU6MTk6MTUgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBpbmNvcnJlY3QgdGltZXN0YW1wIHNjYWxpbmcuCgkgIFdoZW4gdXNpbmcgYSBTZWdtZW50VGVtcGxhdGUgZWxlbWVudCwgdGhlIHRpbWVzdGFtcHMgb2YgdGhlIGJ1ZmZlcnMKCSAgb3V0cHV0IGJ5IGRhc2hkZW11eCBhcmUgaW5jb3JyZWN0LCBjYXVzaW5nIHByb2JsZW1zIGRvd25zdHJlYW0uCgkgIFRoZSByZWFzb24gaXMgdGhhdCBHc3RNZWRpYVNlZ21lbnQgc3RhcnQgdGltZXMgYXJlIGNhbGN1bGF0ZWQgKGluCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2NodW5rX2J5X2luZGV4KSBieSBtdWx0aXBseWluZyBzZWdtZW50IGluZGV4IGJ5CgkgIHNlZ21lbnQgZHVyYXRpb24gYW5kIHRoZW4gc2NhbGluZyB0aGUgcmVzdWx0IGFjY29yZGluZyB0aGUgYHRpbWViYXNlJwoJICBhdHRyaWJ1dGUgZnJvbSB0aGUgTVBELiBIb3dldmVyLCB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBhbHJlYWR5IGEKCSAgR3N0Q2xvY2tUaW1lIChpLmUuLCBpdCBoYXMgYWxyZWFkeSBiZWVuIHNjYWxlZCBhY2NvcmRpbmcgdG8gdGhlIHRpbWViYXNlCgkgIGZyb20gdGhlIE1QRCBhbmQgY29udmVydGVkIHRvIGEgbmFub3NlY29uZCB2YWx1ZSksIHNvIG11bHRpcGx5aW5nIGl0IGJ5CgkgIHRoZSBzZWdtZW50IGluZGV4IHdpbGwgZ2l2ZSB0aGUgY29ycmVjdCB0aW1lc3RhbXAgd2l0aG91dCB0aGUgbmVlZCBmb3IKCSAgYW55IGZ1cnRoZXIgc2NhbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3OQoKMjAxMy0wOC0xNSAyMDoxMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBhbm90aGVyIG9ic29sZXRlIGV4YW1wbGUKCjIwMTMtMDgtMTUgMTU6NDY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICBleHQ6IFVzZSBuZXcgZmx1c2ggdmZ1bmMgb2YgdmlkZW8gY29kZWMgYmFzZSBjbGFzc2VzIGFuZCByZW1vdmUgcmVzZXQgaW1wbGVtZW50YXRpb25zCgoyMDEzLTA4LTE0IDE5OjEyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgcHJlaGlzdG9yaWMgZXhhbXBsZXMKCjIwMTMtMDgtMTQgMTg6MTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJICBpbnRlcmF1ZGlvc3JjOiBtYWtlIHNpbGVuY2UgbWVtb3J5IGFjdHVhbGx5IGNvbnRhaW4gc2lsZW5jZQoJICBpbnN0ZWFkIG9mIHJhbmRvbSBkYXRhLiBSZXBvcnRlZCBieSBNYXJjbyBNaWNoZWxldHRpIG9uCgkgIGdzdHJlYW1lci1kZXZlbC4KCjIwMTMtMDgtMTQgMTM6Mjc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IGNyaXRpY2FscyB3aGVuIHRyeWluZyB0byBjYXN0IGEgR3N0UGFkIHRvIGEgR3N0RWxlbWVudAoJICBtZXNzYWdlLT5zcmMgbWlnaHQgYmUgYSBHc3RQYWQuIE9ic2VydmVkIGR1cmluZyBnc3QtaW5zcGVjdC0xLjAgLWEKCjIwMTMtMDgtMTQgMTM6NTk6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBVcGRhdGUgZm9yIG5ldyBmaWxlcyB0byBpZ25vcmUKCjIwMTMtMDgtMTQgMTM6NDE6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBwZXNwYXJzZTogUmVmYWN0b3J5IHNlY29uZGFyeSBQRVMgZXh0ZW5zaW9uIGhhbmRsaW5nCgkgIFNvbWUgc3RyZWFtcyBoYWQgd3JvbmcgdmFsdWVzIGZvciB0aGUgc3RyZWFtX2lkX2V4dGVuc2lvbiwgbWFrZSBzdXJlCgkgIHdlIG9ubHkgcmVtZW1iZXIgdGhlIHZhbGlkIG9uZXMuCgkgIEZvciBzdHJlYW1zIHdpdGggUEVTX2V4dGVuc2lvbl9maWVsZF9sZW5ndGggPT0gMCwgYXNzdW1lIHRoZXJlJ3Mgbm90aGluZwoJICBlbHNlLgoJICBGb3Igc3RyZWFtcyB0aGF0IHN0YXRlIHRoZXkgaGF2ZSBhIFRSRUYgZXh0ZW5zaW9uIGJ1dCBkb24ndCBoYXZlIGVub3VnaAoJICBkYXRhIHRvIHN0b3JlIGl0LCBqdXN0IGFzc3VtZSBpdCB3YXMgcHJvZHVjZWQgYnkgYSBub24tY29tcGxpYW50IG11eGVyCgkgIGFuZCBza2lwIHRoZSByZW1haW5pbmcgZGF0YS4KCSAgT25seSBzdG9yZSByZW1haW5pbmcgZGF0YSBpbiBzdHJlYW1faWRfZXh0ZW5zaW9uX2RhdGEgaW5zdGVhZCBvZiBzdG9yaW5nCgkgIGRhdGEgd2UgYWxyZWFkeSBwYXJzZS4KCjIwMTMtMDgtMTQgMTA6NDc6MzEgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFJlbW92ZSB1bm5lZWRlZCB1bnJlZiBhbmQgb25seSBzZXQgcGFkIGNhcHMgaWYgd2UgaGF2ZSBjYXBzCgkgIEZpeGVzIGNyYXNoZXMgZHVlIHRvIGludmFsaWQgdW5yZWZzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTU3CgoyMDEzLTA4LTE0IDEwOjM5OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogRml4IHBlcyBleHRlbnNpb24gZGF0YSBsZW5ndGggY2hlY2sKCSAgQW5kIHJlbW92ZSBsZW5ndGgvZGF0YSB1cGRhdGVzICh3ZSB1c2UgdGhlIGhlYWRlciBzaXplIGp1c3QgYmVsb3cgdG8KCSAgcHJvcGVybHkgc2V0IHRoZW0pLgoJICBCYXNlZCBvbiBmZWVkYmFjayBmcm9tIFN0YXMgU2VyZ2VldiA8c3RzcEBsaXN0LnJ1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzQzCgoyMDEzLTA4LTE0IDEwOjMzOjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcGVzcGFyc2U6IFJlbW92ZSB1bnVzZWQgYXJndW1lbnQKCSAgV2UgYWx3YXlzIHByb3ZpZGVkIDAgYXMgdGhlIG9mZnNldCBhbmQgbmV2ZXIgdXNlZCB0aGUgcmV0dXJuZWQgdmFsdWUuCgkgIEJhc2VkIG9uIGZlZWRiYWNrIGZyb20gU3RhcyBTZXJnZWV2IDxzdHNwQGxpc3QucnU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNDMKCjIwMTMtMDgtMTMgMTc6NDc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlOiB0dXJuIGludGVybmFsIGNvbnNpc3RlbmN5IGNoZWNrIGludG8gYSBnX2Fzc2VydCgpCgkgIFdlIG9ubHkgY2hlY2sgaW5wdXQgZnJvbSB0aGUgQVBJIHVzZXIgd2l0aCBnX3JldHVybl8qX2lmX2ZhaWwoKS4KCSAgSW50ZXJuYWwgc2FuaXR5IGNoZWNrcyBzaG91bGQgdXNlIGdfYXNzZXJ0KCkgaW5zdGVhZCwgd2hpY2ggaXMKCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3IgcmVsZWFzZXMuCgoyMDEzLTA4LTEzIDE3OjQ1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IG1pbm9yIGRvYyBmaXhlcwoKMjAxMy0wOC0xMyAxMjo0MToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGdzdF9kYXRhX3F1ZXVlX3B1c2hfZm9yY2UgZm9yIGFkZGluZyBldmVudHMgdG8gcXVldWUKCSAgVGhpcyBwcmV2ZW50cyBsb2NraW5nIG9uIHN0YXJ0dXAgd2hlbiBhIHN0cmVhbSBvbmx5IGhhcyBhIHNpbmdsZSBidWZmZXIKCSAgZm9yIG9uZSBvZiB0aGUgc3RyZWFtcyBhbmQgbXNzZGVtdXggZGVjaWRlcyB0byBwdXNoIGFuIEVPUyBldmVudCByaWdodAoJICBhZnRlciBpdC4KCjIwMTMtMDgtMDggMTM6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBwdXNoX2ZvcmNlIHdoZW4gYWRkaW5nIGV2ZW50cyB0byB0aGUgZGF0YXF1ZXVlCgkgIFRoaXMgcHJldmVudHMgZGVhZGxvY2tzIG9uIHN0YXJ0dXAgb24gZmlsZXMgdGhhdCBoYXZlIG9ubHkgYSB2ZXJ5CgkgIGxhcmdlIGJ1ZmZlciBmb3IgYSBzdHJlYW0gYW5kIHRoZSBxdWV1ZSBpcyBmaWxsZWQgYW5kIHdpbGwgbG9jayBvbgoJICB0aGUgZW9zIGV2ZW50IHRoYXQgaXMgcHVzaGVkIGFmdGVyIHRoZSBidWZmZXIuIEFzIG5vIGJ1ZmZlcnMgaGF2ZSB5ZXQKCSAgYmVlbiBwdXNoZWQgdG8gb3RoZXIgc3RyZWFtcywgdGhlIHBpcGVsaW5lIGxvY2tzIG9uIHByZXJvbGwKCjIwMTMtMDctMzAgMTU6MTc6MjMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzdXBwb3J0IGZpZWxkIGVuY29kaW5nIGZvciBpbnRlcmxhY2VkIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxNDQKCjIwMTMtMDgtMTIgMDE6MDI6NTEgLTA0MDAgIEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbmVvbmh0dHBzcmM6IGFsbG93IGJ1aWxkaW5nIHdpdGggbmVvbi0wLjMwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU4MTIKCjIwMTMtMDgtMTIgMTI6Mjc6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogTGV0IHBhY2tldHMgdGhyb3VnaCB3aXRob3V0IHRvdWNoaW5nIHRoZW0gaWYgbm8gY3J5cHRvIG9yIGF1dGggaXMgc2V0CgoyMDEzLTA4LTEyIDEyOjI3OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBSZWZhY3RvciBjb2RlIGEgYml0CgkgIFNpbXBsaWZ5IHRoZSBlcnJvciBoYW5kbGluZyBjYXNlIGFuZCBnZXQgdGhlIHBhY2tldCBwdXNoIG91dCBvZiB0aGUgaWYoKQoKMjAxMy0wOC0xMiAxMTo1NjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgZXJyb3Igb24gaW52YWxpZCBwYWNrZXQsIGp1c3QgZHJvcCBpdAoKMjAxMy0wOC0wNyAxNTowMTozMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IHRoZSBTZXF1ZW5jZUxheWVyIGhhbmRsaW5nIGZvciBhZHZhbmNlZCBwcm9maWxlLgoJICBUaGUgU2VxdWVuY2UgSGVhZGVyIERhdGEgU3RydWN0dXJlIFNUUlVDVF9DIGZvciBBZHZhbmNlZCBQcm9maWxlCgkgIGhhcyBvbmx5IGEgb25lIHZhbGlkIGZpZWxkIHdoaWNoIGlzIHRoZSBwcm9maWxlIGluZGljYXRvci4gRG9uJ3QKCSAgdXNlIHRoZSByZXNlcnZlZCBmaWVsZHMgZm9yIGZwcyB1cGRhdGUgbGlrZSBTaW1wbGUvTWFpbiBwcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjY3CgoyMDEzLTA4LTA3IDE0OjUyOjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggc2VxIGhkciBTVFJVQ1RfQSBoYW5kbGluZyBmb3IgYWR2YW5jZWQgcHJvZmlsZS4KCSAgVGhlIFNlcXVlbmNlIEhlYWRlciBEYXRhIFN0cnVjdHVyZSBTVFJVQ1RfQSBmb3IgYWR2YW5jZWQgcHJvZmlsZQoJICBtYXkgYmUgZWlnaHQgY29uc2VjdXRpdmUgemVybyBieXRlcy5Eb24ndCB0cnkgdG8gb3ZlcnJpZGUgdGhlCgkgIHdpZHRoIGFuZCBoZWlnaHQgdmFsdWVzIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2NwoKMjAxMy0wOC0wNyAxMDoxNDoyMCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBTU05EIGRhdGEgc2l6ZQoJICBBSUZGIGNodW5rIHNpemUgZG9lcyBub3QgaW5jbHVkZSB0aGUgY2h1bmsgaGVhZGVyIHNpemUgKDggYnl0ZXMpLCBzbyB0aGUKCSAgU1NORCBkYXRhIHNpemUgaXMgZXF1YWwgdG8gdGhlIGNodW5rIHNpemUgbWludXMgdGhlIFNTTkQgaGVhZGVyIHNpemUgKDgKCSAgYnl0ZXMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc1CgoyMDEzLTA3LTEzIDAyOjUwOjUyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIHJlZGlyZWN0aW9ucwoKMjAxMy0wOC0wMiAyMDozNzozMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlbmQgY29kZWMgdGFnIGZvciBlYWNoIHN0cmVhbQoKMjAxMy0wOC0xMCAyMTozNDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICB0ZXN0czogdXZjaDI2NGRlbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudHMgYW5kIGZpeCBldmVudCBvcmRlcgoKMjAxMy0wOC0xMCAyMTozMzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRtanBnZGVtdXg6IGZpeCBldmVudCBvcmRlcmluZwoKMjAxMy0wOC0xMCAyMDowMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBtcGxleDogZml4ICdHb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQnIGZhaWx1cmUKCjIwMTMtMDgtMTAgMTk6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJICB0ZXN0czogbXBlZzJlbmM6IGZpeCAnR290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50JyBmYWlsdXJlCgoyMDEzLTA4LTEwIDE5OjQ0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IENBUFMgcXVlcnkKCSAgV2FzIGNhdXNpbmcgY3JpdGljYWxzIGluIGRlY29kZWJpbi9wbGF5YmluIGJlY2F1c2UgdGhlIGNhcHMKCSAgcXVlcnkgZG9uZSB3aGVuIGV4cG9zaW5nIHBhZHMgd291bGQgcmV0dXJuIEFOWSBjYXBzLgoKMjAxMy0wOC0xMCAxOTo0Mzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGRvbid0IHVucmVmIE5VTEwgYnVmZmVyCgoyMDEzLTA4LTA3IDE5OjA4OjMzICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogc2V0IG1pc3NpbmcgbGF5b3V0IGZpZWxkIGluIHNyY3BhZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDcgMTc6Mjg6MjkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzZW5kIHN0YXJ0IHN0cmVhbSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTA2IDE2OjUzOjM3ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGJ1ZmZlcnMgaW5pdGlhbGlzYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wMiAxNDoxMTowMSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYWRkIHN1YmRpci1vYmplY3RzIHRvIEFNX0lOSVRfQVVUT01BS0UKCSAgRml4ZXMgd2FybmluZ3Mgd2l0aCBhdXRvbWFrZSAxLjE0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA5IDIwOjEyOjA5ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjcmVhdGUvcmVtb3ZlIG9yYyBkaXJlY3RvcnkgYXQgcHJvcGVyIHRpbWUKCSAgQmVmb3JlIGF1dG9tYWtlIGNyZWF0ZXMgLmRlcHMgZGlyZWN0b3JpZXMsIGFuZCBkdXJpbmcgZGlzdGNsZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA5IDIwOjEwOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBiYXNlYXVkaW92aXN1YWxpemVyIHRlc3Qgd2l0aCBzdWJkaXItb2JqZWN0cyBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wNyAwOTowNDozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIHNsaWNlIHR5cGUgdG8gZGV0ZXJtaW5lIGlmIGZyYW1lIGlzIGtleWZyYW1lCgkgIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHByZS1iYXNlcGFyc2UtcmVmYWN0b3JpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU5OAoKMjAxMy0wOC0wMyAxNDoyMDo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvIG5vdCB0cmlnZ2VyIGNhcHMgdXBkYXRlIGlmIHdlIG9ubHkgaGF2ZSBQUFMgdXBkYXRlcwoJICBVcGRhdGluZyBjYXBzIHJlc3VsdHMgaW4gZG93bnN0cmVhbSBlbGVtZW50cyBwb3RlbnRpYWxseSByZWNvbmZpZ3VyaW5nIHRoZW1zZWx2ZXMKCSAgKHN1Y2ggYXMgZGVjb2RlcnMpLiBJZiB3ZSBkbyB0aGlzIGluIHRoZSBtaWRkbGUgb2Yga2V5ZnJhbWVzLCB3ZSB3b3VsZCByZXN1bHQKCSAgaW4gdGhvc2UgZWxlbWVudHMgYmVpbmcgcmVjb25maWd1cmVkIGFuZCBoYW5kbGluZyBnYXJiYWdlIHVudGlsIHRoZSBuZXh0IGtleWZyYW1lLgoJICBJbnN0ZWFkIG9mIHRoaXMgb25seSBzZW5kIChwb3RlbnRpYWxseSkgbmV3IGNvZGVjX2RhdGEgd2hlbiB3ZSBoYXZlICpib3RoKiBTUFMgYW5kCgkgIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTMzMwoKMjAxMy0wNy0zMSAxMTo1NjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IHF1aWV0IEZJWE1FIHdoZW4gaXQncyBub3QgcmVsZXZhbnQKCjIwMTMtMDctMzEgMTE6NTQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBpbXBsZW1lbnQgbmV3IGVkZ2UtZGlyZWN0ZWQgdXBzYW1wbGluZwoKMjAxMy0wOC0wMyAxODowNzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVtb3ZlIHVzZSBvZiBfWE9QRU5fU09VUkNFCgkgIFdoaWNoIGNhdXNlcyBwcm9ibGVtcyB3aGVuIHVzZWQgd2l0aCBfR05VX1NPVVJDRSBhcHBhcmVudGx5LCBhbmQgaXQKCSAgc2VlbXMgaXQgd2FzIG9ubHkgc2V0IGJlY2F1c2Ugb2YgdXNsZWVwKCksIHdoaWNoIHdlIGNhbiBqdXN0IHJlcGxhY2UKCSAgd2l0aCBnX3VzbGVlcCgpIHVudGlsIHdlIGdldCByaWQgb2YgdGhvc2UgZW50aXJlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUyMDgKCjIwMTMtMDgtMDIgMTU6MTI6MTcgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IHJldHVybiBHU1RfRkxPV19FT1MgaW4gYXZkdHBzcmMgY3JlYXRlIHdoZW4gc3RyZWFtIGlzIEVPRgoJICBTaWduZWQtb2ZmLWJ5OiBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzQ5CgoyMDEzLTA4LTAxIDExOjAxOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IExvb2sgaGFyZGVyIGZvciBuZXh0IHN5bmMgcG9zaXRpb24KCSAgSWYgZXZlciB3ZSBsb3NlIHN5bmMsIHdlIHdlcmUganVzdCBjaGVja2luZyBmb3IgdGhlIG5leHQgMHg0NyBtYXJrZXIgLi4uCgkgIHdoaWNoIG1pZ2h0IGFjdHVhbGx5IGhhcHBlbiB3aXRoaW4gYSBtcGVnLXRzIHBhY2tldC4KCSAgSW5zdGVhZCBjaGVjayBmb3IgMyByZXBlYXRpbmcgMHg0NyBhdCB0aGUgZXhwZWN0ZWQgcGFja2V0IHNpemUgaW50ZXJ2YWwsCgkgIHdoaWNoIHRoZSBzYW1lIGxvZ2ljIHdlIHVzZSB3aGVuIHdlIGluaXRpYWxseSBsb29rIGZvciB0aGUgcGFja2V0IHNpemUuCgoyMDEzLTA4LTAxIDEwOjU4OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBQQ1IgTFVUIHRhYmxlCgkgIFdlIHdlcmUgb25seSByZXNldHRpbmcgdGhlIGZpcnN0IDUxMiB2YWx1ZXMgb2YgdGhlIGxvb2t1cCB0YWJsZSBpbnN0ZWFkCgkgIG9mIHRoZSB3aG9sZSA4MTkyLgoJICBUaGlzIHJlc3VsdGVkIGluIGFueSBQQ1IgUElEIG92ZXIgMHgwMjAwIC4uLiBlbmRpbmcgdXAgdGFraW5nIHRoZSBmaXJzdCBQQ1IKCSAgdGFibGUgYXJvdW5kIDooCgoyMDEzLTA3LTMwIDIyOjA2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm9wZXJseSBlcnJvciBvdXQgd2hlbiBtYW5pZmVzdCBoYXMgbm8gc3RyZWFtcwoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgbWFuaWZlc3QgaXMgcGFyc2VkIGFuZCBubyB2YWxpZCBzdHJlYW1zCgkgIGFyZSBmb3VuZCBiZSBhY3RpdmF0ZWQgYW5kIHVzZWQuCgkgIEZpeGVzICM3MDQzMDgKCjIwMTMtMDctMzAgMTY6MDg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHM6IHByaXZhdGUvdGVsZXRleHQgLT4gYXBwbGljYXRpb24veC10ZWxldGV4dAoKMjAxMy0wNy0yOSAyMToyNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZQoKMjAxMy0wNy0yOSAyMToyNDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IGV4YW1wbGUgYmluYXJpZXMKCjIwMTMtMDctMjkgMjE6MjM6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3N2LnBvOgoJKiBwby92aS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDctMjkgMTQ6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjMgPT09CgoyMDEzLTA3LTI5IDEzOjUyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4zCgoyMDEzLTA3LTI5IDEzOjUyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTI5IDEyOjE3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpOiBGaXggaGFuZGxpbmcgb2YgdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTI6MTQ6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgZ3N0OiBEb24ndCBzd2FwIHN0YXJ0L3N0b3AgZm9yIG5lZ2F0aXZlIHJhdGVzIGluIHRoZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMDk6MzU6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJICBhbGw6IEZpeCBmb3IgR1NUX0RJU0FCTEVfR1NUX0RFQlVHCgkgIFdoZXJlIGFwcGxpY2FibGUsIHJlbW92ZSBtZXRob2RzIHRoYXQgZG9uJ3QgZG8gYW55dGhpbmcgZGlmZmVyZW50IHRoYW4KCSAgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgoyMDEzLTA3LTI5IDA4OjQ2OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBkb2NzL3NwZWM6IFJlYWxseSByZW1vdmUgYWxsIG1lbnRpb25zIG9mIENFTFQgcGx1Z2luCgoyMDEzLTA3LTI5IDA4OjI5OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU2hvdyBOQUxVIHN0cmluZyB0eXBlIGluIGRlYnVnIG1lc3NhZ2VzCgkgIElmIHlvdSBrbm93IHRoZSBOQUxVIHR5cGUgYnkgaGVhcnQgSSB0aXAgbXkgaGF0IHRvIHlvdSwgZm9yIHRoZSByZXN0IG9mCgkgIHVzIG1lcmUgbW9ydGFscyB0aGlzIGlzIGEgYml0IG1vcmUgaGVscGZ1bAoKMjAxMy0wNy0yOSAwODoyODoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdW51c2VkIG1hY3JvcwoKMjAxMy0wNy0yOSAwODoyMzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIG1vcmUgQUMzIGRldGVjdGlvbiBjYXNlcwoJICBBVFNDIGFjMyBzdHJlYW1zIGFyZSBhbHdheXMgZ3VhcmFudGVlZCB0byBiZSBBQzMgaWYgRUFDMyBkZXNjcmlwdG9yCgkgIGlzIG5vdCBwcmVzZW50CgkgIElmIHN0cmVhbSByZWdpc3RyYXRpb24gaWQgaXMgJ0FDLTMnIHRoZW4gaXQncyBhbHNvIGd1YXJhbnRlZWQgdG8gYmUgQUMzLgoJICBGaW5hbGx5IGlmIEFDMyBkZXNjcmlwdG9yIGlzIHByZXNlbnQgaXQncyBndWFyYW50ZWVkIHRvIGJlIEFDMy4KCSAgT25seSBzaWxlbmNlcyBhIHdhcm5pbmcsIGJ1dCBzdGlsbC4KCjIwMTMtMDctMjkgMDg6MjA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRmx1c2ggb3V0IHBlbmRpbmcgZGF0YSBvbiBFT1MKCSAgRW5zdXJlcyBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIGRlY29kZXJzKSByZWFsbHkgZ2V0IGFsbCB0aGUgZGF0YQoKMjAxMy0wNy0yOSAwODoxODoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBNb3JlIEFGQyBmbGFncwoJICBJIHNob3VsZCBoYXZlIHB1dCB0aG9zZSBpbiBhIHByZXZpb3VzIGNvbW1pdC4gc29ycnkgOigKCjIwMTMtMDctMjkgMDg6MTQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZWZzOiBTaW1wbGlmeSBQQ1IvUFRTL0RUUyA9PiBHU1QgY29udmVyc2lvbiBtYWNyb3MKCSAgV2Uga25vdyB3ZSB3aWxsIG5vdCBvdmVyZmxvdyA2NCBiaXRzLCB0aGVyZWZvcmUganVzdCB1c2UgZGlyZWN0CgkgIG11bHRpcGxpY2F0aW9uL2RpdmlzaW9uIGluc3RlYWQgb2YgdGhlIHNjYWxlIG1ldGhvZCAodHJpbXMgdXNhZ2UgZnJvbQoJICA1MCBpbnN0cnVjdGlvbiBjYWxscyB0byAyLzMpLgoKMjAxMy0wNy0yOCAyMDoxNDo1NSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBhcnRpZmFjdHMgd2hlbiByZW5kZXJpbmcgY2xpcHBlZCBzcHUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAzOQoKMjAxMy0wNy0yOCAxODoyODozMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvIG5vdCB1cGRhdGUgY2FwcyB3aGVuIGJpdHJhdGUgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDM1CgoyMDEzLTA3LTI4IDE0OjIyOjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgRml4IFVSSXMgaW4gUkVRVUlSRU1FTlRTCgoyMDEzLTA3LTI4IDEzOjEyOjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHQ6IHJlbW92ZSwgcmVwbGFjZWQgYnkgb3B1cy4KCjIwMTMtMDctMjggMTc6Mjk6MzIgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0X21qcGdkZW11eDogUmVtb3ZlIGR1cGxpY2F0ZWQgdmFyaWFibGVzCgoyMDEzLTA3LTI4IDE3OjI1OjEwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NF9tanBnZGVtdXg6IERvbid0IHVubWFwL3VucmVmIGJ1ZmZlciBpZiBpdCdzIHB1c2hlZCBvdXQgYXMtaXMKCjIwMTMtMDctMjYgMTg6MzM6MDAgKzAwMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmN2NGwyX21qcGVnZGVtdXg6IFVubWFwIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTE3CgoyMDEzLTA3LTI4IDE1OjQ2OjMzICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gYmUgY3VycmVudAoKMjAxMy0wNy0yNyAxMjoxNzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSERWIG9ubHkgaGFzIG1wZWcgMSBhdWRpbyBsYXllciAyCgkgIFNldCB0aGF0IGFjY29yZGluZ2x5IG9uIHRoZSBjYXBzCgoyMDEzLTA3LTI2IDE3OjMxOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogVmFyaW91cyBkZWJ1ZyBhcmd1bWVudCBmaXhlcwoJICBtYWlubHkgR19HVUlOVDE2X0ZPUk1BVCB0byAuLi4gdGhlIHJpZ2h0IHR5cGUgKGd1aW50MzIgb3IgZ3VpbnQ4KQoKMjAxMy0wNy0yNiAxNzoyNTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBoYXJkZXIgPyA6KQoKMjAxMy0wNy0yNiAxMzoyMDoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgZWFybGllcgoJICBZb3Uga25vdywgYmVmb3JlIGl0J3MgdXNlZC4KCjIwMTMtMDctMjYgMDc6NTM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbW9yZSBmbGFnIGRlYnVnZ2luZyBmb3IgUEVTIGFuZCBUUyBwYWNrZXRzCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIGlzc3Vlcy4gQW5kIGFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAob3BjcikKCSAgVGhpcyB3aWxsIGFsc28gYWxsb3cgdXMgaW4gdGhlIGZ1dHVyZSB0byBwcm9wZXJseSBkZXRlY3Q6CgkgICogcmFuZG9tLWFjY2VzcyBsb2NhdGlvbiAodG8gZW5hYmxlIGtleWZyYW1lIG9ic2VydmF0aW9uIGFuZAoJICBwb3RlbnRpYWxseSBzZWVraW5nCgkgICogZGlzY29udCBsb2NhdGlvbiAodG8gcHJvcGVybHkgaGFuZGxlIHJlc2V0cykKCSAgKiBzcGxpY2UgbG9jYXRpb24gKHRvIHByb3Blcmx5IGhhbmRsZSBuZXcgc3RyZWFtIGNoYW5nZXMpCgoyMDEzLTA3LTI0IDE3OjQ5OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBNYWtlIHdhcm5pbmdzIG1vcmUgbWVhbmluZ2Z1bAoJICBCeSBzdGF0aW5nIHdoZXRoZXIgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZGF0YSBvciBpdCdzIGEgY29ycnVwdGVkCgkgIHBhY2tldAoKMjAxMy0wNy0yNCAxNzo0OToyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IERlbW90ZSBhIFdhcm5pbmcKCSAgV2UgYWN0dWFsbHkgbm93IGtub3cgd2hhdCB0byBkbyAuLi4gaGF2ZSBhIGxvZyBtZXNzYWdlIDopCgoyMDEzLTA3LTI1IDE1OjA2OjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgdXNpbmcgY2xpcHBlZCBvdXQgYnVmZmVycwoJICBJZiBhIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCBvdXQgKGllLCBpdCdzIG91dCBvZiB0aGUgc2VnbWVudAoJICBlbnRpcmVseSksIHdlJ2xsIGVuZCB1cCB3aXRoIGEgTlVMTCBidWZmZXIsIHdoaWNoIHdlIGRvbid0IHdhbnQKCSAgdG8gcHJvY2Vzcy9kZXJlZmVyZW5jZS4KCjIwMTMtMDctMjQgMTU6NTA6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogUmVtZW1iZXIgcmVxdWVzdGVkIHNlZWsgcmF0ZSBhbmQgdXNlIGl0CgkgIFRoZSBuZXcgc2VlayBoYW5kbGluZyByZS1jcmVhdGVzIHRoZSBzZWdtZW50IHRpbWUgaW5mb3JtYXRpb24gb25jZSBpdAoJICBoYXMgZW5vdWdoIGluZm9ybWF0aW9uIGFmdGVyIGEgc2Vlay4KCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgd2UnZCBjb21wbGV0ZWx5IGlnbm9yZSB0aGUgcmVxdWVzdGVkIHJhdGUuIFNvIHN0b3JlCgkgIHRoYXQgYW5kIHVzZSBpdCBpbiB0aGUgbmV3bHkgY3JlYXRlZCBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MzY5CgoyMDEzLTA3LTI0IDA5OjE4OjQzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBkZXN0cm95IHRoZSBxdWV1ZSBpZiBzZXRfZm9ybWF0IGZhaWxzCgoyMDEzLTA3LTI0IDA5OjE1OjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiByZW1vdmUgYysrIHN0eWxlIGNvbW1lbnRzCgoyMDEzLTA3LTI0IDA5OjExOjU5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiAxc3Qgcm91bmQgb2YgZml4ZXMKCjIwMTMtMDctMjMgMTA6MTA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGNvZGVjX2RhdGEgaGFuZGxpbmcKCSAgU2V0IHRvIHNlcXVlbmNlX29mZnNldCBzbyB0aGF0IF9wcm9jZXNzX2NvbmZpZyBhY2NlcHRzIGl0LgoJICAoYnR3OiBzZXFfb2Zmc2V0IHVzYWdlIHRocm91Z2hvdXQgdGhpcyBwbHVnaW4gaXMgcmVhbGx5IGRvZGd5KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODA2CgoyMDEzLTA2LTE0IDA3OjI4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ3JlYXRlIGFuZCBzZW5kIGNvZGVjIHRhZwoJICBIZWxwcyB3aXRoIGFwcGxpY2F0aW9ucyB0aGF0IHJlbHkgb24gcHJlc2VuY2Ugb2YgdGhhdCB0YWcgZm9yIHVzZXItZmFjaW5nCgkgIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjE2CgoyMDEzLTA3LTIzIDEzOjI5OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcGtjczcgdW5wYWRkaW5nCgkgIEV2ZXJ5IGVuY3J5cHRlZCBmcmFnbWVudCB3aWxsIGJlIGEgbXVsdGlwbGUgb2YgMTI4IGJpdHMsIHRoZSBsYXN0IGJ5dGUKCSAgY29udGFpbnMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IHdlcmUgYWRkZWQgYXMgcGFkZGluZyBpbiB0aGUgZW5kCgkgIGFuZCBzaG91bGQgYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTY3MwoKMjAxMy0wNy0yMyAxMDozMDozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBBdWRpb1Rvb2xib3ggYmFzZWQgYXVkaW8gZGVjb2RlcgoKMjAxMy0wNy0yMyAxMDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjMxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjI0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoyMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjExOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA5OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2g6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE3OjMwOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IG5lZ290aWF0aW9uIGlmIGZpbHRlciBjYXBzIGFyZSBwYXNzZWQgdG8gcXVlcnlfY2FwcwoJICBNYWtlIHZpZGVvdGVzdHNyYyAhIGludGVybGFjZSAhICRhbnl0aGluZyB3b3JrIGFnYWluLiBQcm9ibGVtCgkgIHdhcyB0aGF0IHVwc3RyZWFtIGZpbHRlciBjYXBzIHdlcmUgcGFzc2VkIHdoaWNoIGNvbnRhaW5lZAoJICBpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSwgd2hpY2ggZG9lc24ndCBpbnRlcnNlY3QgdG9vIHdlbGwKCSAgd2l0aCBpbnRlcmxhY2UncyBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMsIGxlYWRpbmcgdG8KCSAgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoKMjAxMy0wNy0yMiAxNDo1NjozMiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG9uJ3QgYWJvcnQgb24gaW52YWxpZCBzdHJlYW1zCgkgIEp1c3QgcmV0dXJuIGFuIGVycm9yCgoyMDEzLTA3LTE5IDE1OjMwOjQyICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSAgaGxzOiBmaXggZm9yIGFzc2VydCBmYWlsdXJlIHdoZW4gdXNpbmcgZW5jcnlwdGVkIEhMUyBzdHJlYW1zCgkgIFdoZW4gdXNpbmcgYW4gSExTIGVuY3J5cHRlZCBzdHJlYW0sIGFuIGFzc2VydGlvbiBmYWlsdXJlIGlzIHRocm93bjoKCSAgKGdzdC1sYXVuY2gtMS4wOjMxMDI4KTogR0xpYi1HT2JqZWN0LVdBUk5JTkcgKio6IGNhbm5vdCByZWdpc3RlcgoJICBleGlzdGluZyB0eXBlIGBHc3RGcmFnbWVudCcKCSAgKGdzdC1sYXVuY2gtMS4wOjMxMDI4KTogR0xpYi1DUklUSUNBTCAqKjogZ19vbmNlX2luaXRfbGVhdmU6IGFzc2VydGlvbgoJICBgcmVzdWx0ICE9IDAnIGZhaWxlZAoJICBFdmVudHVhbGx5IHRyYWNrZWQgdGhpcyBkb3duIHRvIHRoZSBjYWxsIGdzdF9mcmFnbWVudF9uZXcoKQoJICBpbiBmdW5jdGlvbiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQuCgkgIFRoZSBHc3RGcmFnbWVudCBjbGFzcyBpcyBkZWZpbmVkIGluIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYyBhbmQgaW4KCSAgZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYy4gSGF2aW5nIHR3byBjbGFzcyBkZWZpbml0aW9ucwoJICB3aXRoIHRoZSBzYW1lIG5hbWUgY2F1c2VzIHRoZSBhc3NlcnQgZmFpbHVyZSB3aGVuIHRyeWluZyB0byBhbGxvY2F0ZQoJICBHc3RGcmFnbWVudC4gRGVsZXRpbmcgdGhlIHZlcnNpb24gZnJvbSBobHMgYW5kIGVkaXRpbmcgdGhlCgkgIE1ha2VmaWxlLmFtIHNvbHZlcyB0aGlzIGFzc2VydCBmYWlsdXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTU1CgoyMDEzLTA3LTE5IDIzOjQyOjEyICswMjAwICBZb3VyaSBXZXN0ZXJtYW4gPHRldHJhY29uQGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBhY3R1YWxseSBlbmFibGUgZGVja2xpbmtzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDUKCjIwMTMtMDctMTkgMjA6MDk6MjggKzAyMDAgIFlvdXJpIFdlc3Rlcm1hbiA8dGV0cmFjb25AZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBhZGQgImRldmljZS1udW1iZXIiIHRvIHNlbGVjdCBmcm9tIG11bHRpcGxlIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNQoKMjAxMy0wNy0yMiAxMDo0NjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBPbmx5IG1hcCBpbnB1dCBidWZmZXIgb25jZQoJICBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgbWFwL3VubWFwcGluZyBpdCBhIGJpdCBldmVyeXdoZXJlLCB3ZSBwYXNzIGFsb25nCgkgIHRvIGFsbCBmdW5jdGlvbnMgdGhlIEdzdE1hcEluZm8uCgkgIE1ha2VzIG1wZWcgdmlkZW8gZnJhbWUgcGFyc2luZyA2JSBmYXN0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjMzMAoKMjAxMy0wMy0xMCAxMjowNzo0MCArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IGRpc2VudGFuZ2xlIHJlcXVlc3RlZCBwcm9ncmFtIG51bWJlciBmcm9tIGFjdGl2ZSBwcm9ncmFtIG51bWJlcgoJICBUaGUgcHJvZ3JhbV9udW1iZXIgYXR0cmlidXRlIHdhcyBvdmVybG9hZGVkLCB0cnlpbmcgdG8gaW5kaWNhdGUgYm90aAoJICB0aGUgY3VycmVudGx5IHBsYXlpbmcgcHJvZ3JhbSwgYW5kIHRoZSBwcm9ncmFtIHJlcXVlc3RlZCB2aWEgdGhlCgkgICJwcm9ncmFtLW51bWJlciIgcHJvcGVydHkuICBUaGUgZW5kIHJlc3VsdCB3YXMgdGhhdCBzZXR0aW5nIHRoZQoJICBwcm9wZXJ0eSBkaWRuJ3Qgd29yayAoc2VlICM2OTA5MzQpLgoJICBJIGFkZGVkIGEgbmV3IHJlcXVlc3RlZF9wcm9ncmFtX251bWJlciBmaWVsZCByYXRoZXIgdGhhbiByZXZpdmluZyB0aGUKCSAgY3VycmVudF9wcm9ncmFtX251bWJlciBmaWVsZCBiZWNhdXNlIGl0IHNlZW1lZCB0aGlzIHdvdWxkIHJlc3VsdCBpbgoJICBmZXdlciBjaGFuZ2VzIG92ZXJhbGwgYW5kIGJlIGxlc3MgY29uZnVzaW5nLiAgSXQgYnJlYWtzIHN5bW1ldHJ5IHdpdGgKCSAgdGhlICJwcm9ncmFtLW51bWJlciIgcHJvcGVydHksIGJ1dCBpdCByZXRhaW5zIHBhcmFsbGVscyB3aXRoIHRoZSBsaWtlcwoJICBvZiBwcm9ncmFtLT5wcm9ncmFtX251bWJlci4KCSAgQmVjYXVzZSBnc3RfdHNfZGVtdXhfcmVzZXQgaXMgY2FsbGVkIGFmdGVyIHRoZSBwcm9wZXJ0aWVzIGhhdmUgYmVlbgoJICBwYXJzZWQsIHJlcXVlc3RlZF9wcm9ncmFtX251bWJlciBpcyBpbml0aWFsaXNlZCBpbiBnc3RfdHNfZGVtdXhfaW5pdC4KCSAgV2hldGhlciB0aGlzIGlzIGV4YWN0bHkgdGhlIHJpZ2h0IHBsYWNlLCBJIGRvbid0IGtub3cuCgoyMDEzLTAzLTA2IDEyOjE1OjQ3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcHJvZ3JhbS1udW1iZXIgZnVuY3Rpb25hbGl0eQoJICBTZXR0aW5nIHRoZSBwcm9ncmFtLW51bWJlciBwcm9wZXJ0eSBkb2VzIG5vdCBhZmZlY3Qgd2hpY2ggcHJvZ3JhbQoJICBpcyBhY3R1YWxseSBiZWluZyBkZW11eGVkLgoJICBNb3ZpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwcm9ncmFtX251bWJlciBmcm9tCgkgIGdzdF90c19kZW11eF9yZXNldCB0byBnc3RfdHNfZGVtdXhfaW5pdCBzZWVtcyB0byBmaXggdGhpcyBpc3N1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDkzNAoKMjAxMy0wNy0yMiAwOToxODozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2Ugb24gdGhlIG1wZWcgZGVtdXhlciBzcmNwYWRzCgoyMDEzLTA3LTE3IDE3OjEyOjU5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgRXhwbGljaXRseSB1bnNldCBkaXNjb250IGZsYWcgd2hlbiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA3LTE3IDExOjI4OjI4ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIGdyYWJjdXQ6IEFkZCBHcmFiQ3V0IHNlZ21lbnRhdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjIKCjIwMTMtMDctMTUgMjM6MDE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBoZWlnaHQgZXh0cmFjdGlvbiBmb3IgSDI2M3AKCjIwMTMtMDctMTUgMjI6NTc6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgdXBzdHJlYW0gZG9lc24ndCBwcm92aWRlIG9uZQoKMjAxMy0wNy0wOSAxMjo0OTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHR5cG8gaW4gY2hlY2tfcXVldWVfZnVsbCBmdW5jdGlvbgoJICBJdCBzaG91bGQgcmV0dXJuIFRydWUgd2hlbiB0aGUgcXVldWUgSVMgZnVsbAoJICBGaXhlcyAjNzA0MjI2CgoyMDEzLTA3LTE1IDExOjE1OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZW1lbWJlciBzZWVrIHNlcXVlbmNlIG51bWJlcgoJICAqIEF2b2lkcyBoYW5kbGluZyB0d2ljZSB0aGUgc2FtZSBzZWVrIChjYW4gaGFwcGVuIHdpdGggcGxheWJpbiBhbmQgZmlsZXMKCSAgd2l0aCBzdWJ0aXRsZXMpCgkgICogU2V0IHRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIHNlZ21lbnQgZXZlbnQgdG8gdGhlIHNlcXVlbmNlIG51bWJlciBvZgoJICB0aGUgc2VlayBldmVudCB0aGF0IGdlbmVyYXRlZCBpdCAoLTEgZm9yIHRoZSBpbml0aWFsIG9uZSkuCgoyMDEzLTA1LTI0IDE4OjE4OjM1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAxMy0wNS0yOCAxNjoxNDo0MiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZWNhbGN1bGF0ZSBuZXcgc2VnbWVudCBhZnRlciBieXRlIHNlZWsKCSAgVGhlIHNlZWtpbmcgc3RhcnQgdGltZSBpcyBhcHByb3hpbWF0ZWQgZnJvbSB0aGUgc2VlayBvZmZzZXQgaW4gYnl0ZXMKCSAgdXNpbmcgdGhlIGFjY3VtdWxhdGVkIFBDUiBvYnNlcnZhdGlvbnMsIHNvIG9uIGEgVkJSIHN0cmVhbSB0aGVyZSBtaWdodAoJICBiZSBhIGJpZyBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGFjdHVhbCBQQ1IgYW5kIHRoZSBlc3RpbWF0ZWQgb25lIGFmdGVyCgkgIHRoZSBzZWVrLiBUaGlzIG1pZ2h0IHJlc3VsdCBpbiBhIGxvbmcgd2FpdCB0byBza2lwIGFsbCBvdXQgb2Ygc2VnbWVudHMKCSAgcGFja2V0cy4KCSAgSW5zdGVhZCB3ZSBqdXN0IHJlY2FsY3VsYXRlIHRoZSBuZXcgc2VnbWVudCB0byBzdGFydCBhdCB0aGUgZmlyc3QgUFRTCgkgIGFmdGVyIHRoZSBzZWVrLCBzbyB0aGF0IHBsYXliYWNrIHN0YXJ0cyBpbW1lZGlhdGx5LgoKMjAxMy0wNy0xMyAyMzo0OTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGRvY3MgYW5kIHdpbjMyIGNvbmZpZy5oIHRvIGRldmVsb3BtZW50IHZlcnNpb24KCjIwMTMtMDctMTIgMTU6NTg6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgIGRvY3M6IGFkZCBuZXdseS1wb3J0ZWQgZWxlbWVudHMgdG8gZG9jcwoKMjAxMy0wNy0xMSAxNzo0NjozNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXNlIHNlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uIHZhbHVlcyB0byB1cGRhdGUgdGhlIHNyYyBjYXBzCgkgIFRoZSBjYXBzIHNob3VsZCBhbHdheXMgcmVwcmVzZW50IHdoYXQgdGhlIHVzZXIgaXMgc3VwcG9zZWQgdG8gc2VlLgoJICBTbyBpZiB0aGVyZSBpcyBhIHNlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUKCSAgc3RyZWFtIHRoZW4gdXNlIHRoZSBkaXNwbGF5X2hvcml6b250YWxfc2l6ZS9kaXNwbGF5X3ZlcnRpY2FsX3NpemUKCSAgdG8gdXBkYXRlIHRoZSBzcmMgY2FwcyAoaWYgdGhleSBhcmUgbGVzcyB0aGFuIHRoZSB2YWx1ZXMgcHJvdmlkZWQKCSAgYnkgc2VxdWVuY2UgaGVhZGVyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDAwOQoKMjAxMy0wNy0xMiAwOTo0NTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4yCgkgIE9vcHMuLi4gc2hvdWxkJ3ZlIGJlZW4gcGFydCBvZiAxLjEuMiB0YWcgYWxyZWFkeSA6KAoKMjAxMy0wNy0xMSAxNjo1NzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMiA9PT0KCjIwMTMtMDctMTEgMTY6MzE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMTAgMTI6Mjg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueSBkYXRhCgoyMDEzLTA3LTA4IDA4OjQ0OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCBwYXJzaW5nIHNlY3Rpb24gd2l0aG91dCBlbm91Z2ggZGF0YQoJICBUaGlzIGlzIGFjdHVhbGx5IGEgd29ya2Fyb3VuZCAod2UnbGwgYmUgc2tpcHBpbmcgdGhlIHVwY29taW5nIHNlY3Rpb24pCgkgIFRoaXMgd2lsbCBvbmx5IGhhcHBlbiBmb3Igc2VjdGlvbnMgd2hlcmUgdGhlIGJlZ2lubmluZyBpcyBsb2NhdGVkIHdpdGhpbgoJICB0aGUgbGFzdCA4IGJ5dGVzIG9mIGEgcGFja2V0ICh3aGljaCBpcyB0aGUgbWluaW11bSB3ZSBuZWVkIHRvIHByb3Blcmx5CgkgIGlkZW50aWZ5IGFueSBzZWN0aW9uIGJlZ2lubmluZykuCgkgIExhdGVyIHdlIHNob3VsZCBmaWd1cmUgb3V0IGEgd2F5IHRvIHN0b3JlIHRob3NlIGJ5dGVzIGFuZCBtYXJrIHRoYXQKCSAgc29tZSBhbmFseXNpcyBuZWVkcyB0byBoYXBwZW4uIFRoZSBwcm9iYWJpbGl0eSBvZiB0aGlzIGhhcHBlbmluZyBpcwoJICB0b28gbG93IGZvciBtZSB0byBjYXJlIHJpZ2h0IG5vdyBhbmQgZG8gdGhhdCBmaXguIFRoZXJlIGlzIGEgZ29vZCBjaGFuY2UKCSAgdGhhdCBzZWN0aW9uIHdpbGwgZXZlbnR1YWxseSBiZSByZXBlYXRlZCBhbmQgd29uJ3QgZW5kIHVwIG9uIHN1Y2ggYm9yZGVyLgoKMjAxMy0wNy0wOCAwODo0Mzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgQkFUIHN1cHBvcnQgdG8gbXBlZ3RzIGV4YW1wbGUKCjIwMTMtMDctMDggMDg6NDI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBVbmlmeSBzZWN0aW9uIGNoZWNrcyBhbmQgYWRkIEJBVCBwYXJzaW5nCgkgICogQXZvaWQgcmVwZWF0aW5nIGNvZGUgZXZlcnl3aGVyZSwgYW5kIGluc3RlYWQgcHJvdmlkZSBhbGwgcGFyc2luZwoJICBpbmZvcm1hdGlvbiBpbiBvbmUgZ28uCgkgICogQWRkIEJBVCBzdXBwb3J0CgkgICogUmVmaW5lIEJBVC9DQVQgaWRlbnRpZmljYXRpb24gKGJ5IGFkZGluZyBQSUQgY2hlY2tzKQoKMjAxMy0wNy0wNyAxMTo0Mjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHZtZXRob2QgY2FsbHMKCSAgRGVwZW5kaW5nIG9uIHVzYWdlLCB0c3BhcnNlIGFuZCB0c2RlbXV4IG1pZ2h0IG5vdCBuZWVkIHRvIGJlIGNhbGxlZAoJICB3aGVuIG5ldyBzZWN0aW9uL3Blcy1kYXRhIGlzIGF2YWlsYWJsZS4KCjIwMTMtMDctMDcgMTA6MjU6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGVzCgkgICogcGFja2V0Lm9yaWd0cyBpcyBubyBsb25nZXIgdXNlZCBzaW5jZSB0aGUgUENSIHJlZmFjdG9yaW5nIGRvbmUgYWdlcyBhZ28KCSAgKiBrbm93bl9wYWNrZXRfc2l6ZSBpcyBhIGR1cGxpY2F0ZSBvZiBwYWNrZXRfc2l6ZSAhPSAwCgkgICogY2FwcyB3YXMgbmV2ZXIgdXNlZCBvdXRzaWRlIG9mIHRoZSBwYWNrZXRpemVyCgoyMDEzLTA3LTA5IDExOjM5OjQ2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2VyOiBmaXggc2l6ZSBjYXBzIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMuCgkgIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGgyNjRwYXJzZXIgYmVoYXZpb3VyIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMKCSAgaW4gc2l6ZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDY4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDggMTg6NDQ6MjQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgY3JvcHBpbmcgcmVjdGFuZ2xlLgoJICBGaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIGNyb3BwaW5nIHJlY3RhbmdsZSwgYW5kIG1vcmUgcHJlY2lzZWx5CgkgIHRoZSBhY3R1YWwgY3JvcHBlZCBoZWlnaHQuIFRoZSBmcmFtZV9jcm9wX3RvcF9vZmZzZXQgc3VidHJhY3Rpb24KCSAgd2FzIG5vdCBzY2FsZWQgdXAgd2l0aCBTdWJIZWlnaHRDLgoJICBBbHNvIGNsZWFuLXVwIHZhcmlhYmxlcyB0byBhbGlnbiBtb3JlIHdpdGggKDctMTgpIHRvICg3LTIxKS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0xNSAxNDoxODo0OSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBQYXJzZSB0aGUgY3JvcHBpbmctcmVjdGFuZ2xlIHNlcGFyYXRlbHkuCgkgIEFzc2lnbiB0aGUgdW4tY3JvcHBlZCB3aWR0aC9oZWlnaHQgdG8gc3BzLT53aWR0aC9zcHMtPmhlaWdodAoJICBkdXJpbmcgc3BzIGhlYWRlciBwYXJzaW5nLiBBZGRlZCBuZXcgZmllbGRzIHRvIFNQUyBoZWFkZXIgc3RydWN0dXJlCgkgIHRvIHByb3ZpZGUgdGhlIGNyb3AtcmVjdGFuZ2xlIGRpbWVuc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwNjgKCjIwMTMtMDctMDMgMTY6Mzg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBxdWV1ZSBmdWxsIGNoZWNrIGZ1bmN0aW9uCgkgIENoZWNrcyBpZiB0aGUgcXVldWUgaXMgZnVsbCBhY2NvcmRpbmcgdG8gbWF4IGJ1ZmZlcmluZyB0aW1lCgkgIHNldCBieSB0aGUgdXNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTA3LTA5IDAwOjQ3OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtaW5vciByZWZhY3RvcgoJICBTcGxpdCBvbmUgdmVyeSBsYXJnZSBmdW5jdGlvbiBpbnRvIDIgc21hbGxlciBidXQgc3RpbGwgbGFyZ2UgZnVuY3Rpb25zLgoJICBBbHNvIGNoYW5nZSB0aGUgaWYgY29uZGl0aW9ucyB0byBwb3NpdGl2ZSBjaGVja3MgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4KCjIwMTMtMDctMDggMjM6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBsaXZlIHBsYXliYWNrIHJlc3luYwoJICBEdXJpbmcgYSBsaXZlIHN0cmVhbSBpdCBpcyBwb3NzaWJsZSBmb3IgZGFzaGRlbXV4IHRvIGxhZyBiZWhpbmQgb24gYQoJICBzbG93IGNvbm5lY3Rpb24gb3IgdG8gcnVzaCBhaGVhZCBvZiB0aGUgY29ubmVjdGlvbiBvcyB0b28gZmFzdC4KCSAgRm9yIHRoZSBmaXJzdCBjYXNlIGl0IGlzIG5lY2Vzc2FyeSB0byBqdW1wIHNvbWUgc2VnbWVudHMgYWhlYWQgdG8gYmUgYWJsZSB0bwoJICBjb250aW51ZSBwbGF5YmFjayBhcyBvbGQgc2VnbWVudHMgYXJlIHVzdWFsbHkgZGVsZXRlZCBmcm9tIHRoZSBzZXJ2ZXIuCgkgIEZvciB0aGUgbGF0ZXIsIGRhc2hkZW11eCBzaG91bGQgd2FpdCBhIGxpdHRsZSBiZWZvcmUgYXR0ZW1wdGluZyBhbm90aGVyCgkgIGRvd25sb2FkIGRvIGdpdmUgdGltZSB0byB0aGUgc2VydmVyIHRvIHByb2R1Y2UgYSBuZXcgc2VnbWVudAoKMjAxMy0wNy0wNSAxMzoyMjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCB0ZW1wbGF0ZSBiYXNlZCBzZWdtZW50IGdlbmVyYXRpb24KCSAgV2hlbiB1c2luZyBhIHRlbXBsYXRlIGJhc2VkIHNlZ21lbnQgbGlzdCwgZG8gbm90IHRyeSB0bwoJICBjb250cnVjdCBhIGZpbml0ZSBzZWdtZW50IGxpc3QgZm9yIHRoZSBsaW1pdHMgb2YgdGhlIGF2YWlsYWJsZSBwZXJpb2RzLgoJICBXZSBtaWdodCBub3Qga25vdyB3aGVuIHRoZSBwZXJpb2QgZW5kcyAoZm9yIGxpdmUgc3RyZWFtcykgYW5kIHdlIGNhbgoJICBhbHdheXMgY3JlYXRlIHRoZSBzZWdtZW50IG9uIGRlbWFuZCB3aGVuIHJlcXVlc3RlZCBieSBkYXNoZGVtdXgsCgkgIGF2b2lkaW5nIHVzZSBvZiBzb21lIG1lbW9yeSBhbmQgY3B1IHdoZW4gcmUtY3JlYXRpbmcgdGhpcyBsaXN0LgoKMjAxMy0wNy0wNCAyMzo0MjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB1c2UgbW9yZSBhcHByb3ByaWF0ZSBkYXRhIHN0cnVjdHVyZXMgZm9yIHBhcnNpbmcKCSAgUmVwbGFjZXMgdGhlIDIgbGlrZWx5IGxhcmdlciBsaXN0cyB3aXRoIG1vcmUgYXBwcm9wcmlhdGUgc3RydWN0dXJlcwoJICB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLgoJICBSZXBsYWNlcyBTIG5vZGVzIEdMaXN0IGZvciBhIEdRdWV1ZSwgdGhpcyByZWR1Y2VzIGxhdGVuY3kgdG8gc3RhcnR1cAoJICBiZWNhdXNlIG9mIHRyYXZlcnNpbmcgdGhlIGxpc3QganVzdCBhcHBlbmQgYW4gZWxlbWVudC4KCSAgUmVwbGFjZXMgdGhlIHByb2Nlc3NlZCBtZWRpYSBzZWdtZW50cyBHTGlzdCBmb3IgYSBHUHRyQXJyYXkgYXMgaXQgaXMKCSAgY29uc3RhbnRseSBhY2Vzc2VkIGJ5IGluZGV4IGR1cmluZyBwbGF5YmFjay4KCjIwMTMtMDctMDQgMTU6MTQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFuc3dlciB0byBsYXRlbmN5IHF1ZXJpZXMKCSAgU2V0IGxpdmUgaWYgc3RyZWFtIGlzIGxpdmUgYW5kIGFsc28gYWRkIHRvIHRoZSBtYXggbGF0ZW5jeSB0aGUKCSAgbWF4IGludGVybmFsIGJ1ZmZlcmluZwoKMjAxMy0wNy0wOCAyMjowMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBmaXggY3Jhc2ggd2hlbiBkb3dubG9hZCBpcyBudWxsCgkgIERvIG5vIHRyeSB0byB1bnJlZiBhIE5VTEwgZG93bmxvYWQgYXR0cmlidXRlCgoyMDEzLTA3LTA4IDIyOjAwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGRvIG5vdCBzZXQgY2FuY2VsbGVkIHVubGVzcyBleHBsaWNpdGx5IGNhbGxlZCBieSB1c2VyCgkgIENhbmNlbGxlZCBpcyBhICdwZXJtYW5lbnQnIHN0YXRlIG9mIHRoZSB1cmlkb3dubG9hZGVyIGFuZCBpcyBvbmx5CgkgIHJlbW92ZWQgYnkgYSBjYWxsIHRvIF9yZXNldC4gV2hlbiBhIGRvd25sb2FkIGZhaWxzIHdlIGp1c3Qgd2FudCB0bwoJICByZXR1cm4gTlVMTCBvbiB0aGUgZmV0Y2ggZnVuY3Rpb24gYW5kIGxlYXZlIHRoZSBkb3dubG9hZGVyIHJlYWR5CgkgIGZvciBhbm90aGVyIGZldGNoLCBvdGhlcndpc2UgdGhlIHVzZXIgaGFzIHRvIGNhbGwgX3Jlc2V0IGFmdGVyCgkgIGZhaWxlZCBkb3dubG9hZGVyLCBldmVuIHdoZW4gaXQgZGlkbid0IGNhbGwgX2NhbmNlbC4KCjIwMTMtMDctMDcgMDg6MzU6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQXZvaWQgZmFsc2UtcG9zaXRpdmVzIGluIHNlY3Rpb24gdHlwZSBkZXRlY3Rpb24KCSAgRHVlIHRvIHRoZSB2YXJpZXR5IG9mIHNlY3Rpb24gdHlwZXMgb3V0IHRoZXJlLCB3ZSBuZWVkIHRvIGFkZAoJICBzb21lIGNoZWNrcyB3aGVuIGlkZW50aWZ5aW5nIHNlY3Rpb24gdHlwZXMuCgkgIFdlIGNoZWNrIGhlcmUgdGhhdCB0aGUgUElEIGlzIGFsc28gY29uc2lzdGVudCB3aXRoIHRoZSB0YWJsZV9pZC4KCjIwMTMtMDctMDcgMDg6Mjk6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBtdWx0aXBsZS1TSSBkZXRlY3Rpb24vcGFyc2luZwoJICBXZSBoYWQgdHdvIGlzc3VlcyB3aXRoIHRoZSBwcmV2aW91cyBjb2RlOgoJICAxKSBXZSB3ZXJlIGJhZGx5IGhhbmRsaW5nIFBVU0ktZmxhZ2dlZCBwYWNrZXRzLiBXZSB3ZXJlIGRpc2NhcmRpbmcgdGhlCgkgIGluaXRpYWwgZGF0YSAoaWYgcG9pbnRlciAhPSAwKSB3aGVyZWFzIHdlIHNob3VsZCBoYXZlIGJlZW4gYWNjdW11bGF0aW5nCgkgIGl0IHdpdGggdGhlIHByZXZpb3VzIGRhdGEgKGlmIHRoZXJlIHdhcyBhIGNvbnRpbnVpdHkgb2YgY291cnNlKS4KCSAgPT4gRmlyc3Qgc2VyaWVzIG9mIGluZm9ybWF0aW9uIGxvc3MKCSAgMikgV2Ugd2VyZSBub3QgY2hlY2tpbmcgd2hldGhlciB0aGVyZSB3ZXJlIG1vcmUgc2VjdGlvbnMgYWZ0ZXIgdGhlIGVuZAoJICBvZiBvbmUgKGkuZS4gd2hlbiB0aGUgZm9sbG93aW5nIGJ5dGUgd2FzIG5vdCBhIHN0dWZmIGJ5dGUpLgoJICBUaGlzIGZpeGVzIHRob3NlIHR3byBpc3N1ZXMuCgkgIEZpeGVzICM2Nzc0NDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzQ0MwoKMjAxMy0wNy0wNyAwNzoyMTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEZpeCBzd2l0Y2gvY2FzZSB0eXBvCgkgIEVuZGVkIHVwIHRyeWluZyB0byBhbmFseXplIFBNVCAuLi4gd2l0aCBhIFBBVCA6KAoKMjAxMy0wNy0wNiAxNDo1MDo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIHByaXZhdGUgc2VjdGlvbiBzdHJlYW1zCgkgIFVudGlsIG5vdyB3ZSBzaW1wbHkgaWdub3JlZCB0aG9zZSBzdHJlYW1zIChzaW5jZSB3ZSBjb3VsZG4ndCBkbyBhbnl0aGluZwoJICB3aXRoIGl0IGFueXdheSkuIE5vdyB0aGF0IHdlIGhhdmUgdGhlIG1wZWd0cyBsaWJyYXJ5IGFuZCB3ZSBvZmZsb2FkIHRoZQoJICBzZWN0aW9uIGhhbmRsaW5nIHRvIHRoZSBhcHBsaWNhdGlvbiBzaWRlIHdlIGNhbiBwcm9wZXJseSBpZGVudGlmeSBhbmQKCSAgZXh0cmFjdCB0aGVtLgoJICBCeSBkZWZhdWx0IGl0IGlzIGRpc2FibGVkIGZvciB0c3BhcnNlIGFuZCBlbmFibGVkIGZvciB0c2RlbXV4LCBidXQgdGhlcmUgaXMKCSAgYSBwcm9wZXJ0eSB0byBjaGFuZ2UgdGhhdC4KCSAgVGhpcyBzaG91bGQgb3BlbiB0aGUgd2F5IHRvIHByb3Blcmx5IGhhbmRsZSBhbGwgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMsCgkgIGluY2x1ZGluZzoKCSAgKiBEU00tQ0MKCSAgKiBNSEVHCgkgICogQ2Fyb3VzZWwgZGF0YQoJICAqIE1ldGFkYXRhIHN0cmVhbXMgKHRob3VnaCBJIGhhdmVuJ3Qgc2VlbiBhbnkgb2YgdGhvc2UgaW4gdGhlIHdpbGQpCgkgICogLi4uIEFuZCBhbGwgb3RoZXIgc3BlY3MvcHJvdG9jb2xzIG1ha2luZyB1c2Ugb2YgdGhvc2UKCSAgUGFydGlhbGx5IGZpeGVzICM1NjA2MzEKCjIwMTMtMDctMDYgMTI6Mzk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IFByb3Blcmx5IGhhbmRsZSBVVEMgdGltZSBpbiBzZWN0aW9ucwoJICAqIGRvbid0IHVucmVmIGluZXhpc3RhbnQgR3N0RGF0ZVRpbWUKCSAgKiBGaW5lLXR1bmUgaG91ci9taW4vc2VjIEJDRCByZWFkaW5nIGNvZGUKCSAgKiBVcGRhdGUgZXhhbXBsZSBjb2RlIGFjY29yZGluZ2x5CgoyMDEzLTA3LTA2IDEwOjU5OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IFJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yIHN1cHBvcnQKCSAgQW5kIG91dHB1dCB0aGUgbGVuZ3RoIG9mIHRoZSBkZXNjcmlwdG9ycwoKMjAxMy0wNy0wNiAxMDozODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBOSVQgcGFyc2luZwoJICBUaGUgc2l6ZSBjaGVja3Mgd2VyZSB3cm9uZy4gVGhlIHNtYWxsZXN0IHNpemUgZm9yIGEgTklUIGlzIDE2IGJ5dGVzCgkgICgxMiBmb3IgdGhlIHNtYWxsZXN0IGNvbnRlbnQgKyA0IGZvciBjcmMpIGFuZCB0aGUgc21hbGxlc3Qgc2l6ZSBmb3IKCSAgYSBpbm5lciBzdHJlYW0gbG9vcCBpcyA2IGJ5dGVzICh3aXRob3V0IGFueSBkZXNjcmlwdG9ycykuCgkgIEFsc28gcmVtb3ZlIEZJWE1FIHRoYXQgaGFzIGFscmVhZHkgbW92ZWQgZWxzZXdoZXJlCgoyMDEzLTA3LTA2IDEwOjM2OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIHJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yIGZvciBwcm9ncmFtcyBhbmQgc3RyZWFtcwoJICAqIEFsbG93cyB1cyB0byBzaW1wbGlmeSBzb21lIGNvZGUgYW5kIHByZXBhcmUgZm9yIGZ1dHVyZSBjbGVhbnVwcy4KCSAgKiBSZW1vdmUgdXNlbGVzcyBjYXN0cwoJICAqIEFkZCBzb21lIEZJWE1FIHJlZ2FyZGluZyBWQzEKCjIwMTMtMDctMDUgMjE6NDk6NDggKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY4MwoKMjAxMy0wNy0wNSAxMToyMDo0OSAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkgIHdlYnZ0dGVuYzogU2VwYXJhdGUgY3VlcyB3aXRoIHR3byBsaW5lIGJyZWFrcyBpbnN0ZWFkIG9mIG9uZS4KCSAgU2VlIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3dlYnZ0dC8jc3ludGF4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NzMKCjIwMTMtMDctMDUgMTg6MzM6NDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGZpeCB2aWRlbyBwYWNrZXQgaGVhZGVyIHNpemUgY2hlY2tzLgoJICBGaXggdmlkZW8gcGFja2V0IGhlYWRlciBzaXplIGNoZWNrcyBmb3I6CgkgIC0gU2VxdWVuY2UgSGVhZGVyOiA2NCBiaXRzIDsKCSAgLSBTZXF1ZW5jZSBTY2FsYWJsZSBFeHRlbnNpb246IDEwIGJpdHMgOwoJICAtIFNsaWNlIEhlYWRlcjogNiBiaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjY4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDUgMTQ6NTg6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBtaXNzaW5nIGd0ay1kb2MgZW50cmllcy4KCSAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgd2VyZSBtaXNzaW5nIGd0ay1kb2MgZW50cmllczoKCSAgLSBnc3RfbXBlZ192aWRlb19wYXJzZV9zZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbgoJICAtIGdzdF9tcGVnX3ZpZGVvX2ZpbmFsaXNlX21wZWcyX3NlcXVlbmNlX2hlYWRlcgoJICAtIGdzdF9tcGVnX3ZpZGVvX3F1YW50X21hdHJpeF9nZXRfcmFzdGVyX2Zyb21femlnemFnCgkgIC0gZ3N0X21wZWdfdmlkZW9fcXVhbnRfbWF0cml4X2dldF96aWd6YWdfZnJvbV9yYXN0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY2NwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDExOjU3OjU0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiB1cGRhdGUgdGVzdCBwcm9ncmFtIHdpdGggbmV3IEdzdE1wZWdWaWRlb1BhY2tldCBBUEkuCgkgIFRoaXMgaXMgdGhlIGxvc3QgaHVuayBmcm9tOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzAgMTY6NTY6MTUgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBzbGljZSBoZWFkZXIgcGFyc2luZyBBUEkuCgkgIEFkZCBBUEkgdG8gcGFyc2UgdGhlIFNsaWNlIGhlYWRlci4gVGhpcyBhbHNvIGNhbGN1bGF0ZXMgdGhlIG1hY3JvYmxvY2sKCSAgcG9zaXRpb24gYXMgc3BlY2lmaWVkIGluIDYuMy4xNi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI3NAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjUgMTU6NDg6NTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBzZXF1ZW5jZSBzY2FsYWJsZSBleHRlbnNpb24gcGFyc2luZyBBUEkuCgkgIEFkZCBBUEkgdG8gcGFyc2UgdGhlIFNlcXVlbmNlIFNjYWxhYmxlIEV4dGVuc2lvbiBoZWFkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNzQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA0IDE0OjIyOjE0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjb3BlIHdpdGggbmV3IHBhcnNlciBBUEkuCgkgIE1pZ3JhdGUgdGhlIGNvZGUgdG8gdXNlIHRoZSBuZXcgcGFyc2VyIEFQSSBiYXNlZCBvbiBHc3RNcGVnVmlkZW9QYWNrZXQuCgkgIEFsc28gdHJ5IHRvIG9wdGltaXplIGdzdF9tcGVndl9wYXJzZV9wcm9jZXNzX2NvbmZpZygpIGJ5IHVzaW5nIG1vcmUgb2YKCSAgR3N0TXBlZ1ZpZGVvUGFja2V0IGFuZCBkZXRlcm1pbmluZyB0aGUgZXh0ZW5zaW9uX3N0YXJ0X2NvZGVfaWRlbnRpZmllcgoJICBwcmlvciB0byBjYWxsaW5nIHRoZSBwYXJzZXIgZnVuY3Rpb24gZm9yIHRoYXQgZXh0ZW5zaW9uIHBhY2tldC4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxMTo1Nzo1NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIG5ldyBBUEkgdGhhdCB0YWtlcyBHc3RNcGVnVmlkZW9QYWNrZXQgYXJndW1lbnRzLgoJICBBZGQgbmV3IGludGVyZmFjZSB0byBNUEVHLTIgdmlkZW8gcGFyc2VyIHRoYXQgdGFrZXMgR3N0TXBlZ1ZpZGVvUGFja2V0CgkgIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIGRhdGEsIHNpemUsIGFuZCBvZmZzZXQuIE5ldyBmdW5jdGlvbnMgYXJlIGNhbGxlZAoJICBhZnRlciBnc3RfbXBlZ192aWRlb19wYWNrZXRfKigpIGFuZCBwcm92aWRlIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoJICBPbGRlciBBUEkgaXMgbW92ZWQgdG8gdGhlIGRlcHJlY2F0ZWQgbmFtZXNwYWNlIGFuZCB1c2VzIHRoZSBuZXcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDUgMTY6NDY6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIG5vLWxvbmdlciBuZWVkZWQgY29kZQoJICBTaW5jZSB3ZSBub3cgc2VuZCBhbGwgc2VjdGlvbnMgdG8gdGhlIHBhY2tldGl6ZXIsIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRvCgkgIGFueW1vcmUgaW4tZGVwdGggY2hlY2tzIGZvciB0aGUgdmFsaWRpdHkgb2YgYSBzZWN0aW9uLgoJICBUaGUgY2hvaWNlIGJvaWxzIGRvd24gdG86CgkgIDEpIElzIGl0IGZyb20gYSBrbm93biBQRVMgcGlkID8gSWYgc28gcGFzcyBpdCBvbiAod2hpY2ggbWlnaHQgYmUganVzdCBwdXNoaW5nCgkgIGRvd25zdHJlYW0gaW4gdGhlIGNhc2Ugb2YgdHNwYXJzZSwgb3IgYWNjdW11bGF0aW5nIFBFUyBkYXRhIGZvciB0c2RlbXV4KQoJICAyKSBJcyBpdCBmcm9tIGEga25vd24gU0kgcGlkID8gSWYgc28gcGFzcyBpdCB0byB0aGUgc2VjdGlvbiBwYWNrZXRpemVyCgoyMDEzLTA3LTA1IDEzOjUzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEZpeCBQTVQgaGFuZGxpbmcKCSAgV2FzIHVzaW5nIGFuIG9sZGVyICh0ZW1wb3JhcnkpIHZlcnNpb24gb2YgdGhlIG1wZWd0cyBsaWJyYXJ5IEFQSS4KCjIwMTMtMDctMDUgMTA6NTc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxpbmcKCSAgV2UgcHJldmlvdXNseSB3ZXJlbid0IHVzaW5nIHRoYXQgdmFyaWFibGUgLi4uCgoyMDEzLTA3LTA0IDA4OjQzOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgICogQWRkIGEgYmFzZSBwYWdlIGZvciB0aGUgbGlicmFyeQoJICAqIEFkZCBwYWdlcyBmb3IgdGhlIGJhc2UgTVBFRy1UUyBzZWN0aW9uIGFuZCBkZXNjcmlwdG9ycwoJICAqIEFkZCBwYWdlcyBmb3IgdGhlIGtub3duIHZhcmlhbnRzCgkgICogQWRkIGRvY3VtZW50YXRpb24gb24gbW9yZSBmaWVsZHMvc2VjdGlvbnMvdHlwZXMKCSAgKiBSZW1vdmUgc29tZSBmaXhtZXMgdGhhdCB3ZXJlIC4uLiBmaXhlZAoKMjAxMy0wNy0wNCAwNzo0OTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN3aXRjaCB0byB1c2luZyBHc3RNcGVnVHNTdHJlYW1UeXBlCgkgIFdlIHN0aWxsIGhhdmUgc29tZSBvdGhlciBzdHJlYW0gdHlwZXMgd2hpY2ggaGF2ZW4ndCBiZWVuIHBvcnRlZCwgYnV0CgkgIHdlIHdpbGwgZG8gc28gb25jZSB3ZSBoYXZlIGRlZmluZWQgdGhlIGVudW1zIGluIHRoZSBtcGVndHMgbGlicmFyeS4KCSAgQWxzbyBhZGQgc29tZSBGSVhNRXMgcmVnYXJkaW5nIGl0ZW1zIGRpc2NvdmVyZWQgZHVyaW5nIGFuYWx5c2lzCgoyMDEzLTA3LTA0IDA3OjQ4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHNkZXNjcmlwdG9yOiBGaXggaGFuZGxpbmcgb2YgdW5rbm93biBzdHJlYW0gZW5jb2RpbmdzCgkgIElmIHdlIGNhbm5vdCBpZGVudGlmeSB0aGUgZW5jb2RpbmcgdXNlZCBmb3IgYSBzdHJpbmcsIHJldHVybiBhIE5VTEwKCSAgc3RyaW5nIGluc3RlYWQgb2YgZ2FyYmFnZSBhbmQgYWRkIGEgRklYTUUgc28gd2UgY2FuIGRldGVjdCBhbmQgbGF0ZXIKCSAgZml4IGl0LgoKMjAxMy0wNy0wNCAwNzo0NToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogQWRkIHJlZ2lzdGVyZWQgbXBlZy10cyBzdHJlYW0gdHlwZXMKCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgb2ZmaWNpYWxseSByZWdpc3RlcmVkIGluIHRoZSBiYXNlIHNwZWNpZmljYXRpb24KCSAgKEguMjIyLjAvMTM4MTgtMSkuIExhdGVyIG9uIHdlIGNhbiBhZGQgb3RoZXIgZW51bXMgZm9yIG90aGVyIHZhcmlhbnRzCgkgIE5vdGUgdGhhdCB0aGUgZW51bSBpcyBub3QgdXNlZCBpbiB0aGUgc3RydWN0dXJlIGZpZWxkcyAoc3VjaCBhcyBhIHBtdAoJICBzdHJlYW0gc3RyZWFtX3R5cGUgZmllbGQpIHNpbmNlIGl0IGNhbiBjb250YWluIHZhbHVlcyBmcm9tIG90aGVyCgkgIHZhcmlhbnRzLgoKMjAxMy0wNy0wNCAwMjoxMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBleGFtcGxlczogYWRkIG1pc3NpbmcgbGliIHRvIG1ha2VmaWxlCgkgIEZpeGVzIGluaXRpYWxpemF0aW9uIG9mIHNhbXBsZSBhcHBsaWNhdGlvbgoKMjAxMy0wNy0wMyAxOToxMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJldmVudCBhc3NlcnRpb24gd2hlbiBkdXJhdGlvbiBpcyB1bmtub3duCgkgIER1cmF0aW9uIGZyb20gc2VnbWVudCBiZWluZyB1bmtub3duIGlzIGEgaXNzdWUgZnJvbSB0aGUgTVBEIGFuZCBub3QKCSAgYSBwcm9ncmFtbWluZyBpc3N1ZSwgc28gdGhlIGFzc2VydCBpc24ndCB1c2VmdWwgaGVyZS4gSW5zdGVhZCBjaGVjawoJICBhbmQgcmV0dXJuIGFuIGVycm9yIGNvZGUgc28gdGhlIGNhbGxlciBjYW4gZmFsbGJhY2sgdG8gYWx0ZXJuYXRpdmVzCgoyMDEzLTA3LTAzIDE5OjExOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggZXZlbnQgbGVhayB3aGVuIHBhcnNpbmcgbWFuaWZlc3QgZmFpbHMKCSAgQWx3YXlzIHJlbWVtYmVyIHRvIHVucmVmIHRoZSBldmVudCBiZWZvcmUgcHJvY2VlZGluZywgaW4gYm90aCBzdWNjZXNzCgkgIGFuZCBmYWlsdXJlIGNhc2VzCgoyMDEzLTA3LTAzIDEyOjMwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHZhcmlvdXMgY2xlYW51cHMKCSAgUmVtb3ZpbmcgdW51c2VkIGZ1bmN0aW9uLCByZXBsYWNpbmcgLy8gY29tbWVudHMgd2l0aCAvKiAqLyBhbmQKCSAgcmVwbGFjaW5nIHNvbWUgR1NUX1dBUk5JTkcgd2l0aCBHU1RfSU5GTy9fREVCVUcgYXMgdGhleSBhcmUgbWVhbnQKCSAgdG8gYmUKCjIwMTMtMDYtMTEgMTQ6Mjg6NTMgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQ2hhbmdlIGZpcnN0IGZyYWdtZW50IHNlbGVjdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIFdoZW4gZGFzaGRlbXV4IHNlbGVjdHMgaXRzIGZpcnN0IGZyYWdtZW50LCBpdCBhbHdheXMgc2VsZWN0cyB0aGUKCSAgZmlyc3QgZnJhZ21lbnQgbGlzdGVkIGluIHRoZSBtYW5pZmVzdC4gRm9yIG9uLWRlbWFuZCBjb250ZW50LAoJICB0aGlzIGlzIHRoZSBjb3JyZWN0IGJlaGF2aW91ci4gSG93ZXZlciBmb3IgbGl2ZSBjb250ZW50LCB0aGlzCgkgIGJlaGF2aW91ciBpcyB1bmRlc2lyYWJsZSBiZWNhdXNlIHRoZSBmaXJzdCBmcmFnbWVudCBsaXN0ZWQgaW4gdGhlCgkgIG1hbmlmZXN0IG1pZ2h0IGJlIHNvbWUgY29uc2lkZXJhYmxlIHRpbWUgYmVoaW5kICJub3ciLgoJICBUaGUgY29tbWl0IHVzZXMgdGhlIGhvc3QncyBpZGVhIG9mIFVUQyBhbmQgdHJpZXMgdG8gZmluZCB0aGUKCSAgb2xkZXN0IGZyYWdtZW50IHRoYXQgY29udGFpbnMgc2FtcGxlcyBmb3IgdGhpcyB0aW1lIG9mIGRheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTUwOQoKMjAxMy0wNy0wMyAxODo1MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBzcGxpdCBkdmIgZGVzY3JpcHRvcnMvZW51bXMgaW50byBhIHNlcGFyYXRlIGZpbGUKCSAgV2Ugd2lsbCBkbyB0aGUgc2FtZSBvbmNlIHdlIGhhdmUgQVRTQy9JU0RCLy4uLiBkZXNjcmlwdG9yIHBhcnNpbmcKCjIwMTMtMDctMDMgMTg6NDQ6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEZpeCBUT1Qgc2VjdGlvbiBwYXJzaW5nCgkgIEFuZCB1c2UgaXQgaW4gZXhhbXBsZQoKMjAxMy0wNy0wMyAxODowMDo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBGaXggYSBsZWFrCgoyMDEzLTA3LTAzIDE3OjU5OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkgIG1wZWd0czogU3BsaXQgZmlsZXMgYW5kIGltcGxlbWVudCBmcmVlIGZ1bmN0aW9ucwoJICAqIEluIG9yZGVyIHRvIGF2b2lkIGZ1dHVyZSBjbGFzaGluZyBiZXR3ZWVuIHRhYmxlX2lkIGZvciB0aGUgdmFyaW91cwoJICBtcGVnLXRzIHZhcmlhbnRzLCB1c2UgZGlmZmVyZW50IGVudW1zLgoJICAqIEluIG9yZGVyIHRvIGtlZXAgZXZlcnl0aGluZyBjbGVhbihpc2gpIGFuZCBhbGxvdyBmb3IgY2xlYW5lciBncm93dGgsCgkgIHNwbGl0IGludG8gZGlmZmVyZW50IGZpbGVzICh3aWxsIG5lZWQgdGhlIHNhbWUgZm9yIGRlc2NyaXB0b3JzIGxhdGVyKQoJICAqIEFsc28gLi4uIGltcGxlbWVudCBmcmVlIGZ1bmN0aW9ucyBmb3IgYWxsIHRhYmxlIHR5cGVzIDopCgoyMDEzLTA3LTAzIDE1OjMwOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKMjAxMy0wNy0wMyAxMDoxNjoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogb25seSBnZW5lcmF0ZSBpbmRleCBzZWdtZW50IHVyaSBpZiB0aGVyZSBpcyBhIHRlbXBsYXRlCgkgIFNpbXBsZSBmaXggdG8gYXZvaWQgYW4gYXNzZXJ0aW9uLgoKMjAxMy0wNi0yMSAxNzowOTozMCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGluaGVyaXRhbmNlIGZvciBjZXJ0YWluIE1QRCBlbGVtZW50cwoJICBBY2NvcmRpbmcgdG8gdGhlIE1QRUctREFTSCBzcGVjLCBjZXJ0YWluIGVsZW1lbnRzIChpLmUuCgkgIFNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUsIGFuZCBTZWdtZW50TGlzdCkgc2hvdWxkIGluaGVyaXQKCSAgYXR0cmlidXRlcyBmcm9tIHRoZSBzYW1lIGVsZW1lbnRzIGluIHRoZSBjb250YWluaW5nIEFkYXB0YXRpb25TZXQKCSAgb3IgUGVyaW9kLgoJICBVcGRhdGVkIHRoZSBTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlLCBhbmQgU2VnbWVudExpc3QgcGFyc2VycwoJICB0byBwcm9wZXJseSBpbmhlcml0IGF0dHJpYnV0ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbgoJICBBZGFwdGF0aW9uU2V0IGFuZC9vciBQZXJpb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2NzcKCjIwMTMtMDYtMjEgMTU6NTE6NDYgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IGRldGVjdCBwcmVzZW5jZSBvZiB4bWwgYXR0cmlidXRlcwoJICBDb252ZXJ0IGFsbCB4bWwgYXR0cmlidXRlL2NvbnRlbnQgcGFyc2luZyBmdW5jdGlvbnMgdG8gcmV0dXJuIGEKCSAgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBhdHRyaWJ1dGUvY29udGVudCB3YXMKCSAgcHJlc2VudC4gIFdlIG5lZWQgdGhpcyBmaW5lci1ncmFpbmVkIGNvbnRyb2wgaW4gb3JkZXIgdG8gcHJvcGVybHkKCSAgaW1wbGVtZW50IHRoZSBpbmhlcml0YW5jZSBwb2xpY2llcyBkZXNjcmliZWQgaW4gdGhlIHNwZWMKCSAgQWxzbyBmaXhlZCBzZXZlcmFsIG1lbW9yeSBsZWFrIGNvbmRpdGlvbnMgd2hlbiBoYW5kbGluZyBlcnJvcnMgaW4KCSAgdGhlIHhtbCBhdHRyaWJ1dGUvY29udGVudCBwYXJzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY3NwoKMjAxMy0wNy0wMiAyMTozMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY2hhbmdlIGRlYnVnIG1lc3NhZ2UgZnJvbSB3YXJuaW5nIHRvIGluZm8KCSAgSXQgaXNuJ3QgYSB3YXJuaW5nL2lzc3VlLgoKMjAxMy0wNy0wMiAyMToyODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBmcm9tIGFjY2VzcyB0byBlbXB0eSBsaXN0IGRhdGEKCSAgQ2hlY2sgaWYgdGhlIGxpc3QgaGFzIGVsZW1lbnRzIGJlZm9yZSB0cnlpbmcgdG8gYWNjZXNzIHRoZSBsYXN0IG9uZQoJICBhbmQgY2F1c2luZyBhIHNlZ2ZhdWx0CgoyMDEzLTA3LTAyIDIzOjE2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNpbXBsaWZ5IGxvY2tpbmcgdG8gZml4IGRlYWRsb2NrcwoJICBVc2Ugb2JqZWN0IGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyBhbmQKCSAgdXNlIGRvd25sb2FkX2xvY2sgdG8gb25seSBhbGxvdyBvbmUgZG93bmxvYWQgcnVubmluZwoKMjAxMy0wNy0wMiAxNjowNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBhZ2FpbnN0IGZhaWxlZCBoZWFkZXIgZG93bmxvYWRzCgkgIEF2b2lkcyBjcml0aWNhbHMgd2hlbiBkb3dubG9hZGVkIGZyYWdtZW50IGlzIE5VTEwKCjIwMTMtMDctMDMgMTM6NTk6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1Nzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU3OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1NjoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBsaWJzL21wZWd0czogUmVuYW1lIEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCSAgU29ycnkgZm9yIHRoaXMgOiggQnV0IHRoaXMgbWFrZXMgaXQgbW9yZSBpbiBzeW5jIHdpdGggZXhwZWN0ZWQgdHlwZQoJICBuYW1pbmcgaW4gZ29iamVjdCAoaS5lLiBDYW1lbENhc2UgYW5kIG5vdCBDYW1lbE1BWUJFQ2FzZSkuCgkgIEFsc28gc3BsaXQgZGVzY3JpcHRvciB0eXBlIGVudW1zIGludG8gdGhlIGRpZmZlcmVudCB2YXJpYW50czoKCSAgKiBJU08gSC4yMjIuMCAvIDEzODE4LTEgKGkuZS4gc3RhbmRhcmQgbXBlZy10cykKCSAgKiBEVkIKCSAgKiBBVFNDCgkgICogSVNEQgoJICAqIG1pc2NlbGxhbmVvdXMKCSAgVGhpcyB3aWxsIGF2b2lkIGZ1dHVyZSBjbGFzaGVzIHdoZW4gc3BlY3MgdXNlIHRoZSBzYW1lIGRlc2NyaXB0b3IgdHlwZQoKMjAxMy0wNy0wMSAwODozNToyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBhbiBleGFtcGxlIG9mIGEgbXBlZy10cyBTSSBleHRyYWN0b3IKCSAgU2VydmVzIGFzIGFuIGV4YW1wbGUgb2YgdXNhZ2Ugb2YgdGhlIG5ldyBtcGVndHMgbGlicmFyeSBmcm9tIGFuCgkgIGFwcGxpY2F0aW9uLgoJICBXaWxsIHBhcnNlL2R1bXAgYWxsIHNlY3Rpb25zIHJlY2VpdmVkIG9uIGEgYnVzLgoJICBVc2FnZSBpcyAuL3RzcGFyc2UgPGFueSBnc3QtbGF1bmNoIGxpbmUgdXNpbmcgdHNkZW11eCBvciB0c3BhcnNlPgoJICBFeGFtcGxlczoKCSAgLi90c3BhcnNlIGZpbGU6Ly8vc29tZS9tcGVndHNmaWxlICEgdHNwYXJzZSAhIGZha2VzaW5rCgkgIC4vdHNwYXJzZSBkdmI6Ly9DSEFOTkVMICEgdHNwYXJzZSAhIGZha2VzaW5rCgkgIC4vdHNwYXJzZSBwbGF5YmluIHVyaT1kdmI6Ly9DSEFOTkVMCgkgIC4vdHNwYXJzZSBwbGF5YmluIHVyaT1maWxlOi8vL3NvbWUvbXBlZ3RzZmlsZQoJICAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0NDowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBTd2l0Y2ggdG8gTVBFRy1UUyBTSSBsaWJyYXJ5CgkgIEFsc28gc2VydmVzIGFzIGFuIGV4YW1wbGUgb2YgdXNpbmcgbXBlZ3RzIGxpYnJhcnkgZnJvbSBhIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQzOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIE1QRUctVFMgU0kgbGlicmFyeQoJICAqIE9ubHkgbXBlZy10cyBzZWN0aW9uIHBhY2tldGl6YXRpb24gcmVtYWlucy4KCSAgKiBJbXByb3ZlIGNvZGUgdG8gZGV0ZWN0IGR1cGxpY2F0ZWQgc2VjdGlvbnMgYXMgZWFybHkgYXMgcG9zc2libGUKCSAgKiBBZGQgRklYTUUgZm9yIHZhcmlvdXMgaXNzdWVzIHRoYXQgbmVlZCBmaXhpbmcgKGJ1dCBhcmUgbm90IHJlZ3Jlc3Npb25zKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQxOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgZ3N0LWxpYnM6IE5ldyBNcGVnLVRTIHN1cHBvcnQgbGlicmFyeQoJICBFeHBvc2VzIHZhcmlvdXMgTVBFRy1UUyAoSVNPL0lFQyAxMzgxOC0xKSBhbmQgRFZCIChFTiAzMDAgNDY4KSBTZWN0aW9uCgkgIEluZm9ybWF0aW9uIGFzIHdlbGwgYXMgZGVzY3JpcHRvcnMgZm9yIHVzYWdlIGJ5IHBsdWdpbnMgYW5kIGFwcGxpY2F0aW9ucy4KCSAgVGhpcyByZXBsYWNlcyBlbnRpcmVseSB0aGUgb2xkIEdzdFN0cnVjdHVyZS1iYXNlZCBzeXN0ZW0gZm9yIGNvbnZleWluZwoJICBtcGVnLXRzIGluZm9ybWF0aW9uIHRvIGFwcGxpY2F0aW9ucyBhbmQgb3RoZXIgcGx1Z2lucy4KCSAgUGFyc2luZyBhbmQgdmFsaWRhdGlvbiBpcyBkb25lIG9uIGEgIndoZW4tbmVlZGVkIiBiYXNpcy4gVGhpcyBlbnN1cmVzCgkgIHRoZSBtaW5pbWFsIG92ZXJoZWFkIGZvciBlbGVtZW50cyBhbmQgYXBwbGljYXRpb25zIGNyZWF0aW5nIGFuZCB1c2luZwoJICBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMuCgkgIFNpbmNlIGFsbCBpbmZvcm1hdGlvbiBpcyBtYWRlIGF2YWlsYWJsZSwgdGhpcyBhbHNvIGFsbG93cyBhcHBsaWNhdGlvbnMKCSAgdG8gcGFyc2UgY3VzdG9tIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycy4KCSAgUmlnaHQgbm93IHRoZSBsaWJyYXJ5IGlzIHRhcmdldGVkIHRvd2FyZHMgcGFyc2luZywgYnV0IHRoZSBzdHJ1Y3R1cmVzCgkgIGNvdWxkIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSB0byBhbGxvdyBhcHBsaWNhdGlvbnMgdG8gY3JlYXRlIGFuZCBpbmplY3QKCSAgc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzIChmb3IgdXNhZ2UgYnkgdmFyaW91cyBtcGVnLXRzIGVsZW1lbnRzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0xMCAxODowMToxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBIYW5kbGUgY2FzZSB3aXRob3V0IGFuIGluaXRpYWxpemF0aW9uIHNlZ21lbnQKCSAgSWYgbm8gaW5pdGlhbGl6YXRpb24gc2VnbWVudCBpcyBkZWZpbmVkLCB0aGVuIGRvbid0IHByaW50IGEKCSAgY3JpdGljYWwgb3IgYSB3YXJuaW5nLCBqdXN0IGlnbm9yZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk2MQoKMjAxMy0wNy0wMSAxODoyMjo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHNhdmUgMSBvciAyIHN0cmluZyBjb3BpZXMgd2hlbiBnZXR0aW5nIGZyYWdtZW50IHVyaXMKCSAgT25seSBjcmVhdGUgbmV3IHN0cmluZyBpZiByZXF1aXJlZCwgc2F2aW5nIG1heWJlIDEgb3IgMiBzdHIgY29waWVzIHBlcgoJICBmcmFnbWVudC4KCjIwMTMtMDctMDEgMTg6MTU6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkIHVyaWRvd25sb2FkZXIgbGliIHRvIGd0ay1kb2MgbGlicwoJICBmaXhlcyBydW50aW1lIGxpbmtpbmcgZXJyb3Igb24gd2luZG93cwoKMjAxMy0wNy0wMSAxNzo1MDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBlYWNoIGZyYWdtZW50IGNhbiBoYXZlIGl0cyBvd24gaW5kZXgKCSAgUmV0dXJuIGluZGV4IFVSSS9yYW5nZSB0byBkYXNoZGVtdXggZnJvbSB0aGUgbXBkcGFyc2VyIHRvIGJlIGFibGUKCSAgdG8gZG93bmxvYWQgYW5kIGRlbGl2ZXIgdGhlbSBkb3duc3RyZWFtIGZvciBwbGF5YmFjay4KCjIwMTMtMDctMDEgMTM6MTk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIHRvcC1sZXZlbCBpbmRleCB1cmxzCgkgIFBhcnNlIGFuZCBwcm92aWRlIGFjY2VzcyB0byB0b3AtbGV2ZWwgaW5kZXggc2VnbWVudHMgaWYgYXZhaWxhYmxlLgoJICBkYXNoZGVtdXggc2hvdWxkIHB1c2ggdGhvc2Ugd2hlbmV2ZXIgYSBoZWFkZXIgaXMgcHVzaGVkLgoJICBGaXhlcyAjNzAwNDg5CgoyMDEzLTA1LTA2IDE3OjA4OjU0IC0wNDAwICBBcnRodXIgU2hpcGtvd3NraSA8YXJ0QHZpZGVvbi1jZW50cmFsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBjcml0aWNhbCBlcnJvciBvdXRwdXQgd2hlbiBJbml0aWFsaXphdGlvbiBoYXMgbm8gVVJMCgkgIElzc3VlIGV2aW5jZWQgYnkKCSAgaHR0cDovL3l0LWRhc2gtbXNlLXRlc3QuY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2FyLTIwMTIwODI3LW1hbmlmZXN0Lm1wZAoJICB3aGljaCBwcm9kdWNlcyBvdXRwdXQgbGlrZSAqKiAoZ3N0LWxhdW5jaC0xLjA6ODA2MCk6IENSSVRJQ0FMICoqOgoJICBnc3RfbXBkcGFyc2VyX2dldF9pbml0aWFsaXphdGlvblVSTDogYXNzZXJ0aW9uIGBJbml0aWFsaXphdGlvblVSTC0+c291cmNlVVJMCgkgICE9IE5VTEwnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDg5CgoyMDEzLTA3LTAxIDE0OjM1OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcmV2ZW50IGNyYXNoIGJ5IGNoZWNraW5nIGlmIHRoZSBzZWdtZW50IG5vZGUgaXMgcHJlc2VudAoJICBEbyBub3QgdHJ5IHRvIGFjY2VzcyByYW5nZSBkYXRhIGlmIHRoZXJlIGlzIG5vIHNlZ21lbnQgbm9kZQoKMjAxMy0wNi0yNSAxODozNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hfZGVidWcuaDoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiB1c2Ugc2FtZSBkZWJ1ZyBjYXRlZ29yeSBmb3IgZGFzaGRlbXV4IGFuZCB0aGUgbXBkIHBhcnNlcgoJICBNYWtlcyBkZWJ1Z2dpbmcgZWFzaWVyCgoyMDEzLTA2LTIwIDAzOjUyOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciByYW5nZSBiYXNlZCBzZWdtZW50cwoJICBVc2UgdGhlIG1lZGlhUmFuZ2UgaW5mb3JtYXRpb24gYW5kIHBhc3MgaXQgdG8gdGhlIHVyaWRvd25sb2FkZXIKCSAgdG8gY29ycmVjdGx5IGRvd25sb2FkIG9ubHkgdGhlIHNlZ21lbnQgcmFuZ2VzIGluZGljYXRlZCBpbiB0aGUKCSAgTVBECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDYtMTkgMTg6Mjg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBhZGQgc3VwcG9ydCBmb3IgcmFuZ2UgYmFzZWQgZG93bmxvYWRzCgkgIEFkZHMgYSBuZXcgQVBJIGdzdF91cmlfZG93bmxvYWRlcl9mZXRjaF91cmlfd2l0aF9yYW5nZSB0aGF0IGFsbG93cwoJICBkb3dubG9hZGluZyBvbmx5IGEgYnl0ZSByYW5nZSBmcm9tIGFuIFVSSS4gSXQgdXNlcyBhIHNlZWsgZXZlbnQKCSAgc2VudCB0byB0aGUgc291cmNlIHRvIHNpZ25hbCB0aGUgcmFuZ2UgdG8gYmUgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wMy0wOSAwMTo0OToyMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIHR5cGUgZm9yIHRoZSBTRUkgcGFseWxvYWQgcGFyc2luZyBtZXRob2RzLgoJICBUaGUgcmV0dXJuIHZhbHVlIHR5cGUgb2YgU0VJIHBheWxvYWQgcGFyc2luZyBmdW5jdGlvbnMKCSAgYXJlIEdzdEgyNjRQYXJzZXJSZXN1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0NzUKCjIwMTMtMDYtMjggMjA6MTU6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogRG9uJ3QgcmVxdWlyZSBhIGtleSBpZiBib3RoIGF1dGggYW5kIGNpcGhlciBhcmUgbnVsbAoKMjAxMy0wNi0yOCAyMDozMjozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHAuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IE1vdmUgdGhlIGVudW1zIHRvIHRoZSBjb21tb24gaGVhZGVyCgkgIFRoZSB0eXBlcyBhcmUgdXNlZCBpbiBib3RoIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyCgoyMDEzLTA2LTI4IDIwOjEzOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTMtMDYtMjggMTI6MjU6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGFkZCB0aGUgYnVpbGQgcHJlZml4IHBhdGggaW4gdGhlIHNlYXJjaCBkaXJzCgoyMDEzLTA2LTI1IDEwOjI2OjI0IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDbGVhbnVwIG1lbW9yeSBhbGxvY2F0aW9uL2RlYWxsb2NhdGlvbgoJICBFbnN1cmUgdGhhdCBnX2ZyZWUveG1sRnJlZSBpcyB1c2VkIGNvcnJlY3RseSBiYXNlZCBvbiBob3cgdGhlCgkgIG1lbW9yeSB3YXMgYWxsb2NhdGVkLgoJICBXaGVuIGRlYWxsb2NhdGluZyBHTGlzdHMsIHRoZXJlIHdlcmUgbWFueSBwbGFjZXMgdGhhdCB3ZXJlIHVzaW5nCgkgIGdfbGlzdF9mb3JlYWNoIGFuZCBnX2xpc3RfZnJlZS4gIENvbnZlcnRlZCB0aGVzZSBvY2N1cnJlbmNlcyB0bwoJICBjYWxsIGdfbGlzdF9mcmVlX2Z1bGwuCgkgIEFkZCBOVUxMIGNoZWNrcyB0byBhbGwgeG1sRnJlZSBjYWxscyBzaW5jZSB0aGUgZG9jdW1lbnRhdGlvbiBkb2VzCgkgIG5vdCBndWFyYW50ZWUgdGhhdCBwYXNzaW5nIE5VTEwgaXMgc2FmZQoJICBJbiBwbGFjZXMgd2hlcmUgd2UgYXJlIHN0cmR1cCdpbmcgbWVtb3J5IGFsbG9jYXRlZCBieSBsaWJ4bWwyLAoJICBjaGFuZ2VkIHRob3NlIGNhbGxzIHRvIHVzZSB4bWxNZW1TdHJkdXAoKS4KCSAgVGhlcmUgd2VyZSBzZXZlcmFsIHBsYWNlcyB3aGVyZSB3ZSB3ZXJlIG1pc3NpbmcgZ19zbGljZV9mcmVlIHdoZW4KCSAgZGVhbGxvY2F0aW5nIGEgdG9wLWxldmVsIG5vZGUgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODM3CgoyMDEzLTA2LTI0IDEzOjAyOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogRXh0ZW5kIGxpc3Qgb2Yga25vd24gZGVzY3JpcHRvcnMKCSAgQWRkIHRoZSB2YXJpb3VzIEFUU0Mgb25lcwoKMjAxMy0wNi0yNCAwODoyNDo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBPbmx5IHdhcm4gZm9yIGFkZGVkIHN0cmVhbXMgd2hlbiBuZWVkZWQKCSAgV2UgdXNlIGFkZF9zdHJlYW0oc3RyZWFtX3R5cGU6LTEpIHRvIGVuc3VyZSBhIHByb2dyYW1zJyBQQ1IgU3RyZWFtIGlzCgkgIGFsc28gdGFrZW4gaW50byBhY2NvdW50LiBGb3IgbW9zdCBwcm9ncmFtcyB0aGlzIHdpbGwgcmUtdXNlIGFuCgkgIGV4aXN0aW5nIEVTIHN0cmVhbS4KCSAgU28gb25seSB3YXJuIHRoYXQgd2UgYXJlIHJlLWFkZGluZyBhIHN0cmVhbSBpZiBpdCB3YXMgYWxyZWFkeSBwcmVzZW50CgkgIEFORCBpdCBpcyBub3QgdG8gZW5zdXJlIHRoZSBQQ1Igc3RyZWFtIGlzIHRha2VuIGludG8gYWNjb3VudC4KCjIwMTMtMDYtMjMgMTU6MTI6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgc2VjdGlvbiBwYXJzaW5nCgkgIE9ubHkgY3JlYXRlIHN1YnRhYmxlcyB3aGVuIG5lZWRlZC4gSXQgd2FzIHByZXZpb3VzbHkgY3JlYXRpbmcgb25lIGV2ZXJ5CgkgIHNpbmdsZSB0aW1lIC4uLiB0byBjaGVjayBpZiBvbmUgd2FzIHByZXNlbnQuCgkgIEFuZCBzcGVlZCB1cCBjb2RlIHRvIGRldGVjdCB3aGV0aGVyIGEgc3VidGFibGUgd2FzIGFscmVhZHkgcHJlc2VudCBvciBub3QuCgkgIE92ZXJhbGwgbWFrZXMgc2VjdGlvbiBwdXNoaW5nIDIgdGltZXMgZmFzdGVyLgoKMjAxMy0wNi0yNCAwNzo0MDoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEV4dGVuZCBsaXN0IG9mIGtub3duIGRlc2NyaXB0b3JzCgkgIEZyb20gSVRVLVQgSDIyMi4wICgwNi8yMDEyKS4gRnJlZWx5IGF2YWlsYWJsZSBmcm9tIGl0dS5pbnQKCjIwMTMtMDYtMjMgMTU6MjY6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWR1cCBwYWNrZXQgcGFyc2luZwoJICBBdm9pZCB1c2luZyBiaXRzaGlmdGluZyB3aGVyZSBub3QgbmVlZGVkLgoJICBTcGVlZHMgdXAgcGFja2V0IHBhcnNpbmcgYnkgMyUgKHRoaXMgaXMgKnRoZSogaG90c3BvdCBvZiBtcGVnLXRzIGVsZW1lbnRzKS4KCjIwMTMtMDYtMjIgMDg6NTc6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBGaXggZ3RrLWRvYwoJICBEZXRlY3RlZCBieSBpbml0aWFsIHByZS1ydW4gb2YgZ2ktc2Nhbm5lci4KCjIwMTMtMDYtMjMgMTE6Mjk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmg6CgkgIGRhYWxhZGVjOiBBZGQgZGVjb2RlciBlbGVtZW50CgoyMDEzLTA2LTIzIDEwOjA0OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmg6CgkgIGRhYWxhZW5jOiBBZGQgZW5jb2RlciBlbGVtZW50CgoyMDEzLTA2LTIyIDExOjI3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RhYWxhL01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5oOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmg6CgkgIGRhYWxhOiBJbml0aWFsIHZlcnNpb24gb2YgYSBEYWFsYSBwbHVnaW4KCjIwMTMtMDYtMjMgMDk6MDU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkgIHNydHA6IEZpeCBkaXN0CgkgIFRoZSBlbnVtcyBzaG91bGQgbm90IGJlIGRpc3QtZWQgYW5kIGluc3RlYWQgYmUgcmUtZ2VuZXJhdGVkIHdoZW4KCSAgY29tcGlsaW5nLgoKMjAxMy0wNi0xOSAyMDozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBCZXR0ZXIgZGV0ZWN0IGFscmVhZHkgc2VlbiBzZWN0aW9uCgkgIEluIHNvbWUgY2FzZXMgKE5JVCBvbiBoaWdobHktcG9wdWxhdGVkIERWQi1DIG9wZXJhdG9yIGZvciBleGFtcGxlKSwgdGhlcmUKCSAgd2lsbCBiZSBtb3JlIHRoYW4gb25lIHNlY3Rpb24gZW1pdHRlZCBmb3IgdGhlIHNhbWUgc3VidGFibGUgYW5kIHZlcnNpb24KCSAgbnVtYmVyLgoJICBJbiBvcmRlciBub3QgdG8gbG9zZSB0aG9zZSB1cGRhdGVzIGZvciB0aGUgc2FtZSB2ZXJzaW9uIG51bWJlciwgd2UgY2hlY2tlZAoJICBhZ2FpbnN0IHRoZSBDUkMgb2YgdGhlIHByZXZpb3VzIHNlY3Rpb24gd2UgcGFyc2VkLgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0LCB3aGlsZSBpdCBtYWRlIHN1cmUgd2UgZGlkbid0IGxvc2UgYW55IGluZm9ybWF0aW9uLCBpdAoJICBhbHNvIG1lYW50IHRoYXQgaWYgdGhlIHNhbWUgc2VjdGlvbiBjYW1lIGJhY2sgKHNhbWUgdmVyc2lvbiwgc2FtZSBDUkMpIGxhdGVyCgkgIG9uIHdlIHdvdWxkIHJlLXByb2Nlc3MgaXQsIHJlLXBhcnNlIGl0IGFuZCByZS1lbWl0IGl0LgoJICBUaGlzIHZlcnNpb24gaW1wcm92ZXMgb24gdGhhdCBieSBrZWVwaW5nIGEgbGlzdCBvZiBwcmV2aW91c2x5IG9ic2VydmVkIENSQwoJICBmb3IgaWRlbnRpY2FsIFBJRC9zdWJ0YWJsZS92ZXJzaW9uLW51bWJlciBhbmQgd2lsbCBvbmx5IHByb2Nlc3Mgc2VjdGlvbnMgaWYKCSAgdGhleSByZWFsbHkgd2VyZSBuZXZlciBzZWVuIGluIHRoZSBwYXN0IChhcyBvcHBvc2VkIHRvIGp1c3QgYmVmb3JlKS4KCSAgT24gYSAzMHMgY2xpcCwgdGhpcyBicmluZ3MgZG93biB0aGUgbnVtYmVyIG9mIE5JVCBzZWN0aW9uIHBhcnNpbmcgZnJvbSA0NTQxCgkgIGRvd24gdG8gNjYzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NDc5CgoyMDEzLTA2LTIwIDIyOjEyOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSAgd2luc2NyZWVuY2FwOiBJbml0aWFsIHBvcnQgdG8gMS4wCgoyMDEzLTA2LTIwIDA5OjUyOjMxICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjb3B5aW5nIG9mIHJhdyB2aWRlbyBmcmFtZXMgb24gU2Ftc3VuZyBHYWxheHkgUzMgd2l0aCBFeHlub3MgNCBTT0MKCjIwMTMtMDYtMTkgMTI6NTI6NTIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogdW5yZWYgYnVmZmVyIGlmIG5vIGNsaWVudHMgYXJlIGNvbm5lY3RlZAoJICBJZiBubyBjbGllbnQgaGFzIHJlY2VpdmVkIHRoZSBjb21tYW5kLCB1bnJlZiB0aGUgYnVmZmVyLiBUaGlzIHdpbGwKCSAgbWFrZSBzdXJlIHRoYXQgdGhlIHNoYXJlZCBtZW1vcnkgYXJlYSBkb2VzIG5vdCBnZXQgZmlsbGVkIHdpdGggYnVmZmVycwoJICBubyBvbmUga25vd3MgYWJvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2ODQKCjIwMTMtMDYtMTkgMTk6Mjk6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgTklUIHBhcnNpbmcKCSAgQXZvaWQgZHVwbGljYXRpbmcgdGhlIGRlbGl2ZXJ5IHN0cnVjdHVyZSwgYW5kIGluc3RlYWQgZ2l2ZSBpdCB0byB0aGUKCSAgcmVjZWl2aW5nIGNvbnRhaW5lci4KCjIwMTMtMDYtMDcgMTI6NTM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBzaW1wbGlmeSBjb2RlCgkgIFdlIGRvbid0IG5lZWQgZ2VuZXJpYyBtZXRob2RzIGZvciBwdXNoL2ZsdXNoIHNpbmNlIHdlIGtub3cgYWxsIHRoZQoJICBzdWJjbGFzcyB0aGF0IHdlIGNvbnRyb2wKCjIwMTMtMDYtMDUgMTU6NTE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggZm9yIGNvbXBpbGluZyB3aXRob3V0IEdTVF9ERUJVRwoJICBQcm90ZWN0IGRlYnVnLW9ubHkgdmFyaWFibGVzL3VzYWdlLCBhbmQgaW4gb25lIGNhc2UgcmVtb3ZlIGEgdXNlbGVzcwoJICB2YXJpYWJsZS4KCjIwMTMtMDYtMTcgMDg6MTU6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBFbnN1cmUgaW5pdGlhbCBldmVudHMgYXJlIHNlbnQgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIEZpcnN0IHNlbmQgc3RyZWFtLXN0YXJ0LCB0aGVuIGNhcHMsIHRoZW4gc2VnbWVudC4KCSAgVGhlIHNlZ21lbnQgd2UgcHVzaCBpcyBmcm9tIHVwc3RyZWFtIGluIHB1c2gtbW9kZS4gSWYgd2Ugd29yayBpbiBwdWxsLW1vZGUKCSAgdGhlbiB3ZSBpbml0aWFsaXplIHRoZSBiYXNlIHNlZ21lbnQgdG8gQllURVMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0MjIKCjIwMTMtMDYtMTggMTI6Mjk6NDEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogcHJvcGFnYXRlIGV2ZW50cyB0byBiYXNlc2luayBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTk3CgoyMDEzLTA2LTE4IDEzOjQ3OjU0ICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmQ6IEFkZCBzdXBwb3J0IGZvciBSR0J4IGFuZCBSR0JBIGZvcm1hdHMKCSAgV2F5bGFuZCBpbnRlcmZhY2UgY291bGQgb2ZmZXIgdHdvIGJ1ZmZlcnMgcGl4ZWxzIGZvcm1hdHM6IFdMX1NITV9GT1JNQVRfWFJHQjg4ODggYW5kIFdMX1NITV9GT1JNQVRfQVJHQjg4ODguCgkgIFVwZGF0ZSB3YXlsYW5kc2luayB0byBzdXBwb3J0IHRoZW0gYW5kIGNoZWNrIGlmIHRoZSBmb3JtYXQgaXMgcmVhbGx5IGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjExMgoKMjAxMy0wNi0xOCAxMjo0NjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGZpeCBDRkxBR1Mgb3JkZXIgYW5kIGFkZCBwbHVnaW5zIGJhc2UgbGlicyBpbmNsdWRlcyB0byBDWFhGTEFHUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjk3CgoyMDEzLTA2LTE1IDAwOjEyOjE4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBmaXhlcyBidWlsZCBieSBtb3ZpbmcgdGhlIGMrKyBoZWFkZXIgdG8gZ3N0c2VnbWVudGF0aW9uLmNwcAoJICBGaXhlczoKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdHNlZ21lbnRhdGlvbi5oOjUxOjAsCgkgIGZyb20gZ3N0b3BlbmN2LmM6NDI6CgkgIC91c3IvaW5jbHVkZS9vcGVuY3YyL3ZpZGVvL2JhY2tncm91bmRfc2VnbS5ocHA6NDc6MTY6IGZhdGFsIGVycm9yOiBsaXN0OgoJICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxsaXN0PgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyOTcKCjIwMTMtMDYtMTggMTM6MzM6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBmaXggcmVsZWFzZSBvZiBudWxsIHBvaW50ZXIKCjIwMTMtMDYtMTggMTM6MTc6NTIgKzAyMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JlbWVkaWFidWZmZXI6IGZpeCBsZWFraW5nIG9mIGFwcGxlIG1lZGlhIHN0cnVjdHMKCSAgcmVtZW1iZXIgdG8gcmVsZWFzZSB0aGUgYXBwbGUncyBhcGkgYnVmZmVycyB0byBhdm9pZCBodWdlIGxlYWtpbmcKCjIwMTMtMDYtMTggMTM6MDI6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogbW92ZSBkZWZpbmVzIHRvIENQUEZMQUdTIGZvciBvYmotYyBmaWxlcwoKMjAxMy0wNi0xMSAxMTo1NDo0MSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGZpeCBhdWRpb2NhcHR1cmUgcHJvZHVjaW5nIHNpbGVuY2UKCSAgQ29uZmlndXJlIHRoZSBjYXB0dXJlIGxhdGVuY3kgdXNpbmcgdGhlIElBTUJ1ZmZlck5lZ290aWF0aW9uCgkgIGludGVyZmFjZSBhbmQgdHJ5IHRvIHJlc3BlY3QgdGhlIGNvbmZpZ3VyZWQgbGF0ZW5jeS10aW1lIGFuZCBidWZmZXItdGltZQoKMjAxMy0wNi0xNCAxNDo1MjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogTWFrZSBzdXJlIHRoZSBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIHdlIGFkZCB0aGUgTVBFRyB2aWRlbyBtZXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNzQKCjIwMTMtMDYtMTMgMTM6MzQ6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEZpeCBzb21lIGF1dG9tYWtlIHdhcm5pbmdzCgoyMDEzLTA1LTI3IDIyOjIyOjMyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBNMlRTIHN0cmVhbSByZXN5bmMKCSAgU3luYyBieXRlIHNjYW4gaXMgaW5jb3JyZWN0IGZvciBNMlRTIHN0cmVhbXMgYmVjYXVzZSB0aGUgdGltZXN0YW1wIDQKCSAgYnl0ZXMgd2VyZSBub3QgaW5jbHVkZWQgaW4gdGhlIGZsdXNoIHNpemUuIFRoaXMgY2FuIHJlc3VsdCBpbiBhbgoJICBpbmZpbml0ZSBsb29wLgoJICBSZXdvcmsgdGhlIHNjYW4gY29kZSB0byBiZSBjbGVhcmVyIGFuZCB3b3JrIGluIGFsbCBjYXNlcy4KCjIwMTMtMDUtMjQgMTA6NTk6NTUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogbW92ZSBzb21lIGRlYnVnIHByaW50cyBhdCB0aGUgbG9nIGxldmVsCgoyMDEzLTA1LTI0IDEwOjU5OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXhlcyBzZWVraW5nIGluIHB1bGwgbW9kZQoJICBQcmVzZXJ2ZSB0aGUgY3VycmVudCBzZWdtZW50IGFuZCBvYnNlcnZhdGlvbnMgaW4gcHVsbCBtb2RlIHNlZWtzIHdpdGgKCSAgZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgwNTAKCjIwMTMtMDYtMTEgMTk6NDU6MzEgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogcmVtb3ZlZCBhbiBpbmNvcnJlY3QgYXNzZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwMzYKCjIwMTMtMDYtMTEgMTQ6MzI6NDMgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBhZGQgZm9yZWdyb3VuZC9iYWNrZ3JvdW5kIHNlZ21lbnRhdGlvbiBlbGVtZW50CgkgIEFkZCBhbiBlbGVtZW50IHRvIHRoZSBvcGVuY3YgcGx1Z2luIGZvciBmb3JlZ3JvdW5nL2JhY2tncm91bmQgaW1hZ2UKCSAgc2VxdWVuY2Ugc2VnbWVudGF0aW9uLCB1c2luZyBvbmUgb3V0IG9mIDMgYWxnb3JpdGhtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQyMQoKMjAxMy0wNi0xMCAxNzowMDo0MiArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgZHVyaW5nIGNvbnN0cnVjdGlvbgoJICBCeSBhZGRpbmcgdGhlIHZpZGVvLXNvdXJjZS1maWx0ZXIgZHVyaW5nIGNvbnN0cnVjdGlvbiB0aW1lLCByYXRoZXIgdGhlbgoJICBwYXRjaGluZyBpdCBpbiBsYXRlciAoKiksIHdlIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIGNhcHMgaW52b2x2ZWQKCSAgaW4gbmVnb3RhdGlvbiwgc3BlZWRpbmcgdXAgcGlwZWxpbmUgY3JlYXRpb24uCgkgIEkgd3JvdGUgdGhpcyB3aGlsZSB3b3JraW5nIG9uIHNwZWVkaW5nIHVwIHRoZSBzdGFydHVwIG9mIGNoZWVzZS4gTXkgY2hlZXNlCgkgIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGFkZCBhIGNhcHNmaWx0ZXIsIGZpbHRlcmluZyBmb3Igb25seSB0aGUgY29uZmlndXJlZAoJICByZXNvbHV0aW9uLCB3aXRoIHRoYXQgY2hlZXNlIHBhdGNoICsgdGhpcyBwYXRjaCwgdGhlIHBpcGVsaW5lIGNyZWF0aW9uIHRpbWUKCSAgZ29lcyBmcm9tIGFwcm94IDEuMSBzZWNvbmRzIHRvIGFwcm94IDM1MG1zLiBUaGlzIGlzIHdpdGggYSBMb2dpdGVjaCA5MDAwCgkgIHBybyBjYW1lcmEsIHdoaWNoIHN1cHBvcnRzIGxvdHMgb2YgZGlmZmVyZW50IHJlc29sdXRpb25zIGF0IG1hbnkgZGlmZmVyZW50CgkgIGZyYW1lcmF0ZXMgcGVyIHJlc29sdXRpb24sIGNhdXNpbmcgYSBjYXBzICJleHBsb3Npb24iIGlmIG5vdCBmaWx0ZXJlZC4KCSAgKikgTm90ZSB0aGUgY29kZSBmb3IgdGhpcyBpcyBsZWZ0IGluLCBhcyBpdCBpcyBzdGlsbCBuZWNlc3NhcnkgaWYgdGhlCgkgIHZpZGVvLXNvdXJjZS1maWx0ZXIgaXMgY2hhbmdlZCBiZXR3ZWVuIGEgc3RvcCArIHJlLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTUzCgoyMDEzLTA2LTEwIDE4OjAwOjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBnc3QtaW5kZW50IGhhcHB5CgoyMDEzLTA2LTEwIDEwOjA1OjU2ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IERvbid0IHVuc2V0IHRoZSB2aWRlby1zb3VyY2UgcHJvcGVydHkgb24gcGlwZWxpbmUgc3RhcnQKCSAgY2hlY2tfYW5kX3JlcGxhY2Vfc3JjKCkgd2FzIHNldHRpbmcgc2VsZi0+YXBwX3ZpZF9zcmMgdG8gTlVMTCwgd2hpY2gKCSAgbWVhbnMgdGhhdCBhbiBhcHAgc2V0dGluZyB0aGUgdmlkZW8tc291cmNlIHByb3BlcnR5LCBhbmQgdGhlbiBzdGFydGluZywKCSAgc3RvcHBpbmcgYW5kIHJlLXN0YXJ0aW5nIHRoZSBwaXBlbGluZSAoaWUgdG8gbWFrZSBjaGFuZ2VzIHRvIHRoZQoJICB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5KSB3b3VsZCBhZnRlciB0aGUgcmVzdGFydCBubyBsb25nZXIgaGF2ZQoJICBhIHZpZGVvLXNvdXJjZS4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IG1ha2luZyBnc3RfY2FtZXJhYmluX3NldHVwX2RlZmF1bHRfZWxlbWVudCByZXR1cm4gYQoJICByZWYgdG8gdGhlIHBhc3NlZCBpbiB1c2VyX2VsZW1lbnQsIHJhdGhlciB0aGVuIHJldHVybmluZyB0aGUgdXNlcl9lbGVtZW50IGFzCgkgIGlzLCBzbyB0aGF0IHRoYXQgcmVmIGNhbiBiZSBwYXNzZWQgb24gdG8gdGhlIGJpbiwgYW5kIHRoZSBhcHBfdmlkX3NyYyByZWYKCSAgc3RheXMgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5MTUKCjIwMTMtMDYtMDggMTQ6NDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gdGhlIFJQaSBFR0wgaW1wbGVtZW50YXRpb24KCSAgSXQncyBmaXhlZCBpbiB0aGUgbGF0ZXN0IGZpcm13YXJlIHNpbmNlIGEgZmV3IHdlZWtzLgoKMjAxMy0wNS0wNiAxNjo1NjowMSAtMDQwMCAgQXJ0aHVyIFNoaXBrb3dza2kgPGFydEB2aWRlb24tY2VudHJhbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggaXNzdWUgd2l0aCBnZXQgcmV0dXJuaW5nIGEgdmFsdWUgZm9yIG1heC1idWZmZXJpbmctdGltZQoJICBJdCB3YXMgbm90IHByb3Blcmx5IGRpdmlkZWQgYnkgR1NUX1NFQ09ORFMuIEFsc28gZml4IGlzc3VlIHdpdGgKCSAgbWF4LWJ1ZmZlcmluZy10aW1lIGJlaW5nIG11bHRpcGxpZWQgYnkgR1NUX1NFQ09ORFMgZXZlcnkgdGltZSB0aGUKCSAgcHJvcGVydHkgaXMgcmV0cmlldmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDg3CgoyMDEzLTA2LTA3IDE1OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHJmYjogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdFB1c2hTcmMKCjIwMTMtMDYtMDcgMTQ6MDE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzdHJpbmcgY29tcGFyaXNvbgoKMjAxMy0wNC0wNCAxODoyMjo1MiArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGFjY2VwdCBJRF9QUklWQVRFX1NUUkVBTV8xIHRvIGF2b2lkIGxvb3Npbmcgc3luYwoJICBDdXJyZW50IGZhbGxiYWNrIHRvIGxvc3Rfc3luYyBzZWVtcyB0byBpbXBlZGUgYSBkZWxheSB0byByZXN0b3JlCgkgIHN5bmMuIExldCB0aGUgcGFyc2VyIHBhcnNlIGFuZCBza2lwIHRoZSBwcml2YXRlIHN0cmVhbS4KCSAgSGVyZSBpdCBjb250YWlucyB0aGUgZGlnaXRhbCBjYW1lcmEgYnJhbmQgKGluIDIwMTAgYnl0ZXMpCgkgIGFuZCBpcyByZXBlYXRlZCB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzI4MwoKMjAxMy0wNi0wNyAxMjoxMDowOCArMDIwMCAgSWx5YSBTbWVseWtoIDxpbHlhLnNtZWx5a2hAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBXYWl0IHVudGlsIFNQUy9QUFMgYmVmb3JlIG91dHB1dHRpbmcgYW55IGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjMyNwoKMjAxMy0wNi0wNyAxNDowNjo1NiArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFja3MgZm9yIEh1YXdlaU1lZGlhUGFkIHdoaWNoIHJlcG9ydHMgd3JvbmcgY29sb3IgZm9ybWF0CgkgIENPTE9SX0Zvcm1hdFlDYllDciBpcyByZXBvcnRlZCBidXQgaXQgaXMgYWN0dWFsbHkgQ09MT1JfVElfRm9ybWF0WVVWNDIwUGFja2VkU2VtaVBsYW5hci4KCjIwMTMtMDYtMDUgMTY6MTY6MzYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogRml4IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24KCSAgSWdub3JlIHRoZSBkaXNwbGF5X2V4dGVuc2lvbiB2YWx1ZXMgaWYgdGhleSBhcmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aC9oZWlnaHQKCSAgdmFsdWVzIHByb3ZpZGVkIGJ5IHNlcWhkciBhbmQgY2FsY3VsYXRlIHRoZSBQQVIgYmFzZWQgb24gdGhlIHNlcWhkciB2YWx1ZXMuVAoJICBoaXMgaXMgd2hhdCBEVkQgcGxheWVycyBhcmUgZG9pbmcuCgkgIFRoYW5rcyB0byAiRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+IgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTAzCgoyMDEzLTA2LTA1IDE4OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjEgPT09CgoyMDEzLTA2LTA1IDE4OjEwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4xCgoyMDEzLTA2LTA1IDE4OjI4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IEFkZCBzb21lIG1pc3NpbmcgaGVhZGVycyB0byBkaXN0CgoyMDEzLTA2LTA1IDE4OjAxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGFzaDogQWRkIHRvIE1ha2VmaWxlLmFtIGZvciBtYWtlIGRpc3QKCjIwMTMtMDYtMDUgMTc6NDk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogQWRkIHRvIHRoZSBNYWtlZmlsZS5hbSBmb3IgZGlzdAoKMjAxMy0wNi0wNSAxNjo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA2LTA1IDE1OjIwOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBsZWFrCgkgIFNpbmNlIHdlIHdlcmUgbWFudWFsbHkgc2V0dGluZyBHVmFsdWUgdG8gdGhlIEdWYWx1ZUFycmF5LCB3ZSBhbHNvIG5lZWQKCSAgdG8gc3BlY2lmeSBob3cgbWFueSB3ZXJlIHNldCwgb3RoZXJ3aXNlIGFsbCB2YWx1ZXMgaW4gdGhlIGFycmF5IHdpbGwKCSAgYmUgbGVha2VkLgoKMjAxMy0wNi0wNSAxNToxNTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDAxYTdhNDYKCjIwMTMtMDYtMDUgMTM6Mzk6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWR1cCBURFQvVE9UIHBhcnNpbmcKCSAgVXNlIHF1YXJrcyB3aGVyZSBuZWVkZWQsIG1ha2VzIGl0IDIuNSB0aW1lcyBmYXN0ZXIKCjIwMTMtMDYtMDUgMTM6MjE6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHN0cmluZyBsZWFrCgkgIFRoZSBkZXNjcmlwdGlvbi90ZXh0IGdldCBjb3BpZWQgaW4gdGhlIHN0cnVjdHVyZS4KCjIwMTMtMDYtMDUgMTI6NDk6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgZGVzY3JpcHRvciBwYXJzaW5nL3BhY2tpbmcKCSAgZGVzY3JpcHRvcnMgYXJlIHN0b3JlZCBhcyBhIEdWYWx1ZUFycmF5IG9mIEdTdHJpbmcuIFRoZSBkb3duc2lkZSBpcwoJICB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byAicGFzcyIgb3duZXJzaGlwIG9mIGEgR1ZhbHVlIHRvIGEgR1ZhbHVlQXJyYXkKCSAgd2hpY2ggcHJldmlvdXNseSByZXN1bHRlZCBpbiBleHBlbnNpdmUgY29weS9mcmVlIG9mIHRoZSAoYWxyZWFkeSBleHBlbnNpdmUpCgkgIEdTdHJpbmcuCgkgIEhlcmUgd2UgZXN0aW1hdGUgZmlyc3QgdGhlIHNpemUgb2YgdGhlIEdWYWx1ZUFycmF5LCB0aGVuIGNyZWF0ZSBpdCwKCSAgdGhlbiBkaXJlY3RseSB1c2UgdGhlIEdWYWx1ZSBvZiB0aGF0IGFycmF5LgoJICBTcGVlZHMgdXAgdG90YWwgU0kgcGFyc2luZyBieSB+MzAlCgoyMDEzLTA2LTA1IDExOjIxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfYW5kX3Rha2VfdmFsdWUKCSAgQXZvaWRzIGRvaW5nIHRoZSBleHBlbnNpdmUgY29weSBvZiBzdHJ1Y3R1cmVzL2FycmF5cy8uLi4KCSAgU3BlZWRzIHVwIHBhcnNpbmcgU0kgYnkgYWJvdXQgNTAlCgoyMDEzLTA2LTA1IDExOjIwOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIGNvcHlpbmcgR1ZhbHVlQXJyYXkKCSAgSnVzdCBnaXZlIHRoZSBHVmFsdWVBcnJheSB0byB0aGUgY29udGFpbmVyIEdWYWx1ZS4KCjIwMTMtMDUtMjkgMDk6MjU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgc2lnbmFscHJvY2Vzc29yIGRpcmVjdG9yeQoKMjAxMy0wNS0yOSAwODozNzoxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlZCBzaWduYWxwcm9jZXNzb3IgZnJvbSBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCjIwMTMtMDUtMjggMTU6NTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogSW4gcHVsbCBtb2RlIGRyb3AgU0VHTUVOVCwgQ0FQUyBhbmQgU1RSRUFNX1NUQVJUIGV2ZW50cwoJICBXZSBjcmVhdGUgYW5kIHNlbmQgb3VyIG93biBsYXRlciBmcm9tIGFub3RoZXIgdGhyZWFkLgoKMjAxMy0wNS0yOCAxNTo1MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0yOCAwODowODo0MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogbGFkc3BhIGlzIG5vdCB1c2luZyB0aGlzIGFueW1vcmUKCSAgV2hlbiB3ZSBwb3J0IGx2Miwgd2UnbGwgZ28gdGhlIHNhbWUgcm91dGUgYXMgdGhlIG5ldyBsYWRzcGEgcGx1Z2luLgoKMjAxMy0wNS0yOCAwNzo1MzozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZml4IHR5cG9zIGluIGxhdW5jaCBleGFtcGxlcwoKMjAxMy0wNS0yNyAyMzowNzoxNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmg6CgkgIGxhZHNwYTogdXNlIHRoZSByZWdpc3RyeSBjYWNoZSBmb3IgcGx1Z2luIGRldGFpbHMKCSAgU3BsaXQgdGhlIGludHJvc3BlY3Rpb24gYW5kIHJlZ2lzdHJhdGlvbiBwYXJ0LiBUaGlzIHdheSB3ZSBvbmx5IG5lZWQgdG8gb3BlbiBhbGwKCSAgcGx1Z2lucyB3aGVuIHVwZGF0aW5nIHRoZSByZWdpc3RyeS4gV2hlbiByZWFkaW5nIHRoZSByZWdpc3RyeSB3ZSBjYW4gcmVnaXN0ZXIKCSAgdGhlIGVsZW1lbnRzIGVudGllcmx5IGZyb20gdGhlIGNhY2hlLgoKMjAxMy0wNS0yNyAxMToyMDowNyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJICBvcGVuY3Y6IEFkZCBjb2xvdXIgaW1hZ2UgZW5oYW5jZW1lbnQgZWxlbWVudCBiYXNlZCBvbiBSZXRpbmV4IGFsZ29yaXRobQoJICBBZGQgY29sb3VyIGltYWdlIGVuaGFuY2VtZW50IGVsZW1lbnQgYmFzZWQgb24gUmV0aW5leCBhbGdvcml0aG0uIFR3byB0eXBlcwoJICBleGlzdCwgbmFtZWx5IGJhc2ljIGFuZCBtdWx0aXNjYWxlOyBib3RoIGFyZSBkZXNjcmliZWQgaW4gdGhpcyBhcnRpY2xlOgoJICBSYWhtYW4sIFppYS11ciwgRGFuaWVsIEouIEpvYnNvbiwgYW5kIEdsZW5uIEEuIFdvb2RlbGwuICJNdWx0aS1zY2FsZSByZXRpbmV4CgkgIGZvciBjb2xvciBpbWFnZSBlbmhhbmNlbWVudC4iIEltYWdlIFByb2Nlc3NpbmcsIDE5OTYuIFByb2NlZWRpbmdzLiwKCSAgSW50ZXJuYXRpb25hbCBDb25mZXJlbmNlIG9uLiBWb2wuIDMuIElFRUUsIDE5OTYKCSAgVmlzdWFsbHkgc3BlYWtpbmcgdGhlIHJlc3VsdCBsb29rcyBhIGJpdCBmdW5ueSwgYnV0IGlzIHByZXR0eSBpbnZhcmlhYmxlIHRvCgkgIGxpZ2h0bmluZyBjaGFuZ2VzLCB3aGljaCBpcyBnb29kIGZvciBzb21lIGFwcGxpY2F0aW9ucywgbGlrZSBpbWFnZQoJICBzZWdtZW50YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5NzcKCjIwMTMtMDUtMjYgMTQ6Mjk6NTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguaDoKCSAgYXVkaW9jaGFubmVsbWl4OiBmaWxsIGluIHRoZSBhdXRob3IgdGVtcGxhdGUKCSAgVGhlIGNvcHlyaWdodCBoZWFkZXIgc3RpbGwgY29udGFpbmVkIHRoZSBhdXRob3IgdGVtcGxhdGUuCgoyMDEzLTA1LTI1IDE1OjI1OjU2ICswMjAwICBNaWNoYWVsIFJ1Ymluc3RlaW4gPG1ydWJpbnN0ZWluQHdlYXRoZXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZyZWUgbWVtb3J5IGJlaGluZCBHU3RyaW5nIGlmIHdlIGRvbid0IHVzZSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTAzCgoyMDEzLTA1LTIzIDE0OjMyOjA3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsc210cHNpbms6IHRlcm1pbmF0ZSB0cmFuc2ZlciB0aHJlYWQgcHJvcGVybHkKCSAgSWYgbm8gRU9TIGhhcyBiZWVuIHNlbnQsIHRoZSBjdXJsIHJlYWRmdW5jIGNhbGxiYWNrIHdpbGwKCSAgcmV0dXJuIEFCT1JULiBUaGUgbWVkaWEgZmlsZSBpbiB0aGF0IGNhc2Ugd2lsbCBub3QgYmUgcHJvcGVybHkKCSAgZmluYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODg2CgoyMDEzLTA0LTA4IDE0OjU5OjU0ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHVwZGF0ZSB3aW5kb3cgd2lkdGgvaGVpZ2h0IHdoZW4gaXQncyBub3QgZG9uZSBpbiBXbmRQcm9jCgoyMDEzLTA0LTA1IDE3OjU5OjQxICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZGlyZWN0ZHJ3YXNpbms6IGNhbGwgcHJldmlvdXMgV25kUHJvYyBpZiBhbnkKCjIwMTMtMDQtMDUgMTc6MjY6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogcmVzcGVjdCBQQVIgd2l0aCBjb29yZGluYXRlcwoKMjAxMy0wNC0yNSAxNTozNTo1MCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IGZpeCBzeW1ib2xzIHJlZGVmaW5pdGlvbiBmb3Igb2JqYyBmaWxlcwoKMjAxMy0wNC0yNCAxNTo1NToxMiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggYXBwbGVtZWRpYQoKMjAxMy0wNS0yMyAxNDo1Nzo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiBFT1MnaW5nIHdpdGhvdXQgc291cmNlIHBhZHMKCSAgVGhpcyBlbnN1cmVzIHdlIGRvbid0ICJoYW5nIiB3aGVuIGZpbGVzIGNhbid0IGJlIGRlY29kZWQsIG9yIGNvbnRhaW4KCSAgbm8gdmFsaWQgc3RyZWFtcy4KCjIwMTMtMDUtMjMgMTQ6NTY6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRGVtb3RlIGEgd2FybmluZyB0byBkZWJ1ZyBsZXZlbAoJICBXZSB3aWxsIGdldCBpdCBmb3IgdmlydHVhbGx5IGV2ZXJ5IGZpcnN0IHBhY2tldHMuCgoyMDEzLTA1LTAxIDE2OjM3OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogQWN0dWFsbHkgc3RvcmUgbXBlZyB2aWRlbyBiaXRyYXRlIHZhbHVlCgkgIEFuZCB1c2UgdGhlIGV4dGVuc2lvbiBhbHNvIChoaWdoZXIgMTIgYml0cykKCjIwMTMtMDUtMjMgMTE6MDQ6NTcgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuaDoKCSAgb3BlbmN2OiBBZGQgc2tpbiBjb2xvciBkZXRlY3Rpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNjU0CgoyMDEzLTA1LTA3IDIxOjQ1OjU0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IHNpbXBsaWZ5IGNhcHMgc2V0dGluZwoKMjAxMy0wNC0yNiAxNzo0NzoyNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGZpeCBIMjY0IHN0cmVhbXMgd2l0aCBiLWZyYW1lcwoJICBUaGUgZGVjb2RlciBvdXRwdXQgZnJhbWVzIGluIERUUyBvcmRlciwgZXZlbiB3aXRoIHRoZSBmbGFnCgkgIGtWVERlY29kZUZyYW1lX0VuYWJsZVRlbXBvcmFsUHJvY2Vzc2luZy4gV2Ugc3RvcmUgYSBpbnRlcm5hbAoJICBxdWV1ZSBvZiB0aGUgZGVjb2RlZCBmcmFtZXMgYW5kIHB1c2ggdGhlbSBQVFMgb3JkZXIuCgoyMDEzLTA0LTI2IDE3OjQ1OjMxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogZml4IHNlZ2ZhdWx0IHdpdGggZHJvcHBlZCBmcmFtZXMKCjIwMTMtMDQtMjYgMTc6NDA6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBpbXByb3ZlIHVzYWdlIG9mIHRoZSBWVCBBUEkKCSAgQWRkIHRpbWluZyBpbmZvcm1hdGlvbiB0byBDViBzYW1wbGVzIGFuZCBwYXNzIHRoZSBHc3RCdWZmZXIKCSAgYXMgZXh0cmEgZGF0YSBpbiB0aGUgZGVjb2RlIGZ1bmN0aW9uCgoyMDEzLTA0LTI2IDEzOjI2OjAzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYWRkIHN1cHBvcnQgZm9yIE1QRUctMSB0b28KCjIwMTMtMDQtMjUgMTE6MzA6MDcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgTVBFRy0yIGRlY29kaW5nCgoyMDEzLTA0LTI1IDExOjI3OjEzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdXNlIHRoZSBiZXN0IGNvbG9yZm9ybWF0IG9uIGVhY2ggcGxhdGZvcm0KCSAgVGhpcyBzYXZlcyBhIGNvbG9yc3BhY2UgY29udmVyc2lvbiBiZWZvcmUgdGhlIHNpbmsgaW4gT1MgWAoKMjAxMy0wNC0yNSAxMToxNzoxNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogcmVwbGFjZSBwcml2YXRlIGZ1bmN0aW9uIHdpdGggaXRzIHB1YmxpYyB2YXJpYW50CgkgIEZpZ1ZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVXaXRoU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tCgkgIGlzIGFuIHVuLWRvY3VtZW50ZWQgcHJpdmF0ZSBmdW5jdGlvbiB3aGljaCBtaWdodCBjaGFuZ2UgaXRzIHNpZ25hdHVyZQoJICBhcyBpdCBhbHJlYWR5IGRpZCBpbiB0aGUgcGFzdC4gUmVwbGFjZSBpdCB3aXRoCgkgIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZSBhbmQgdGhlIGFsc28gdW4tZG9jdW1lbnRlZCBFeHRlbnNpb25zCgkgIGRpY3Rpb25hcnkuCgoyMDEzLTA0LTI0IDIyOjIyOjI4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHJlbW92ZSB0aGUgdW5uZWVkZWQgYnVmZmVyIGZhY3RvcnkKCjIwMTMtMDQtMjQgMjI6MTU6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgdXNlIHRoZSBkeW5hbWljIEFQSSBmb3IgcHVibGljIGZyYW1ld29ya3MKCSAgUHVibGljIGZyYW1ld29ya3MgZG9uJ3QgbmVlZCB0byBidWlsZCB0aGUgQVBJIGR5bmFtaWNhbGx5LCB3ZSBpbnN0ZWFkCgkgIHVzZSB0aGUgZnJhbWV3b3JrIGRpcmVjdGx5LgoJICBUaGUgZXhjZXB0aW9uIGlzIGZvciBWaWRlb1Rvb2xib3ggd2hpY2ggd2VudCBwdWJsaWMgaW4gdGhlIDEwLjggU0RLLAoJICBidXQgaXQncyBzdGlsbCBwcml2YXRlIGluIG9sZGVyIHZlcnNpb24gb2YgdGhlIFNESyBhbmQgaU9TLiBUaGlzIGFsbG93CgkgIGJ1aWxkaW5nIHRoZSBwbHVnaW4gYWdhaW5zdCBTREsncyB3aGVyZSBpdCdzIG5vdCBhIHB1YmxpYyBmcmFtZXdvcmsuCgoyMDEzLTA0LTI0IDE4OjUzOjExICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogbW92ZSBwbHVnaW5zIHVzaW5nIHByaXZhdGUgZnJhbWV3b3JrcyB0byBhcHBsZW1lZGlhLW5vbnB1YmxpYwoKMjAxMy0wNS0yMCAxMzoyNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggaW5kZW50aW9uCgoyMDEzLTA1LTE3IDIwOjE3OjMxICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYSBtaW5vciBlcnJvciBpbiBDT0xPUl9Gb3JtYXRZVVY0MjBQbGFuYXIgY29udmVydGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTIxCgoyMDEzLTA1LTE4IDE0OjAxOjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0byBhdWRpb2ZpbHRlcgoKMjAxMy0wNS0xOCAxMzo1NzoxMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb2Z4YmFkL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4Lmg6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvZnhiYWQuYzoKCSAgYXVkaW9meDogQWRkIHBsdWdpbiwgYWRkIGF1ZGlvY2hhbm5lbG1peAoKMjAxMy0wNS0xOCAxMzo1NjoxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRldGVzdHNyYzogYXVkaW8gZm9ybWF0IGlzICJTMTYiIG5vdCAiczE2IgoKMjAxMy0wNS0xOCAxMTo1ODoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgdmlkZW9zaWduYWw6IGZpeCBDRkxBR1Mgb3JkZXIKCjIwMTMtMDUtMTcgMjE6MjM6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgc3RyZWFtIHN0YXJ0IGV2ZW50CgkgIFJlbW92ZXMgd2FybmluZ3MgYWJvdXQgc3RyaWN0IHN0aWNreSBldmVudHMgb3JkZXJpbmcKCjIwMTMtMDUtMTcgMTI6MDg6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCB3bWEgcHJvIGNhcHMgY3JlYXRpb24KCSAgV21hUHJvIGlzIGFjdHVhbGx5IHdtYXZlcnNpb24gMywgYW5kIGNhbiBhbHNvIGJlIGZvdW5kIGJ5IHRoZQoJICBXTUFQIGZvdXJjYy4KCSAgU29tZSBtYW5pZmVzdHMgYWxzbyBjb250YWluIHRoZSBibG9ja19hbGlnbiBmaWVsZCBhcyAiUGFja2V0U2l6ZSIKCSAgaW4gdGhlIGF1ZGlvIHRyYWNrIGRlc2NyaXB0aW9uLCB0aGUgbGliYXYgZGVjb2RlcnMgcmVxdWlyZSBpdAoJICB0byBiZSBwcmVzZW50IGluIGNhcHMuCgkgIEZpeGVzICM2OTk5MjEKCjIwMTMtMDUtMTcgMTE6Mzc6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBhc3NlcnRpb25zIHdoZW4gYSBzdHJlYW0gY2FwcyBjYW4ndCBiZSBjcmVhdGVkCgkgIEZpeGVzIHR3byBhc3NlcnRpb25zIHJlbGF0ZWQgdG8gY2xlYW51cCBmb3IgYSBwYWQgdGhhdCBjb3VsZG4ndAoJICBiZSBleHBvc2VkIGJlY2F1c2UgdGhlIGNhcHMgY291bGRuJ3QgYmUgaWRlbnRpZmllZCBmcm9tIHRoZQoJICBNYW5pZmVzdAoJICBGaXhlcyAjNjk5OTIxCgoyMDEzLTA1LTE1IDExOjQ5OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWFnbDogZml4IGhhbmRsaW5nIG9mIHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgRGV0ZWN0IHdoZW4gdGhlIGVhZ2wgc3VyZmFjZSBjaGFuZ2VkIGl0cyBkaW1lbnNpb24gKHdoZW4gdGhlIHVzZXIgcm90YXRlcwoJICB0aGUgZGV2aWNlIGZvciBleGFtcGxlKSBhbmQgYWRhcHQgdGhlIGVnbCBpbnRlcm5hbHMgdG8gZHJhdyB0byB0aGF0LAoJICBwcmV2ZW50aW5nIHRoYXQgaW9zIHJlc2l6ZXMgdGhlIGltYWdlIGFnYWluIHdoZW4gZHJhd2luZy4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaGFybWZ1bCB3aGVuIGVhZ2wgd291bGQgc2NhbGUgZG93biBhIGltYWdlCgkgIHRvIGRyYXcgYW5kIHRoZSBpb3Mgc2NyZWVuIHdvdWxkIHNjYWxlIGl0IGJhY2sgdXAgYmVjYXVzZSB0aGUKCSAgc3VyZmFjZSBpcyBub3cgYmlnZ2VyIHRoYW4gd2hlbiB0aGUgZWxlbWVudCB3YXMgY29uZmlndXJlZC4KCjIwMTMtMDUtMTUgMDA6NDg6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHBhcnNlIGJsb2NrX2FsaWduLCBjaGFubmVscyBhbmQgcmF0ZSBmcm9tIHdhdmVmb3JtYXRleCBpZiBwb3NzaWJsZQoJICB3bWEgdjIgZXhwZWN0cyBibG9ja19hbGlnbiwgY2hhbm5lbHMgYW5kIHJhdGUgZmllbGRzIHNldCB0byBpdHMgY2Fwcy4KCSAgVGhpcyBpc24ndCBwcmVzZW50IGRpcmVjbHR5IG9uIHRoZSBtYW5pZmVzdHMsIHNvIG1zc2RlbXV4IHNob3VsZCBwYXJzZQoJICBpdCBmcm9tIHRoZSB3YXZlZm9ybWF0ZXggc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTQgMjI6MDQ6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBiaXRyYXRlIGluZm8gdG8gYXVkaW8gc3RyZWFtcwoJICBiaXRyYXRlIGluZm8gaXMgYWx3YXlzIHByZXNlbnQgb24gdGhlIFF1YWxpdHlMZXZlbCB4bWwgbm9kZSBhcyBwYXJ0CgkgIG9mIHRoZSBhZGFwdGl2ZSBzZWxlY3Rpb24gcHJvY2Vzc2luZywgcHV0IGl0IGludG8gY2FwcyBhcyBzb21lCgkgIGRlY29kZXJzIHJlcXVpcmUgaXQgKGF2ZGVjX3dtYXYyIGZvciBleGFtcGxlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE0IDE2OjM3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzZW5kIHN0cmVhbSBpZCBhbmQgbmV3c2VnbWVudCBiZWZvcmUgcHVzaGluZyBkYXRhCgkgIEZpeGVzIHN0aWNreSBldmVudHMgb3JkZXJpbmcgd2FybmluZ3Mgd2hlbiBkYXRhIGlzIHB1c2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE1IDIyOjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEFubm91bmNlIGNvcnJlY3QgbXBlZ3RzIGNhcHMKCjIwMTMtMDUtMTUgMjA6MDM6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFubm90YXRlIGNhbGxiYWNrIHNjb3BlcwoKMjAxMy0wNS0xNSAxOToyMzowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogRW5zdXJlIHNlZ21lbnQgaXMgc2VudCBiZWZvcmUgY2FwcyBhbmQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0MjAKCjIwMTMtMDUtMTUgMTE6NTc6MDcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5hbDogcmVxdWlyZSBPcGVuQUwgPj0gMS4xNCB0byBidWlsZCB0aGUgT3BlbkFMIHBsdWdpbgoJICBGb3IgQUxfRk9STUFUX01PTk9fQUxBV19FWFQgYW5kIEFMX0ZPUk1BVF9TVEVSRU9fQUxBV19FWFQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0MDIKCjIwMTMtMDUtMTUgMTE6Mzg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0xNSAxMTozNzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjMxOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToxNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgcGFyc2VyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0cwoKMjAxMy0wNS0xNSAxMTowOTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgkgIGdkcCBlbGVtZW50cyBzdGlsbCBuZWVkcyB0byBiZSBmaXhlZCBmb3IgYWxsIHRoZSBldmVudCByZWxhdGVkCgkgIGNoYW5nZXMgYW5kIGdlbmVyYWxseSBwcm9wZXJseSBwb3J0ZWQgdG8gMS4wLgoKMjAxMy0wNS0xNSAxMTowNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogRW5hYmxlIEdMaWIgZGVwcmVjYXRpb24gd2FybmluZ3MgYWdhaW4KCjIwMTMtMDUtMTUgMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogTmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUgd2hlbiBnZXR0aW5nIHRoZSBzaW5rcGFkIGNhcHMKCjIwMTMtMDUtMTUgMTA6NTQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDo1NDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA1LTE1IDEwOjUxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWVkY2Q4NSB0byAwOThjMGQ3CgoyMDEzLTA1LTE1IDEwOjIzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjIyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICBzaG06IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmxmaWxlc2luazogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjEyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJICBrYXRlZW5jOiBEZWxheSBzZWdtZW50IGV2ZW50IHVudGlsIHdlIGhhdmUgY2FwcwoKMjAxMy0wNS0xNSAxMDowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlZGVjL3RpZ2VyOiBEb24ndCBxdWV1ZSBzdGlja3kgZXZlbnRzIHRoYXQgd291bGQgY29tZSBiZWZvcmUgQ0FQUwoKMjAxMy0wNS0xNSAwOTo0NzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZXBhcnNlOiBGaXggZXZlbnQgaGFuZGxpbmcKCSAgSW50ZXJuYWwgc3RhdGUgc2hvdWxkIG9ubHkgYmUgcmVzZXQgb24gRkxVU0hfU1RPUCwgbm90IEZMVVNIX1NUQVJULgoJICBBbHNvIGZvcndhcmQgcHJlLWNhcHMgZXZlbnRzIGltbWVkaWF0ZWx5IGFuZCBkb24ndCBxdWV1ZSB0aGVtLgoKMjAxMy0wNS0xNSAwOTo0Mjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHZve2FtcixhYWN9ZW5jOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDA5OjQxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICBmYWFkL2ZhYWM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMDk6MjA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGhsczogVXNlIEdzdFVSSURvd25sb2FkZXIgZnJvbSB0aGUgbGlicmFyeSBmb3Igbm93IHRvIGtlZXAgZXZlcnl0aGluZyBpbiBhIHVzYWJsZSBzdGF0ZQoKMjAxMy0wNS0xNCAxNDozMjoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJICBsYWRzcGE6IEZpeCBjb21waWxhdGlvbiBpc3N1ZSB3aGVuIGxyZGYgaXMgZW5hYmxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzI4CgoyMDEzLTA1LTE0IDAwOjE0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL2RpczY1MDIuaDoKCSogZ3N0L25zZi9mZHNfc25kLmM6CgkqIGdzdC9uc2YvZmRzX3NuZC5oOgoJKiBnc3QvbnNmL2Ztb3BsLmM6CgkqIGdzdC9uc2YvZm1vcGwuaDoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9nc3Ruc2YuaDoKCSogZ3N0L25zZi9sb2cuYzoKCSogZ3N0L25zZi9sb2cuaDoKCSogZ3N0L25zZi9tbWM1X3NuZC5jOgoJKiBnc3QvbnNmL21tYzVfc25kLmg6CgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJKiBnc3QvbnNmL25lczY1MDIuaDoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5oOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvbnNmL25zZi5oOgoJKiBnc3QvbnNmL29zZC5oOgoJKiBnc3QvbnNmL3R5cGVzLmg6CgkqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSogZ3N0L25zZi92cmM3X3NuZC5oOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgbnNmOiByZW1vdmUgbnNmIHBsdWdpbiwgcmVwbGFjZWQgYnkgZ21lIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDIxCgoyMDEzLTA0LTE3IDAyOjE4OjU4ICswMjAwICBKdWFuIE1hbnVlbCBCb3JnZXMgQ2HDsW8gPGp1YW5tYWJjbWFpbEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSAgb3BlbmFsOiBpbXByb3ZlZCBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MDEzCgoyMDEzLTA1LTEzIDAwOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3Qgc29tZSBtb3JlIHRlc3RzIGZyb20gdGhlIGdlbmVyaWMgc3RhdGUgY2hhbmdlIHRlc3QKCjIwMTMtMDUtMTMgMDA6MDY6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IGFkZCBkZWJ1ZyBjYXRlZ29yeSBmb3IgYXZkdHAgdXRpbHMKCjIwMTMtMDUtMTIgMjM6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZGlyYWM6IHJlbW92ZSBvbGQgZGlyYWMtcmVzZWFyY2ggbGlicmFyeSBiYXNlZCBjb2RlYwoJICBJdCdzIG5vdCBkZXZlbG9wZWQgYW55IG1vcmUgYW5kIHJlcGxhY2VkIGJ5IHRoZQoJICBsaWJzY2hyb2VkaW5nZXItYmFzZWQgZWxlbWVudHMgaW4gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgKFRoZSBsaWJzY2hyb2VkaW5nZXIgMS4wLjkgcmVsZWFzZSBub3RlcyBzdGF0ZSAiVGhpcwoJICBpcyBhbiBleGNpdGluZyByZWxlYXNlOiBtb3N0IG9mIHRoZSBlbmNvZGluZyB0b29scyBpbgoJICBkaXJhYy1yZXNlYXJjaCBoYXZlIGJlZW4gcG9ydGVkIG92ZXIgdG8gU2NocsO2ZGluZ2VyLCBzbwoJICBub3cgc2Nocm8gaGFzIHRoZSBzYW1lIG9yIGJldHRlciBjb21wcmVzc2lvbiBlZmZpY2llbmN5CgkgIGFzIGRpcmFjLXJlc2VhcmNoLiIpCgoyMDEzLTA1LTEyIDIyOjQxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb2ZhL2dzdG9mYS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMiAyMDozMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBtdXNpY2JyYWluejogcmVtb3ZlIHRybSBlbGVtZW50IHdoaWNoIGlzIG5vdCB1c2VmdWwgYW55IG1vcmUKCSAgVFJNIElEcyBhcmUgTXVzaWNCcmFpbnonIG9sZCBhdWRpbyBmaW5nZXJwcmludGluZyBzeXN0ZW0gZnJvbQoJICBSZWxhdGFibGUsIHRoZXkgd2VyZSBwaGFzZWQgb3V0IGluIGZhdm91ciBvZiBNdXNpY0lQcyBQVUlEcy4KCSAgaHR0cHM6Ly93aWtpLm11c2ljYnJhaW56Lm9yZy9IaXN0b3J5OlRSTQoKMjAxMy0wNS0xMiAxODo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBhZGQgc3VwcG9ydCBmb3IgU0NIRURVTElORyBxdWVyeQoKMjAxMy0wNS0xMiAxODo0NzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBhZGQgaXJhZGlvLW1vZGUgcHJvcGVydHkgYW5kIHBvc3QgaWN5IG1ldGFkYXRhIGFzIHRhZ3MKCjIwMTMtMDUtMTIgMTg6Mjg6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMSAxMjowNzowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggdGltZXN0YW1wIGdlbmVyYXRpb24KCjIwMTMtMDUtMTEgMTk6NDE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogcG9zdCBlcnJvciBtZXNzYWdlcyBvbiBlcnJvcnMKCjIwMTMtMDUtMTAgMTc6MzA6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSAgdmlkZW9maWx0ZXJzOiBBZGQgdmlkZW9kaWZmIGVsZW1lbnQKCjIwMTMtMDQtMjcgMTE6NTY6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBzZXQgdGltZXN0YW1wcyB3aGVuIHJlc3RyaWRpbmcgYnVmZmVyCgoyMDEzLTA0LTE1IDAwOjI0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9tYXJrL2RldGVjdDogcmVuYW1lIHRvIHNpbXBsZXZpZGVvbWFya1tkZXRlY3RdCgoyMDEzLTA0LTEzIDE1OjE2OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvbWFyay9kZXRlY3Q6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTExIDAwOjM2OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogZml4IHJmYmRlY29kZXIgbmV3L2ZyZWUgYXN5bWV0cnkgYW5kIHdyb25nIGZyZWUgaW4gZXJyb3IgY2FzZQoJICBJZiByZmJfZGVjb2Rlcl9uZXcoKSBhbGxvY2F0ZXMgdGhlIGRlY29kZXIgc3J1Y3R1cmUsIHJmYl9kZWNvZGVyX2ZyZWUoKQoJICBzaG91bGQgZnJlZSB0aGUgc3RydWN0dXJlLiBXZSBzaG91bGQgbm90IGZyZWUgdGhlIGRlY29kZXIgd2hlbiBhbgoJICBlcnJvciBvY2N1cnMgZHVyaW5nIGNvbm5lY3Rpb24gLSBpdCBob2xkcyBsb3RzIG9mIGNvbmZpZ3VyYXRpb24vc3RhdGUKCSAgYW5kIHdpbGwgYmUgZnJlZWQgbGF0ZXIgaW4gZmluYWxpemUuCgoyMDEzLTA1LTExIDAwOjI5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IG1ha2UgYXV0aGVudGljYXRpb24gaGFuZHNoYWtlIHNhZmUgZm9yIG11bHRpcGxlIGluc3RhbmNlcwoJICBNb3ZlIERFUyBrZXkgaW50byBjb250ZXh0IHN0cnVjdC4KCjIwMTMtMDUtMTAgMjM6MDk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICByZmJzcmM6IHJlbW92ZSBHUEwtbGljZW5zZWQgc291cmNlIGZpbGUKCSAgYW5kIHJlcGxhY2UgdGhlIDElIG9mIGl0IHRoYXQgd2UgbmVlZCB3aXRoIG5ldyBjb2RlLCBzbyB3ZQoJICBkb24ndCBoYXZlIHRvIGNoYW5nZSB0aGUgcnVudGltZSBsaWNlbnNlIG9mIHJmYnNyYyB0byBHUEwuCgoyMDEzLTA1LTEwIDA5OjQ5OjQ2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IHVzZSBnbGliIGdpbyBzb2NrZXRzIGZvciBuZXR3b3JrIGFjY2VzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDM4CgoyMDEzLTA1LTA5IDE2OjQxOjMyIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICByZmJzcmM6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzgKCjIwMTMtMDUtMTAgMTI6NDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgZGVzdHJveSBub3RpZnkgaW5zdGVhZCBvZiBhbHdheXMgY2FsbGluZyBlZ2xUZXJtaW5hdGUoKSBvbiB0aGUgZGlzcGxheQoJICBJbiBzb21lIHNjZW5hcmlvcywgZm9yIGV4YW1wbGUgaW4gUXRXZWJLaXQsIG1pZ2h0IGJlIGRpZmZpY3VsdCB0byBvYnRhaW4gZnVsbAoJICBjb250cm9sIG9uIHRoZSBlZ2wgZGlzcGxheSBhbmQgaXQgbWlnaHQgYmUgb25seSBhY2Nlc3NpYmxlIGluZGlyZWN0bHkgdmlhCgkgIGVnbEdldEN1cnJlbnREaXNwbGF5KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNTgKCjIwMTMtMDUtMTAgMTE6NDg6NDYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWxsb3cgYmVpbmcgdXNlZCBpbiBDKysgY29kZQoKMjAxMy0wNS0wOCAyMzoxNzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbmFtZSBzcmMgdGVtcGxhdGUgZnJvbSBzcmMlZCB0byBzcmNfJXUKCjIwMTMtMDUtMDggMTg6MjI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkqIGV4dC9kYXNoL0NPUFlJTkc6CgkgIGRhc2g6IHJlbW92ZSBzdXBlcmZsdW91cyBmaWxlcwoJICBBdXRob3JzIGFuZCBsaWNlbnNlIGFyZSBhdCB0aGUgdG9wIG9mIHRoZSBzb3VyY2UgZmlsZXMKCjIwMTMtMDUtMDIgMTQ6MTE6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2g6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBnbGliIG11dGV4IEFQSQoKMjAxMy0wNC0yMyAxMjowODowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGluZyBjb21waWxlciB3YXJuaW5ncyBhYm91dCBwcmludCBmb3JtYXRzCgoyMDEzLTA1LTA4IDExOjE0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGFzaDogZW5hYmxlIGluIGNvbmZpZ3VyZS9tYWtlZmlsZXMKCSAgSXQgd2FzIGludGVudGlvbmFsbHkgZGlzYWJsZWQgdXAgdG8gdGhpcyBwb2ludCB0byBwcmV2ZW50CgkgIGNvbXBpbGUgZmFpbHVyZXMgYXMgZGFzaGRlbXV4IGRldmVsb3BtZW50IGNvbW1pdHMgd2VyZSBhbGwgZm9yCgkgIDAuMTAgdXAgdG8gaGVyZQoKMjAxMy0wNC0xOCAwNzo0MTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMSAwOToxMjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGFub3RoZXIgd3JvbmcgYXNzZXJ0aW9uCgkgIEFsc28gYWRkcyBhIGNvdXBsZSBsb2cgbWVzc2FnZXMgZm9yIGVhc2llciBkZWJ1Z2dpbmcKCjIwMTMtMDQtMTAgMTg6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB3cm9uZyBhc3NlcnRzCgkgIFRob3NlIGFzc2VydHMgc2hvdWxkIGJlIHRoZSBjb250cmFyeSB0aGF0IHRoZXkgYXJlLiBBbmQgYWxzbwoJICB0aGUgc3Vycm91bmQgZnVuY3Rpb25zIHNob3VsZCBhbHJlYWR5IGNoZWNrIHRoYXQuIFJlbW92aW5nIHRoZW0uCgoyMDEzLTAzLTEzIDE1OjU1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogb25seSBzdGFydCB0aW1lc3RhbXAgZnJvbSAwIGZvciBsaXZlIHN0cmVhbQoJICBXZSBvbmx5IHdhbnQgdG8gYWRqdXN0IHRoZSB0aW1lc3RhbXBzIHNvIHRoYXQgdGhleSBzdGFydCBmcm9tIDAgZm9yIGxpdmUKCSAgc3RyZWFtcy4gTm9uLWxpdmUgc3RyZWFtcyBhbHJlYWR5IHN0YXJ0IGZyb20gMCBhbmQgYWZ0ZXIgYSBzZWVrIHdlIGFjdHVhbGx5IHdhbnQKCSAgdG8gdGltZXN0YW1wIHRvIGJlIHRoZSBwb3NpdGlvbiB3ZSBzZWVrIHRvLgoKMjAxMy0wMy0wOCAxNTowNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtYWtlIHRpbWVzdGFtcHMgc3RhcnQgZnJvbSAwCgkgIE5vbi1saXZlIHN0cmVhbXMgc2hvdWxkIHRpbWVzdGFtcCBidWZmZXJzIHdpdGggYSBydW5uaW5nLXRpbWUgc3RhcnRpbmcgZnJvbQoJICAwLiBTaW5jZSB3ZSBhbHJlYWR5IHB1c2ggYSAwIC0+IC0xIHNlZ21lbnQsIGJyaW5nIHRoZSB0aW1lc3RhbXBzIHRvIDAKCSAgYnkgc3VidHJhY3RpbmcgdGhlIGluaXRpYWwgdGltZXN0YW1wLgoKMjAxMy0wMy0wOCAxNDo1OTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFsc28gc2VuZCBuZXdzZWdtZW50IG9uIHN0YXJ0dXAKCjIwMTMtMDMtMDggMTQ6NTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzbWFsbCBjbGVhbnVwCgoyMDEzLTAyLTIyIDE3OjAwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBsaXZlIHN0cmVhbSBwbGF5YmFjayBjcmFzaGZpeAoKMjAxMy0wMi0yMiAxNjo0NjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogZG8gbm90IGNsZWFudXAgeG1sIGxpYiB0b28gZWFybHkKCSAgVGhlIHhtbENsZWFudXBQYXJzZXIgZnVuY3Rpb24gc2VlbXMgdG8gY2xlYW51cCBhbGwgc3RhdGljYWxseQoJICBhbGxvY2F0ZWQgbGlieG1sIHZhcmlhYmxlcywgbWFraW5nIGl0IHVudXNhYmxlLiBXZSBjYW4ndCBndWFyYW50ZWUKCSAgdGhhdCBkYXNoZGVtdXggd29uJ3QgbmVlZCBpdCBhbnltb3JlLCBzbyBiZXR0ZXIgbm90IGNhbGwgaXQuCgoyMDEzLTAyLTIyIDE2OjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlaW1wbGVtZW50aW5nIGxpdmUgc3RyZWFtcyBtYW5pZmVzdCB1cGRhdGVzCgkgIE1hbmlmZXN0IHVwZGF0ZXMgc2hvdWxkIGJlIGRvbmUgcGVyaW9kaWNhbGx5IGZvciBsaXZlIHN0cmVhbXMsCgkgIHRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRlbXV4ZXIgY3JlYXRlIGEgbmV3IG1hbmlmZXN0IGNsaWVudCBmb3IKCSAgdGhlIG5ldyB2ZXJzaW9uIGFuZCB0cmFuc2ZlcnMgdGhlIHN0cmVhbSBwb3NpdGlvbiB0byB0aGUgbmV3CgkgIG9uZSwgZGlzY2FyZGluZyB0aGUgb2xkIG9uZSBhZnRlcndhcmRzLgoKMjAxMy0wMi0yMCAxMjo0OToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogYWxsb3cgcGVyaW9kcyB3aXRob3V0IHN0YXJ0IHRpbWUgZm9yIGxpdmUgc3RyZWFtcwoJICBMaXZlIHN0cmVhbXMgY2FuIGhhdmUgdW5kZWZpbmVkIHN0YXJ0IHRpbWVzIGZvciB0aGUgcGVyaW9kcyBhbmQKCSAgbXBkcGFyc2VyIGNhbiBsZXQgdGhhdCBwYXNzIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0CgoyMDEzLTAyLTE5IDE5OjM1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2g6IG1wZHBhcnNlcjogdXNlIGd1aW50NjQgZm9yIHRpbWVzdGFtcHMKCSAgVGhlIHRpbWVzdGFtcHMgY2FuIGJlIHByZXR0eSBiaWcsIHNvIHVzZSBndWludDY0IGZvciB0aGVtCgoyMDEzLTAyLTE5IDAxOjI2OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGQgcGFyc2luZzogZml4IHF1ZXJ5IHBhcmFtZXRlciBwYXJzaW5nCgkgIFRyeSBoYXJkZXIgdG8gZGV0ZWN0IFVSTCBwYXJhbWV0ZXJzIGFuZCBzcGxpdCB0aGVtIHRvIGFjY29tb2RhdGUKCSAgdGhlIGZyYWdtZW50IHVybCBpbiB0aGUgY29uY2F0OgoJICBiYXNlLXVybCArIGZyYWdtZW50LXVybCArIHVybC1wYXJhbWV0ZXJzCgoyMDEzLTAyLTE4IDE0OjAyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHBsdWcgc29tZSBsZWFrcwoJICBBZGQgc29tZSBtaXNzaW5nIGZyZWUvdW5yZWZzIHNwb3R0ZWQgYnkgdmFsZ3JpbmQKCjIwMTMtMDItMTggMTQ6MDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIG11dGV4ZXMKCjIwMTMtMDItMTQgMTc6Mzk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3Blcmx5IHJlc2V0IHN0cmVhbSBzdGF0dXMgYWZ0ZXIgYSBmbHVzaAoJICBUaGUgc3RyZWFtIGVvcy9lbmQgb2YgcGVyaW9kIHN0YXR1cyBtdXN0IGFsc28gYmUgcmVzZXQgYWZ0ZXIgYSBmbHVzaGluZwoJICBzZWVrLiBUaGlzIG1ha2VzIHNlZWtpbmcgYWZ0ZXIgRU9TIHdvcmsuCgoyMDEzLTAyLTEzIDAyOjEzOjIzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGtlZXAgYSBsaXN0IG9mIHN0cmVhbXMgcGVyaW9kcwoJICBLZWVwIGEgbGlzdCBvZiBzdHJlYW1zIHBlciBwZXJpb2Qgc28gdGhhdCB0aGUgZG93bmxvYWQgbG9vcCBjYW4ga2VlcAoJICBkb3dubG9hZGluZyB3aGlsZSB0aGUgc3RyZWFtIGxvb3AgaXMgc3RpbGwgcHVzaGluZyBvbGQgcGVyaW9kJ3MgZGF0YS4KCjIwMTMtMDItMTIgMjI6NTQ6MzIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgcGFyc2UgYmFzZSB1cmkgZnJvbSBtcGQuCgoyMDEzLTAyLTEyIDIyOjUzOjE2IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB1bnVzZWQgbWVtYmVycy4KCjIwMTMtMDItMTIgMTg6NTA6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogT25seSBzZW5kIG5ld3NlZ21lbnQgb24gc2Vlay4KCjIwMTMtMDItMDggMDI6NTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgc2VnbWVudHMgdGhhdCBvdmVyd3JpdGUgcHJldmlvdXMgb25lcwoJICBUaGlzIGlzIG9ubHkgZG9uZSBmb3Igc2Vla3MsIHNvIGl0IGlzIGZpbmUKCjIwMTMtMDItMDcgMjE6NTg6MzcgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzd2l0Y2ggYml0cmF0ZXMgd2l0aG91dCBzd2l0Y2hpbmcgcGFkcwoKMjAxMy0wMi0wNyAxNjoyMjoxMyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB1bnVzdWVkIG1ldGhvZC4KCjIwMTMtMDItMDcgMTQ6MDk6NDQgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBTZXQgc3RyZWFtIG5lZWRfaGVhZGVyIGFmdGVyIHNlZWsgYW5kIGhhc19kYXRhX3F1ZXVlZCB0byBGQUxTRSB3aGVuIGZsdXNoaW5nIHN0cmVhbS4KCjIwMTMtMDItMDcgMDM6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBwYXVzZS9zdGFydCB0aGUgc3RyZWFtIGxvb3Agb24gcGxheWluZy9wYXVzZWQgY2hhbmdlcwoJICBUaGUgZGVtdXhlciBzaG91bGRuJ3QgY2FyZSBhYm91dCBwYXVzZWQvcGxheWluZywgaXQgc2hvdWxkIGFjdCB0aGUKCSAgc2FtZSBpbiBib3RoIHN0YXRlcwoKMjAxMy0wMi0wNiAxMzozMToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHByb3BlcnR5IHRoYXQgaXNuJ3QgdXNlZCBhbnltb3JlCgkgIFJlbW92ZSBzb21lIHBpZWNlcyBvZiBjb2RlIHRoYXQgYXJlIGZyb20gYW4gb2xkIHByb3BlcnR5CgkgIHRoYXQgaXNuJ3QgdXNlZCBhbnltb3JlCgoyMDEzLTAyLTA1IDE3OjM4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkgIGRhc2hkZW11eDogYWRkIGEgZG93bmxvYWRyYXRlIHV0aWxpdHkKCSAgQSBzbWFsbCBzdHJ1Y3QgdGhhdCBrZWVwcyBhIHNob3J0IGhpc3Rvcnkgb2YgZnJhZ21lbnQgZG93bmxvYWQgYml0cmF0ZXMKCSAgdG8gaGF2ZSBhbiBhdmVyYWdlIG1lYXN1cmUgb2YgTiBsYXN0IGZyYWdtZW50cyBpbnN0ZWFkIG9mIHVzaW5nIG9ubHkKCSAgdGhlIGxhc3QgZG93bmxvYWRlZCBiaXRyYXRlCgoyMDEzLTAyLTA1IDE0OjI0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzcHJpbmtsaW5nIHNvbWUgbW9yZSBsb2cKCjIwMTMtMDItMDUgMTQ6MjI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBjaGFuZ2UgYml0cmF0ZXMgYmFzZWQgb24gdGhlIHN0cmVhbSBiaXRyYXRlCgkgIERvIG5vdCB1c2UgYSBnbG9iYWwgYml0cmF0ZSBhcyB0aGUgc2l6ZXMgb2YgdGhlIGZyYWdtZW50cyBtYXR0ZXIKCSAgd2hlbiBjYWxjdWxhdGluZyB0aGUgZG93bmxvYWQgcmF0ZSBhcyB0aGUgY29ubmVjdGlvbiBzZXR1cCB0aW1lIGlzCgkgIGFsc28gYmVpbmcgdGFrZW4gaW50byB0aGUgZG93bmxvYWQgZHVyYXRpb24sIGEgc21hbGxlciBmcmFnbWVudAoJICB3aWxsIGhhdmUgYSBsb3dlciBiaXRyYXRlIHRoYW4gYSBsYXJnZXIgb25lLgoJICBUaGlzIGF2b2lkcyBzd2l0Y2hpbmcgdGhlIGJpdHJhdGVzIGZvciBzdHJlYW1zIGZyZXF1ZW50bHkgYmVjYXVzZQoJICBvZiBiaXRyYXRlIG1pc21hdGNoZXMKCjIwMTMtMDItMDUgMDA6NDU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHRvIHVzZSB0aGUgdXJpZG93bmxvYWRlciBsaWIgaW5zdGVhZCBvZiBpbnRlcm5hbCBjb3B5CgoyMDEzLTAyLTA1IDAxOjI5OjI4IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBzdXJlIHN3aXRjaF9wYWRzIHdvbid0IGxlYWsgYW55IHBhZC4KCjIwMTMtMDItMDQgMjI6NTg6MzIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgc3RvcCBkb3dubG9hZCBhbmQgc3RyZWFtIHRhc2tzIHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAxMy0wMi0wMSAwMjoxMjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYXZvaWQgYW4gYXNzZXJ0aW9uIHdoZW4gc3RvcHBpbmcgdGhlIHBpcGVsaW5lCgkgIEF2b2lkcyBhc3NlcnRpbmcgd2hlbiBkYXRhcXVldWVzIGFyZSBzZXR0aW5nIHRvIGZsdXNoaW5nIGR1ZQoJICB0byBhIHBpcGVsaW5lIHN0b3AgZHVyaW5nIGEgcGFkIHN3aXRjaC4KCjIwMTMtMDItMDEgMDI6MTA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGRvd25sb2FkIHRoZSBuZXh0IGZyYWdtZW50IHdpdGggc21hbGxlciB0aW1lc3RhbXAKCSAgSW5zdGVhZCBvZiBkb3dubG9hZGluZyAxIGZyYWdtZW50IHBlciBzdHJlYW0gcGVyIGRvd25sb2FkIGxvb3AsCgkgIHNlbGVjdCB0aGUgc3RyZWFtIHdpdGggdGhlIGVhcmxpZXIgdGltZXN0YW1wIGFuZCBnZXQgYSBmcmFnbWVudAoJICBvbmx5IGZvciB0aGF0IG9uZS4KCSAgVGhlIG9sZCBhbGdvcml0aG0gd291bGQgbGVhZCB0byBwcm9ibGVtcyB3aGVuIHRoZSBmcmFnbWVudCBkdXJhdGlvbnMKCSAgd2VyZSB0b28gZGlmZmVyZW50IGZvciBzdHJlYW1zLgoKMjAxMy0wMi0wMSAwMDozNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHRyYWNrIHNlZ21lbnRzIGluIHRoZSBkZW11eGVyCgkgIFVzZSBhIEdzdFNlZ21lbnQgdG8gdHJhY2sgdGhlIGN1cnJlbnQgc2VnbWVudCBpbmZvcm1hdGlvbiBpbiB0aGUKCSAgZGVtdXhlci4KCjIwMTMtMDItMDEgMDA6MzM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgYnVmZmVyaW5nIG1lc3NhZ2UgZW1pc3Npb24gZnJvbSBkYXNoZGVtdXgKCSAgZGFzaGRlbXV4IHNob3VsZG4ndCBlbWl0IHRoZSBidWZmZXJpbmcgbWVzc2FnZSBhcyB0aGF0IGNhbiBwYXVzZQoJICB0aGUgcGlwZWxpbmUuIEl0IGhhcyBubyBwcm9wZXIga25vd2xlZGdlIG9mIHRoZSBkb3duc3RyZWFtIGJ1ZmZlcmluZwoJICBzdGF0dXMgc28gaXQgY2FuIHBhdXNlIHRoZSBwaXBlbGluZSB3aGVuIGl0IGlzbid0IG5lY2Vzc2FyeS4gSXQgc2hvdWxkCgkgIGhhdmUgYW4gaW50ZXJuYWwgYnVmZmVyIGZvciBkb3dubG9hZGluZyB0aGUgc3RyZWFtcyBhaGVhZCBvZiBwbGF5YmFjaywKCSAgYnV0IHRoYXQgc2hvdWxkbid0IG1ha2UgaXQgYWJsZSB0byBzdG9wIHRoZSBwaXBlbGluZSBmb3IgYnVmZmVyaW5nLgoJICBBIHBhcnRpY3VsYXIgY2FzZSBpbiB3aGljaCB0aGlzIGlzIGJhZCBpcyB3aGVuIGEgcGFkIHN3aXRjaCBoYXBwZW5zCgkgIChjaGFuZ2luZyBiaXRyYXRlcyBmb3IgZXhhbXBsZSksIHRoZSBuZXcgcGFkcyBkYXNoZGVtdXggY3JlYXRlcwoJICB3aWxsIGdldCBsaW5rZWQgdG8gZGVtdXhlcnMgYW5kIG5ldyBxdWV1ZXMgd2lsbCBiZSBjcmVhdGVkLAoJICB0aGVzZSBxdWV1ZXMgYXJlIGluaXRpYWxseSBlbXB0eSBhbmQgZGFzaGRlbXV4IHdpbGwgcXVpY2tseQoJICBkcmFpbiBpdHMgYnVmZmVycyBieSBwdXNoaW5nIHRoZW0gdG8gdGhvc2UgcXVldWVzLiBTbyBpdAoJICB3b3VsZCBoYXZlIG5vIG1vcmUgYnVmZmVycyBpbnRlcm5hbGx5IGFuZCB3b3VsZCBlbWl0IGEKCSAgYnVmZmVyaW5nIG1lc3NhZ2Ugd2l0aCBhIGxvdyByYXRpbywgY2F1c2luZyB0aGUgcGlwZWxpbmUKCSAgdG8gcGF1c2Ugd2hlbiBpdCB3b3VsZG4ndCBiZSBuZWNlc3NhcnkuCgoyMDEzLTAxLTMwIDE3OjMxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZpbmcgdW51c2VkIGNvZGUKCSAgQ2xlYW5pbmcgdXAgYnkgcmVtb3ZpbmcgdW51c2VkIGNvZGUgYW5kIHZhcmlhYmxlcwoKMjAxMy0wMS0zMCAxNzoyNzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlLWVuYWJsZSBhbmQgZml4IGFkYXB0aXZlIHN3aXRjaGluZwoJICBJdCBpcyBzdGlsbCB1bnN0YWJsZSwgYnV0IGF0IGxlYXN0IGl0IHdvcmtzIHdoZW4gdGhlIHN3aXRjaGVzIGFyZW4ndAoJICBoYXBwZW5pbmcgYWZ0ZXIgZXZlcnkgZnJhZ21lbnQKCjIwMTMtMDEtMjkgMTU6NTg6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RseSBzaWduYWwgRU9TIG9uIG1hbmlmZXN0IGVuZAoJICBQdXQgRU9TIG9uIHRoZSBzdHJlYW1zIHF1ZXVlcyBhZnRlciB0aGUgbGFzdCBmcmFnbWVudCBmcm9tIHRoZQoJICBsYXN0IHBlcmlvZCBmb3IgZWFjaCBzdHJlYW0uIFRoaXMgd2F5IHdlIGtlZXAgaXQgc2VyaWFsaXplZAoJICB3aXRoIHRoZSBidWZmZXJzIGFuZCBpdCB3aWxsIHdvcmsgd2hlbiBzdHJlYW1zIGhhdmUgZGlmZmVyZW50CgkgIGVuZGluZyB0aW1lcwoKMjAxMy0wMS0yOSAxMzowODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZGV0ZWN0IGVuZC1vZi1wZXJpb2QgY29ycmVjdGx5CgkgIERldGVjdCBlbmQgb2YgcGVyaW9kIHdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgYnVmZmVycyBvbiBhbnkgb2YgdGhlCgkgIHN0cmVhbXMKCjIwMTMtMDEtMjkgMTM6MDQ6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVzZSB0aGUgc21hbGxlc3QgcXVldWUgdmFsdWUgdG8gZGVmaW5lIGJ1ZmZlcmluZyBzdGF0ZQoJICBUaGUgc21hbGxlc3QgcXVldWUgc2hvdWxkIGJlIHVzZWQgdG8gcHJldmVudCBibG9ja2luZyB0aGUgZG93bmxvYWQKCSAgdGhyZWFkIHdoZW4gYSBzdHJlYW0gaGFzIHRvbyBtdWNoIGRhdGEgYnVmZmVyZWQsIGxlYXZpbmcgdGhlIG90aGVyCgkgIHN0cmVhbXMgc3RhcnZpbmcgZnJvbSBmcmFnbWVudHMKCjIwMTMtMDEtMjkgMTE6MjI6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBmaXggcGFyc2luZyBvZiBzdHJlYW1zIHRvIGdldCBjb3JyZWN0IGZyYWdtZW50IGR1cmF0aW9ucwoJICBVc2UgdGhlIGN1cnJlbnQgc3RyZWFtIGJhc2UgdGltZSBpbnN0ZWFkIG9mIHRoZSAwdGggc3RyZWFtIGJhc2UgdGltZQoJICB0byBnZXQgZGVmYXVsdCBkdXJhdGlvbiBmb3IgZnJhZ21lbnRzLgoKMjAxMy0wMS0yOSAwMTowNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyBpbnN0ZWFkIG9mIGJ1c3kgd2FpdAoJICBNYWtlIHRoZSBzdHJlYW1pbmcgbG9vcCBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIG9uIHRoZSBxdWV1ZXMgaW5zdGVhZAoJICBvZiBidXN5IHdhaXRpbmcgZWF0aW5nIGNwdSBjb250aW51b3VzbHkgb24gYSBxdWV1ZSBsZW5ndGggY2hlY2sKCjIwMTMtMDEtMjggMTk6NDM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IHNlZWtpbmcgb24gbXVsdGlwbGUgc3RyZWFtcwoJICBFYWNoIHN0cmVhbSBoYXMgaXRzIG93biBkdXJhdGlvbnMgYW5kIHRpbWVzdGFtcHMsIHRoZSBmcmFnbWVudCBudW1iZXIKCSAgaXMgZGlmZmVyZW50IGZvciBlYWNoIHN0cmVhbSB3aGVuIHNlZWtpbmcsIHNvIHRoZSBzZWVrIGhhcyB0byBiZSBkb25lCgkgIGZvciBhbGwgc3RyZWFtcywgcmF0aGVyIHRoYW4gb24gYSBzaW5nbGUgc3RyZWFtIGFuZCBwcm9wYWdhdGVkIHRvCgkgIG90aGVycwoKMjAxMy0wMS0yOCAxODo1MjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBSZXBsYWNlIEdRdWV1ZSBieSBHc3REYXRhUXVldWUKCSAgR3N0RGF0YVF1ZXVlIGhhcyBwcm9wZXIgbG9ja2luZyBhbmQgcHJvdmlkZXMgZnVuY3Rpb25zIHRvIGxpbWl0IHRoZQoJICBzaXplIG9mIHRoZSBxdWV1ZS4gQWxzbyBoYXMgYmxvY2tpbmcgY2FsbHMgdGhhdCBhcmUgdXNlZnVsIHRvCgkgIG91ciBtdWx0aXRocmVhZCBzY2VuYXJpbyBpbiBEYXNoLgoKMjAxMy0wMS0yOCAxMjoyODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1vdmUgdGhlIGJ1ZmZlcnMgcXVldWVzIHRvIHRoZSBzdHJlYW1zCgkgIFN0b3JlIHRoZSBidWZmZXJzIHNlcGFyYXRlbHkgZm9yIGVhY2ggc3RyZWFtLCB0aGlzIGlzIGNsZWFyZXIgdGhhbgoJICBoYXZpbmcgYSBxdWV1ZSB3aXRoIGEgbGlzdCBvZiBidWZmZXJzLiBJdCBhbHNvIGFsbG93cyBlYXNpZXIgc2VsZWN0aW9uCgkgIG9mIGJ1ZmZlcnMgdG8gcHVzaCBpbiBsYXRlciByZWZhY3RvcnMKCjIwMTMtMDEtMjggMTA6NDY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBzdHJlYW1zIGRhdGEgdG8gaXRzIG93biBzdHJ1Y3QKCSAgS2VlcHMgY29kZSBtb3JlIG9yZ2FuaXplZCBhbmQgc2ltaWxhciB0byB3aGF0IG90aGVyIGRlbXV4ZXJzCgkgIHVzdWFsbHkgZG8KCjIwMTMtMDEtMjUgMTM6MDQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBkbyBub3QgdHJ5IHRvIHByaW50IGEgcG9pbnRlciBhcyBhIHN0cmluZwoKMjAxMy0wMS0yNSAxMjo0NToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbW92ZSB0aW1pbmcgY29kZSB0aGF0IGRlbGF5cyBwdXNoaW5nIG9mIGZyYWdtZW50cwoJICBGcmFnbWVudHMgc2hvdWxkIGJlIHB1c2hlZCBBU0FQIGFzIGRvd25zdHJlYW0gc2hvdWxkIGJlIHJlc3BvbnNpYmxlIGZvcgoJICBkb2luZyB0aGUgc3luY3Job25pemF0aW9uIGFuZCBwcm9wZXIgYnVmZmVyaW5nLgoJICBUaGlzIGhhcyB0aGUgZ3JlYXQgc2lkZSBlZmZlY3Qgb2YgZml4aW5nIG1vc3Qgb2YgdGhlIHNlZWtpbmcgQS9WIHN5bmMgaXNzdWVzLgoKMjAxMy0wMS0yNSAwOTozNjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBkYXNoOiBmaXhpbmcgYnVpbGQgd2FybmluZ3MKCSAgQWxzbyBydW5uaW5nIHRocm91Z2ggZ3N0LWluZGVudAoKMjAxMy0wMS0yMyAxNjo0MzoxMiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGdzdGRhc2hkZW11eDogYWRkIG5lZWRfaGVhZGVyIG1lbWJlciB0byBrbm93IHdoZXRoZXIgdGhlIGluaXRpYWxpemF0aW9uIGZyYWdtZW50IHNob3VsZCBiZSBwdXNoZWQKCjIwMTMtMDEtMjMgMTM6MjA6MjUgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGRvbid0IHdhaXQgZm9yIHRoZSB3aG9sZSBkdXJhdGlvbiBvZiBhIGZyYWdtZW50IHdoZW4gc2Vla2luZwoKMjAxMy0wMS0yMyAxMzoxOToyMSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzd2l0Y2ggcGFkcyBhbmQgc2VuZCBoZWFkZXIgZmlsZSB3aGVuIGEgbmV3c2VnbWVudCBldmVudCBpcyBzZW50CgoyMDEzLTAxLTE2IDEzOjU4OjUyIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdmFyaW91cyBmaXhlcwoKMjAxMi0xMi0yMCAwOTowNDoyOCArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTItMTggMTE6MjE6MjIgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgUmVwbGFjZWQgVVJMIHBvaW50aW5nIHRvIG9ic29sZXRlIEtsYWdlbmZ1cnQgTVBEIGJ5IGEgbmV3IG9uZQoKMjAxMi0xMi0xNyAxNTo0NjozMiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeCBlc2NhcGUgc2VxdWVuY2UgaW4gVVJMIHRlbXBsYXRlIHJlc29sdmluZwoKMjAxMi0xMi0xNyAxNTozOToxMCArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZG8gbm90IHN3aXRjaCBwYWRzIHdoZW4gYml0c3RyZWFtU3dpdGNoaW5nID0gdHJ1ZQoKMjAxMi0xMi0xNyAxNToxOTozMyArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29tcGxldGUgc3VwcG9ydCBmb3IgbWFuaWZlc3QgZmlsZSB1cGRhdGVzCgoyMDEyLTEyLTE3IDE1OjEyOjU4ICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgbWFuaWZlc3QgZmlsZSB1cGRhdGVzCgkgIC0gdGhlIE1QRCBmaWxlIGlzIHVwZGF0ZWQgaW4gdGhlIGRvd25sb2FkIGxvb3AgKG9ubHkgaWYgd2UgaGF2ZSBhICJkeW5hbWljIiBNUEQgYW5kIG1pbmltdW1VcGRhdGVQZXJpb2QgaXMgdmFsaWQpOwoJICAtIHByb3Blcmx5IExPQ0svVU5MT0NLIHRoZSBHc3RNcGRDbGllbnQ7CgoyMDEyLTEyLTE3IDE1OjA0OjQ1ICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBuZXcgQVBJIHRvIHNldC9nZXQgc2VnbWVudCBpbmRleCBhbmQgcGVyaW9kIGluZGV4CgkgIFRPRE86IHJld29yayBzZWdtZW50IHNlbGVjdGlvbiB0byBzdXBwb3J0IFJlcHJlc2VudGF0aW9ucyBvciBBZGFwdGF0aW9uIFNldHMgd2l0aCBzZWdtZW50cyBub3QgYWxpZ25lZAoKMjAxMi0xMi0xNyAxNTowMDo1MiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbmV3IEFQSSB0byBsb2FkIHRoZSBzdHJlYW0gUGVyaW9kIHdpdGggYSBnaXZlbiBpbmRleAoJICB0aGlzIGF2b2lkcyB0byBmaWRkbGUgd2l0aCBzdHJlYW0gaW50ZXJuYWxzIGluIHRoZSBjb2RlCgoyMDEyLTEyLTE3IDE0OjU0OjQyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgYWNyb3NzIFBlcmlvZHMKCjIwMTItMTEtMjEgMTQ6MTQ6MzQgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTEtMjEgMTQ6MTQ6MjEgKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBCeSBkZWZhdWx0LCBkbyBub3QgZm9yd2FyZCBwYWQgcXVlcmllcyB1cHN0cmVhbSwgYmVjYXVzZSBpdCBtYXkgaGF2ZSB1bmZvcmVzc2VuIHNpZGUtZWZmZWN0cyAoZm9yd2FyZGluZyB0aGUgbmV3IDEuMCBHU1RfQ0FQUyBxdWVyeSB3b3VsZCBwcmV2ZW50IHBhZCBsaW5raW5nIGZvciBpbnN0YW5jZSkKCjIwMTItMTEtMTIgMTA6NTQ6MzUgKzAxMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIHBsdWdpbjogcmVnaXN0ZXIgYXMgZGFzaGRlbXV4IGluc3RlYWQgb2YgZnJhZ21lbnRlZAoJICBUaGlzIGZpeGVzIGNvbmZsaWN0cyB3aXRoIHRoZSBITFMgcGx1Z2luLCB3aGljaCBpcyBhbHNvIG5hbWVkCgkgIGZyYWdtZW50ZWQuCgkgIFdoZW4gYnVpbGRpbmcgaXRzIHJlZ2lzdHJ5LCBnc3RyZWFtZXIgd2FzIHBpY2tpbmcgb25lIG9yIHRoZSBvdGhlcgoJICBiZXR3ZWVuIGhscyBhbmQgZGFzaGRlbXV4LgoKMjAxMi0xMC0yNSAxNzo1NTowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNoZWNrIGlmIHdlIGhhdmUgcmVjZWl2ZWQgdGhlIE1QRCBmaWxlIGluIHRoZSBwcm9wZXIgd2F5CgoyMDEyLTEwLTI1IDE3OjUzOjUzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc2lsZW5jZSB3YXJuaW5nCgoyMDEyLTEwLTI1IDE3OjE1OjA5ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBwcmludGluZyBidWZmZXJpbmcgdGltZSBhbmQgZG93bmxvYWQgcmF0ZS9zaXplCgkgIFRoaXMgd2FzIGJyb2tlbiBvbiBhcm12Ny4KCjIwMTItMTAtMjUgMTc6MTc6MzUgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHVudXNlZC1idXQtc2V0IHZhcmlhYmxlCgoyMDEyLTEwLTI1IDE2OjQ5OjIxICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBuZXcgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gQVBJCgkgIFRoaXMgZml4ZXMgYnVpbGQgdGhhdCBoYXMgYmVlbiBicm9rZW4gYnkgY29tbWl0CgkgIGZiOWFlYWM2NTUyMDIxYjE3NmE0YzRiZDA3MjY1ZTAyYTBiNzBlMGYuCgkgIGdzdF9tcGRfY2xpZW50X2dldF90YXJnZXRfZHVyYXRpb24gaGFzIGJlZW4gcmVtb3ZlZCwgYW5kCgkgIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCgoyMDEyLTEwLTI0IDE3OjI4OjQwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIEZJWE1FIGNvbW1lbnQKCSAgcGFkIHN3aXRjaGluZyBhY3Jvc3MgbXVsdGlwbGUgcGVyaW9kcyB3b3JrcyBwZXJmZWN0bHkgZmluZSBub3cKCSAgYW5kIGl0IGlzIGRvbmUgb25seSB3aGVuIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBDQVBTCgoyMDEyLTEwLTI0IDE2OjU1OjIwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBuZXctc2VnbWVudCBldmVudHMgdG8gYWxsIHBhZHMKCjIwMTItMTAtMjQgMTY6MzA6MDEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIHRoZSBBUEkgdG8gcmV0cmlldmUgZnJhZ21lbnQgdGltZXN0YW1wLCBmcmFnbWVudCBkdXJhdGlvbiBhbmQgbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uCgkgIFRoaXMgd2FzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHZhcmlhYmxlLWR1cmF0aW9uIEZyYWdtZW50cy4KCSAgaW4gdGhlIG5ldyBBUEk6CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X2N1cnJlbnRfcG9zaXRpb24gcmV0dXJucyB0aGUgdGltZXN0YW1wIG9mIHRoZSBORVhUIGZyYWdtZW50IHRvIGRvd25sb2FkOwoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIHJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBuZXh0IGZyYWdtZW50IHRvIGRvd25sb2FkOwoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb24gcmV0dXJucyB0aGUgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBmcm9tIHRoZSBNUEQgZmlsZTsKCSAgYWxzbyB0aGVyZSBpcyBhIG5ldyBpbnRlcm5hbCBwYXJzZXIgZnVuY3Rpb246CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X3NlZ21lbnRfZHVyYXRpb24gZXh0cmFjdHMgdGhlIGNvbnN0YW50IHNlZ21lbnQgZHVyYXRpb24gZnJvbSB0aGUgTVBEIGZpbGUKCSAgKG9ubHkgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIFNlZ21lbnRUaW1lbGluZSBzeW50YXggZWxlbWVudCBpbiB0aGUgY3VycmVudCByZXByZXNlbnRhdGlvbikKCSAgSW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnQsIHdlIHNldCB0aGUgdGltZXN0YW1wL2R1cmF0aW9uIG9mIHRoZSBmcmFnbWVudCBqdXN0IGRvd25sb2FkZWQKCSAgY29weWluZyB0aGUgdmFsdWVzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgR3N0TWVkaWFTZWdtZW50LgoJICBUT0RPOiByZXdvcmsgU0VFS0lORyB0byBzdXBwb3J0IHNlZWtpbmcgYWNyb3NzIGRpZmZlcmVudCBQZXJpb2RzLgoKMjAxMi0xMC0yNCAxNDo1MDo1NCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBlZmZlY3RpdmUgc2VnbWVudCBkdXJhdGlvbiB0byByZXNjaGVkdWxlIHRoZSBzdHJlYW1pbmcgdGFzawoJICBkbyBub3QgYXNzdW1lIHNlZ21lbnQgZHVyYXRpb24gaXMgY29uc3RhbnQKCSAgQ29uZmxpY3RzOgoJICBleHQvZGFzaC9nc3RkYXNoZGVtdXguYwoKMjAxMi0xMC0yNCAxNDoyNDowNSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIGdzdF9kYXNoX2RlbXV4X2dldF9idWZmZXJpbmdfdGltZSgpIHRvIHJldHVybiB0aGUgZWZmZWN0aXZlIGJ1ZmZlcmluZyB0aW1lCgkgIGRvIG5vdCBhc3N1bWUgdGhlIEZyYWdtZW50IGR1cmF0aW9uIGlzIGNvbnN0YW50CgoyMDEyLTEwLTI0IDExOjQ5OjUxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29tcGxldGUgc3VwcG9ydCBmb3IgTWVkaWEgUHJlc2VudGF0aW9ucyB3aXRoIHNldmVyYWwgUGVyaW9kcwoJICAtIFBlcmlvZHMgYXJlIHBsYXllZCBpbiBzZXF1ZW5jZSwgZnJvbSBQZXJpb2RTdGFydCB0byBQZXJpb2RFbmQKCSAgLSBzZWFtbGVzcyBzd2l0Y2hpbmcgZnJvbSBvbmUgUGVyaW9kIHRvIHRoZSBuZXh0IG9uZSB3b3JrcyBmaW5lOwoJICAtIHRoZSAnbmV3LXNlZ21lbnQnIGdlbmVyYXRpb24gaXMgYnJva2VuLCBzbyBpZiB3ZSBuZWVkIHRvIHN3aXRjaCBwYWRzIGZvciBhIG5ldyBQZXJpb2QgdGhlcmUgaXMgYSBjcmFzaDsKCjIwMTItMTAtMjIgMTg6MTI6MzAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGluaXRpYWwgc3VwcG9ydCBmb3IgTWVkaWEgUHJlc2VudGF0aW9ucyBtYWRlIG9mIHNldmVyYWwgUGVyaW9kcwoJICAtIGJ1aWxkIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIFBlcmlvZHMgd2l0aCB0aGVpciBzdGFydCBhbmQgZHVyYXRpb24gdGltZQoJICAtIGFkZCB0aGUgbGlzdCBvZiBHc3RTdHJlYW1QZXJpb2QgaW4gdGhlIEdzdE1wZENsaWVudCBkYXRhIHN0cnVjdAoJICAtIHJlbW92ZSBjdXJfcGVyaW9kIGZyb20gR3N0TXBkQ2xpZW50IGFuZCBpbnRyb2R1Y2UgYW4gQVBJIHRvIGdldCB0aGUgY3VycmVudCBHc3RTdHJlYW1QZXJpb2QKCSAgLSBzZXZlcmFsIEFQSSBjbGVhbi11cHMKCjIwMTItMTAtMjQgMTg6MTA6NDcgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBCYXNlVVJMIGZvciBTZWdtZW50VVJMIHVzaW5nIG1lZGlhUmFuZ2UKCSAgVGhpcyBpcyB1c2VkIGluIGJpZ19idWNrX2J1bm55X0NhcHBlZFZCUl9NdWx0aXJhdGVfNHNfMF9BdWRpb1ZpZGVvX01haW5Qcm9maWxlLm1wZAoKMjAxMi0xMC0yNCAxODowNDowNyArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmYWN0b3JpemUgYWRkaW5nIHJhbmdlIHBhcmFtZXRlciB0byBVUkwKCjIwMTItMTAtMTkgMjA6MTI6MDkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJld29ya2VkIGNhcHMgZGV0ZWN0aW9uCgkgIGFsc28gcmV3b3JrZWQgdGhlIEFQSSB0byBleHRyYWN0IGF1ZGlvL3ZpZGVvIHBhcmFtZXRlcnMgZnJvbSB0aGUgbWFuaWZlc3QgZmlsZQoJICAobWltZVR5cGUsIHdpZHRoLCBoZWlnaHQsIHJhdGUsIG51bSBjaGFubmVscykKCjIwMTItMTAtMTkgMTk6MDM6NDEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHNlbmQgYm9ndXMgZHVyYXRpb24gbWVzc2FnZXMgd2hlbiBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGlzIHVua25vd24KCjIwMTItMTAtMTkgMTg6NDU6MzAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IFNlZ21lbnRUaW1lbGluZSBzeW50YXggYWxzbyBmb3IgbGlzdC1iYXNlZCBtZWRpYSBzZWdtZW50IGdlbmVyYXRpb24KCjIwMTItMTAtMTkgMTc6NDc6NTEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkIHN1cHBvcnQgZm9yIFNlZ21lbnRUaW1lbGluZSBzeW50YXggZWxlbWVudHMKCSAgYnVpbGQgdGhlIGxpc3Qgb2Ygc2VnbWVudHMgdG8gYmUgcGxheWVkIHVzaW5nIHRoZSBTZWdtZW50VGltZWxpbmUgc3ludGF4LCBpZiBwcmVzZW50CgkgIGJ1Z2ZpeGVzOgoJICAtIGZvciBkeW5hbWljIE1QRCBmaWxlcywgd2hlbiBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGlzIG5vdCBwcmVzZW50IHVzZSBtaW5pbXVtVXBkYXRlUGVyaW9kIGluc3RlYWQKCSAgLSBkbyBub3QgYWRkIGEgc3B1cmlvdXMgJyQnIHdoZW4gYnVpbGRpbmcgYW4gVVJMIGZyb20gYSB0ZW1wbGF0ZSBsaWtlICIkQmFuZHdpZHRoJC9pbml0Lm1wNHYiCgkgIC0gaW50cm9kdWNlIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50KCkgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbgoKMjAxMi0xMC0xOSAxNTo0Mjo1MSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHdyb25nIGluZGV4IGluIGZyYWdtZW50cwoKMjAxMi0xMC0xOSAxMjowMTowMyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X3NldCgpCgkgIHdlIGhhdmUgdG8gZnJlZSBuZXh0X2ZyYWdtZW50X3VyaQoKMjAxMi0xMC0xOSAxMDo1MDoxNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDEwOjQzOjQ5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgU2VlayBldmVudCBoYW5kbGluZyBjbGVhbnVwCgoyMDEyLTEwLTE4IDE4OjQ5OjUzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBwbGF5aW5nIG9mIHNpbmdsZS1zZWdtZW50IG1lZGlhIHN0cmVhbXMKCSAgb3RoZXIgZml4ZXM6CgkgIC0gZml4ZWQgYSBidWZmZXJpbmcgYnVnOiBub3cgd2Ugc3RvcCBidWZmZXJpbmcgd2hlbiB3ZSByZWFjaCB0aGUgZW5kIG9mIG1hbmlmZXN0CgkgIC0gbm93IGdzdF9tcGRfY2xpZW50X2dldF90YXJnZXRfZHVyYXRpb24oKSBhbHdheXMgcmV0dXJucyBhIHZhbGlkIGR1cmF0aW9uCgkgIChpbiBjYXNlIG9mIHNpbmdsZS1zZWdtZW50IHN0cmVhbXMsIHdlIHJldHVybiBlaXRoZXIgUGVyaW9kIGR1cmF0aW9uIG9yIG1lZGlhUHJlc2VudGF0aW9uIGR1cmF0aW9uKQoJICBUT0RPOiBzdXBwb3J0IFNlZ21lbnRUaW1lbGluZQoKMjAxMi0xMC0xNyAxODo0NjoyMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogZGVsZXRlZCB1c2VsZXNzIGRlY2xhcmF0aW9uIG9mIGdzdF91cmlfZG93bmxvYWRlcl9mcmVlKCkKCjIwMTItMTAtMTcgMTg6NDU6MjUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHdoZW4gcG9zc2libGUsIHJldXNlIGV4aXN0aW5nIGVsZW1lbnQgdG8gZG93bmxvYWQgYSBuZXcgVVJJCgkgIHByZXZpb3VzbHkgYSBuZXcgZWxlbWVudCB3YXMgYWxsb2NhdGVkIGZvciBlYWNoIG1lZGlhIHNlZ21lbnQsIGFuZCBpdCB3YXMgbmV2ZXIgZnJlZWQKCjIwMTItMTAtMTcgMTg6NDM6MjYgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1bnJlZiBjYXBzIGluIGZ1bmN0aW9uIG5lZWRfYWRkX2hlYWRlcigpCgoyMDEyLTEwLTE3IDE4OjQyOjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IGV4dHJhY3Rpb24gb2YgU2VnbWVudFRlbXBsYXRlLT5pbml0aWFsaXphdGlvbiBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9oZWFkZXIoKQoJICBub3cgdGhlIGZvbGxvd2luZyBNUEQgZmlsZXMgYXJlIHByb3Blcmx5IHN1cHBvcnRlZDoKCSAgaHR0cDovL2Rhc2guZWRnZXN1aXRlLm5ldC9hZG9iZS9oZHdvcmxkX2Rhc2gvSERXb3JsZC0xNjAwLm1wZAoJICBodHRwOi8vZGFzaC5lZGdlc3VpdGUubmV0L2Fkb2JlL2hkd29ybGRfZGFzaC9IRFdvcmxkLm1wZAoKMjAxMi0xMC0xNyAxODo0MDowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfZGFzaF9kZW11eF9nZXRfbmV4dF9oZWFkZXIoKQoKMjAxMi0xMC0xNyAxNTo1MjoxOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFdlIG5vdyBvbmx5IGFjY2VwdCBhY3R1YWwgbWFuaWZlc3QgZmlsZXMsIGFuZCBub3QgYW55IFhNTCBmaWxlCgoyMDEyLTEwLTE3IDE1OjUwOjMzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIEFkZGVkIGEgdHlwZWZpbmQgaGVscGVyIGZvciBEQVNIOiB0aGlzIGNvbW1pdCBzaG91bGQgYmUgcmV2ZXJ0ZWQgYXMgc29vbiBhcyBhIHByb3BlciBwYXRjaCBoYXMgYmVlbiBzdWJtaXR0ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZQoKMjAxMi0xMC0xNyAxMDowMjozOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHN0YXRlIG1hY2hpbmUgKGFnYWluKQoKMjAxMi0xMC0xNiAxNjo0NjoxNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvZGUgcmVmYWN0b3JpbmcKCjIwMTItMTAtMTYgMTY6MzQ6MTAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCBzdGF0ZSBtYWNoaW5lCgoyMDEyLTEwLTE2IDEzOjQzOjM5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgdGhlIHRhc2tzIHNodXRkb3duIGNvZGUKCjIwMTItMTAtMTYgMTI6NTE6NDQgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGRlZCBtaXNzaW5nIGdfbGlzdF9mcmVlCgoyMDEyLTEwLTE2IDExOjQ0OjI2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG8gbm90IGFuc3dlciB0byBVUkkgcXVlcmllcwoKMjAxMi0xMC0xNiAxMTozOToxOCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFRyeSBxdWVyaWVzIHVwc3RyZWFtIGlmIHdlIGNhbm5vdCBwcm9jZXNzIHRoZW0KCjIwMTItMTAtMTYgMTE6MjY6MDMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVuYW1lZCBkZW11eC0+bmV4dF9zdHJlYW0gaW4gZGVtdXgtPm5leHRfcHVzaAoKMjAxMi0xMC0xNiAxMToyMzoyNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIElubGluZWQgb25lLWxpbmUgdXRpbGl0eSBmdW5jaXRvbiB0aGF0IHdhcyBjYWxsZWQgb25seSBvbmNlCgoyMDEyLTEwLTE2IDA5OjEwOjAwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgcmVncmVzc2lvbiBhZnRlciB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZSBtdWx0aS1zY3JlZW4gc3VwcG9ydCwgcHJldmVudGluZyB0aGUgcGlwZWxpbmUgZnJvbSBzdG9wcGluZyBwcm9wZXJseQoKMjAxMi0xMC0xNSAxNjo0MToyOCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIE1vZGlmaWVkIGxvZyBsZXZlbCBvZiBzaHV0ZG93biBtZXNzYWdlCgoyMDEyLTEwLTE1IDE1OjA4OjUzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudHM6IFdlIGRvbid0IHNlbGVjdCBhIHNpbmdsZSByZXByZXNlbnRhdGlvbiwgYnV0IGEgcmVwcmVzZW50YXRpb24gZm9yIGVhY2ggc3RyZWFtIENvZGU6IGNsZWFudXAgb2YgZ3N0X2dldF9uZXh0X2ZyYWdtZW50IChhbHNvIHJlbmFtZWQgaW4gZ3N0X2dldF9uZXh0X2ZyYWdtZW50X3NldCkKCjIwMTItMTAtMTUgMTQ6MjU6MjcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIGRlYnVnIHRyYWNlCgoyMDEyLTEwLTE1IDE0OjE0OjUzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkZWQgaW50cm9kdWN0aW9uIGFuZCBnZW5lcmFsIGRlc2lnbiBub3RlcwoKMjAxMi0xMC0xNSAxMzo1NDoxNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHdyb25nIGNvbW1lbnQKCjIwMTItMTAtMTUgMTM6NTI6MzEgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEb2N1bWVudGVkIGdzdF9kYXNoX2RlbXV4X2Rvd25sb2FkX2xvb3AKCjIwMTItMTAtMTUgMTM6MzU6MTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50ZWQgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX2xvb3AKCjIwMTItMTAtMTUgMTM6MTc6MTIgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50ZWQgbmVlZHNfcGFkX3N3aXRjaAoKMjAxMi0xMC0xNSAxMzowOTo0OSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvY3VtZW50ZWQgdGhlIHJlcHJlc2VudGF0aW9uIHN3aXRjaCBtZWNoYW5pc20KCjIwMTItMTAtMTUgMTE6NDA6NTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVwbGFjZWQgcmVmZXJlbmNlcyB0byBwbGF5bGlzdCAoSExTKSBieSByZWZlcmVuY2VzIHRvIG1hbmlmZXN0IChEQVNIKQoKMjAxMi0xMC0xNSAxMTozMzo1OCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbmFtZWQgZ3N0X2Rhc2hfZGVtdXhfc3dpdGNoX3BsYXlsaXN0IHRvIGdzdF9kYXNoX2RlbXV4X3NlbGVjdF9yZXByZXNlbnRhdGlvbiBhbmQgYWRkZWQgY29tbWVudHMKCjIwMTItMTAtMTUgMTE6MTk6MjkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIG9ic29sZXRlIGNvbW1lbnQKCjIwMTItMTAtMTUgMTE6MTg6MjUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBcHBsaWVkIGdzdC1pbmRlbnQKCjIwMTItMTAtMTEgMTI6NTQ6NTAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgVXBkYXRlZCBSRUFETUUKCjIwMTItMTAtMDkgMTM6MjQ6MjMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IE1QRCBmaWxlcyB3aXRoIFNlZ21lbnRCYXNlIGVsZW1lbnRzIGVuY29kZWQgaW5zaWRlIGEgU2VnbWVudExpc3QgZWxlbWVudAoJICBhbHNvIHByb3Blcmx5IHN1cHBvcnQgTVBEIGZpbGVzIHdpdGhvdXQgYW55IEluaXRpYWxpemF0aW9uIHNlZ21lbnQKCjIwMTItMTAtMDggMTc6NDM6MTQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXIvZGFzaGRlbXV4OiBmaXhlZCBnZXRfd2lkdGgsIGdldF9oZWlnaHQsIGdldF9hdWRpb19yYXRlLCBnZXRfbnVtX2F1ZGlvX2NoYW5uZWxzIEFQSSBmdW5jdGlvbnMKCSAgdGhlIGFjdHVhbCB2YWx1ZXMgbm93IGNhbiBiZSBleHRyYWN0ZWQgYWxzbyBmcm9tIHRoZSBBZGFwdGF0aW9uU2V0IGVsZW1lbnQ7CgkgIGNoZWNraW5nIE5VTEwgc3RydWN0cyBmb3IgYmV0dGVyIHJvYnVzdG5lc3M7CgoyMDEyLTEwLTA4IDE2OjU5OjIxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGFkZGVkIHN1cHBvcnQgZm9yIHNpbmdsZS1zZWdtZW50IHN0cmVhbXMgd2l0aCB0aGUgVVJMIGVuY29kZWQgaW4gdGhlIGJhc2VVUkwgc3ludGF4IGVsZW1lbnQKCjIwMTItMTAtMDggMTU6MjY6NDggKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkZWQgbGFuZyBhdHRyaWJ1dGUgdG8gUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGUKCjIwMTItMTAtMDggMTE6NDc6NDUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3IgQWNjZXNzaWJpbGl0eSwgUm9sZSwgUmF0aW5nLCBWaWV3cG9pbnQgZWxlbWVudHMgdG8gQWRhcHRhdGlvblNldCBub2RlCgkgIHRob3NlIGFyZSBEZXNjcmlwdG9yVHlwZSBlbGVtZW50cywgc28gdGhleSBhcmUganVzdCBwYXJzZWQgYW5kIGR1bXBlZCBmb3Igbm93OwoKMjAxMi0xMC0wOCAxMTozMDo0MCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IG11bHRpcGxlIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlcwoJICBub3cgd2Uga2VlcCBhIGxpc3Qgb2YgUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGVzIGZvciBlYWNoIFBlcmlvZCBub2RlCgoyMDEyLTEwLTA4IDExOjE2OjA5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBmaXhlZCBwYXJzaW5nIG9mIFNlZ21lbnRMaXN0IHN5bnRheCBlbGVtZW50LCBhbmQgZWxpbWluYXRlZCBSZXByZXNlbnRpb24gbm9kZSBsaXN0IGZyb20gUGVyaW9kIG5vZGUKCSAgU2VnbWVudExpc3Qgbm9kZXMgYXJlIGFsbG93ZWQgaW50byBQZXJpb2QsIEFkYXB0YXRpb25TZXQgb3IgUmVwcmVzZW50YXRpb24gbm9kZXMKCSAgYW5kIHRoZXJlIGlzIGF0IG1vc3QgMSBlbGVtZW50LCBzbyBubyBuZWVkIHRvIGtlZXAgYSBsaXN0OwoJICBQZXJpb2Qgbm9kZXMgY2Fubm90IGhhdmUgYW55IFJlcHJlc2VudGlvbiBlbGVtZW50cywgYXMgQWRhcHRhdGlvblNldCBub2RlcyBhcmUgbWFuZGF0b3J5OwoJICB0aGlzIGJyZWFrcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBsZWdhY3kgREFTSCB0ZXN0IHNlcXVlbmNlcy4KCjIwMTItMTAtMDggMTA6Mjk6MDQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXhlZCByZXR1cm4gd2l0aCBubyB2YWx1ZQoJICBnc3RtcGRwYXJzZXIuYzogSW4gZnVuY3Rpb24g4oCYZ3N0X21wZHBhcnNlcl9nZXRfbGlzdF9hbmRfbmJfb2ZfYXVkaW9fbGFuZ3VhZ2XigJk6CgkgIGdzdG1wZHBhcnNlci5jOjI4OTE6IHdhcm5pbmc6IOKAmHJldHVybuKAmSB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQKCjIwMTItMTAtMDggMTA6MjQ6MjkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlci5jLy5oOiBjaGFuZ2VkIGxpY2Vuc2UgZnJvbSBkdWFsIE1JVC9MR1BMIDIuMCB0byBMR1BMIDIuMQoJICB1bmlmb3JtZWQgbGljZW5jaW5zaW5nIHRvIHRoZSBvdGhlciBsaWJyYXJpZXMgaW4gdGhlIGRhc2hkZW11eCBwcm9qZWN0CgoyMDEyLTEwLTAyIDAyOjI4OjU4ICswMjAwICBoemFrYXJpIDxoYW1pZC56YWthcmlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgT3B0aW1pemUgdGhlIHR3byBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdGhlIG51bWJlciBhbmQgdGhlIGxpc3Qgb2YgbGFuZ3VhZ2VzIGluIGEgc2luZ2xlIGZ1bmN0aW9uCgoyMDEyLTA5LTI5IDA1OjI3OjUxICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZCB0aGUgaGVhZGVycyB0byB0aGUgYWRhcHRhdGlvbnNldHMgc2VnbWVudHMgaWYgYW55IG9uZSBvZiB0aGVzZSBjaGFuZ2VkIHJlcHJlc2VudGF0aW9uCgoyMDEyLTA5LTI5IDAzOjEzOjI5ICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIFN1cHBvcnQgTXVsdGkgbGFuZ3VhZ2VzIChuZWVkIGEgZGVjb2RlYmluMiBwYXRjaCkKCjIwMTItMDktMjkgMDI6NDE6MTMgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlIHRoZSAiVE9ETyIgY29tbWVudAoKMjAxMi0wOS0yOCAxMjo1NToyNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQ09QWUlORzoKCSogZXh0L2Rhc2gvTElDRU5TRToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZW5hbWVkIExJQ0VOU0UgaW50byBDT1BZSU5HCgoyMDEyLTA5LTI4IDExOjQ2OjAwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJICBVcGRhdGVkIGF1dGhvcnMKCjIwMTMtMDUtMDggMTE6MTM6MzIgLTAzMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkqIGV4dC9kYXNoL0xJQ0VOU0U6CgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9SRUFETUU6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZ3N0ZGFzaGRlbXV4IHNvdXJjZXMKCjIwMTItMTAtMjYgMTg6MDA6MDIgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlIERWQiBBUEkgdjUgYWthIFMyQVBJIGluc3RlYWQgb2Ygb2Jzb2xldGUgdjMgQVBJCgkgIFBhdGNoIGlzIGJhc2VkIG9uIHdvcmsgb2YgVG9ueSBIb3VnaHRvbiA8aEByZWFsaC5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDQ3OQoKMjAxMy0wNS0wOCAxNTo0MjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBwYXNzIHdpZHRoLCBoZWlnaHQsIGNoYW5uZWxzIGFuZCByYXRlIGFzIGludGVnZXIKCSAgZ19hc2NpaV9zdHJ0b3VsbCgpIHJldHVybnMgYSBsb25nIGxvbmcgaW50ZWdlciwgYnV0IHdlIG5lZWQgdG8KCSAgcGFzcyBhIG5vcm1hbCBpbnQgdG8gZ3N0X3N0cnVjdHVyZV9zZXQoKSBmb3IgZmllbGRzIG9mIEdfVFlQRV9JTlQsCgkgIHNvIGNhc3QgYXBwcm9wcmlhdGVseS4KCjIwMTMtMDUtMDggMTI6NDU6MjAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5oOgoJICB2ZHBhdTogQWRkIFZkcFZpZGVvU3VyZmFjZSBjYXBzIGZlYXR1cmUKCjIwMTMtMDUtMDggMTA6NTU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogZml4IFdNViBjYXBzCgkgIE1ha2VzIHRoaXMgc2hvdyBhdCBsZWFzdCBhIHBpY3R1cmU6CgkgIGh0dHA6Ly9wbGF5cmVhZHkuZGlyZWN0dGFwcy5uZXQvc21vb3Roc3RyZWFtaW5nL1RUTFNTNzIwVkMxL1RvX1RoZV9MaW1pdF83MjAuaXNtL01hbmlmZXN0CgoyMDEzLTA0LTIzIDEyOjA4OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgcHJpbnQgZm9ybWF0cwoKMjAxMy0wNC0xNiAxOTozNTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMiAxNTo1OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVtb3ZlIGFscmVhZHkgZml4ZWQgVE9ETyBjb21tZW50CgoyMDEzLTA0LTEyIDE1OjU4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZXBsYWNlIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSB3aXRoIHNpbXBsZXIgZnVuY3Rpb24KCSAgVGhlIGRlc2VyaWFsaXphdGlvbiB3YXMgb25seSB1c2VkIHRvIGNvbnZlcnQgaGV4IHN0cmluZ3MgaW50bwoJICBHc3RCdWZmZXJzLiBSZXBsYWNlIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSB3aXRoIGEgc2ltcGxlciwgZGlyZWN0CgkgIGZ1bmN0aW9uLgoKMjAxMy0wNC0xMiAxNTo1NjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IG5ld3NlZ21lbnQgZXZlbnQgbGVhawoKMjAxMy0wNC0xMiAxNTo1NToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVwbGFjZSB1bnVzZWQgcGFyYW1ldGVyCgkgIFRoZSBidWZmZXIgcGFyYW1ldGVyIHdhc24ndCBiZWluZyB1c2VkLCBpdCB3YXMgb25seSB0byBzaWduYWwgaWYKCSAgYSBidWZmZXIgd2FzIGRvd25sb2FkZWQgYW5kIGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQgaW4gdGhlCgkgIG1hbmlmZXN0LgoJICBSZXBsYWNlIHRoZSBidWZmZXIgd2l0aCBhIGJvb2xlYW4gdGhhdCBoYXMgdGhlIHNhbWUgZWZmZWN0IGFuZCBpcwoJICBzYWZlcgoKMjAxMy0wMy0xMSAxMDowOTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzOiBhdm9pZCBHVmFsdWUgbGVhawoKMjAxMy0wMi0yMiAxNzowMDozMCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJICBtc3NkZW11eDogZml4IGEgc21hbGwgbWVtb3J5IGxlYWsKCjIwMTMtMDItMTkgMTM6MTc6NTMgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhdm9pZCBzdHJlYW1pbmcgdG8gZmFpbCB3aGVuIGRvd25sb2FkIGlzIGNhbmNlbGxlZAoJICBXaGVuIGRvd25sb2FkIHdhcyBmYWlsaW5nIHJlcGVhdGVkbHksIGl0IHdhcyBjYXVzaW5nIHN0cmVhbWluZyB0byBmYWlsIGV2ZW4gdGhvdWdoIGl0IHdhcyBjYW5jZWxsZWQgb24gcHVycG9zZSAoc3RvcHBpbmcgdGFza3MpLgoKMjAxMy0wMi0wOCAwMjowMTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVtb3ZpbmcgdW51c2VkIGZ1bmN0aW9ucwoKMjAxMy0wMi0wOCAwMTo1MTozMCAtMDIwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBzd2l0Y2ggYml0cmF0ZXMgd2l0aG91dCBzd2l0Y2hpbmcgcGFkcwoKMjAxMy0wMi0wNyAxNjoyNjo0NiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IENoZWNrIGlmIHBhZHMgYXJlIHZhbGlkIGJlZm9yZSByZW1vdmluZy4KCjIwMTMtMDItMDcgMDM6MTA6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYWRkIGEgbWF4aW11bSBlcnJvciBjb3VudCBmb3IgZG93bmxvYWRzCgkgIG1zc2RlbXV4IHdpbGwgdG9sZXJhdGUgYSBmZXcgZG93bmxvYWQgZXJyb3JzIGJlZm9yZSBlbWl0dGluZyBhbgoJICBlcnJvciBtZXNzYWdlIHRvIHRoZSBidXMKCjIwMTMtMDItMDYgMDg6NDg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiB1c2Ugc3RyZWFtcyBiaXRyYXRlIGluZGl2aWR1YWxseQoJICBjb25uZWN0aW9uIHNldHVwIHRpbWVzIHNlZW0gdG8gbWF0dGVyIHdoZW4gbWVhc3VyaW5nIHRoZSBkb3dubG9hZAoJICByYXRlIG9mIGRpZmZlcmVudCBzdHJlYW1zLiBTdHJlYW1zIHdpdGggbG9uZ2VyIGZyYWdtZW50cyBoYXZlIGEKCSAgKnJlbGF0aXZlbHkqIGxvd2VyIGNvbm5lY3Rpb24gc2V0dXAgdGltZSBhbmQgYWNoaWV2ZSBoaWdoZXIgYml0cmF0ZXMuCgkgIFVzaW5nIHRoZSBhdmVyYWdlIHNlZW1zIHVuZmFpciBoZXJlLCBzbyB1c2UgZWFjaCBzdHJlYW0ncyBtZWFzdXJlZCBiaXRyYXRlCgkgIHRvIHNlbGVjdCBpdHMgYmVzdCBxdWFsaXR5IG9wdGlvbi4KCjIwMTMtMDItMDUgMTc6NDg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdXNlIGRvd25sb2FkYml0cmF0ZSB1dGlsaXR5IGZvciBtZWFzdXJpbmcgYml0cmF0ZQoJICBkb3dubG9hZGJpdHJhdGUga2VlcHMgYSBzaG9ydCBoaXN0b3J5IG9mIGJpdHJhdGVzIGFuZCBoZWxwcwoJICB0cmFja2luZyB0aGUgY3VycmVudCBhdmVyYWdlIGRvd25sb2FkIGJpdHJhdGUgZm9yIG1zc2RlbXV4CgoyMDEzLTAyLTA1IDA0OjAxOjA0IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogUHJvcGVybHkgY29tcHV0ZSBuZXcgYml0cmF0ZSBhbmQgdXNlIGJpdHJhdGVfbGltaXQuCgoyMDEzLTAyLTA1IDAzOjI3OjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQXZvaWQgYSBwb3NzaWJsZSBkaXZpc2lvbiBieSB6ZXJvCgoyMDEzLTAyLTA1IDAzOjI3OjIyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWRkIG1pc3Npbmcgb2JqZWN0IHBhcmFtIHRvIEdTVF9ERUJVR3xJTkZPX09CSkVDVCBjYWxscwoKMjAxMy0wMi0wNSAwMDoyODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYml0cmF0ZS1saW1pdCBwcm9wZXJ0eQoJICBJdCBhbGxvd3MgdGhlIHBsdWdpbiB0byB1c2UgaXRzIG93biBkb3dubG9hZGluZyBiaXRyYXRlIG1lYXN1cmVzCgkgIGFzIGEgZmVlZGJhY2sgdG8gc2VsZWN0IHRoZSBiZXN0IHN0cmVhbXMgYml0cmF0ZSBmb3IgdGhlIGN1cnJlbnQKCSAgbmV0d29yayBzY2VuYXJpbwoKMjAxMy0wMi0wNCAyMTo1ODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdXNlIHRoZSBzaGFyZWQgdXJpZG93bmxvYWRlciBsaWIgaW5zdGVhZCBvZiBhbiBpbnRlcm5hbCBjb3B5CgoyMDEzLTAyLTA0IDAyOjIwOjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogRG8gbm90IGJsb2NrIG9uIHJlc2V0LgoJICBXZSBuZWVkIHRvIGNhbmNlbCB0aGUgZG93bmxvYWRlciBmb3IgZWFjaCBzdHJlYW0gYmVmb3JlIGpvaW5pbmcgdGhlIG1haW4gZG93bmxvYWQgdGFzaywgb3RoZXJ3aXNlCgkgIHRoZSBkb3dubG9hZCB0YXNrIHdpbGwgYmxvY2sgdW50aWwgYWxsIHRoZSBzdHJlYW0gdGFza3MgZmluaXNoLgoKMjAxMy0wMi0wMSAxNzo0NDowNCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBoYW5kbGUgRkxVU0ggZXZlbnRzIGJ5IHJlc2V0dGluZyB0aGUgZGVtdXhlciBzdGF0ZQoKMjAxMy0wMi0wMSAxNzo0Mzo0NiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgY29uZGl0aW9ucyB0byBwcmV2ZW50IHNvbWUgY3Jhc2hlcwoKMjAxMy0wMi0wMSAxNzoyOTo1OCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiB1c2Ugc3RhbmRhcmQgZ2xpYiBtZXRob2RzCgoyMDEzLTAyLTAxIDE3OjI3OjE5IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNvbWUgbWVtb3J5IGxlYWtzIGFuZCB1c2UgcmlnaHQgZnJlZSBmdW5jdGlvbgoKMjAxMy0wMi0wMSAxNzoxMjo0MSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkb24ndCBzdG9wIGEgdGFzayBmcm9tIGluc2lkZSB0aGUgbG9vcAoJICBPbmx5IHBhdXNlIHRoZSB0YXNrCgoyMDEzLTAxLTMxIDE2OjE0OjM3IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGxvZyBtYW5pZmVzdCBjb250ZW50IGZvciBkZWJ1Z2dpbmcKCjIwMTMtMDEtMzAgMDA6MjI6NTAgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogbWFrZSBjb2RlYyBwcml2YXRlIGRhdGEgZnJvbSBtYW5pZmVzdCBhdHRyaWJ1dGVzIHdpdGggQUFDLUxDCgkgIFdoZW4gdGhlIGNvZGVjIGlzIEFBQy1MQywgc29tZSBzZXJ2ZXIgaW1wbGVtZW50YXRpb24gKGUuZy4gTWljcm9zb2Z0IElJUykgZG9lc24ndCBhZGQgdGhlIENvZGVjUHJpdmF0ZURhdGEgYXR0cmlidXRlLiBUaGUgZWxlbWVudCBuZWVkcyB0byByZS1jcmVhdGUgdGhlIGNvZGVjIGRhdGEgZnJvbSB0aGUgUXVhbGl0eSBMZXZlbCBhdHRyaWJ1dGVzIChjaGFubmVscyBhbmQgc2FtcGxpbmcgcmF0ZSkuCgoyMDEzLTAxLTI5IDIyOjU3OjM2IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG9ubHkgdHJ5IHRvIHJlbG9hZCB0aGUgbWFuaWZlc3QgZm9yIGxpdmUgc3RyZWFtcwoJICBUaGVyZSBpcyBubyB3YXkgdG8ga25vdyBpZiBhIGxpdmUgc3RyZWFtIGlzIHJlYWxseSBmaW5pc2hlZCwgc28gdHJ5IHRvIHJlbG9hZCB0aGUgbWFuaWZlc3QgYW5kIGNoZWNrIGlmIHRoZXJlIGFyZSBtb3JlIGZyYWdtZW50cyB0byBkb3dubG9hZC4gRWxzZSBqdXN0IGxldCBrbm93IGl0J3MgdGhlIEVPUy4KCjIwMTMtMDEtMjUgMjE6MjQ6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCSAgQWRkcyBhIGxpdHRsZSBiaXQgb2YgZG9jcyBleHBsYW5pbmcgdGhlIGludGVybmFscyBvZiBtc3NkZW11eAoKMjAxMy0wMS0yMiAxNzozMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIG1heC1xdWV1ZS1zaXplLWJ1ZmZlcnMgcHJvcGVydHkKCSAgSW5kaWNhdGVzIGhvdyBtdWNoIGJ1ZmZlcmluZyBzaG91bGQgYmUgZG9uZSBpbnRlcm5hbGx5IGluCgkgIG1zc2RlbXV4CgoyMDEzLTAxLTIxIDE4OjA1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzdG9wIHRhc2tzIGZhc3RlcgoJICBJc3N1ZSBhIGNhbmNlbCB0byB0aGUgZG93bmxvYWRlcnMgc28gdGhleSBzdG9wIGVhcmxpZXIKCjIwMTMtMDEtMTcgMTY6MjA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBsaXZlIHN0cmVhbXMgaGFuZGxpbmcKCSAgTGl2ZSBzdHJlYW1zIGZvcmNlIHRoZSBkZW11eGVyIHRvIGtlZXAgcmVsb2FkaW5nIHRoZSBNYW5pZmVzdCBmcm9tCgkgIHRpbWUgdG8gdGltZSwgYXMgdGhlIG5ldyBmcmFnbWVudHMgYXJlIGJlaW5nIGFkZGVkIGFzIHRoZXkgYXJlIHJlY29yZGVkLgoJICBUaGUgZGVtdXhlciBzaG91bGQgYWxzbyB0cnkgdG8ga2VlcCB1cCBhbmQgZGV0ZWN0IHdoZW4gaXQgaGFkIHRvIHNraXAKCSAgZnJhZ21lbnRzLCBtYXJraW5nIHRoZSBkaXNjb250IGZsYWcgd2hlbiB0aGF0IGhhcHBlbnMuCgkgIEN1cmlvdXNseSwgdGhlIHNwZWMgZG9lc24ndCBzZWVtIHRvIG1lbnRpb24gd2hlbi9ob3cgYSBsaXZlIHN0cmVhbSBpcyBzdXBwb3NlZAoJICB0byBlbmQsIHNvIGtlZXAgdHJ5aW5nIGRvd25sb2FkcyB1bnRpbCB0aGUgZGVtdXhlciBlcnJvcnMgb3V0LgoKMjAxMy0wMS0xNyAxNjoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IGxlYWsgZnJhZ21lbnRzCgoyMDEzLTAxLTE3IDEzOjQ4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggaXNzdWUgb24gZnJhZ21lbnQgdGltZXN0YW1waW5nIHBhcnNpbmcKCSAgVXNlIGd1aW50NjQgYXMgdGhlIGZyYWdtZW50cyBjYW4gc3RhcnQgYXQgdmVyeSBoaWdoIG51bWJlcnMsCgkgIHNwZWNpYWxseSBvbiBsaXZlIHN0cmVhbXMKCjIwMTMtMDEtMTYgMTU6Mjg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGVycm9yIG91dCB3aGVuIHVwc3RyZWFtIGRvZXNuJ3QgaW1wbGVtZW50IFVSSSBxdWVyeQoJICBFcnJvciBvdXQgd2hlbiB1cHN0cmVhbSBkb2Vzbid0IGFuc3dlciB0byBVUkkgcXVlcnkgYW5kIG1zc2RlbXV4CgkgIGRvZXNuJ3Qga25vdyB0aGUgVVJJIHRvIGZldGNoIHRoZSBmcmFnbWVudHMgZnJvbQoKMjAxMy0wMS0xNSAxNzozMToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcHVzaCBuZXdzZWdtZW50cyB3aXRoIHNhbWUgc3RhcnQgdGltZSBvbiBiaXRyYXRlIHN3aXRjaGVzCgkgIFRoaXMga2VlcHMgc2lua3Mgd29ya2luZyBpbiBzeW5jIGFmdGVyIGEgYml0cmF0ZSBzd2l0Y2gKCjIwMTMtMDEtMTQgMTM6MjE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmV3cml0aW5nIHBhZCB0YXNrcyBzbyB0aGF0IGJ1ZmZlcnMgYXJlIHB1c2hlZCBieSB0cyBvcmRlcgoJICBVc2UgcGFkIHRhc2tzIHRvIGRvd25sb2FkIGRhdGEgYW5kIGFuIGV4dHJhIHRhc2sgdGhhdCBnZXRzIHRoZSBlYXJsaWVyCgkgIGJ1ZmZlciAod2l0aCB0aGUgc21hbGxlc3QgdGltZXN0YW1wKSBhbmQgcHVzaGVzIG9uIHRoZSBjb3JyZXNwb25kaW5nCgkgIHBhZC4KCSAgVGhpcyBwcmV2ZW50cyB0aGF0IHRoZSBhdWRpbyBzdHJlYW0gcnVzaGVzIGFoZWFkIG9uIGJ1ZmZlcnMgYXMgaXRzCgkgIGZyYWdtZW50cyBzaG91bGQgYmUgc21hbGxlcgoKMjAxMy0wMS0xMSAxNTowMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc29tZSBmaXhlcyB0byBiaXRyYXRlIHN3aXRjaGluZwoJICBSZW1vdmVzIGEgcG9zc2libGUgZGVhZGxvY2sgZnJvbSBiaXRyYXRlIHN3aXRjaGluZyB3aGVuIHRoZSBwYWQKCSAgdGhhdCByZXF1ZXN0ZWQgdGhlIHN3aXRjaCBibG9ja3Mgb24gaXRzIHBhZC1wdXNoCgoyMDEzLTAxLTEwIDE2OjI2OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZWZhY3RvcmluZyBmcmFnbWVudCBkb3dubG9hZCB0byBpdHMgb3duIGZ1bmN0aW9uCgkgIE1ha2VzIGNvZGUgY2xlYXJlciBhbmQgaGVscHMgY2hhbmdpbmcgdGhlIGRvd25sb2FkIHBhcnQgb2YgdGhlCgkgIGNvZGUgdG8gaXRzIG93biB0aHJlYWQKCjIwMTMtMDEtMTAgMTU6MTY6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IGJpdHJhdGUgc3dpdGNoaW5nCgkgIFdoZW4gY29ubmVjdGlvbi1zcGVlZCBjaGFuZ2VzLCBzaWduYWwgdGhhdCB3ZSBtaWdodCBuZWVkIGEgYml0cmF0ZQoJICBzd2l0Y2guIER1cmluZyB0aGUgc3dpdGNoLCBhIG5ldyBwYWQgZ3JvdXAgaXMgYWRkZWQgYW5kIHRoZSBvbGQgb25lCgkgIGlzIGRyYWluZWQgYW5kIHJlbW92ZWQuCgkgIE5ldyBwYWRzIGFsc28gbmVlZCB0byBwdXNoIG5ld3NlZ21lbnRzIGJlZm9yZSBzdGFydGluZyB0byBzdHJlYW0KCjIwMTMtMDEtMDggMTg6MDE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIFRoaXMgc3BlZWQgbGltaXRzIHRoZSBtYXhpbXVtIGJpdHJhdGUgb2Ygc3RyZWFtcy4gQ3VycmVudGx5IGl0CgkgIGlzIG9ubHkgcmVhZCB3aGVuIHN0YXJ0aW5nIHRoZSBwaXBlbGluZSwgYnV0IGl0IHNob3VsZCBiZSB1c2VkCgkgIGZvciBzd2l0Y2hpbmcgYml0cmF0ZXMgZHVyaW5nIHBsYXliYWNrIHRvIGFkYXB0IHRvIG5ldHdvcmsKCSAgY2hhbmdlcy4KCjIwMTMtMDEtMDggMTc6NTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYW4gJ2FjdGl2ZScgZmxhZyB0byBtYW5pZmVzdCBzdHJlYW0KCSAgbXNzZGVtdXggc2hvdWxkIHNldCB0aGUgc3RyZWFtcyBpdCBoYXMgZXhwb3NlZCBhcyBhY3RpdmUgc28gdGhhdAoJICB0aGUgbWFuaWZlc3Qgd29uJ3QgdXNlIHRoZSBub24tYWN0aXZlIHN0cmVhbXMgdG8gY29tcHV0ZSB0b3RhbCBiaXRyYXRlcwoJICBvciBwcm92aWRpbmcgZnJhZ21lbnRzCgoyMDEzLTAxLTA4IDE3OjU0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzaWduYWwgbm8tbW9yZS1wYWRzIHdoZW4gZmluaXNoZWQgZXhwb3NpbmcgcGFkcwoJICBUaGlzIG1ha2VzIGRlY29kZWJpbi9wbGF5YmluIG1lY2hhbmlzbSBrbm93IGl0IGNhbiBzdGFydCBwbGF5aW5nCgkgIHdoZW4gYnVmZmVyaW5nIGlzIGZpbmlzaGVkCgoyMDEzLTAxLTA4IDExOjA4OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBLZWVwIHRoZSBzdHJlYW0gcXVhbGl0aWVzIGxpc3Qgc29ydGVkIGJ5IGJpdHJhdGUKCSAgVGhpcyB3aWxsIGhlbHAgbWFraW5nIGFkYXB0aXZlIHN0cmVhbWluZyBjaG9zZSB0aGUgYmVzdCByYXRlCgkgIGZvciBhIHBhcnRpY3VsYXIgY29ubmVjdGlvbiBzcGVlZAoKMjAxMy0wMS0wOCAxMDoxNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWxzbyBjb25zaWRlciBmb3VyY2MgQVZDMSBhcyBIMjY0CgkgIEgyNjQgY2FuIGJlIHJlcHJlc2VudGVkIGJ5IGJvdGggZm91cmNjcyBIMjY0IGFuZCBBVkMxLCB1c2UgYm90aC4KCjIwMTMtMDEtMDQgMTc6MDE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGFkZCBzdXBwb3J0IGZvciBWQy0xIGFuZCBXbWFQcm8gZm9ybWF0cyBwYXJzaW5nCgkgIFZDLTEgc2hvdWxkIG1hcCB0byBXTVYzIGFuZCBXbWFQcm8gdG8gV01BMgoKMjAxMy0wMS0wNCAxNzowMDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHRyeSB0byBleHBvc2UgdW5rbm93biBzdHJlYW1zCgkgIFdoZW4gdGhlIHN0cmVhbSBjYW4ndCBoYXZlIGl0cyBjYXBzIGRldGVjdGVkLCBiZXR0ZXIgbm90IHRvIGV4cG9zZSBpdC4KCSAgSWYgbm8gc3RyZWFtcyBhcmUga25vd24sIHNpZ25hbCBhbiBlcnJvciBhYm91dCBubyBwbGF5YWJsZSBzdHJlYW1zIHRvCgkgIHRoZSBhcHBsaWNhdGlvbgoKMjAxMy0wMS0wNCAxNTo0OTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogZG8gbm90IHNldCBjb2RlY19kYXRhIHdoZW4gaXQgaXMgZW1wdHkKCSAgU29tZSBtYW5pZmVzdHMgY29udGFpbiBlbXB0eSBjb2RlYyBkYXRhcywgYmV0dGVyIG5vdCBzZXQgdGhlbQoKMjAxMy0wMS0wNCAxNTo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHNldCB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIHRvIGZyYWdtZW50IGJ1ZmZlcnMKCSAgV2UgY2FuIGdldCB0aG9zZSBmcm9tIHRoZSBtYW5pZmVzdCBhbmQgaGVscHMgZG93bnN0cmVhbSB0byBrbm93CgkgIHRoZSBmcmFnbWVudCBzdGFydCB0aW1lIGFmdGVyIGEgc2Vla2luZyBvcGVyYXRpb24KCjIwMTItMTItMjggMDA6NDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGZpeCB0eXBvCgkgIEZpeCB0eXBvIHRoYXQgd2FzIG1ha2luZyB0aGUgYWR2YW5jZSBmcmFnbWVudCBmdW5jdGlvbiByZXR1cm4gYSB3cm9uZwoJICBmbG93IHJldHVybiBpbiBjYXNlIGl0IHdhcyBhbHJlYWR5IEVPUwoKMjAxMi0xMi0yOCAwMDo0ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBzZWVrIGV2ZW50IGhhbmRsaW5nCgkgIEFkZHMgYmFzaWMgaGFuZGxpbmcgZm9yIHNlZWsgaW4gdGltZSBldmVudHMuIE5lZWRzIHRvIGNvb3BlcmF0ZQoJICB3aXRoIHRoZSBkb3duc3RyZWFtIHF0ZGVtdXggc28gdGhhdCBpdCBmb3J3YXJkcyB0aGUgc2Vla3MgYW5kCgkgIHRoZSBjb3JyZXNwb25kaW5nIG5ld3NlZ21lbnRzCgoyMDEyLTEyLTI2IDE2OjE5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaGFuZGxlIHNyYyBwYWQgcXVlcmllcyBmaXIgZHVyYXRpb24gYW5kIGxhdGVuY3kKCSAgQWRkIGEgc3JjIHBhZCBxdWVyeSBoYW5kbGVyIHRvIGdldCB0aGUgZHVyYXRpb24gZnJvbSB0aGUgbWFuaWZlc3QKCSAgYW5kIHJlcG9ydCBpdCB1cHN0cmVhbS4KCSAgQWxzbyBhZGRzIGEgc2ltcGxlIGhhbmRsZXIgZm9yIGxhdGVuY3kgcXVlcmllcwoKMjAxMi0xMi0yMSAxNjo0MjoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHNvbWUgbW9yZSBlcnJvciBoYW5kbGluZwoJICBQb3N0IGVycm9yIGluIHNvbWUgbW9yZSBzY2VuYXJpb3M6CgkgICogd2hlbiB0aGUgbWFuaWZlc3QgaGFzIG5vIHN0cmVhbXMKCSAgKiB3aGVuIGdldHRpbmcgdGhlIGZyYWdtZW50IHVybCBmYWlscwoKMjAxMi0xMi0yMSAxNTozNzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZW5zdXJlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBpcyBwcm9wZXJseSBpbml0aWFsaXplZAoJICBUaGUgdXNlciBvZiB0aGUgbGlicmFyeSBtaWdodCBub3QgbmVlZCB0byBjcmVhdGUgYSBOYWxQYXJzZXIsIHNvCgkgIHRoZSBkZWJ1ZyBjYXRlZ29yeSBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBmcm9tIG90aGVyIGZ1bmN0aW9ucwoJICBhcyB3ZWxsIGlmIHJlcXVpcmVkLgoKMjAxMi0xMi0yMCAxNTozMDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCB0aW1lc2NhbGUgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGRvd25zdHJlYW0gdG8gcHJvcGVybHkgdGltZXN0YW1wIHRoZSBzYW1wbGVzCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEwMDAwMDAwLCBidXQgdGhpcyBjYW4gYmUgc2V0IGluIHRoZSBzdHJlYW0KCSAgb3IgYXQgdGhlIHRvcC1sZXZlbCBtYW5pZmVzdCBlbnRyeQoKMjAxMi0xMi0yMCAxNDoyNzo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcGFyc2UgdGhlIGZwcyBmcm9tIGgyNjQgY29kZWMgZGF0YSBpZiBwb3NzaWJsZQoJICBVc2UgaDI2NCBjb2RlYyBwYXJzaW5nIGxpYiB0byBleHRyYWN0IHRoZSBmcHMgZnJvbSB0aGUgbWFuaWZlc3QncwoJICBjb2RlYyBkYXRhIGFzIGl0IGRvZXNuJ3Qgc2VlbSB0byBwcm92aWRlIGl0IGFueXdoZXJlIGVsc2UKCjIwMTItMTItMjAgMDE6MDk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGNvcnJlY3RseSBhZGQgaDI2NCBjb2RlYyBkYXRhIHRvIGNhcHMKCSAgTmVlZCB0byBjb25zdHJ1Y3QgYW4gYXZjYyBhdG9tIGZyb20gdGhlIGNvZGVjZGF0YSByZWFkIGZyb20gTVNTCgkgIG1hbmlmZXN0cyB0byBtYWtlIGgyNjQgZGVjb2RlcnMvcGFyc2VycyBhY2NlcHQgaXQKCjIwMTItMTItMjAgMDE6MDc6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCB0aGUgY29ycmVjdCBjYXBzIHRvIHRoZSBvdXRnb2luZyBzdHJlYW0KCSAgbXNzZGVtdXggb3V0cHV0cyBhIHF1aWNrdGltZSB2YXJpYW50LCBuYW1lZCBtc3MtZnJhZ21lbnQKCjIwMTItMTEtMjUgMDE6NTc6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNldCBjYXBzIHRvIGJ1ZmZlcnMgYmVmb3JlIHB1c2hpbmcKCSAgQWxzbyB1cGRhdGUgdG8gdGhlIGxhdGVzdCBnc3RmcmFnbWVudCBBUEkgdGhhdCBwcm92aWRlcwoJICB0aGUgZnJhZ21lbnQgYXMgYSB3aG9sZSBidWZmZXIuCgoyMDEyLTExLTIyIDEzOjAxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIHN0YXRlIGNoYW5naW5nCgkgIEtlZXAgYSByZWYgb24gcGFkIHRvIHByZXZlbnQgaXQgYmVpbmcgdW5yZWZmZWQgd2hpbGUgdGhlIG1zc2RlbXV4CgkgIHN0cmVhbXMgYXJlIHN0aWxsIHVzaW5nIGl0LiBBbHNvIHJlc2V0IHRoZSBlbGVtZW50IHdoZW4gZ29pbmcgdG8KCSAgcmVhZHkgaW5zdGVhZCBvZiB3aGVuIGdvaW5nIHRvIG51bGwuCgoyMDEyLTExLTIyIDEyOjI4OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGRzIG1pbmludW0gZXJyb3IgaGFuZGxpbmcKCSAgVGhpcyBzaG91bGQgY2FyZSBmb3IgYmFzaWMgc2NlbmFyaW9zIG9mIGVycm9ycyBhbmQgRU9TIHRvIGFsbG93CgkgIHRoZSBwaXBlbGluZSB0byBzdG9wIGNvcnJlY3RseQoKMjAxMi0xMS0yMiAxMjoyODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogbXNzbWFuaWZlc3Q6IHByZXZlbnQgYWNjZXNzaW5nIG51bGwgc3RyZWFtIGZyYWdtZW50CgkgIE1vdmUgdGhlIGFjY2VzcyB0byB0aGUgc3RyZWFtIGZyYWdtZW50IGRhdGEgYWZ0ZXIgdGhlIGNoZWNrCgkgIGlmIHRoZSBmcmFnbWVudCBleGlzdHMgdG8gcHJldmVudCBhIHNlZ2ZhdWx0CgoyMDEyLTExLTE5IDE3OjUzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIHNtb290aHN0cmVhbWluZzogcmVmYWN0b3Igc3RydWN0dXJlIG5hbWVzIGFuZCBpbXBsZW1lbnQgdXJsIGZldGNoaW5nCgkgIFVzZSBzaG9ydGVyIG5hbWVzIGZvciB0aGUgTVNTIG1hbmlmZXN0IGhlbHBlciBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9ucy4KCSAgQWxzbyBjb250aW51ZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdHJlYW0gZmV0Y2hpbmcgYW5kIHB1c2hpbmcgbG9vcC4KCSAgTm93IGl0IHVzZXMgdGhlIGJhc2UgdXJsIGNvcnJlY3RseSBhbmQgYWxyZWFkeSBmZXRjaGVzIGFuZCBwdXNoZXMgdGhlIGZyYWdtZW50cwoJICBkb3duc3RyZWFtCgoyMDEyLTExLTE2IDE3OjMwOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIHBhZCBsb29wCgkgIFRoZSBsb29wIHdpbGwgZmV0Y2ggYSBuZXcgZnJhZ21lbnQgYW5kIHB1c2ggb24gaXRzIHNyY3BhZC4gRWFjaAoJICBzdHJlYW0gaGFzIGl0cyBvd24gbG9vcAoKMjAxMi0xMS0xNiAxNzoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBtb3JlIG1hbmlmZXN0IHBhcnNpbmcgYW5kIGhlbHBlciBmdW5jdGlvbnMKCSAgTm93IHRoZSBtc3MgbWFuaWZlc3QgaXMgYWJsZSB0byBnZW5lcmF0ZSB0aGUgZmlsZXMgdXJscwoKMjAxMi0xMS0xNCAxNzoxOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogcGFkIGV4cG9zaW5nIGluaXRpYWwgaW1wbGVtZW50YXRpb24KCSAgRG9lcyBzb21lIGJhc2ljIHBhcnNpbmcgb2YgdGhlIHN0cmVhbSBjYXBzIGFuZCBhZGRzIGEgcGFkIGZvcgoJICBlYWNoIHN0cmVhbSBkZXRlY3RlZCBpbiB0aGUgbWFuaWZlc3QKCjIwMTItMTEtMDkgMTY6NDc6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgbWFuaWZlc3QgcGFyc2luZwoJICBDb250aW51ZWQgaW1wbGVtZW50aW5nOgoJICAxKSBwYXJzZSB0aGUgbWFuaWZlc3Qgd2l0aCBsaWJ4bWwyCgkgIDIpIGRldGVjdCBzdHJlYW0gdHlwZXMKCjIwMTItMTEtMDggMTY6MDY6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogc3R1YnMgZm9yIG1zc2RlbXV4CgkgIEp1c3QgdGhlIHN0dWJzIGZvciBtc3NkZW11eCBlbGVtZW50LgoJICBBbHNvIGFkZCBzb21lIHVzZWZ1bCBjb2RlIGZyb20gaGxzZGVtdXggdGhhdCB3ZSBpbnRlbmQgdG8gcmV1c2UKCjIwMTItMTEtMDggMTU6NDI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBidWlsZCBkaXJlY3Rvcnkgc3R1YnMgZm9yIG5ldyBwbHVnaW4KCSAgSW5pdGlhbCBidWlsZCBzdHJ1Y3R1cmUgZm9yIE1TJyBTbW9vdGggU3RyZWFtaW5nIHBsdWdpbgoJICBDb25mbGljdHM6CgkgIGV4dC9NYWtlZmlsZS5hbQoKMjAxMy0wMi0xOSAxMzowMTozNyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHVubG9jayBtdXRleCB3aGVuIHN3aXRjaGluZyB1cmlzcmMgc3RhdGUgdG8gTlVMTCB0byBhdm9pZCBkZWFkbG9jawoJICBXaGVuIGNoYWluIG1ldGhvZCB3YXMgY2FsbGVkIGFmdGVyIGdzdF91cmlfZG93bmxvYWRlcl9zdG9wIGFuZCBiZWZvcmUgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZCB0byBOVUxMLCBleGVjdXRpb24gd2FzIGJsb2NraW5nIG9uIGdfbXV0ZXhfbG9jay4KCSAgQ29uZmxpY3RzOgoJICBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmMKCjIwMTMtMDItMDcgMDA6Mjg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogcHJvcGVybHkgdW5yZWYgdGhlIHVyaXNyYyBiZXR3ZWVuIGRvd25sb2FkcwoJICBUaGlzIHByZXZlbnRzIGxlYWtpbmcgdGhlIGVsZW1lbnQuIEFsc28gc2V0cyB0aGUgYnVzIHRvIGZsdXNoaW5nCgkgIHRvIGNvbXBsZXRlbHkgcmVzZXQgdGhlIGRvd25sb2FkZXIgc3RhdGUKCjIwMTMtMDQtMTYgMTc6MjM6MDIgLTAzMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogbWFrZSBjYW5jZWxsZWQgc3RhdGUgJ3Blcm1hbmVudCcgdW50aWwgYSByZXNldAoJICBXaGVuIGRvd25sb2FkaW5nIGFuZCBjYW5jZWxsaW5nIHF1aWNrbHkgdGhlIHVyaWRvd25sb2FkZXIgb2JqZWN0IGFuZCB0aGUKCSAgZWxlbWVudCB1c2luZyBpdCBjb3VsZCBtaXNzIHRoZSBjYW5jZWxsZWQgd2luZG93IGFuZCB0aGUgdXJpZG93bmxvYWRlcgoJICB3b3VsZCBmZXRjaCB0aGUgd3JvbmcgVVJJIGFuZCBibG9jayBvbiBzdWJzZXF1ZW50IGZldGNoZXMuCgkgIFRoaXMgd2FzIGFsc28gcHJvYmxlbWF0aWMgd2hlbiBzdG9wcGluZyBlbGVtZW50cywgd2hpbGUgb25lIHRhc2sgd291bGQKCSAgY2FsbCB0aGUgY2FuY2VsLCBhbm90aGVyIGVsZW1lbnQgdGhyZWFkIGNvdWxkIGlzc3VlIGEgbmV3IGZldGNoX3VyaS4gQXMKCSAgdGhlIGNhbmNlbCBzdGF0ZSBpc24ndCAncGVybWFuZW50JyB0aGlzIGZldGNoX3VyaSB3b3VsZCBibG9jayBhbmQKCSAgcHJldmVudCB0aGUgd2hvbGUgZWxlbWVudCBmcm9tIHN0b3BwaW5nIGFuZCBnb2luZyB0byBOVUxMLgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSAnY2FuY2VsbGVkJyBzdGF0ZSBwZXJtYW5lbnQgdW50aWwgYQoJICBnc3RfdXJpX2Rvd25sb2FkZXJfcmVzZXQgaXMgY2FsbGVkLiBUaGlzIHdheSB0aGUgZWxlbWVudCBrbm93cyB0aGUKCSAgd2luZG93IHdoZXJlIHRoZSB1cmlkb3dubG9hZGVyIGlzbid0IGFjdGl2ZSBhbmQgb25seSByZWFjdGl2YXRlIGl0IHdoZW4KCSAgcmVhZHkuCgoyMDEzLTA0LTE2IDE5OjQ3OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyX2RlYnVnLmg6CgkgIHVyaWRvd25sb2FkZXI6IHJlZmFjdG9yIGdzdHVyaWRvd25sb2FkZXIgdG8gaXRzIG93biBsaWIKCSAgZ3N0dXJpZG93bmxvYWRlciBjYW4gYmUgcmV1c2VkIGJ5IG90aGVyIHBsdWdpbnMsIGJldHRlciBoYXZlIGl0CgkgIGludG8gaXRzIG93biBsaWIKCjIwMTMtMDUtMDcgMDg6MjY6MDMgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IG1lbW9yeSBsZWFrIHdoZW4gdXNpbmcgcHJlcGFyZV9mdW5jCgkgIHByZXBhcmVfZnVuYyB3aWxsIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciB0byByZXBsYWNlIHRoZSBvcmlnaW5hbAoJICBvbmUuIEluc3RlYWQgb2YgdXNpbmcgZ3N0X2J1ZmZlcl9yZXBsYWNlICh3aGljaCBjYXVzZXMgYW4gZXh0cmEKCSAgcmVmY291bnQgaW5jcmVtZW50IG9uIHRoZSBuZXcgYnVmZmVyKSwgd2UganVzdCB1bnJlZiB0aGUgb3JpZ2luYWwKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Nzg2CgoyMDEzLTA1LTA3IDE0OjIyOjEwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgbXBlZ3ZpZGVvbWV0YTogRml4IHR5cG8gaW4gY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODI3CgoyMDEzLTA1LTAzIDIxOjQ2OjA4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkgIGxhZHNwYTogc3luYyBjb250cm9sbGVkIHBhcmFtZXMgaW4gZmlsdGVycyBhbmQgc2lua3MKCjIwMTMtMDUtMDMgMTY6NTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiBBZGQgJChHTU9EVUxFX05PX0VYUE9SVF9MSUJTKSBmb3IgZ21vZHVsZQoKMjAxMy0wNS0wMSAxNzoxOTowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvbid0IGNvbXBhcmUgYnVmZmVyIHNpemUgd2hlbiBjaGVja2luZyB3aGV0aGVyIHRvIHVwZGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzOTgKCjIwMTMtMDUtMDMgMTE6MzQ6MzQgKzAyMDAgIEp1YW4gTWFudWVsIEJvcmdlcyBDYcOxbyA8anVhbm1hYmNtYWlsQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuaDoKCSAgbGFkc3BhOiBpbXByb3ZlZCBwb3J0IHRvIGdzdHJlYW1lciAxLjAKCSAgRml4ZXM6ICM2OTg5MjcKCjIwMTMtMDUtMDEgMTc6MzY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG9uJ3QgYW5ub3VuY2UgaW5jb21wbGV0ZSBzb3VyY2UgY2FwcwoJICBEb24ndCBzZW5kIGFueSBzb3VyY2UgY2FwcyB5ZXQgaWYgd2UncmUgc3RpbGwgaW4KCSAgZHJvcC1idWZmZXJzLXVudGlsLXdlLWdldC1hLXNlcXVlbmNlLWhlYWRlciBtb2RlLgoJICBGaXhlcyB0cmFuc211eGluZyBvZiBtYW55IE1QRUctVFMvUFMgc3RyZWFtcyBpbnRvCgkgIGZvcm1hdHMgd2hpY2ggcmVxdWlyZSB0aGluZ3MgbGlrZSB3aWR0aCwgaGVpZ2h0IG9yCgkgIGNvZGVjX2RhdGEgb24gdGhlIGlucHV0IGNhcHMuCgkgIEFsc28gZml4ZXMgaXNzdWVzIHdoZW4gdXNpbmcgcGxheWJpbiB3aXRoIGRlY29kZXIKCSAgc2lua3MgdGhhdCB3YW50IHdpZHRoL2hlaWdodCBldGMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NzkKCjIwMTMtMDQtMjcgMTI6Mjg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkgIGthdGU6IGZpeCBidWZmZXIgbGVhayBpbiBrYXRldGFnCgkgIE1ha2VzIHVuaXQgdGVzdCB2YWxncmluZCBjbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0yNyAxMjowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGluIGthdGUgdW5pdCB0ZXN0CgoyMDEzLTA0LTI3IDEyOjA2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZTogbWlub3IgY2xlYW51cAoKMjAxMy0wNC0yNiAxNTozMzoxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRG9jdW1lbnQgdGhhdCB0aGUgbGF0ZW5jeSBpcyBpbiBtaWxsaXNlY29uZHMKCSAgQnVnICM2OTg4OTYKCjIwMTMtMDQtMjYgMTU6Mzk6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29udmVydCBwYWNrZXQgUFRTL0RUUyBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFdlIGxldCB0aGUgbXBlZ3RzcGFja2V0aXplciBkZWFsIHdpdGggcGNyIHdyYXBhcm91bmQvcmVzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NTM2CgoyMDEzLTA0LTI2IDEyOjE4OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVndHNkZW11eDogaGVhZGVyIGNsZWFudXBzL3VwZGF0ZXMKCjIwMTMtMDQtMjYgMTQ6MzI6MTQgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IERyb3Agb2Jzb2xldGUgcmVmZXJlbmNlcyB0byB2aWRlb3NpZ25hbCBoZWFkZXJzCgkgIEluIGFkZGl0aW9uIHRvIDg1NTIzOTZjMzYyYzIwYWRiNmFhOTEyOWE0NTNmZjgxZWNkY2Y2NTYKCjIwMTMtMDQtMjYgMTA6Mzg6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXBkYXRlIHNyYyBwYWQgY2FwcyB3aGVuIGl0IHdhcyBleHBsaWNpdGx5IHNpZ25hbGVkCgkgIEZpeGVzIHNyYyBwYWQgY2FwcyBhcmVuJ3QgdXBkYXRlZCB3aGVuIGNvbnZlcnRpbmcgZnJvbSBBVkMgdG8gYnl0ZXN0cmVhbQoJICBhbmQgbmV3IGNhcHMgaGFkIGJlZW4gcmVjZWl2ZWQgaW4gdGhlIHNpbmsgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4Njc5CgoyMDEzLTA0LTIzIDE1OjE5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggY2FwcyBzdHJpbmcgbGVhawoKMjAxMy0wNC0yNCAwOTo0MDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogVXNlIGdzdF9lZ2xfZGlzcGxheV9nZXQoKSBpbnN0ZWFkIG9mIHBhc3NpbmcgYSBHc3RFR0xEaXNwbGF5IHRvIEVHTCBmdW5jdGlvbnMKCjIwMTMtMDMtMjggMTY6NTI6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpc3JjOiBQb3J0IHRvIEdzdEF1ZGlvU3JjCgoyMDEzLTAzLTI3IDEwOjEwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IFBvcnQgd2FzYXBpc2luayB0byBHc3RBdWRpb1NpbmsKCjIwMTMtMDQtMjMgMDE6MTc6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBmaXggcmVtYWluaW5nIGthdGUgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNSAxNzowNjo1NyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IHBvcnQgS2F0ZSB0ZXN0cyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0yMiAyMzo1MjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1BSU5UQUlORVJTOgoJKiBSRUFETUU6CgkqIFJFQURNRS5zdGF0aWMtbGlua2luZzoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzY2IzZDNjIHRvIDVlZGNkODUKCjIwMTMtMDQtMjEgMTg6Mjg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmJiYXNlYmluOiBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg4OTIKCjIwMTMtMDQtMjEgMTQ6MTM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGxvZyBjaGFubmVsIHBhcnNpbmcgaW50byBkdmJiYXNlYmluIGRlYnVnIGNhdGVnb3J5IGFzIHdlbGwKCjIwMTMtMDQtMjEgMTQ6MDQ6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogZml4IHBhdGggd2hlcmUgdG8gbG9vayBmb3IgdGhlIGR2Yi1jaGFubmVscy5jb25mCgkgIENvbnN0cnVjdCBwYXRoIGJhc2VkIG9uIHRoZSBBUEkgdmVyc2lvbiwgbm90ICRtYWpvci4kbWlub3IgdmVyc2lvbi4KCjIwMTMtMDQtMTggMjA6MjY6MTUgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJICBlZ2xnbGVzc2luazogZWFnbDogZml4IGVhZ2wgcmV1c2UgYnkgbm90IHJlbGVhc2luZyB0aGUgY29udGV4dAoJICBJdCBzZWVtcyBFQUdMIGV4cGVjdHMgdGhlIGFwcGxpY2F0aW9uIHRvIHNpbXBseSBpZ25vcmUgdW51c2VkCgkgIEVBR0wgY29udGV4dHMgYXMgdGhlIHJlc291cmNlcyBmb3IgaXQgd291bGQgYmUgcmVsZWFzZWQgd2hlbiBhIG5ldwoJICBjb250ZXh0IGlzIHNldCBhcyB0aGUgY3VycmVudCBvbmUuIEFsc28gbW92ZSB0aGUgZWdsIGV4dGVuc2lvbnMKCSAgcXVlcnlpbmcgdG8gYWZ0ZXIgYSBjb250ZXh0IGlzIHNldCB0byBwcmV2ZW50IGNyYXNoZXMuCgkgIFRoaXMgbWFrZXMgdGhlIEVBR0wgdmVyc2lvbiBvZiBlZ2xnbGVzc2luayByZXVzYWJsZS4KCjIwMTMtMDQtMTggMTc6MTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xOCAxNjoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IFVzZSBnc3RfY29udGV4dF93cml0YWJsZV9zdHJ1Y3R1cmUoKQoKMjAxMy0wNC0xOCAxNToyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR2l2ZSBvbmx5IFNFQ09OREFSWSByYW5rCgkgIElmIGF2YWlsYWJsZSB3ZSBzdGlsbCBwcmVmZXIgeHZpbWFnZXNpbmsuCgoyMDEzLTA0LTE4IDEyOjU0OjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogZml4ZXMgJ21ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0JyB3YXJuaW5nCgoyMDEzLTA0LTE4IDEyOjI0OjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgoyMDEzLTA0LTE4IDEyOjI3OjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IHdhcm5pbmdzIGJ1aWxkaW5nIG9uIHRoZSBSUEkKCjIwMTMtMDQtMTggMTI6MTY6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCjIwMTMtMDQtMTcgMTQ6NDU6MTkgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgTW90b3JvbGEgRGlnaUNpcGhlciBJSSBNUEVHMiB2aWRlbwoJICBTaW5jZSB0aGVyZSBpcyBhIGNvbmZsaWN0IGJldHdlZW4gdGhlIERDSUkgc3RyZWFtIHR5cGUgYW5kIEJsdVJheQoJICBzdHJlYW0gdHlwZXMsIG1vdmVkIHRoZSBwcm9jZXNzaW5nIG9mIEJsdVJheS1zcGVjaWZpYyBzdHJlYW0gdHlwZXMKCSAgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb24uICBPbmx5IGlmIGEgQmx1UmF5IHN0cmVhbSB0eXBlCgkgIElTIE5PVCBmb3VuZCBkbyB3ZSBwcm9jZWVkIHRvIGNoZWNrIHRoZSByZXN0IG9mIHRoZSBzdHJlYW0gdHlwZQoJICBpZGVudGlmaWVycwoJICBQcmV2aW91cyBjb2RlIHdhcyBhbHNvICJzb3J0LW9mIiBoYW5kbGluZyBhIHNpbWlsYXIgY29uZmxpY3QgYmV0d2VlbgoJICBCbHVSYXkgQUMzIGF1ZGlvIGFuZCBzdGFuZGFyZCBBQzMgYXVkaW8uICBNb3ZlZCB0aGUgc3BlY2lhbCBjYXNlIEJsdVJheQoJICBBQzMgaGFuZGxpbmcgaW4gdGhlIG1haW4gc3dpdGNoIHN0YXRlbWVudCB0byB0aGUgbmV3IEJsdVJheS1zcGVjaWZpYwoJICBzd2l0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4OTIKCjIwMTMtMDQtMTggMDk6MDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSBxdWlja3RpbWUgd3JhcHBlciBwbHVnaW4gaXMgbm90IHBvcnRlZCB5ZXQgZWl0aGVyCgoyMDEzLTA0LTE4IDA4OjU2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgb3N4dmlkZW9zcmMgcGx1Z2luIGlzIGNhbGxlZCBvc3hfdmlkZW8KCjIwMTMtMDQtMTggMDc6NTQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3h2aWRlb3NyYzogSXQncyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCjIwMTMtMDQtMTcgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHc3RDb250ZXh0IHJlZmNvdW50aW5nIHNvbWUgbW9yZQoKMjAxMy0wNC0xNyAxMzoxNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogRml4IEdzdENvbnRleHQgcmVmY291bnRpbmcKCjIwMTMtMDQtMTcgMTA6NDg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgZm9yIEdMVGV4dHVyZVVwbG9hZE1ldGEgYW5kIEVHTCBBUEkgY2hhbmdlcwoKMjAxMy0wNC0xNyAxMDo0MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFVzZSBuZXcgdHlwZXMgZnJvbSBsaWJnc3R2aWRlbyBpbnN0ZWFkIG9mIGRlZmluaW5nIG91ciBvd24KCjIwMTMtMDMtMjUgMTg6MzA6MTggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvIG5vdCBjaGVjayBmb3IgVlVJIHBhcmFtZXRlcnMgaWYgdGhleSB3ZXJlIG5vdCBwcmVzZW50IGluIHRoZSBTUFMKCjIwMTMtMDQtMTYgMjI6NTE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciBzdXJmYWNlIHF1ZXJpZXMKCSAgT3RoZXJ3aXNlIHdyb25nIHZhbHVlcyBjYW4gYmUgcmV0dXJuZWQuCgoyMDEzLTA0LTE2IDIyOjI1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IHNldCBhIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYWRhcHRpb24gbGF5ZXJzCgoyMDEzLTA0LTE2IDIyOjI1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHZXQgdGhlIEVHTC9HTEVTIGV4dGVuc2lvbnMgYXQgdGhlIHJpZ2h0IHBvc2l0aW9uCgoyMDEzLTA0LTE2IDIyOjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbF9hZGFwdGF0aW9uX2NyZWF0ZV9uYXRpdmVfd2luZG93JzoKCSAgZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzo4Njg6MzogZXJyb3I6IGZvcm1hdCAnJXAnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndm9pZCAqJywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0VHTE5hdGl2ZVdpbmRvd1R5cGUnIFstV2Vycm9yPWZvcm1hdD1dCgkgIEdTVF9ERUJVR19PQkpFQ1QgKGN0eC0+ZWxlbWVudCwgIlVzaW5nIHdpbmRvdyBoYW5kbGUgJXAiLCB3aW5kb3cpOwoJICBeCgoyMDEzLTA0LTEwIDE3OjI3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogcmVmYWN0b3IgdG8gYWxsb3cgZWFnbCBzdXBwb3J0CgkgIFB1dCBFR0wgc3BlY2lmaWMgY29kZSB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGNyZWF0ZSB0aGUgc2FtZSBmdW5jdGlvbnMKCSAgZm9yIEVBR0wsIHRoZSBBcHBsZSdzIHNwZWNpZmljIEVHTCBpbXBsZW1lbnRhdG9uLgoJICBBdCB0aGlzIHBvaW50LCB0aGUgRUFHTCB2ZXJzaW9uIHdhc24ndCBjb21waWxlZCBvciB0ZXN0ZWQgYXMgdGhlcmUgaXNuJ3QKCSAgYW55IHNpbXBsZSBkb2N1bWVudGVkIHdheSB0byBidWlsZCAxLjAgZm9yIGlPUy4gVGhpcyBjb2RlIGZvciB0aGUgRUFHTAoJICB2ZXJzaW9uIGlzIHN0aWxsIHRoZSAwLjEwIHZlcnNpb24sIHNvbWUgdXBkYXRlcyBzaG91bGQgYmUgbWFkZSB3aGVuIDEuMAoJICBpcyBidWlsZGFibGUgZm9yIGlPUy4KCjIwMTMtMDQtMTUgMTc6NDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWFnbDogYWRkIGlvcyB3aW5kb3cgc3lzdGVtIG9wdGlvbiBmb3IgZWdsZ2xlcyBjb25maWd1cmUKCjIwMTMtMDQtMTUgMTg6NDA6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgaW9zOiB1bmNvbmRpdGlvbmFsbHkgY2hlY2sgaWYgd2UgYXJlIGJ1aWxkaW5nIGZvciBpT1MKCSAgSW5zdGVhZCBvZiBvbmx5IGNoZWNraW5nIGlmIGFwcGxlbWVkaWEgaXMgZ29pbmcgdG8gYmUgYnVpbHQKCjIwMTMtMDQtMTAgMTQ6NTM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IHJlZmFjdG9yIGVnbCBmdW5jdGlvbnMvZGF0YSB0byBhIHNlcGFyYXRlIGZpbGUKCSAgVGhpcyBpcyBwYXJ0IG9mIHRoZSBjaGFuZ2VzIHJlcXVpcmVkIHRvIG1ha2UKCSAgZWdsZ2xlc3Npbmsgd29yayB3aXRoIGJvdGggRUdMIGFuZCBBcHBsZSdzIEVBR0wKCjIwMTMtMDQtMTYgMTY6MzA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByaW50IEVHTC9HTEVTIGV4dGVuc2lvbnMgYWZ0ZXIgd2UgYXJlIGFjdHVhbGx5IGluaXRpYWxpemVkIGVub3VnaAoKMjAxMy0wNC0xNiAxNjoyMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBQcm9wZXJseSBzZXQgb3V0cHV0IGZvcm1hdCBpbnN0ZWFkIG9mIGp1c3Qgc2V0dGluZyBjYXBzCgoyMDEzLTA0LTE2IDE2OjE3OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFNldCBwYXJlbnQgY2xhc3MgaW4gY2xhc3NfaW5pdAoKMjAxMy0wNC0xNiAxNjowMDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYW5kbGUgcmVmY291bnRzIG9mIHBhZCB0ZW1wbGF0ZXMgY29ycmVjdGx5CgkgIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgY2FwcyBhbnltb3JlIGFuZAoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKCkgZG9lcyB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgcGFkIHRlbXBsYXRlIG5vdy4KCjIwMTMtMDQtMTYgMTU6MzI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogVXNlIDEuMC1zdHlsZSByYXcgYXVkaW8gY2FwcwoKMjAxMy0wNC0xNiAxNTozMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBQcm9wZXJseSBzZXQgc3ViY2xhc3NlcyBtZXRhZGF0YS9wYWQgdGVtcGxhdGVzIGluIGJhc2VfaW5pdAoKMjAxMy0wNC0xNSAxNjowMToyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogY2hlY2sgdmFsdWUgYmVmb3JlIHVzaW5nIGFzIGRlbm9taW5hdG9yCgoyMDEzLTA0LTE1IDE4OjE5OjM4ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0OiBwcmludGYgZm9ybWF0IGZpeAoJICBnc3R1dmNoMjY0X21qcGdkZW11eC5jOjQzNzo1OiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnR3N0Q2xvY2tUaW1lJwoKMjAxMi0xMC0yNCAxMjoxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3Q6IEFkZCBiZXR0ZXIgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDQtMTUgMTU6MTM6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgY2FtZXJhYmluIGRpcmVjdG9yeSB0byB0aGUgY3J1ZnQgZGlyZWN0b3JpZXMKCjIwMTMtMDQtMTUgMDk6MDE6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBmaXggdGltZW91dCB2YWx1ZQoJICBUaW1lb3V0IG9uIHVkcHNyYyBpcyBpbiBuYW5vc2Vjb25kcyBpbiAxLjAKCjIwMTMtMDQtMTUgMDA6MjI6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEFkZCBjb25kaXRpb25hbCBvbiBBUEkgdmVyc2lvbiBmb3IgbmV3IGVudW0KCjIwMTMtMDQtMDQgMTU6NTk6MDkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGRlYWRsb2NrIGRyYWluaW5nIHF1ZXVlIGZyb20gdGhlIHNhbWUgdGhyZWFkCgoyMDExLTA4LTEwIDEyOjEzOjM0ICswMDAwICBGYWJyaWNpbyBDb3N0YSBBbGlzZWRvIDxmYWJyaWNpby5jb3N0YUBtb2xkZW9pbnRlcmFjdGl2ZS5jb20uYXI+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGRlZCBHcmFwaCBCdWlsZGVyIGFuZCBDYXB0dXJlIEJ1aWxkZXIgdG8gY29ycmVjdGx5IGNyZWF0ZSB1cHN0cmVhbSBuZWVkZWQgZmlsdGVycyBieSBBbmFsb2cgVFYgQ2FwdHVyZSBEZXZpY2VzLgoKMjAxMi0xMi0wMSAxNjoyNDoyMiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAxMy0wNC0xNSAwODo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGVnbGdsZXNzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsZ2xlc3NpbmtfZmlsbF90ZXh0dXJlJzoKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzoxODE1OjM6IGVycm9yOiBmb3JtYXQgJyVkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2ludCcsIGJ1dCBhcmd1bWVudCAxMSBoYXMgdHlwZSAnZ3NpemUnIFstV2Vycm9yPWZvcm1hdF0KCSAgZ3N0ZWdsZ2xlc3NpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xnbGVzc2lua19jb25maWd1cmVfY2Fwcyc6CgkgIGdzdGVnbGdsZXNzaW5rLmM6Mjg1MDozOiBlcnJvcjogZm9ybWF0ICclcCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd2b2lkIConLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnRUdMTmF0aXZlV2luZG93VHlwZScgWy1XZXJyb3I9Zm9ybWF0XQoKMjAxMy0wNC0xNSAwMDo0ODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJICBrYXRlOiBvbmx5IHNlbmQgZGVjb2RlciBvdXRwdXQgY2FwcyBvbmNlIG9yIHdoZW4gdGhlIGZvcm1hdCBjaGFuZ2VzCgkgIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIuIEFuZCAgYWxzbyBzZW5kIGEgY2FwcwoJICBldmVudCBmb3Igc3B1IG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAyMzoyMjo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IGRlY29kZXIgb3V0cHV0IGNhcHMKCSAgSXQncyBlaXRoZXIgcGFuZ28tbWFya3VwIG9yIHV0ZjgsIG5ldmVyIGJvdGggYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAyMzoxOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1hcmsgaGVhZGVyIGJ1ZmZlcnMgYXMgc3VjaAoKMjAxMy0wNC0xNCAyMzowODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlZW5jOiBzYXZlIGN1cnJlbnQgaW5wdXQgZm9ybWF0IGluIHNldGNhcHMKCjIwMTMtMDQtMTQgMjE6Mjg6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyBhbmQgZGlzYWJsZSB0aWdlciBlbGVtZW50CgoyMDEzLTA0LTAxIDEyOjQ3OjEzIC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBwb3J0IEthdGUgc3VidGl0bGVzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDE3OjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZWQ4N2FlIHRvIDNjYjNkM2MKCjIwMTMtMDQtMTIgMTc6MDE6MzggKzAyMDAgIEFsZXhhbmRlciBPbHNzb24gPGFsZXhvQGF4aXMuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWNjZXB0IGFueSBqcGVnIGlucHV0IC0gcGFyc2VkLCB1bnBhcnNlZCBvciB1bm1hcmtlZAoJICBUaGUgc3JjIGVsZW1lbnQgbWF5IG5vdCBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IHdoZXRoZXIKCSAgdGhlIGRhdGEgaXMgcGFyc2VkIG9yIG5vdC4gSGVuY2UgZG8gbm90IHJlcXVpcmUgcGFyc2VkPWZhbHNlLgoJICBGaXhlcyBtdWx0aXBhcnRkZW11eCAhIGpwZWdwYXJzZSAhIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODg0CgoyMDEzLTA0LTEyIDE0OjA5OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBlbGVtZW50LXRlbXBsYXRlOiBhZGQgc3RhcnQvc3RvcCB0byB2aWRlb2ZpbHRlcgoKMjAxMy0wNC0xMiAxNDowODoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBhdm9pZCB1c2luZyBQYWRUZW1wbGF0ZXMKCjIwMTMtMDQtMTIgMTQ6MDc6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IEFkZCBoZWxwZXIgY29kZSB0byB0cmFuc2Zvcm1fY2FwcwoKMjAxMy0wNC0xMiAxMzo1NjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9hbmFseXNlOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0wNSAyMTozMToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgdmlkZW9maWx0ZXJzYmFkOiBwb3J0IHRvIDEuMAoKMjAxMy0wNC0xMSAyMjoxNTowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZGVjcmVhc2UgbG9nIHByaW9yaXR5IGZvciByZXBlYXRpbmcgbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzgzNAoKMjAxMy0wNC0xMSAxMzozNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSAgdmlkZW86IFJlbW92ZSB2aWRlbyBsaWJyYXJ5IGZyb20gLWJhZAoJICBUaGlzIG9ubHkgY29udGFpbmVkIEFQSSB0aGF0IG5vdyBoYXMgcmVwbGFjZW1lbnRzIGluIGNvcmUgYW5kIGJhc2UuCgoyMDEzLTA0LTExIDEzOjA4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENoZWNrIHRoZSBjb250aW51aXR5IGNvdW50ZXIgZm9yIG5vbi1zZWN0aW9uIHBhY2tldHMgdG9vCgkgIEFuZCBpZiB3ZSBkZXRlY3QgYSBkaXNjb250aW51aXR5IHRoZXJlIChsaWtlLi4uIHdoZW4gbG9zaW5nIHBhY2tldHMKCSAgb3IgaGF2aW5nIE1QRUdUUyBvdmVyIHJhdyBVRFAgd2l0aCBvdXQtb2Ytb3JkZXIgcGFja2V0cykgd2UganVzdAoJICBkcm9wIHRoZSBjb3JyZXNwb25kaW5nIHBhY2tldC4KCSAgQSBmdXR1cmUgdmVyc2lvbiBjb3VsZCB0cnkgdG8gaW1wbGVtZW50IGEgcmUtb3JkZXJpbmcgYWxnb3JpdGhtIGJhc2VkCgkgIG9uIHRoYXQsIHNpbWlsYXIgdG8gd2hhdCBydHBqaXR0ZXJidWZmZXIgZG9lcy4KCjIwMTMtMDQtMTEgMTA6MDY6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG1meGRlbXVzOiB1cGRhdGUgdG9kbyAodGhlciBlaXMgYSBtdXhlcikKCjIwMTMtMDQtMTAgMTY6MTk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2FsbCA6OnByb2dyYW1fc3RvcHBlZCBhZnRlciByZW1vdmluZyBhbGwgc3RyZWFtcwoJICBTdWJjbGFzc2VzIHdhbnQgdG8gYWNjZXNzIHRoZSBwcm9ncmFtIHdoaWxlIHJlbW92aW5nIHRoZSBzdHJlYW1zCgkgIGFuZCB3aWxsIGN1cnJlbnRseSBjcmFzaCBiZWNhdXNlIG9mIGRlcmVmZXJlbmNpbmcgTlVMTCBpbiBzb21lIGNhc2VzLgoKMjAxMy0wNC0xMCAxMTowNjo1MiArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IHJhY2UgYmV0d2VlbiBnX21haW5fbG9vcF9ydW4vX3F1aXQgZml4ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzY5NAoKMjAxMy0wNC0wOSAyMTozMjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3Qgc3RvcCBvbiBpbnZhbGlkIGJ1ZmZlcgoKMjAxMy0wNC0wOSAyMTozMTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQ2xlYW5lciBzdHJlYW0gY2xlYW51cAoKMjAxMy0wNC0wOSAyMTozMToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBjcmFzaCBvbiBpbnZhbGlkIGNpcGhlcgoKMjAxMy0wMy0yNyAxNjo0OTowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogZml4IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA0LTAxIDE1OjUyOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJICB5YWRpZjogcmVtb3ZlIGV4dHJhIHRlbXBsYXRlIGNvZGUKCjIwMTMtMDQtMDEgMTU6NDc6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiByZW1vdmUgdHJhbnNmb3JtX3NpemUsIGl0J3Mgbm90IG5lZWRlZAoKMjAxMy0wNC0wMSAyMDoxMzo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGZpeCByZXR1cm4gdmFsdWUgaW4gdmlkZW9lbmNvZGVyCgoyMDEzLTA0LTAxIDIwOjEyOjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogY3JlYXRlIGJldHRlciBlbGVtZW50IG5hbWUgd2hlbiB1c2luZyAtLXByZWZpeAoKMjAxMy0wNC0wMSAyMDowMzo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IGZpeCBsZWFrIHdoZW4gbm90IGNvbm5lY3RlZAoKMjAxMy0wNC0wOSAyMTowMDoyOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDRjN2ExZSB0byBhZWQ4N2FlCgoyMDEzLTA0LTA4IDE3OjQwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIGV4dDogcHJpbnRmIGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMKCjIwMTMtMDQtMDggMTc6MzQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkgIHN5czogcHJpbnQgZm9ybWF0IGZpeGVzIGluIGRlYnVnIG1lc3NhZ2VzCgoyMDEzLTA0LTA3IDE4OjQxOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBUcnVlSEQgYXVkaW8KCjIwMTMtMDQtMDUgMDk6NDE6MjYgKzAxMDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBmaXggYnVpbGQgb24gT1MvWAoJICBnc3RoYW5kZGV0ZWN0Lmg6ODQ6IGVycm9yOiBleHBlY3RlZCBzcGVjaWZpZXItcXVhbGlmaWVyLWxpc3QgYmVmb3JlICd1aW50JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzA1CgoyMDEzLTA0LTA1IDAwOjQ5OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc2hhZGVycyBhc3N1bWUgMzJicHAKCSAgQmFja3BvcnQgZml4IGZvciBjcmFzaGVzIGFuZCBpbnZhbGlkIHdyaXRlcyBpbiB0b3RlbSBmcm9tIGxpYnZpc3VhbAoJICBpbiAtYmFzZSwgdG8gbWluaW1pc2UgZGlmZmVyZW5jZXMgdG8gdmVyc2lvbiBpbiAtYmFzZSBhbmQgdG8gbWFrZQoJICBzdXJlIHRoZSBidWcgZG9lc24ndCBzbmVhayBiYWNrIGluIGxhdGVyIHdoZW4gdGhlIGJhc2UgY2xhc3MgaXMKCSAgbWFkZSBwdWJsaWMuCgkgIFRoZSBzaGFkZXIgY29kZSBsb29rcyBsaWtlIGl0IG1ha2VzIGFzc3VtcHRpb25zIHRoYXQgYXJlIG5vdAoJICBuZWNlc3NhcmlseSBhbHdheXMgdHJ1ZSwgZXZlbiBpZiB0aGV5J3JlIHRydWUgZm9yIG5vdyBmb3IgdGhlCgkgIGV4aXN0aW5nIGVsZW1lbnRzLCBuYW1seSB0aGF0IHBpeGVsIHN0cmlkZSBpcyA0LCBmb3IgZXhhbXBsZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM1MjcKCjIwMTMtMDMtMTQgMTE6MTU6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogaGFuZGxlIG5vbi1leGlzdGFudCBwb29sIGluIHRoZSBkZWZhdWx0IGFsbG9jYXRpb24gcXVlcnkKCSAgZ3N0X3F1ZXJ5X3NldF9udGhfYWxsb2NhdGlvbl9wb29sKCkgcmVxdWlyZXMgdGhlcmUgdG8gYmUgYSBwb29sIGluIHRoZQoJICBxdWVyeSBhbHJlYWR5LiBUaGlzIGlzIG5vdCBhbHdheXMgdGhlIGNhc2Ugd2hlbiB3ZSBnZXQgdGhlIHF1ZXJ5IGZyb20KCSAgdXBzdHJlYW0uICBVc2UgZ3N0X3F1ZXJ5X2FkZF9hbGxvY2F0aW9uX3Bvb2woKSBpbnN0ZWFkIGluIHN1Y2ggY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTcxOQoKMjAxMy0wMS0yOSAxMDoxODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBpbXByb3ZlIGFsbG9jYXRpb24KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0dGhldyBXYXRlcnMKCSAgQWRkIHByaXZhdGUgZGF0YQoJICBBZGQgZGVjaWRlX2FsbG9jYXRpb24gdm1ldGhvZAoJICBSZWZhY3RvciBidWZmZXJwb29sIG5lZ290aWF0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE3MTkKCjIwMTMtMDQtMDMgMTY6MTI6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiB1c2UgYmlsaW5lYXIgZmlsdGVyIGFzIG11Y2ggYXMgcG9zc2libGUKCSAgVXNlIHRoZSBiaWxpbmVhciBzY2FsbGluZyBmaWx0ZXIgd2hlbiB0aGUgbWFnbmlmaWVyIG9yIHRoZSBtaW5pZmllcgoJICBmaWx0ZXJzIGFyZSBhdmFpYmxlLiBTb21lIGdyYXBoaWNzIGNhcmRzIGRvIG5vdCBwcm92aWRlIG1pbmlmaWVyIGZpbHRlcnMKCSAgYnV0IHdlIHdhbnQgdG8gdXNlIGl0IGZvciB1cHNjYWxsaW5nIGlmIGl0J3MgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcxNzYKCjIwMTMtMDQtMDMgMTQ6NTU6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogQnVtcCBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuMzYuMAoJICBBbmQgaGFuZGxlIGhlYWRlciBjaGFuZ2VzIGluIDIuMzYuMgoKMjAxMy0wNC0wMiAyMzozMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgZG9jczogYWRkIHNpbmNlIG1hcmtlcnMgdG8gbmV3IGNvZGVjcGFyc2VycyB2aWRlbyBtZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNzEyCgoyMDEzLTA0LTAxIDE5OjQ5OjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogSW1wbGVtZW50IGJhc2VzcmMtPnVubG9jaygpCgkgIFRoaXMgZml4ZXMgLT5OVUxMIHRyYW5zaXRpb24gcHJvYmxlbXMgaWYgbGlicnRtcCBpcyBzdHVjayBpbiBhCgkgIHJlY3Ygb3Igc2VuZCBjYWxsIHRoYXQgbmV2ZXIgcmV0dXJucy4KCjIwMTMtMDMtMzAgMTU6MDc6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSAgZWxlbWVudC1tYWtlcjogY2FsbCB1cCBpbiBiYXNldHJhbnNmb3JtIHRlbXBsYXRlCgkgIE1vcmUgdGVtcGxhdGVzIHNob3VsZCBiZSBkb2luZyB0aGlzOiBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMKCSAgc2hvdWxkIGNhbGwgdXAgdG8gdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gaW4gdGhlIGJhc2UgY2xhc3MuCgoyMDEzLTA0LTAxIDIyOjM4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gY2hlY2sgZm9yIGJsdWV6IGZvciBibHVldG9vdGgvYmx1ZXRvb3RoLmgKCSAgRml4ZXMgYnVpbGQgb24gbWFjaGluZXMgd2hlcmUgYmx1ZXogaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZS4KCjIwMTMtMDQtMDEgMjE6NDk6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJsdWV6OiBlbmFibGUgYmx1ZXogcGx1Z2luCgkgIFNlZW1zIHRvIG1vc3RseSB3b3JrIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wNC0wMSAyMTo0ODowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBzb2Z0IGxpYm9yYyByZXF1aXJlbWVudCB0byAwLjQuMTcKCSAgVG8gbWF0Y2ggLWJhc2UgYW5kIC1nb29kLiBBbHNvIGZpeGVzIHBvdGVudGlhbAoJICBjcmFzaCB3aGVuIGEgZmFsbGJhY2sgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQuCgoyMDEzLTA0LTAxIDEwOjIwOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgdGhlIEVHTEltYWdlIGFuZCBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgY2FwcyBmZWF0dXJlcwoKMjAxMy0wNC0wMSAxMDoyMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBhICNkZWZpbmUgZm9yIHRoZSBFR0xJbWFnZSBtZW1vcnkgY2FwcyBmZWF0dXJlCgoyMDEzLTA0LTAxIDA5OjEzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBEb24ndCBpbmNsdWRlIHJzdmctY2Fpcm8uaCBkaXJlY3RseQoJICBJbmNsdWRpbmcgaXQgZGlyZWN0bHkgaXMgbm93IGRlcHJlY2F0ZWQKCjIwMTMtMDQtMDEgMDk6MTA6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHTXV0ZXggbWV0aG9kcwoKMjAxMy0wMy0yOSAxNzo1NzoxMiArMDEwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBQb3J0IHRvIDEuMAoJICBBbHNvIHBvcnQgdGhlIGRlY29kZXIgdG8gdGhlIEdzdFZpZGVvRGVjb2RlcgoKMjAxMi0wOS0yMCAxOTowMzoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSAgdmRwYXU6IFBvcnQgdG8gMS4wCgkgIE5ldyBiYXNlIGNsYXNzIGZvciB2ZHBhdSBkZWNvZGVycwoJICAqIG1wZWcyIHBvcnRlZCBhbmQgYWN0aXZhdGVkCgkgICogaDI2NCBwb3J0ZWQgYnV0IGRlYWN0aXZhdGVkCgkgICogVXNlcyBHc3RNcGVnVmlkZW8gbWV0YQoKMjAxMi0xMi0yMyAwMTo1NDo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE9ubHkgYWRkIG1ldGEgaWYgZG93bnN0cmVhbSBuZWVkcyBpdAoJICBJdCdzIG5vdCBwZXJmZWN0LCBiZWNhdXNlIGluIHRoZSBjYXNlcyB3aGVyZSB1cHN0cmVhbSBkb2Vzbid0CgkgIGluaXRpYXRlIGFuIGFsbG9jYXRpb24gcXVlcnksIHdlIHdvbid0IGtub3cuCgoyMDEyLTA5LTIwIDE4OjI3OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogU3RvcmUgaW5mb3JtYXRpb24gaW4gR3N0TXBlZ1ZpZGVvMTJNZXRhCgkgIEZJWE1FIDogT25seSBkbyBzbyBpZiB3ZSBrbm93IGRvd25zdHJlYW0gd2lsbCBuZWVkIGl0CgoyMDEyLTA5LTIwIDE4OjAzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgTXBlZyBWaWRlbyBHc3RNZXRhCgkgIFRoaXMgY2FuIGJlIHVzZWQgYnkgcGFyc2VycyB0byBwcm92aWRlIHByZS1wYXJzZWQgaW5mb3JtYXRpb24gdG8KCSAgZG93bnN0cmVhbSBlbGVtZW50cyB0aGF0IHdvdWxkIHJlcXVpcmUgaXQgKHNvIHRoZXkgY2FuIGF2b2lkIGhhdmluZwoJICB0byBwYXJzZSB0aGUgYml0c3RyZWFtIGFnYWluKS4KCjIwMTItMTItMjYgMTM6MTY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IEZpeCBwaWN0dXJlIHBhY2tldCBleHRlbnNpb24gc2l6ZSBjaGVjawoJICBJdCBpcyBhdCBsZWFzdCAzNCBiaXQgYmlnICg1IGJ5dGVzIHdpdGggYnl0ZSBwYWRkaW5nKQoKMjAxMy0wMy0zMSAxMjoxMTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgIGR2YjogTW92ZSBDQU0gaGFuZGxpbmcgdG8gYSBzZXBhcmF0ZSBHc3RUYXNrCgkgICogTm8gbG9uZ2VyIGJsb2NrcyBpbiBSRUFEWT0+UEFVU0VEIChmYXN0ZXIgc3RhcnR1cCkKCSAgKiBObyBsb25nZXIgcmVxdWlyZXMgYSBwYWQgcHJvYmUKCjIwMTMtMDMtMzEgMTE6NDY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBnc3RfZWxlbWVudF9nZXRfY29udGV4dCgpIHdoZXJldmVyIHBvc3NpYmxlCgoyMDEzLTAzLTMwIDEzOjQwOjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogV2Ugb3V0cHV0IHRpbWUgc2VnbWVudHMKCSAgRml4ZXMgIzY5MDk0OQoKMjAxMy0wMy0zMCAxMzozOTo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c3BhcnNlOiBFbnN1cmUgc2VnbWVudCBldmVudHMgYXJlIGZvcndhcmRlZAoJICBXZSBza2lwIHRoZW0gZm9yIHRzZGVtdXggdGhvdWdoIChyZWNyZWF0ZWQgbGF0ZXIpCgkgIEZpeGVzICM2OTA5NDkKCjIwMTMtMDMtMzAgMTA6MjU6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogcHVzaCBzdHJlYW0gc3RhcnQgZXZlbnQKCjIwMTMtMDMtMzAgMTA6NTc6MDggKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2VyOiBlbnN1cmUgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgYW5kIGZpeCBkZWJ1ZyBtZXNzYWdlIGFjY2VzcwoKMjAxMy0wMy0zMCAwOTo1Mjo0NSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlcjogRml4IGEgY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIHVzZQoKMjAxMy0wMy0yOCAxNzo0ODowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2xnbGVzc2luazogSW1wbGVtZW50IEdzdENvbnRleHQgaGFuZGxpbmcKCjIwMTMtMDMtMjkgMTY6MTE6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBhIHNlcGFyYXRlIHRleHR1cmUgZm9yIHRoZSBjdXN0b20gdGV4dHVyZXMKCjIwMTMtMDMtMjkgMTY6MDU6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxMy0wMy0yOSAxMDozMzoxMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBjaGVjayBvbiB0aGUgcHJvcGVyIGRpc3BsYXkgYW5kIGluZGVudCBzb21lIGxpbmVzCgoyMDEzLTAzLTI4IDE0OjM2OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSBzdXJlIHRoZSB6ZXJvLXNpemVkIGFycmF5IGlzIGFsd2F5cyBsYXN0IGluIHRoZSBzdHJ1Y3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4MQoKMjAxMy0wMy0yNSAxNDoxODoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBVcGRhdGUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjggMTc6MzY6MDcgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkgIGJsdWV6OiBSZW1vdmUgYTJkcHNyYyBiaW4KCSAgVGhpcyBlbGVtZW50IGlzbid0IHJlYWxseSB1c2VmdWwuIFRoZSBvcmlnaW5hbCBwbGFuIHdhcyB0byB1c2UgdGhpcyB0bwoJICBldmVudHVhbGx5IGFsbG93IGR5bmFtaWNhbGx5IHBpY2tpbmcgYSBmb3JtYXQgYmFzZWQgb24gd2hhdCB3ZSBjYW4KCSAgc3VwcG9ydCB3aGlsZSBuZWdvdGlhdGluZyB3aXRoIHRoZSBzb3VyY2UgZGV2aWNlLiBXZSBjYW4ganVzdCBwbHVnIGluIGEKCSAgZGVjb2RlYmluIGRvd25zdHJlYW0gYW5kIGl0J2xsIGhhbmRsZSBSVFAgZGVwYXlsb2FkaW5nIGFuZCBkZWNvZGluZyBvZgoJICB3aGF0ZXZlciBmb3JtYXQgd2UgbmVnb3RpYXRlZCB3aXRoIHRoZSBzb3VyY2UgZGV2aWNlLgoKMjAxMy0wMy0xNCAxODowNDo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogQ29tcGlsZSBmaXhlcyBmb3IgYXZkdHBzcmMvYTJkcHNyYyBjb2RlIGFnYWluc3QgMS54CgoyMDEzLTAzLTE0IDEzOjA5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJICBibHVlejogQWRkIGF2ZHRwc3JjL2EyZHBzcmMgdG8gYnVpbGQKCjIwMTMtMDMtMTQgMTI6NTg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHVwIHNvbWUgcHJvYmxlbXMgdGhhdCBjYW1lIGluIHdpdGggY2hlcnJ5LXBpY2sKCjIwMTMtMDEtMDggMTA6MTk6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IFdlIHdvcmsgaW4gVElNRSBmb3JtYXQgd2l0aCBhdmR0cHNyYwoKMjAxMi0xMC0yOSAxNjo0NTo0NCArMDUzMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZGVwcmVhY2F0aW9uIHdhcm5pbmdzIG9uIGdfbXV0ZXhfKgoKMjAxMi0xMC0yOSAxNjo0NToyNSArMDUzMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSAgYmx1ZXo6IEZpeCBhIG51bWJlciBvZiBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMC0yOSAxNTo0OTowMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEZpeCBzb21lIHdhcm5pbmdzIGluIGdzdGF2ZHRwdXRpbC5jCgoyMDEyLTEwLTEyIDE4OjUyOjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEZpeCB0eXBvIGluIHJlc2V0dGluZyB0aGUgRC1CdXMgY29ubmVjdGlvbgoJICBObyByZWFsIGVmZmVjdCBzaW5jZSBGQUxTRSBhbmQgTlVMTCBhcmUgYm90aCAwCgoyMDEyLTEwLTExIDE1OjQ4OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogSGFuZGxlIEVPRiBpbiBhdmR0cHNyYyBjb3JyZWN0bHkKCjIwMTItMTAtMTEgMDg6NTc6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBGaXggYXZkdHBzcmMgZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbm93IGEgcHJvcGVyIHN1YnNldCBvZiB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTItMTAtMTEgMDg6Mzg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEFkZCBhbiBhMmRwc3JjIGJpbiBlbGVtZW50CgkgIFRoaXMgd3JhcHMgYXZkdHBzcmMgKyBydHBzYmNkZXBheSBpbnRvIGEgc2luZ2xlIGVsZW1lbnQuIHdoZW4gbW9yZQoJICBmb3JtYXRzIGFyZSBzdXBwb3J0ZWQgaW4gYXZkdHBzcmMsIHBheWxvYWRlciBzZWxlY3Rpb24gd2lsbCBuZWVkIHRvIGJlCgkgIGRvbmUgZHluYW1pY2FsbHkuCgkgIFRoaXMgY291bGQgYWxzbyBiZSBleHRlbmRlZCB0byBhY2NlcHQgYSBkZXZpY2UsIGNvbm5lY3QgdG8gaXQsIGFuZAoJICBwcm92aWRlIGF2ZHRwc3JjIGEgdHJhbnNwb3J0IChpbnN0ZWFkIG9mIHBhc3NpbmcgdGhyb3VnaCBhIHRyYW5zcG9ydCBhcwoJICBpdCBkb2VzIG5vdykuCgoyMDEyLTEwLTExIDA4OjI0OjA2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogRml4IGF2ZHRwc3JjIGNsYXNzaWZpY2F0aW9uCgoyMDEyLTEwLTEwIDIxOjM4OjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEJ1bXAgdXAgcHJpb3JpdHkgZm9yIHNvY2tldHMgaW4gQVZEVFAgZWxlbWVudHMKCSAgVGhpcyBpcyBiYXNlZCBvbiB0aGUgY29kZSBpbiBQdWxzZUF1ZGlvLgoKMjAxMi0xMC0xMCAxOTo0OTozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBBZGQgYW4gYXZkdHBzcmMgZWxlbWVudAoJICBTb3VyY2UgZWxlbWVudCB0aGF0IGNvbm5lY3RzIHRvIGEgZ2l2ZW4gdHJhbnNwb3J0IGFuZCByZWFkcyBhdWRpbyBvdmVyCgkgIEFWRFRQLiBEb2VzIG5vdCBwcm92aWRlIGEgY2xvY2sgYnV0IHVzZXMgdGhlIHN5c3RlbSBjbG9jayB0byB0aW1lc3RhbXAKCSAgaW5jb21pbmcgcGFja2V0cy4gT25seSBTQkMgaXMgY3VycmVudGx5IHN1cHBvcnRlZC4KCjIwMTMtMDMtMjggMTY6NTE6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgYSBib3hlZCB0eXBlIGZvciBHc3RFR0xEaXNwbGF5CgoyMDEzLTAzLTI4IDEzOjE4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzYmM6IGFjdHVhbGx5IGVuYWJsZSBwbHVnaW4gaWYgbGlic2JjIGlzIGF2YWlsYWJsZQoKMjAxMy0wMy0yNyAxMzoxMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBwb3J0IGVuY29kZXIgdG8gR3N0QXVkaW9FbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjYgMTM6NTU6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL3NiYy1wbHVnaW4uYzoKCSAgc2JjOiBwb3J0IGRlY29kZXIgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMTYgMTE6MzY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSogZXh0L3NiYy9zYmMtcGx1Z2luLmM6CgkgIHNiYzogaW1wb3J0IHNiYyBkZWNvZGVyL2VuY29kZXIgZnJvbSBibHVleiBhbmQgcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNyAyMjoyNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1lcmdlIFNCQyBkZWNvZGVyIGFuZCBlbmNvZGVyIGZyb20gYmx1ZXoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNiAxNjo1MDo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogbmV3IGVsZW1lbnQKCjIwMTMtMDMtMjcgMDA6NTY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiByZW1vdmUgcGFyc2VyIGluIGZhdm91ciBvZiBuZXcgR3N0QmFzZVBhcnNlLWJhc2VkIHNiY3BhcnNlIGluIC1nb29kCgoyMDEzLTAxLTA4IDEwOjE5OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBzYmNkZWM6IG1ha2UgZGVjb2RlciBtb3JlIHBlcmZvcm1hbnQKCSAgVXNlIGFuIGFkYXB0ZXIgdG8gYWNjdW11bGF0ZSBpbnB1dCBidWZmZXJzLgoJICBEZWNvZGUgYWxsIGlucHV0IGluIG9uZSBvdXRwdXQgYnVmZmVyIHdoZW4gcG9zc2libGUgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgcHVzaAoJICBvcGVyYXRpb25zLgoKMjAxMi0xMC0zMCAxODo0MTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBza2lwIHRoZSBmcmFtZSBvbiBkZWNvZGluZyBlcnJvcgoKMjAxMi0xMC0yOSAxNzoyMjoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBzZXQgRElTQ09OVCBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAxMi0xMC0yOSAxNzoxOTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogc2JjZGVjOiBoYW5kbGUgRElTQ09OVCBhbmQgdGltZXN0YW1wcwoJICBSZXNldCBzdGF0ZSBvbiBkaXNjb250LgoJICBJbnRlcnBvbGxhdGUgdGltZXN0YW1wcy4KCjIwMTItMTAtMDMgMTI6NDc6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBhdWRpbzogTWFrZSB0aGUgc2JjZGVjIGVsZW1lbnQgY29weSBidWZmZXIgbWV0YWRhdGEKCSAgTWFrZXMgc3VyZSB3ZSBkb24ndCBsb3NlIHRpbWVzdGFtcHMsIGV0Yy4KCjIwMTItMTAtMjkgMTI6NDk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IGVuYzogc2JjX2dldF9mcmFtZV9kdXJhdGlvbiBpcyBpbiBtaWxsaXNlY29uZHMKCjIwMTItMTAtMjkgMTI6Mzc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGRlYzogY2hhaW4gdXAgdG8gcGFyZW50IGJlZm9yZSBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UKCjIwMTItMTAtMTIgMTg6NTM6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBhdWRpbzogRml4IGEgbGVhayBpbiBzYmNkZWMKCjIwMTItMDktMjYgMDk6NTQ6MDEgKzA4MDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IGF1ZGlvOiBJbml0aWFsaXNlIFNCQyBkYXRhIGJlZm9yZSB1c2UgaW4gc2JjcGFyc2UgZWxlbWVudAoKMjAxMi0wOC0yMSAxMTo0OToyNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlcyBvbiBwb2ludGVyIGRlY2xhcmF0aW9ucyBhbmQgY2FzdGluZwoJICBBdm9pZCB1c2luZyBDKysgc3R5bGUgcG9pbnRlciBkZWNsYXJhdGlvbnMgbGlrZSAiY2hhciogcHRyIiwgYXMgbW9zdAoJICBCbHVlWiBjb2RlIHVzZXMgImNoYXIgKnB0ciIuCgoyMDEyLTA0LTEyIDIwOjMzOjA2ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IGF1ZGlvOiBGaXggbmV3bGluZSBiZWZvcmUgRU9GCgoyMDExLTA3LTAyIDEyOjMyOjQwIC0wMzAwICBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IGNvbW1vbiBtaXNzcGVsbGVkIHdvcmRzCgkgIEFjY291bnRpbmcgb2YgbWlzc3BlbGxlZCB3b3JkcywgYXMgZGV0ZWN0ZWQgYnkgY29kZXNwZWxsOgoJICBhY29yZGluZyAgICAgIDIKCSAgYW5jaWxsaWFyeSAgICAxCgkgIGFwcHJvcGlhdGUgICAgMQoJICBhdHJpYnV0ZSAgICAgIDEKCSAgY2FudCAgICAgICAgICAxCgkgIGNvbW1pbmcgICAgICAgMgoJICBncmFjZWZ1bGwgICAgIDEKCSAgbGVuZ2h0ICAgICAgICAxCgkgIG1pc3BlbGxlZCAgICAgMQoJICBvY2N1cmVkICAgICAgIDEKCSAgb2NjdXJlbmNlcyAgICAxCgkgIG9jdXJyZWQgICAgICAgMwoJICBwcmVmZXJlZCAgICAgIDEKCSAgcHJlc2Vuc2UgICAgICAxCgkgIHJlcG9uc2UgICAgICAgMQoJICBzZXBlcmF0ZSAgICAgIDEKCSAgc3VjY2VzZnVsICAgICAxCgkgIHN1Y2Nlc3N1bGx5ICAgMQoJICBzdWNlc3NmdWxsICAgIDEKCSAgc3VjZXNzZnVsbHkgICAxCgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogYXVkaW86IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDQtMDEgMTA6NDU6MzAgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNC0wMSAxMDoyOTozMSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wMS0zMCAwMDozMToxNSArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIGlzc3VlIHdpdGhpbiBHU3RyZWFtZXIgcGx1Z2luCgoyMDA5LTAxLTE5IDEwOjI2OjI4ICswMjAwICBTaWFyaGVpIFNpYW1hc2hrYSA8c2lhcmhlaS5zaWFtYXNoa2FAZ21haWwuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBVc2UgbmF0aXZlIGJ5dGUgb3JkZXIgZm9yIGF1ZGlvIGluIEdTdHJlYW1lciBhbmQgQUxTQSBwbHVnaW5zCgkgIFRoaXMgZml4ZXMgZW5kaWFubmVzcyBpbmNvbnNpc3RlbmN5IGJldHdlZW4gZGVmYXVsdCBTQkMKCSAgY29uZmlndXJhdGlvbiBhbmQgR1N0cmVhbWVyL0FMU0EuCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjMgMDQ6MjE6NTcgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEFzc2lnbiB2YXJpYWJsZXMgYWZ0ZXIgZGVjbGFyYXRpb25zCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0xNCAyMToyMjozOCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogTWFrZSB1c2Ugb2YgcGFyYW1ldGVycyBzZWxlY3RlZCBpbiBhbHNhIHBsdWdpbiBhbmQgZml4IGF1dG8gc2VsZWN0aW9uLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAyLTAxIDE5OjI4OjM3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGJpdHBvb2wgcHJvcGVydHkgYW5kIG90aGVycyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMzAgMTc6MzA6MjcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IEVuYWJsZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBhdXRvY29ubmVjdCBmbGFnLgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yNCAxNDoyNToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4IGd0cmVhbWVyIHBheWxvYWRlciBzZW5kaW5nIGZyYWdtZW50ZWQgZnJhbWVzLgoKMjAwOC0wMS0yMyAxMzoxOTozMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBtcDMgc3VwcG9ydCBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMDctMTEtMjMgMTc6MDA6MTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQ29kZSBjbGVhbnVwLgoKMjAwNy0xMS0yMSAyMDoyNDoxMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogSW50ZWdyYXRlIG5ldyBpcGMgQVBJIGltcGxlbWVudGF0aW9uLgoKMjAwNy0xMS0xMyAyMDowNDoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBBZGQgc2JjX3JlaW5pdC4KCjIwMDctMTEtMTIgMjI6MjE6NDUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogRml4IGJ1ZyBpbiBzYmNlbmMgd2hlbiBjaGFuZ2luZyBlbmNvZGVyIHBhcmFtZXRlcnMuCgoyMDA3LTExLTEyIDE4OjE1OjU5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IE1ha2Ugc2JjIGNvZGVjIHRvIHdyaXRlIGRpcmVjdGx5IGluIGFwcGxpY2F0aW9uIGJ1ZmZlcnMgYW5kIHNvIGF2b2lkaW5nIG1lbWNweXMuCgoyMDA3LTExLTAxIDE5OjQ1OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggc2JjIG5lZ290aWF0aW9uIGFuZCBpbXByb3ZlcyBidWZmZXIgaGFuZGxpbmcgYnkgdXNpbmcgR3N0QWRhcHRlci4KCjIwMDctMTEtMDEgMTM6NTY6NTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogRml4IGJ1ZmZlcnMgdGltZXN0YW1wcyBpbiBzYmNlbmMuCgoyMDA3LTEwLTI5IDE1OjAyOjI2ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgYml0cG9vbCBjYXBhYmlsaXR5LgoKMjAwNy0xMC0yNCAyMTo1MTozNyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IFNvbWUgbW9yZSBjb2Rpbmcgc3R5bGUgY2hhbmdlcwoKMjAwNy0xMC0yNCAyMTozNjoyOSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRG9uJ3QgZm9yZ2V0IHRvIGluY2x1ZGUgdGhlIGNvbmZpZyBvcHRpb25zCgoyMDA3LTEwLTI0IDIxOjMzOjE4ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMKCjIwMDctMTAtMTggMjI6NDY6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4KCjIwMDctMTAtMTggMjE6NDc6NTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXhlcyBzYmNwYXJzZXIgZWxlbWVudC4KCjIwMDctMTAtMTggMjE6NDY6NDkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeGVzIGZvciBnc3RzYmNlbmMuCgoyMDA3LTEwLTE4IDIxOjQ1OjE0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGdzdHNiY3V0aWwuYyBhbmQgZ3N0c2JjdXRpbC5oLgoKMjAwNy0wOC0yNyAxNDoxMDowMCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZvcmNlIExJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBCWVRFX09SREVSIGZvciBub3cKCjIwMDctMDgtMjYgMTM6NTk6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIHBhcnNpbmcgc3VwcG9ydAoKMjAwNy0wOC0yNiAxMzoxMjo0NyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBBZGQgbW9kZSBwcm9wZXJ0eSB0byB0aGUgZW5jb2RlcgoKMjAwNy0wOC0yNSAxOTozMjowMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBlbmNvZGluZyBzdXBwb3J0CgoyMDA3LTA4LTI1IDE4OjUwOjI4ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IEZpeCBjbGFzcyB2YXJpYWJsZSBuYW1pbmcKCjIwMDctMDgtMjUgMTc6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogTGltaXQgdGhlIHN1cHBvcnRlZCBvdXRwdXQgcmF0ZXMKCjIwMDctMDgtMjUgMTc6MDM6MDMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgZGVjb2Rpbmcgc3VwcG9ydAoKMjAwNy0wOC0yMyAxOToxMjoyMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBBZGQgU0JDIGVuY29kZXIgYW5kIGRlY29kZXIgc2tlbGV0b25zIGZvciBHU3RyZWFtZXIKCjIwMTMtMDMtMjcgMDk6MDg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogTWFrZSBzdXJlIHRoYXQgYWxsIGJ1ZmZlcnMgaW4gb3VyIHBvb2wgY29udGFpbiBvdXIgb3duIG1lbW9yeQoKMjAxMy0wMy0yNiAxNToyMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IEluaXRpYWwgcG9ydCB0byAxLjAKCSAgVGhpcyBzaG91bGQgcmVhbGx5IHVzZSBHc3RBdWRpb1NpbmsgYW5kIEdzdEF1ZGlvU3JjLgoKMjAxMy0wMy0yNiAxNTowMTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgIHdhc2FwaTogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wMy0yNiAxNDoxNTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhCgoyMDEzLTAzLTI2IDEzOjIyOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogd2UgbmVlZCBhIHJlY2VudC1lbm91Z2ggZ251dGxzIGZvciBobHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjU5NwoKMjAxMi0xMi0yMiAyMTo1OTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogSW1wbGVtZW50IGEgYnVmZmVyIHBvb2wgdGhhdCBzaGFyZXMgRDNEIHN1cmZhY2VzIHdpdGggdXBzdHJlYW0KCjIwMTItMTItMjIgMTk6MTI6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQWxsb2NhdGUgYSBuZXcgb2Zmc2NyZWVuIHN1cmZhY2UgZm9yIGV2ZXJ5IGJ1ZmZlcgoJICBUaGlzIGlzIGEgcHJlcGFyYXRpb24gZm9yIGltcGxlbWVudGluZyBhIGJ1ZmZlciBwb29sLgoKMjAxMy0wMy0yNSAxODowNDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVc2UgJTAzdSBmb3IgZm9ybWF0IGluIGdzdF9wYWRfY3JlYXRlX3N0cmVhbV9pZF9wcmludGYoKQoKMjAxMy0wMy0yNSAxMzo0ODoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBGaXggZmlsdGVyIGhhbmRsaW5nIGluIGNhcHMgbmVnb3RpYXRpb24gdG8ga2VlcCBmaWx0ZXIgY29udGVudAoKMjAxMy0wMy0yNSAwOTo0NTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGZpeCBidWlsZCBmb3Igb2JqYwoJICBUaGUgb2JqLWMgYXBpIHZlcnNpb24gb3B0aW9uIGlzIHJlcXVpcmVkIHRvIGdldCBhcHBsZW1lZGlhIHRvCgkgIGJ1aWxkIGZvciBpb3MsIG90aGVyd2lzZSBpdCB3b24ndCBmaW5kIHNvbWUgc3ltYm9scyBkdXJpbmcgbGlua2luZwoKMjAxMy0wMy0yNSAxMDoxMDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZWQ6IHNldCBib3RoIERUUyBhbmQgUFRTCgkgIEhhbmRsZSBib3RoIGR0cyBhbmQgcHRzIG9uIG91dHB1dCBidWZmZXJzLgoKMjAxMy0wMy0xMCAxMjoxNzowNSArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHJlbW92ZSB1bnVzZWQgY3VycmVudF9wcm9ncmFtX251bWJlciBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwOTM0CgoyMDEzLTAzLTIyIDE5OjQwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogc2VuZCBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGFsc28gaW4gcHVzaCBtb2RlCgkgIFdoZW4gY29udmVydGluZyB0aGUgaW5jb21pbmcgc2VnbWVudCBmcm9tIGJ5dGUgdG8gdGltZSBmb3JtYXQsCgkgIGRvbid0IGp1c3QgY29udmVydCB0aGUgc3RhcnQvc3RvcC90aW1lIHZhbHVlcywgYnV0IGFsc28gY2hhbmdlCgkgIHRoZSBzZWdtZW50IGZvcm1hdCB0byBUSU1FLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzYxCgoyMDEzLTAzLTIyIDE1OjMwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZCBpZiBnbnV0bHMgaXMgbm90IHByZXNlbnQKCSAgU2tpcCBidWlsZCBvZiBobHMgcGx1Z2luIGlmIGdudXRscyBoZWFkZXJzIGNhbid0IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzkyCgoyMDEzLTAzLTIyIDE1OjQ5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogVXNlIHRoZSBjb3JyZWN0IHN0cmlkZXMgYXMgdXNlZCBieSB5NG0gYW5kIGNvbnZlcnQgdG8gR1N0cmVhbWVyIHN0cmlkZXMgaWYgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNjEKCjIwMTMtMDMtMjIgMTU6MTk6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuaDoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IHJlbmFtZSB0byBmbHVpZGRlYwoJICBSZW5hbWUgdGhlIGZsdWlkc3ludGggcGx1Z2luIHRvIGZsdWlkc3ludGhtaWRpIGFuZCB0aGUgZGVjb2RlcgoJICB0byBmbHVpZGRlYyB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBidXp6dGFyZC4KCjIwMTMtMDMtMjIgMTQ6NTI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBVc2UgdGhlIGRlZmF1bHQgZXZlbnQvcXVlcnkgaGFuZGxlcnMgZm9yIHRoZSBkZWZhdWx0IGhhbmRsaW5nCgkgIEVzcGVjaWFsbHkgZG9uJ3QgZm9yd2FyZCBjYXBzIGV2ZW50cyBmcm9tIHRoZSBzaW5rcGFkIHRvIHRoZSBzcmNwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyODIKCjIwMTMtMDMtMjIgMTQ6Mzc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBQcm9wZXJseSBoYW5kbGUgc2VnbWVudCBhbmQgdGltZSB2YWx1ZXMgb2YgLTEKCjIwMTMtMDMtMjIgMTQ6NDg6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IHNldCBtaWRpIHBhcnNlciByYW5rIHByaW1hcnkKCSAgTm93IHRoYXQgaXQgc3VwcG9ydHMgc2Vla2luZyBhbmQgYWxsLCBtYXJrIGl0IHByaW1hcnkKCjIwMTMtMDMtMjIgMTM6NDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBhbHdheXMgc2VlayBiYWNrIHRvIGJlZ2lubmluZwoJICBXZSBhbHdheXMgbmVlZCB0byBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBiZWNhdXNlIHdoZW4gd2UgZG8gYSBmbHVzaGluZyBzZWVrLAoJICB3ZSBtaWdodCBoYXZlIGxvc3QgZXZlbnRzIGRvd25zdHJlYW0uCgoyMDEzLTAzLTIyIDEzOjQ4OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBmaXggZGVidWcgb2Ygc2VnbWVudCBzdHJ1Y3R1cmUKCjIwMTMtMDMtMjIgMTM6NDg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogaGFuZGxlIGRpc2NvbnQKCjIwMTMtMDMtMjIgMTI6MjU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgU2VlayBiYWNrIHRvIDAgZm9yIGJhY2t3YXJkIHNlZWtpbmcgYW5kIGxldCB0aGluZ3MgcnVuIGFuZCBjbGlwIGZvciBmb3J3YXJkcwoJICBzZWVraW5nLgoKMjAxMy0wMy0yMiAxMjoxNjo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogcmVzZXQgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZQoKMjAxMy0wMy0yMiAxMTowNDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBhZGQgcHJvcGVydGllcwoJICBBZGQgcHJvcGVydGllcy4KCSAgVHJ5IHRvIGZpbmQgYSBnb29kIGRlZmF1bHQgc291bmRmb250IHdoZW4gbm90IHNwZWNpZmllZC4KCjIwMTMtMDMtMjIgMDg6NTQ6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGxvZyBtaWRpIHRpY2sgZXZlbnQKCjIwMTMtMDMtMjIgMDg6NTQ6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IHJlZGlyZWN0IGxvZ2dpbmcgdG8gZ3N0IGxvZ2dpbmcgZnVuY3Rpb25zCgoyMDEzLTAzLTIxIDE4OjE4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc2ltcGxpZnkgdGhlIGNhbGxiYWNrcwoJICBXZSBvbmx5IG5lZWQgb25lIGNhbGxiYWNrIHRvIHNlbmQgYnl0ZXMgb3V0LgoKMjAxMy0wMy0yMSAxODoxNzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wMy0yMSAxNzoyNTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGNsZWFuIHVwIHRyYWNrcwoKMjAxMy0wMy0yMSAxNzoxNjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBkb24ndCBsZWFrIG1pZGkgZGF0YQoKMjAxMy0wMy0yMSAxNzowNTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBwcm9kdWNlIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcwoKMjAxMy0wMy0yMSAxNjowNTo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNtYWxsIGNsZWFudXBzIGluIGVycm9yIHBhdGhzCgoyMDEzLTAzLTIxIDE2OjA1OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogZHVyYXRpb24gaXMgbWF4IG9mIGFsbCB0cmFjayBkdXJhdGlvbnMKCjIwMTMtMDMtMjEgMTY6MDQ6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBmaXgga2xhc3MKCjIwMTMtMDMtMjEgMTU6NDM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogSW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY3B5KCkKCjIwMTMtMDMtMjEgMTU6MDA6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogVXBkYXRlIGR1cmF0aW9uCgkgIFJld29yayB0aGluZ3MgYSBiaXQgc28gdGhhdCB3ZSBjYW4gcnVuIG92ZXIgdGhlIG1pZGkgZXZlbnRzIGFuZCBmaXJlIGNhbGxiYWNrcwoJICBmb3IgZWFjaCBvZiB0aGVtLiBXZSBjYW4gdGhlbiB1c2UgdGhhdCBmb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uIGFuZCBhbHNvIGZvcgoJICBkb2luZyBwbGF5YmFjay4KCSAgT25seSBwYXJzZSBhcyBtYW55IHRyYWNrcyBhcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlci4KCSAgRml4IGRlZmF1bHQgdGVtcG87CgkgIFNlbmQgTUlESSB0aWNrIGV2ZW50cyBldmVyeSAxMG1zCgoyMDEzLTAzLTIxIDE0OjU3OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wMy0yMSAwOTozMDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGhhbmRsZSBtaWRpIGluIFJJRkYKCjIwMTMtMDMtMjEgMDc6MjE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzbWFsbCBmaXhlcwoKMjAxMy0wMy0yMSAwNzowNzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogc2V0IHJhbmsgYXMgbWFyZ2luYWwKCSAgU2V0IHRoZSBtYXJrIHRvIG1hcmdpbmFsIHVudGlsIHdlIGltcGxlbWVudCBtb3JlIGZlYXR1cmVzLgoKMjAxMy0wMy0yMSAwNzowNTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGFkZCBmbHVpZHN5bnRoIG1pZGkgcmVuZGVyZXIKCSAgQWRkIGEgZmx1aWRzeW50aCBlbGVtZW50IHRoYXQgY29udmVydHMgbWlkaSBldmVudHMgaW50byByYXcKCSAgZmxvYXQgc2FtcGxlcy4KCjIwMTMtMDMtMjEgMDY6NTA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBhZGQgYmFzaWMgbWlkaSBwYXJzZXIKCSAgUGFyc2VzIG1pZGkgZmlsZXMgYW5kIG91dHB1dHMgYnVmZmVycyB3aXRoIG1pZGkgZXZlbnRzLgoKMjAxMy0wMy0yMCAxNToyOTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSAgaXZ0YzogZml4IG1ha2UgZGlzdAoKMjAxMy0wMy0yMCAxNToyNTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3QgaGxzIGFzIHdlbGwKCjIwMTMtMDMtMjAgMTU6MTk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFjdHVhbGx5IGJ1aWxkIGhscyBwbHVnaW4KCjIwMTMtMDMtMjAgMTA6NDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0xOSAxNjozOTowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuaDoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmg6CgkgIGNvbWJkZXRlY3QsaXZ0YzogY29kZSBjbGVhbnVwCgoyMDEzLTAzLTE5IDE3OjI4OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IHJlbW92ZSBzaW5rcGFkL3NyY3BhZCBmaWVsZHMKCSAgSW5mb3JtYXRpb24gaXMgaW4gdGhlIGJhc2UgY2xhc3MgYW55d2F5LCBwbHVzIHBhZCBjcmVhdGlvbiB3YXMKCSAgZG9uZSBpbmNvcnJlY3RseS4KCjIwMTMtMDMtMTkgMTI6MTk6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBvdXRwdXQgcHJvZ3Jlc3NpdmUgdmlkZW8KCjIwMTMtMDMtMTggMTY6MjI6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBjb2RlIGNsZWFudXAKCjIwMTMtMDMtMTIgMTc6NDc6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBzd2l0Y2ggdG8gemVicmEgc3RyaXBpbmcKCjIwMTMtMDMtMDggMTc6MDI6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBkcm9wIGVhcmx5IGZpZWxkcwoKMjAxMy0wMi0yMCAxNTozMjoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuaDoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmg6CgkgIGl2dGM6IG5ldyBpbnZlcnNlIHRlbGVjaW5lIGZpbHRlcgoJICBUaGlzIGZpbHRlciBjb252ZXJ0cyBpbnRlcmxhY2VkIGNvbnRlbnQgdGhhdCB3YXMgb3JpZ2luYWxseQoJICB0ZWxlY2luZSdkIGZyb20gMjQgZnBzIChvciBzaW1pbGFyKSBwcm9ncmVzc2l2ZSBjb250ZW50LiAgSXQgd29ya3MKCSAgYXBwcm94aW1hdGVseSBsaWtlIHZpZGVvcmF0ZSwgYnV0IHdpdGggYXdhcmVuZXNzIG9mIGludGVybGFjaW5nLgoJICBJdCBtZXJnZXMgbmVpZ2hib3JpbmcgZmllbGRzIGluIHRoZSBpbnB1dCBpbnRlcmxhY2VkIHN0cmVhbSB3aXRoCgkgIHRoZSBnb2FsIG9mIG1pbmltaXppbmcgY29tYmluZyBhcnRpZmFjdHMsIHdoaWxlIGtlZXBpbmcgdGhlIG91dHB1dAoJICBmcmFtZXJhdGUgY29uc3RhbnQuICBJZiBpdCBjYW5ub3QgYXZvaWQgY29tYmluZyBhcnRpZmFjdHMsIGl0IHdpbGwKCSAgcmVjb25zdHJ1Y3QgdGhlIGltYWdlIGZyb20gYSBzaW5nbGUgZmllbGQuICBOb3RlIHRoYXQgdGhpcyBmaWx0ZXIKCSAgZG9lcyBub3QgYXV0b2RldGVjdCB0aGUgZnJhbWVyYXRlLCBidXQgd2lsbCBhdXRvbWF0aWNhbGx5IGZpeGF0ZQoJICBhdCAyNCBmcHMuCgoyMDEzLTAzLTE5IDE0OjMxOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogRml4IHNvbWUgcmV0dXJuIHZhbHVlcyBpbiBnX3JldHVybl92YWxfaWZfZmFpbCgpCgoyMDEzLTAzLTE5IDEzOjU0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggZXZlbnQgYW5kIHF1ZXJ5IGhhbmRsZXIKCSAgQ2FsbCB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgdW5rbm93biBldmVudHMgYW5kIHF1ZXJpZXMuCgkgIEZpeCBldmVudCBsZWFrLgoKMjAxMy0wMy0xOSAxMDo0NzoyNSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RobHNzaW5rLmg6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgTWFrZSB0aGUgaGxzIHBsdWdpbiBkZXBlbmQgb24gZ251dGxzIGFuZCBtb3ZlIHRvIGV4dC9obHMvCgkgIGdudXRscyBpcyB1c2VkIHRvIGltcGxlbWVudCBBRVMgZGVjcnlwdGlvbgoKMjAxMy0wMy0xOSAxMDoyNjoxNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1c2UgZ251dGxzIGluc3RlYWQgb2Ygb3BlbnNzbAoKMjAxMy0wMy0xOSAwODo0OToyMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHN1cHBvcnQgZW5jcnlwdGVkIHN0cmVhbXMKCjIwMTMtMDMtMTkgMTA6MTQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICBwb3J0IHdpbGRtaWRpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwNDEKCjIwMTMtMDMtMTggMjE6MTI6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IG9idGFpbiBjbGFzcyBmcm9tIG9iamVjdAoKMjAxMy0wMy0xOCAyMTowMTo1OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbnZhbGlkIGZyZWUoKSBpbnRyb2R1Y2VkIGJ5IGxhc3QgY29tbWl0CgoyMDEzLTAzLTA3IDIyOjE5OjE1ICswMDAwICBLZXZpbiBUaG9ybmJlcnJ5IDxnaW1tZWFtaWxrYnR0ZkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSAgbXBlZ3RzbXV4OiBmaXggY3JlYXRpb24gb2YgQURUUyBoZWFkZXIgZm9yIEFBQyBhdWRpbyBpbiBNUEVHLVRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0MTIKCjIwMTMtMDMtMTggMDc6MzQ6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogcGFyc2UgI0VYVC1YLUtFWSB0YWdzCgoyMDEzLTAzLTE4IDA3OjIyOjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZmFjdG9yIG91dCBVUkkgam9pbmluZyB1dGlsaXR5CgoyMDEzLTAzLTE4IDA3OjAyOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZml4IFVSSSBwYXJzaW5nIGZvciBhYnNvbHV0ZSBmcmFnbWVudCBwYXRocwoKMjAxMy0wMy0xNiAyMzozMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBzZXQgZGlzY29udCBmbGFnIG9uIGZpcnN0IGF1ZGlvIGJ1ZmZlciB0b28KCjIwMTMtMDMtMTYgMjM6Mjk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogYWdncmVnYXRlIGF1ZGlvIGFuZCB2aWRlbyBmbG93IHJldHVybnMKCSAgQW5kIHBhdXNlIHRhc2sgaW4gc29tZSBtb3JlIGNhc2VzIHdoZXJlIHdlIHNob3VsZAoJICBwYXVzZSB0aGUgdGFzay4KCjIwMTMtMDMtMTYgMjE6Mzk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IGFkZCBzZW5kX2V2ZW50IGhhbmRsZXIgc28gYXBwbGljYXRpb24gY2FuIGluamVjdCBFT1MgZXZlbnQKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2h1dCBkb3duIGEgcmVjb3JkaW5nIHBpcGVsaW5lIGNsZWFubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMDMtMTYgMjE6MzQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogcGF1c2Ugc3RyZWFtaW5nIHRocmVhZCBhbmQgc2VuZCBFT1MgZXZlbnQgb24gZXJyb3IKCSAgSW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gRU9TIG1lc3NhZ2UgYW5kIGNvbnRpbnVpbmcsCgkgIGFjdHVhbGx5IHBhdXNlIHRoZSB0aHJlYWQuCgoyMDEzLTAzLTE2IDEzOjEzOjE0IC0wNDAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgUkdCIGFuZCBYWSBwcm9wZXJ0eSBuaWNrbmFtZSBzdHJpbmdzCgkgIEFsc28gZml4IHRoZSBZIHByb3Agbmlja25hbWUgc3RyaW5nIGJlaW5nIGluY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg4NAoKMjAxMy0wMy0xNiAxMzowNzoyNSAtMDQwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBmaXggbmlja25hbWVzIGZvciBjb2xvciBhbmQgcG9zaXRpb24gcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODg0CgoyMDEzLTAzLTE1IDIwOjIxOjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYXJrIGRlY2tsaW5rIGFzIHBvcnRlZAoKMjAxMy0wMy0xNSAwMDoyNTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZWxlbWVudC1tYWtlcjogY2xlYW4gdXAgYml0cyBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBGaWxlcyB0aGF0IHdlcmUgc3VwcG9zZWQgdG8gYmUgaW4gdGhlIHByZXZpb3VzIGVsZW1lbnQtbWFrZXIKCSAgY29tbWl0LiAgVGhpcyBpcyB3aGF0IGhhcHBlbnMgd2hlbiBjaGVycnktcGljayBkb2Vzbid0IHdvcmsuCgoyMDEzLTAzLTE1IDE3OjQ3OjIzICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIHRvb2xzOiBGaXggbWFrZSBkaXN0CgkgIE1pc3NpbmcgYml0cyBvZiBiNDVhMWRmNWRlYWRiMDI5ZGNiZTQ1MjJmMDExNmQzNGYxY2QyZjFlCgoyMDEzLTAzLTE1IDA5OjI5OjQyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBmaXggY29tcGlsYXRpb24gd2FybmluZyByZXR1cm5pbmcgTlVMTCBpbiBjYXNlIG9mIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4OTcKCjIwMTMtMDMtMTUgMDk6Mjc6MzYgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IHVzZSBjb25zdGFudCBBRVNfMTI4X0lDTSBpbnN0ZWFkIG9mIEFFU19JQ00gdGhhdCBpcyBub3QgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg5NwoKMjAxMy0wMy0wMSAxNjo1Mjo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJICB2aWRlb3NlZ21lbnRjbGlwOiBEb24ndCBsZWFrIGJ1ZmZlcnMgYWZ0ZXIgc2VnbWVudAoKMjAxMy0wMy0xMiAxNzozMjo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBGSVhNRSBmb3IgZnV0dXJlIHJldml2YWwKCjIwMTMtMDMtMTQgMjM6NTc6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9kZWNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2VuY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9kZWNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvc2luazoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSB0ZW1wbGF0ZXMgZm9yIDEuMAoJICBUaGlzIGFyZSAoYWxtb3N0KSBjb21wbGV0ZWx5IGF1dG9nZW5lcmF0ZWQgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMTMtMDItMDUgMTY6MzQ6MjAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmRlbXV4OiBBZGQgYSBzZWNvbmQgTVhGIFVMIGZvciB1bmNvbXByZXNzZWQgYXVkaW8KCjIwMTMtMDItMDUgMTU6NTg6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogSWdub3JlIG1pc3NpbmcgbWV0YWRhdGEgZGVzY3JpcHRvcnMKCjIwMTMtMDMtMTQgMTI6MDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBzdG9wIHRhc2tzIGluIHBhdXNlZAoJICBBIG5vbi1saXZlIGVsZW1lbnQgaXMgc3VwcG9zZWQgdG8gY29udGludWUgc3RyZWFtaW5nIGluIHRoZSBwYXVzZWQgc3RhdGUgc28KCSAgZG9uJ3Qgc3RvcCB0aGUgdGFza3Mgd2hlbiBnb2luZyB0byBwYXVzZWQuCgkgIFdlIGFsc28gYWx3YXlzIHdhbnQgdG8gc3RhcnQgdGhlIHVwZGF0ZSB0YXNrIGFmdGVyIHdlIHByZXJvbGxlZCBlbm91Z2ggZGF0YSwKCSAgbm90IG9ubHkgaW4gdGhlIHBsYXlpbmcgc3RhdGUuCgoyMDEzLTAzLTE0IDEyOjA4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDMtMTMgMTI6NTA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgRUdMSW1hZ2Ugb3JpZW50YXRpb25zCgoyMDEzLTAzLTEzIDExOjI5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBvcmllbnRhdGlvbnMgb2YgdGhlIEVHTEltYWdlCgkgIFRoZSBjb250ZW50IG9mIHRoZSBFR0xJbWFnZXMgY2FuIGJlIGF0IGxlYXN0IGluIEdTdHJlYW1lciBvcmllbnRhdGlvbiwKCSAgbWVhbmluZyB0b3AgbGluZSBmaXJzdCBpbiBtZW1vcnksIG9yIE9wZW5HTCBvcmllbnRhdGlvbiwgbWVhbmluZwoJICBib3R0b20gbGluZSBmaXJzdCBpbiBtZW1vcnkuCgoyMDEzLTAzLTEzIDExOjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgUkdCQSB0byB0aGUgY2FwcyBhZ2FpbgoKMjAxMy0wMy0xMyAwMDoyNTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogZml4IHVwIG1wZWd0c211eCB1bml0IHRlc3QgYWZ0ZXIgY29sbGVjdHBhZHMgY2hhbmdlCgkgIEl0IHdhcyBwYXNzaW5nIGV4cGVjdGVkIGZsb3cgcmV0dXJucyAod2hpY2ggbWlnaHQgYmUgbmVnYXRpdmUpCgkgIGluIHRoZSBidWZmZXIgdGltZXN0YW1wIGZpZWxkLCB3aGljaCB3YXMgbWF5YmUgbm90IHRoZSBiZXN0CgkgIGlkZWEuCgoyMDEzLTAzLTExIDIxOjU1OjI4IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggaW1wcm9wZXIgdmlkZW8gZnJhbWUgY2xlYXIgb3BlcmF0aW9uCgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgbWVtc2V0dGluZyB0aGUgR3N0VmlkZW9GcmFtZS5kYXRhIGFkZHJlc3MgdG8gMHMgKHdoaWNoCgkgIGNhdXNlcyBhIHNlZ2ZhdWx0KS4gVGhpcyBtZW1iZXIgaXMgYWN0dWFsbHkgYW4gYXJyYXkgb2YgZGF0YSBidWZmZXJzIChvbmUgZm9yCgkgIGVhY2ggcGxhbmUpLiAgVGhpcyBmaXggaXRlcmF0ZXMgb3ZlciBlYWNoIGRhdGEgcGxhbmUgdG8gY2xlYXIgdGhlbSBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NTUKCjIwMTMtMDMtMTIgMTk6NDc6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvLmdpdGlnbm9yZToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IEFkZCBTUlRQIHBsdWdpbiBiYXNlZCBvbiBsaWJzcnRwCgkgIEluIGxhcmdlIHBhcnQgdGhlIHdvcmsgb2YgR2FicmllbCBNaWxsYWlyZQoKMjAxMy0wMy0xMiAxOTozNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRoZSBidWZmZXIgaXMgcmVsZWFzZWQgdG8gdGhlIHBvb2wgaWYgaXQncyB0aGUgbGFzdCB1c2VkIG9uZQoKMjAxMy0wMy0xMCAyMjowNjozMSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSAgYXBwbGVtZWRpYTogc3VwcHJlc3Mgd2FybmluZ3MgZm9yIGRlcHJlY2F0ZWQgZ2xpYiBBUEkKCjIwMTMtMDMtMTAgMjE6MjE6MTcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBVc2UgY29ycmVjdCBwcmludCBmb3JtYXQgc3BlY2lmaWVycyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDkgMDE6MDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgUmVtb3ZlIERUTUYgcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA5IDAwOjE3OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJICBmYmRldjogcG9ydCBmYmRldnNpbmsgdG8gMS4wCgoyMDEzLTAzLTA3IDExOjU4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBUaGVyZSBhcmUgb25seSB0d28gR0xTTCBwcm9ncmFtcywgbm90IHRocmVlCgoyMDEzLTAzLTA3IDExOjUwOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBnc3RfYnVmZmVyX3Bvb2xfY29uZmlnX2dldF9hbGxvY2F0b3IoKSBkb2VzICpub3QqIHJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIGFsbG9jYXRvcgoJICBEaWZmZXJlbnQgdG8gZ3N0X3F1ZXJ5X2dldF9uX2FsbG9jYXRpb25fcGFyYW1zKCkgd2hpY2ggZG9lcwoKMjAxMy0wMy0wNyAwMDowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWUwNTU1OCB0byAwNGM3YTFlCgoyMDEzLTAzLTA2IDE3OjUzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYWxsb2NhdGlvbiBvZiBSR0JBIHRleHR1cmVzCgoyMDEzLTAzLTA2IDEwOjUzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gc2V0IHRoZSBOT19TSEFSRSBmbGFnIG9uIHRoZSBFR0xJbWFnZSBtZW1vcmllcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTIwMwoKMjAxMy0wMy0wNSAxMjo0NzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWx3YXlzIHVzZSBhbiBSR0JBIGNvbmZpZ3VyYXRpb24KCjIwMTMtMDItMjcgMTM6MTU6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogQWRkIGVnbCBsaWJyYXJ5IHRvIHRoZSBnZW5lcmljIHBrZy1jb25maWcgZmlsZQoKMjAxMy0wMi0yNSAxMzo0MzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgbmVnb3RpYXRlIGFuIGFsbG9jYXRvcgoKMjAxMy0wMi0yNSAxMzozMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFJlbmFtZSBnc3RfZWdsX2ltYWdlX21lbW9yeV9jYW5fbWFwKCkgdG8gaXNfbWFwcGFibGUoKQoKMjAxMy0wMi0yNSAxMzoyNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFJlbW92ZSBidWZmZXIgcG9vbCBvcHRpb24KCSAgVGhpcyBzaG91bGQgYmUgZG9uZSBkaWZmZXJlbnRseSB2aWEgdGhlIGFsbG9jYXRvcnMgaW4gdGhlIGFsbG9jYXRpb24gcXVlcnkuCgoyMDEzLTAyLTIyIDEzOjA3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogTWFyayBtZW1vcnkgYXMgbm90IG1hcHBhYmxlIGlmIGl0IGlzbid0CgoyMDEzLTAyLTIyIDEyOjQ4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogSW1wbGVtZW50IHNoYXJpbmcgb2YgbWVtb3J5CgoyMDEzLTAyLTIyIDExOjIzOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTdG9yZSBhIHJlZmVyZW5jZSB0byB0aGUgbGFzdF9idWZmZXIgaWYgdXNpbmcgRUdMSW1hZ2VzCgoyMDEzLTAyLTIyIDEwOjU4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBSUGkKCjIwMTMtMDItMjEgMTc6NDM6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IHRvIG5ldyBFR0wgbGlicmFyeQoKMjAxMy0wMi0yMSAxNDo0MDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2w6IE1vdmUgY29uZmlndXJlIGNoZWNrcyBhcm91bmQgYW5kIHJlLXVzZSBmb3IgZWdsZ2xlc3NpbmsgcGx1Z2luCgoyMDEzLTAyLTIxIDEzOjM5OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC5wYy5pbjoKCSAgZWdsOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIEVHTEltYWdlIGhhbmRsaW5nCgoyMDEzLTAzLTAzIDEyOjMwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IE9ubHkgaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLmg+CgoyMDEzLTAzLTAzIDEyOjMwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6MzA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgY29ycmVjdCB0eXBlIHNwZWNpZmllcnMgZm9yIGZvcm1hdCBzdHJpbmdzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjoyOTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVXNlIGNvcnJlY3QgdHlwZSBzcGVjaWZpZXJzIGZvciBmb3JtYXQgc3RyaW5ncyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6Mjk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHU1RfRVJST1JfT0JKRUNUKCkgcGFyYW1ldGVycwoKMjAxMy0wMy0wMyAxMDo1NDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IEZpeCBjb21waWxlciB3YXJuaW5nIGNhdXNlZCBieSB3cm9uZyBmb3JtYXQgc3BlY2lmaWVyCgoyMDEzLTAzLTAxIDE1OjU4OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdHMgZm9yIHNobXNpbmsvc2htc3JjCgoyMDEzLTAzLTAxIDAwOjEwOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2UgcGtnZGF0YWRpciBsb2NhbGx5IHRvIGNvbnN0cnVjdCBwYXRoIGZvciBjdXN0b20gaGFhciBjYXNjYWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEzLTAxLTMwIDE0OjM3OjE4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIG9wZW5jdjogcG9ydCBoYW5kZGV0ZWN0IGVsZW1lbnQgdG8gMS4wIGFuZCBhZGQgdG8gYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMy0wMS0yNyAxOTowNToyNyArMDIwMCAgQW5kb2wgTGkgPGFuZG9sQGFuZG9sLmluZm8+CgoJKiBleHQvb3BlbmN2L2Zpc3QueG1sOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcGFsbS54bWw6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgb3BlbmN2OiBhZGQgaGFuZGRldGVjdCBwbHVnaW4sIGluaXRpYWwgaW1wbGVtZW50YXRpb24KCSAgVGhlIGhhbmRkZXRlY3QgcGx1Z2luIGlzIGZvciBkZXRlY3RpbmcgaGFuZCBnZXN0dXJlcyB1c2luZwoJICBvcGVuY3YuCgkgIEl0IHdhcyBjcmVhdGVkIGluIHRoZSBjb3Vyc2Ugb2YgdGhlIEdvb2dsZSBTdW1tZXIgb2YgQ29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMi0wOS0yNiAxNjowMDozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBBZGQgY3VzdG9tIGFsbG9jYXRvciB0byBhbGxvdyBmb3IgemVyby1jb3B5IHNoYXJlZCBtZW1vcnkgdXNlCgoyMDEzLTAyLTI4IDE4OjEzOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogRG9uJ3QgbGVhayBzb2NrZXQgcGF0aAoKMjAxMy0wMi0yOCAyMDoyMjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIGV4YW1wbGVzOiBpZ25vcmUgbmV3IHRlc3QtdXZjaDI2NCBiaW5hcnkKCjIwMTMtMDItMjggMjA6MTE6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlcG9ydCBlbGVtZW50IGNyZWF0aW9uIGZhaWx1cmVzIGJldHRlciBhbmQgZml4IHVwIExJQlMKCjIwMTMtMDItMjggMjA6MDk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogdXBkYXRlIHNvbWUgZWxlbWVudCBuYW1lcyBmb3IgMS4wCgoyMDEzLTAyLTI4IDIwOjAyOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZmluZCB1bmluc3RhbGxlZCBnc3QtbGliYXYgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cwoKMjAxMy0wMi0yOCAxODo1NDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgbm90IHRlc3RlZCB5ZXQuCgoyMDEzLTAyLTI4IDE4OjUzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGFkZCBsYXlvdXQ9aW50ZXJsZWF2ZWQgdG8gYXVkaW8gY2FwcwoKMjAxMi0xMS0wOCAxMzoyMjo0MSAtMDgwMCAgQmxha2UgVHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogdXNlIE9fQ0xPRVhFQyB3aGVyZSBhcHByb3ByaWF0ZSBpbiBzaG1waXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMzkKCjIwMTMtMDItMjggMTY6NTU6MDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggY2FwcyBsZWFrCgoyMDEzLTAyLTI4IDEzOjI1OjA2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IHVzZSByZWxhdGl2ZSBpbmNsdWRlIGZvciBvdXQtb2YtdHJlZSBidWlsZHMgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI4IDEyOjA0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IGdzdF92aWRlb19zaW5rX2NlbnRlcl9yZWN0KCkgdGFrZXMgdGhlIHN0cnVjdHMgaXRzZWxmIGluc3RlYWQgb2YgcG9pbnRlcnMgYXMgZmlyc3QgcGFyYW1ldGVycwoKMjAxMy0wMi0yOCAxMToyNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYXNwZWN0LXJhdGlvIGlzc3VlcyBjYXVzZWQgYnkgc2NhbGluZyBvbiBSUGkKCjIwMTMtMDItMjcgMjE6MDU6MzggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBFcnJvciBvdXQgaWYgbWVtb3J5IGFyZWEgaXMgc21hbGxlciB0aGFuIGJ1ZmZlcgoKMjAxMy0wMi0yNyAyMDo1Nzo1NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSAgc2htOiBNYWtlIHN1cmUgdG8gbm90IGFsbG9jYXRlIGJsb2NrcyBsYXJnZXIgdGhhbiB0aGUgc2hhcmVkIG1lbSBhcmVhCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNTkKCjIwMTMtMDItMjcgMTg6NTY6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdHMgZm9yIGR0bWZzcmMKCjIwMTMtMDItMjcgMjM6Mjc6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgbm90IHRlc3RlZCB5ZXQuIEEgZ3JlYXQgbnVtYmVyIG9mIHN1cGVyZmx1b3VzIGN1c3RvbQoJICBwYWQgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gaGFybWVkIGluIHRoZSBtYWtpbmcgb2YgdGhpcyBwb3J0LgoKMjAxMy0wMi0yNyAxNjoxNToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEZpeCByZWYgbGVhayBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjcgMTM6MTQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogTWFrZSB0aGUgZ2VuZXJpYyBwa2ctY29uZmlnIGZpbGUgbW9yZSB1c2VmdWwKCjIwMTMtMDItMjMgMDk6MTE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjZGVjOiBVc2UgbmV3IEdTVF9NRU1PUllfRkxBR19DT05USUdVT1VTIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgc3BlY2lmaWMgbWVtb3J5IHR5cGUKCjIwMTMtMDItMTkgMTM6MDA6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGQgYWxsIHN1cHBvcnRlZCB2aWRlbyBmb3JtYXRzIHRvIHRlbXBsYXRlIGNhcHMKCSAgV2Ugbm93IHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9jb21wb3NpdGlvbl9ibGVuZCgpLCBzbyBjYW4gc3VwcG9ydAoJICBhbGwgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhhdCwgbm90IGp1c3QgSTQyMC4KCjIwMTMtMDItMTkgMTE6MjQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBwcm94eSB0aGUgYWxsb2NhdGlvbiBxdWVyeQoJICBQYXNzIGFsbG9jYXRpb24gcXVlcnkgZG93bnN0cmVhbS4KCjIwMTMtMDItMTkgMTE6MTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBkb24ndCBmb3J3YXJkIENBUFMgZXZlbnQgZnJvbSBzdWJ0aXRsZSBwYWQKCSAgTWF5IHJlc3VsdHMgaW4gbm90LW5lZ290aWF0ZWQgZmxvdyBlcnJvcnMgb3RoZXJ3aXNlLgoKMjAxMy0wMi0xNiAwMjo0NDoxOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb250YWN0IGluZm9ybWF0aW9uCgoyMDEzLTAyLTE2IDAyOjM4OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogZml4IGdzdF9idWZmZXJfZ2V0X2NvcmVfbWVkaWFfbWV0YSBtYWNybwoKMjAxMy0wMi0xNiAwMjozNzoxMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0ZW5jIHRvIDEuMAoKMjAxMy0wMi0xNiAwMjozMToyOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogcmVwbGFjZSB1c2FnZSBvZiBkZXByZWNhdGVkIGdzdF9wYWRfc2V0X2NhcHMoKSBpbiB2dGRlYwoKMjAxMy0wMi0xNiAwMjoyNjo1MSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGFwaSB0byBydW4gb24gT1MgWCAxMC44CgoyMDEzLTAyLTE1IDA4OjIwOjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiByZW1vdmUgY2hhbm5lbC1tYXNrIGZyb20gY2FwcwoJICBUaGUgY2hhbm5lbC1tYXNrIGlzIG9ubHkgbmVlZGVkIGZvciBjaGFubmVscz4yIHdoaWNoIHdlIGRvbid0IGRvLgoKMjAxMy0wMi0xNCAxMDo0Mzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IGZpeCBoMjY0IGNhcHMgaW4gbXBlZ3RzbXV4IHRlc3QKCSAgTmVlZHMgdG8gYmUgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSwgbm90IGZvcm1hdD1ieXRlLXN0cmVhbS4KCjIwMTMtMDItMTQgMTA6NDA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICB0ZXN0czogZml4IGZhYWQgdW5pdCB0ZXN0IGZvciBnc3RfY2Fwc19pc19zdWJzZXQoKSBmaXggaW4gY29yZQoJICBOZWVkIHRvIHNwZWNpZnkgdGhlIHN0cmVhbS1mb3JtYXQuCgoyMDEzLTAyLTE0IDA5OjQwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIFJldmVydCAibXBlZzR2aWRlb3BhcnNlOiBzZXQgMCBkdXJhdGlvbiB3aGVuIHZvcF9jb2RlZCBpcyAwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzMjE5YTI2MWE1YTdiNzM0MGI2M2M4MDAxMDAwOWE3M2IwMzI3NTkuCgkgIHZvcF9jb2RlZCAwIG1lYW5zIHRoYXQgdGhlIHByZXZpb3VzIGZyYW1lIHNob3VsZCBiZSByZXBlYXRlZCwKCSAgc28gaXQgc2hvdWxkIGhhdmUgdmFsaWQgZHVyYXRpb24gYWZ0ZXIgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTY5CgoyMDEzLTAyLTE0IDA5OjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkgIGluc2VydGJpbjogbWFyayBhcyB1bnN0YWJsZSBBUEkKCjIwMTMtMDItMTQgMDk6MDI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBmaXggdXAgZ3RrLWRvYyBjaHVuayBhbmQgYWRkIHNpbmNlIG1hcmtlcnMKCjIwMTMtMDItMTMgMTU6MDA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHRlc3RzOiBwb3J0IHV2Y2gyNjQgdGVzdCB0byAxLjAKCSAgRml4ZXMgJ21ha2UgY2hlY2snIGJ1aWxkLgoKMjAxMy0wMi0xMyAxNToyMDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBDbG9zZSB0aGUgZGlzcG1hbiBkaXNwbGF5IG9uIFJQaSBhZnRlciB1c2FnZQoKMjAxMy0wMi0xMyAxNTowOTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRm9yIFJQaSwgaW5pdGlhbGl6ZSBiY21faG9zdCBpbiBwbHVnaW5faW5pdCgpCgoyMDEzLTAyLTEzIDE1OjA2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY2hlY2sgZm9yIGFsbCB0aGUgcmVxdWlyZWQgbGlicmFyaWVzIGFuZCBoZWFkZXJzIGZvciBSUGkKCjIwMTMtMDItMTMgMTI6NTE6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSBjb21wbGV0ZSBhbmQgdmFsaWQgY2FwcyBpbiB0aGUgdGVzdHMKCjIwMTMtMDItMTIgMTg6MzY6MTAgKzAxMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGJjbS9SYXNwYmVycnkgUGkgc3VwcG9ydC4KCSAgVGhpcyBhZGRzIGEgdmlkZW8gcGxhdGZvcm0gYmFja2VuZCBmb3IgdGhlIGRpc3BtYW54IGRpc3BsYXkgbWFuYWdlciB1c2VkIGJ5CgkgIGJyb2FkY29tIGFuZCB0aGUgUmFzcGJlcnJ5IFBpLgoJICBTaWduZWQtb2ZmLWJ5OiBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoyMDEzLTAyLTEyIDE4OjExOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogRGVjbGFyZSB0aGUgd2lkdGgvaGVpZ2h0IG91dHNpZGUgdGhlIGxvb3AKCSAgQWxzbyBpbml0aWFsaXplIHRoZW0gdG8gbWFrZSBnY2MgaGFwcHkKCjIwMTMtMDEtMjggMjI6NDI6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBBZGQgcG5nIGZpbGUgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2MzkKCjIwMTMtMDItMTEgMTY6MzU6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFVucmV2ZXJ0OiBtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0CgkgIEFQSSBpcyBub3cgaW4gYmFzZXBhcnNlIGluIGdzdHJlYW1lci4KCSAgVGltZXN0YW1wcyBpbiBNUEVHLVRTIHN0cmVhbXMgYXJlIGJhc2VkIG9uIHRoZSBsYXN0IHRpbWVzdGFtcAoJICBiZWZvcmUgdGhlIHN0YXJ0IGNvZGUgb2YgdGhlIHBpY3R1cmUuICBHc3RCYXNlUGFyc2Ugc2V0cyB0aGUKCSAgdGltZXN0YW1wIGJhc2VkIG9uIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIGhlYWRlciwgaWYKCSAgb25lIGV4aXN0cyBiZWZvcmUgdGhlIHBpY3R1cmUuICBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHRoZQoJICB0aW1lc3RhbXAgb2NjdXJzIGluIHRoZSBNUEVHLVRTIHN0cmVhbSBiZXR3ZWVuIHRoZSBzZXEgaGVhZGVyCgkgIGFuZCBwaWN0dXJlIHN0YXJ0IGNvZGUuCgoyMDEzLTAyLTA3IDE1OjQyOjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSAgeWFkaWY6IEFkZCBtb2RlIHByb3BlcnR5CgkgIENvcHkgbW9kZSBmcm9tIGRlaW50ZXJsYWNlIGVsZW1lbnQuICBJc24ndCBhY3R1YWxseSBpbXBsZW1lbnRlZAoJICBpbiB5YWRpZiwgZXZlcnkgZnJhbWUgaXMgZGVpbnRlcmxhY2VkLCBzbyBlZmZlY3RpdmVseSBtb2RlPTEuCgoyMDEzLTAyLTEyIDExOjQ3OjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBub24teDg2XzY0IGJ1aWxkcwoKMjAxMy0wMi0xMiAxMToyNDo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFkZCBwYXJzZWQ9ZmFsc2UgdG8gbXBlZzIgY2FwcwoKMjAxMy0wMi0xMiAxMDozOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJICBnbGliLWNvbXBhdC1wcml2YXRlLmg6IHJlbW92ZSBvbGQgR1N0YXRpY1JlY011dGV4IHN0dWZmCgkgIEJyZWFrcyB0aGUgYnVpbGQgd2l0aCBuZXdlciBHTGlicyAoInVua25vd24gdHlwZSBHU3RhdGljUmVjTXV0ZXgiKQoJICBhbmQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZS4KCjIwMTMtMDItMTIgMDk6Mzg6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYzNzE4ZGE5MTliNmEzZGFhMDRhNjZkYTFiZTRkYjU0ZTA3Nzg4OTguCgkgIFRoZSByZXF1aXJlZCBiYXNlcGFyc2UgQVBJIGFkZGl0aW9uIGhhcyBub3QgYmVlbiBwdXNoZWQgeWV0LAoJICB3aGljaCBicmVha3MgdGhlIGJ1aWxkLgoKMjAxMy0wMi0xMSAxNzo1ODozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IGluY3JlYXNlIG1pbiBzaXplIGZvciBwaWN0dXJlIGNvZGluZyBleHQKCSAgVGhpcyBjb3VsZCB1c2UgYWRkaXRpb25hbCB3b3JrLiAgVGhlIHBhcnNpbmcgY29kZSBvdmVycnVucyB0aGUKCSAgZW5kIG9mIGJ1ZmZlcnMgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24sIHRyaWdnZXJpbmcgR1NUX1dBUk5JTkdzLgoKMjAxMy0wMi0xMSAxNzozOToyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogcXVpZXQgZGVidWdnaW5nIHdoZW4gbWZjIGRldmljZSBkb2Vzbid0IGV4aXN0CgkgIEF2b2lkIHJlZ2lzdGVyaW5nIHRoZSBlbGVtZW50IGlmIHRoZSBtZmMgZGV2aWNlIGRvZXNuJ3Qgd29yaywKCSAgYnV0IGFsbG93IHBsdWdpbiBsb2FkaW5nIHRvIHN1Y2NlZWQuCgoyMDEzLTAyLTExIDE2OjM1OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0CgkgIFRpbWVzdGFtcHMgaW4gTVBFRy1UUyBzdHJlYW1zIGFyZSBiYXNlZCBvbiB0aGUgbGFzdCB0aW1lc3RhbXAKCSAgYmVmb3JlIHRoZSBzdGFydCBjb2RlIG9mIHRoZSBwaWN0dXJlLiAgR3N0QmFzZVBhcnNlIHNldHMgdGhlCgkgIHRpbWVzdGFtcCBiYXNlZCBvbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZXF1ZW5jZSBoZWFkZXIsIGlmCgkgIG9uZSBleGlzdHMgYmVmb3JlIHRoZSBwaWN0dXJlLiAgVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB0aGUKCSAgdGltZXN0YW1wIG9jY3VycyBpbiB0aGUgTVBFRy1UUyBzdHJlYW0gYmV0d2VlbiB0aGUgc2VxIGhlYWRlcgoJICBhbmQgcGljdHVyZSBzdGFydCBjb2RlLgoKMjAxMy0wMi0xMSAyMzo0NjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSAgeWFkaWY6IGZpeCBkaXN0Y2hlY2sKCjIwMTMtMDItMTEgMjM6Mjk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogTWFrZWZpbGUuYW06CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgIHN3ZmRlYzogcmVtb3ZlCgkgIFRoZSBzd2ZkZWMgcHJvamVjdCBpcyBkZWFkLCBhbmQgdGhpcyBwbHVnaW4gd2FzCgkgIG5ldmVyIHJlYWxseSB1c2VmdWwgYmVjYXVzZSBvZiB0aGUgd2F5IHN3ZiB3b3Jrcy4KCSAgUmVtb3ZlIGl0IGJlZm9yZSBzb21lb25lIGFjY2lkZW50YWxseSBwb3J0cyBpdC4KCjIwMTMtMDItMTEgMjI6NTA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nLy5naXRpZ25vcmU6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBBZGQgY29nIHRvIGNydWZ0IGxpc3QgYW5kIHJlbW92ZSBzb21lIG1vcmUgbGVmdG92ZXIgZmlsZXMKCjIwMTMtMDItMTEgMjI6NDA6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkgIHlhZGlmOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTMtMDItMDMgMTQ6MzI6MjcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NCB0ZXN0OiBVc2Ugc3RyaW5nIGluc3RlYWQgb2YgZm91cmNjIGluIGdsYWRlIGNhcHMKCjIwMTMtMDItMDMgMTQ6MzE6NTAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBSZW1vdmUgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgoyMDEzLTAyLTAzIDE0OjMxOjEzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogQWRkIGltYWdlL2pwZyB0byB2ZnNyYyBhbmQgdmlkc3JjIGNhcHMKCjIwMTMtMDItMDMgMTQ6MzA6MzYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0OiBGaXggTlYyMSB2cyBOVjEyIHR5cG8KCjIwMTMtMDItMDIgMTQ6MTY6NDAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBQYXNzIHRocm91Z2ggdGhlIGZpbHRlciBvbiB0aGUgY2FwcyBxdWVyeQoKMjAxMy0wMS0xOCAyMzoyMzo1NiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0OiBSZW1vdmUgdGhlIF8gZnJvbSB0aGUgZWxlbWVudCBuYW1lcwoJICBSZW5hbWUgdXZjaDI2NF9zcmMgdG8gdXZjaDI2NHNyYyBhbmQgdXZjaDI2NF9tanBnZGVtdXggdG8KCSAgdXZjaDI2NG1qcGdkZW11eAoKMjAxMy0wMS0xOCAyMzoxNjozMSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYXJrIHV2Y2gyNjQgYXMgcG9ydGVkCgoyMDEzLTAxLTE4IDIzOjE0OjI3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQ6IFBvcnQgdGVzdCB0byBnc3RyZWFtZXIgMS4wCgoyMDEzLTAxLTE4IDIyOjQ5OjE5ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogUG9ydCB0byBnc3RyZWFtZXIgMS4wCgoyMDEyLTA1LTAzIDIwOjM2OjI3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEFkZCBhdXRvLXN0YXJ0IHByb3BlcnR5IHRvIGJhc2VjYW1lcmFiaW4KCjIwMTMtMDItMTEgMTI6NTE6MDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSBsYXN0IHJlbW5hbnRzCgoyMDEzLTAyLTA3IDE1OjA5OjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmX3RlbXBsYXRlLmM6CgkgIHlhZGlmOiBBZGQgWUFESUYgZGVpbnRlcmxhY2luZyBmaWx0ZXIKCSAgQ29kZSBjb3BpZWQgZnJvbSBMaWJhdiwgY29tbWl0IDI2ZTRmMGM3MC4gIFdpbGwgZXZlbnR1YWxseSBiZQoJICBtb3ZlZCB0byAtdWdseSBiZWNhdXNlIHVuZGVybHlpbmcgY29kZSBpcyBHUEwuCgoyMDEzLTAyLTA3IDE0OjMzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogQWRkIFk0MkIgYW5kIFk0NDQgZm9ybWF0cwoKMjAxMy0wMi0wNyAxMToxNTowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LWFwcC1tYWtlci9nc3QtZWxlbWVudC1tYWtlcjogMS4wIHVwZGF0ZXMKCjIwMTMtMDItMTEgMTI6MjU6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLmg6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3RhYmxlcy5jOgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSAgY29nOiByZW1vdmUgY29nIHBsdWdpbgoJICBFdmVyeXRoaW5nIGhhcyBiZWVuIG1lcmdlZCBpbnRvIG90aGVyIGVsZW1lbnRzLgoKMjAxMy0wMi0xMSAyMDoyNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCB0YWdsaXN0IGxlYWsKCSAgRG9uJ3QgbGVhayBkZW11eGVyIHRhZyBsaXN0LgoKMjAxMy0wMi0xMSAyMDoxNzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIHRlc3RzOiBmaXggbXhmZGVtdXggcHVsbCB1bml0IHRlc3QgaGFuZ2luZyBmb3JldmVyCgkgIE91ciB0ZXN0IHNvdXJjZSBwYWQgbmVlZHMgdG8gYW5zd2VyIFNDSEVEVUxJTkcgcXVlcmllcwoJICBwcm9wZXJseSBmb3IgbXhmZGVtdXggdG8gYWN0aXZhdGUgaW4gcHVsbCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxODQzCgoyMDEzLTAyLTExIDE5OjUzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHB1c2ggbW9kZSB1bml0IHRlc3QgZmFpbHVyZQoJICBJbiB0aGUgc2luayBldmVudCBoYW5kbGVyIHdlIGVuZCB1cCBzZW5kaW5nIG11bHRpcGxlIEVPUwoJICBldmVudHMgcGVyIHBhZC4gRG9uJ3QgcmV0dXJuIEZBTFNFIHdoZW4gc2VuZGluZyB0aGUKCSAgc2Vjb25kIEVPUyBvbiBhbiBhbHJlYWR5LUVPUyBwYWQgZmFpbHMuIE5vdCBzdXJlIGlmIHRoZXJlCgkgIHdhcyBhIHJlYXNvbiBmb3Igc2VuZGluZyBhIHNlY29uZCBFT1MsIHNvIGxlYXZpbmcgdGhlCgkgIGNvZGUgaW4gdGhlcmUgZm9yIG5vdywgYnV0IGFzc3VtZSBhbGwgd2VudCBmaW5lIGlmIHRoZXJlCgkgIGFyZSBzb3VyY2UgcGFkcywgd2hpY2ggaXMgc2xpZ2h0bHkgbGVzcyB3cm9uZyB0aGFuIGJlZm9yZS4KCSAgVGhpcyBmdW5jdGlvbiBuZWVkcyB3b3JrLgoKMjAxMy0wMi0xMSAxMjozNDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBkdG1mIHRlc3QgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTMtMDItMTEgMTI6MzQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBhY3R1YWxseSBsb2cgZ2VuZXJpYyBkYXRhcHJvdG9jb2wgc3R1ZmYgdG8gZ2RwIGNhdGVnb3J5CgoyMDEzLTAyLTA5IDIwOjIyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTA5IDE5OjUzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMDkgMTk6NDk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobTogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0xMSAxMTowNjozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogY2xlYXIgdGhlIHN0YXRlIG9mIHRoZSBkZWNvZGVyCgkgIFNldCB0aGUgY2hhbm5lbHMgYW5kIHJhdGUgYmFjayB0byB0aGVpciBkZWZhdWx0IHZhbHVlcyBpbiBfc3RvcCBiZWNhdXNlIHRoZXkKCSAgYXJlIHVzZWQgdG8gcmVuZWdvdGlhdGUgd2hlbiBuZWVkZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTUwCgoyMDEzLTAyLTA3IDExOjUyOjIzICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IC0+IEdNdXRleAoJICBFbGVtZW50IG5lZWRzIHBvcnRpbmcgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA5IDE4OjQ2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBmaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHTGliIHZlcnNpb25zCgkgIHRoYXQgZG9uJ3QgaW5jbHVkZSBwdGhyZWFkLmggYW55IG1vcmUgZnJvbSBwdWJsaWMgaGVhZGVycy4KCSAgV2UgY291bGQganVzdCBmaXggdGhpcyBieSBpbmNsdWRpbmcgcHRocmVhZC5oIG91cnNlbHZlcywKCSAgYnV0IHdlIG1heSBqdXN0IGFzIHdlbGwgdXNlIGF0b21pYyBvcHMgZm9yIHRoaXMgYW5kCgkgIHNpbXBsaWZ5IHRoZSBjb2RlIGEgbGl0dGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDExOjU0OjM4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBkZXByZWNhdGVkIEdTdGF0aWNSV0xvY2sgLT4gR1JXTG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDExOjU0OjA2ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJICBjaHJvbWFob2xkOiBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCAtPiBHTXV0ZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMDo1Mjo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBnc3QtYXBwLW1ha2VyOiBjb252ZXJ0IHRvIDEuMAoKMjAxMy0wMi0wOCAwMDowNjoxNiArMTEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeCBidWZmZXIgbGVhayB3aGVuIG5ldyBjYXBzIGFyZSBzYW1lIGFzIG9sZCBjYXBzCgkgIFRoZSBsZWFrIG9jY3VycyB3aGVuIHlvdSBnb3QgYSBtZXNzYWdlIHdpdGggaWRlbnRpY2FsIGNhcHMgdG8gdGhlIG9uZXMgeW91CgkgIGFscmVhZHkgaGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzI0CgoyMDEyLTEwLTAyIDExOjAyOjMyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgcHJvZmlsZSBlbnVtcy4KCSAgQWRkIGFsbCB1c2VmdWwgcHJvZmlsZXMgZnJvbSBBVkMsIE1WQyBhbmQgU1ZDIHNwZWNpZmljYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTQwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMDcgMjI6MjY6MTUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJICBkdmRzcHU6IEZpeCB0aGUgcmVuZGVyaW5nIG9mIFBHUyB3aW5kb3dzIHdpdGggbGVmdCAhPSAwCgkgIFdoZW4gcmVuZGVyaW5nIGEgUEdTIHdpbmRvdyBhcmVhIHdoZXJlIHRoZSBsZWZ0IGVkZ2UgaXMgbm90IGF0CgkgIHBpeGVsIDAsIHRoZSBjaHJvbWEgd2FzIGJlaW5nIHJlbmRlcmVkIGluIHRoZSB3cm9uZyBwbGFjZSBzaW5jZQoJICBjb21taXQgNGRjNjQ4ZDM0MzBiNjc1OTJjZjE0MTNjY2VmNDE1ZjcwODg5ZDcxZQoKMjAxMy0wMi0wNyAxMTozMToxMiArMDAwMCAgVGltIEFuc2VsbCA8Z25vbWUgYXQgbWl0aGlzLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IGZpeCBsZWFrcyBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMDAKCjIwMTMtMDItMDcgMDg6NDE6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJICBmcmVldmVyYjogcG9ydCB0byAxLjAKCjIwMTMtMDEtMDkgMTM6MzE6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBjb21tZW50cyBmb3IgbW9ub3Njb3BlIHBvcnRpbmcKCjIwMTMtMDItMDYgMTU6NDg6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gZm9yIHRydWUgaW50ZXJsYWNlZCBtb2RlcwoKMjAxMy0wMi0wNiAxMjozNTozNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSBzb21ld2hhdCBmb3IgMS4wCgkgIE9ubHkgY29udmVydGVkIGJhc2V0cmFuc2Zvcm0gZm9yIHRoZSBtb21lbnQuICBJdCdzIHByb2JhYmx5IGVhc2llcgoJICB0byB3cml0ZSB0ZW1wbGF0ZXMgZnJvbSBzY3JhdGNoIGZyb20gdGhlIGRvY3VtZW50YXRpb24uCgoyMDEzLTAyLTA1IDExOjU2OjQ2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcy4KCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnemFnIHNjYW4KCSAgb3JkZXIgKGFzIGVuY29kZWQgaW4gdGhlIGJpdHN0cmVhbSkgaW50byByYXN0ZXIgc2NhbiBvcmRlci4gQWxzbyBwcm92aWRlCgkgIGFub3RoZXIgZnVuY3Rpb24gdG8gcmV2ZXJzZSB0aGUgb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDAwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTY6MTM6MjIgKzA4MDAgIENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IHN0b3JlIHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbiB6aWd6YWcgc2NhbiBvcmRlci4KCSAgUXVhbnRpemVyIG1hdHJpY2VzIGFyZSBlbmNvZGVkIGluIHppZ3phZyBzY2FuIG9yZGVyIGluIHRoZSBiaXRzdHJlYW0sCgkgIGJ1dCB0aGV5IGFyZSBzdG9yZWQgaW4gcmFzdGVyIHNjYW4gb3JkZXIgd2hlbiB0aGV5IGFyZSBwYXJzZWQuIEhvd2V2ZXIsCgkgIGRlZmF1bHQgbWF0cmljZXMgd2VyZSBhbHNvIHByZXBhcmVkIGluIHppZ3phZyBzY2FuIG9yZGVyLCBoZW5jZSB0aGUKCSAgbWlzbWF0Y2guIGkuZS4gdGhlIG1hdHJpY2VzIHdlcmUgcHJlc2VudGVkIGVpdGhlciBpbiByYXN0ZXIgc2NhbiBvcmRlcgoJICBpZiB0aGV5IGFyZSBleHBsaWNpdGx5IHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSwgb3IgdGhleSB3ZXJlIHByZXNlbnRlZAoJICBpbiB6aWd6YWcgc2NhbiBvcmRlciBpZiB0aGUgZGVmYXVsdCBkZWZpbml0aW9ucyB3ZXJlIHRvIGJlIHVzZWQgaW5zdGVhZC4KCSAgT25lIHdheSB0byBzb2x2ZSB0aGlzIHByb2JsZW0gaXMgdG8gYWx3YXlzIGV4cG9zZSB0aGUgcXVhbnRpemF0aW9uCgkgIG1hdHJpY2VzIGluIHppZ3phZyBzY2FuIG9yZGVyLCBzaW5jZSB0aGlzIGlzIHRoZSByb2xlIG9mIHRoZSBwYXJzZXIgdG8KCSAgbm90IGJ1aWxkIHVwIHN0b3JpZXMgZnJvbSB0aGUgc291cmNlIGJpdHN0cmVhbSBhbmQganVzdCBwcmVzZW50IHdoYXQKCSAgaXMgaW4gdGhlcmUuCgkgIFV0aWxpdHkgZnVuY3Rpb25zIHdpbGwgYmUgcHJvdmlkZWQgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4KCSAgZWl0aGVyIHNjYW4gb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDAKCSAgU2lnbmVkLW9mZi1ieTogQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTA1IDIzOjA3OjEyICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBleHBvc2UgVkMxIHN0cmVhbXMgd2l0aCBtaXNzaW5nIGRlc2NyaXB0b3IuCgkgIEZpeGVzIHBsYXliYWNrIG9mIFZDMSBzdHJlYW1zIHdoZW4gdGhlIGRlc2NyaXB0b3IgaXMgbWlzc2luZy4KCjIwMTMtMDItMDUgMTc6MzQ6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGhhbmRsZSBFSU5UUiBmcm9tIHBvbGwKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzIxMgoKMjAxMC0xMi0yNyAyMzoyMToxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0ZWxlY2luZSBwYXR0ZXJucwoKMjAxMS0wMS0xMCAxMDozNjo0MyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgbW9yZSB2ZXJib3NlIGhpbnRzIGFib3V0IGZpZWxkIHBhdHRlcm5zCgoyMDEzLTAyLTA0IDE4OjA3OjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgZGVzY3JpcHRvcnMgZm9yIFNNUFRFIDMwMm0gYXVkaW8KCjIwMTMtMDItMDIgMTg6NDQ6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogc2VwYXJhdGUgZmllbGRzIGZvciBkaXN0aW5jdCBmdW5jdGlvbmFsIHVzZXMgb2YgY29kZWNfZGF0YSBmaWVsZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg5CgoyMDEzLTAxLTMxIDEyOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiBmaXggdGltZXN0YW1wcwoJICBDb3B5IHRpbWVzdGFtcHMgdG8gcGF5bG9hZGVkIGJ1ZmZlci4KCSAgQXZvaWQgaW5wdXQgYnVmZmVyIG1lbW9yeSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTI5CgoyMDEzLTAxLTMwIDA5OjMzOjQ5ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWxsb3cgY2FsbGluZyBmcm9tIG91dC1vZi10cmVlCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyODU5CgoyMDEzLTAxLTI4IDIwOjQyOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOTQyMjkzIHRvIDJkZTIyMWMKCjIwMTMtMDEtMjggMTQ6MTI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY3Jhc2ggd2hlbiBzZXR0aW5nICJjYnIiIHByb3BlcnR5IHdoZW4gZW5jb2RlciBpcyBub3QgcnVubmluZyB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjY5OAoKMjAxMy0wMS0yNiAyMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwZHRtZnNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2R0bWZfc3JjX3ByZXBhcmVfbWVzc2FnZS5pc3JhLjEnOgoJICBnc3RydHBkdG1mc3JjLmM6NjY5OjM6IGVycm9yOiAncycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEzLTAxLTI1IDIxOjA2OjA1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogRml4IG1pc3Npbmcgd29yayBpbiBkb2MKCjIwMTMtMDEtMjQgMjE6MDA6MDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZkZXBheSBhbmQgcnRwZHRtZnNyYwoKMjAxMy0wMS0yNSAyMDozOTozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUG9zdCB0aGUgbWVzc2FnZXMgYWZ0ZXIgdGhlIGNsb2NrIHdhaXQKCSAgVGhpcyB3YXksIHRoZSBtZXNzYWdlcyB3aWxsIGJlIGNsb3NlciBpbiB0aW1lIHRvIHdoZW4gdGhlIHBhY2tldHMgYXJlIHNlbnQgb3V0CgoyMDEzLTAxLTI1IDIwOjM3OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBPbmx5IHNldCB0aGUgZHVyYXRpb24gd2hlbiBzdGFydGluZyB0byBzZW5kCgkgIFRoZSBkdXJhdGlvbiBkZXBlbmRzIG9uIHRoZSBjbG9jayByYXRlLCB3aGljaCBjb3VsZCBjaGFuZ2UgZHVlIHRvIHJlbmVnb3RpYXRpb24KCjIwMTMtMDEtMjUgMjA6Mzc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IHJlbW92ZSAic3NyYyIgZnJvbSBjYXBzCgkgIHNzcmMgaXMgdWludCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHVpbnQgcmFuZ2UgdHlwZQoKMjAxMy0wMS0yNSAxNTo0NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggaW5zZXJ0YmluIGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIE1ha2Ugc3VyZSBwa2ctY29uZmlnIGluIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vIGNhbiBmaW5kCgkgIHRoZSB1bmluc3RhbGxlZCBjb3JlL2Jhc2UgcHJvcGVybHkuIEZpeGVzIGJ1aWxkIG9mCgkgIGluc2VydGJpbiBpbiB1bmluc3RhbGxlZCBzZXR1cCBpZiB0aGVyZSBhcm4ndCBhbnkKCSAgaW5zdGFsbGVkIGdpciBmaWxlcyB0byBmYWxsIGJhY2sgdG8uCgoyMDEzLTAxLTI1IDEyOjI0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGluc2VydGJpbiwgdGVzdHM6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAxLTI0IDE4OjE0OjI4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoRElGRjYgb3IgTk9STTYgcmVzaWR1YWwgYnl0ZXMpLgoJICBGaXggcGFyc2luZyBvZiByZXNpZHVhbCBieXRlcy4gVGhpcyBpcyBhIHR3by1zdGVwIHByb2Nlc3MuIEZpcnN0LAoJICByZW1haW5pbmcgY29sdW1zIG9mIGZ1bGwgdmVydGljYWwgcmVzb2x1dGlvbiAoPGhlaWdodD4pIG5lZWQgdG8gYmUKCSAgcHJvY2Vzc2VkLiBOZXh0LCByZW1haW5pbmcgYnl0ZXMgaW4gdGhlIGZpcnN0IHJvdyBjYW4gYmUgcHJvY2Vzc2VkLAoJICB3aGlsZSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBmYWN0IHRoYXQgd2UgbWF5IGhhdmUgZmlsbGVkIGluIHRoZQoJICBmaXJzdCBjb2x1bW5zIGFscmVhZHkuIFNvLCB0aGlzIGlzIG5vdCBmdWxsIGhvcml6b250YWwgcmVzb2x1dGlvbi4KCSAgVGhlIGZvbGxvd2luZyBmaWd1cmUgaGVscHMgaW4gdW5kZXJzdGFuZGluZyB0aGUgZXhwZWN0ZWQgb3JkZXIgb2YKCSAgb3BlcmF0aW9ucywgZm9yIGEgOHg1IE1CcyBiaXRwbGFuZS4KCSAgNSA1IDYgNiA2IDYgNiA2CgkgIDUgNSAxIDEgMSAyIDIgMgoJICA1IDUgMSAxIDEgMiAyIDIKCSAgNSA1IDMgMyAzIDQgNCA0CgkgIDUgNSAzIDMgMyA0IDQgNAoJICBTbywgYWZ0ZXIgdGlsZXMgMSB0byA0IGFyZSBkZWNvZGVkLCB2ZXJ0aWNhbCB0aWxlIDUgbmVlZHMgdG8gYmUKCSAgcHJvY2Vzc2VkICgyeDUgTUJzKSBhbmQgdGhlbiB0aGUgaG9yaXpvbnRhbCB0aWxlIDYgKDZ4MSBNQnMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDYxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjQgMTc6Mjg6MjIgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChESUZGNiBvciBOT1JNNikuCgkgIEZpeCBkZWNvZGluZyBvZiBESUZGNiBvciBOT1JNNiBiaXRwbGFuZXMgd2l0aCBhbiBvZGQgbnVtYmVyIG9mIGxpbmVzCgkgICgzeDIgImhvcml6b250YWwiIHRpbGVzKS4gSW4gdGhpcyBjYXNlLCB3ZSBoYXZlIHRvIHNraXAgdGhlIGZpcnN0IGxpbmUKCSAgb2YgbWFjcm9ibG9ja3MgYnV0IDx3aWR0aD4gbnVtYmVyIG9mIGJ5dGVzIHdhcyB1c2VkIHRvIGRvIHNvLCBpbnN0ZWFkCgkgIG9mIHRoZSBhY3R1YWwgPHN0cmlkZT4gc2l6ZS4KCSAgVGhpcyBmaXhlcyBkZWNvZGluZyBmb3IgdGhlIHZpZGVvIHNhbXBsZSBhdHRhY2hlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODU2NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDYxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDMtMTUgMTQ6MTI6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBZGQgYmluIHRvIGR5bmFtaWNhbGx5IGluc2VydCBlbGVtZW50cyBpbiBhIHJ1bm5pbmcgcGlwZWxpbmUKCSAgVGhpcyBlbGVtZW50IGF1dG9tYXRpY2FsbHkgbGlua3MgaW4gYW55IGVsZW1lbnQgYWRkZWQgdXNpbmcgaXQncwoJICBhY3Rpb24gc2lnbmFscy4gVGhlc2UgZWxlbWVudHMgbXVzdCBoYXZlIGEgc2luZ2xlIHNvdXJjZSBwYWQgYW5kIGEgc2luZ2xlCgkgIHNpbmsgcGFkLgoKMjAxMy0wMS0yMyAxNDo0Nzo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGFkZCBBUEkgdG8gcGFyc2Ugc2xpY2UgaGVhZGVycy4KCSAgQWRkIGdzdF92YzFfcGFyc2Vfc2xpY2VfaGVhZGVyKCkgZnVuY3Rpb24gdG8gcGFyc2Ugc2xpY2UgaGVhZGVycyBhcwoJICBkZXNjcmliZWQgaW4gNy4xLjIuIFNsaWNlIGxheWVycyBhcmUgb3B0aW9uYWwgYW5kIGFsbG93ZWQgaW4gYWR2YW5jZWQKCSAgcHJvZmlsZSBtb2RlIG9ubHkuIFBpY3R1cmUgaGVhZGVyLCBpZiBhdmFpbGFibGUgKFBJQ19IRUFERVJfRkxBRyksCgkgIGlzIHBhcnNlZCBidXQgbm90IHJlY29yZGVkIGJlY2F1c2UgaXQgc2hhbGwgYmUgdGhlIHNhbWUgYXMgdGhhdCB3YXMKCSAgcHJldmlvdXNseSBwYXJzZWQgd2l0aCBnc3RfdmMxX3BhcnNlX2ZyYW1lX2hlYWRlcigpLgoJICBUaGlzIGZpeGVzIFNBMDAwNDkudmMxIGNvbmZvcm1hbmNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzODgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxODowMToyNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcuCgkgIEZpeCBkZWNvZGluZyBvZiBESUZGMiBvciBOT1JNMiBiaXRwbGFuZXMgd2l0aCBhbiBvZGQgbnVtYmVyIG9mIG1hY3JvYmxvY2tzLgoJICBJbiBwYXJ0aWN1bGFyLCBhY2NvdW50IGZvciB0aGUgZmlyc3QgYml0IHRoYXQgd2FzIGFscmVhZHkgcGFyc2VkIHNvIHRoYXQgdG8KCSAgYXZvaWQgYSBidWZmZXIgb3ZlcmZsb3cgYWZ0ZXIgYWxsIHBhaXJzIGFyZSBwYXJzZWQuCgkgIFRoaXMgZml4ZXMgU0EwMDA0MC52YzEgY29uZm9ybWFuY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjMxMgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDE5OjMxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZGlzYWJsZSBNRkMgaWYgc29tZSB2NGwyIFBJWF9GTVQgbWlzc2luZwoKMjAxMy0wMS0yMiAxMTo0Mjo0OSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHNpbXBsaWZ5IEdzdFZDMVZvcERxdWFudCBzdHJ1Y3R1cmUuCgkgIFJlbmFtZSBkcXNiZWRnZSB0byBkcWJlZGdlLiBUaGUgaW50ZW50IGlzIHRoYXQgd2UgY2FuIG9ubHkgaGF2ZSBhIHNpbmdsZQoJICBib3VuZGFyeSBlZGdlIHNlbGVjdG9yLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGRxcHJvZmlsZS4gU28sIGRxYmVkZ2UKCSAgcmVwcmVzZW50cyBEUVNCRURHRSBpZiBkcXByb2ZpbGUgPT0gR1NUX1ZDMV9EUVBST0ZJTEVfU0lOR0xFX0VER0UsIG9yCgkgIERRREJFREdFIGlmIGRxcHJvZmlsZSA9PSBHU1RfVkMxX0RRUFJPRklMRV9ET1VCTEVfRURHRS4KCSAgVGhlIGZvcm1lciBkcWJlZGdlIGZpZWxkIGlzIG1hcmtlZCBhcyB1bnVzZWQgYW5kIGNhbiBiZSByZW1vdmVkIG9uIHRoZQoJICBuZXh0IGdzdC1wbHVnaW5zLWJhZCB2ZXJzaW9uIHRoYXQgYWxsb3dzIEFCSSBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMTggMTQ6NTU6NDAgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybHRsc3Npbms6IHNldCBjb3JyZWN0IGxldmVsIG9mIFNTTCBmb3IgdGhlIHRyYW5zZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTAKCjIwMTMtMDEtMjIgMTA6NDg6MzkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggVk9QRFFVQU5UIHBhcnNlciBmb3IgRFFVQU5UID09IDIuCgkgIEZpeCBwYXJzaW5nIG9mIFZPUERRVUFOVCB3aGVuIERRVUFOVCA9PSAyLiBJbiBwYXJ0aWN1bGFyLCBEUVVBTlRGUk0gaXMKCSAgbm90IHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSBpbiB0aGlzIGNhc2UgYW5kIGl0IHNoYWxsIGJlIGRlcml2ZWQgdG8KCSAgdGhlIGRlZmF1bHQgdmFsdWUgb2YgemVybyAoNy4xLjEuMzEuMSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxMDozODoyMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBjYWxjdWxhdGlvbiBvZiBBTFRQUVVBTlQuCgkgIEZpeCBjYWxjdWxhdGlvbiBvZiBBTFRQUVVBTlQgd2hlbiBEUVVBTlQgPT0gMS4gUFFESUZGIGFsdGVycyBBTFRQUVVBTlQKCSAgaW4gYW55IGNhc2UuIFNlZSA3LjEuMS4zMS42LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTA6MTE6MzQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggcGFyc2VyIGZvciBEUVBST0ZJTEUgaW4gVk9QRFFVQU5ULgoJICBGaXggcGFyc2Vfdm9wZHF1YW50KCkgdG8gY29ycmVjdGx5IHBhcnNlIERRUFJPRklMRSwgd2hpY2ggaXMgMiBiaXRzCgkgIGluc3RlYWQgb2YgYSBzaW5nbGUgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjY3CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMDYgMTg6NTQ6NTIgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBpbmZlcnJlZCB2YWx1ZSBmb3Igc2xpY2VfYmV0YV9vZmZzZXRfZGl2Mi4KCSAgVGhlIHN0YW5kYXJkIHNwZWNpZmllcyB0aGF0IHdoZW4gc2xpY2VfYmV0YV9vZmZzZXRfZGl2MiBpcyBub3QgcHJlc2VudAoJICBpbiB0aGUgc2xpY2UgaGVhZGVyLCB0aGVuIHRoZSB2YWx1ZSBvZiBzbGljZV9iZXRhX29mZnNldF9kaXYyIHNoYWxsIGJlCgkgIGluZmVycmVkIHRvIGJlIGVxdWFsIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNjUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0xNyAxOTowMjo0OCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWVuYWJsZSB1bml0IHRlc3RzIGFuZCB1cCByYW5rIHRvIHByaW1hcnkgYWdhaW4KCjIwMTMtMDEtMTggMTY6MTQ6MDMgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiB1c2Ugb3ZlcmxheSBjb21wb3NpdGlvbiB0byBibGl0IHN1YnRpdGxlcyBvbiB2aWRlbyBmcmFtZXMKCSAgUmUtdXNlcyBleGlzdGluZyBibGl0dGluZyBjb2RlIGFuZCBhbHNvIG1lYW5zIHdlIGNhbiBzdXBwb3J0CgkgIGEgbG90IG1vcmUgdmlkZW8gZm9ybWF0cyBvdXQgb2YgdGhlIGJveCwgaGVuY2UgYXZvaWQgdW5uZWNlc3NhcnkKCSAgcGl4ZWwgZm9ybWF0IG9yIGNvbG91ciBzcGFjZSBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODo0ODoxMiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHJlbmRlciBvdmVybGF5IGNvbXBvc2l0aW9uIGlmIHN1cHBvcnRlZCBkb3duc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHJlbmRlcmluZyBBU1Mgc3VidGl0bGVzIG9uIHRvcCBvZiB2aWRlbyB3aGVuCgkgIHVzaW5nIGhhcmR3YXJlLWFjY2VsZXJhdGVkIHZpZGVvIGRlY29kZXJzIGJhc2VkIG9uIGUuZy4KCSAgVkEtQVBJIG9yIFZEUEFVLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4Mzg5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMjEgMTA6MzU6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBhZGQgd2FpdC10ZXh0IHByb3BlcnR5CgkgIFRoaXMgaXMgdGhlIHNhbWUgcHJvcGVydHkgYXMgaW4gdGhlIHBhbmdvIGVsZW1lbnQsIHRvIGFsbG93IHdhaXRpbmcgZm9yCgkgIHRleHQgb24gdGhlIHRleHQgcGFkIGJlZm9yZSByZW5kZXJpbmcgdGhlIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE4IDE1OjI1OjQ4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogZml4IHNvbWUgc3VidGl0bGVzIGJlaW5nIGlnbm9yZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODozMzoxMSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZmFjdG9yIGNvZGUgdG8gYXZvaWQgZHVwbGljYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODoyNjowOCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHByb3h5IGFsbG9jYXRpb25zIG9uIHZpZGVvIHBhZAoJICBGb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBvbiB2aWRlbyBzaW5rIHBhZCBpbnN0ZWFkCgkgIG9mIGRpc2NhcmRpbmcgdGhlbS4KCSAgVGhpcyBhbGxvd3MgdGhlIHVwc3RyZWFtIGVsZW1lbnRzIHRvIHVzZSB0aGUgYWxsb2NhdGlvbgoJICBwYXJhbWV0ZXJzIG9yIHBvb2xzIGZyb20gdGhlIGRvd25zdHJlYW0gZWxlbWVudHMgbGlrZQoJICB2aWRlb3NpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMjAgMTc6NDM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBjbGVhbiB1cCBHVmFsdWUgaGFuZGxpbmcgYSBsaXR0bGUKCSAgQWxsb2NhdGUgR1ZhbHVlcyBvbiB0aGUgc3RhY2ssIGFuZCB1bnNldC9mcmVlIHRoZW0gcHJvcGVybHksIGZpeGluZwoJICBhIGZldyBsZWFrcyBpbiB0aGUgcHJvY2Vzcy4gQWxzbyB1c2UgZ3N0X3N0cnVjdHVyZV90YWtlX3ZhbHVlKCkKCSAgd2hlcmUgYXBwcm9wcmlhdGUgdG8gYXZvaWQgdW5uZWNlc3NhcnkgbGlzdCBjb3BpZXMuCgoyMDEzLTAxLTIwIDE3OjE3OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IHVwZGF0ZSBTQkMgY2FwcyBmb3IgcmVuYW1lZCBmaWVsZHMKCSAgbW9kZSAtPiBjaGFubmVsLW1vZGUKCSAgYWxsb2NhdGlvbiAtPiBhbGxvY2F0aW9uLW1ldGhvZAoKMjAxMy0wMS0xNyAxOToyOTozMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEluaXRpYWxpemUgc2htX2FyZWFfYnVmIHRvIGludmFsaWQgdmFsdWUKCjIwMTMtMDEtMDcgMTM6MzI6MDYgKzAxMDAgIFJvbGFuZCBFbGVrIDxyZWxlay5mMkBnbWFpbC5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBhcHBseSBzaG0gYXJlYSBwZXJtaXNzaW9ucyB0byBzaG1waXBlIGNvbnRyb2wgc29ja2V0CgkgIEFwcGx5IHNoYXJlZCBtZW1vcnkgYXJlYSBwZXJtaXNzaW9ucyB0byB0aGUgY29udHJvbCBzb2NrZXQgKG1vcmUKCSAgcHJlY2lzZWx5LCB0aGUgcGF0aCBpdCBpcyBib3VuZCB0bykgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3NQoKMjAxMy0wMS0xNiAxNDo0MDoxMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IERlZmluZSBMSUJVU0JfQ0xBU1NfVklERU8gaWYgdXNpbmcgYW4gb2xkIHZlcnNpb24gb2YgbGlidXNiCgoyMDEzLTAxLTE2IDE0OjQ4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUHJldmVudCB0ZW1wb3JhcnkgZWxlbWVudHMgZnJvbSBnb2luZyB0byBwbGF5aW5nCgoyMDEzLTAxLTE2IDE0OjQyOjM4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogZG8gbm90IGRvdWJsZS11bnJlZiBpZiB0cmFuc2Zvcm1fY2FwcyBmYWlscwoKMjAxMy0wMS0xNiAxNDo0MTowOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IEFkZCBhIGZha2VzaW5rIHRvIHRoZSB0cmFuc2Zvcm1fY2FwcyBTb21lIHZlcnNpb24gb2YgYmFzZXRyYW5zZm9ybSB3aWxsIHJldHVybiB0aGUgdGVtcGxhdGUgY2FwcyBpZiB0aGUgc3JjIHBhZCBpcyBub3QgbGlua2VkLCBzbyB0aGUgY2Fwc2ZpbHRlciB3aWxsIHJldHVybiBBTlkuIExpbmtpbmcgaXQgdG8gZmFrZXNpbmsgYWxsb3dzIHVzIHRvIHJldHVybiB0aGUgcmlnaHQgY2FwcyBpbiB0aGUgY2Fwc2ZpbHRlciBhbmQgaGF2ZSB0aGVtIHRyYW5zZm9ybWVkIGJ5IHRoZSBjb2xvcnNwYWNlIGNvbnZlcnRlci4KCjIwMTMtMDEtMTUgMTU6MDI6MzcgKzAxMDAgIE1hcnRpbiBQaXR0IDxtYXJ0aW5waXR0QGdub21lLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIF8xXzAgdmFyaWFudHMgZm9yIHRoZSB2YXJpb3VzIHJlZ2lzdHJ5IHZhcmlhYmxlcwoJICBUaGVzZSBvdmVycmlkZSB0aGUgdmFyaWFudHMgd2l0aG91dCB2ZXJzaW9uIHN1ZmZpeC4gTWFrZXMgJ21ha2UgY2hlY2snIHdvcmsKCSAgcHJvcGVybHkgaW4gZW52aXJvbm1lbnRzIHRoYXQgc2V0IHRoZSBzdWZmaXhlZCB2YXJpYW50IGZvciAxLjAsIHN1Y2ggYXMKCSAgamhidWlsZC4KCjIwMTMtMDEtMTIgMTM6MTU6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHplcm8taW5pdGlhbGl6ZSBTUFMgVlVJIHBhcmFtZXRlcnMKCSAgLi4uIHNvIGFsbCAncHJlc2VudCcgZmxhZ3MgaW5kaWNhdGUgbm8gcHJlc2VuY2Ugb2Ygb3B0aW9uYWwgcGFydHMKCSAgaW4gY2FzZSBWVUkgcGFyYW1ldGVycyBlbmQgdXAgbm90IGJlaW5nIHBhcnNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTgxOAoKMjAxMy0wMS0xNSAxNTowNTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE3MmZhZWEgdG8gYTk0MjI5MwoKMjAxMy0wMS0xMiAxODoxMDozNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCB0d28gbGF0ZXN0IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDEzLTAxLTA5IDE5OjU5OjE2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5jOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWYvc3BhbmRzcDogTW92ZSBkdG1mZGV0ZWN0IHRvIHVzZSBsaWJzcGFuZHNwCgkgIFJlbW92ZSBvdXIgY29weSBvZiB0aGUgdG9uZV9kZXRlY3QuYyBmaWxlIGFuZCB1c2UgdGhlIG9yaWdpbmFsCgkgIGZyb20gbGlic3BhbmRzcC4gQWxzbyBtb3ZlIHRoZSBlbGVtZW50IHRvIHRoZSBzcGFuZHNwIHBsdWdpbi4KCjIwMTMtMDEtMTAgMDA6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IHVzZSBHTGliIGRlZmluZXMgdG8gY2hlY2sgZm9yIGJ5dGUgb3JkZXIKCjIwMTMtMDEtMDkgMTg6MTA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJICBibHVlejogYWRkIG5ldyBwbHVnaW4gdG8gYnVpbGQgc3lzdGVtLCBidXQgZGlzYWJsZSBmb3Igbm93CgkgIERpc2FibGUgdW50aWwgaXQgaGFzIGJlZW4gdGVzdGVkIGFuZCB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0wOSAxODowMjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogbWFrZSBibHVleiBlbGVtZW50cyBjb21waWxlIHdpdGggMS4wCgkgIEJ1aWxkcywgYnV0IHZlcnkgbGlrZWx5IGRvZXNuJ3Qgd29yayB5ZXQgYXQgYWxsLiBTb21lCgkgIHRoaW5ncyBhcmUgc3RpbGwgY29tbWVudGVkIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMi0xMC0wOSAyMDozNTo0NSArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF2aW5mbzogUmVwbGFjZSBkZWZpbml0aW9ucyB3aXRoIGEyZHAtY29kZWNzLmgncwoKMjAxMi0xMC0wOSAyMDozNTo0NCArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBBZGQgY2hlY2sgZm9yIHZlbmRvciBzcGVjaWZpYyBBMkRQIGNvZGVjCgkgIFRoaXMgcGF0Y2ggYWRkcyBjaGVja3ModmVuZG9yIElELCB2ZW5kb3Igc3BlY2lmaWMgY29kZWMgSUQpIHRvIG1ha2Ugc3VyZSBvZgoJICB2ZW5kb3Igc3BlY2lmaWMgQTJEUCBjb2RlYyBzZWxlY3Rpb24uCgoyMDEyLTA5LTE0IDIxOjQwOjEwICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGdzdGF2ZHRwc2luazogRnJlZSB0aGUgRC1CdXMgZXJyb3Igb24gcmVwbHkgZmFpbHVyZQoJICBJZiBELUJ1cyBlcnJvciBpcyBzZXQgd2Ugc2hvdWxkIGZyZWUgaXQuCgoyMDEyLTA4LTIxIDExOjQ5OjI0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWVzIG9uIHBvaW50ZXIgZGVjbGFyYXRpb25zIGFuZCBjYXN0aW5nCgkgIEF2b2lkIHVzaW5nIEMrKyBzdHlsZSBwb2ludGVyIGRlY2xhcmF0aW9ucyBsaWtlICJjaGFyKiBwdHIiLCBhcyBtb3N0CgkgIEJsdWVaIGNvZGUgdXNlcyAiY2hhciAqcHRyIi4KCjIwMTItMDYtMjUgMTI6MDY6MTcgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogYXVkaW86IFJlbW92ZSBpbnRlcm5hbCBhdWRpbyBJUEMKCSAgV2l0aCB1bml4IHNvY2tldCBhbmQgQUxTQSByZW1vdmVkIHRoZXJlIGlzIG5vIGxvbmdlciBhbnkgdXNlIGZvciB0aGUKCSAgaW50ZXJuYWwgSVBDLgoKMjAxMi0wNS0zMCAxNzoxNjoxOSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIGNvbXBhdGliaWxpdHkgY2hlY2sgZm9yIERCVVNfVFlQRV9VTklYX0ZECgkgIFNpbmNlIGNvbW1pdCBjODliNTg5YTU4NmU5N2FkODc1ZmJkZDFkNDFmMDM5NzkxNTdlYmIwLCBELUJ1cyA+PSAxLjQuMCBpcwoJICByZXF1aXJlZC4gVGhpcyB2ZXJzaW9uIGFscmVhZHkgY29udGFpbnMgVW5peCBGRCBwYXNzaW5nIHN1cHBvcnQsCgkgIHRoZXJlZm9yZSBjb2RlIHRoYXQgY2hlY2tzIGZvciBEQlVTX1RZUEVfVU5JWF9GRCBkZWZpbml0aW9uIGlzCgkgIHVubmVjZXNzYXJ5LgoKMjAxMi0wNS0xOCAwOTo0NjoyOSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogYXZkdHA6IEZpeCBpbmNvcnJlY3QgZ2NoYXIgYnVmZmVyIGFsbG9jYXRpb24KCSAgVGhlIGNvZGUgd2FzIGFsbG9jYXRpbmcgYW4gYXJyYXkgb2YgZ2NoYXIgcG9pbnRlcnMsIHdoZXJlIGFuIGFycmF5IG9mCgkgIGdjaGFyIGlzIGV4cGVjdGVkLgoKMjAxMi0wNC0xNiAxMTo1OTo1OSArMDkwMCAgQ2hhbi15ZW9sIFBhcmsgPGNoYW55ZW9sLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBhdWRpbzogQWRkIFNCQyBOVUxMIGNoZWNrIGZvciBHU1QgQVZEVFAgc2lnbmFsaW5nCgkgIER1ZSB0byBSRiBjb25kaXRpb24gb3IgaGVhZHNldCBtYWxmdW5jdGlvbmluZywgZ3N0IGF1ZGlvIHBsdWctaW4gY291bGQKCSAgbm90IGdldCBTQkMgKG1hbmRhdG9yeSBjb2RlYykgaW5mb3JtYXRpb24uCgoyMDEyLTA0LTEyIDIwOjMzOjA2ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkgIGJsdWV6OiBhdWRpbzogRml4IG5ld2xpbmUgYmVmb3JlIEVPRgoKMjAxMi0wNC0xMiAyMDozMjo1NSArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBnc3RhdmR0cHNpbms6IEZpeCBELUJ1cyBtZW1vcnkgbGVhayBpbiBhdWRpbwoKMjAxMS0xMS0xNyAxMzoyOTowNiAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQVZEVFA6IEZpeCBjbG9zaW5nIGludmFsaWQgRkQgb24gZXJyb3IKCSAgSW4gZ3N0X2F2ZHRwX3Npbmtfc3RhcnQoKSwgaWYgYnRfYXVkaW9fc2VydmljZV9vcGVuKCkgZmFpbGVkLCB0aGVyZSB3YXMKCSAgYW4gYXR0ZW1wdCB0byBjbG9zZSBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciAodGhyb3VnaAoJICBidF9hdWRpb19zZXJ2aWNlX2Nsb3NlKCkpLgoKMjAxMS0xMS0xNiAwOToyMDowNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHJldHVybiB2YWx1ZSBjaGVjayBmb3IgYnRfYXVkaW9fc2VydmljZV9vcGVuKCkKCSAgT25seSBuZWdhdGl2ZSB2YWx1ZXMgKG5hbWVseSAtMSkgYXJlIGVycm9ycyBmb3IgdGhpcyBmdW5jdGlvbi4KCjIwMTEtMTEtMTYgMDk6MTk6NDkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFWRFRQOiBGaXggZXJybm8gaGFuZGxpbmcgY29udmVudGlvbgoJICBWYXJpYWJsZXMgd2hpY2ggYXJlIGFzc2lnbmVkIHRvIHRoZSBlcnJubyB2YXJpYWJsZSAodXN1YWxseSBjYWxsZWQKCSAgImVyciIpIHNob3VsZCBiZSBuZWdhdGl2ZSwgYW5kICItZXJyIiBzaG91bGQgYmUgdXNlZCB3aGVyZSBhIHBvc2l0aXZlCgkgIHZhbHVlIGlzIG5lZWRlZC4KCjIwMTEtMDgtMjYgMTE6MTg6NTQgLTA3MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXVkaW86IFVwZGF0ZSBsaWNlbnNlIGZvciBzaGFyZWQgaGVhZGVyIGZpbGVzCgkgIFRoZSBoZWFkZXIgZmlsZXMgd2l0aCBjb25zdGFudHMgYW5kIHN0cnVjdHVyZXMgZm9yIGF1ZGlvIHNwZWNpZmljCgkgIGludGVyYWN0aW9uIHdpdGggUHVsc2VhdWRpbyBhcmUgc3VwcG9zZSB0byBiZSB1bmRlciBMR1BMIGxpY2Vuc2UuCgkgIEZvciBzb21lIG9kZCByZWFzb24gYTJkcC1jb2RlY3MuaCBlbmRlZCB1cCBiZWluZyB1bmRlciBHUEwgbGljZW5zZQoJICB3aGljaCBpcyBhZ2FpbnN0IHRoZSBpbnRlbnRpb24gb2YgdGhpcyBiZWluZyBzaGFyZWQgYW5kIHJlLXVzZWQgYnkKCSAgbm9uLUdQTCBwcm9ncmFtcy4gRml4IHRoaXMgbm93IHRvIGF2b2lkIGFueSBmdXR1cmUgY29uZnVzaW9uLgoKMjAxMS0wNy0wMiAxMjozMjo0MCAtMDMwMCAgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb21tb24gbWlzc3BlbGxlZCB3b3JkcwoJICBBY2NvdW50aW5nIG9mIG1pc3NwZWxsZWQgd29yZHMsIGFzIGRldGVjdGVkIGJ5IGNvZGVzcGVsbDoKCSAgYWNvcmRpbmcgICAgICAyCgkgIGFuY2lsbGlhcnkgICAgMQoJICBhcHByb3BpYXRlICAgIDEKCSAgYXRyaWJ1dGUgICAgICAxCgkgIGNhbnQgICAgICAgICAgMQoJICBjb21taW5nICAgICAgIDIKCSAgZ3JhY2VmdWxsICAgICAxCgkgIGxlbmdodCAgICAgICAgMQoJICBtaXNwZWxsZWQgICAgIDEKCSAgb2NjdXJlZCAgICAgICAxCgkgIG9jY3VyZW5jZXMgICAgMQoJICBvY3VycmVkICAgICAgIDMKCSAgcHJlZmVyZWQgICAgICAxCgkgIHByZXNlbnNlICAgICAgMQoJICByZXBvbnNlICAgICAgIDEKCSAgc2VwZXJhdGUgICAgICAxCgkgIHN1Y2Nlc2Z1bCAgICAgMQoJICBzdWNjZXNzdWxseSAgIDEKCSAgc3VjZXNzZnVsbCAgICAxCgkgIHN1Y2Vzc2Z1bGx5ICAgMQoKMjAxMS0wNS0wOSAxNToyNjowNyArMDIwMCAgU3p5bW9uIEphbmMgPHN6eW1vbi5qYW5jQHRpZXRvLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBnYXJiYWdlIHJldHVybiB2YWx1ZSBpbiBnc3RfYXZkdHBfc2lua19hdWRpb3NlcnZpY2VfcmVjdgoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBhdWRpbzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTAxLTIwIDExOjI5OjQxICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBVcGRhdGUgYTJkcHNpbmsgdG8gdXNlIG5ldyBBY3F1aXJlIEFQSQoKMjAxMS0wMS0xOSAxMDowNDo0OSArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IHVzZSBvZiBkZXByZWNhdGVkIGdsaWIgb24gYXVkaW8gcGx1Z2luCgoyMDEwLTA1LTA2IDE3OjE0OjE0ICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBzdXBwb3J0IGZvciBtZWRpYSB0cmFuc3BvcnQgaW4gZ3N0cmVhbWVyIHBsdWdpbgoKMjAxMC0wOS0xMyAxNTo0MDoxMSArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNyYXNoIG9uIGdzdHJlYW1lciBwbHVnaW4gaWYgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCBzYmMKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wNS0xOSAxNjoxMDoyNiArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBSZXZlcnQgIkZpeCBidWlsZCBpc3N1ZXMgd2l0aCBsYXRlc3QgR1N0cmVhbWVyIHVwZGF0ZXMiCgoyMDEwLTA1LTE3IDIyOjMxOjI4ICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBidWlsZCBpc3N1ZXMgd2l0aCBsYXRlc3QgR1N0cmVhbWVyIHVwZGF0ZXMKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTEwLTA1IDIyOjUxOjE0ICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QGdtYWlsLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2RlYyBzZWxlY3Rpb24gb24gZ3N0cmVhbSBwbHVnaW4uCgoyMDA5LTEwLTAyIDEwOjU4OjU0ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzCgoyMDA5LTA3LTE1IDE2OjUxOjA4IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgdXNlbGVzcyBpbnN0cnVjdGlvbi4KCjIwMDktMDctMDEgMTM6MTU6NTcgKzAyMDAgIEZpbGlwcG8gR2l1bmNoZWRpIDxmaWxpcHBvQGVzYXVyaXRvLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogUmVnaXN0ZXIgdGhlIGEyZHAgZ3N0IHNpbmsgYXMgbWFyZ2luYWwKCSAgQXZvaWQgdGFraW5nIG92ZXIgYXMgZGVmYXVsdCBnc3Qgc2luayBieSByZWdpc3RlcmluZyBhcyBHU1RfUkFOS19NQVJHSU5BTAoKMjAwOS0wMy0yNSAxODowNTo0MyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHNwZWNpZmljIGNvZGVjIHR5cGVzLgoJICBBZGQgc3BlY2lmaWMgY29kZWMgdHlwZXMgZm9yIGEyZHAgc291cmNlcyBhbmQgc2lua3Mgc28gY2xpZW50cyBhcmUgYWJsZQoJICB0byBkaWZmZXIgYmV0d2VlbiB0aGVtLgoKMjAwOS0wMy0xOCAxNTo1ODo1MyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIHVubmVjZXNzYXJ5IG1lbXNldC4KCjIwMDktMDMtMTkgMTY6MTY6MTkgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBsb2NrIGZsYWcgZm9yIGNhcGFiaWxpdGllcy4KCSAgbG9jayBmbGFnIHBlcm1pdHMgdGhlIHVuaXggY2xpZW50IHRvIGRldGVjdCBpZiB0aGVyZSBpcyBzb21lb25lIGhvbGRpbmcKCSAgdGhlIGxvY2sgc28gaXQgY2FuIHByZXZlbnQgdXNlbGVzcyBhdHRlbXB0IG9mIHNldHRpbmcgYSBuZXcgY29uZmlndXJhdGlvbi4KCjIwMDktMDMtMTggMTE6MjA6MzEgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEludHJvZHVjZSBCVF9PUEVOIGNvbW1hbmQgdG8gYXVkaW8gaXBjLgoJICBCVF9PUEVOIG1ha2UgaXQgcG9zc2libGUgdG8gbG9jayBhIGdpdmVuIHNlaWQgd2hpY2ggaXMgYXV0b21hY2FsbHkKCSAgcmVsZWFzZSBpZiB0aGUgY2xpZW50IGRpc2Nvbm5lY3RzIGZyb20gdGhlIHVuaXggc29ja2V0LgoKMjAwOS0wMy0xOSAxMTo1MDoyNiAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gZmllbGRzIHRvIGF1ZGlvIGlwYyBtZXNzYWdlcy4KCjIwMDktMDItMTkgMTU6NTg6MTUgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1ha2UgdXNlIG9mIGdfaW9fY2hhbm5lbF9zaHV0ZG93biBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ19pb19jaGFubmVsX2Nsb3NlLgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTEyLTIwIDIxOjA0OjQ0ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0xMi0yMCAxODoyNzozMCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggbGVuZ3RoIGhlYWRlciB2YWx1ZXMgaW4gbWVzc2FnZXMKCjIwMDgtMTItMTYgMTc6MDk6NTcgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBnc3RyZWFtZXIgcGx1Z2luIHRvIHJlZmxlY3QgdGhlIGlwYyBjaGFuZ2VzLgoKMjAwOC0xMC0wNyAxMjowNzoxNCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNoYW5uZWwgbW9kZSBzdHJpbmcgZnJvbSBkdWFsIHRvIGR1YWwtY2hhbm5lbC4KCjIwMDgtMTAtMDcgMTE6NTU6NTggLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjaGFubmVsIG1vZGUgc3RyaW5nIHRvIGpvaW50LXN0ZXJlby4KCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTE0IDIxOjIyOjM4ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNYWtlIHVzZSBvZiBwYXJhbWV0ZXJzIHNlbGVjdGVkIGluIGFsc2EgcGx1Z2luIGFuZCBmaXggYXV0byBzZWxlY3Rpb24uCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMi0wMSAxOToyODozNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgYml0cG9vbCBwcm9wZXJ0eSBhbmQgb3RoZXJzIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0zMCAxNzozMDoyNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEVuYWJsZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBhdXRvY29ubmVjdCBmbGFnLgoKMjAwOC0wMS0zMCAxNDoyMTo0MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjMgMTk6MTc6MzMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCB1c2Ugb2YgZ3N0cmVhbWVyIHBsdWdpbiB3aXRoIHJoeXRobWJveCBhbmQgYmFuc2hlZSBhbmQgcnRwIHRpbWVzdGFtcHMuCgoyMDA4LTAxLTIzIDE1OjE4OjE1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogUmVuYW1lIGEyZHBzZW5kZXJzaW5rIHRvIGF2ZHRwc2luay4KCjIwMDgtMDEtMjMgMTM6MjM6MDEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEJ1ZyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTk6MzIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBtcDMgc3VwcG9ydCBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDA3LTEyLTA0IDE5OjQyOjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBlcnJvciBtZXNzYWdlcy4gKHRoYW5rcyB0byBmY2hldmFsaWVyIGZvciB0aGUgcGF0Y2gpCgoyMDA3LTEyLTAzIDIyOjQxOjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEhhbmRsZSBuZXcgaXBjIG1lc3NhZ2VzIHByb3Blcmx5IGFuZCBhZGFwdCB0aGUgcGx1Z2lucy4KCjIwMDctMTEtMjMgMTc6MDA6MTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQ29kZSBjbGVhbnVwLgoKMjAwNy0xMS0yMSAyMDoyNDoxMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogSW50ZWdyYXRlIG5ldyBpcGMgQVBJIGltcGxlbWVudGF0aW9uLgoKMjAwNy0xMS0wMSAxOTo0NTowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IHNiYyBuZWdvdGlhdGlvbiBhbmQgaW1wcm92ZXMgYnVmZmVyIGhhbmRsaW5nIGJ5IHVzaW5nIEdzdEFkYXB0ZXIuCgoyMDA3LTEwLTI5IDE1OjAyOjI2ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBiaXRwb29sIGNhcGFiaWxpdHkuCgoyMDA3LTEwLTI2IDE4OjQ4OjQyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSBkZXBlbmRlbmN5IG9mIHNiYyBsaWJyYXJ5IGZyb20gYTJkcHNpbmsgZWxlbWVudC4KCjIwMDctMTAtMjUgMjE6MDc6NTAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBidWZmZXIgdXNhZ2UuCgoyMDA3LTEwLTI0IDIxOjQwOjM1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFNvbWUgbW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDctMTAtMjQgMjE6MzM6MjIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGNvZGluZyBzdHlsZS4KCjIwMDctMTAtMjQgMjE6MTM6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBhMmRwc2luayBjb2Rpbmcgc3R5bGUgcHJvYmxlbXMgYW5kIGltcHJvdmUgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgcGxheWVycy4KCjIwMDctMTAtMTggMjM6MDI6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIHJ0cCBoZWFkZXIuCgoyMDA3LTEwLTE4IDIyOjQ2OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgoKMjAwNy0xMC0xOCAyMTo1MDowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4ZXMgYTJkcHNpbmsgZWxlbWVudC4KCjIwMDctMDgtMjYgMTQ6MTQ6MzQgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBwb3NzaWJsZSBjYXBhYmlsaXRpZXMgYW5kIGNvbm5lY3QgdG8gYXVkaW8gc2VydmVyCgoyMDA3LTA4LTIzIDE5OjEyOjIzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgU0JDIGVuY29kZXIgYW5kIGRlY29kZXIgc2tlbGV0b25zIGZvciBHU3RyZWFtZXIKCjIwMDctMDgtMjIgMjE6NTA6NTkgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBza2VsZXRvbiBmb3IgYW4gQTJEUCBzaW5rIGVsZW1lbnQKCjIwMTMtMDEtMDcgMTA6Mzc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IGhhbmRsZSBub24tdXRmOCBkdmQgZGlzYyB0aXRsZXMgYmV0dGVyCgkgIE1heWJlIHNvbWV0aGluZyBiYXNlZCBvbiB0aGUgY29kZSBpbiBidWcgIzY4ODM2NwoJICBhbmQgdGhlIGxhbmd1YWdlIGVuY29kaW5ncyB3b3VsZCB3b3JrIGV2ZW4gYmV0dGVyCgkgIHRob3VnaCAobm93IGl0IHdpbGwgdHJ5IHRoaW5ncyBiYXNlZCBvbiB0aGUgbG9jYWxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDA5NwoKMjAxMy0wMS0wNyAxMDozNjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgamFzcGVyOiByZW1vdmUgamFzcGVyIGpwZWcyMDAwIHBsdWdpbiwgcmVwbGFjZWQgYnkgb3BlbmpwZWcgcGx1Z2luCgkgIGxpYmphc3BlciBpc24ndCByZWFsbHkgbWFpbnRhaW5lZCBhbnkgbG9uZ2VyLCB3ZSBwcm9iYWJseQoJICBkb24ndCB3YW50IHRvIHBvcnQgdGhpcy4KCjIwMTMtMDEtMDcgMDA6NDk6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxsb3cgY29tcGlsYXRpb24gYWdhaW5zdCBvcGVuY3YgMi40LjMgYXMgd2VsbAoKMjAxMi0xMi0wNiAxMTo1NTo0NSAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG9uJ3QgZm9yd2FyZCBtdWx0aWZpbGVzaW5rIG1lc3NhZ2VzIHRvIGFwcGxpY2F0aW9uCgkgIFRoZXNlIG1lc3NhZ2VzIGFyZSB1c3VhbGx5IG9ubHkgbmVlZGVkIGludGVybmFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTItMTEtMDYgMTA6MTc6MTkgLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogbTN1OCBhZGQgRVhULVgtQUxMT1ctQ0FDSEUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMi0xMi0wNSAxMDowNjozOCAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiByb3VuZCBzZWdtZW50IGR1cmF0aW9uIHRvIG5lYXJlc3QgbnVtYmVyIG9mIHNlY29uZHMKCSAgRS5nLiBmb3IgMXMgcGVyaW9kLCBkdXJhdGlvbiBjYW4gYmUgMC45OXMsIHJvdW5kcyBkb3duIHRvIDAsIHJlc3VsdHMgaW4gaW52YWxpZAoJICBwbGF5bGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEzLTAxLTA2IDIyOjE5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzc2luazogZG9uJ3QgbGVhayBvbGQgcGxheWxpc3QgZW50cmllcyB3aGVuIHVzaW5nIG1heC1maWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieTogVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTMtMDEtMDUgMTg6NTY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgUkdCCgoyMDEzLTAxLTA0IDE1OjM4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobTogQWN0dWFsbHkgZ2V0IHRoZSBwZXJtaXNzaW9ucyBvbiBnZXRfcHJvcGVydHkKCjIwMTMtMDEtMDQgMTc6MTk6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IEFQSQoKMjAxMy0wMS0wMyAxNzoyODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgcmV0dXJuIEVHTEltYWdlcyB0aGF0IHdlIGp1c3QgcmVuZGVyZWQgZnJvbSB0aGUgYnVmZmVyIHBvb2wKCSAgTWFwcGluZyB0aGVtIHdpbGwgZmFpbCBiZWNhdXNlIHRoZXkncmUgc3RpbGwgaW50ZXJuYWxseSB1c2VkLgoKMjAxMy0wMS0wMyAxNToyMjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEhhbmRsZSBjb3B5aW5nIG9mIEdzdE1lbW9yeSBwcm9wZXJseQoJICBXZSBoYXZlIHRvIHVzZSB0aGUgZGVmYXVsdCB2aWRlbyBtZXRhIG1hcHBpbmcgZnVuY3Rpb25zLgoKMjAxMy0wMS0wMyAxMjowOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNldCB2YXJpYWJsZXMgdG8gTlVMTCB0byBwcmV2ZW50IHVzYWdlIGFmdGVyIGZyZWUvdW5yZWYKCjIwMTMtMDEtMDMgMTI6MDg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyB1c2UgdGhlIGNvcnJlY3QgR3N0TWVtb3J5IGZvciBidWZmZXJzIGZyb20gb3VyIHBvb2wKCjIwMTMtMDEtMDMgMTE6MDM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGZvcmdldCB0byBjYWxsIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBFR0xJbWFnZSBmcmVlIGZ1bmN0aW9uCgoyMDEzLTAxLTAzIDEwOjUzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBGaXggbGVhayBvZiBpbnB1dC9vdXRwdXQgYnVmZmVyIHN0b3JhZ2UgaW4gdGhlIE1GQyBkZWNvZGVyIGxpYnJhcnkKCjIwMTMtMDEtMDMgMTA6NDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byB3YWl0IGZvciB0aGUgcmlnaHQgb2JqZWN0IHRvIGJlIGRlcXVldWVkCgoyMDEzLTAxLTAzIDEwOjEwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRml4IHR5cG8KCjIwMTMtMDEtMDIgMTc6MjM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IGFkZCBjcm9wIG1ldGFkYXRhIGlmIHJlcXVpcmVkCgoyMDEzLTAxLTAyIDE2OjUzOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIGZpbWM6IERvIFNUUkVBTU9OL1NUUkVBTU9GRiBvbmx5IG9uY2UgYW5kIG5vdCBvbmNlIHBlciBidWZmZXIKCjIwMTMtMDEtMDIgMTY6Mzg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IFJlcXVpcmUgb25lIG1vcmUgb3V0cHV0IGJ1ZmZlciB0aGFuIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIKCjIwMTMtMDEtMDIgMTY6MTA6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBwYWNrZWQgWVVWIHN1cHBvcnQKCSAgVGhpcyB3aWxsIG5vdCBhbGxvdyB6ZXJvLWNvcHkgYmVjYXVzZSB0aGUgc2FtZQoJICBFR0xJbWFnZSB3b3VsZCBuZWVkIHRvIGJlIHVzZWQgZm9yIHR3byBkaWZmZXJlbnQKCSAgdGV4dHVyZXMgd2l0aCBhIGRpZmZlcmVudCBmb3JtYXQuCgoyMDEzLTAxLTAyIDE2OjA5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUHJlZmVyIE5WMTIgb3ZlciBJNDIwL1lWMTIKCjIwMTMtMDEtMDIgMTU6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IFRoZSBmaXJzdCBmcmFtZSBwcm9kdWNlcyBvdXRwdXQgaW4gb3VyIGNhc2UKCjIwMTMtMDEtMDIgMTQ6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogUmVxdWVzdCBpbnB1dCBidWZmZXJzIGV4cGxpY2l0ZWx5CgoyMDEzLTAxLTAyIDE0OjI3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBEb24ndCBTVFJFQU1PRkYgaWYgbm8gU1RSRUFNT04gaGFwcGVuZWQgeWV0CgoyMDEzLTAxLTAyIDE0OjIzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkgIG1mYzogQ2hlY2sgaWYgdGhlIE1GQyBoYXJkd2FyZSBleGlzdHMgYmVmb3JlIHJlZ2lzdGVyaW5nIHRoZSBlbGVtZW50CgoyMDEzLTAxLTAyIDE0OjE2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBDaGVjayBkZXZpY2UgY2FwYWJpbGl0aWVzIGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgoyMDEzLTAxLTAyIDEyOjMzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogSW5jbHVkZSBjb2RlY19kYXRhIGluIHRoZSBidWZmZXIgd2l0aCB0aGUgbmV4dCBmcmFtZQoKMjAxMy0wMS0wMiAxMTo0NDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNldCBmb3JtYXQgZmllbGQgb2YgdGhlIGluc3RhbmNlIHN0cnVjdAoKMjAxMy0wMS0wMiAxMTowMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEltcGxlbWVudCBzdXBwb3J0IGZvciBjcm9wIG1ldGFkYXRhCgoyMDEzLTAxLTAyIDEwOjI2OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQ2hlY2sgaWYgdGhlIGhhcmR3YXJlIGlzIGF2YWlsYWJsZSBpbiBHc3RWaWRlb0RlY29kZXI6Om9wZW4oKQoKMjAxMy0wMS0wMSAxMTo1NjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogdXNlIERUUyBpbiBhZGRpdGlvbiB0byBQVFMKCSAgQW5kIHJlZmFjdG9yIGNob29zZV9iZXN0X3N0cmVhbSgpIGEgbGl0dGxlLgoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj1iYWxsICEgeDI2NGVuYyAhIG1wZWdwc211eCAhIC4uLgoJICBwbGF5cyBtdWNoIG5pY2VyIG5vdy4KCjIwMTMtMDEtMDEgMTI6MDU6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IExvZyBpbiB0aGUgcGVyZm9ybWFuY2UgY2F0ZWdvcnkgaWYgd2UgbWFwL2NvcHkgRUdMSW1hZ2VzIHRvIG5vcm1hbCBtZW1vcnkKCjIwMTMtMDEtMDEgMTE6MDU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgaDI2MyBhbmQgTVBFRzEvMgoKMjAxMy0wMS0wMSAxMDo0ODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2F0Y2ggZXJyb3JzIGZyb20gZ2xFR0xJbWFnZVRhcmdldFRleHR1cmUyRE9FUygpCgoyMDEzLTAxLTAxIDEwOjQ0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVcGxvYWQgdGV4dHVyZXMgaW4gR3N0QmFzZVNpbms6OnByZXBhcmUoKSBhbHJlYWR5CgkgIFRoaXMgZ2l2ZXMgbW9yZSB0aW1lIGZvciB0aGUgdGV4dHVyZSB0byBiZSB1cGxvYWRlZCBhcyBpdCBoYXBwZW5zCgkgIGJlZm9yZSBzeW5jaW5nIHRvIHRoZSBydW5uaW5nIHRpbWUuIFdoZW4gdGhlIHJ1bm5pbmcgdGltZSBpcyByZWFjaGVkCgkgIG9ubHkgZWdsU3dhcEJ1ZmZlcnMoKSBpcyBuZWNlc3NhcnkuCgoyMDEyLTEyLTMxIDE5OjQ1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OiB1c2UgZ3N0cmVhbWVyIGRlYnVnIGxvZ2dpbmcgc3lzdGVtIGV2ZXJ5d2hlcmUKCjIwMTItMTItMzEgMTk6NDI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogcG9ydCB0byAwLjExCgkgIE5haXZlIHBvcnQuIEJhcmVseSB0ZXN0ZWQuCgoyMDEyLTEyLTMxIDEyOjQyOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRG9uJ3QgcmVjb25maWd1cmUgaWYgd2UgZ2V0IGNvbXBhdGlibGUgY2FwcwoKMjAxMi0xMi0zMSAxMjozMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgY3JlYXRlIHRoZSBNRkMgY29udGV4dCBpbiA6OnNldF9mb3JtYXQoKQoKMjAxMi0xMi0zMSAxMTo1Njo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlY3JlYXRlIGZpbWMgY29udGV4dCBpZiBzZXR0aW5ncyBjaGFuZ2UKCjIwMTItMTItMzEgMTE6MDI6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTb21lIHJlZmFjdG9yaW5nCgoyMDEyLTEyLTMxIDA5OjQ3OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogRG8gemVyb2NvcHkgaWYgd2UgZ2V0IEVHTEltYWdlIGJ1ZmZlcnMKCjIwMTItMTItMzAgMTY6NDU6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTb21lIG1pbm9yIGZpeGVzCgoyMDEyLTEyLTI2IDEzOjMwOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogRml4IGRvdWJsZS11bm1hcCBvZiB0aGUgY29kZWMgZGF0YQoKMjAxMi0xMi0yNiAxMzoyNzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IFBhc3MgY29kZWNfZGF0YSB0byB0aGUgY29kZWMgaWYgdGhlcmUncyBzb21lCgoyMDEyLTEyLTI2IDEzOjE4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVmYWN0b3IgZmltYyBjb2RlIGEgYml0CgoyMDEyLTEyLTI2IDEyOjM4OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBEb3duZ3JhZGUgYW4gZXJyb3IgdG8gZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI2IDExOjUxOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogU29tZSBmaW1jIGNsZWFudXAKCjIwMTItMTItMjYgMDk6NTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgcHJvZmlsZS9sZXZlbCBhbmQgd2lkdGgvaGVpZ2h0IGNvbnN0cmFpbnRzCgoyMDEyLTEyLTI0IDE2OjIzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gc2V0dGluZyBuZXcgZGVzdCBzZXR0aW5ncyBmb3IgYSBkaXJlY3QgYnVmZmVyCgoyMDEyLTEyLTI0IDE2OjAyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIGluaXRpYWwgTVBFRzQgc3VwcG9ydAoKMjAxMi0xMi0yNCAxNTo0NDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI0IDE1OjM0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEltcGxlbWVudCB0cmFja2luZyBvZiBmcmFtZXMgdXNpbmcgdGhlIHY0bDJfYnVmZmVyIHRpbWVzdGFtcAoKMjAxMi0xMi0yNCAxNDo0ODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlc2V0IHNvbWUgbW9yZSB2YXJpYWJsZXMgb24gOjpyZXNldCgpCgoyMDEyLTEyLTI0IDE0OjM2OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWxzbyBhZGQgc3VwcG9ydCBmb3IgWVYxMgoKMjAxMi0xMi0yNCAxMzo0MTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhCgoyMDEyLTEyLTI0IDEzOjM5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogSW1wbGVtZW50IG5lZ290aWF0aW9uIHRvIE5WMTIgb3IgSTQyMCBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMKCjIwMTItMTItMjQgMTI6MzE6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBXb3JrYXJvdW5kIGZvciB3cm9uZ2x5IHJlcG9ydGVkIHN0cmlkZXMgYnkgRklNQwoKMjAxMi0xMi0yNCAxMjoxODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIE1GQyBkZWNvZGVyIHN0cmlkZXMKCjIwMTItMTItMjQgMTI6MTA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBUcnkgd2l0aCBJNDIwIGZvciBub3csIGl0J3MgZWFzaWVyIHRvIGRlYnVnCgoyMDEyLTEyLTI0IDExOjU3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjQgMTE6NTQ6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBEb24ndCByZXF1aXJlIHN0cmlkZSB0byBiZSBzZXQgb24gc3JjIHBhcmFtZXRlcnMKCjIwMTItMTItMjQgMTE6NDk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogVGhlIG1mYyBkZWNvZGVyIGxpYnJhcnkgaXMgZHVhbCBsaWNlbnNlZCB0b28KCSAgQXBhY2hlIExpY2Vuc2UgMi4wIGFuZCBMR1BMMisKCjIwMTItMTItMjMgMTI6MjU6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBVc2UgQ0FNSUYvRklNQyBmb3IgaGFyZHdhcmUgY29sb3IgZm9ybWF0IGNvbnZlcnNpb24gYW5kIGRlLXRpbGluZwoKMjAxMi0xMi0yMyAxMzo0NjowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgdW5yZWYgdGhlIG91dGJ1ZiBpZiBpdCBkb2Vzbid0IGJlbG9uZyB0byB0aGUgZnJhbWUKCjIwMTItMTItMjMgMTI6MDQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAKCjIwMTItMTItMjMgMTE6NDc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgaW5pdGlhbCBkZWNvZGVyIGVsZW1lbnQgaW1wbGVtZW50YXRpb24KCSAgVGhpcyBkb2VzIG5vdCBjb3B5IHRoZSBvdXRwdXQgdG8gYW55IG91dHB1dCBidWZmZXJzIHlldC4KCSAgT3RoZXIgdGhhbiB0aGF0IHNob3VsZCBiZSBiYXNpY2FsbHkgZnVuY3Rpb25hbCBhbHJlYWR5LgoKMjAxMi0xMi0yMyAxMDoyMzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgcGx1Z2luIGFuZCBkZWNvZGVyIHNrZWxldG9uCgoyMDEyLTEyLTIzIDEwOjA1OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IE1ha2UgbWZjX2RlY29kZXIgbGlicmFyeSBjb21waWxlIGFuZCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0yMyAwOTo1NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBBZGQgbWZjX2RlY29kZXIgbGlicmFyeSBmcm9tIEZYSQoKMjAxMi0xMi0zMSAxMTozODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG93bmdyYWRlIGEgR1NUX0VSUk9SIHRvIGEgR1NUX0RFQlVHCgoyMDEyLTEyLTMwIDE0OjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIGxhc3RfZmxvdyBoYW5kbGluZyBtb3JlIHRocmVhZHNhZmUKCjIwMTItMTItMjggMTI6Mjc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgYWxsb2NhdGluZyBFR0xJbWFnZXMgb24gTWFsaQoJICBUaGlzIGFsbG93cyB0byBkZWNvZGVycyBhbmQgb3RoZXIgdXBzdHJlYW0gZWxlbWVudHMgdG8gZG8KCSAgemVyby1jb3B5IHRvIHRoZSBzaW5rLgoKMjAxMi0xMi0zMSAwMDoxNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXBsYWNlIGRlcHJlY2F0ZWQgQU1fQ09ORklHX0hFQURFUiB3aXRoIEFDX0NPTkZJR19IRUFERVJTCgkgIEFNX0NPTkZJR19IRUFERVIgaGFzIGJlZW4gcmVtb3ZlZCBpbiB0aGUganVzdC1yZWxlYXNlZCBhdXRvbWFrZSAxLjEzOgoJICBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMTIvbXNnMDAwMzguaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwODgxCgoyMDEyLTEyLTMwIDExOjMyOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBpbmRlbnRpb24KCjIwMTItMTItMzAgMTE6MzI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJldHVybiB0aGUgbGFzdF9mbG93IGltbWVkaWF0ZWx5IGlmIGl0IHdhc24ndCBHU1RfRkxPV19PSwoKMjAxMi0xMi0zMCAxMToyOTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvcHkmcGFzdGUgbWlzdGFrZQoKMjAxMi0xMi0zMCAxMDo0NTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wcm92ZSBFR0wvR0wgZXJyb3IgaGFuZGxpbmcgYSBiaXQKCjIwMTItMTItMzAgMTA6NDM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFjY2VzcyB0aGUgdmlkZW8gZnJhbWUgZGF0YSBpZiBub3QgbmVjZXNzYXJ5CgoyMDEyLTEyLTMwIDEwOjE4OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb25maWd1cmUgY2FwcyBmcm9tIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGFscmVhZHkKCjIwMTItMDctMjYgMjA6Mzg6MjggKzAyMDAgIE1hdHRoaWFzIEhhcmR0IDxtaGFyZHRAYmVybGludXgtc29sdXRpb25zLmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZXh0cmFjdCBJU08gNjM5IGxhbmd1YWdlIGNvZGVzIGZvciBzdWJ0aXRsZXMgaW50byB0YWdsaXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjAwCgoyMDEyLTEyLTI4IDE5OjM2OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBCaW5kIHRoZSBPcGVuR0wgRVMgQVBJIGluIHRoZSByZW5kZXIgdGhyZWFkIHRvbwoKMjAxMi0xMi0yOCAxNDowNTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU29tZSByZWZhY3RvcmluZyBhcyBwcmVwYXJhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcmVuZGVyaW5nCgoyMDEyLTEyLTI4IDEzOjA4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBtb3JlIGNvbW1lbnRzCgoyMDEyLTEyLTI4IDEyOjQwOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IHVzZSB0aGUgR3N0VmlkZW9GcmFtZSBpZiB3ZSBoYXZlIGEgYnVmZmVyCgoyMDEyLTEyLTI3IDEwOjUxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBjb25maWd1cmUgcGFyYW1ldGVyIHRvIGNob3NlIHRoZSBFR0wgd2luZG93IHN5c3RlbQoJICBPbmx5IG5lZWRlZCBmb3IgY3JlYXRpbmcgbmF0aXZlIHdpbmRvd3MuCgoyMDEyLTEyLTI2IDE3OjM1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIE1hbGkgZmJkZXYgRUdMIGRyaXZlcgoKMjAxMi0xMi0yNyAxNDowOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgY29tcGF0aWJpbGl0eSAjZGVmaW5lcyBmb3Igb2xkZXIgbWluZ3cgaGVhZGVycwoJICBUaGVzZSB3ZXJlIHJlbW92ZWQgcmVjZW50bHkgYnV0IHRoZXNlIG1pbmd3IGhlYWRlcnMgYXJlIHN0aWxsCgkgIG91dCB0aGVyZS4KCjIwMTItMTItMjEgMDc6MzU6MTMgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlbW92ZSB1c2VsZXNzIGFuZCB1bmluaXRpYWxpemVkIGxpc3QgY2F1c2luZyBhIGNyYXNoIGluIHRoZSBkZXZpY2UgcHJvYmUKCjIwMTItMTItMjYgMTc6MjU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhIGFuZCBhcmJpdHJhcnkgc3RyaWRlcwoKMjAxMi0xMi0yNiAxNTo1ODo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHdpZHRoL2hlaWdodCBzd2FwIGluIGxhc3QgY29tbWl0CgoyMDEyLTEyLTI2IDE1OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgZGVidWcgZnVuY3Rpb24gY2FsbCBmcm9tIHByZXZpb3VzIGNvbW1pdAoKMjAxMi0xMi0yNiAxNDozOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaGFuZGxpbmcgb2YgR3N0VmlkZW9PdmVybGF5OjpzZXRfcmVuZGVyX3JlY3QoKSBhbmQgY3JvcCBtZXRhZGF0YQoKMjAxMi0xMi0yNiAxMDo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgYSBjYXN0IGZyb20gRUdMTmF0aXZlV2luZG93VHlwZSB0byBXaW5kb3cgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMi0yNiAxMDozOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGEgY3Jhc2ggb24gR3N0VmlkZW9PdmVybGF5OjpleHBvc2UoKQoKMjAxMi0xMi0yNiAxMDozNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaCB3aGVuIGNsb3NpbmcgaW50ZXJuYWwgWDExIHdpbmRvdwoKMjAxMi0xMi0yNiAxMDoyMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBwcm9wZXIgY2hlY2sgZm9yIFgxMQoKMjAxMi0xMi0xOCAwOTo1MzoxNiAtMDgwMCAgSm9lIEtvbm5vIDxqb2Uua29ubm9AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCBkZWZhdWx0IHRvIGEgZnVsbHNjcmVlbiBjYW52YXMKCSAgRGVmZXIgY2VydGFpbiBjYW52YXMgcGFydGljdWxhcnMgdG8gdGhlIHBsYXllciAob3IgdGhlIFdheWxhbmQKCSAgY29tcG9zaXRvcikuIEJlZm9yZSB0aGlzIGNoYW5nZSwgYSBmdWxsc2NyZWVuIGNhbnZhcyB3YXMgYWx3YXlzCgkgIHJlcXVlc3RlZC4gVGhpcyBtYXkgbm90IGJlIGRlc2lyYWJsZSBpbiBhbGwgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA0NDIKCjIwMTItMTItMjMgMDk6NTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBPbmx5IHVzZSAxMCBiaXQgWVVWIGZvcm1hdHMgZm9yIGV4YWN0bHkgMTAgYml0IGltYWdlcywgbm90IDw9IDE2IGJpdAoJICBBbmQgdXNlIHRoZSBnZW5lcmljIGNvbnZlcnRlciB0byBBWVVWNjQgZm9yIGV2ZXJ5dGhpbmcgZWxzZS4KCjIwMTItMTItMjIgMTg6NDM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHNjYXJ5ICJ3aGlsZSAob2JqZWN0LnJlZmNvdW50ID4gMCkgcmVsZWFzZSAob2JqZWN0KTsiIGNvZGUKCSAgSWYgdGhlcmUgaXMgYSBtZW1vcnkgbGVhaywgdGhpcyBpc24ndCB0aGUgd2F5IGhvdyBpdCBzaG91bGQgYmUgZml4ZWQuCgoyMDEyLTEyLTIyIDE4OjE3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgZm9yZ2V0IHRvIHJldHVybiBhIHZhbHVlIGZyb20gOjpwcm9wb3NlX2FsbG9jYXRpb24oKQoKMjAxMi0xMi0yMiAxODoxNzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciB0aGUgdmlkZW8gbWV0YQoKMjAxMi0xMi0yMiAxODoxMjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgdXNlICJjbGFzcyIgYXMgdmFyaWFibGUgbmFtZSBhbmQgZG9uJ3QgdXNlIEM5OSBjb21tZW50cwoKMjAxMi0xMi0yMiAxODowNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IG9wZW4gc3lzdGVtIHJlc291cmNlcyBpbiBpbiBOVUxMLT5SRUFEWSwgbm90IG9uIG9iamVjdCBpbnN0YW50aWF0aW9uCgoyMDEyLTEyLTIyIDE3OjU1OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBQcm9wZXJseSBjb3B5IGZyYW1lcyB0byBEM0Qgd2l0aCB0aGUgcmlnaHQgc3RyaWRlcyBhbmQgZXZlcnl0aGluZwoJICBBbmQgb25seSBzdXBwb3J0IGNvbG9yIGZvcm1hdHMgdGhhdCBhcmUgYWN0dWFsbHkgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIsCgkgIHRoaXMgYWxsb3dzIHByb3BlciB6ZXJvLWNvcHkgaGFuZGxpbmcgbGF0ZXIgYW5kIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3QuCgkgIEFsc28gc2ltcGxpZnkgc29tZSBvdGhlciBwbGFjZXMsIGxpa2UgdGhlIGZvcm1hdCBtYXBwaW5nIGNvZGUuCgoyMDEyLTEyLTIyIDE2OjI2OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIG5vbi1zZW5zZSBkaXNwbGF5IFBBUiBoYW5kbGluZwoJICBUaGlzIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBwcm9wZXJseSBhdCBzb21lIHBvaW50CgoyMDEyLTEyLTIyIDE2OjE4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGNhcHMgbGVhawoKMjAxMi0xMi0yMiAxMjowOTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBkdXBsaWNhdGVkIGZvcm1hdCBlbnRyeSBpbiB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMi0xMi0yMiAxMjowNToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogRml4IGxpbmtpbmcKCjIwMTItMTItMjIgMTE6NTg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRml4IHNvbWUgbW9yZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0yMiAxMTo1MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFBvcnQgcmVtYWluaW5nIGJpdHMgdG8gbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0yMiAxMTo0NToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFuZCByZW1vdmUgdGhlIHJpZ2h0IGRlY2xhcmF0aW9uCgoyMDEyLTEyLTIyIDExOjQ0OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCBzdGF0aWMgZGVjbGFyYXRpb24KCjIwMTItMTItMjIgMTE6NDM6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxMi0xMi0yMiAxMTo0Mjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFVwZGF0ZSB0byBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTIyIDExOjM4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUmVuYW1lIGtlZXBfYXNwZWN0X3JhdGlvIHRvIGZvcmNlX2FzcGVjdF9yYXRpbyBpbiB0aGUgaGVhZGVyIHRvbwoKMjAxMi0xMi0yMiAxMTozNTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDEyLTEyLTIyIDExOjM0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbmFtZSBrZWVwLWFzcGVjdC1yYXRpbyB0byBmb3JjZS1hc3BlY3QtcmF0aW8gYW5kIGRlZmF1bHQgdG8gVFJVRQoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciB2aWRlbyBzaW5rcy4KCjIwMTItMTItMjIgMTE6MzA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBmaWxlcyB0aGF0IGhhZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgbGFzdCBjb21taXQKCjIwMTItMTItMjIgMTE6Mjg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTCgoyMDEyLTEyLTIyIDExOjI0OjI4ICswMTAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IFZhcmlvdXMgaW1wcm92ZW1lbnRzCgkgICogWE92ZXJsYXkgc2V0X3JlbmRlcl9yZWN0YW5nbGUgc3VwcG9ydCAoVXNlZnVsIGZvciByZW5kZXJpbmcgaW4gUVQgUU1MKQoJICAqIFZpZGVvIGZvcm1hdCBuZWdvdGlhdGlvbiAod2l0aCBwcmVmZXJlbmNlIG9yZGVyaW5nKQoJICAqIFVzaW5nIERpcmVjdDNEOSAoTm8gYmVuZWZpdCB0byB1c2luZyBuZXdlciBEM0QgdmVyc2lvbnMpCgoyMDEyLTEyLTIxIDE2OjExOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBpbmNsdWRlIGZvcm1hdHMgdGhhdCBhcmUgYWN0dWFsbHkgd29ya2luZwoKMjAxMi0xMi0yMSAxNToyMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEFkZCB0aGUgYWN0dWFsbHkgc3VwcG9ydGVkIGNvbG9yIGZvcm1hdHMgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTItMTItMTggMjI6MjM6NDIgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jLy1kZWM6IHByaW50IG9wZW5qcGVnIGxvZ3MgZm9yIGRlYnVnIHRyYWNpbmcKCjIwMTItMTItMTggMTY6NTY6MjggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo1MjoyNiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NTA6MzcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14ZjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjQwOjU5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGpwZWc6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjoyMDowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogQWRkIHNvbWUgcHJvcGVydGllcwoKMjAxMi0xMi0xOCAxNTo0MzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IERvbid0IGNyYXNoIGlmIGNvbG9yc3BhY2UgaXMgbm90IHByb3ZpZGVkIG9uIHRoZSBjYXBzCgkgIGdfc3RyX2VxdWFsKCkgaXMgKm5vdCogTlVMTC1zYWZlCgoyMDEyLTEyLTE3IDE3OjE5OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogSW1wcm92ZSByb2J1c3RuZXNzIGFnYWluc3QgZm9ybWF0cyB3aXRoIGRpZmZlcmVudCBzZXR0aW5ncyBwZXIgY29tcG9uZW50CgoyMDEyLTEyLTE3IDE3OjEzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogUHJvcGVydGllcyB3b24ndCBiZSBuZWVkZWQgaW4gdGhlIGRlY29kZXIKCjIwMTItMTItMTcgMTc6MTE6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBGaXggZGF0YSBwb2ludGVyIGluY3JlbWVudGluZwoKMjAxMi0xMi0xNyAxNzowNjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IE9wdGltaXplIGltYWdlIGZpbGxpbmcgZnVuY3Rpb25zIGEgYml0CgoyMDEyLTEyLTE3IDE3OjAyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogQWRkIG1pc3Npbmcgc2hpZnRzCgoyMDEyLTEyLTE3IDE2OjU3OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogT3B0aW1pemUgZnJhbWUgZmlsbGluZyBmdW5jdGlvbnMgYSBiaXQKCjIwMTItMTItMTcgMTU6MTY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBNYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtCgoyMDEyLTEyLTE3IDE1OjA0OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIHRoZSBwZWVyIGNhcHMgZm9yIHJlc3RyaWN0aW9ucyBpbnN0ZWFkIG9mIHRoZSBzcmNwYWQgYWxsb3dlZCBjYXBzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGludGVyc2VjdCB3aXRoIHRoZSBzcmNwYWQgdGVtcGxhdGUgY2FwcyBhbmQgYWRkIGFsbCB0aGUgY2FwcyBmaWVsZHMKCSAgdGhhdCB0aGUgcGFyc2VyIHdpbGwgZXZlciBzZXQsIG5vIG1hdHRlciBpZiBkb3duc3RyZWFtIHJlc3RyaWN0cyB0aGlzIGZpZWxkIG9yIG5vdC4KCSAgVGhpcyByZXF1aXJlcyB1cHN0cmVhbSB0byBzZXQgdGhpcyBmaWVsZCBvbiB0aGUgY2FwcyB0byBzdWNjZXNzZnVsbHkgbmVnb3RpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTg0CgoyMDEyLTEyLTE2IDIwOjA1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IENvcnJlY3QgdGVtcGxhdGUgY2FwcyBhIGJpdAoKMjAxMi0xMi0xNiAyMDowMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogSGFuZGxlIHRoZSBudW0tY29tcG9uZW50cyBmaWVsZCBpbiB0aGUgY2FwcwoKMjAxMi0xMi0xNSAxMToyNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogQWRkIHN1cHBvcnQgZm9yIHRoZSBjb2xvcnNwYWNlIGZpZWxkIGluIHRoZSBjYXBzCgoyMDEyLTEyLTE0IDIwOjA4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBBZGQgSlBFRzIwMDAgZW5jb2RlciBlbGVtZW50CgoyMDEyLTEyLTE0IDE0OjM4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IEFkZCBPcGVuSlBFRyBiYXNlZCBKUEVHMjAwMCBkZWNvZGVyCgoyMDEyLTEyLTE2IDE3OjQ0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgcmVtb3ZlZCBydHBtdXggYml0cyB0byBjcnVmdCBjaGVjawoKMjAxMi0xMi0xNiAxNzozNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiByZW1vdmUgcnRwbXV4IHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgTW92ZSBydHBtdXggYW5kIHJ0cGR0bWZtdXggaW50byBydHBtYW5hZ2VyIHBsdWdpbiBpbiAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMi0xNCAxNDo1MToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgIHNjYWxldGVtcG86IHJlbW92ZSBzY2FsZXRlbXBvIHBsdWdpbiwgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MgoKMjAxMi0xMi0xNCAxODowOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBkb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTEzIDE0OjEyOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgdXBzdHJlYW0gd2lkdGgvaGVpZ2h0IHdoZW4gZ2l2ZW4KCSAgVGhlIHVwc3RyZWFtIHdpZHRoIGFuZCBoZWlnaHQgc2hvdWxkIG92ZXJyaWRlIHRoZSBkaW1lbnNpb24gZGV0ZWN0ZWQgaW4gdGhlCgkgIGZpbGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNDIKCjIwMTItMTItMTMgMTE6NDc6NTcgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBleHBvcnQgbnVtYmVyIG9mIHNwcml0ZSB3YXJwaW5nIHBvaW50cyBpbiBjYXBzCgkgIFRoaXMgYWxsb3dzIGZpbHRlcmluZyBvdXQgdmlkZW9zIGZvciBoYXJkd2FyZSBkZWNvZGVycyB0aGF0IGRvIG5vdAoJICBzdXBwb3J0IEdNQyBhdCBhbGwgb3Igb25seSBzdXBwb3J0IGEgbGltaXRlZCBudW1iZXIgb2Ygc3ByaXRlIHdhcnBpbmcKCSAgcG9pbnRzICh1c3VhbGx5IDEpLgoKMjAxMi0xMi0xMyAxMTo0MzowOSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBkaXZ4IGNhcHMKCSAgRGl2WCA0LzUgYXJlIE1QRUc0IHBhcnQgMiB2aWRlb3MsIHNvIHRoZXkgY2FuIGJlIHBhcnNlZCBieSB0aGlzIHBsdWdpbi4KCjIwMTItMTItMTMgMDE6NTc6MjEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZDogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDEyOAoKMjAxMi0xMi0xMiAxODo1MDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHByaW50ZiBmb3JtYXQgZml4ZXMgZm9yIGRlYnVnIG1lc3NhZ2VzCgoyMDEyLTEyLTEyIDAwOjQwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBtaW5vciBNYWtlZmlsZSBjbGVhbi11cAoJICBSZW1vdmUgc3VwZXJmbHVvdXMgU09VUF9DRkxBR1MgYW5kIFNPVVBfTElCUy4KCjIwMTItMTItMTEgMjE6MDk6MDIgKzAwMDAgIE1pY2hhZWwgRXNlbXBsYXJlIDxtaWNoYWVsLmVzZW1wbGFyZUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IGxpbmsgdG8gdGhlIHJpZ2h0IGdzdC1wbHVnaW5zLWJhc2UgbGlicyBhbmQgZml4IGxpYnMgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDAzMAoKMjAxMi0xMi0xMSAyMDo1ODo0MiArMDAwMCAgTWljaGFlbCBFc2VtcGxhcmUgPG1pY2hhZWwuZXNlbXBsYXJlQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogZml4IGNvbXBpbGVyIGFuZCBsaW5rZXIgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDAzMQoKMjAxMi0xMi0xMSAxNTowMDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEFDX0xBTkdfUFJPR1JBTSB0byBtYWtlIGF1dG9jb25mIGhhcHB5CgoyMDEyLTEyLTExIDE0OjE5OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBjb21waWxhdGlvbgoKMjAxMi0xMi0xMSAxMDo1ODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBvZmZfdC9nb2Zmc2V0CgkgIEZpeGVzIGJ1ZyAjNjkwMDMzLgoKMjAxMi0xMi0wNiAxMDowNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCBhbGxvdyBhbnkgd3JhcHBpbmcgb3RoZXIgdGhhbiBmcmFtZSB3cmFwcGluZwoJICBCYWQgdGhpbmdzIHdpbGwgaGFwcGVuIG90aGVyd2lzZSwgbGlrZSByZWFkaW5nIGEgY29tcGxldGUsCgkgIG11bHRpcGxlIEdCIGxhcmdlIHZpZGVvIHRyYWNrIGludG8gYSBzaW5nbGUgYnVmZmVyLgoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmZGVtdXguYwoKMjAxMi0xMi0wNSAxNToyNzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBBZGQgZnVuY3Rpb24gdG8gZ2V0IHRoZSBlc3NlbmNlIHRyYWNrIHdyYXBwaW5nCgoyMDEyLTEyLTA1IDEyOjIzOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSAgbXhmOiBBZGQgc3VwcG9ydCBmb3IgcGFyc2luZyBmaWxsZXIgc3RydWN0dXJhbCBjb21wb25lbnRzCgkgIFRoaXMgZG9lcyBub3QgYWRkIHN1cHBvcnQgZm9yIGFjdHVhbGx5IHByb2R1Y2luZyBmaWxsZXIgZGF0YQoJICBpZiB0aGVyZSdzIGEgZmlsbGVyIGNvbXBvbmVudCBpbiBhIHRpbWVsaW5lLgoKMjAxMi0xMi0wNSAxMjowODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZHVyaW5nIG1ldGFkYXRhIHJlc29sdmFsCgoyMDEyLTEyLTAxIDE3OjA1OjM4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZGlzYWJsZSBzZWVraW5nIGlmIHRoZSBjb25maWd1cmVkIHVybCBzcGVjaWZpZXMgbGl2ZT10cnVlCgkgIERpc2FibGUgc2Vla2luZyB3aGVuIGxpdmU9dHJ1ZSBpcyBzZXQgaW4gdGhlIGxvY2F0aW9uIFVSTCAoZWc6CgkgICJydG1wOi8vZXhhbXBsZS5uZXQvc3RyZWFtIGxpdmU9dHJ1ZSIpCgoyMDEyLTExLTMwIDIwOjAxOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZCwgZnJlaTByOiBsaW5rIHRvIGxpYmdtb2R1bGUtMi4wIGluIHBsdWdpbnMgdGhhdCB1c2UgZ19tb2R1bGVfKiBBUEkKCSAgUHJvYmFibHkgbmVlZGVkIGZvciBvdGhlciBwbHVnaW5zIGFzIHdlbGwuCgoyMDEyLTExLTMwIDE5OjU0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzcHJpbmtsZSBzb21lIEFDX0xBTkdfUFJPR1JBTSBpbiB3YXNhcGkgY2hlY2sKCSAgU28gYXV0b2dlbi5zaCBzdG9wcyBtb2FuaW5nLgoKMjAxMi0xMS0zMCAxNToxMDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBBZGQgbW9yZSBzdXBwb3J0IGZvciBSUDIwMDggKEFWQyBpbiB0aGUgTVBFRyBtYXBwaW5nKQoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmbXBlZy5jCgoyMDEyLTExLTMwIDExOjQ0OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogbWFrZSB0aGUgYnVpbGQgaGFwcHkgd2l0aG91dCB0aGUgc3RhdGljIHBsdWdpbnMgcGF0Y2gKCjIwMTItMTEtMzAgMTE6NDA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCB3YXNhcGkgdG8gdGhlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTItMTEtMzAgMTE6Mzc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogSW50ZWdyYXRlIGludG8gdGhlIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgUGF0Y2ggYmFzZWQgb24gYSBwYXRjaCBieSBGYWJyaXppbyBDaWF2YXR0YSA8ZmFicml6aW8uY2lhdmF0dGFAZ21haWwuY29tPgoKMjAxMi0xMS0yOCAxMzoxMDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkgIHNobTogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgY2xlYW4gdXAgTWFrZWZpbGUKCjIwMTItMTEtMjcgMTU6MzQ6MTkgLTA1MDAgIEVtbWFudWVsIER1cmFuZCA8ZW1tYW51ZWxkdXJhbmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBGaXggY29tcGlsYXRpb24gb2Ygc2htIG9uIE9TWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MTgzCgoyMDEyLTExLTI2IDE5OjIxOjAzICswMDAwICBLcnp5c3p0b2YgS29ub3BrbyA8a3J6eXN6dG9mLmtvbm9wa29AeW91dmlldy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBjcmFzaGVzIHdoZW4gdHJ5aW5nIHRvIHJlLXVzZSB0aGUgZWxlbWVudAoJICBBIGNyYXNoIG9jY3VyZWQgYWZ0ZXIgcHVzaGluZyBidWZmZXJzIGFuZCBjaGFuZ2luZyBtcGVndHNtdXggc3RhdGUgdG8KCSAgTlVMTC9SRUFEIGFuZCB0aGVuIGJhY2sgdG8gUExBWUlORy9QQVVTRUQuCgkgIFRoZSBjcmFzaCB3YXMgY2F1c2VkIGJ5IGhvbGRpbmcgYSBkYW5nbGluZyBwb2ludGVyIGluIHRoZSBNcGVnVHNNdXgKCSAgcHJvZ3JhbSB0YWJsZS4KCSAgQWRkaXRpb25hbGx5IHN0cmVhbSBoZWFkZXJzIHdlcmUgbGVha2VkIHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50OgoJICBtdXgtPnN0cmVhbWhlYWRlciBzZXQgdG8gTlVMTCBpbiBtcGVndHNtdXhfcmVzZXQoKSBiZWZvcmUgaXQncyByZWxlYXNlZAoJICBsYXRlciBpbiB0aGUgc2FtZSBmdW5jdGlvbi4KCSAgQWRkZWQgYSB1bml0IHRlc3Q6IHRlc3RfbXVsdGlwbGVfc3RhdGVfY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxMDcKCjIwMTItMTEtMjMgMTI6MjY6NDMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBvcnRlZCBwbHVnaW5zIGV0Yy4KCjIwMTItMTEtMjIgMTA6NTc6MjUgKzAwMDAgIEtyenlzenRvZiBLb25vcGtvIDxrcnp5c3p0b2Yua29ub3Brb0B5b3V2aWV3LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHByb3BhZ2F0ZSBmbG93IHJldHVybnMKCSAgQW5kIGFkZCBhIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODg3MAoKMjAxMi0xMS0yMSAxMDoyMTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmRvd3M6IFB1dCB0aGUgRGlyZWN0WCBMREZMQUdTIGluIHRoZSBjb3JyZWN0IHBsYWNlIGFuZCByZW9yZGVyIGxpYnJhcmllcwoKMjAxMi0xMS0yMCAyMzoyMDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBhZGQgZG9jIGNodW5rIHdpdGggZXhhbXBsZSBjb21tYW5kIGxpbmUKCjIwMTItMTEtMjAgMTI6MDU6MTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IGZpeCByZWRlZmluaXRpb24gb2YgREVDTEFSRV9JTlRFUkZBQ0VfSUlECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg1MTAKCjIwMTItMTEtMTkgMTk6Mjk6NDggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBHc3RQaG90b2dyYXBoeTogQWRkIG5ldyBlbnVtIHZhbHVlcyB0byBtYXRjaCBhbmRyb2lkJ3MgcGFyYW1ldGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NDg2CgoyMDEyLTExLTE5IDEwOjMyOjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFBUWVBFIGZvciBpbnRlcmxhY2VkIGZyYW1lcy4KCSAgQ292ZXJpdHkgZm91bmQgbWlzc2luZyBicmVhayBpbiBwYXJzZV9mcmFtZV9oZWFkZXJfYWR2YW5jZWQoKSB3aGVuCgkgIGRldGVybWluaW5nIFBUWVBFIGZyb20gRlBUWVBFIGZvciBpbnRlcmxhY2VkIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg2MjYKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yMSAxODoyMzoyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGVycm9yIGNvZGUgZm9yIGludmFsaWQgc2l6ZSBwYXJzZWQgaW4gU1BTLgoJICBnc3RfaDI2NF9wYXJzZV9zcHMoKSByZXR1cm5lZCBGQUxTRSBpZiBpdCBwYXJzZWQgaW52YWxpZCAobmVnYXRpdmUpCgkgIHNpemUgY29tcG9uZW50cy4gTm93IG1ha2UgaXQgZ3JhY2VmdWxseSByZXR1cm4gR1NUX0gyNjRfUEFSU0VSX0VSUk9SCgkgIGluc3RlYWQgb2YgR1NUX0gyNjRfUEFSU0VSX09LIChGQUxTRSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ1NjgKCjIwMTItMTEtMTkgMTE6MjY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI0OTdjNGYgdG8gYTcyZmFlYQoKMjAxMi0xMS0xNSAxMTozNzoxMiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBGaXggbml0cGljawoKMjAxMi0xMS0xNSAxMDoxNDozNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBNYWtlIHN1cmUgcGFkIHRlbXBsYXRlIGNhcHMgYXJlIG5vdCBmaXhlZCBmcm9tIHRoZSBiZWdnaW5nCgkgIFJpZ2h0IG5vdyBkZWNvZGViaW4gd2lsbCBjb25jaWRlciB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgZml4ZWQgYW5kIGlmIGEgZGVjb2RlcgoJICBoYXMgcmVzdHJpY3Rpb24gb24gZm9yIGV4YW1wbGUgaGVpZ2h0L3dpZHRoIGl0IHdvbid0IGJlIGF1dG9wbHVnZ2VkIGJlY2F1c2UKCSAgZ3N0X2NhcHNfaXNfc3Vic2V0IGZhaWxzIGFzIHRob3NlIGZpZWxkcyBhcmUgbWlzc2luZyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUgY2Fwcy4KCSAgV2UgZml4IHRoZSBpc3N1ZSBoZXJlIG1ha2luZyBzdXJlIHRoYXQgdGhlIHBhZCBjYXBzIGFyZSBmaXhlZCB1c2luZyBkYXRhIGZyb20KCSAgdGhlIHN0cmVhbS4KCjIwMTItMTEtMTMgMjI6NDA6MjUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZvcndhcmQgdXBzdHJlYW0gdGltZSBzZWdtZW50cyBhZnRlciBmbHVzaGVzCgkgIEFsc28gcmVzZXQgc2VnbWVudCBpbmZvIGFuZCBkcm9wIHRoZSBzZWdtZW50IGV2ZW50IHdoZW4gZGVtdXhlciBpcwoJICBmbHVzaGVkLgoJICBSZXN0b3JlIGRlbXV4ZXIgc2VnbWVudCB3aXRoIHRoZSBpbmZvIHN0b3JlZCBpbiBiYXNlIHdoZW4gZGVtdXhlciBpcwoJICBnb2luZyB0byBwdXNoIGRhdGEgYWdhaW4gaWYgbmVlZGVkLgoJICBEcm9wIGNvZGUgdG8gcmVjb3ZlciB0aGUgc2VnbWVudCBpbmZvIGZyb20gYmFzZSBpbiB0aGUgaW5pdGlhbCBwcm9ncmFtCgkgIGJlY2F1c2VzIGl0J3Mgc3VwZXJzZWRlZCBieSB0aGUgbmV3IGNvZGUuCgoyMDEyLTExLTE0IDEyOjQxOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIC0+IGdzdF9hZGFwdGVyX3ByZXZfcHRzCgoyMDEyLTExLTE0IDExOjM1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBkaXN0IGFsbCBoZWFkZXIgZmlsZXMgbmVlZGVkIHRvIGJ1aWxkCgoyMDEyLTExLTE0IDEwOjQ2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkgIGFjY3VyaXA6IGZpeCBsaW5rZXIgZmxhZ3MKCSAgU3BvdHRlZCBieSBSaWNvIFR6c2NoaWNoaG9sei4KCjIwMTItMTEtMTEgMTI6NDY6NDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IHRoZSBzdHJlYW0gc29tZSBtb3JlIGluIHRoZSBmbHVzaGVzCgkgIE5vdyB0aGF0IHdlIGhhbmRsZSBmbHVzaGluZyBpbiB0aGUgRkxVU0hfU1RPUCBldmVudCB3ZSBuZWVkIHRvIG1ha2UKCSAgdGhlIHN0cmVhbXMgcmVhZHkgaWYgdGhleSB3ZXJlIGZsdXNoaW5nLgoKMjAxMi0xMS0xMSAxMjo0NTowMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZmx1c2ggb2JzZXJ2YXRpb25zIHRvbwoJICBGbHVzaCB0aGUgcHJldmlvdXMgb2JzZXJ2YXRpb25zIHdoZW4gdGhlIHBhY2tldGl6ZXIgaXMgZmx1c2hlZC4KCSAgQWxzbyBkb24ndCBsZWFrIHRoZW0gaW4gdGhlIGRpc3Bvc2UuCgoyMDEyLTExLTEwIDIwOjQ0OjQ0ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBmaXggZG91YmxlIHVucmVmIG9mIHNlZWsgZXZlbnQKCjIwMTItMTEtMTAgMjA6MzA6MTMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGZsdXNoIGluIEZMVVNIX1NUT1AgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCgkgIEVuc3VyZSB0aGUgY2hhaW4gaXMgbm90IHJ1bm5pbmcgYmVmb3JlIHJlc2V0IHRoZSBzdGF0ZSB0byBhdm9pZCByYWNlCgkgIGNvbmRpdGlvbnMgYW5kIHJhbmRvbSBjb3JydXB0aW9ucyBkb3duc3RyZWFtLgoJICBBbHNvIGZpeGVzIHNlZ2ZhdWx0cyBpbiB0aGUgcGFja2V0aXplciBkdWUgd3JvbmcgYXZhaWxhYmxlIHZhbHVlcyB0aGF0CgkgIGNhdXNlcyBnc3RfYWRhcHRlcl9tYXAgdG8gcmV0dXJuIGEgTlVMTCBwb2ludGVyLgoKMjAxMi0xMS0xMiAxNDo1NjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBGaXggcmVmY291bnQgcHJvYmxlbSB3aXRoIGZyYW1lcyBiZWluZyBkcm9wcGVkIGJlY2F1c2Ugb2YgZGVjb2RlciBidWdzCgoyMDEyLTExLTEyIDExOjQ4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgbmV3IEdUeXBlIGZvciBHVGhyZWFkIGluc3RlYWQgb2YganVzdCBHX1RZUEVfUE9JTlRFUgoKMjAxMi0xMS0xMiAxMTozMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogVXBkYXRlIHRvIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMTEtMTAgMTk6NTI6NDYgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJldmVydCAidHNwYWNrZXRpemVyOiBlbnN1cmUgdGhhdCBhIG51bGwgcG9pbnRlciBpc24ndCBhY2Nlc3NlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZWZkNjExYjhjNmY0M2Y2N2EyZjkzZjg0NDVjMTg5ZTI0OTYxYWJkLgoJICBBbHNvIHRoaXMgZXh0cmEgY2hlY2sgd29uJ3QgYmUgbmVlZGVkIGlmIGl0J3MgZml4ZWQgdGhlIHJhY2UgYnkgbW92aW5nCgkgIGZsdXNoIGFjdGlvbnMgdG8gRkxVU0hfU1RPUC4KCjIwMTItMTEtMTAgMTk6NDY6NDAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIFJldmVydCAidHNiYXNlOiBhZGQgYSBndWFyZCB3aXRoIGFuIGF0b21pYyBib29sZWFuIHdoZW4gZmx1c2hpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTE0ZTMxMGY3MTc4YWE4YzAyMGY1OTNlM2Y3MWVjOTJjYTI1MzFmNy4KCSAgV291bGQgYmUgYmV0dGVyIG1vdmUgdGhlIHBhY2tldGl6ZXIgZmx1c2hpbmcgdG8gRkxVU0hfU1RPUCBhbmQgYXZvaWQKCSAgdGhlIHJhY2UgdGhhdCB3YXkuIFdpdGhvdXQgaW50cm9kdWNpbmcgYSBtZW1vcnkgYmFycmllciB0aGF0IGNvdWxkCgkgIGhhdmUgaW1wYWN0IGluIHRoZSBwZXJmb3JtYW5jZS4KCjIwMTItMTEtMTAgMTQ6NDM6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy8uZ3N0aGxzZGVtdXguYy5zd3A6CgkqIGdzdC9obHMvLmdzdGhsc3NpbmsuYy5zd3A6CgkgIGhsc3Npbms6IHJlbW92ZSB2aW0gLnN3cCBmaWxlcyB0aGF0IEkganVzdCBjb21taXR0ZWQgYWNjaWRlbnRhbGx5Li4uCgoyMDEyLTExLTEwIDE0OjI2OjQ2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvLmdzdGhsc2RlbXV4LmMuc3dwOgoJKiBnc3QvaGxzLy5nc3RobHNzaW5rLmMuc3dwOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSAgaGxzc2luazogcG9ydCB0byAxLjAKCjIwMTItMTAtMjggMjE6Mjk6MzEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBjdXQgc2VnbWVudHMgdXNpbmcgdGhlIHJ1bm5pbmctdGltZQoKMjAxMi0wOS0wOSAyMTo1Njo0MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG9uJ3QgdW5yZWYgLT5tdWx0aWZpbGVzaW5rLgoJICBXZSBnc3RfYmluX2FkZCBpdCB0byBvdXJzZWxmIHNvIG5vIG5lZWQgdG8gdW5yZWYgaW4gX2Rpc3Bvc2UuCgoyMDEyLTA5LTA5IDIxOjU2OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZXdvcmsgX3Jlc2V0IGEgYml0CgoyMDEyLTExLTEwIDAwOjA4OjM1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICB0c2Jhc2U6IGFkZCBhIGd1YXJkIHdpdGggYW4gYXRvbWljIGJvb2xlYW4gd2hlbiBmbHVzaGluZwoKMjAxMi0xMS0wOSAyMjoxNzoxMSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNwYWNrZXRpemVyOiBlbnN1cmUgdGhhdCBhIG51bGwgcG9pbnRlciBpc24ndCBhY2Nlc3NlZAoJICBNaXRpZ2F0ZXMgc2VnZmF1bHQgZHVlIHJhY2UgY29uZGl0aW9uIGluIEZMVVNIX1NUQVJUIGhhbmRsaW5nIGFuZAoJICBtcGVndHNfYmFzZV9jaGFpbi4KCjIwMTItMTEtMDggMTc6MTU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBPbmx5IHVzZSB0aW1lc3RhbXAtYmFzZWQgUENSL1BUUyBlc3RpbWF0aW9uIHdoZW4gbmVlZGVkCgkgIFdoZW4gZGVhbGluZyB3aXRoIG5vbi10aW1lIGJhc2VkIHB1c2gtbW9kZSBzdHJlYW1zLCB3ZSBuZWVkIHRvIHJldmVydAoJICB0byB1c2luZyB0aGUgb2Zmc2V0LWJhc2VkIFBDUi9QVFMgZXN0aW1hdGlvbiBsb2dpYyBvZiBwYWNrZXRpemVyLgoJICBUaGlzIHNvbHZlcyB1c2VzIGNhc2VzIHN1Y2ggYXM6CgkgIHB1c2hmaWxlOi8vICEgdHNkZW11eAoJICBzcmMgISBxdWV1ZSAhIHRzZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3OAoKMjAxMi0xMS0wOCAxMjoxMjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgIGRvY3M6IEFkZCBtaXNzaW5nIHBsdWdpbiBpbnNwZWN0aW9uIGZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjg3ODQwLgoKMjAxMi0xMS0wNyAyMDo1MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgY291cnRlc3kgb2YgYXV0b3VwZGF0ZQoKMjAxMi0xMS0wNyAyMDo0ODozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxldCBBR19HU1RfUExVR0lOX0RPQ1MgY2hlY2sgZm9yIHB5dGhvbgoJICBBbmQgdXBkYXRlIGNvbW1vbiBmb3IgbW92ZSBmcm9tIEFTX1BBVEhfUFlUSE9OIHRvIEFNX1BBVEhfUFlUSE9OLAoJICB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IHNob3VsZCBwaWNrIHVwIG5ld2VyIHB5dGhvbiB2ZXJzaW9ucyBhcwoJICB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzOTAzCgoyMDEyLTExLTA2IDIwOjUxOjEwICswMDAwICBLZXZpbiBUaG9ybmJlcnJ5IDxnaW1tZWFtaWxrYnR0ZkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBEVFMgdmFsdWUgYmVpbmcgdXNlZCBmb3IgUFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc4MDYKCjIwMTItMTEtMDYgMTI6NDA6MDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgcmV3aW5kIHRvIHRoZSBOQUwgbGVuZ3RoIHNpemUgaW4gYnl0ZXdyaXRlciBpZiB0aGUgZm9ybWF0IGlzIGJ5dGVzdHJlYW0KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzU0OAoJICBTaWduZWQtb2ZmLWJ5OiAgS2V2aW4gVGhvcm5iZXJyeQoKMjAxMi0xMS0wNiAxMTo1NDozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBY3R1YWxseSBhZGQgUFBTIGRhdGEgdG8gdGhlIG91dHB1dCBidWZmZXIKCjIwMTItMDktMjggMTI6MzY6NTUgLTA0MDAgIFdpbGwgVGhvbXBzb24gPHdpbGwudGhvbXBzb25AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBhZGQgYSBwbGF5bGlzdC1sZW5ndGggcHJvcGVydHkKCSAgUHJvYmFibHkgbm90IHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gZ2VuZXJhbCwgYnV0IGhhbmR5CgkgIHRvIGN1dCBkb3duIHRoZSBsYXRlbmN5IG9uIGEgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTEwLTI5IDEzOjI0OjI1ICswMDAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZXNldCB3aGVuIGdvaW5nIHRvIE5VTEwgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0wOC0yMSAyMzoyMjoxOSAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogRml4IHNlZ21lbnQgbmFtZXMgb24gcGxheWxpc3QKCSAgV2hlbiB0aGUgcGxheWxpc3Qtcm9vdCBpcyBub3Qgc2V0LCB0aGUgc2VnbWVudCBuYW1lIG11c3Qgbm90IGJlCgkgIGFwcGVuZGVkIGJ5IHRoZSBwYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9yYW5kb20vTElDRU5TRToKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmg6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3MuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5oaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmg6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmhoOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3Yi5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmg6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmg6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSogZ3N0L212ZS9tdmUuaDoKCSogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJKiBnc3QvbnNmL2RpczY1MDIuaDoKCSogZ3N0L25zZi9mZHNfc25kLmM6CgkqIGdzdC9uc2YvZmRzX3NuZC5oOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5oOgoJKiBnc3QvbnNmL2xvZy5jOgoJKiBnc3QvbnNmL2xvZy5oOgoJKiBnc3QvbnNmL21tYzVfc25kLmM6CgkqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkqIGdzdC9uc2YvbmVzNjUwMi5oOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uZXNfYXB1Lmg6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9uc2YvbnNmLmg6CgkqIGdzdC9uc2Yvb3NkLmg6CgkqIGdzdC9uc2YvdHlwZXMuaDoKCSogZ3N0L25zZi92cmM3X3NuZC5jOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSogZ3N0L25zZi92cmN2aXNuZC5oOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5oOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4Lmg6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4Lmg6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbl9jb25zdHMuaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3NpcmVuL3NpcmVuNy5oOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJKiBnc3Qvc3BlZWQvZGVtby1tcDMuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5oOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5oOgoJKiBnc3QvdHRhL2NyYzMyLmg6CgkqIGdzdC90dGEvZ3N0dHRhLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuaDoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJKiBzeXMvZHZiL2NhbS5jOgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9nc3RkdmIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuaDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkqIHN5cy9keHIzL2R4cjNjb21tb24uaDoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4Lmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkqIHN5cy91dmNoMjY0L3V2Y19oMjY0LmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuaDoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlld2ZpbmRlcmJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQQ2xpZW50UGxheU1pYy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BTZXJ2ZXJTZW5kTVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUENsaWVudFBsYXlNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDMgMTM6NTE6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogZml4IHdhcm5pbmdzIGFuZCBidWlsZCBhZ2FpbnN0IG9wZW5jdiAyLjQueAoJICBnc3RweXJhbWlkc2VnbWVudC5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B5cmFtaWRfc2VnbWVudF9jaGFpbic6CgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6MzA3OjM6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbgoJICAnY3ZQeXJTZWdtZW50YXRpb24nIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQoJICBnc3RweXJhbWlkc2VnbWVudC5jOjMwNzozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZgoJICAnY3ZQeXJTZWdtZW50YXRpb24nIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjM3CgoyMDEyLTExLTAyIDEzOjQ0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBzY2FsZXRlbXBvOiBVc2UgYSBiZXR0ZXIgcGx1Z2luIGZpbGVuYW1lCgoyMDEyLTExLTAyIDExOjI5OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgbW9yZSBjb25zdGFudHMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcwoKMjAxMi0xMS0wMiAxMToyNDozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZW5hYmxlZAoKMjAxMi0xMS0wMSAyMDo1MDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcmVtb3ZlIGFuZCBtb3ZlIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjMKCjIwMTItMTEtMDEgMTU6MzY6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMi0xMS0wMSAxNTozNToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogTWFrZSBzdXJlIHRvIG9ubHkgZXZlciBjcmVhdGUgYSBzaW5nbGUgZW5naW5lIG9iamVjdAoJICBUaGUgT3BlblNMIEVTIHNwZWMgZGVmaW5lczoKCSAgQW4gaW1wbGVtZW50YXRpb24gc2hhbGwgZW5hYmxlIGNyZWF0aW9uIG9mIGF0IGxlYXN0IG9uZSBzdWNoIG9iamVjdCwgYnV0CgkgIGF0dGVtcHRpbmcgdG8gY3JlYXRlIG1vcmUgaW5zdGFuY2VzIChlaXRoZXIgYnkgYSBzaW5nbGUgYXBwbGljYXRpb24gb3IgYnkKCSAgc2V2ZXJhbCBkaWZmZXJlbnQgYXBwbGljYXRpb25zKSBtYXkgZmFpbC4KCjIwMTItMTAtMzEgMjA6MDA6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTa2lwIEFyaWNlbnQgY29kZWNzIGZvciBub3cKCSAgVGhlIEhUQyBPbmUgWCBjbGFpbXMgdG8gaGF2ZSBvbmUgKGJ1dCBkb2Vzbid0KSBhbmQgbG9hZGluZwoJICB0aGUgbGlicmFyeSBmb3IgaXQgaGFuZ3MgZm9yZXZlci4KCjIwMTItMTEtMDEgMTM6NTE6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFBvc3Qgc3RyZWFtLXN0YXR1cyBtZXNzYWdlcyBmb3Igb3VyIHJlbmRlciB0aHJlYWQKCjIwMTItMTAtMzEgMTM6NTQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IElmIHB1c2hpbmcgYW4gaXRlbSBvbiB0aGUgcXVldWUgZmFpbHMsIGZyZWUgaXQKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIGxlYWsgdGhlIGl0ZW0uCgoyMDEyLTEwLTMxIDExOjM4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvcGVuY3YgcGx1Z2luIGJ1aWxkcyB3aXRoIG5ld2VyIHZlcnNpb25zIHVwIHRvIDIuNC4yIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzIzNwoKMjAxMi0xMC0zMCAxOTozMDozOCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBOZWdvdGlhdGUgZm9ybWF0LCBhbHNvIHN1cHBvcnQgbW9yZSByZXNvbHV0aW9ucwoJICBUaGlzIHNob3VsZCBlbmFibGUgc3VwcHJ0IGZvciBvbGQgYW5kIG5ldyBpUGhvbmVzIHdpdGggdGhlIHNhbWUgY29kZS4KCjIwMTItMTAtMzAgMDk6Mjc6MjQgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiByZW1vdmVkIHVubmVjZXNzYXJ5IGZpbmFsaXplIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNzYKCjIwMTItMTAtMzAgMTA6MjA6MDkgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBGaXggbGVha3MgZnJvbSBub3QgY2hhaW5pbmcgdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uCgoyMDEyLTEwLTIyIDEyOjM2OjI4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogU2xpZ2h0bHkgcmVmbG93IGNvbGxlY3RlZCBidWZmZXIgaGFuZGxlciBmb3IgY2xhcml0eS4KCjIwMTItMTAtMjYgMTg6Mjk6MzIgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IG5hbWUgb2YgQ0FUIEdzdFN0cnVjdHVyZQoJICBUaGUgc3RydWN0dXJlIHByZXZpb3VzbHkgd2FzIGFzc2lnbmVkIHRoZSBuYW1lICJwYXQiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTQ4CgoyMDEyLTEwLTI4IDE2OjQxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkgIGRvY3M6IGFkZCBuZXcgYWNjdXJpcCBlbGVtZW50IHRvIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE2MwoKMjAxMi0xMC0yOCAxNjozNjowMSArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FjY3VyaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5oOgoJICBhY2N1cmF0ZXJpcDogbmV3IGVsZW1lbnQgZm9yIEFjY3VyYXRlUmlwIGNhbGN1bGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNjMKCjIwMTItMTAtMjYgMTM6NDg6MDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmOiBQb3J0IG14ZmRlbXV4IHRvIDEuMCBBbHNvIHBvcnRzIG14Zm11eCB0byAxLjAgdG8gdGhlIGV4dGVudCB0aGF0IGl0IGNvbXBpbGVzLCBidXQgaXMgMTAwJSB1bnRlc3RlZCwgc28gcmVtYWlucyBkaXNhYmxlZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214ZmRlbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoKMjAxMi0xMC0yNSAxOToxMDo0MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBhIG51bWJlciBvZiB3YXJuaW5ncy9lcnJvcnMgaW4gZGlyZWN0c291bmRzcmMKCSAgKiBEb24ndCB1c2UgZGVwcmVjYXRlZCBnbGliIG11dGV4IGZ1bmN0aW9ucwoJICAqIERvbid0IGRlY2xhcmUgdXNlbGVzcyB2YXJpYWJsZXMKCSAgKiBEb24ndCBsaW5rIHRvIG5vbi1leGlzdGluZyBsaWJnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2ODY4NzEKCjIwMTItMTAtMjUgMTc6NTA6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBwYXJzZWQgb3IgdXBzdHJlYW0gZnBzIHRvIHNldCBzb21lIGJhc2VwYXJzZSBwYXJhbWV0ZXJzCgoyMDEyLTEwLTI1IDE4OjAyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXh0cmFjdCBzdHJ1Y3R1cmUgZnJvbSBjb3JyZWN0IGNhcHMKCSAgLi4uIHdoaWNoIGFyZSBrbm93biAhPSBOVUxMLgoKMjAxMi0xMC0yNSAxMTozMTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcHJlc2VydmUgdXBzdHJlYW0gZnBzIGFuZCBwYXIKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDg2NgoKMjAxMi0xMC0yNSAxNDoyODo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0xMC0yNSAxMjowNjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEhhbmRsZSBHQVAgZXZlbnRzCgoyMDEyLTEwLTE4IDE2OjIzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAxMTo0MTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGNyb3AgbWV0YWRhdGEKCjIwMTItMTAtMjIgMTE6MTg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDEzOjIxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1lbWJlciBhbmQgdXNlIGlucHV0IHN0YXRlCgoyMDEyLTEwLTE4IDE2OjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIzIDEyOjEwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZjMXBhcnNlOiBHaXZlIHZjMXBhcnNlIGEgcmFuayBvZiBOT05FIGZvciBub3cKCjIwMTItMTAtMTUgMDk6MTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBQb3J0IHRvIDEuMAoKMjAxMi0wMi0yMyAxMzo0ODo1NyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGRpc2FibGUgQkRVIHBhcnNpbmcgdW50aWwgaXQncyBtb3JlIG1hdHVyZQoJICBQYXJzaW5nIGFuZCBzcGxpdHRpbmcgQkRVcyBzZWVtcyB0byB0cmlnZ2VyIGEgZmV3IGJ1Z3MgaW4KCSAgZG93bnN0cmVhbSBkZWNvZGVycyBzbyBkaXNhYmxlIGl0IGZvciBub3cuCgoyMDEyLTEwLTE0IDExOjM5OjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBzZXQgZHVyYXRpb24gb24gb3V0cHV0IGJ1ZmZlcnMKCSAgVGhpcyBoYXMgdGhlIG5pY2Ugc2lkZSBlZmZlY3Qgb2YgYXZvaWRpbmcgaGFuZ2luZyBhdCBFT1Mgd2l0aCB0cnVuY2F0ZWQgYXNmCgkgIGNsaXBzLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYwoKMjAxMi0wMS0zMSAxMTowMzo0NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHdvcmthcm91bmQgZm9yIHNpbXBsZS9tYWluIGNvZGVjX2RhdGEgYmVpbmcgNSBieXRlcyBsb25nCgkgIFNvbWV0aW1lcyB0aGUgY29kZWNfZGF0YSBidWZmZXIgZm9yIHNpbXBsZS9tYWluIHB1c2hlZCBieSBhc2ZkZW11eCBpcyA1IGJ5dGVzCgkgIGluc3RlYWQgb2YgNC4gV2hlbiB0aGF0IGhhcHBlbnMsIGNvZGVjX2RhdGEgaXMgc3RpbGwgdmFsaWQgYnV0IGl0IHNlZW1zIHRvIGhhdmUKCSAgb25lIDB4MDAgdHJhaWxpbmcgYnl0ZS4gTWlnaHQgYmUgYSBidWcgaW4gdGhlIGRlbXV4ZXIsIG5lZWRzIG1vcmUgaW52ZXN0aWdhdGlvbi4KCjIwMTItMDEtMzEgMTE6MDI6MTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiByZW1vdmUgc3R1YiBzdHJlYW0gY29udmVyc2lvbiBjb2RlCgoyMDEyLTAxLTMxIDExOjAwOjU1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgdG8gX3JlbmVnb3RpYXRlCgoyMDEyLTAxLTMxIDEwOjU4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2YzFwYXJzZTogQWRkIFZDMSBwYXJzZXIgcGx1Z2luCgoyMDEyLTEwLTI1IDEyOjQ2OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMC4yID09PQoKMjAxMi0xMC0yNSAwMTo0NDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4yCgoyMDEyLTEwLTI0IDIzOjQwOjIwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeGVkIGJ1ZmZlciB1bm1hcHBpbmcgYnVnCgkgIFdoZW4gdGhlIGRlY29kZXIgcmVjZWl2ZWQgYSBOVUxMIGJ1ZmZlciwgaXQgdHJpZWQgdG8KCSAgdW5tYXAgYSBub3QgbWFwcGVkIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgyOQoKMjAxMi0xMC0yNCAxNDoyMzoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSB3YXlsYW5kID49IDEuMC4wCgkgIFdlIGhhdmUgYW4gQVBJIHN0YWJsZSByZWxlYXNlIG5vdywgcmVxdWlyZSB0aGF0LgoKMjAxMi0xMC0yNCAxMzo0MTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggdXAgbXBnMTIzIHRlc3QgYSBsaXR0bGUKCSAgLSBkaXN0IGlucHV0IGZpbGVzCgkgIC0gZml4IHNhbXBsZSBsZWFrCgkgIC0gc2ltcGxpZnkgY2hlY2sgZm9yIGVsZW1lbnRzCgkgIC0gb25seSBydW4gbXBnMTIzIHRlc3QgaWYgbXBnMTIzIGlzIGF2YWlsYWJsZSBhbmQgc2VsZWN0ZWQKCSAgLSBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMjozMDoxMCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2Nicl9zdHJlYW0ubXAzOgoJKiB0ZXN0cy9maWxlcy9zdHJlYW0ubXAyOgoJKiB0ZXN0cy9maWxlcy92YnJfc3RyZWFtLm1wMzoKCSAgdGV0czogYWRkIHVuaXQgdGVzdCBmb3IgbXBnMTIzYXVkaW9kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDozNjo0MiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGFkZGVkIGd0a2RvYyBzZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjI6MDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXhlZCBidWcgd2l0aCBsYXN0IGZyYW1lLCBkaXNhYmxlZCBpbnRlcm5hbCByZXNhbXBsZXIgJiBjaGF0dGVyCgkgICogVGhlIGxhc3QgTVAzIGZyYW1lIHdhc24ndCBiZWluZyBwdXNoZWQgd2hlbiBiYXNlIGNsYXNzIHdhcyBkcmFpbmluZwoJICAqIE1hZGUgc3VyZSBtcGcxMjMgY2Fubm90IGV2ZXIgdXNlIGl0cyAoY3J1ZGUpIGludGVybmFsIHJlc2FtcGxlcgoJICAqIERpc2FibGVkIG1wZzEyMyBzdGRlcnIgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjE6NDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBjbGVhbmVkIHVwIGNvbW1lbnRzLCBmb3JtYXR0aW5nLCBhbmQgbG9nZ2luZyBsaW5lcwoJICBhbHNvIHJlcGxhY2VkIG1wZzEyM2RlY29kZXItPmhhbmRsZSAhPSBOVUxMIGNoZWNrcyB3aXRoIGFzc2VydHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMTozNDozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBhZGQgY29tbWVudCBkZXNjcmliaW5nIGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY3NzQKCjIwMTAtMDctMDIgMTU6Mjg6NDEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNoZWNrIGJhc2VfdGltZSBiZWZvcmUgY2FsY3VsYXRpbmcgbmV3X3N0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzODcKCjIwMTItMTAtMjMgMTQ6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggZXZlbnQgbGVhawoKMjAxMi0xMC0yMyAxNDozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCB0aW1lc3RhbXAgdHJhY2tpbmcKCjIwMTItMTAtMjMgMTQ6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yMyAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogU3RvcmUgaW5zdGFuY2UgcHJpdmF0ZSBkYXRhIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgR2V0dGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHZpYSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKQoJICBpcyByZWFsbHkgc2xvdy4KCjIwMTItMTAtMjMgMTA6MDc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBMaW5rIHRvICQoTElCTSkgZm9yIGlzZmluaXRlKCkKCjIwMTItMTAtMjIgMjE6NDE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IGZpeCBmb3Igc3RhcnQgdGltZXMgPiAwCgkgIEZpeGVzIGJ1ZmZlcmluZyBhbmQgcGxheWJhY2sgb2Ygc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGgKCSAgYSBub24tMCB0aW1lc3RhbXAgaW4gdG90ZW0gKHdoaWNoIGhhcyBhICdwaXRjaCcgZWxlbWVudAoJICBiZWZvcmUgcHVsc2VzaW5rKS4KCSAgRXhhbXBsZSBVUkk6IGh0dHA6Ly9sb2Jvc3R2LmxvYm9jYXN0Lm9yZy5lczo4MDA0L2xvYm9zdHYub2dnCgkgIFN0aWxsIGJyZWFrcyB3aXRoIGNoYWluZWQgb2dncywgb24gc2Vjb25kIGNoYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzkxCgoyMDEyLTEwLTIyIDEyOjA4OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNhcHMgc2VyaWFsaXphdGlvbgoJICBSZW1vdmUgdGhlIGNhcHMgc2VyaWFsaXphdGlvbiBpbiB0aGUgcnRwIGNhcHMuIHRoZSBzcGVjIG5vciB0aGUgcmVjZWl2ZXIKCSAgZG9lcyBhbnl0aGluZyB3aXRoIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTQ3CgoyMDEyLTEwLTIyIDEwOjQ1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJICBzdWJlbmM6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDAxOjM5OjEzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IERvbid0IG1ha2UgdGhlIHNhbWUgYnVmZmVyIHdyaXRhYmxlIHR3aWNlLgoJICBGaXhlcyBCdWcgNjg2MzI3IC0gbXBlZ3RzbXV4OiBmaXggcmVmY291bnQgaXNzdWUgd2l0aCBpbnB1dCBidWZmZXJzCgoyMDEyLTEwLTIwIDE0OjU1OjQxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmQ6IHVwZGF0ZSB0byB3YXlsYW5kLXByb3RvY29sIDAuOTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjUyMAoKMjAxMi0xMC0xOCAyMjoyMzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZvcndhcmQgbm9uLXByb2Nlc3NlZCBkdmQgZXZlbnRzCgkgIC4uLiBzdWNoIGFzIG5vdGFibHkgZHZkLXNwdS1jbHV0LWNoYW5nZS4KCjIwMTItMTAtMTggMjI6MjI6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZWdtZW50IGV2ZW50IHNob3VsZCBiZSBzZW50IGJlZm9yZSBnYXAgZXZlbnQKCjIwMTItMTAtMTkgMDk6NTk6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHRyeSB0byByZW5kZXIgZXhwb3NlKCkgaWYgbm8gY2FwcyBhcmUga25vd24geWV0CgoyMDEyLTEwLTE4IDE1OjEyOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZXhwb3NlCgoyMDEyLTEwLTE5IDAxOjAzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IGZpeCBwcm9ncmFtIHBhY2tldCBzZXF1ZW5jZSBjb3VudGVyIHBhcnNpbmcgaW4gUEVTIGhlYWRlcgoKMjAxMi0xMC0xOSAwMDo0Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBmaXggc29tZSBpbmNvbnNlcXVlbnRpYWwgUEVTIGhlYWRlciBwYXJzaW5nIGlzc3VlcwoJICBhZGRpdGlvbmFsX2NvcHlfaW5mbzogbmVlZCB0byBnZXQgcmlkIG9mIHRoZSBoaWdoZXN0CgkgIGJpdCwgbm90IHRoZSBsb3dlc3Qgb25lCgkgIHByb2dyYW1fcGFja2V0X3NlcXVlbmNlX2NvdW50ZXI6IGFsc28gbmVlZCB0byBnZXQgcmlkCgkgIG9mIHRoZSBoaWdoZXN0IGJpdCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5nIHdpdGggYSByYW5kb20KCSAgdmFsdWUKCSAgb3JpZ2luYWxfc3R1ZmZfbGVuZ3RoOiB3YW50IHRvIEFORCAweDNmIHRvIGV4dHJhY3QgdGhlCgkgIGxvd2VzdCA2IGJpdHMsIG5vdCBtdWx0aXBseSBieSBpdC4KCSAgTm9uZSBvZiB0aGVzZSBmaWVsZHMgYXJlIGFjdHVhbGx5IHVzZWQgdGhvdWdoLCBzbyB0aGVzZQoJICBzaG91bGQgbm90IGhhdmUgY2F1c2VkIGFueSBpc3N1ZXMuCgoyMDEyLTEwLTE3IDE1OjU0OjMyICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBGaXggcGFyc2luZyBQLVNURF9idWZmZXIgaW4gUEVTIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2Mjk0CgoyMDEyLTEwLTE4IDE4OjU2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICB3YXlsYW5kOiBkb24ndCB0cnkgdG8gYnVpbGQgYWdhaW5zdCAwLjk5IG9yIGxhdGVyCgkgIFRoZSBwbHVnaW4gbmVlZHMgdXBkYXRpbmcgZm9yIHNvbWUgQVBJIGNoYW5nZXMgc2luY2UgMC45NS4KCjIwMTItMTAtMTggMDE6NDc6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwcm9ncmFtIHBvaW50ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjM1OAoKMjAxMi0xMC0xOCAxNTowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5zbGVzOiBPbmx5IGNoZWNrIGZvciB0aGUgbWFpbiBvcGVuc2xlcyBoZWFkZXIKCjIwMTItMTAtMTggMTQ6Mzg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2xnbGVzc2luazogUHV0IGludG8gdGhlIG5vdC1wb3J0ZWQgcGx1Z2lucyBsaXN0CgoyMDEyLTEwLTE4IDE0OjI1OjA1ICswMjAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogSG9vayBlZ2xnbGVzc2luayBkb2N1bWVudGF0aW9uIGluCgoyMDEyLTEwLTE4IDE0OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIGNvbXBpbGFibGUgb24gZGVza3RvcCBMaW51eCB3aXRoIE1FU0EgdG9vCgoyMDEyLTEwLTE4IDE0OjA3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCSAgQ29uZmxpY3RzOgoJICBleHQvTWFrZWZpbGUuYW0KCjIwMTItMTAtMTggMTA6NDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTItMTAtMTggMTA6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY2xlYXIgdGhlIHN1cmZhY2Ugb25jZSB3aGVuIHRoZSBidWZmZXIgY29udGVudCBpcyBwcmVzZXJ2ZWQKCjIwMTItMTAtMTggMTA6MjA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgZHJhdyBibGFjayBib3JkZXJzIGlmIHRoZSBkZWZhdWx0IHN3YXAgYmVoYXZpb3VyIG9mIHRoZSBzdXJmYWNlIGlzIHRvIGRlc3Ryb3kgdGhlIGJ1ZmZlcgoKMjAxMi0xMC0xOCAwOTozNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVudXNlZCBsYWJlbAoKMjAxMi0xMC0xOCAwMjoyNjoxNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGYWN0b3IgZGlzcGxheSByZWdpb24gcmVzZXQgdG8gaXRzIG93biBmdW5jCgoyMDEyLTEwLTE4IDAxOjQ1OjUxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsd2F5cyBSZXNldCBkaXNwbGF5X3JlZ2lvbi4qIGF0IEVHTC9HTEVTIGN0eCB3aXBlCgoyMDEyLTEwLTE4IDAxOjM2OjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZhY3RvciBFTEcvR0xFUyBjb250ZXh0IGNsZWFudXAgaW50byBpdHMgb3duIGZ1bmMKCjIwMTItMTAtMTggMDA6MzM6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRHJvcCBkcmFmdGVkIGZhc3QgcmVuZGVyaW5nIHBhdGggbG9naWMKCjIwMTItMTAtMTcgMTU6NTA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gdXBkYXRlIGhlYWRlciBmaWxlCgoyMDEyLTEwLTE3IDE1OjM3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm92aWRlIHRoZSB0ZXh0dXJlIHBvc2l0aW9ucyB0byB0aGUgc2hhZGVyIG9uIGV2ZXJ5IGZyYW1lIHRvbwoKMjAxMi0xMC0xNyAxNTowNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJhdyBibGFjayBib3JkZXJzIGFuZCBhbHNvIHVzZSBhIHNpbmdsZSBHTCBidWZmZXIgZm9yIGFsbCB2ZXJ0aWNlcwoJICBGaXhlcyB3ZWlyZCBhcnRpZmFjdHMgb3V0c2lkZSB0aGUgdmlkZW8gZnJhbWUgb24KCSAgUXVhbGNvbW0gU25hcGRyYWdvbiBjaGlwc2V0cyBhbmQgc2hvdWxkIGJlIGZhc3RlcgoJICB0aGFuIGdsQ2xlYXIoKSBvbiB0aGUgY29tcGxldGUgYXJlYSBhbGwgdGhlIHRpbWUuCgoyMDEyLTEwLTE3IDEyOjQ5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWVtb3J5IGxlYWsKCjIwMTItMTAtMTcgMTA6NDc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1c2VsZXNzIGRlYnVnIG91dHB1dCBhZGRlZCBmb3IgZGVidWdnaW5nIGVhcmxpZXIKCjIwMTItMTAtMTcgMTA6MDg6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugd2luZG93IHNldHRpbmcvaGFuZGxpbmcgYSBiaXQgbW9yZSB0aHJlYWRzYWZlCgoyMDEyLTEwLTE3IDA5OjU5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmludCB3aW5kb3cgaGFuZGxlIGFmdGVyIHNldHRpbmcgaXQKCjIwMTItMTAtMTYgMTc6NTA6MDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBEQVIgcXVlcnkgJiBzdG9yZSB0byBzdXJmYWNlIGluaXQKCSAgVGhlIERBUiAoZGlzcGxheSdzIHBpeGVsIGFzcGVjdCByYXRpbykgc2hvdWxkIHJlbWFpbiBhCgkgIGNvbnN0YW50IGF0IHJ1bnRpbWUgc28gdGhlcmUncyBubyBwb2ludCBvbiByZXBlYXRlZGx5CgkgIHF1ZXJ5IGFuZCBzdG9yZSB0aGlzIHZhbHVlLiBEb2luZyBpdCBhdCBzdXJmYWNlIHNldHVwCgkgIHNob3VsZCBiZSBlbm91Z2guIEFzIGFuIGFkZGVkIGJvbnVzIHRoaXMgY2hhbmdlIHNob3VsZAoJICBtYWtlIHJlbmRlcmluZyBhIGJpdCBmYXN0ZXIuCgoyMDEyLTEwLTE2IDE3OjM1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBzaWduYWwgdGhlIEdDb25kIHRvbyBvZnRlbgoKMjAxMi0xMC0xNiAxNzowNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIG15c2VsZiBhcyBhdXRob3IKCjIwMTItMTAtMTYgMTY6MjU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgcmVzZXQgdGhlIGRpc3BsYXkgcmVnaW9uIGluIHN0YXJ0KCkKCjIwMTItMTAtMTYgMTY6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY29tbWl0IG1pc3NpbmcgY2hhbmdlcyB0byB0aGUgaGVhZGVyIGZpbGUKCjIwMTItMTAtMTYgMTY6MTg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGluY2x1ZGUgJChHU1RfQkFTRV9DRkxBR1MpCgoyMDEyLTEwLTE2IDE2OjEyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggcmFjZSBjb25kaXRpb24KCjIwMTItMTAtMTYgMTU6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlZmFjdG9yIHJlbmRlcmluZyBhbmQgYWxsIGNvbnRleHQgc3BlY2lmaWMgR0wgdGhpbmdzIGludG8gYSBzZXBhcmF0ZSB0aHJlYWQKCSAgQWxzbyBmaXhlcyBzb21lIHRocmVhZGluZyByZWxhdGVkIHByb2JsZW1zLgoKMjAxMi0xMC0xNiAxNDozOTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmUtYWRkIGFjY2lkZW50aWFsbHkgcmV2ZXJ0ZWQgY29tbWl0CgoyMDEyLTEwLTE2IDE0OjE1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW5uZWVkZWQgZmxvd19sb2NrCgkgIFVzZSB0aGUgb2JqZWN0IGxvY2sgaW4gdGhlIGZldyBwbGFjZXMgbmVjZXNzYXJ5LCBldmVyeXRoaW5nCgkgIGVsc2UgaXMgcHJvdGVjdGVkIGJ5IG90aGVyIHRoaW5ncyBhbHJlYWR5LgoJICBBbHNvIHN0b3JlIHRoZSBjb250ZXh0IGRpcmVjdGx5IGluc2lkZSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIGluc3RlYWQgb2YgYWxsb2NhdGluZyBzb21lIG1lbW9yeSBmb3IgaXQuCgoyMDEyLTEwLTE2IDExOjUzOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZGVidWcgb3V0cHV0IGFuZCBjb25zdGFudCBuYW1lcwoKMjAxMi0xMC0xNiAxMTo1MToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogc3RhcnQoKS9zdG9wKCkgaXMgY2FsbGVkIGluIFJFQURZPC0+TlVMTCBpbiBiYXNlc2luawoJICBCdXQgdGhpcyBzaG91bGQgYmUgY2FsbGVkIGluIFBBVVNFRDwtPlJFQURZLgoKMjAxMi0xMC0xNSAxMzo0NDoyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZm9yIG91dGJvdW5kIERBUiByZXBvcnRlZCBieSBFR0wKCSAgU29tZSBFR0wgaW1wbGVtZW50YXRpb25zIGRvbid0IGhvbm9yIHRoZSBzcGVjCgkgIHJlcXVpcmVtZW50IG9mIHJldHVybmluZyBEQVIgdmFsdWVzIGFzIHcvaCAqCgkgIEVHTF9ESVNQTEFZX1NDQUxJTkcuCgkgIFRoaXMgY2hhbmdlc2V0OgoJICAtIEZpeGVzIHJlbmRlcmluZyBvbiB0aGUgU2Ftc3VuZyBHYWxheHkgSUlJCgkgIC0gRml4ZXMgd3JvbmcgY2hlY2sgb24gcmVxdWlyZWQgMS4yIEVHTCB2ZXJzaW9uCgkgIC0gUmVvcmRlcnMgdGhlIGNvZGUgYSBiaXQuCgoyMDEyLTEwLTE1IDEzOjM4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2hlcyBpZiB0aGVyZSBhcmUgbm8gRUdMIG9yIEdMRVMgZXh0ZW5zaW9ucwoKMjAxMi0xMC0xMCAxMjo0Mjo0NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2ggYXQgZWxlbWVudCBpbnN0YW50aWF0aW9uCgoyMDEyLTEwLTEwIDEyOjI2OjA0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IFNhdmUgb25lIGV4dHJhIHRleHR1cmUgbG9va3VwCgoyMDEyLTEwLTEwIDEyOjIyOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IE1pbm9yIG5hbWVkIGluZGV4IGFjY2VzcyB0d2VhayB4eXogLT4gcmdiCgoyMDEyLTEwLTEwIDEyOjE4OjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IEFzc29ydGVkIGZpeGVzIHRvIG9wdGltaXplZCBjb2RlCgkgIC0gRG9uJ3QgY29weSBvdmVyIG9wb3MgYXMgaXQncyBhbHJlYWR5IGEgdmVjMgoJICAtIEZpeCBpbmRleCBvcmRlciBhY2Nlc3MgYXQgZnJhZ19ZVVkyX1lWWVVfVVlWWV9wcm9nCgoyMDEyLTEwLTEwIDExOjUwOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IFBsYW5hciBZVVYgY29udmVydGVycyBvcHRpbWl6YXRpb24KCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiBtdWx0IGFuZCBhZGQKCSAgLSBBdm9pZCB1bm5lZWRlZCB0ZXh0dXJlIGxvb2t1cHMKCjIwMTItMTAtMTAgMTE6MDU6MDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBHZWdsZ2xlc3Npbms6IExTTDogT3B0aW1pemUgZnJhZ19ZVVkyX1lWWVVfVVlWWV9wcm9nCgkgIC0gQXZvaWQgcmVwZWF0ZWRseSBwZXJmb3JtaW5nIHRoZSB0ZXh0dXJlIGxvb2t1cAoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSB0aGUgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiB0aGUgZXhwbGljaXQgbXVsdCBhbmQgYWRkCgoyMDEyLTEwLTEwIDAzOjAyOjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IERyb3AgdW5uZWRlZCBueHkgdmVjMgoKMjAxMi0xMC0xMCAwMjoxNjozNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWlzc2luZyBkb3VibGUgcXVvdGF0aW9uIG1hcmsgaW4gR0xTTCBjb2RlCgoyMDEyLTEwLTEwIDAyOjA0OjE4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdMU0w6IE9wdGltaXplIGZyYWdfQVlVVl9wcm9nCgkgIC0gQXZvaWQgcmVwZWF0ZWRseSBwZXJmb3JtaW5nIHRoZSB0ZXh0dXJlIGxvb2t1cAoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSB0aGUgZG90IHByb2R1Y3QgaW5zdGVhZCBvZiB0aGUgZXhwbGljaXQgbXVsdCBhbmQgYWRkCgoyMDEyLTEwLTA5IDIzOjM1OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNTaW5rIHN0cnVjdAoKMjAxMi0xMC0wOSAyMzowNDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzQnVmZmVyIHN0cnVjdCAoRFJBRlQpCgoyMDEyLTEwLTA5IDIyOjU0OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNJbWFnZUZtdCBzdHJ1Y3QKCjIwMTItMTAtMDkgMjI6NDA6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc1JlbmRlckNvbnRleHQgc3RydWN0CgoyMDEyLTEwLTA5IDE3OjAwOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFzc29ydGVkIGRvYyBhbmQgcmVvcmRlcmluZyBmaXhlcwoKMjAxMi0xMC0wOSAxNjoyNTo0NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBFbGVtZW50IHByb3BlcnRpZXMKCSAgQnJpZWYgZXhwbGFuYXRvcnkgY29tbWVudHMgcGx1cyBzb21lIHJlb3JkZXJpbmcKCSAgdG8gZ3JvdXAgZGVmYXVsdCBzZXR0aW5nIG9mIHByb3BlcnRpZXMgYW5kIHJ1bnRpbWUKCSAgZmxhZ3MgdmFsdWVzLgoKMjAxMi0xMC0wOSAxNzoyMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFlWWVUKCjIwMTItMTAtMDkgMTE6NDg6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR0xTTCBTaGFkZXJzCgkgIEJyaWVmIGV4cGxhbmF0b3J5IGNvbW1lbnRzIHBsdXMgc29tZSByZXJkZXJpbmcKCSAgdG8gZ3JvdXAgcGFja2VkL3BsYW5hciBjb252ZXJ0ZXJzLgoKMjAxMi0xMC0wOSAxMTowMDoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBFbGVtZW50IG92ZXJ2aWV3CgoyMDEyLTEwLTA4IDEyOjEwOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlZmFjdG9yIFJFT1JERVIgc2hhZGVyLgoJICBBdm9pZCB1bm5lZWRlZGx5IGNhbGxpbmcgdGV4dHVyZTJEKCkgMyBjb25zZWN1dGl2ZSB0aW1lcy4KCjIwMTItMTAtMDQgMTU6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBoYW5kbGluZyBvZiBjYXBzIGNoYW5nZXMgYnkgb25seSByZWxlYXNpbmcgd2hhdCBuZWVkcyB0byBiZSByZWxlYXNlZAoJICBBbmQgbm90IHRlcm1pbmF0aW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24KCjIwMTItMTAtMDQgMDI6MTU6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBkaXNwbGF5X3JlZ2lvbiByZXNldCB0byBsb2NrZWQgc2VjdGlvbgoKMjAxMi0xMC0wNCAwMTo1NjoxMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXNldCBkaXNwbGF5X3JlZ2lvbiBkaW1zIGF0IGNhcHMgcmVuZWdvCgoyMDEyLTEwLTA0IDAxOjMzOjMxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvc21ldGljcwoKMjAxMi0xMC0wNCAwMToyOTo0MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhY2Nlc3MgbG9jYWwgdmFsdWUgZnJvbSBzdHJ1Y3QKCjIwMTItMTAtMDMgMjM6NDE6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVGVybWluYXRlIGRpc3BsYXkgY29ubmVjdGlvbiBhdCBjYXBzIHJlbmVnbwoKMjAxMi0xMC0wMiAxNzo1NjoxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3NtZXRpY3MKCjIwMTItMTAtMDMgMTI6MzI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgYXR0YWNoIHRoZSBjb250ZXh0IG9uY2UgdG8gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTItMTAtMDMgMTA6NTM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgdGhlIGNvbnRleHQgY3VycmVudCBmb3IgdGhlIHRocmVhZCBhbmQgdW5iaW5kIGl0IGFnYWluIGFyb3VuZCBldmVyeSB1c2UKCSAgVGhpcyBmaXhlcyBzb21lIGNyYXNoZXMgYW5kIGxlYWtpbmcgb2Ygb3VyIGNvbnRleHQgaW50byBvdGhlcgoJICBPcGVuR0wgY29kZSBvbiB0aGUgc2FtZSB0aHJlYWQuCgoyMDEyLTEwLTAyIDE3OjI5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXByb3ZlIGNsZWFudXAKCjIwMTItMTAtMDIgMTU6NDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bnVzZWQgbGFiZWwKCjIwMTItMTAtMDIgMTU6NDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsbG93IHNldHRpbmcgYSBOVUxMIGhhbmRsZQoKMjAxMi0xMC0wMiAwOTo0ODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmV2ZXJ0ICJEbyBub3QgdXBkYXRlX3N1cmZhY2VfZGltcygpIG9uY2UgcGVyIGZyYW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDgyMTAzMzc2ZWRlMmJjN2M2M2RkNjk5ZjU5ODIxNjg2NjBmNjc4NTIuCgkgIFdlIGhhdmUgdG8gdXBkYXRlIHRoZSBzdXJmYWNlIGRpbWVuc2lvbnMgb24gZXZlcnkgZnJhbWUgdG8KCSAgbWFrZSBzdXJlIHRoYXQgd2UgZ2V0IG5vdGlmaWVkIGFib3V0IHVwZGF0ZXMuIFRoaXMgaGFwcGVucwoJICBmb3IgZXhhbXBsZSBpZiB0aGUgQW5kcm9pZCB3aW5kb3cgZ2V0cyByZS1sYXlvdXRlZCBiZWNhdXNlCgkgIGEgd2lkZ2V0IHRha2VzIG1vcmUgc3BhY2UgdGhhbiBiZWZvcmUuCgoyMDEyLTEwLTAyIDAxOjQzOjM1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvIG5vdCB1cGRhdGVfc3VyZmFjZV9kaW1zKCkgb25jZSBwZXIgZnJhbWUKCSAgQW5kLi4gVXBncmFkZSBkZWJ1ZyBtZXNzYWdlIHRvIHdhcmdpbmcgb24gd2VpcmQgREFSLgoJICBDb3JyZWN0IGZpeCB0byBhdm9pZCBzcGFtaW5nIHdpdGggdGhpcyBtZXNzYWdlCgkgIG9uY2UgcGVyIGVhY2ggZnJhbWUgaXMgYXZvaWQgY2FsbGluZyB1cGRhdGVfc3VyZmFjZV9kaW1zKCkKCSAgYXQgcmVuZGVyX2FuZF9kaXNwbGF5KCkuIFRoaXMgaXMgaGFuZGxlZCBhdCBlZ2wgc3VyZmFjZQoJICBpbml0LgoKMjAxMi0xMC0wMSAxNjozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQW5kIGRvd25ncmFkZSBhbm90aGVyIHdhcm5pbmcgdG9vCgoyMDEyLTEwLTAxIDE2OjE0OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb3duZ3JhZGUgR1NUX1dBUk5JTkcgdG8gR1NUX0RFQlVHCgoyMDEyLTEwLTAxIDA5OjQ0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSB7fSB0byBpZiBzdGF0ZW1lbnRzIG1ha2UgdGhlbSB3b3JrIGFzIGV4cGVjdGVkCgoyMDEyLTA5LTMwIDIzOjA3OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agc3RhbGUgZGVmaW5lcyBmb3IgbWF4IGZyYW1lIHNpemUKCjIwMTItMDktMzAgMjM6MDY6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU21hbGwgY29tbWVudGFyeSBmaXhlcyBoZXJlIGFuIHRoZXJlCgoyMDEyLTA5LTI4IDExOjQ4OjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHNldHRpbmcgaGVpZ2h0IG9yIHdpZHRoIHR3aWNlCgoyMDEyLTA5LTI3IDAxOjE4OjM3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVzZSBQQVIvREFSIHRvIHNldCB2aWV3cG9ydAoKMjAxMi0wOS0yNyAxNDoyODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IHJlc2l6ZSBpZiB0aGUgc3VyZmFjZSBkaW1lbnNpb25zIGNoYW5nZQoKMjAxMi0wOS0yNyAxNDowODoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIHN1cmZhY2UgZGltZW5zaW9ucyBvbiBldmVyeSBidWZmZXIKCjIwMTItMDktMjcgMTQ6MDI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vcmUgY29uc2lzdGVudCBuYW1pbmcgb2Ygc2hhZGVyIHJlbGF0ZWQgdmFyaWFibGVzCgoyMDEyLTA5LTI3IDEzOjU3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHZhcmlhYmxlIG5hbWUgY2xlYW51cAoKMjAxMi0wOS0yNyAxMzo1Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIGRlZmF1bHQtd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMKCSAgVGhlc2UgYXJlIGNvbXBsZXRlbHkgdW5uZWVkZWQKCjIwMTItMDktMjUgMTM6MzI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkb3VibGUgZnJlZSgpCgoyMDEyLTA5LTI1IDA5OjA2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBsZWFrIEVHTC9FUyByZW5kZXIgY29udGV4dAoKMjAxMi0wOS0yNSAwMTozOToyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQdXQgRUdML0dMRVMgY29udGV4dCB2YXJzIG9uIHRoZWlyIG93biBzdHJ1Y3QKCjIwMTItMDktMjQgMTE6MTk6MzIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJICBlZ2xnbGVzc2luazogU21hbGwgVE9ETyByZWZvcm1hdHRpbmcKCjIwMTItMDktMjQgMTA6MjM6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJICBlZ2xnbGVzc2luazogQWRkIFRPRE8gZmlsZQoKMjAxMi0wOS0yNCAxNDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IGltcGxlbWVudCA6OmV4cG9zZSgpCgkgIFdlIGRvbid0IG5lZWQgdGhlIHBhc3QgYnVmZmVyIGZvciB0aGlzLCB0aGUgb2xkIG9uZSBpcyBzdGlsbCBhdmFpbGFibGUKCSAgYXMgdGV4dHVyZSBhbmQgd2UganVzdCBuZWVkIHRvIGRyYXcgb3VyIHJlY3RhbmdsZSBhZ2Fpbi4KCjIwMTItMDktMjQgMTM6NDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsbG93IHNldHRpbmcgYW5vdGhlciB3aW5kb3cgZm9yIHRoZSBuZXh0IHRpbWUgd2UgcmVjb25maWd1cmUgZXZlcnl0aGluZwoKMjAxMi0wOS0yNCAxMjozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyB1bnJlZiBjdXJyZW50IGNhcHMgYWZ0ZXIgdXNhZ2UKCjIwMTItMDktMjQgMTI6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcGxlbWVudCBzdXBwb3J0IGZvciBjYXBzIGNoYW5nZXMKCjIwMTItMDktMjQgMTI6Mjc6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vcmUgY2xlYW51cCBhbmQgbWFraW5nIHRoZSBlbGVtZW50IHJldXNhYmxlCgoyMDEyLTA5LTI0IDEyOjA1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBpbml0L3JlbGVhc2UgcmVzb3VyY2VzIHdoZW4gZ29pbmcgZnJvbSBOVUxMLT5SRUFEWSBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMTItMDktMjQgMTE6NDg6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEdlbmVyYXRlIHRoZSBzaW5rIGNhcHMgZXhhY3RseSBvbmNlCgoyMDEyLTA5LTI0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29kZSBzdHlsZSBhIGJpdCB0byBzdG9wIGNvbmZ1c2luZyBpbmRlbnQKCjIwMTItMDktMjQgMTE6MTU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdXBwb3J0IGZvciBZVVkyIGFuZCBVWVZZCgoyMDEyLTA5LTI0IDExOjAxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHByb3BlcnR5IGNsZWFudXAKCjIwMTItMDktMjQgMTA6NDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIFJHQiBmb3JtYXRzCgoyMDEyLTA5LTI0IDEwOjIzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiBhbmQgWTQxQiwganVzdCBiZWNhdXNlIGl0J3Mgc28gZWFzeQoKMjAxMi0wOS0yNCAxMDowMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgc2ltcGxlIFRPRE9zCgoyMDEyLTA5LTI0IDAxOjA4OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IExvY2sgd2hpbGUgYWx0ZXJpbmcgZGlzcGxheSByZWdpb24gY29vcmRzCgoyMDEyLTA5LTI0IDAwOjI3OjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBfZ2V0X2NvbXBhdF9mb3JtYXRfZnJvbV9jYXBzKCkgbG9naWMKCSAgSXQncyBhIGdldHRlciBzbyBpdCBzaG91bGRuJ3QgbWVzc2luZyB3aXRoIHRoZSBzaW5rIGNvbnRleHQuCgkgIEFkZGluZyBpbnN1bHQgdG8gaW5qdXJ5IGl0IHdhcyBzZXR0aW5nIHNlbGVjdGVkX2ZtdCB3aXRob3V0CgkgIGxvY2tpbmcuCgkgIFRoZSBhc3NvY2lhdGVkIGNoYW5nZXMgdG8gdGhlIGJ1ZmZlciBmdW5jdGlvbnMgYXJlIG1lcmVseQoJICBtYWtlLWl0IGJ1aWxkIGZpeGVzLiBUaG9zZSBmdW5jdGlvbnMgYXJlIGJhcmVseSBkcmFmdGVkCgkgIGFuZCBpbiBXSVAgc3RhdGUuCgoyMDEyLTA5LTIzIDIzOjA3OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3AgdW5uZWRlZCBpbml0aWFsIHNldCB0byBOVUxMCgoyMDEyLTA5LTIzIDIyOjMzOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1pbm9yIGZvcm1hdHRpbmcgYW5kIGNvbW1lbnQgZml4ZXMKCjIwMTItMDktMjEgMTI6MTI6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQ2xlYW4tdXAgZ2wvZWdsIGFsbG9jYXRpb25zIGF0IF9zdG9wKCkKCSAgQWxzbywgY29uZGl0aW9uYWx5IGRlc3Ryb3kgd2luZG93IGlmIHRoZSBzaW5rIGNyZWF0ZWQgaXRzIG93bi4KCjIwMTItMDktMjEgMTc6MDg6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGFuZCBOVjIxCgkgIEFsc28gWVVZMiBhbmQgVVlWWSBidXQgdGhpcyBpcyBkaXNhYmxlZCBmb3Igbm93IGFzIGl0CgkgIGRvZXNuJ3Qgd29yayBjb21wbGV0ZWx5IHlldC4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGgKCSAgdGhlIGNocm9tYS4KCjIwMTItMDktMjEgMTU6NDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBJNDIwIGFuZCBZVjEyIGNvbG9yIGZvcm1hdHMKCjIwMTItMDktMjEgMTQ6MDU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByZXBhcmF0aW9ucyBmb3Igc3VwcG9ydGluZyBtdWx0aXBsZSB0ZXh0dXJlcyBmb3IgbW9yZSBZVVYgZm9ybWF0cwoKMjAxMi0wOS0yMSAxMzo0Mjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXNlIHRoZSBhdHRyaWIgbG9jYXRpb25zIGFzIHJlYWxseSB1c2VkIGluc2lkZSB0aGUgc2hhZGVyCgoyMDEyLTA5LTIxIDEyOjUzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWFsbHkgZGVjb3VwbGUgdmVydGV4IGFuZCB0ZXh0dXJlIHBvc2l0aW9ucyBpbiB0aGUgc2hhZGVyCgoyMDEyLTA5LTIxIDEyOjQ1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEZWNvdXBsZSB0ZXh0dXJlIGFuZCB2ZXJ0ZXggcG9zaXRpb25zCgoyMDEyLTA5LTIxIDEyOjE0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIHZlcnRleCB2YWx1ZSBvcmRlciB0byBtYWtlIGEgYml0IG1vcmUgc2Vuc2UKCjIwMTItMDktMjEgMDE6MDk6MTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogSGFuZGxlIGZyYW1lIHNjYWxpbmcgdG8gZmlsbCBzdXJmYWNlCgoyMDEyLTA5LTIxIDAwOjA5OjA2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERyYWZ0IHNldF9yZW5kZXJfcmVjdGFuZ2xlKCkgZnJvbSB0aGUgeE92ZXJsYXkgaW50ZXJmYWNlCgoyMDEyLTA5LTIwIDIyOjUwOjMxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBzdGFsZSBjb21tZW50CgoyMDEyLTA5LTIwIDIyOjQxOjEwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgVkJPIHNldHVwIHRvIHNldGNhcHMKCjIwMTItMDktMjAgMjI6MTE6MDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgZG8gY29udGV4dCBvcHMgYXQgcmVuZGVyCgkgIFdlIGRvbid0IG5lZWQgdG8gcmVwZWF0ZWRseSBjYWxsCgkgIGVnbE1ha2VDdXJyZW50KCkgd2hpbGUgdXNpbmcgdGhlCgkgIHNhbWUgY29udGV4dCBhbnl3YXkuCgoyMDEyLTA5LTIwIDIyOjAxOjIwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGNsZWFyIHN1cmZhY2UgY29sb3IgYXQgcmVuZGVyCgoyMDEyLTA5LTIwIDE3OjIyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW5hbWUgc2hhZGVyIHZhcmlhYmxlcyB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTItMDktMjAgMTc6MTQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBBWVVWCgoyMDEyLTA5LTIwIDE3OjAyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIGNhcHMgYSBiaXQgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDEyLTA5LTIwIDE2OjUwOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTZXQgcmFuayB0byBQUklNQVJZCgoyMDEyLTA5LTIwIDE2OjI1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgUkdCQQoKMjAxMi0wOS0yMCAxNjoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IGdlbmVyYXRlZCBjYXBzIGZvciB0aGUgc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTItMDktMjAgMTY6MDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCA6OmdldF9jYXBzKCkgdmZ1bmMgdGhhdCByZXR1cm5zIHRoZSBhY3R1YWxseSBzdXBwb3J0ZWQgY2FwcwoKMjAxMi0wOS0yMCAxNTo1Njo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxzbyByZXF1aXJlIGEgY29uZmlndXJhdGlvbiB3aXRoIEVHTF9TVVJGQUNFX1RZUEUgY29udGFpbmluZyBFR0xfV0lORE9XX0JJVAoKMjAxMi0wOS0yMCAxNDo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTA5LTE5IDE5OjI2OjU0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENsZWFyIHN1cmZhY2UgdG8gYmxhY2sgYnkgZGVmYXVsdAoKMjAxMi0wOS0xOSAxOToyMzo1MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgd2UgZ2V0IGEgY29uZmlnIHdlIGNhbiB1c2Ugd2l0aCBHTEVTMgoKMjAxMi0wOS0xOSAxOToxMjozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBzZXRfd2luZG93X2hhbmRsZSgpIGhhcyBiZWVuIHRlc3RlZCB0byB3b3JrIG5vdwoKMjAxMi0wOS0xOSAxMjoyOToxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBhdXRvc2NhbGluZyBieSBkZWZhdWx0CgoyMDEyLTA5LTE4IDE0OjU4OjQzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHJlcGVhdGVkbHkgc2V0dGluZyAyRCByZXNpemluZyBwYXJhbXMKCSAgTW92ZWQgdG8gaW5pdGlhbCB0ZXh0dXJlIHNldHVwIHNvIGl0IGhhcGVucwoJICBqdXN0IG9uY2Ugd2hpbGUgb24gdGhlIHNhbWUgY29udGV4dC4KCjIwMTItMDktMTggMTI6MDQ6MjAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgaW5pdGlhbGl6aW5nIEVHTCBhdCBfc2V0X3dpbmRvd19oYW5kbGUoKQoJICBfc3RhcnQoKSBzaG91bGQgdGFrZSBjYXJlIG9mIHRoYXQuCgkgIFRoaXMgY2hhbmdlIGFzdW1lcyBfc2V0Y2FwcygpIHdpbGwKCSAgaGFwcGVuIGFsd2F5cyBhZnRlciBfc3RhcnQoKSBpcwoJICBkb25lLgoKMjAxMi0wOS0xOCAxMDo0MzozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhc2sgZm9yIGEgd2luZG93IGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUKCjIwMTItMDktMTggMTA6MzE6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IEVHTCBhdHRyaWJzIHZhciBuYW1pbmcKCjIwMTItMDktMTggMDI6MzI6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHNsb3cgcGF0aCByZW5kZXJpbmcgb24gQW5kcm9pZAoJICBTcGVjaWZ5IG1pc3NpbmcgYW5kIG1hbmRhdG9yeSBwYXJhbXMgZm9yIG5wb3QKCSAgQmVmb3JlIGNhbGxpbmcgZ2xUZXhJbWFnZTJELgoJICBJbiBwYXJ0aWN1bGFyLCBfV1JBUF9UIGFuZCBfV1JBUF9TIG5lZWQgdG8gYmUKCSAgc2V0IHRvIEdMX0NMQU1QX1RPX0VER0UgdG8gYXZvaWQgYWxsLWJsYWNrCgkgIHJlbmRlcmluZyB3aXRoIG5wb3Qgc2l6ZWQgZnJhbWVzLgoKMjAxMi0wOS0xOCAwMDo1MTozNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgdGVzdCBvbiB1c2FibGUgZWdsY29uZmlncyByZXR1cm5lZAoKMjAxMi0wOS0xNyAyMzowNToyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHN0YWxlIGVycm9yX2xvY2tlZCBsYWJlbAoKMjAxMi0wOS0xNyAyMzowNDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDbGVhbnVwIHN0YWxlIGNvZGUgY29tbWVudHMKCjIwMTItMDktMTcgMTg6MDA6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogR2xWaWV3UG9ydCgpIHNob3VsZCB1c2UgYWN0dWFsIHN1cmZhY2Ugc2l6ZQoKMjAxMi0wOS0xNyAxNzoyMToyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCByZWluaXRpbmcgRUdMIGFmdGVyIHRoZSBmaXJzdCB0aW1lCgoyMDEyLTA5LTE3IDEzOjQ0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBjb3JyZWN0IHRlbXBsYXRlIGNhcHMKCjIwMTItMDktMTcgMTI6NTQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1pc3NpbmcgdGV4dHVyZSBzZXR1cCBiaXRzCgoyMDEyLTA5LTE3IDExOjU3OjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBlcnJvciBjaGVja2luZyBvbiBlZ2xTd2FwQnVmZmVycwoKMjAxMi0wOS0xNyAxMTo0MDo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc3RhbGUmd3JvbmcgMC41IGFscGhhIGJsZW5kCgoyMDEyLTA5LTE3IDEwOjU2OjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBmbG9hdCBwcmVjaXNpb24gc3BlY2lmaWVyIHRvIGZyYWdtZW50IHNoYWRlcgoJICBUaGlzIGlzIHJlcXVpcmVkIGJ5IEdMRVMgYW5kIGZpeGVzIGNvbXBpbGF0aW9uIG9mIGZyYWdtZW50CgkgIHNoYWRlciBwcm9nLgoKMjAxMi0wOS0xNyAxMDo0NzozOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgbG9nIHJlcG9ydGluZyBhdCBzaGFkZXIgY29tcGlsYXRpb24gZmFpbHVyZQoKMjAxMi0wOS0xNiAyMjo0MzozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBtaXNzaW5nIGNoZWNrcyBvbiBzaGFkZXIgb3BzCgkgIC0gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBzaGFkZXIgY29tcGlsZXIgc3VwcG9ydAoJICBhbmQgYmFpbCBvdXQgb3RoZXJ3aXNlLgoJICAtIEFkZCBjaGVja3Mgb24gY29tcGlsZSBhbmQgbGlua2luZyBvcHMKCjIwMTItMDktMTQgMjA6NDk6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IHNldHVwIGNoYWluIGxvZ2ljCgkgIE1vc3RseSBhIHByb2NlZHVyYWwgcmVvcmRlcmluZy4gSWRlYSBpcyB0byBhdm9pZAoJICB0cnlpbmcgdG8gc2V0dXAgYSBzdXJmYWNlIHdpdGhvdXQgYSBkaXNwbGF5LlRoaXMKCSAgY2hhbmdlIHJlbGllcyBvbiB0aGUgYXN1bXB0aW9uIHRoYXQ6CgkgIDEuLSBzZXRfd2luZG93X2hhbmRsZSgpIGNhbiBoYXBwZW4gYXQgYW55IHRpbWUKCSAgMi4tIHNldGNhcHMgd2lsbCBuZXZlciBnZXQgY2FsbGVkIGJlZm9yZSBfc3RhcnQoKQoJICBpcyBkb25lLgoJICBJZiBib3RoIGNvbmRpdGlvbnMgYXJlIG1lZXQgdGhlIG5ldyBwcm9jZWR1cmUKCSAgc2hvdWxkIHdvcmsgYXMgZXhwZWN0ZWQuCgoyMDEyLTA5LTE0IDE1OjU5OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFdJUDogUmVvcmRlciBsb2NraW5nCgoyMDEyLTA5LTEzIDIzOjIzOjA4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCB4T3ZlcmxheSBsb2dpYwoJICBTZXZlcmFsIGZpeGVzIGRlYWxpbmcgd2l0aCBjb3JyZWN0IHdpbmRvdwoJICBjcmVhdGlvbiBhbmQgc2V0X2hhbmRsZSgpIG9wcy4gVGVzdGVkIG9uCgkgIFgxMS9tZXNhIHdpdGggaW50ZXJuYWwgd2luZG93IGNyZWF0aW9uLgoKMjAxMi0wOS0xMyAwMDo1NTozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBY3R1YWxseSB0ZXN0IEVHTCBjb25maWdzIGJlZm9yZSBjbGFpbWluZyBzdXBwb3J0CgoyMDEyLTA5LTEzIDAwOjExOjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENhcHMgbmVnbyBFR0wgZml4ZXMKCSAgLSBGaXggYWxsb2MgbG9sIG9uIGZvcm1hdCBsaXN0OiBBc2tlZCBmb3IgMiBzbGljZXMgYW5kIHVzZWQgMy4KCSAgLSBSZW9yZGVyZWQgZGlzcGxheSAmIGNvbnRleHQgaW5pdCBsb2dpYyB0byBwcmVwYXJlIGZvciBhY3R1YWwKCSAgY29uZmlnIGNoZWNraW5nIGJlZm9yZSBjbGFpbWluZyBzdXBwb3J0IGZvciBhIGdpdmVuIGZvcm1hdC4KCSAgQ2hhbmdlIGRlYWxzIGJhc2ljYWxseSB3aXRoIHNldHRpbmcgdXAgRUdMIGRpc3BsYXkgYXQgc3RhcnQoKQoJICBhbmQgY2hvb3NlIGFuIEVHTCBjb25maWcgb25seSBhdCBzZXRjYXBzIHRpbWUuCgoyMDEyLTA5LTEyIDIyOjExOjM5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IENhcHMgbmVnby4gU3RhcnQgZXh0ZW5kaW5nIFJHQiBzdXBwb3J0IHRvIGEgc2V0LgoKMjAxMi0wOS0xMiAxNjoxOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBidWlsZCBvZiBzdGF0aWMgcGx1Z2luCgoyMDEyLTA5LTEyIDA5OjI4OjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agd3JvbmcgZm9ybWF0IHRlc3Qgb24gX3NldGNhcHMgKGRyYWZ0IGxlZnRvdmVyKQoKMjAxMi0wOS0xMSAxMzo1NDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTdXBwb3J0IFJHQjI0IGJ5IGRlZmF1bHQKCjIwMTItMDktMTEgMTM6NTE6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW5zdHJ1bWVudCBFR0wgZXJyb3IgcmVwb3J0aW5nCgoyMDEyLTA5LTExIDEyOjA0OjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSByZXR1cm4gR3N0Rmxvd1JldHVybiBmcm9tIHJlbmRlcl9hbmRfZGlzcGxheSgpCgoyMDEyLTA5LTExIDExOjUxOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgVkJPIHNldHVwIHRvIGl0J3Mgb3duIGZ1bmN0aW9uCgoyMDEyLTA5LTExIDEwOjIwOjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCByZW5kZXJfYW5kX2Rpc3BsYXkgbG9naWMKCSAgU3dpdGNoIHByb2NlZHVyZSBhY2NvcmRpbmcgdG8gZW5hYmxlZCByZW5kZXJpbmcgcGF0aAoKMjAxMi0wOS0xMCAyMjo1OTo1NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2FtcGxlIGxhdW5jaCBsaW5lIHdpdGggZGlzYWJsZWQgd2luZG93IGNyZWF0aW9uCgoyMDEyLTA5LTEwIDIyOjQxOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFJlbmFtZSBzdGFsZSBhbmRyb2lkIGxlZnRvdmVyCgoyMDEyLTA5LTEwIDIwOjIyOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGVnbGdsZXMgU2luayB0byBleHQvICMyCgoyMDEyLTA5LTEwIDIwOjAwOjU3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvQW5kcm9pZC5tazoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdHZpZHJvaWRzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogTW92ZSBlZ2xnbGVzIFNpbmsgdG8gZXh0LwoKMjAxMi0xMC0xOCAxNDowMzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5zbGVzOiBBZGQgdGhlIG9wZW5zbGVzIHBsdWdpbiB0byB0aGUgbGlzdCBvZiBub3QgcG9ydGVkIHBsdWdpbnMKCjIwMTItMTAtMTggMTM6NTY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSAgb3BlbnNsZXM6IEludGVncmF0ZSBpbnRvIGJ1aWxkIHN5c3RlbQoKMjAxMi0xMC0xMiAxMDowODo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3Npbms6IFJldHVybiAwIGRlbGF5IGlmIHRoZSBwbGF5ZXIgb2JqZWN0IGlzIGluIFBBVVNFRCBzdGF0ZQoKMjAxMi0xMC0wMSAxMjo1NDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBmaXhlcyBub2lzZSBvbiBzZWVrZWluZwoKMjAxMi0xMC0wMSAxMTo0Njo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2hhaW4gdXAgb24gX2NsZWFyX2FsbAoKMjAxMi0xMC0wMSAxMToxNDoyNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBpbXBsZW1lbnQgdGhlIHJpbmdidWZmZXIgY2xlYXJfYWxsIHZtZXRob2QgdG9vCgoyMDEyLTEwLTAxIDEwOjU5OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogaW5pdGlhbCBhdHRlbXB0IHRvIHJlZHVjZSB0aGUgc3JjIGxhdGVuY3kKCjIwMTItMDktMjkgMTk6MDA6MTMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogc3ByaW5rbGUgY29tbWVudHMgYW5kIGNvc21ldGljIGZpeGVzCgoyMDEyLTA5LTI4IDE1OjEwOjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjaGVjayBmb3IgZGV2aWNlIG91dHB1dHMgaW4gdGhlIG1peGVyCgoyMDEyLTA5LTI4IDE0OjM5OjAxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBkcm9wIDQ4a0h6IHNhbXBsZSByYXRlCgkgIE9wZW5TTCBFUyBpbXBsZW1lbnRhdGlvbiBpbiBBbmRyb2lkIGlzIGp1c3QgYSAnZmFjYWRlJyBBUEkgb24gdG9wIG9mCgkgIEF1ZGlvRmxpbmdlciB3aGljaCB3aWxsIGRvd25zYW1wbGUgNDhrSHogaW50byA0NC4xa0h6IGJlZm9yZQoJICBkZWxpdmVyaW5nIHRoZSBhdWRpbyB0byB0aGUgdW5kZXJsYXlpbmcgaGFyZHdhcmUuCgkgIFdlIGZvdW5kIHRoYXQgaXQgc3VmZmVyIHNvbWUgc29ydCBvZiB1bmRlcnJ1biB3aGVuIHRoZSBkb3duc2FtcGxlCgkgIGVudGVycyBpbiBhY3Rpb24gc28gcmVsYXkgb24gb3VyIGdvb2QgcmVzYW1wbGVyIHRvIHRha2UgY2FyZSBvZiB0aGF0CgkgIGFuZCBmaXggdGhlIGNsaWNrcyBpc3N1ZS4gQW5kIGdldCBhbiBleHRyYSBib251cyBvZiBhIGxvd2VyIGxhdGVuY3kuCgoyMDEyLTA5LTI3IDE5OjI0OjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBjaGFuZ2UgdGhlIGRlZmF1bHRzIHRvIHVzZSAyMCBtcyByaW5nYnVmZmVyIHNlZ21lbnRzCgkgIEluIG15IG5leHVzNyBzZWVtcyB0aGF0IHRoZSBpbnRlcm5hbCBtaW4gYnVmZmVyIHNpemUgaXMgMjAgbXMgc28gbWFrZQoJICBvdXIgc2VnbWVudHMgbWF0Y2guCgoyMDEyLTA5LTI3IDE4OjMzOjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGVuc3VyZSB0aGF0IHdlIHJlZ2lzdGVyIHRoZSBjYWxsYmFjayBvbmx5IGluIFNUT1BQRUQKCSAgRml4ZXMgdGhlIGVycm9yIHJlZ2lzdGVyaW5nIHRoZSBjYWxsYmFjayBvbiB0aGUgUExBWUlORyAtPiBQQVVTRSAtPgoJICBQTEFZSU5HIHN0YXRlIGNoYW5nZSBzZXF1ZW5jZS4KCjIwMTItMDktMjcgMTc6NDY6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNhcCBxdWV1ZSBzaXplCgkgIEp1c3QgaW4gY2FzZSB3ZSB3YW50IHRvIHR3ZWFrIHRoZSBzaW5rIGJlaGF2aW91ciB3aXRoIGJ1ZmZlci10aW1lIGFuZAoJICBsYXRlbmN5LXRpbWUgcHJvcGVydGllcyBjYXAgdGhlIHF1ZXVlIHNpemUgdG8gc29tZXRoaW5nIHJlYXNvbmFibGUuCgoyMDEyLTA5LTI3IDE3OjMyOjE0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBzaW5rIHRvIHByb3ZpZGUgdGhlIGF1ZGlvY2xvY2sgYnkgZGVmYXVsdAoKMjAxMi0wOS0yNyAxNzoyNzoyNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogb25seSBkcmFpbiBoYWxmIHJpbmdidWZmZXIgb24gc3RhcnQKCSAgQXQgc3RhcnQgZHJhaW4gaGFsZiByaW5nYnVmZmVyIGludG8gdGhlIE9wZW5TTCBzbyB0aGUgd3JpdHRpbmcvcmVhZGluZwoJICBwb2ludGVycyB3aWxsIHN0YXJ0IGF0IGhhbGYgcmluZ2J1ZmZlciBkaXN0YW5jZS4KCjIwMTItMDktMjcgMTQ6NTI6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IG1vbml0b3Igc29tZSBwbGF5ZXIgZXZlbnRzCgoyMDEyLTA5LTI3IDA3OjIyOjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJld29yayBhcm91bmQgdGhlIF9kZWxheSBmdW5jdGlvbgoKMjAxMi0wOS0yNyAwNTo0MDo0NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBpbXBsZW1lbnQgX2RlbGF5IGZ1bmN0aW9uCgoyMDEyLTA5LTI3IDA0OjAwOjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJlZmFjdG9yIHRvIGJlaGF2ZSBtb3JlIGxpa2Ugb3RoZXIgc2lua3MKCSAgUmVmbGVjdCB0aGUgcXVldWUgaW4gb3VyIG93biBkYXRhIGJ1ZmZlci4KCSAgRHJvcCB0aGUgX2NvbW1pdCBob29rIHRoYXQgd2Fzbid0IHVzZWZ1bGwuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vnc2l6ZS9zZWd0b3RhbC4KCjIwMTItMDktMjYgMTQ6MDE6MTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHJlYWQgcGxheWVyIHBvc2l0aW9uIGFuZCBzaG93IGl0IGluIHRoZSBsb2cKCjIwMTItMDktMjYgMTI6NTA6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGRvIG5vdCBwcm92aWRlIGEgY2xvY2sgaW4gdGhlIHNpbmsgZWxlbWVudC4KCjIwMTItMDktMjYgMTI6MzI6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHJld29yayBvbiBzdGFydC9zdG9wIG9wZXJhdGlvbnMgYW5kIGNhbGxiYWNrIGZ1bmN0aW9uIGhhbmRsaW5nCgoyMDEyLTA5LTI2IDEyOjA5OjA0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBmaXhlcyA4IGJpdCBmb3JtYXQgd2hpY2ggaXMgdW5zaWduZWQgb24gYW5kcm9pZC4KCjIwMTItMDktMjUgMTk6MjU6MDEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGF0dGVtcHQgdG8gcmVkdWNlIHBsYXliYWNrIGxhdGVuY3kKCjIwMTItMDktMjUgMTg6MDQ6MjcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZHJvcCBfYnVmZmVyX2NsZWFyIGNhbGxzIGFuZCByZWZhY3RvciB0byBhIHNoYXJlZCBfZW5xdWV1ZV9jYgoKMjAxMi0wOS0yMSAxNzowNDoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogdXNlIDAuMjVzIHNlZ21lbnRzIGluIHRoZSBzaW5rIHRvIGxvd2VyIGxhdGVuY3kKCjIwMTItMDktMjEgMTY6MTE6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBmaW5pc2ggcmVtYWluaW5nIGJpdHMgZm9yIHNvdXJjZSBlbGVtZW50LgoKMjAxMi0wOS0yMSAxNDoxNToxMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogYXR0ZW1wdCB0byBxdWVyeSBkZXZpY2UgZm9yIGNhcGFiaWxpdGllcwoKMjAxMi0wOS0yMCAxODo0MTo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGFkZCB0aGUgbXV0ZSBwcm9wZXJ0eSBhbmQgaGFuZGxlIHZvbHVtZS9tdXRlIGNoYW5nZXMgb24gdGhlIGZseQoKMjAxMi0wOS0yMCAxODowNDoyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJICBvcGVuc2xlczogbWFrZSB0aGUgdm9sdW1lIHByb3BlcnR5IGFjdHVhbGx5IHdvcmsKCjIwMTItMDktMjAgMTQ6MTY6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmV3b3JrIG9uIHRoZSByaW5nYnVmZmZlciB0byBwcm9wZXJseSBjbGVhciBzZWdtZW50cwoJICBNYWtlIHRoZSBzZWdtZW50cyBiaWdnZXIgKDEgc2Vjb25kKSBhcyBpdCBzZWVtcyB0byBiZSB0aGUgbWluaW11bSBzaXplCgkgIHdlIG5lZWQgdG8gbm90IGludHJvZHVjZSBub2lzZS4KCSAgU2luayB3b3JrcyBpbiBteSBuZXh1cyA3IHdpdGggcmF0ZXMgZnJvbSA4MDAwIHRvIDQ0MTAwIGFuZCBzb21lIG5vaXNlCgkgIGNhbiBiZSBub3RpY2VkIG9uIGhpZ2dlciBzYW1wbGUgcmF0ZXMuCgoyMDEyLTA5LTIwIDExOjUwOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBmaXhlcyB0aGUgbGljZW5zZSBoZWFkZXJzCgoyMDEyLTA5LTIwIDEwOjQxOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBwcm9kdWNlcyBleHBlY3RlZCBvdXRwdXQgdW50aWwgcmluZ2J1ZmZlciB3cmFwcwoJICBBZGQgc29tZSBsb2cgbWVzc2FnZXMuCgkgIEZpeGVkIGEgYml0IHRoZSBfcGxheWVyX2NiIGZ1bmN0aW9uIGFuZCBwcm9wZXJseSBhZHZhbmNlIHJlZGluZyBpbiB0aGUKCSAgcmluZ2J1ZmZlci4KCSAgU3RpbGwgcHJvZHVjZXMgbm9pc2Ugd2hlbiB0aGUgcmluZ2J1ZmZlciB3cmFwcy4KCjIwMTItMDktMTkgMTg6MTE6NTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogQWRkIGluaXRpYWwgZHJhZnQgaW1wbGVtZW50YXRpb24gb2YgT3BlblNMIEVTIHBsdWdpbi4KCSAgSW5pdGlhbCBkcmFmdCBpbXBsZW1lbnRhdGlvbiBmb3IgYSBPcGVuU0wgRVMgYmFzZWQgcGx1Z2luIGZvciBBbmRyb2lkCgkgIHRoYXQgcHJvdmlkZXMgYXVkaW8gc3JjIGFuZCBzaW5rLgoKMjAxMi0xMC0xOCAwOToyNDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogVXNlIGNvcnJlY3QgdmFyaWFibGUgbmFtZSBpbiBNYWtlZmlsZS5hbQoKMjAxMi0xMC0xNyAyMjo1NDoyOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MTQKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wNC0wMyAxMjowOToxOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQxNAoKMjAxMi0xMC0xNiAxMTozODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE2IDExOjM0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmU6IGZpeCBidWlsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1YzFjMzUyOTBkN2Y3MmE0YmMwMTZlOGFlZjI3NmQ4YzFiZGNmMzdiLgoKMjAxMi0xMC0xNiAxMTozMTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBtaXNzaW5nIGZpbGUKCjIwMTItMTAtMTYgMTE6MzI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkCgoyMDEyLTEwLTE1IDE2OjM1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVuYW1lIHBsdWdpbgoKMjAxMi0xMC0xNSAxNjoyOTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHRvIHRoZSBub3QgeWV0IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTEwLTE1IDE2OjA1OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IE1ha2UgZXZlcnl0aGluZyBidWlsZGFibGUKCjIwMTItMTAtMTUgMTQ6MzY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRG9uJ3QgdHJ5IHRvIHVzZSB0aGUgTlZpZGlhIERSTSBjb2RlY3MKCjIwMTItMTAtMDkgMTA6NTY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFRyeSB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMgbW9yZSBncmFjZWZ1bGx5CgkgIEFuZCBtYWtlIHN0b3AoKSBmYXN0ZXIgYW5kIG1vcmUgcm9idXN0CgoyMDEyLTEwLTA5IDEwOjI3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBBZGQgd29ya2Fyb3VuZCBmb3IgR29vZ2xlIE1QMyBkZWNvZGVyIG91dHB1dHRpbmcgZ2FyYmFnZSBpbiBmaXJzdCBvdXRwdXQgYnVmZmVyCgkgIEFuZCBhc3N1bWUgb25lIGRlY29kZWQgaW5wdXQgZnJhbWUgcGVyIG91dHB1dCBidWZmZXIgdG8gZml4IHRpbWVzdGFtcAoJICBoYW5kbGluZyBieSB0aGUgYmFzZSBjbGFzcy4KCjIwMTItMTAtMDkgMTA6MTQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBbHNvIGFkZCBzb21lIG1vcmUgb3V0cHV0IGZvcm1hdCBjaGVja3MgdG8gdGhlIGF1ZGlvIGRlY29kZXIKCjIwMTItMTAtMDkgMTA6MTM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDaGVjayBvdXRwdXQgZm9ybWF0IG1ldGFkYXRhIHNvbWUgbW9yZQoJICBBbmQgaW1wbGVtZW50IHdvcmthcm91bmQgZm9yIE5WaWRpYSBUZWdyYSAzIG5vdCBzZXR0aW5nIHRoZSBzbGljZV9oZWlnaHQuCgkgIFRoYW5rcyB0byBKb3NlcCBUb3JyYSBmb3IgZGVidWdnaW5nIHRoaXMgaXNzdWUuCgoyMDEyLTEwLTA1IDE1OjA5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCBzb21lIG1vcmUgZGVmYXVsdCBjaGFubmVsIGxheW91dHMsIHRoZXNlIHNob3VsZCBiZSBnb29kIGZvciBBQUMgYXQgbGVhc3QKCjIwMTItMTAtMDUgMTQ6NTY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBEb24ndCBzZXQgdGltZXN0YW1wcywgdGhlIGJhc2VjbGFzcyBoYW5kbGVzIHRoaXMgZm9yIHVzIGFueXdheQoKMjAxMi0xMC0wMyAxMDowNjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIExpc3QgcHJvZmlsZXMgaW4gcmV2ZXJzZSB0byBtaW5pbWl6ZSBjYXBzCgoyMDEyLTEwLTAzIDA5OjU2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSXRlcmF0ZSBsZXZlbHMgaW4gcmV2ZXJzZSBvcmRlciB0byBtaW5pbWl6ZSBjYXBzCgoyMDEyLTEwLTAzIDA5OjUxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBNZXJnZSBzdHJ1Y3R1cmVzIGludG8gY2FwcyBpbnN0ZWFkIG9mIGFwcGVuZGluZyB0aGVtCgoyMDEyLTA5LTI1IDEwOjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBVc2Ugb3JjX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQgc2hvdWxkIGJlIGZhc3RlciBmb3IgbGFyZ2VyIG1lbW9yeSBhcmVhcwoKMjAxMi0wOS0yNCAxNTozMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpby9tcGVnLUwyIGZvciB0aGUgTmV4dXMgNwoKMjAxMi0wOS0yNCAxNToxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBNUEVHMS8yIHZpZGVvCgoyMDEyLTA5LTE5IDE0OjUyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIElnbm9yZSB0aGUgKmxhdyBhbmQgVm9yYmlzIGRlY29kZXJzCgkgIFRoZXkgYXJlIGJyb2tlbiB1bmZvcnR1bmF0ZWx5LgoKMjAxMi0wOS0xOSAxMToyMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBGSVhNRSBjb21tZW50IGZvciBub3QgaGFuZGxpbmcgb2RkIHdpZHRocy9oZWlnaHQgd2l0aCB0aGUgVEkgaGFyZHdhcmUgZGVjb2RlcnMKCSAgTXVzdCBsaWtlbHkgYW4gaXNzdWUgd2l0aCB0aGUgY29kZWMgaXRzZWxmIHRob3VnaC4KCjIwMTItMDktMTkgMDk6NDc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggaGFuZGxpbmcgb2YgSTQyMCBidWZmZXJzIHdpdGggb2RkIHdpZHRoCgoyMDEyLTA5LTE4IDE1OjM4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgT25seSBtcGVndmVyc2lvbj00IGlzIHN1cHBvcnRlZCBmb3IgQUFDCgoyMDEyLTA5LTE4IDE1OjI4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBGSVhNRXMKCjIwMTItMDktMTcgMTM6NDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBmbHVzaGluZyBsb2dpYyB0byB1bmJyZWFrIGhhbmRsaW5nIG9mIGZsdXNoaW5nIHNlZWtzCgoyMDEyLTA5LTE3IDEyOjI0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGNocm9tYSBzdHJpZGUgZm9yIEk0MjAgc3RyaWRlL2Nyb3AgY29udmVyc2lvbgoKMjAxMi0wOS0xNyAxMToyODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBWb3JiaXMgZGVjb2RpbmcKCjIwMTItMDktMTQgMTY6MTc6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFdhaXQgYXQgbW9zdCAxMDBtcyBmb3IgZGVxdWV1ZWluZyBhIGJ1ZmZlciwgYW5kIHJldHJ5IGFmdGVyIHRoYXQKCSAgU29tZSBjb2RlY3MgZG9uJ3QgZmFpbCB0aGUgZGVxdWV1ZWluZyBpZiB0aGUgY29kZWMgaXMgZmx1c2hlZCwKCSAgY2F1c2luZyBkZWFkbG9ja3Mgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBlbGVtZW50LgoKMjAxMi0wOS0xNCAxNjoxMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVsZWFzZSBvdXRwdXQgYnVmZmVycyBhIGJpdCBlYXJsaWVyCgoyMDEyLTA5LTE0IDE2OjExOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgS2VlcCBhbm90aGVyIHJlZmVyZW5jZSBvZiB0aGUgaW5wdXQgYnVmZmVyIGluIGhhbmRsZV9mcmFtZSgpCgkgIEl0IG1pZ2h0IGJlIHVucmVmZmVkIGluIHRoZSBtZWFudGltZSBieSB0aGUgb3RoZXIgdGhyZWFkIGR1ZQoJICB0byBmaW5pc2hfZnJhbWUoKS4KCjIwMTItMDktMTQgMTY6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBQYXNzIC0xIGFzIG51bWJlciBvZiBmcmFtZXMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgZG8gdGhlIHJpZ2h0IHRoaW5nIGlmIHRpbWVzdGFtcHMgYXJlIGdvb2QgZW5vdWdoCgoyMDEyLTA5LTE0IDE2OjA5OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgVXNlIGNvcnJlY3QgYnVmZmVyIHZhcmlhYmxlCgoyMDEyLTA5LTE0IDE0OjQzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBbHdheXMgcGFzcyAxIGFzIG51bWJlciBvZiBmcmFtZXMgdG8gZmluaXNoX2ZyYW1lKCkKCjIwMTItMDktMTQgMTQ6NDI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBDb3JyZWN0bHkgcmVtZW1iZXIgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGVyYXRlCgoyMDEyLTA5LTE0IDE0OjQyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRG9uJ3QgdW5yZWYgaW5wdXQgYnVmZmVyIGZyb20gaGFuZGxlX2ZyYW1lKCksIGl0J3Mgb3duZWQgYnkgdGhlIGJhc2VjbGFzcwoKMjAxMi0wOS0xNCAxMzozMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFJlbW92ZSBpbnZhbGlkIEdTVF9FUlJPUigpIGNhbGwKCjIwMTItMDktMTQgMTM6Mjc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBPbmx5IHRyeSB0byBnZXQgdGhlIGNoYW5uZWwtbWFzayBpZiBpdCBpcyBzZXQKCjIwMTItMDktMTQgMTM6MjU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgRkxBQwoKMjAxMi0wOS0xNCAxMzoyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMi0wOS0xNCAxMzoxNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEZpeCBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCjIwMTItMDktMTQgMTM6MDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gZGVjb2RlcnMsIGNvbXBsZXRlbHkgdW50ZXN0ZWQgc28gZmFyCgoyMDEyLTA5LTE0IDEyOjA3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgT25seSBzZXQgdGhlIFNZTkNfRlJBTUUgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIGlmIHdlIG5lZWQgdG8gc3BsaXQgdGhlIGlucHV0CgoyMDEyLTA5LTEyIDE0OjMwOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJZ25vcmUgY29kZWNzIHdpdGggdW5rbm93biBjb2xvciBmb3JtYXRzIGZvciBzdGFiaWxpdHkgcHVycG9zZXMKCSAgVGhleSBjYW4gYmUgcmVnaXN0ZXJlZCBub25ldGhlbGVzcyBpZiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBvciBjb21waWxlLXRpbWUgI2RlZmluZSBpcyBzZXQuCgoyMDEyLTA5LTEyIDEzOjQ4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wbGVtZW50IGNyb3BwaW5nIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBkaWZmZXJlbnQgY29sb3IgZm9ybWF0cwoKMjAxMi0wOS0xMSAxNjozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlYWxseSBpbXBsZW1lbnQgc3RyaWRlIGNvbnZlcnNpb24gZm9yIE5WMTIgdG9vCgoyMDEyLTA5LTExIDE2OjI0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wbGVtZW50IHN0cmlkZS1jb252ZXJzaW9uIGZvciBJNDIwIGFuZCBOVjEyCgoyMDEyLTA5LTExIDE1OjU2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCB0eXBvIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMi0wOS0xMSAxNTo0OToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBEb24ndCBhbGxvdyB1c2luZyBub24tR29vZ2xlIGNvZGVjcyBpZiB3ZSBzdGFydGVkIHRoZSBKYXZhIFZNIG91cnNlbHZlcwoJICBIYXJkd2FyZSBjb2RlY3MsIGUuZy4gdGhlIFRJIG9uZXMsIG9ubHkgd29yayBpbiBwcm9jZXNzZXMgdGhhdCBoYWQgdGhlaXIKCSAgSmF2YSBWTSBzdGFydGVkIHZpYSB0aGUgbm9uLXB1YmxpYyBBbmRyb2lkUnVudGltZSBjbGFzcy4KCjIwMTItMDktMTEgMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgUmVuYW1lIHRvIGFtYyBmcm9tIGFuZHJvaWRtZWRpYWNvZGVjIGV2ZXJ5d2hlcmUKCjIwMTItMDktMTEgMTM6MDg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wOS0xMSAxMjozOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFByaW50IHRoZSBNZWRpYUZvcm1hdHMgd2UgZ2V0IGluIHRoZSBkZWJ1ZyBsb2dzCgoyMDEyLTA5LTEwIDE1OjMxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDktMTAgMTU6MzA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGxldmVsL3Byb2ZpbGUgaGFuZGxpbmcKCjIwMTItMDktMTAgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWxsb3cgcmVnaXN0ZXJpbmcgYXMgc3RhdGljIHBsdWdpbiB3aXRoIHRoZSBHU3RyZWFtZXIgU0RLIEFQSQoKMjAxMi0wOS0xMCAxMzozMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIElmIHRoZSBidWZmZXIgc2l6ZXMgYXJlIHRoZSBzYW1lLCBqdXN0IG1lbWNweSgpIHRvIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAxMi0wOS0xMCAxMjo1NjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENvcnJlY3RseSBjb252ZXJ0IHRpbWVzdGFtcHMgYmV0d2VlbiB1cyBhbmQgbnMKCjIwMTItMDktMDcgMTY6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBTZXQgU1lOQ19GUkFNRSBmbGFnIG9uIGJ1ZmZlcnMgaWYgcmVxdWlyZWQKCjIwMTItMDktMDcgMTQ6MjI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGZsdXNoaW5nCgoyMDEyLTA5LTA3IDEzOjQ0OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgV2FpdCBhdCBtb3N0IDAuNSBzZWNvbmRzIGZvciBnZXR0aW5nIGFuIGlucHV0IGJ1ZmZlciBmb3IgRU9TCgoyMDEyLTA5LTA3IDEzOjQyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ29ycmVjdGx5IGNoZWNrIGZvciBmbHVzaGluZwoKMjAxMi0wOS0wNiAxNzoyNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJldHJ5IGZvciBuZWdhdGl2ZSByZXR1cm4gdmFsdWVzIHdoZW4gZGVxdWV1ZWluZyBidWZmZXJzCgoyMDEyLTA5LTA2IDE3OjA3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IHJlZmNvdW50IGJ1ZwoKMjAxMi0wOS0wNiAxNzowNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFRoZSBNZWRpYUNvZGVjIEFQSSBpcyBhcHBhcmVudGx5IG5vdCB0aHJlYWRzYWZlIGJldHdlZW4gc3RvcCgpIGFuZCByZWxlYXNlKCkKCSAgU28gd2UgZG9uJ3QgY2FsbCByZWxlYXNlKCkgYW5kIGp1c3QgaG9wZSBmb3IgdGhlIEdDIHRvIHJlbGVhc2UgdGhlCgkgIGNvZGVjIGluIHRpbWUuCgoyMDEyLTA5LTA2IDE1OjQ0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBwbHVnaW4gY2FjaGUgY3JlYXRpb24KCjIwMTItMDgtMjQgMDQ6MzU6NDQgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQ2FjaGUgdGhlIGNvZGVjIGluZm9ybWF0aW9ucyBpbnNpZGUgdGhlIHJlZ2lzdHJ5CgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgbG9hZCBhbGwgY29kZWNzIGR1cmluZyBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCSAgd2hpY2ggY2FuIHRha2UgcXVpdGUgc29tZSB0aW1lIChiZWNhdXNlIG9mIGhhcmR3YXJlKSBhbmQgYWxzbyBsb2FkcwoJICBsb3RzIG9mIHNoYXJlZCBsaWJyYXJpZXMgKHdoaWNoIG51bWJlciBpcyBsaW1pdGVkIGJ5IDY0IGluIEFuZHJvaWQpLgoKMjAxMi0wOC0yNCAwOToyMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBQcm9wZXJseSBhdHRhY2ggYW5kIGRldGFjaCB0aGUgY3VycmVudCB0aHJlYWRzIHRvIHRoZSBKYXZhIFZNCgkgIEF0dGFjaGluZyBhIHRocmVhZCBhZnRlciBpdCB3YXMgZGV0YWNoZWQgd2lsbCBjYXVzZSBzZWdmYXVsdHMsCgkgIGFzIHN1Y2ggd2UgdXNlIGEgcHRocmVhZF9rZXlfdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBKTklFbnYqIG9mCgkgIHRoZSBhdHRhY2hlZCB0aHJlYWRzIGFuZCBpbiB0aGUgZGVzdHJ1Y3RvciAoaS5lLiB3aGVuIHRoZQoJICB0aHJlYWQgZXhpdHMpIHdlIGRldGFjaCB0aGUgdGhyZWFkLgoKMjAxMi0wOC0yMyAxNzozMTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIERvbid0IGdldCB0aGUgb3V0cHV0IGZvcm1hdCBmcm9tIHRoZSBjb2RlYyBiZWZvcmUgaXQgaXMgcmVhZHkKCSAgQXBwYXJlbnRseSB0aGluZ3MgYXJlIGNyYXNoaW5nIG90aGVyd2lzZS4KCjIwMTItMDgtMjMgMTc6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBHZXQgdGhlIGlucHV0IGJ1ZmZlcnMgZnJvbSB0aGUgY29kZWMKCjIwMTItMDgtMjMgMTc6MzA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IEpOSSBtZXRob2QgY2FsbCBzaWduYXR1cmVzCgoyMDEyLTA4LTIzIDE3OjMwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEluaXRpYWxpemUgdGhlIFZNIHdpbGwgZnVsbCBkZWJ1Z2dpbmcgZm9yIG5vdwoKMjAxMi0wOC0yMyAxMzo1MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBVc2UgTmV3U3RyaW5nVVRGKCkgaW5zdGVhZCBvZiBvdXIgb3duIG1ldGhvZCBmb3IgdGhhdAoKMjAxMi0wOC0yMyAxMjozMDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgdGhlIFRJIGZvcm1hdCB0byB0aGUgbWFwcGluZyB0YWJsZSB0b28KCjIwMTItMDgtMjMgMTI6Mjk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCBhbm90aGVyIFRJIHNwZWNpZmljIE9wZW5NQVggY29sb3IgZm9ybWF0CgoyMDEyLTA4LTIyIDE5OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4ZXMgdG8gZWxlbWVudC9lbGVtZW50ZmFjdG9yeSBjcmVhdGlvbgoKMjAxMi0wOC0yMiAxOToxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBTb21lIGJ1Z2ZpeGVzIHRvIHRoZSBjb2RlYyBzY2FubmluZyBjb2RlCgkgIEFsc28gaXQncyBub3QgcG9zc2libGUgdG8gYXR0YWNoIGEgdGhyZWFkIGFmdGVyIGl0IHdhcwoJICBkZXRhY2hlZCBvbmNlLiBBcyBzdWNoIHdlIHNpbXBseSBuZXZlciBkZXRhY2ggYW55IHRocmVhZAoJICBhdCBhbGwgbm93LgoKMjAxMi0wOC0yMiAxODozNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggc29tZSBjb21waWxhdGlvbiBlcnJvcnMKCjIwMTItMDgtMjAgMTQ6MTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgaW1wb3J0YW50IEZJWE1FCgoyMDEyLTA4LTIwIDEzOjQ1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBBZGQgdmlkZW8gZGVjb2RlciBlbGVtZW50CgoyMDEyLTA4LTIwIDEzOjQ1OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEFkZCBzb21lIG1vcmUgSk5JIHdyYXBwaW5nCgoyMDEyLTA4LTIwIDEzOjQyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJICBBZGQgc29tZSBtaXNzaW5nIGNvbG9yIGZvcm1hdCBjb25zdGFudHMKCjIwMTItMDgtMTYgMTU6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEltcGxlbWVudCBiYXNpYyB3cmFwcGVyIGFyb3VuZCBNZWRpYUNvZGVjIEFQSQoJICBJZGVhbGx5IG5vdGhpbmcgZWxzZSB3aWxsIGJlIG5lZWRlZCBmcm9tIHRoZSBlbGVtZW50cyBsYXRlci4KCjIwMTItMDgtMTUgMTg6MjM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgU29tZSBtb3JlIFdJUAoJICBTY2FubmluZyBhbGwgY29kZWNzIG5vdyBhbmQgaGF2ZSBkYXRhIHN0cnVjdHVyZXMgZm9yIGhvbGRpbmcgY29kZWMKCSAgaW5mb3JtYXRpb24gYW5kIGNvZGVjIGNvbnRleHRzLiBBbHNvIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBmb3IKCSAgd29ya2luZyB3aXRoIHRoZW0uCgoyMDEyLTA4LTE0IDEzOjIwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIEluaXRpYWwgY29tbWl0CgoyMDEyLTEwLTE1IDE1OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhbmRyb2lkbWVkaWEgcGx1Z2luCgoyMDEyLTEwLTE1IDExOjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFuZCBmaXggYW5vdGhlciBkZWFkbG9jayBjYXVzZWQgYnkgdGhlIHVwZGF0ZSB0aHJlYWQgbm90IGNvcnJlY3RseSBzaHV0dGluZyBkb3duCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDExOjAyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHNkZW11eDogQWxzbyBob2xkIHRoZSBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgY29uZGl0aW9uIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmMKCjIwMTItMTAtMTUgMTA6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyBjYW5jZWwgdGhlIGRvd25sb2FkZXIgYmVmb3JlIHN0b3BwaW5nIHRoZSBwbGF5bGlzdCB1cGRhdGUgdGFzawoKMjAxMi0xMC0xNSAxMDozODoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IGxvY2sgdGhlIG11dGV4IHdoZW4gaXQncyBub3QgbG9ja2VkIGFscmVhZHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMTA6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGFub3RoZXIgcmFjZSBjb25kaXRpb24gYnkgaG9sZGluZyB0aGUgbXV0ZXggdGhhdCB0aGUgY29uZGl0aW9uIHZhcmlhYmxlIHVzZXMKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMDk6NDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUG9ydCBzb21lIHRoaW5ncyBmcm9tIHRoZSBsYXN0IGNvbW1pdHMKCjIwMTItMTAtMTUgMDk6MzU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTmV2ZXIgZXZlciBzdG9wIGEgdGFzayBmcm9tIHRoZSB0YXNrIGZ1bmN0aW9uCgkgIFRoaXMgd2lsbCBkZWFkbG9jay4gQWxzbyBtYWtlIHN1cmUgdG8gYWx3YXlzIHBvc3QgYW4gZXJyb3IgbWVzc2FnZQoJICBpZiByZXF1aXJlZCBiZWZvcmUgcGF1c2luZyB0YXNrcyBmcm9tIHRoZSB0YXNrIGZ1bmN0aW9uLgoJICBTaG91bGQgZml4IGFub3RoZXIgYnVuY2ggb2YgZGVhZGxvY2tzLgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAwOToyNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggbG90cyBvZiBkZWFkbG9ja3MgY2F1c2VkIGJ5IHJhY2UgY29uZGl0aW9ucyBpbiB0aGUgdGFzayBzdGF0ZSBoYW5kbGluZwoKMjAxMi0xMC0xMiAxMDo1Nzo0NCArMDQwMCAgU2VyZ2V5IE4uIEdvcnNoa292IDxzbmdAc2V0ZXZpc29yLnR2PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGhhbmRsZSBSVE1QX1dyaXRlKCkgcmV0dXJuIHZhbHVlIGNvcnJlY3RseQoJICBFcnJvciBtaWdodCBhbHNvIGJlIG5lZ2F0aXZlICgtMSkuIFVuY2xlYXIgaWYgMCBzaG91bGQKCSAgYmUgZmF0YWwgYXMgd2VsbCB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOQoKMjAxMi0xMC0xMiAyMzowOTowNiArMDEwMCAgRGF2aWQgUsOpZ2FkZSA8ZHJlZ2FkZUB2aWV3c3VyZi5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZml4IG1lbW9yeSBsZWFrIGZyb20gVVJJIHZlcmlmaWNhdGlvbiB2aWEgUlRNUF9QYXJzZVVSTCgpCgkgIEluIGdzdF9ydG1wX3NpbmtfdXJpX3NldF91cmkoKSwgYSB0ZXN0IGlzIHBlcmZvcm1lZCBpbiBvcmRlcgoJICB0byBiZSBzdXJlIHVyaSBpcyBjb3JyZWN0IGZvciBsaWJydG1wLiBUaGlzIHRlc3QgY2FsbHMKCSAgUlRNUF9QYXJzZVVSTCB3aXRoIDMgQVZhbCBwb2ludGVycyBhcyBwYXJhbWV0ZXJzOiBob3N0LAoJICBwbGF5cGF0aCBhbmQgYXBwLgoJICBBVmFsIGlzIGEgc3RydWN0IHdpdGggYSBjaGFyKiArIGludC4gQWZ0ZXIgUlRNUF9QYXJzZVVSTCBjYWxsLAoJICBob3N0LmF2X3ZhbCBhbmQgYXBwLmF2X3ZhbCBib3RoIHJlZmVyIGEgc3Vic3RyaW5nIG9mICJ1cmkiLiBCdXQKCSAgcGxheXBhdGguYXZfdmFsIG1heSBiZSB0aGUgcmVzdWx0IG9mIGEgbWFsbG9jIHNvIGl0IG5lZWRzIHRvCgkgIGJlIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDU5CgoyMDEyLTEwLTEyIDIyOjMzOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYWR2YW5jZSBzdHJlYW0gdGltZSB3aGVuIHNlbmRpbmcgR0FQIGV2ZW50CgoyMDEyLTEwLTEyIDIyOjMzOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogc2VuZCBsYW5ndWFnZSBpbmZvIGRvd25zdHJlYW0gaWYgYXZhaWxhYmxlCgkgIC4uLiBhcyBleHRyYWN0ZWQgZnJvbSBkdmQgZXZlbnQuCgoyMDEyLTEwLTEyIDIyOjMxOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogcmVtb3ZlIG9ic29sZXRlIHN0cnVjdCBmaWVsZAoKMjAxMi0xMC0xMiAxMjoyODo0NCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogU2V0IGZyYW1lc2l6ZSBhbmQgcHJvcGVydGllcyBjb3JyZWN0bHkgd2hlbiB0YWtpbmcgZm9ybWF0IGZyb20gY2Fwcy4KCjIwMTItMTAtMTIgMTc6NTE6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiB0d2VhayBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoKMjAxMi0xMC0xMiAxNTo0NDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGhhbmRsZSB1cHN0cmVhbSBUSU1FIHNlZ21lbnRzCgoyMDEyLTEwLTEyIDE1OjA3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogaGFuZGxlIGFuZCBjb21iaW5lIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCjIwMTItMTAtMTIgMTQ6NTA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgbmV3IHN0eWxlIGR2ZCBldmVudAoKMjAxMi0xMC0xMSAxNToyOTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBhZGQgcGFkIGFmdGVyIG5vLW1vcmUtcGFkcwoKMjAxMi0xMC0xMSAxNToyNzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IGNsZWFuIHVwIHNlZ21lbnQgc2VuZGluZwoJICAuLi4gdG8gdXNlIHRoZSBzcmNfc2VnbWVudCBhcyBhIGJhc2lzIGZvciB0aGUgc2VudCBzZWdtZW50LAoJICB0aGVyZWJ5IHByb3Blcmx5IGNvbnZleWluZyBhY2N1bXVsYXRlZCBiYXNlX3RpbWUgZXRjLgoJICBBbHNvIGVuc3VyZSBzcmNfc2VnbWVudCBpcyBvbmx5IGFkanVzdGVkIG9uY2UsIHNvIHRoYXQKCSAgYWxsIGRvd25zdHJlYW0gc2VnbWVudHMgYXJlIGlkZW50aWNhbCB0byBhdm9pZCBzdHJlYW0KCSAgbWlzYWxpZ25tZW50LgoKMjAxMi0xMC0xMSAxMjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHNlbmQgR0FQIGV2ZW50IHJhdGhlciB0aGFuIHNlZ21lbnQgdXBkYXRlcwoKMjAxMi0xMC0xMSAxMTo1MTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlZmFjdG9yIHNlZ21lbnQgc2VuZGluZwoKMjAxMi0xMC0xMSAxMTozMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlZmFjdG9yIGluaXQgYW5kIHJlc2V0CgoyMDEyLTEwLTExIDExOjA0OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbm8gbW9yZSBzZWdtZW50IGNsb3NpbmcgaW4gMS4wCgoyMDEyLTEwLTExIDExOjAzOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2xlYW4gdXAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEyLTEwLTExIDE1OjMxOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IGJ1ZmZlciBwYXJzaW5nCgkgIC4uLiB0byBhdm9pZCBmZWVkaW5nIGVtcHR5IGJ1ZmZlcnMgdG8gZGVjb2Rlci4KCjIwMTItMTAtMTIgMTU6MjY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpcnN0IHB1c2ggRU9TLCB0aGVuIGRlc3Ryb3kgYWxsIHByb2dyYW1zCgkgIEFuZCBhbHNvIHByb3Blcmx5IHJlbW92ZSB0aGUgcHJvZ3JhbSBmcm9tIHRoZSBzdWJjbGFzcwoKMjAxMi0xMC0xMiAxNTowOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggaW52YWxpZCByZWFkCgoyMDEyLTEwLTEwIDE4OjE4OjAzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzaWduYWwgaW50ZXJsYWNpbmcgcHJvcGVybHkgaW4gdmlkZW8gY2FwcwoJICBUaGUgZmllbGQgaXMgY2FsbGVkICJpbnRlcmxhY2UtbW9kZSIgbW9kZSBub3cgYW5kIGlzIGEgc3RyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODk1CgoyMDEyLTEwLTEwIDE0OjExOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICByZXBsYWNlIHNvbWUgcGxheWJpbjIgLT4gcGxheWJpbgoKMjAxMi0xMC0xMCAwOTo1ODozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHJlc2V0IGZyYW1lIHBhcnNlciBhZnRlciBwYXJzaW5nIGNhcHMgY29kZWMgZGF0YQoJICAuLi4gc28gYXMgdG8gYXJyYW5nZSBmb3IgYSBwcm9wZXIgZnJlc2ggc3RhdGUgdXBvbiBmaXJzdCBmcmFtZS4KCjIwMTItMTAtMTAgMDk6NDg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSB0byB0aGUgcmlnaHQgY29tbWl0IGFnYWluCgkgIFdhcyBhY2NpZGVudGlhbGx5IHJldmVydGVkIHRvIGFuIG9sZGVyIHZlcnNpb24gaW4gdGhlIGxhc3QgY29tbWl0LgoKMjAxMi0xMC0wOSAyMzowMDoxNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZTogYWRkIGEgbW9kZSB3aGVyZSB0aGUgY2FwcyBhcmUgdGFrZW4gZnJvbSB0aGUgc2luayBwYWQsIGFuZCB0aHVzIGF1ZGlvcGFyc2UgaXMgb25seSBwZXJmb3JtaW5nIHRpbWVzdGFtcGluZy4KCjIwMTItMTAtMDkgMjE6MTk6MTUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcmVzZXQgZnJhbWUgcGFyc2VyIGFmdGVyIHBhcnNpbmcgY29kZWNfZGF0YSBidWZmZXIgaW4gY2FwcywgdG8gYXZvaWQgbm90IGNvcnJlY3RseSBwYXJzaW5nIHRoZSBmdWxsIGZpcnN0IGZyYW1lLgoKMjAxMi0xMC0wOSAxMzo1MzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHByb3Blcmx5IG1hcmsgY29uZmlnIGRhdGEgcHJlc2VuY2UKCSAgLi4uIHdoaWNoIHdlIGFsbG93IHRvIHN0YXJ0IGF0IFZpc3VhbE9iamVjdFNlcXVlbmNlIG9yCgkgIGF0IFZpZGVvT2JqZWN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NzA5CgoyMDEyLTEwLTA4IDEyOjM4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogRml4IHVuaXRpYWlsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIEFuZCBhbHNvIHVzZSB0aGUgcGFkJ3MgZGVmYXVsdCBldmVudCBmdW5jdGlvbiBpbnN0ZWFkCgkgIG9mIGp1c3QgcHVzaGluZyB0byB0aGUgcGVlcnBhZC4gVGhpcyBtYWtlcyBzdXJlIGFueQoJICBkZWZhdWx0IGhhbmRsaW5nIG9mIGV2ZW50cyBpcyBjYWxsZWQuCgoyMDEyLTEwLTA4IDEyOjIzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmllbGRhbmFseXNpczogUmVtb3ZlIGZyb20gdGhlIE5PTlBPUlRFRCBwbHVnaW5zIGxpc3QKCSAgSXQncyBzdXBwb3NlZCB0byBiZSBwb3J0ZWQgaW4gMS4wLjEgYWxyZWFkeS4KCjIwMTItMTAtMDcgMTc6MDY6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgJ21ha2UgdXBsb2FkJyB0YXJnZXQgZm9yIGRvY3MvIGZvciBuZXctcmVsZWFzZSBzY3JpcHQKCjIwMTItMTAtMDcgMTc6MDM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjEgPT09CgoyMDEyLTEwLTA3IDE1OjU3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMQoKMjAxMi0xMC0wNiAxNDo1Nzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmMwYjUyYyB0byA2YmI2OTUxCgoyMDEyLTEwLTAzIDExOjA1OjA2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIG1ldGEgaW5mbzogcmVnaXN0ZXIgdGhyZWFkLXNhZmVseS4KCjIwMTItMTAtMDMgMTc6MjM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBBbHNvIGNvbW1pdCByZW1haW5pbmcgdW5jb21taXR0ZWQgY2hhbmdlcy4uLgoKMjAxMi0xMC0wMyAwOTozOToyOCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogcmVkaWZpbmUgdnA4X25vcm0gdG8gYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcyB3aXRoIGxpYnZweAoKMjAxMi0xMC0wMyAwOTo0OTozOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyBmb3Igc3RhdGljIGxpbmtzIHdpdGggbGlic2Nocm9lZGluZ2VyCgoyMDExLTEyLTI2IDIyOjA0OjA0IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBhZGQgWVYxMiBhbmQgTlYxMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjAKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmgKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmMKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDEyLTEwLTAyIDIyOjIwOjIwICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBjYXBzIGxvY2sgZnJvbSBwYXJzZXR0ZXIgZWxlbWVudC4KCSAgQWxsIHRoZSBtZW1iZXJzIGl0IHVzZWQgdG8gcHJvdGVjdCBpbiAwLjEwIGFyZSBwcm90ZWN0ZWQgYnkKCSAgdGhlIHN0cmVhbSBsb2NrIG5vdy4KCjIwMTItMTAtMDEgMjM6NDM6NDcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSAgcmVzaW5kdmQ6IFVwZGF0ZSBvdmVycmlkZGVuIGNhcHMgd2hlbiB0aGUgREFSIGNoYW5nZXMKCSAgU2VuZCBhIG5ldyBjYXBzIGV2ZW50IGRvd25zdHJlYW0gd2hlbiB3ZSByZWNlaXZlIG5ldyBvcmRlcnMKCSAgZnJvbSB0aGUgVk0sIGlmIHRoZXJlIGFyZSBleGlzdGluZyBjYXBzLgoKMjAxMi0xMC0wMSAyMzoyMToxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIHJlc2luZHZkOiBQb3J0IHBhcnNldHRlciBlbGVtZW50CgkgIFBvcnQgdGhlIERWRCBlbGVtZW50IHdoaWNoIG92ZXJyaWRlcyB0aGUgTVBFRyBlbmNvZGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICB0byBtYXRjaCB0aGF0IHJlcXVlc3RlZCBieSB0aGUgRFZEIFZNLgoKMjAxMi0xMC0wMSAxMzo1MjozNSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCjIwMTItMDktMzAgMjA6NTI6MzAgKzAyMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8Y2ZlcmdlYXVAcmVkaGF0LmNvbT4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogTWlzc2luZyB1bm1hcCBidWZmZXIgaW4gdHJhbnNmb3JtX2lwCgkgIFdoZW4gbm8gc2FtcGxlcyBoYXZlIHRvIGJlIHByb2Nlc3NlZCwgdHJhbnNmb3JtX2lwIGV4aXRzIGVhcmx5LCBidXQKCSAgdGhlIGJ1ZmZlciBpdCB1c2VzIHdhcyBub3QgcHJvcGVybHkgdW5tYXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNTkKCjIwMTItMDktMzAgMDM6NDk6MTcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaWRkbGUgd2l0aCBzZWdtZW50IGhhbmRsaW5nIGZvciBEVkQuCgkgIENsYXJpZnkgc29tZSBvZiB0aGUgdGVybXMgdXNlZCwgYW5kIG1ha2Ugc3VyZSB0byBleHRlbmQgdGhlCgkgIHN0b3AgdGltZSB3aGVuIHRoZSBwb3NpdGlvbiBtb3ZlcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQKCSAgc2VnbWVudCAoYXMgZm9yIHN0aWxsIGZyYW1lcywgZm9yIGV4YW1wbGUpLgoJICBBbHNvLCBtYWtlIHN1cmUgdG8gcmVzZXQgdGhlIHBvc2l0aW9uIHZhbHVlIG9mIHRoZSBzZWdtZW50IHRoZQoJICBkZW11eGVyIG91dHB1dHMgd2hlbiBjb2xsZWN0aW5nIGEgc2VhbWxlc3Mgc2VnbWVudC4KCjIwMTItMDktMjkgMTM6MjE6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IGZpeCBwbHVnaW4gbG9hZGluZyBmb3IgZnJlaTByIGVsZW1lbnRzIHRoYXQgaGF2ZSBubyBpbmZvLmV4cGxhbmF0aW9uCgkgIFdlIGRvbid0IGFsbG93IGVtcHR5IGRlc2NyaXB0aW9ucyBmb3IgZWxlbWVudHMgYW55IG1vcmUuCgoyMDEyLTA5LTI5IDEyOjM2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNvbWUgbGlib2lsIHJlZmVyZW5jZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzI4NQoKMjAxMi0wOS0yOSAxMjozMDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgc29tZSBvbGQgZWxlbWVudHMgc28gdGhleSBkb24ndCBnZXQgcG9ydGVkIGFjY2lkZW50YWxseQoJICBUaGV5IGFyZSByZXBsYWNlZCBieSB2aWRlb2NvbnZlcnQgYW5kIGdka3BpeGJ1Zm92ZXJsYXkKCjIwMTItMDktMjggMjI6MzA6MzkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmw6IGZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggc2V0c29ja29wdCgpIG9uIHdpbmRvd3MKCSAgVGhlIG9wdHZhbCBhcmd1bWVudCBpcyBvZiB0eXBlIGNvbnN0IGNoYXIgKiBvbiB3aW5kb3dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDY1CgoyMDEyLTA5LTI4IDExOjU5OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IFBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE2NzgKCjIwMTItMDktMjYgMDg6MjA6NDkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmw6IGZpeCBidWlsZCBvbiB3aW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0ODQ3CgoyMDEyLTA5LTI4IDAwOjA2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogY2hhbmdlIHZpZGVvLXNvdXJjZSBpZiB0aGUgdXNlciByZXF1ZXN0ZWQKCSAgV2hlbiBnb2luZyBmcm9tIG51bGwgdG8gcmVhZHksIGNoZWNrIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCB0bwoJICB1c2UgYSBuZXcgc291cmNlIGFuZCByZXBsYWNlIHRoZSBjdXJyZW50IG9uZS4KCSAgRml4ZXMgIzY4MTU2MgoKMjAxMi0wOS0yNyAyMzoyMjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBwYWQgcHJvYmUgaWRzIGFyZSBndWxvbmcKCSAgQ2hhbmdlIHZhcmlhYmxlIHRvIHRoZSBjb3JyZWN0IHR5cGUKCjIwMTItMDktMjcgMTk6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiB1c2UgY29ycmVjdCBlbGVtZW50IG5hbWUgd2hlbiByZXBsYWNpbmcgdGhlIHZpZGVvIGZpbHRlcgoJICBUaGUgbmFtZSB3YXMgdXBkYXRlZCBvbiB0aGUgMC4xMCAtPiAxLjAgdHJhbnNpdGlvbiwgYnV0IHRoZQoJICBnc3RfYmluX3JlbW92ZSB3YXMgc3RpbGwgdXNpbmcgdGhlIG9sZCBuYW1lLCBjYXVzaW5nIGFuIGFzc2VydGlvbgoJICB3aGVuIHJlcGxhY2luZyB2aWRlby1zb3VyY2UtZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE1NjQKCjIwMTItMDktMjYgMTQ6NTA6MDQgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBUcmFuc2Zvcm0gdGltZXN0YW1wcyBwcm9wZXJseSBhZnRlciBhIHNlZWsuCgkgIFRoZSBzZWdtZW50IGlzIHRyYW5zZm9ybWVkIHRvIG1hdGNoIHRoZSBwaXRjaCBjb252ZXJzaW9uCgkgIGJlaW5nIGFwcGxpZWQsIHNvIG1ha2Ugc3VyZSB0aGUgdGltZXN0YW1wcyBiZWluZyBvdXRwdXQKCSAgbWF0Y2ggdGhlIGNvbmZpZ3VyZWQgZG93bnN0cmVhbSBzZWdtZW50IGFjY29yZGluZ2x5LCBhbmQKCSAgYWRqdXN0IHRoZSBkb3duc3RyZWFtIHNlZ21lbnQgcG9zaXRpb24gdG8gbWF0Y2ggdGhlIHN0cmVhbSB0aW1lCgkgIHJhdGlvIGFsc28uCgoyMDEyLTA5LTE4IDAxOjEzOjM2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIHNwdXJpb3VzICdjbG9zZSBzZWdtZW50JyBldmVudHMuIE1ha2UgYSBzaW5nbGUgc2VnbWVudAoJICBXaXRoIHRoZSBuZXcgMS4wIHNlZ21lbnQgc2VtYW50aWNzLCB0aGVyZSdzIG5vIG5lZWQgdG8gY2xvc2UgdGhlCgkgIHByZXZpb3VzIHNlZ21lbnQgYmVmb3JlIHNlbmRpbmcgb3V0IGEgbmV3IG9uZSwgc28gZG9uJ3QgZG8gaXQuCgkgIEFsc28sIGFkanVzdCB0aGUgb3V0Z29pbmcgc2VnbWVudCB0byBqdXN0IGJlIG9uZSBjb250aWd1b3VzCgkgIHRpbWVsaW5lLCB3aXRoIGEgYmFzZSBvZiAwLiBGaXhlcyBzb21lIHJlcGVhdGluZyB0aW1lc3RhbXBzIHdoZW4KCSAgc2VnbWVudHMgY2hhbmdlLgoKMjAxMi0wOS0yNCAxNzoyNToyNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkgIGZpZWxkYW5hbHlzaXM6IFBvcnQgdG8gMS4wCgkgIEkgd2FzIGFsc28gdmFndWVseSBmb3JjZWQgdG8gb3ZlcmhhdWwgc29tZSBiaXRzIGFuZCBwaWVjZXMgYW5kIG1lc3Mgd2l0aAoJICB0aGUgZGF0YSBzdHJ1Y3R1cmVzLiBUaGlzIHdhcyBtb3N0bHkgZHVlIHRvIGNhcHMgbm90IGJlaW5nIHBhcnQgb2YKCSAgYnVmZmVycyBhbmQgc28gSSBoYWQgdG8gc3dpdGNoIHRvIHVzaW5nIEdzdFZpZGVvRnJhbWUgYW5kIEdzdFZpZGVvSW5mby4KCjIwMTItMDktMjQgMTY6MTE6MzIgLTA1MDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJICBjaHJvbWFwcmludDogbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UKCSAgQ2FsbHMgdG8gZ3N0X2Jhc2VfdHJhbnNmb3JtX2dldF90eXBlIGFuZCBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X3Bhc3N0aHJvdWdoCgkgIHJlcXVpcmUgbGlua2luZyB3aXRoIGxpYmdzdGJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3NDAKCjIwMTItMDktMjQgMTY6NTk6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjQyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMAoKMjAxMi0wOS0yNCAxNDo0MjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTIzIDEzOjE1OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGNoYW5nZSBkZXZpY2UgaW5zdGFuY2UgbGlmZWN5Y2xlCgkgIFRoZSBkZWNrbGluayBkcml2ZXIgZXZlbnR1YWxseSBjcmFzaGVzIGFmdGVyIHJlcGVhdGVkIGNyZWF0aW9uL2RlbGV0aW9uCgkgIG9mIGRldmljZSwgaW5wdXQsIG91dHB1dCwgYW5kIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy4gIENoYW5nZSB0byBjcmVhdGUKCSAgdGhlc2UgYXQgdGhlIG91dHNldCBhbmQga2VlcCB0aGVtIGFyb3VuZCBmb3JldmVyLgoKMjAxMi0wOS0yMiAxMzo1Njo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogRml4IG1lbW9yeSBsZWFrcwoJICBCdWZmZXJzIG5vdyBob2xkIG9uIHRvIGEgcmVmZXJlbmNlIGZvciB0aGUgaW5wdXQsIHNvIHRoZSBpbnB1dAoJICBvYmplY3QgZG9lc24ndCBnZXQgZnJlZWQgKGFuZCBjYXJyeSB0aGUgYnVmZmVycyB3aXRoIGl0KSBiZWZvcmUKCSAgYWxsIHRoZSBidWZmZXJzIGFyZSBmcmVlZC4KCjIwMTItMDktMjMgMjE6MDg6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgdGVzdHM6IGRpc2FibGUgYXNzcmVuZGVyIHVuaXQgdGVzdAoJICBEb2Vzbid0IHdvcmssIG5lZWRzIGZpeGluZy4KCjIwMTItMDktMjMgMjE6MDc6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGRpc2FibGUgZm9yIGF1dG9wbHVnZ2luZyB1bnRpbCBpdCB3b3JrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTkyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ2ODMKCjIwMTItMDktMjIgMTU6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBVc2UgMS4wLXN0eWxlIGNhcHMgbmVnb3RpYXRpb24gYW5kIGF1ZGlvL3gtcmF3CgoyMDEyLTA5LTIwIDE4OjQyOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzZW5jOiBSYW5rIGFzIFByaW1hcnkKCjIwMTItMDktMjAgMTg6NDE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEFsbG9jYXRlIHRoZSBydHAgYnVmZmVyIGNvcnJlY3RseQoJICBVc2UgdGhlIHJpZ2h0IGZ1bmN0aW9ucyB0byBhbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlcgoKMjAxMi0wOS0yMiAxNjowODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGY5NjJmNyB0byA2YzBiNTJjCgoyMDEyLTA5LTIwIDAwOjA4OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkgIGludGVyc3Vic3JjOiBkaXNhYmxlIHRpbWVzdGFtcGluZyBjb2RlIHRoYXQgZG9lc24ndCBtYWtlIHNlbnNlCgkgIGFuZCB3aGljaCBicmVha3MgdGhlIHN0YXRlcyBjaGVjayBiZWNhdXNlIHdlIGVuZCB1cCB0cnlpbmcgdG8KCSAgZGl2aWRlIGJ5IDAuCgoyMDEyLTA5LTE4IDEzOjE3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBpbml0IHZpZGVvaW5mbwoKMjAxMi0wOS0xOCAxMzoxNzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGluaXQgdmlkZW9pbmZvCgoyMDEyLTA5LTE4IDAwOjEyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogcmVtb3ZlIG9uZSBtb3JlIG9sZCBpbmNsdWRlCgo9PT0gcmVsZWFzZSAwLjExLjk5ID09PQoKMjAxMi0wOS0xNyAxODowNDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45OQoKMjAxMi0wOS0xNyAxNzo1MjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvM2QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMTc6MTM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IHJlbW92ZSBmcmVlemUgZWxlbWVudCwgd2FzIHJlcGxhY2VkIGJ5IGltYWdlZnJlZXplIGluIC1nb29kIHllYXJzIGFnbwoKMjAxMi0wOS0xNyAyMzo1OTozNCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IEZpeCBzZWdtZW50IGhhbmRsaW5nIGluIHRoZSBkZW11eGVyLgoJICBUcmFuc2ZlciB0aGUgaW5jb21pbmcgc2VnbWVudCBiYXNlIHRpbWUgdG8gdGhlIHNyYwoJICBzZWdtZW50IHRoZSBkZW11eGVyIHNlbmRzIGRvd25zdHJlYW0uIEFkZCBzb21lCgkgIChkaXNhYmxlZCkgZGVidWcgdG8gdGhlIGJpbiBmb3IgdHJhY2tpbmcgb3V0Z29pbmcKCSAgdGltZXN0YW1wcy4KCjIwMTItMDktMTcgMDA6MDU6MTkgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgdnA4IHBsdWdpbiBmcm9tIHNwZWMgYWZ0ZXIgbW92ZSB0byBnb29kCgoyMDEyLTA5LTE2IDE1OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4OiBSZW1vdmUgcGx1Z2luLCBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgoyMDEyLTA5LTE2IDE1OjI1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogVW5yZWYgaW5wdXQvb3V0cHV0IHN0YXRlcyB3aGVuIHN0b3BwaW5nIHRoZSBkZWNvZGVyCgoyMDEyLTA5LTE2IDE1OjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSAgdnA4ZW5jOiBVcGRhdGUgcmVhbHRpbWUgcHJvZmlsZSB0byB0aGUgbmV3IHByb3BlcnRpZXMKCjIwMTItMDktMTYgMTE6MDA6NTMgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgYW5kIGZpeCBzcGVjIHdpdGggbGF0ZXN0IGNoYW5nZXMgYW5kIEYxOCBuYW1lIHNjaGVlbWUKCjIwMTItMDktMTYgMTA6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDg6IFJlcXVpcmUgbGF0ZXN0IGxpYnZweCByZWxlYXNlICgxLjEuMCBmcm9tIE1heSAyMDEyKQoJICBGaXhlcyBidWcgIzY4NDExNiBhbmQgc2ltcGxpZmllcyBjb25maWd1cmUgY2hlY2tzLgoKMjAxMi0wOS0xNSAyMDoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBhIHN0cmluZyBmaWVsZCBmb3IgdGhlIHByb2ZpbGUgaW4gdGhlIGNhcHMKCSAgSnVzdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBhbGwgdGhlIG90aGVyIGNvZGVjcy4KCjIwMTItMDktMTUgMTk6MDg6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICB1c2UgZ3N0X2VsZW1lbnRfZmFjdG9yeV9nZXRfbWV0YWRhdGEgdG8gcmVwbGFjZSBvYnNvbGV0ZSBBUEkKCjIwMTItMDktMTUgMDA6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IHByb2ZpbGUgaW4gY2FwcwoKMjAxMi0wOS0xNCAyMzo0MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFVwZGF0ZSBjb3B5cmlnaHQgYW5kIGF1dGhvcnMKCjIwMTItMDktMTQgMjM6NDA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiBVcGRhdGUgcGx1Z2luIGRvY3MKCjIwMTItMDktMDggMTU6Mzg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBSZXdvcmsgZW5jb2RlciBwcm9wZXJ0aWVzIHRvIGJlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBsaWJ2cHggdG9vbHMgYW5kIEFQSQoJICBBbHNvIGFkZCBhbGwgYXZhaWxhYmxlIHByb3BlcnRpZXMuCgoyMDEyLTA5LTE0IDE3OjU1OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgcmVwbGFjZSBfZ2V0X2NhcHNfcmVmZmVkIHdpdGggX2dldF9jYXBzCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTI6MDY6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpbml0IHBwcyBhbmQgc3BzIHN0cnVjdHVyZXMgYmVmb3JlIHBhcnNpbmcKCSAgLi4uIHdoaWNoIGFycmFuZ2VzIGZvciBhIHZhbGlkIGZhbGxiYWNrIGlkLCBhbmQgYWxsb3dzIHRvIGNvbnRpbnVlIGJlc3QgZWZmb3J0CgkgIHByb2Nlc3NpbmcgZXZlbiB3aGVuIHNwcy9wcHMgcGFyc2luZyBmYWlscy4KCjIwMTItMDktMDMgMTM6NTg6MjIgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGdzdGgyNjRwYXJzZTogYWRkIGNvbW1lbnQgd2hlcmUgcmV0dXJuIHNob3VsZCBiZSBjaGVja2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjY0CgoyMDEyLTA5LTAzIDEzOjQzOjAzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgZ3N0aDI2NHBhcnNlcjogZml4IENvdmVyaXR5IGZvdW5kIG5vdCBpbml0aWFsaXplZCBzcHMvcHBzIHZhbGlkIG1lbWJlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2NAoKMjAxMi0wOS0wMyAxMzowOToyOSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGdzdGgyNjRwYXJzZXI6IGZpeCBDb3Zlcml0eSBkZXRlY3RlZCBvZmYgYnkgb25lIGF0IGNhbGwgdG8gUkVBRF9VRV9BTExPV0VELgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjYzCgoyMDEyLTA5LTE0IDE2OjQ5OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJICByZW5hbWUgc29tZSBjYXBzCgoyMDEyLTA5LTE0IDE2OjQ1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZmZtcGVnY29sb3JzcGFjZSBpcyBubyBtb3JlCgoyMDEyLTA5LTE0IDE2OjI5OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL1JFQURNRToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZW5hbWUgc29tZSBjYXBzIGFuZCBlbGVtZW50cyBpbiBleGFtcGxlcwoKMjAxMi0wOS0wMiAyMDoxNzoxNCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHVzZSBwcmV2aW91c2x5IHBhcnNlZCB2aXN1YWwgb2JqZWN0IHdoZW4gcGFyc2luZyBWT0wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAyMDoxOToxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBwYXJzZSBjb21wbGV4aXR5IGVzdGltYXRpb24gaGVhZGVyIGluIHZpZGVvIG9iamVjdCBsYXllcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDIwOjE4OjMyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IGZpeCBzb21lIGlzc3VlcyByZWxhdGVkIHRvIHZpZGVvIG9iamVjdCBsYXllciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMTg6MjE6MTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkbyBub3Qgc2tpcCB1c2VyIGRhdGEKCSAgVXNlciBkYXRhIHdhcyBza2lwcGVkIHVudGlsIG5vdywgc28gdGhlIHVzZXIgZGF0YSB3YXMgaW5jbHVkZWQgd2hlbgoJICBwYXJzaW5nIHRoZSBwcmV2aW91cyBwYWNrZXQgYW5kIGluIHRoZSBjb25maWcgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTE0IDAyOjU5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjk0ID09PQoKMjAxMi0wOS0xNCAwMjo1MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTQKCjIwMTItMDktMTQgMDI6MDY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTItMDktMTMgMTM6NDQ6MDUgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBjaGVjazogVmVyaWZ5IHRoZSBEVFMgZW1lcmdpbmcgZnJvbSB0aGUgcGFyc2VyLCBub3QgUFRTCgkgIFBUUyBkb2Vzbid0IGluY3JlbWVudCBsaW5lYXJseSBpbiBwYXJzZXJzIHdpdGggZnJhbWUgcmUtb3JkZXJpbmcsIGJ1dAoJICBEVFMgZG9lcy4gVmVyaWZ5IHRoYXQgaW5zdGVhZC4KCjIwMTItMDktMTMgMTM6MzQ6MTYgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNoZWNrOiBGaXggbXBlZ3ZpZGVvcGFyc2VyIFBBUiBleHBlY3RhdGlvbgoJICBUaGUgcGFyc2VyIChjb3JyZWN0bHkpIG5vdyBpbnRlcnByZXRzIHRoZSB0ZXN0IGhlYWRlciB1c2luZwoJICBNUEVHLTEgc2VtYW50aWNzLCBzbyBmaXggdGhlIHRlc3QgZXhwZWN0YXRpb24uCgoyMDEyLTA5LTEzIDE1OjUxOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogTWFrZSBjYXBzIHdyaXRhYmxlIGluIGZpeGF0ZQoKMjAxMi0wOS0xMyAxNTowNjo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBQb3J0IHRvIDEuMCBBUEkKCSAgQWxzbyByZW1vdmUgYSBsb3Qgb2YgZW1wdHksIG5vbi1pbXBsZW1lbnRlZCBtZXRob2RzCgoyMDEyLTA5LTEyIDIyOjU4OjA0IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IERpc2FibGUgUFRTIGludGVycG9sYXRpb24gaW4gdGhlIGJhc2UgcGFyc2UgY2xhc3MKCSAgQWxsIHRoZXNlIGZvcm1hdHMgaGF2ZSByZS1vcmRlcmVkIFBUUyB3aGljaCB0aGUgYmFzZSBjbGFzcyBnZXRzCgkgIHdyb25nLiBJdCdzIGJldHRlciB0byBsZWF2ZSB0aGVtIGJsYW5rIGFuZCBsZXQgdGhlIGRlY29kZXIgc29ydCBpdAoJICBvdXQuIEJldHRlciB5ZXQgd291bGQgYmUgdG8gdHJhY2sgYW5kIGludGVycG9sYXRlIHRoZSB0aW1lc3RhbXBzCgkgIGluIHRoZSBzdWJjbGFzc2VzIChGSVhNRSkKCjIwMTItMDktMDkgMTY6NDA6MDAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWR2YW5jZSB2aWRlbyBzdHJlYW0gd2l0aCBnYXAgZXZlbnRzLgoJICBIYW5kbGUgR2FwIGV2ZW50cyB0aGUgd2F5IHdlIHVzZWQgdG8gaGFuZGxlIHNlZ21lbnQgdXBkYXRlcwoJICBhbmQgYWR2YW5jZS9maWxsIGluIHRoZSB2aWRlbyBzdHJlYW0gYWNjb3JkaW5nbHkuIEZpeGVzCgkgICdzdGlsbCcgbWVudXMgd2hpY2ggYXJlbid0IERWRCBzdGlsbCBmcmFtZXMsIGJ1dCBhcmUganVzdCBhCgkgIHNpbmdsZSBmcmFtZSB3aXRoIGFjY29tcGFueWluZyBhdWRpby4KCjIwMTItMDktMDkgMTY6Mjk6NTIgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFN0YXJ0IHdpdGggYSBsYXJnZXIgc3VicGljdHVyZSBxdWV1ZSBmb3IgcHJlcm9sbC4KCSAgU2hyaW5rIHRoZSBxdWV1ZSBvbmNlIHdlJ3JlIHByZXJvbGxlZC4gRml4ZXMgdGhlIEZyaW5nZSBTMQoJICBEVkQuIEFsc28sIGVuc3VyZSB3ZSBvbmx5IGZpcmUgbm9fbW9yZV9wYWRzIG9uY2UuCgoyMDEyLTA5LTA4IDE5OjIxOjQ3IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IERpc2FibGUgaW5wdXQtc2VsZWN0b3Igc3luY2luZwoJICBVbnRpbCBzZWdtZW50cyBhcmUgYmV0dGVyIHdvcmtlZCBvdXQuIEFsc28sIHVzZQoJICBpbnRlcm5hbCBpbnB1dC1zZWxlY3RvciBmb3IgYXVkaW8gYXMgd2VsbAoKMjAxMi0wOS0wMyAwOTo0NzozMCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBIYW5kbGUgU2VxdWVuY2UgRGlzcGxheSBFeHRlbnNpb24KCSAgQ2hhbmdlIHRoZSB3YXkgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBpcyBjb21wdXRlZCBieQoJICBpbnRlcnByZXRpbmcgdGhlIHNlcXVlbmNlIGhlYWRlciBhc3BlY3QgcmF0aW8gaW5mbwoJICBhcyBNUEVHLTEgdmFsdWVzIHVudGlsIGEgc2VxdWVuY2UgZXh0ZW5zaW9uIG9yCgkgIHNlcXVlbmNlIGRpc3BsYXkgZXh0ZW5zaW9uIGlzIHNlZW4sIGFuZCB0aGVuIHVwZGF0aW5nCgkgIHRoZSBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0IGFjY29yZGluZ2x5LgoJICBGaXhlcyBpbmNvcnJlY3QgYW5hbW9ycGhpYyBkaXNwbGF5IG9uIHNvbWUgTVBFRy0yIChEVkQpCgkgIHNlcXVlbmNlcy4KCjIwMTItMDktMTMgMDE6NDA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiBkaXNhYmxlIHlldCBhbm90aGVyIG14ZiB0ZXN0cyB1bnRpbCB0aGUgZWxlbWVudHMgYXJlIHBvcnRlZAoKMjAxMi0wOS0xMyAwMTozNDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBmaXggY2FwcyBmaXhhdGlvbgoJICBNYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0uCgoyMDEyLTA5LTEzIDAxOjI2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBmaXggd3JvbmcgcGFkIHRlbXBsYXRlIHVucmVmCgkgIEJsb3dzIHVwIHdoZW4gdHJ5aW5nIHRvIGluc3RhbnRpYXRlIGEgc2Vjb25kIGNsaXAgZWxlbWVudAoJICBvZiB0aGUgc2FtZSB0eXBlLCBsaWtlIGluIHRoZSBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEyLTA5LTEzIDAxOjA3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZhaWwgZ3JhY2VmdWxseSB3aXRoIGFuIGVycm9yIG1lc3NhZ2UgaWYgd2UgY2FuJ3QgY29ubmVjdCB0byB3YXlsYW5kCgkgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgaXMgbm90IGZvciBlcnJvciBoYW5kbGluZywgaXQncyBmb3IKCSAgY2F0Y2hpbmcgcHJvZ3JhbW1pbmcgZXJyb3JzIGluIHB1YmxpYyBBUEkuCgkgIEZpeGVzIHByb2JsZW0gd2l0aCBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEyLTA5LTEzIDAwOjU5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgbG9nZ2luZyBhbnl0aGluZwoKMjAxMi0wOS0xMyAwMDo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJICB0ZXN0czogc2tpcCBteGYgdGVzdHMgd2hpbGUgZWxlbWVudHMgaGF2ZW4ndCBiZWVuIHBvcnRlZCB5ZXQKCjIwMTItMDktMTMgMDA6NTA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgR1NUX0VSUk9SIHN0YXRlbWVudCB0aGF0IHdhcyBjb21taXR0ZWQgYnkgYWNjaWRlbnQKCjIwMTItMDktMTMgMDA6NDA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGZpeCBqaWZtdXggdGVzdAoJICBOZWVkIHRvIHBhc3MgYSBHc3RTYW1wbGUgbm93IGZvciBHU1RfVEFHX0FQUExJQ0FUSU9OX0RBVEEKCSAgaW5zdGVhZCBvZiBhIEdzdEJ1ZmZlci4KCjIwMTItMDktMTIgMTg6MzQ6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubTogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE3OjM0OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiBVc2UgYSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBhIEdRdWV1ZQoJICBUaGlzIHdheSwgdGhlIG1vc3QgY29tbW9uIGZ1bmN0aW9uIChjaGFuZ2luZyBidWZmZXJzKSBiZWNvbWVzIE8oMSkgaW5zdGVhZAoJICBvZiBPKG4pCgoyMDEyLTA5LTEyIDE3OjI0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNjoyMzo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgc3BlZWQ6IFZhcmlvdXMgMS4wIHN0eWxlIGFkZGl0aW9ucwoJICBVc2UgR3N0QXVkaW9JbmZvIGV2ZXJ5d2hlcmUsIGV0YwoKMjAxMi0wOS0xMCAxNzoxNjowNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM3MjcKCjIwMTItMDktMTIgMTY6MDM6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogcG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDIxOjEzOjM1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgY29sbGVjdHBhZHM6IHJlbW92ZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbAoJICBSZW5hbWUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwoKSB0byBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWQoKSBhbmQgZml4IGFsbAoJICBpbnZvY2F0aW9ucy4KCjIwMTItMDktMTIgMTI6MTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNTowODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFVzZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXJzIHdoZXJlIG5lZWRlZAoJICBBbmQgZml4dXAgZ2V0Y2FwcyBoYW5kbGVyIHdoaWxlIEknbSBhdCBpdAoKMjAxMi0wOS0xMiAwOTo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHBvcnQgdGFnc2V0dGVyIG1vZGUgc2V0dGluZyBjb2RlCgkgIENoZWNrIGRpcmVjdGx5IHdpdGggR1NUX0lTX1RBR19TRVRURVIgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgZGVwcmVjYXRlZCBHc3RJbXBsZW1lbnRzSW50ZXJmYWNlCgkgIEZpeGVzIHRoZSBpbWFnZSB0YWcgc2V0dGluZyB1bml0IHRlc3QKCjIwMTItMDktMTIgMTM6MDM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHdpbjMyIGJ1aWxkIGV2ZW4gbW9yZQoKMjAxMi0wOS0xMiAxMzoxNzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMiAxMTowODoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBhc3BlY3QgcmF0aW8gY2FsY3VsYXRpb24uCgkgIEFTUEVDVF9IT1JJWl9TSVpFIGFuZCBBU1BFQ1RfVkVSVF9TSVpFIGFyZSBzeW50YXggZWxlbWVudHMgdGhhdCBob2xkCgkgIGJpbmFyeSBlbmNvZGluZ3Mgb2Ygc2l6ZXMgcmFuZ2luZyBmcm9tIDEgdG8gMjU2LiBUaHVzLCB0aGUgY2FsY3VsYXRlZAoJICBwaXhlbC1hc3BlY3QtcmF0aW8gd2FzIG9mZiBieSBvbmUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg1OAoKMjAxMi0wOS0xMiAxMTowMTozNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjRwYXJzZTogZG9uJ3QgdXNlIGFub255bW91cyB1bmlvbnMuCgkgIEFub255bW91cyB1bmlvbiBpcyBhbiBJU08gQyAoMjAxMSkgZmVhdHVyZSB0aGF0IGlzIG5vdCBleHBvc2VkIGluCgkgIGNvbXBpbGVycyBzdHJpY3RseSBjb25mb3JtaW5nIHRvIHRoZSBwcmV2aW91cyBzdGFuZGFyZC4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0xMiAxMToyMTo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNvbXB1dGUgcGl4ZWwgYXNwZWN0IHJhdGlvLgoJICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0xMiAwOTo0ODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGF0dGVtcHQgdG8gZ2V0IGRpc2FibGVkIHN0cmVhbWhlYWRlciB0ZXN0IHRvIGNvbXBpbGUgb24gd2luMzIKCSAgVGhvdWdoIGl0IHByb2JhYmx5IHdvbid0IHdvcmssIGJ1dCB0aGVuIGl0J3MgZGlzYWJsZWQuCgoyMDEyLTA5LTEyIDA5OjEwOjM1ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBvcHVzICsganBlZ2Zvcm1hdDogdW5icmVhayBub24tZGVidWcgYnVpbGQKCSAgb3B1cyArIGpwZWdmb3JtYXQgcGx1Z2luIGJ1aWxkcyBmYWlsIHdoZW4gZ3N0cmVhbWVyIGlzIGNvbmZpZ3VyZWQgd2l0aAoJICAtLWRpc2FibGUtZ3N0LWRlYnVnIGFzIHRoZXkgYXJlIGNoZWNraW5nIHRoZSBHU1RfRElTQUJMRV9ERUJVRyBzeW1ib2wKCSAgaW5zdGVhZCBvZiBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NTAKCjIwMTItMDktMTIgMDE6MzU6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSAganBlZ2Zvcm1hdDogZG9uJ3QgbGluayB0byBsaWJnc3RpbnRlcmZhY2VzIHdoaWNoIGRvZXNuJ3QgZXhpc3QgYW55IGxvbmdlcgoKMjAxMi0wOS0xMSAyMDozMDo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbnBsYzogRG9uJ3QgdW5yZWYgdG9vIG11Y2gsIGRvbid0IGZvcndhcmQgZ2FwIGV2ZW50CgoyMDEyLTA5LTExIDIwOjE5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSAgc3BhbnBsYzogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTExIDE5OjQxOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogRG9uJ3QgdHJ5IHRvIHN5bmMgY29udHJvbGxlciB2YWx1ZXMgdG8gaW52YWxpZCB0aW1lc3RhbXAKCjIwMTItMDktMTEgMTk6MzY6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRmluaXNoIHBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMSAxODo1NToxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIHRlc3Q6IFNpbXBsaWZ5IGF1dG9jb252ZXJ0IHRlc3QKCjIwMTItMDktMTEgMTg6NTM6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IExvb2sgYXQgYWxsIHBvc3NpYmlsaXRpZXMgZm9yIGFjY2VwdC1jYXBzIGV2ZW4gaWYgdGhlcmUgaXMgYSBzZWxlY3RlZCBzdWJlbGVtZW50CgkgIElmIHRoZSBhY2NlcHQtY2FwcyBzdWNjZWVkcyB3aXRoIGEgZGlmZmVyZW50IHN1YmVsZW1lbnQsIHRoZW4gdGhlIHN1YnNlcXVlbnQKCSAgY2FwcyBldmVudCB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBzdWJlbGVtZW50LgoKMjAxMi0wOS0xMSAxODowMjoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdDogRmx1c2ggb3B1cyBlbmNvZGVyIGJldHdlZW4gdGVzdHMKCjIwMTItMDktMTEgMTg6MDE6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3Q6IEZsdXNoIG9wdXMgZW5jb2RlciBiZXR3ZWVuIHRlc3RzCgoyMDEyLTA5LTEwIDE4OjIwOjQ4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJICB1dmNoMjY0OiBNYWtlIGd1ZGV2L2xpYnVzYiBhIGhhcmQgZGVwZW5kZW5jeSBhbmQgcmVtb3ZlIFhVX0ZJTkRfVU5JVCBpb2N0bCBzdXBwb3J0CgkgIENvbmZsaWN0czoKCSAgc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYwoKMjAxMi0wOS0xMSAxNzo0NzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGV4dCwgZ3N0OiBvbmx5IGFjdGl2YXRlIGluIHB1bGwgbW9kZSBpZiB1cHN0cmVhbSBpcyBzZWVrYWJsZQoKMjAxMi0wOS0xMSAxNTowNzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IHRpbWVkIHRleHQgaXMgdGV4dC94LXJhdyBub3cKCjIwMTItMDktMTEgMTU6MDI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkgIGQzZHZpZGVvc2luazogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxNDozMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogbXBlZzJlbmMsIG1wbGV4OiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDE0OjMxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDAxOjUyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGdkcDogbW92ZSBnZHAgcGx1Z2luIGhlcmUgZnJvbSAtYmFzZQoJICBOZWVkcyBzb21lIHJld29ya2luZy4KCjIwMTItMDktMDkgMTg6MDU6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGR1bXAgYnl0ZXMgaW50byBkZWJ1ZyBsb2cgdXNpbmcgR1NUX01FTURVTVAKCSAgSW5zdGVhZCBvZiBob21lLWdyb3duIHNvbHV0aW9uLgoKMjAxMi0wNy0yNyAxNToyMTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHZhcmlhYmxlIG5hbWVzCgoyMDEyLTA3LTAyIDEyOjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogdXNlIG11bHRpZmRzaW5rIGZvciBzdHJlYW1oZWFkZXIgdGVzdAoJICBVc2UgbXVsdGlmZHNpbmsgZm9yIHBpcGVzIGluc3RlYWQgb2YgbXVsdGlzb2NrZXRzaW5rLAoJICB0byBhdm9pZCAiY3JlYXRpbmcgR1NvY2tldCBmcm9tIGZkIDk6IFNvY2tldCBvcGVyYXRpb24KCSAgb24gbm9uLXNvY2tldCAiY3JpdGljYWxzIGZyb20gR2lvLiBUZXN0IHN0aWxsIGZhaWxzLAoJICBidXQgaXQgZmFpbHMgaW4gYSBkaWZmZXJlbnQgd2F5IG5vdy4KCjIwMTItMDQtMjUgMTg6MDc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwbHVnIGJ1ZmZlciBsZWFrCgoyMDEyLTA0LTE5IDE0OjQxOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogaW5pdGlhbGl6ZSB2YXJpYWJsZXMKCjIwMTItMDQtMTAgMDA6NDU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wNSAxNToxMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlCgoyMDEyLTA0LTAxIDE4OjExOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgSW1wcm92ZSBidWZmZXIgYWxsb2NhdGlvbiBvZiB3cmFwcGVkIG1lbW9yeQoKMjAxMi0wMy0zMCAxODoxMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMjggMTI6NDg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTE1IDEzOjMyOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDItMjIgMDI6MDU6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTAzIDExOjM4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogZml4dXAgdW5pdCB0ZXN0cwoKMjAxMi0wMi0wMyAxMTozODoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4dXAgZm9yIGNoYW5nZWQgY2FwcwoJICBUcnkgdG8gc2VuZCB0aGUgc3RyZWFtaGVhZGVyIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIuCgoyMDEyLTAyLTAzIDExOjM3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZGF0YXByb3RvY29sOiBkb24ndCBkZWZpbmUgZGVmYXVsdCBDYXRlZ29yeQoJICBTaW5jZSB3ZSBub3cgaW5jbHVkZSB0aGlzIGludG8gdGhlIHVuaXQgdGVzdHMgZGlyZWN0bHksIGRvbid0IGRlZmluZSB0aGUgZGVmYXVsdAoJICBjYXRlZ29yeSBtYWNybyBiZWNhdXNlIGl0IGNvbmZsaWN0cyB3aXRoIGNoZWNrLgoKMjAxMi0wMS0zMCAxNzoxNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxNjoxMTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgcG9ydCB0byBuZXcgbWFwIEFQSQoKMjAxMi0wMS0xOSAxNTozMjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDEyLTAxLTA0IDE2OjQxOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IHBvcnQgYW5kIGVuYWJsZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMTItMjUgMjM6MTk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogbW92ZSBkYXRhcHJvdG9jb2wgbGlicmFyeSBpbnRvIGdkcCBwbHVnaW4gYW5kIG1ha2UgcHJpdmF0ZQoJICBXZSBoYXZlIHJlbW92ZWQgdGhpbmdzIGxpa2UgcHJvdG9jb2w9Z2RwIGluIHRoZSB0Y3AgZWxlbWVudHMKCSAgaW4gZmF2b3VyIG9mIGV4cGxpY2l0IGdkcHBheS9kZXBheSBlbGVtZW50cywgc28gdGhlcmUncyBubyBuZWVkCgkgIHRvIGtlZXAgYSBwdWJsaWMgQVBJIGFuZCBsaWJyYXJ5IGZvciBub3cuIFdlIGNhbiBzdGlsbCBhZGQgaXQKCSAgYmFjayBsYXRlci4gU29tZW9uZSBuZWVkcyB0byB0aGluayBoYXJkIGFib3V0IDAuMTEgYW5kIGdkcAoJICBhbnl3YXkgb25lIG9mIHRoZXNlIGRheXMuCgoyMDExLTExLTExIDE3OjE3OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiBmaXggaGVhZGVyIGZpbGVzCgkgIEVuc3VyZSBjb3JyZWN0IGluZGVudGF0aW9uIGFuZCByZXRhYgoJICBNYWtlIHN1cmUgYWxsIHN0cnVjdHVyZSBoYXZlIHBhZGRpbmcKCjIwMTEtMDgtMTYgMTc6MzI6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHJlbmFtZSBidWZmZXIgUFJFUk9MTCAtPiBMSVZFIGZsYWcKCSAgUmVuYW1lIHRoZSBHU1RfQlVGRkVSX0ZMQUdfUFJFUk9MTCB0byBHU1RfQlVGRkVSX0ZMQUdfTElWRSBhbmQgZ2l2ZSB0aGUgbmV3IGZsYWcKCSAgYSBtZWFuaW5nLiBUaGUgb2xkIFBSRVJPTEwgZmxhZyBuZXZlciBoYWQgYSBjbGVhciBtZWFuaW5nLgoKMjAxMS0wNi0xMCAxMzo0MDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogbWFrZSBuZXcgX2J1ZmZlcl9hbGxvY2F0ZSBtZXRob2QKCSAgTWFrZSBhIG5ldyBtZXRob2QgdG8gYWxsb2NhdGUgYSBidWZmZXIgKyBtZW1vcnkgdGhhdCB0YWtlcyB0aGUgYWxsb2NhdG9yIGFuZCB0aGUKCSAgYWxpZ25tZW50IGFzIHBhcmFtZXRlcnMuIFByb3ZpZGUgYSBtYWNybyBmb3IgdGhlIG9sZCBtZXRob2QgYnV0IHByZWZlciB0byB1c2UKCSAgdGhlIG5ldyBtZXRob2QgdG8gZW5jb3VyYWdlIHBsdWdpbnMgdG8gbmVnb3RpYXRlIHRoZSBhbGxvY2F0b3IgcHJvcGVybHkuCgoyMDExLTA1LTEzIDE4OjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBSZXdvcmsgR3N0U2VnbWVudCBoYW5kbGluZwoJICBJbXByb3ZlIEdzdFNlZ21lbnQsIHJlbmFtZSBzb21lIGZpZWxkcy4gVGhlIGlkZWEgaXMgdG8gaGF2ZSB0aGUgR3N0U2VnbWVudAoJICBzdHJ1Y3R1cmUgcmVwcmVzZW50IHRoZSB0aW1pbmcgc3RydWN0dXJlIG9mIHRoZSBidWZmZXJzIGFzIHRoZXkgYXJlIGdlbmVyYXRlZCBieQoJICB0aGUgc291cmNlIG9yIGRlbXV4ZXIgZWxlbWVudC4KCSAgZ3N0X3NlZ21lbnRfc2V0X3NlZWsoKSAtPiBnc3Rfc2VnbWVudF9kb19zZWVrKCkKCSAgUmVuYW1lIHRoZSBORVdTRUdNRU5UIGV2ZW50IHRvIFNFR01FTlQuCgkgIE1ha2UgcGFyc2luZyBvZiB0aGUgU0VHTUVOVCBldmVudCBpbnRvIGEgR3N0U2VnbWVudCBzdHJ1Y3R1cmUuCgkgIFBhc3MgYSBHc3RTZWdtZW50IHN0cnVjdHVyZSB3aGVuIG1ha2luZyBhIG5ldyBTRUdNRU5UIGV2ZW50LiBUaGlzIGFsbG93cyB1cyB0bwoJICBwYXNzIHRoZSB0aW1pbmcgaW5mbyBkaXJlY3RseSB0byB0aGUgbmV4dCBlbGVtZW50LiBObyBhY2N1bXVsYXRpb24gaXMgbmVlZGVkIGluCgkgIHRoZSByZWNlaXZpbmcgZWxlbWVudCwgYWxsIHRoZSBpbmZvIGlzIGluc2lkZSB0aGUgZWxlbWVudC4KCSAgUmVtb3ZlIGdzdF9zZWdtZW50X3NldF9uZXdzZWdtZW50KCk6IFRoaXMgZnVuY3Rpb24gYXMgdXNlZCB0byBhY2N1bXVsYXRlCgkgIHNlZ21lbnRzIHJlY2VpdmVkIGZyb20gdXBzdHJlYW0sIHdoaWNoIGlzIG5vdyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB0aGUKCSAgc2VnbWVudCBldmVudCBjb250YWlucyB0aGUgY29tcGxldGUgdGltaW5nIGluZm9ybWF0aW9uLgoKMjAxMS0wNS0xMCAxMTo1MDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogSGlkZSB0aGUgR3N0U3RydWN0dXJlIGluIEdzdEV2ZW50CgkgIEhpZGUgdGhlIEdzdFN0cnVjdHVyZSBvZiB0aGUgZXZlbnQgaW4gdGhlIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHBhcnQgc28gdGhhdAoJICB3ZSBjYW4gY2hhbmdlIGl0LgoJICBBZGQgbWV0aG9kcyB0byBjaGVjayBhbmQgbWFrZSB0aGUgZXZlbnQgd3JpdGFibGUuCgkgIEFkZCBhIG5ldyBtZXRob2QgdG8gZ2V0IGEgd3JpdGFibGUgR3N0U3RydWN0dXJlIG9mIHRoZSBlbGVtZW50LgoJICBBdm9pZCBkaXJlY3RseSBhY2Npc2luZyB0aGUgZXZlbnQgc3RydWN0dXJlLgoKMjAxMS0wNS0wMiAxNjowMDo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiBhZGQgZG9jcyBmb3IgR3N0RFBQYWNrZXRpemVyCgoyMDExLTAzLTIxIDE4OjEzOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBwb3J0IGNvZGUgdG8gbmV3IGJ1ZmZlciBkYXRhIEFQSQoKMjAxMC0xMi0wNiAxOTo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogcmVtb3ZlIGRlcHJlY2F0ZWQgY29kZQoKMjAxMC0xMC0wOCAwOTozNDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IG1ha2UgcHVibGljIGVudW0gX2dldF90eXBlKCkgZnVuY3Rpb25zIHRocmVhZC1zYWZlCgkgIE5vdCB0aGF0IGl0IGlzIGxpa2VseSB0byBtYXR0ZXIgaW4gcHJhY3RpY2UsIGJ1dCBzaW5jZSB0aGVzZSBhcmUgcHVibGljCgkgIEFQSSB0aGV5IHNob3VsZCBwcm9iYWJseSBiZSB0aHJlYWQtc2FmZS4KCjIwMTAtMTAtMDggMDA6Mzg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkYXRhcHJvdG9jb2wsIGxmb2NvbnRyb2xzb3VyY2U6IGZpeCBlbnVtIHZhbHVlIG5hbWUgaW4gZW51bXMgdGhhdCBhcmUgcHVibGljIEFQSQoJICBTbyBydW4tdGltZSBiaW5kaW5ncyBjYW4gaW50cm9zcGVjdCB0aGUgbmFtZXMgY29ycmVjdGx5ICh3ZSBhYnVzZSB0aGlzCgkgIGZpZWxkIGFzIGRlc2NyaXB0aW9uIGZpZWxkIG9ubHkgaW4gZWxlbWVudHMsIG5vdCBmb3IgcHVibGljIEFQSQoJICAod2hlcmUgdGhlIGRlc2NyaXB0aW9uIGJlbG9uZ3MgaW50byB0aGUgZ3RrLWRvYyBjaHVuaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5NDYKCjIwMTAtMDMtMDIgMjI6NTg6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRml4ZXMgZm9yIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMKCSAgQWxzbyBhZGRzIHRob3NlIGZsYWdzIHRvIHRoZSBjb25maWd1cmUgd2FybmluZyBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjkyCgoyMDEwLTAzLTAyIDIzOjUxOjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBNYWtlIGNvZGUgc2FmZSBmb3IgLVdyZWR1bmRhbnQtZGVjbHMKCSAgQWRkcyB0aGF0IHdhcm5pbmcgdG8gY29uZmlndXJlLmFjCgkgIEluY2x1ZGVzIGEgdGlueSBjaGFuZ2Ugb2YgdGhlIEdTVF9CT0lMRVJQTEFURV9GVUxMKCkgbWFjcm86CgkgIFRoZSBnZXRfdHlwZSgpIGZ1bmN0aW9uIGlzIG5vIGxvbmdlciBkZWNsYXJlZCBiZWZvcmUgYmVpbmcgZGVmaW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY5MgoKMjAwOS0xMS0yNyAxNjozOTozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggYnJva2VuIHhyZWZzIGluIGRvY3MKCjIwMDgtMDYtMzAgMDk6Mzg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdkcDogRG9uJ3Qgd3JpdGUgdG8gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBhcyBhIHVpbnQ2NCBhbmQgdWludDE2IGFzIHRoaXMgYnJlYWtzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIERvbid0IHdyaXRlIHRvIHRoZSBzYW1lIHJlZ2lvbiBvZiBtZW1vcnkgYXMgYSB1aW50NjQgYW5kIHVpbnQxNgoJICBhcyB0aGlzIGJyZWFrcyBzdHJpY3QgYWxpYXNpbmcgcnVsZXMgYW5kIGFwcGFyYW50bHkgYnJlYWtzIG9uIFBQQwoJICBhbmQgczM5MC4gVGhhbmtzIHRvIFNqb2VyZCBTaW1vbnMgZm9yIGFuYWx5c2luZy4gRml4ZXMgYnVnICMzNDgxMTQuCgoyMDA4LTAzLTI3IDE1OjIzOjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IFdoZW4gY2FsY3VsYXRpbmcgR0RQIGJvZHkgQ1JDLCB1c2UgdGhlIGNvcnJlY3QgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCk6CgkgIFdoZW4gY2FsY3VsYXRpbmcgR0RQIGJvZHkgQ1JDLCB1c2UgdGhlIGNvcnJlY3QgcG9pbnRlci4KCSAgRml4ZXMgcGFydCBvZiAjNTIyNDAxLgoKMjAwOC0wMi0yOSAxMjo0MTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ2RwOiBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdGNvbmZpZy5oLmluOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuYzogKGdzdF9jb2xsZWN0X3BhZHNfcmVhZF9idWZmZXIpOgoJICAqIGxpYnMvZ3N0L2NoZWNrL2dzdGNoZWNrLmM6IChnc3RfY2hlY2tfbG9nX21lc3NhZ2VfZnVuYyksCgkgIChnc3RfY2hlY2tfbG9nX2NyaXRpY2FsX2Z1bmMpLCAoZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycyksCgkgIChnc3RfY2hlY2tfZWxlbWVudF9wdXNoX2J1ZmZlcl9saXN0KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzogKGdzdF9jb250cm9sbGVyX2dldCksCgkgIChnc3RfY29udHJvbGxlcl9nZXRfdHlwZSk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RoZWxwZXIuYzogKGdzdF9vYmplY3RfY29udHJvbF9wcm9wZXJ0aWVzKSwKCSAgKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xsZXIpLCAoZ3N0X29iamVjdF9nZXRfY29udHJvbF9zb3VyY2UpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aW50ZXJwb2xhdGlvbmNvbnRyb2xzb3VyY2UuYzoKCSAgKGdzdF9pbnRlcnBvbGF0aW9uX2NvbnRyb2xfc291cmNlX25ldyk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RsZm9jb250cm9sc291cmNlLmM6CgkgIChnc3RfbGZvX2NvbnRyb2xfc291cmNlX25ldyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMik6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RmZHNyYy5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0bXVsdGlxdWV1ZS5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0dGVlLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzoKCSAgKiBwbHVnaW5zL2luZGV4ZXJzL2dzdGZpbGVpbmRleC5jOiAoX2ZpbGVfaW5kZXhfaWRfc2F2ZV94bWwpLAoJICAoZ3N0X2ZpbGVfaW5kZXhfYWRkX2Fzc29jaWF0aW9uKToKCSAgKiBwbHVnaW5zL2luZGV4ZXJzL2dzdG1lbWluZGV4LmM6CgkgICogdGVzdHMvYmVuY2htYXJrcy9nc3Rwb2xsc3RyZXNzLmM6IChtZXNzX3NvbWVfbW9yZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXVldWUuYzogKHNldHVwX3F1ZXVlKToKCSAgKiB0ZXN0cy9jaGVjay9nc3QvZ3N0cGlwZWxpbmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NvbGxlY3RwYWRzLmM6IChzZXR1cCksICh0ZWFyZG93biksCgkgIChnc3RfY29sbGVjdF9wYWRzX3N1aXRlKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hZGFwdGVyL2FkYXB0ZXJfdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL21ldGFkYXRhL3JlYWQtbWV0YWRhdGEuYzogKG1ha2VfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3htbC9jcmVhdGV4bWwuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy94bWwvcnVueG1sLmM6CgkgICogdG9vbHMvZ3N0LWluc3BlY3QuYzoKCSAgKiB0b29scy9nc3QtcnVuLmM6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzLCBub3QgdXNpbmcgdmFyaWFibGUgc2l6ZWQgYXJyYXlzCgkgIG9uIHRoZSBzdGFjaywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mCgkgIGEgYmxvY2sgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgoyMDA4LTAxLTA4IDAyOjA3OjM4ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggZW1wdHkgcHJvdG90eXBlcy4gRml4ZXMgYnVnICM1MDc5NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGludGVycG9sYXRpb25jb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RsZm9jb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBGaXggZW1wdHkgcHJvdG90eXBlcy4gIEZpeGVzIGJ1ZyAjNTA3OTU3LgoKMjAwNy0xMS0wMSAyMTo1MDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdkcDogZ190eXBlX2NsYXNzX3JlZigpIG90aGVyIHR5cGVzIGFzIHdlbGwsIHNlZSAjMzQ5NDEwIGFuZCAjNjQ3NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3QuYzogKGluaXRfcG9zdCk6CgkgICogZ3N0L2dzdGV2ZW50LmM6IChfZ3N0X2V2ZW50X2luaXRpYWxpemUpOgoJICAqIGdzdC9nc3RxdWVyeS5jOiAoX2dzdF9xdWVyeV9pbml0aWFsaXplKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmMgKGdzdF9kcF9pbml0KToKCSAgZ190eXBlX2NsYXNzX3JlZigpIG90aGVyIHR5cGVzIGFzIHdlbGwsIHNlZSAjMzQ5NDEwIGFuZCAjNjQ3NjQuCgkgICogZ3N0L2dzdGJ1ZmZlci5jOiAoX2dzdF9idWZmZXJfaW5pdGlhbGl6ZSk6CgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKF9nc3RfbWVzc2FnZV9pbml0aWFsaXplKToKCSAgU2ltcGxpZnkgZXhpc3RpbmcgZ190eXBlX2NsYXNzX3JlZigpLgoKMjAwNi0xMC0wNSAxNDoyNjowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdkcDogUHJpbnRmIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0cGFkLmM6IChwcmVfYWN0aXZhdGUpOgoJICAqIGdzdC9nc3RyZWdpc3RyeS5jOiAoZ3N0X3JlZ2lzdHJ5X3NjYW5fcGF0aF9sZXZlbCk6CgkgICogZ3N0L2dzdHJlZ2lzdHJ5eG1sLmM6IChsb2FkX3BsdWdpbik6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6CgkgIChnc3RfY29udHJvbGxlZF9wcm9wZXJ0eV9zZXRfaW50ZXJwb2xhdGlvbl9tb2RlKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKToKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0Y2xpZW50Y2xvY2suYzoKCSAgKGdzdF9uZXRfY2xpZW50X2Nsb2NrX29ic2VydmVfdGltZXMpOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0ZmRzcmMuYzogKGdzdF9mZF9zcmNfY3JlYXRlKToKCSAgUHJpbnRmIGZpeGVzLgoKMjAwNi0wOC0xMSAxNToyNjozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGlzIG9ubHkgZm9yIHVzZXJzIG9mIEFQSSB0aGF0IGRvbid0IHdhbnQgdG8gc2VlIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIHRoZSBoZWFkZXJzOyBwZW9wbGUgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMTEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRpemVyX25ldyk6CgkgICogdGVzdHMvY2hlY2svbGlicy9nZHAuYzogKGdzdF9kcF9zdWl0ZSk6IEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQKCSAgaXMgb25seSBmb3IgdXNlcnMgb2YgQVBJIHRoYXQgZG9uJ3Qgd2FudCB0byBzZWUgZGVwcmVjYXRlZAoJICBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlcnM7IHBlb3BsZSB0aGF0IHdhbnQgdG8gY29tcGlsZSBvdXQKCSAgZGVwcmVjYXRlZCBjb2RlIHNob3VsZCBwYXNzIC1ER1NUX1JFTU9WRV9ERVBSRUNBVEVEIGludG8gdGhlCgkgIENGTEFHUy4gRml4ZXMgdGhlIGJ1aWxkIG9mIG11bHRpZmRzaW5rLCBvciB3aWxsIHNvb24uLgoKMjAwNi0wOC0xMCAxOTo0NjoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ2RwOiBhZGQgZ3N0X29iamVjdF97cyxnfWV0X2NvbnRyb2xfcmF0ZSgpLCBhZGQgcHJpdmF0ZSBkYXRhIHNlY3Rpb24sIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvbGlicy9nc3RyZWFtZXItbGlicy1zZWN0aW9ucy50eHQ6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6CgkgIChfZ3N0X2NvbnRyb2xsZXJfZ2V0X3Byb3BlcnR5KSwgKF9nc3RfY29udHJvbGxlcl9zZXRfcHJvcGVydHkpLAoJICAoX2dzdF9jb250cm9sbGVyX2luaXQpLCAoX2dzdF9jb250cm9sbGVyX2NsYXNzX2luaXQpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aGVscGVyLmM6IChnc3Rfb2JqZWN0X2dldF9jb250cm9sX3JhdGUpLAoJICAoZ3N0X29iamVjdF9zZXRfY29udHJvbF9yYXRlKToKCSAgQVBJOiBhZGQgZ3N0X29iamVjdF97cyxnfWV0X2NvbnRyb2xfcmF0ZSgpLCBhZGQgcHJpdmF0ZSBkYXRhIHNlY3Rpb24sCgkgIGZpeCBkb2NzCgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIGFkZCBkZXByZWNhdGlvbiBndWFyZHMgdG8gbWFrZSBndGstZG9jIGhhcHB5IGFuZCBhbGxvdyBkaXNhYmxpbmcgY3J1ZnQKCjIwMDYtMDgtMDIgMTU6MTk6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IE1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfYW55KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzX2FueSksCgkgIChnc3RfZHBfY3JjKSwgKGdzdF9kcF9oZWFkZXJfcGF5bG9hZF9sZW5ndGgpLAoJICAoZ3N0X2RwX2hlYWRlcl9wYXlsb2FkX3R5cGUpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApLCAoZ3N0X2RwX2J1ZmZlcl9mcm9tX2hlYWRlciksCgkgIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCksIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCksIChnc3RfZHBfdmFsaWRhdGVfaGVhZGVyKSwKCSAgKGdzdF9kcF92YWxpZGF0ZV9wYXlsb2FkKToKCSAgTWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCSAgQ29uc3RpZnkgdGhlIGNyYyB0YWJsZS4KCSAgRG8gc29tZSBtb3JlIGFyZyBjaGVja2luZyBpbiBwdWJsaWMgZnVuY3Rpb25zLgoJICBGaXggc29tZSBkb2NzIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvZ2RwLmM6IChHU1RfU1RBUlRfVEVTVCksIChnc3RfZHBfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGNoZWNrcyB0byBzZWUgaWYgR0RQIGRlYWxzIHdpdGggYm9ndXMgaW5wdXQuCgoyMDA2LTA3LTEzIDE0OjAyOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZml4IGZhaWx1cmUgdG8gZGVzZXJpYWxpemUgZXZlbnQgcGFja2V0cyB3aXRoIGVtcHR5IHBheWxvYWQgKG9ubHkgZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzFfMCk6CgkgIEZpeGVzICMzNDczMzc6IGZhaWx1cmUgdG8gZGVzZXJpYWxpemUgZXZlbnQgcGFja2V0cyB3aXRoCgkgIGVtcHR5IHBheWxvYWQgKG9ubHkgZXZlbnQgdHlwZSkKCjIwMDYtMDYtMTMgMTk6MjQ6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBhZGQgYSBnZHAgaW1hZ2UgdG8gdGhlIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9SRUFETUU6CgkgICogZG9jcy9pbWFnZXMvZ2RwLWhlYWRlci5zdmc6CgkgIGFkZCBhIGdkcCBpbWFnZQoJICAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL2xpYnMvZ2RwLWhlYWRlci5wbmc6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBhZGQgaXQgdG8gdGhlIEFQSSBkb2NzCgkgICogZG9jcy9tYW51YWwvaW50cm8tbW90aXZhdGlvbi54bWw6CgkgIGZpeCB0eXBvCgoyMDA2LTA2LTA2IDE0OjI5OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogYWRkIG5vdGUgdG8gZG9jcyBhYm91dCBHRFAgdmVyc2lvbmluZzsgcmVtb3ZlIHRtcGwgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5vdGUgdG8gZG9jcyBhYm91dCBHRFAgdmVyc2lvbmluZzsgcmVtb3ZlIHRtcGwgZmlsZQoKMjAwNi0wNi0wNiAxNDoyNDowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGFkZCBhIEdzdERQUGFja2V0aXplciBvYmplY3QsIGFuZCBjcmVhdGUvZnJlZSBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl9hbnkpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfYW55KSwKCSAgKGdzdF9kcF92ZXJzaW9uX2dldF90eXBlKSwgKGdzdF9kcF9pbml0KSwKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl8xXzApLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfMV8wKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpLCAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzFfMCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KSwKCSAgKGdzdF9kcF9wYWNrZXRpemVyX2ZyZWUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgQVBJOiBhZGQgYSBHc3REUFBhY2tldGl6ZXIgb2JqZWN0LCBhbmQgY3JlYXRlL2ZyZWUgZnVuY3Rpb25zCgkgIEFQSTogYWRkIEdzdERQVmVyc2lvbiBlbnVtCgkgIEFkZCAxLjAgZXZlbnQgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBzdHJpbmcgc2VyaWFsaXphdGlvbgoJICBTZXJpYWxpemUgbW9yZSB1c2VmdWwgYnVmZmVyIGZsYWdzCgkgIEZpeGVzICMzNDM5ODgKCjIwMDYtMDYtMDIgMTY6NDY6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmYWN0b3Igb3V0IENSQyBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgZmFjdG9yIG91dCBDUkMgY29kZQoKMjAwNi0wNi0wMiAxMDo1ODo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZhY3RvciBvdXQgc29tZSBjb21tb24gaGVhZGVyIGluaXQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgIGZhY3RvciBvdXQgc29tZSBjb21tb24gaGVhZGVyIGluaXQgY29kZQoKMjAwNi0wNi0wMiAxMDowODozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IG1ha2UgZ3N0X2RwX2NyYygpIHB1YmxpYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL2xpYnMvZ3N0cmVhbWVyLWxpYnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvbGlicy90bXBsL2dzdGRhdGFwcm90b2NvbC5zZ21sOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9jcmMpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgQVBJOiBtYWtlIGdzdF9kcF9jcmMoKSBwdWJsaWMKCjIwMDYtMDYtMDEgMTE6MTM6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBtYWtlIHN1cmUgd2UgemVybyB0aGUgd2hvbGUgQUJJLWNvbXBhdGlibGUgYXJlYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKToKCSAgbWFrZSBzdXJlIHdlIHplcm8gdGhlIHdob2xlIEFCSS1jb21wYXRpYmxlIGFyZWEKCjIwMDYtMDUtMDggMTU6NTM6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiB3aGl0ZXNwYWNlLCBjb21tZW50LCBkb2MgZml4dXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdoaXRlc3BhY2UsIGNvbW1lbnQsIGRvYyBmaXh1cAoKMjAwNi0wNC0yOCAxMzo0MDoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBGaXhlcyBpbiByZWFkaW5nL3dyaXRpbmcgZXZlbnRzIG92ZXIgR0RQIChub3QgY3VycmVudGx5IHVzZWQ/KSAtIGRlcmVmZXJlbmNpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBGaXhlcyBpbiByZWFkaW5nL3dyaXRpbmcgZXZlbnRzIG92ZXIgR0RQIChub3QgY3VycmVudGx5IHVzZWQ/KSAtCgkgIGRlcmVmZXJlbmNpbmcgTlVMTCBldmVudHMgZm9yIHVua25vd24vaW52YWxpZCBldmVudCB0eXBlcywgbWVtb3J5CgkgIGxlYWssIGFuZCBjaGFuZ2UgZ193YXJuaW5nIHRvIEdTVF9XQVJOSU5HLgoKMjAwNi0wMy0xMCAxNTozMDoyNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBGaXggZG9jcyBmb3IgZGF0YXByb2NvdG9sIHRvIG5vdCBnZXQgdGhlIHJldHVybiB0eXBlcyBjb21wbGV0ZWx5IHdyb25nIGZvciBhIGZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgRml4IGRvY3MgZm9yIGRhdGFwcm9jb3RvbCB0byBub3QgZ2V0IHRoZSByZXR1cm4gdHlwZXMgY29tcGxldGVseQoJICB3cm9uZyBmb3IgYSBmZXcgZnVuY3Rpb25zLgoKMjAwNS0xMi0xOCAxNjowNDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGFkYXB0ZXIuYzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGFkYXB0ZXIuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZV9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2Vfc2lua19nZXRfcG9zaXRpb24pOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3NyY19kZWZhdWx0X3F1ZXJ5KSwgKGdzdF9iYXNlX3NyY19kZWZhdWx0X2RvX3NlZWspLAoJICAoZ3N0X2Jhc2Vfc3JjX2RvX3NlZWspLCAoZ3N0X2Jhc2Vfc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfYmFzZV9zcmNfc2VuZF9ldmVudCksIChnc3RfYmFzZV9zcmNfdXBkYXRlX2xlbmd0aCksCgkgIChnc3RfYmFzZV9zcmNfZ2V0X3JhbmdlKSwgKGdzdF9iYXNlX3NyY19sb29wKSwKCSAgKGdzdF9iYXNlX3NyY19zdGFydCk6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3Rjb2xsZWN0cGFkcy5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0cHVzaHNyYy5jOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0cHVzaHNyYy5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldGNsaWVudGNsb2NrLmg6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldHRpbWVwcm92aWRlci5oOgoJICBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgoyMDA1LTEwLTEzIDE2OjI2OjEyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEZpeCBUaW1tZWtlIFdheW1hbnMgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmMgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKToKCSAgRml4IFRpbW1la2UgV2F5bWFucyBidWcuCgkgIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCk6IE1ha2Ugc3VyZSB3ZSBwYXNzIGEgTlVMLXRlcm1pbmF0ZWQKCSAgc3RyaW5nIG9mIHRoZSBwcm9wZXIgbGVuZ3RoIHRvIGdzdF9jYXBzX2Zyb21fc3RyaW5nLiBUaGVyZSdzIGEKCSAgcG90ZW50aWFsIGZvciwgYmVmb3JlIHRoaXMgZml4LCB0aGF0IHRoaXMgY291bGQgY2F1c2Ugc29tZW9uZQoJICBjb25uZWN0aW5nIG92ZXIgdGhlIG5ldHdvcmsgdG8gY2F1c2UgYSBzZWdmYXVsdCBpZiB0aGUgcGF5bG9hZCBpcwoJICBub3QgTlVMLXRlcm1pbmF0ZWQuCgoyMDA1LTEwLTEwIDIzOjU1OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IG1vcmUgdmFsZ3JpbmQgd2FybmluZ3MgYmVmb3JlIHR1cm5pbmcgdXAgdGhlIGhlYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtb3JlIHZhbGdyaW5kIHdhcm5pbmdzIGJlZm9yZSB0dXJuaW5nIHVwIHRoZSBoZWF0CgoyMDA1LTEwLTA4IDE3OjE3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBJdCdzIGFib3V0IHRpbWUgd2UgYnVtcCB0aGUgdmVyc2lvbiBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RwLXByaXZhdGUuaDoKCSAgSXQncyBhYm91dCB0aW1lIHdlIGJ1bXAgdGhlIHZlcnNpb24gbnVtYmVyLgoJICBTaW5jZSBldmVudCB0eXBlcyBkb24ndCBmaXQgaW4gdGhlIGd1aW50OCBhbnltb3JlIGRlc2NyaWJpbmcKCSAgdGhlIHBheWxvYWQgdHlwZSwgbWFrZSBwYXlsb2FkIHR5cGUgMTYgYml0cyB3aWRlLgoKMjAwNS0wOS0yNyAxNjozMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBGaXggZXJyb3ItY2hlY2tpbmcgcmV0dXJuIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMjcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiBGaXggZXJyb3ItY2hlY2tpbmcgcmV0dXJuCgkgIHZhbHVlcy4KCjIwMDUtMDctMjcgMTk6MDA6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEZpeCBzZXJpYWxpemF0aW9uIG9mIHNlZWsgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRml4IHNlcmlhbGl6YXRpb24gb2Ygc2VlayBldmVudHMuCgoyMDA1LTA3LTI3IDE4OjMzOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBTb21lIGRvY3MgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDSEFOR0VTLTAuOToKCSAgKiBkb2NzL2Rlc2lnbi9wYXJ0LVRPRE8udHh0OgoJICAqIGRvY3MvZGVzaWduL3BhcnQtZXZlbnRzLnR4dDoKCSAgU29tZSBkb2NzIHVwZGF0ZXMKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2Vfc2lua19oYW5kbGVfb2JqZWN0KSwKCSAgKGdzdF9iYXNlX3NpbmtfZXZlbnQpLCAoZ3N0X2Jhc2Vfc2lua19kb19zeW5jKSwKCSAgKGdzdF9iYXNlX3NpbmtfYWN0aXZhdGVfcHVzaCksIChnc3RfYmFzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlX3NyY19zZW5kX2Rpc2NvbnQpLAoJICAoZ3N0X2Jhc2Vfc3JjX2RvX3NlZWspLCAoZ3N0X2Jhc2Vfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2Jhc2Vfc3JjX2xvb3ApOgoJICAqIGdzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uYzogKGdzdF9iYXNlX3RyYW5zZm9ybV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fY29uZmlndXJlX2NhcHMpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldGNhcHMpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2dldF9zaXplKSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2V2ZW50KSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfcGFzc3Rocm91Z2gpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2lzX3Bhc3N0aHJvdWdoKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNpbmsuYzogKGdzdF9mYWtlX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmaWxlc2luay5jOiAoZ3N0X2ZpbGVfc2lua19ldmVudCk6CgkgIEV2ZW50IHVwZGF0ZXMuCgkgICogZ3N0L2dzdGJ1ZmZlci5oOgoJICBVc2UgZmFzdGVyIGNhc3RzLgoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9zZWVrKToKCSAgKiBnc3QvZ3N0ZWxlbWVudC5oOgoJICBVcGRhdGUgZ3N0X2VsZW1lbnRfc2Vlay4KCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKGdzdF9ldmVudF9maW5hbGl6ZSksIChfZ3N0X2V2ZW50X2NvcHkpLAoJICAoZ3N0X2V2ZW50X25ldyksIChnc3RfZXZlbnRfbmV3X2N1c3RvbSksIChnc3RfZXZlbnRfZ2V0X3N0cnVjdHVyZSksCgkgIChnc3RfZXZlbnRfbmV3X2ZsdXNoX3N0YXJ0KSwgKGdzdF9ldmVudF9uZXdfZmx1c2hfc3RvcCksCgkgIChnc3RfZXZlbnRfbmV3X2VvcyksIChnc3RfZXZlbnRfbmV3X25ld3NlZ21lbnQpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX25ld3NlZ21lbnQpLCAoZ3N0X2V2ZW50X25ld190YWcpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3RhZyksIChnc3RfZXZlbnRfbmV3X2ZpbGxlciksIChnc3RfZXZlbnRfbmV3X3FvcyksCgkgIChnc3RfZXZlbnRfcGFyc2VfcW9zKSwgKGdzdF9ldmVudF9uZXdfc2VlayksCgkgIChnc3RfZXZlbnRfcGFyc2Vfc2VlayksIChnc3RfZXZlbnRfbmV3X25hdmlnYXRpb24pOgoJICAqIGdzdC9nc3RldmVudC5oOgoJICBNYWtlIEdzdEV2ZW50IHVzZSBHc3RTdHJ1Y3R1cmUuIEFkZCBwYXJzaW5nIGNvZGUsIG1ha2Ugc3VyZSB0aGUKCSAgQVBJIGlzIHN1ZmZpY2llbnRseSBnZW5lcmljLgoJICBNYXJrIHBvc3NpYmxlIGRpcmVjdGlvbnMgb2YgZXZlbnRzIGFuZCBzZXJpYWxpemF0aW9uLgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChnc3RfbWVzc2FnZV9pbml0KSwgKGdzdF9tZXNzYWdlX2ZpbmFsaXplKSwKCSAgKF9nc3RfbWVzc2FnZV9jb3B5KSwgKGdzdF9tZXNzYWdlX25ld19zZWdtZW50X3N0YXJ0KSwKCSAgKGdzdF9tZXNzYWdlX25ld19zZWdtZW50X2RvbmUpLCAoZ3N0X21lc3NhZ2VfbmV3X2N1c3RvbSksCgkgIChnc3RfbWVzc2FnZV9wYXJzZV9zZWdtZW50X3N0YXJ0KSwKCSAgKGdzdF9tZXNzYWdlX3BhcnNlX3NlZ21lbnRfZG9uZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9nc3RwYWQuYzogKGdzdF9wYWRfZ2V0X2NhcHNfdW5sb2NrZWQpLCAoZ3N0X3BhZF9hY2NlcHRfY2FwcyksCgkgIChnc3RfcGFkX3NldF9jYXBzKSwgKGdzdF9wYWRfc2VuZF9ldmVudCk6CgkgIFVwZGF0ZSBmb3IgbmV3IGV2ZW50cy4KCSAgQ2F0Y2ggZXZlbnRzIHNlbnQgaW4gd3JvbmcgZGlyZWN0aW9ucy4KCSAgKiBnc3QvZ3N0cXVldWUuYzogKGdzdF9xdWV1ZV9saW5rX3NyYyksCgkgIChnc3RfcXVldWVfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F1ZXVlX2NoYWluKSwgKGdzdF9xdWV1ZV9sb29wKSwKCSAgKGdzdF9xdWV1ZV9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgRXZlbnQgdXBkYXRlcy4KCSAgKiBnc3QvZ3N0dGFnLmM6CgkgICogZ3N0L2dzdHRhZy5oOgoJICBSZW1vdmUgZXZlbnQgY29kZSBmcm9tIHRoaXMgZmlsZS4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRXZlbnQgdXBkYXRlcy4KCjIwMDUtMDctMDUgMTA6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IFBvcnRlZCBkYXRhcHJvdG9sIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9NYWtlZmlsZS5hbToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfdmFsaWRhdGVfcGFja2V0KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZGF0YXByb3RvY29sLXVuaW5zdGFsbGVkLnBjLmluOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZGF0YXByb3RvY29sLnBjLmluOgoJICBQb3J0ZWQgZGF0YXByb3RvbCB0byAwLjkuCgkgIEFkZGVkIHBrZ2NvbmZpZyBmaWxlcy4KCjIwMDUtMDUtMTYgMjA6MjE6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ2RwOiByZW1vdmUgR3N0RGF0YSBjaGVja3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svTWFrZWZpbGUuYW06IHJlbW92ZSBHc3REYXRhIGNoZWNrcwoJICAqIGNoZWNrL2dzdC1saWJzL2dkcC5jOiAoU1RBUlRfVEVTVCk6IGZpeCBmb3IgQVBJIGNoYW5nZXMKCSAgKiBnc3QvTWFrZWZpbGUuYW06IGFkZCBtaW5pb2JqZWN0LCByZW1vdmUgZGF0YQoJICAqIGdzdC9nc3QuaDogYWRkIG1pbmlvYmplY3QsIHJlbW92ZSBkYXRhCgkgICogZ3N0L2dzdGRhdGEuYzogcmVtb3ZlCgkgICogZ3N0L2dzdGRhdGEuaDogcmVtb3ZlCgkgICogZ3N0L2dzdGRhdGFfcHJpdmF0ZS5oOiByZW1vdmUKCSAgKiBnc3QvZ3N0dHlwZXMuaDogcmVtb3ZlIEdzdEV2ZW50IGFuZCBHc3RNZXNzYWdlCgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSk6IGZpeCBmb3IgQVBJIGNoYW5nZXMKCSAgKiBnc3QvZ3N0bWFyc2hhbC5saXN0OiBjaGFuZ2UgQk9YRUQgLT4gT0JKRUNUCgkgIEltcGxlbWVudCBHc3RNaW5pT2JqZWN0LgoJICAqIGdzdC9nc3RtaW5pb2JqZWN0LmM6CgkgICogZ3N0L2dzdG1pbmlvYmplY3QuaDoKCSAgTW9kaWZ5IHRvIGJlIHN1YmNsYXNzZXMgb2YgR3N0TWluaU9iamVjdC4KCSAgKiBnc3QvZ3N0YnVmZmVyLmM6IChfZ3N0X2J1ZmZlcl9pbml0aWFsaXplKSwgKGdzdF9idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9idWZmZXJfZmluYWxpemUpLCAoX2dzdF9idWZmZXJfY29weSksCgkgIChnc3RfYnVmZmVyX2luaXQpLCAoZ3N0X2J1ZmZlcl9uZXcpLCAoZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKSwKCSAgKGdzdF9zdWJidWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3N1YmJ1ZmZlcl9pbml0KSwKCSAgKGdzdF9idWZmZXJfY3JlYXRlX3N1YiksIChnc3RfYnVmZmVyX2lzX3NwYW5fZmFzdCksCgkgIChnc3RfYnVmZmVyX3NwYW4pOgoJICAqIGdzdC9nc3RidWZmZXIuaDoKCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKF9nc3RfZXZlbnRfaW5pdGlhbGl6ZSksIChnc3RfZXZlbnRfZ2V0X3R5cGUpLAoJICAoZ3N0X2V2ZW50X2NsYXNzX2luaXQpLCAoZ3N0X2V2ZW50X2luaXQpLCAoZ3N0X2V2ZW50X2ZpbmFsaXplKSwKCSAgKF9nc3RfZXZlbnRfY29weSksIChnc3RfZXZlbnRfbmV3KToKCSAgKiBnc3QvZ3N0ZXZlbnQuaDoKCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoX2dzdF9tZXNzYWdlX2luaXRpYWxpemUpLAoJICAoZ3N0X21lc3NhZ2VfZ2V0X3R5cGUpLCAoZ3N0X21lc3NhZ2VfY2xhc3NfaW5pdCksCgkgIChnc3RfbWVzc2FnZV9pbml0KSwgKGdzdF9tZXNzYWdlX2ZpbmFsaXplKSwgKF9nc3RfbWVzc2FnZV9jb3B5KSwKCSAgKGdzdF9tZXNzYWdlX25ldyksIChnc3RfbWVzc2FnZV9uZXdfZXJyb3IpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3dhcm5pbmcpLCAoZ3N0X21lc3NhZ2VfbmV3X3RhZyksCgkgIChnc3RfbWVzc2FnZV9uZXdfc3RhdGVfY2hhbmdlZCksIChnc3RfbWVzc2FnZV9uZXdfYXBwbGljYXRpb24pOgoJICAqIGdzdC9nc3RtZXNzYWdlLmg6CgkgICogZ3N0L2dzdHByb2JlLmM6IChnc3RfcHJvYmVfcGVyZm9ybSksCgkgIChnc3RfcHJvYmVfZGlzcGF0Y2hlcl9kaXNwYXRjaCk6CgkgICogZ3N0L2dzdHByb2JlLmg6CgkgICogZ3N0L2dzdHF1ZXJ5LmM6IChfZ3N0X3F1ZXJ5X2luaXRpYWxpemUpLCAoZ3N0X3F1ZXJ5X2dldF90eXBlKSwKCSAgKGdzdF9xdWVyeV9jbGFzc19pbml0KSwgKGdzdF9xdWVyeV9maW5hbGl6ZSksIChnc3RfcXVlcnlfaW5pdCksCgkgIChfZ3N0X3F1ZXJ5X2NvcHkpLCAoZ3N0X3F1ZXJ5X25ldyk6CgkgIFVwZGF0ZSBlbGVtZW50cyBmb3IgR3N0RGF0YSAtPiBHc3RNaW5pT2JqZWN0IGNoYW5nZXMKCSAgKiBnc3QvZ3N0cXVlcnkuaDoKCSAgKiBnc3QvZ3N0cXVldWUuYzogKGdzdF9xdWV1ZV9maW5hbGl6ZSksIChnc3RfcXVldWVfbG9ja2VkX2ZsdXNoKSwKCSAgKGdzdF9xdWV1ZV9jaGFpbiksIChnc3RfcXVldWVfbG9vcCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGJ1ZmZlcnN0b3JlLmM6CgkgIChnc3RfYnVmZmVyX3N0b3JlX2FkZF9idWZmZXJfZnVuYyksCgkgIChnc3RfYnVmZmVyX3N0b3JlX2NsZWFyZWRfZnVuYyksIChnc3RfYnVmZmVyX3N0b3JlX2dldF9idWZmZXIpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc2luay5jOiAoZ3N0X2Zha2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zha2VzaW5rX3JlbmRlcik6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzcmMuYzogKGdzdF9mYWtlc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmaWxlc3JjLmM6IChnc3RfbW1hcF9idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X21tYXBfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X21tYXBfYnVmZmVyX2luaXQpLAoJICAoZ3N0X21tYXBfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9maWxlc3JjX21hcF9yZWdpb24pLAoJICAoZ3N0X2ZpbGVzcmNfY3JlYXRlX3JlYWQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RpZGVudGl0eS5jOiAoZ3N0X2lkZW50aXR5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzoKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9zcmNfZXZlbnQpLCAoZnJlZV9lbnRyeV9idWZmZXJzKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9oYW5kbGVfZXZlbnQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZHAtcHJpdmF0ZS5oOgoKMjAwNS0wNS0wNCAyMToyOTo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBHQ0MgNCBmaXhlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDUtMDQgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL2dzdC90bXBsL2dzdGF0b21pYy5zZ21sOgoJICAqIGRvY3MvZ3N0L3RtcGwvZ3N0cGx1Z2luLnNnbWw6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlc2lua19hY3RpdmF0ZSk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZXNyY19pbml0KSwgKGdzdF9iYXNlc3JjX3NldF9kYXRhZmxvd19mdW5jcyksCgkgIChnc3RfYmFzZXNyY19xdWVyeSksIChnc3RfYmFzZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2Jhc2VzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9iYXNlc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfYmFzZXNyY19hY3RpdmF0ZSk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5oOgoJICAqIGdzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uYzogKGdzdF9iYXNlX3RyYW5zZm9ybV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9zcmNfYWN0aXZhdGUpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RlbGVtZW50cy5jOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc3JjLmM6IChnc3RfZmFrZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9mYWtlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZmFrZXNyY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0ZWUuYzogKGdzdF90ZWVfc2lua19hY3RpdmF0ZSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOiAoZmluZF9lbGVtZW50X2dldF9sZW5ndGgpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2NoZWNrZ2V0cmFuZ2UpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2FjdGl2YXRlKToKCSAgKiBnc3QvZ3N0YmluLmM6IChnc3RfYmluX3NhdmVfdGh5c2VsZiksIChnc3RfYmluX3Jlc3RvcmVfdGh5c2VsZik6CgkgICogZ3N0L2dzdGNhcHMuYzogKGdzdF9jYXBzX2RvX3NpbXBsaWZ5KSwgKGdzdF9jYXBzX3NhdmVfdGh5c2VsZiksCgkgIChnc3RfY2Fwc19sb2FkX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9wYWRzX2FjdGl2YXRlKSwKCSAgKGdzdF9lbGVtZW50X3NhdmVfdGh5c2VsZiksIChnc3RfZWxlbWVudF9yZXN0b3JlX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RwYWQuYzogKGdzdF9wYWRfbG9hZF9hbmRfbGluayksIChnc3RfcGFkX3NhdmVfdGh5c2VsZiksCgkgIChnc3RfZ2hvc3RfcGFkX3NhdmVfdGh5c2VsZiksIChnc3RfcGFkX2NoZWNrX3B1bGxfcmFuZ2UpOgoJICAqIGdzdC9nc3RwYWQuaDoKCSAgKiBnc3QvZ3N0eG1sLmM6IChnc3RfeG1sX3dyaXRlKSwgKGdzdF94bWxfcGFyc2VfZG9jKSwKCSAgKGdzdF94bWxfcGFyc2VfZmlsZSksIChnc3RfeG1sX3BhcnNlX21lbW9yeSksCgkgIChnc3RfeG1sX2dldF9lbGVtZW50KSwgKGdzdF94bWxfbWFrZV9lbGVtZW50KToKCSAgKiBnc3QvaW5kZXhlcnMvZ3N0ZmlsZWluZGV4LmM6IChnc3RfZmlsZV9pbmRleF9sb2FkKSwKCSAgKF9maWxlX2luZGV4X2lkX3NhdmVfeG1sKSwgKGdzdF9maWxlX2luZGV4X2NvbW1pdCk6CgkgICogZ3N0L3JlZ2lzdHJpZXMvZ3N0bGlieG1scmVnaXN0cnkuYzogKHJlYWRfc3RyaW5nKSwgKHJlYWRfdWludCksCgkgIChyZWFkX2VudW0pLCAobG9hZF9wYWRfdGVtcGxhdGUpLCAobG9hZF9mZWF0dXJlKSwgKGxvYWRfcGx1Z2luKSwKCSAgKGxvYWRfcGF0aHMpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCk6CgkgICogdG9vbHMvZ3N0LWNvbXBsZXRlLmM6IChtYWluKToKCSAgKiB0b29scy9nc3QtY29tcHByZXAuYzogKG1haW4pOgoJICAqIHRvb2xzL2dzdC1pbnNwZWN0LmM6IChwcmludF9lbGVtZW50X3Byb3BlcnRpZXNfaW5mbyk6CgkgICogdG9vbHMvZ3N0LWxhdW5jaC5jOiAoeG1sbGF1bmNoX3BhcnNlX2NtZGxpbmUpOgoJICAqIHRvb2xzL2dzdC14bWxpbnNwZWN0LmM6IChwcmludF9lbGVtZW50X3Byb3BlcnRpZXMpOgoJICBHQ0MgNCBmaXhlbi4KCjIwMDUtMDMtMjEgMTc6MzQ6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IE5leHQgYmlnIG1lcmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV4dCBiaWcgbWVyZ2UuCgkgIEFkZGVkIEdzdEJ1cyBmb3IgbWFpbmxvb3AgaW50ZWdyYXRpb24uCgkgIEFkZGVkIEdzdE1lc3NhZ2UgZm9yIHNlbmRpbmcgbm90aWZpY2F0aW9ucyBvbiB0aGUgYnVzLgoJICBBZGRlZCBHc3RUYXNrIGFzIGFuIGFic3RyYWN0aW9uIGZvciBwaXBlbGluZSBlbnRyeSBwb2ludHMuCgkgIFJlbW92ZWQgR3N0VGhyZWFkLgoJICBSZW1vdmVkIFNjaGVkdWxlcnMuCgkgIFNpbXBsaWZpZWQgR3N0UXVldWUgZm9yIG11bHRpdGhyZWFkZWQgY29yZS4KCSAgTWFkZSBfbGluayB0aHJlYWRzYWZlLCByZW1vdmVkIG9sZCBjYXBzbmVnby4KCSAgQWRkZWQgU1RSRUFNX0xPQ0sgYW5kIFBSRVJPTExfTE9DSyBpbiBHc3RQYWQuCgkgIEFkZGVkIHBhZCBibG9ja2luZyBmdW5jdGlvbnMuCgkgIFJld29ya2VkIHNjaGVkdWxpbmcgZnVuY3Rpb25zIGluIEdzdFBhZCB0byBwcmVwYXJlIGZvcgoJICBzY2hlZHVsaW5nIHVwZGF0ZXMgc29vbi4KCSAgTW92ZWQgZXZlbnRzIG91dCBvZiBkYXRhIHN0cmVhbS4KCSAgU2ltcGxpZmllZCBHc3RFdmVudCB0eXBlcy4KCSAgQWRkZWQgcmV0dXJuIHZhbHVlcyB0byBwdXNoL3B1bGwuCgkgIFJlbW92ZWQgY2xvY2tpbmcgZnJvbSBHc3RFbGVtZW50LgoJICBBZGRlZCBwcm90b3R5cGVzIGZvciBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZm9yIG5leHQgbWVyZ2UuCgkgIFJlbW92ZWQgaXRlcmF0ZSBmcm9tIGJpbnMgYW5kIHN0YXRlIGNoYW5nZSBtYW5hZ2VtZW50LgoJICBGaXhlZCBzb21lIGVsZW1lbnRzLCBkaXNhYmxlZCBvdGhlcnMgZm9yIG5vdy4KCSAgRml4ZWQgLWluc3BlY3QgYW5kIC1sYXVuY2guCgkgIEFkZGVkIGNoZWNrIGZvciBHc3RCdXMuCgoyMDA1LTAzLTA3IDE4OjI3OjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGaXJzdCBUSFJFQURFRCBiYWNrcG9ydCBhdHRlbXB0LCBmb2N1c2luZyBvbiBhZGRpbmcgbG9ja3MgYW5kIG1ha2luZyBzdXJlIHRoZSBBUEkgaXMgdGhyZWFkc2FmZS4gTmVlZHMgbW9yZSB3b3JrLiBNb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpcnN0IFRIUkVBREVEIGJhY2twb3J0IGF0dGVtcHQsIGZvY3VzaW5nIG9uIGFkZGluZyBsb2NrcyBhbmQKCSAgbWFraW5nIHN1cmUgdGhlIEFQSSBpcyB0aHJlYWRzYWZlLiBOZWVkcyBtb3JlIHdvcmsuIE1vcmUgZG9jcwoJICBmb2xsb3cgdGhpcyB3ZWVrLgoKMjAwNS0wMi0xOCAxMzo1ODozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdkcDogQWxsb2NhdGUgdGhlIDEgYnl0ZSBtb3JlIG1lbW9yeSB0aGF0IHdhcyBmb3Jnb3R0ZW4hISEhIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wMi0xOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9kdW1wX2J5dGVfYXJyYXkpOgoJICBBbGxvY2F0ZSB0aGUgMSBieXRlIG1vcmUgbWVtb3J5IHRoYXQgd2FzIGZvcmdvdHRlbiEhISEhCgoyMDA0LTEwLTAxIDE2OjQ5OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggdGhyZWFkc2FmZXR5IG9mIHRoZSBjcmMgY2hlY2tpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9jcmMpOgoJICBGaXggdGhyZWFkc2FmZXR5IG9mIHRoZSBjcmMgY2hlY2tpbmcgZnVuY3Rpb24uCgoyMDA0LTA4LTE2IDEwOjM1OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IGZvciAjMTUwMjQyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZm9yICMxNTAyNDIKCjIwMDQtMDctMjggMTA6MjI6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkb2Mgc3R5bGUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyBzdHlsZSBmaXhlcwoKMjAwNC0wNi0wOSAxNjoyNDoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBidW1wIEdEUCB0byAwLjEsIGFkZCBidWZmZXIgZmxhZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1bXAgR0RQIHRvIDAuMSwgYWRkIGJ1ZmZlciBmbGFncwoKMjAwNC0wNS0yNCAxNjozODoxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IHdyYXAgaGVhZGVyIGluIF9ORVcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdyYXAgaGVhZGVyIGluIF9ORVcKCjIwMDQtMDUtMTkgMTc6MjI6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOiB1c2UgR1NUIG1hY3JvczsgYWRkIGFzc2VydHMKCjIwMDQtMDUtMTkgMTY6NTk6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogcHJpdmF0ZSBwcm90b3R5cGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHByaXZhdGUgcHJvdG90eXBlCgoyMDA0LTA1LTE5IDE2OjM3OjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGFkZCBkYXRhcHJvdG9jb2wKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIGxpYnMgZG9jczsgYWRkIGRhdGFwcm90b2NvbAoKMjAxMS0xMS0xNyAxMjo0ODoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTEwIDE4OjMyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZXMKCjIwMTEtMDktMjkgMTM6NDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbmV3IGF1ZGlvIGNhcHMKCjIwMTEtMDctMDggMjA6MDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwYXJzZSBjYXBzIGV2ZW50IGFuZCBwYXlsb2FkIGNhcHMKCSAgV2hpY2ggbWFrZXMgaXQgYWN0dWFsbHkgb3V0cHV0IHN0dWZmLgoKMjAxMS0wNi0xMyAxNjozMjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiB1cGRhdGUgZm9yIGJ1ZmZlciBBUEkgY2hhbmdlCgoyMDExLTA1LTE2IDEzOjQ4OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogcG9ydCB0byBuZXcgU0VHTUVOVCBBUEkKCjIwMTEtMDUtMDkgMTg6MTY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBzZWdtZW50OiBmaXggZm9yIG5ldyBjb3JlIEFQSQoJICBGaXggZm9yIGdzdF8qX3NlZ21lbnRfZnVsbCByZW5hbWUuCgoyMDExLTA1LTA5IDEzOjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogZG9uJ3QgdXNlIGJ1ZmZlciBjYXBzCgkgIFBvcnQgdG8gbmV3ZXN0IDAuMTEgY29yZSBBUEksIHJlbW92ZSBHU1RfUEFEX0NBUFMgYW5kIEdTVF9CVUZGRVJfQ0FQUy4KCjIwMTEtMDQtMTkgMTE6MzU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3Q6IFVzZSBHX0RFRklORV9UWVBFIGluc3RlYWQgb2YgR1NUX0JPSUxFUlBMQVRFCgoyMDExLTAxLTI3IDE3OjI4OjUxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlCgkgIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wMy0zMSAxNzo0Nzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGJ1ZmZlcmxpc3Q6IGZpeGVzIGZvciBuZXcgQVBJCgoyMDExLTAzLTI4IDE3OjQ2OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTAzLTI4IDE1OjUxOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHJlbWFpbmluZyB1bml0IHRlc3RzCgoyMDExLTAzLTI4IDE0OjEyOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB3b3JrIG9uIHBvcnRpbmcgdGhlIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjcgMTY6MzU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHBsdWdpbnM6IHBvcnQgc29tZSBwbHVnaW5zIHRvIHRoZSBuZXcgbWVtb3J5IEFQSQoKMjAxMS0wMi0wOSAxMjo0NToyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBlbnN1cmUgYnVmZmVyJ3MgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAxMS0wMS0xNiAxNDo1NTo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IG1ha2UgbmV3c2VnbWVudCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUKCjIwMTAtMDYtMTggMTY6Mzc6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogdXNlIG91ciBvd24gbWFjcm9zIGZvciB0aGUgdGVzdHMgbWFpbiBmdW5jdGlvbgoKMjAxMC0wMy0xNSAyMjo0OTo1MyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncyB0byBjb25maWd1cmUKCSAgRml4ZXMgZm9yIHRoZSBjb2RlIGluY2x1ZGVkCgoyMDEwLTAzLTE2IDE1OjQ1OjIzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoJICBBbHNvIGNoYW5nZSBteSBlbWFpbCBmcm9tIHRoZSBvbGQgdW5pdmVyc2l0eSBvbmUgdG8gdGhlIGN1cnJlbnQgb25lLgoKMjAxMC0wMy0xMSAxMzozMjoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byB3YXJuaW5nIGZsYWdzCgkgIEluY2x1ZGVzIGFsbCB0aGUgZml4ZXMgbmVjZXNzYXJ5IHRvIG1ha2Ugc3R1ZmYgY29tcGlsZSBhZ2Fpbi4KCjIwMDktMTEtMDUgMTU6NDI6MDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgZ2RwZGVwYXk6IENsZWFyIGFkYXB0ZXIgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZQoJICBGaXhlcyAjNjAwNDY5CgoyMDA5LTEwLTI4IDAwOjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgUmVtb3ZlIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIHRoZXkncmUgcG9pbnRsZXNzCgkgIFRoZXJlJ3Mgbm90IG11Y2ggcG9pbnQgaW4gdXNpbmcgR1NUX0RFQlVHX0ZVTkNQVFIgd2l0aCBHT2JqZWN0CgkgIHZpcnR1YWwgZnVuY3Rpb25zIHN1Y2ggYXMgZ2V0X3Byb3BlcnR5LCBzZXRfcHJvcGVyeSwgZmluYWxpemUgYW5kCgkgIGRpc3Bvc2UsIHNpbmNlIHRoZXknbGwgbmV2ZXIgYmUgdXNlZCBieSBhbnlvbmUgYW55d2F5LiBTYXZlcyBhCgkgIGZldyBieXRlcyBhbmQgcG9zc2libHkgYSBzaXh0ZWVudGggb2YgYSBwb2xhciBiZWFyLgoKMjAwOS0wOS0yMiAxMTo1ODoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBEb24ndCByZXBlYXQgdGFncyBidWZmZXJzIGZvciBldmVyeSBuZXcgc2VnbWVudAoJICBPbmx5IHNlbmQgYSB0YWcgYnVmZmVyIHdoZW4gb25lIGlzIHJlY2VpdmVkLCBub3QgYWZ0ZXIgZXZlcnkgbmV3IHNlZ21lbnQKCSAgZXZlbnQvdXBkYXRlLgoKMjAwOS0wOC0yNyAxODo1OTo0OSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBCdWcgNTkzMDM1IC0gc2V0IElOX0NBUFMgZm9yIHN0cmVhbWhlYWRlciBidWZmZXIKCjIwMDktMDgtMTAgMTU6NDA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBzdHJlYW1oZWFkZXI6IEZpeCBjYXBzIGxlYWsgaW4gdGhlIHZvcmJpc2VuYyB1bml0IHRlc3QKCjIwMDktMDgtMTAgMTQ6MTQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBjaGVja3M6IGZpeCBzdHJlYW0gaGVhZGVyIHVuaXQgdGVzdCBoYW5naW5nIGluIGdzdF90YXNrX2NsZWFudXBfYWxsKCkKCSAgU2V0IHBpcGVsaW5lcyB0byBOVUxMIHN0YXRlIGFuZCB1bnJlZiB3aGVuIGRvbmUuCgoyMDA5LTA1LTI3IDEyOjEwOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYmVjYXVzZSBOVUxMIGNhcHMgY29uZnVzZSBiYXNldHJhbnNmb3JtLgoJICBGaXhlcyAjNTgzODY3CgoyMDA4LTEwLTE2IDE1OjA3OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R5cGVmaW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCjIwMDgtMDctMTAgMjE6MDY6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXIuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3RhZy5jOgoJICAqIGdzdC9hZGRlci9nc3RhZGRlci5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24KCSAgdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlbGluZXMgYXJlICJzaW1wbGUiCgkgIHBpcGVsaW5lcy4KCjIwMDgtMDYtMzAgMDk6NDY6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogRW5hYmxlIHVuaXQgdGVzdHMgb24gUFBDIGFnYWluIGFzIHRoZSBidWdzIGFyZSBub3cgZml4ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRW5hYmxlIHVuaXQgdGVzdHMgb24gUFBDIGFnYWluIGFzIHRoZSBidWdzIGFyZSBub3cgZml4ZWQuCgoyMDA4LTA2LTIwIDA4OjQ1OjEzICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRml4IGEgYnVmZmVyIG1lbWxlYWsgYW5kIHJlbW92ZSBhIGNvbmZ1c2luZyBhbmQgd3JvbmcgZGVidWcgb3V0cHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldCk6CgkgIEZpeCBhIGJ1ZmZlciBtZW1sZWFrIGFuZCByZW1vdmUgYSBjb25mdXNpbmcgYW5kIHdyb25nIGRlYnVnIG91dHB1dC4KCSAgRml4ZXMgYnVnICM1Mzg2NjMuCgoyMDA4LTA2LTA0IDE2OjAwOjI2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogRG8gbm90IHRyeSB0byBydW4gYSB0ZXN0IHdoaWNoIHJlcXVpcmVzIHZvcmJpc2VuYyB1bmxlc3Mgd2UgaGF2ZSBhY3R1YWxseSBidWlsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChidWZmZXJfcHJvYmVfY2IpLAoJICAodGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKSwgKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIERvIG5vdCB0cnkgdG8gcnVuIGEgdGVzdCB3aGljaCByZXF1aXJlcyB2b3JiaXNlbmMgdW5sZXNzIHdlIGhhdmUKCSAgYWN0dWFsbHkgYnVpbHQgaXQuCgoyMDA4LTA2LTA0IDA1OjU4OjM4ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRG9uJ3Qgc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgdGhhdCBjb250YWluIGEgY29weSBvZiB0aGUgYnVmZmVyIGluY2x1ZGluZyB0aGUgY2FwcyBvZiB0aGVtIHJlc3VsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIERvbid0IHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHRoYXQgY29udGFpbiBhIGNvcHkgb2YgdGhlIGJ1ZmZlcgoJICBpbmNsdWRpbmcgdGhlIGNhcHMgb2YgdGhlbSByZXN1bHRpbmcgaW4gYW4gYWx3YXlzIGluY3JlYXNpbmcgcmVmY291bnQKCSAgb2YgdGhlIGNhcHMgYW5kIGluc2FuZWx5IGxhcmdlIGNhcHMuIEluc3RlYWQgaW5jbHVkZSBhIGJ1ZmZlciB3aXRob3V0CgkgIGNhcHMgaW4gdGhlIG5ldyBjYXBzLiBGaXhlcyBidWcgIzUzNjQ3NS4KCjIwMDgtMDUtMjIgMjI6MDk6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBjb21tZW50cywgYW5kIHNvbWUgbmV3IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3AuaDoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBjb21tZW50cywgYW5kIHNvbWUgbmV3IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4KCSAgUmVuYW1lIHNvbWUgaW50ZXJuYWwgZW51bSBkZWNsYXJhdGlvbnMgKGF1ZGlvY29udmVydCdzIERpdGhlclR5cGUgYW5kCgkgIE5vaXNlU2hhcGluZ1R5cGUsIEdzdFVuaXRUeXBlIGZyb20gdGhlIFRDUCBlbGVtZW50cykgdG8gbWF0Y2ggdGhlCgkgIGRvY3VtZW50ZWQgR09iamVjdCB0eXBlIG5hbWVzIHNvIHRoYXQgdGhlIGRvY3MgcGljayB0aGVtIHVwLgoJICBOYW1lIHRoZSBwbGF5YmluMiBkb2NzIG1hcmt1cHMgcHJvcGVybHkgc28gdGhleSBnZXQgcGlja2VkIHVwLiBUaGV5J2xsCgkgIG5lZWQgcmVuYW1pbmcgYmFjayB3aGVuL2lmIHBsYXliaW4yIGJlY29tZXMgcGxheWJpbi4KCSAgMTAwJSBzeW1ib2wgY292ZXJhZ2UgZm9yIHRoZSBwbHVnaW4gZG9jcywgYm9veWEuCgoyMDA4LTA1LTIxIDE2OjM2OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIGJhZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzogKGdzdF9vZ2dfcGFkX3R5cGVmaW5kKToKCSAgKiBnc3QvcGxheWJhY2svZGVjb2RldGVzdC5jOiAobmV3X2RlY29kZWRfcGFkX2NiKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6IChnc3RfZGVjb2RlX2Jpbl9pbml0KSwKCSAgKHRyeV90b19saW5rXzEpLCAoZWxlbV9pc19keW5hbWljKSwgKGNsb3NlX2xpbmspLCAodHlwZV9mb3VuZCksCgkgIChjbGVhbnVwX2RlY29kZWJpbik6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2luaXQpLAoJICAoY29ubmVjdF9lbGVtZW50KSwgKGdzdF9kZWNvZGVfZ3JvdXBfY29udHJvbF9kZW11eGVyX3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9yZW1vdmVfcHJvYmUpLAoJICAocXVldWVfb3V0X29mX2RhdGEpLCAoZ2VuX3ByZXJvbGxfZWxlbWVudCksIChwcmVyb2xsX3VubGlua2VkKSwKCSAgKG11dGVfZ3JvdXBfdHlwZSk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl92aXNfYmxvY2tlZCksCgkgIChnc3RfcGxheV9iaW5fc2V0X3Byb3BlcnR5KSwgKGhhbmRvZmYpLCAoZ2VuX3ZpZGVvX2VsZW1lbnQpLAoJICAoZ2VuX3RleHRfZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCksIChnZW5fdmlzX2VsZW1lbnQpLAoJICAocmVtb3ZlX3NpbmtzKSwgKGFkZF9zaW5rKSwgKHNldHVwX3NpbmtzKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKHBhZF9hZGRlZF9jYiksIChub19tb3JlX3BhZHNfY2IpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19nZXRfdmlkZW9fc2luayksCgkgIChnc3RfcGxheV9zaW5rX2dldF9hdWRpb19zaW5rKSwgKGdzdF9wbGF5X3NpbmtfdmlzX3VuYmxvY2tlZCksCgkgIChnc3RfcGxheV9zaW5rX3Zpc19ibG9ja2VkKSwgKGdzdF9wbGF5X3Npbmtfc2V0X3Zpc19wbHVnaW4pLAoJICAoZ3N0X3BsYXlfc2lua19nZXRfdmlzX3BsdWdpbiksIChnc3RfcGxheV9zaW5rX3NldF9tdXRlKSwKCSAgKGdlbl92aWRlb19jaGFpbiksIChnZW5fdGV4dF9jaGFpbiksIChnZW5fYXVkaW9fY2hhaW4pLAoJICAoZ2VuX3Zpc19jaGFpbiksIChnc3RfcGxheV9zaW5rX3JlY29uZmlndXJlKSwKCSAgKGdzdF9wbGF5X3Npbmtfc2V0X2ZvbnRfZGVzYyksIChnc3RfcGxheV9zaW5rX2dldF9mb250X2Rlc2MpLAoJICAoZ3N0X3BsYXlfc2lua19yZXF1ZXN0X3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAodHlwZV9mb3VuZCksIChzZXR1cF9zb3VyY2UpOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCksCgkgIChjYl9uZXdwYWQpOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0Ni5jOiAobmV3X2RlY29kZWRfcGFkX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JhdGUuYzogKHRlc3RfaW5qZWN0b3JfY2hhaW4pLAoJICAoZG9fcGVyZmVjdF9zdHJlYW1fdGVzdCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZmZtcGVnY29sb3JzcGFjZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKG5vdGdzdF9jaGVja19zZXR1cF9zcmNfcGFkMiksIChub3Rnc3RfY2hlY2tfdGVhcmRvd25fc3JjX3BhZDIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6ICh0ZXN0X3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzogKG1ha2Vfd2F2X3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKG1ha2VfbW9kX3BpcGVsaW5lKSwKCSAgKG1ha2VfZHZfcGlwZWxpbmUpLCAobWFrZV93YXZfcGlwZWxpbmUpLCAobWFrZV9mbGFjX3BpcGVsaW5lKSwKCSAgKG1ha2Vfc2lkX3BpcGVsaW5lKSwgKG1ha2VfcGFyc2VfcGlwZWxpbmUpLCAobWFrZV92b3JiaXNfcGlwZWxpbmUpLAoJICAobWFrZV90aGVvcmFfcGlwZWxpbmUpLCAobWFrZV92b3JiaXNfdGhlb3JhX3BpcGVsaW5lKSwKCSAgKG1ha2VfYXZpX21zbXBlZzR2M19tcDNfcGlwZWxpbmUpLCAobWFrZV9tcDNfcGlwZWxpbmUpLAoJICAobWFrZV9hdmlfcGlwZWxpbmUpLCAobWFrZV9tcGVnX3BpcGVsaW5lKSwgKG1ha2VfbXBlZ250X3BpcGVsaW5lKSwKCSAgKHVwZGF0ZV9maWxsKSwgKG1zZ19idWZmZXJpbmcpOgoJICBEb24ndCB1c2UgYmFkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjEgMDY6NDU6MjIgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBDbG9zZSBhIGJ1ZmZlciBtZW1vcnkgbGVhay4gRml4ZXMgYnVnICM1MzQwNzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgQ2xvc2UgYSBidWZmZXIgbWVtb3J5IGxlYWsuIEZpeGVzIGJ1ZyAjNTM0MDcxLgoKMjAwOC0wNC0xOCAxNDo1NDowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRG9uJ3QgdmFsaWRhdGUgdGhlIHBheWxvYWQgaWYgdGhlcmUgaXNuJ3QgYW55LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRG9uJ3QgdmFsaWRhdGUgdGhlIHBheWxvYWQgaWYgdGhlcmUgaXNuJ3QgYW55LgoJICBGaXhlcyAjNTI1OTE1CgoyMDA4LTAzLTI3IDE1OjI2OjM4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENoZWNrIHRoZSBib2R5IENSQyAoaWYgc2V0KSB3aGVuIGRlcGF5bG9hZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENoZWNrIHRoZSBib2R5IENSQyAoaWYgc2V0KSB3aGVuIGRlcGF5bG9hZGluZy4KCSAgRml4ZXMgIzUyMjQwMS4KCjIwMDgtMDMtMjMgMTM6MTI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBNYWtlIHRlc3QgY29tcGlsZSB3aXRob3V0IHVudXNlZCBmdW5jdGlvbi92YXJpYWJsZSB3YXJuaW5ncyBvbiBQUEMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIE1ha2UgdGVzdCBjb21waWxlIHdpdGhvdXQgdW51c2VkIGZ1bmN0aW9uL3ZhcmlhYmxlIHdhcm5pbmdzIG9uIFBQQy4KCjIwMDgtMDMtMjIgMTU6MDA6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAoZ3N0X2Fsc2FfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoZ3N0X2Fsc2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKGdzdF9hbHNhc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKGdzdF9jZF9wYXJhbm9pYV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZV92ZnNfc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZV92ZnNfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzogKGdzdF90aGVvcmFfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzogKGdzdF90aGVvcmFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zcmMuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X21peGVyX3RyYWNrX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgIChnc3RfYmFzZXJ0cHBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6IChnc3RfYXVkaW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAoZ3N0X2F1ZGlvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChnc3RfcGxheV9iYXNlX2Jpbl9jbGFzc19pbml0KSwKCSAgKHByZXJvbGxfdW5saW5rZWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzogKGdzdF9xdWV1ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAoZ3N0X3VyaV9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOiAoZ3N0X3ZpZGVvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOiAoZ3N0X3Y0bG1qcGVnc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6IChnc3RfdjRsbWpwZWdzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZQoJICBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHVzYWdlLAoJICBmZXdlciBhbGxvY2F0aW9ucyBhbmQgdGh1cyBsZXNzIG1lbW9yeSBkZWZyYWdtZW50YXRpb24uIERlcGVuZAoJICBvbiBjb3JlIENWUyBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MjM4MDYuCgoyMDA4LTAzLTAzIDA2OjA0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suYzogKGdzdF9hbHNhX21peGVyX3RyYWNrX2dldF90eXBlKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby5jOgoJICAqIGdzdC1saWJzL2dzdC9mZnQva2lzc19mZnRfZjY0LmM6IChraXNzX2ZmdF9mNjRfYWxsb2MpOgoJICAqIGdzdC1saWJzL2dzdC9wYnV0aWxzL21pc3NpbmctcGx1Z2lucy5jOgoJICAoZ3N0X21pc3NpbmdfdXJpX3NpbmtfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19kZWNvZGVyX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VuY29kZXJfbWVzc2FnZV9uZXcpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdHJ0Y3BidWZmZXIuYzoKCSAgKGdzdF9ydGNwX3BhY2tldF9ieWVfZ2V0X3JlYXNvbik6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19nZXRfYW55X2NhcHMpOgoJICAqIHN5cy92NGwvdjRsX2NhbGxzLmM6CgkgICogc3lzL3Y0bC92NGxzcmNfY2FsbHMuYzogKGdzdF92NGxzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGxzcmNfdHJ5X2NhcHR1cmUpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeGltYWdlc2lua194aW1hZ2VfbmV3KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChzZXR1cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlY29kZWJpbi5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOiAoc2V0dXBfZ25vbWV2ZnNzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoc2V0dXBfbXVsdGlmZHNpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChzZXR1cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoc2V0dXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKHNldHVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvY2xvY2stc2VsZWN0aW9uLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKHNldHVwKSwgKHRlYXJkb3duKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy92aWRlby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKHF1ZXJ5X3Bvc2l0aW9uc19lbGVtcyksCgkgIChxdWVyeV9wb3NpdGlvbnNfcGFkcyk6CgkgICogdGVzdHMvaWNsZXMvc3RyZXNzLXhvdmVybGF5LmM6IChteWNsb2NrKToKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkCgkgIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJ0cC5kZWY6CgkgIEFkZCBnc3RfcnRwX2J1ZmZlcl9zZXRfZXh0ZW5zaW9uX2RhdGEgdG8gdGhlIHN5bWJvbCBkZWZpbml0aW9uIGZpbGUuCgoyMDA3LTA2LTE0IDE5OjUzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiBEaXNhYmxlIHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYygpIG9uIHBwYzY0IHNpbmNlIGl0IGZhaWxzIG9uIHRoZSBwNS1wcGM2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIERpc2FibGUgdGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKCkgb24gcHBjNjQgc2luY2UgaXQKCSAgZmFpbHMgb24gdGhlIHA1LXBwYzY0IGJ1aWxkIGJvdCBhbmQgdGhlIGZhaWx1cmUgbG9va3MgbGlrZSBpdCBpcyBkdWUKCSAgdG8gdGhlIHNhbWUgaXNzdWUgYXMgIzM0ODExNCwgaWUuIGEgY29tcGlsZXIgYnVnLgoKMjAwNy0wNC0xNCAxMjozNDo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9jaGFpbik6IHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9jaGFpbik6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBidWZmZXJfcHJvYmVfY2IsIEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGEgYnVnIHdoZXJlIHNlcmlhbGl6ZWQgSU5fQ0FQUyBidWZmZXJzIG5lZWRlZCB0byBiZSBzZXQgSU5fQ0FQUy4KCjIwMDctMDQtMTMgMjE6NTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBuX2luX2NhcHMsIGJ1ZmZlcl9wcm9iZV9jYiwgR1NUX1NUQVJUX1RFU1QsCgkgIHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIEFkZCBhbm90aGVyIHRlc3Qgc2V0IHVwIGZvciBmYWlsdXJlCgoyMDA3LTA0LTEzIDIxOjA5OjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgZGVidWcgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGVidWcgY2hhbmdlcwoKMjAwNy0wNC0xMyAyMTowODoxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jIChuX3RhZ3MsIHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jIChuX3RhZ3MsIHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIHN0cmVhbWhlYWRlcl9zdWl0ZSwgbWFpbik6CgkgIEFkZCBhIHRlc3QgZm9yIHRoZSBzdHJlYW1oZWFkZXIgYnVnIFdpbSBmaXhlZC4KCjIwMDctMDQtMTIgMTA6MDM6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBNYWtlIHN1cmUgd2Ugc2V0IHRoZSBJTl9DQVBTIGZsYWcgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIElOX0NBUFMgZmxhZyBjb3JyZWN0bHkuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfcmVuZGVyKToKCSAgR2V0IHRoZSBJTl9DQVBTIGZsYWcgYmVmb3JlIHdlIGNhbGwgZnVuY3Rpb25zIHRoYXQgbWVzcyB3aXRoIHRoZSBmbGFncy4KCjIwMDctMDQtMTAgMjA6Mzc6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyLCBnc3RfZ2RwX3BheV9jaGFpbiwgZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciwKCSAgZ3N0X2dkcF9wYXlfY2hhaW4sIGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBPbmx5IHN0YW1wIGJ1ZmZlcnMgd2l0aCBvZmZzZXQvb2Zmc2V0X2VuZCByaWdodCBiZWZvcmUgdGhleSBnZXQKCSAgcHVzaGVkLiAgVGhpcyBlbnN1cmVzIG9mZnNldCBjb250aW51aXR5LCB3aGljaCB3YXMgbm90IHRoZSBjYXNlCgkgIGJlZm9yZSBhcyBzaG93biBieQoJICBnc3QtbGF1bmNoIC12IC1tIGF1ZGlvdGVzdHNyYyBudW0tYnVmZmVycz0xMCAhIGF1ZGlvY29udmVydCAhIHZvcmJpc2VuYyAhIGdkcHBheSAhIGlkZW50aXR5IGNoZWNrLWltcGVyZmVjdC1vZmZzZXQ9VFJVRSAhIGZha2VzaW5rIHNpbGVudD1UUlVFCgoyMDA3LTA0LTEwIDIwOjI1OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkaW5nIGRlYnVnZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGRlYnVnZ2luZwoKMjAwNy0wMy0xNCAxNTowNTozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGFkZCBidWZmZXIgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGJ1ZmZlciBsb2dnaW5nCgoyMDA2LTEyLTIyIDEyOjEwOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEZpeCB0aGUgZHAgdGVzdHMsIGJ1dCBhY3RpdmF0aW5nIHRoZSBwYWRzIGZvciB0aGUgc3RyZWFtaGVhZGVyIHRlc3RzIHRvbyBhbmQgY2xlYW5pbmcgdXAgY29uZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGNsZWFudXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKGNsZWFudXBfZ2RwcGF5KSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICBGaXggdGhlIGRwIHRlc3RzLCBidXQgYWN0aXZhdGluZyB0aGUgcGFkcyBmb3IgdGhlIHN0cmVhbWhlYWRlciB0ZXN0cwoJICB0b28gYW5kIGNsZWFuaW5nIHVwIGNvbmRpdGlvbmFseQoKMjAwNi0xMi0yMSAwODoxMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoY2xlYW51cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYzogKHRlYXJkb3duX3N1YnBhcnNlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOiAoY2xlYW51cF90ZXh0b3ZlcmxheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChjbGVhbnVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjbGVhbnVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChjbGVhbnVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpLAoJICAoY2xlYW51cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOiAoc2V0dXBfdm9yYmlzdGFnKSwKCSAgKGNsZWFudXBfdm9yYmlzdGFnKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMDktMjEgMDU6MzE6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IFNvbWUgbW9yZSBjb21waWxhdGlvbiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2F1ZGlvLmM6CgkgIFNvbWUgbW9yZSBjb21waWxhdGlvbiBmaXhlcy4KCjIwMDYtMDktMjAgMTc6MDQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IEZpeCBzb21lIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKGVvc19idWZmZXJfcHJvYmUpOgoJICBGaXggc29tZSB3YXJuaW5ncy4KCjIwMDYtMDgtMjUgMTY6MTk6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIG1pc2xlYWRpbmcgZGVidWcgbWVzc2FnZXMsIGFkZCBhIGNvdXBsZSBvZiBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbik6CgkgIEZpeCBtZW1vcnkgbGVha3MgYW5kIG1pc2xlYWRpbmcgZGVidWcgbWVzc2FnZXMsIGFkZCBhIGNvdXBsZSBvZgoJICBjb21tZW50cy4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19nZXRfc3RhdHMpLAoJICAoZ3N0X211bHRpX2ZkX3NpbmtfcmVuZGVyKToKCSAgRG8gbm90IHVzZSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBpbiBhIGJhc2VzaW5rIHJlbmRlciBtZXRob2QsCgkgIGFzIGl0IG1heSBpbmNvcnJlY3RseSB1bnJlZiB0aGUgYnVmZmVyLiBJbnN0ZWFkLCB1c2UgY29udm9sdXRlZAoJICBkYW5jZSB0byBhdm9pZCBjb3B5aW5nIHRoZSBidWZmZXIgZXhjZXB0IHdoZW4gd2UgbmVlZCB0by4KCjIwMDYtMDgtMjEgMTk6MDQ6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9SRUFETUU6CgkgIGFkZGluZyBhIFJFQURNRQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGEgUkVBRE1FCgoyMDA2LTA4LTIxIDE5OjAxOjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgR0RQIHBsdWdpbiB0byAtYmFzZSBmcm9tIC1iYWQuIENsb3NlcyAjMzQ3NzgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgR0RQIHBsdWdpbiB0byAtYmFzZSBmcm9tIC1iYWQuICBDbG9zZXMgIzM0Nzc4My4KCjIwMDYtMDgtMDggMTM6NTc6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE5vdyBpbmNsdWRlcyAiY29uZmlnLmgiCgoyMDA2LTA4LTA4IDEzOjQ1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoKMjAwNi0wOC0wNCAxMzoyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuIEZpeGVzICMzNDk5MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCjIwMDYtMDgtMDIgMTY6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERpc2FibGUgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfZGVwYXlfc3JjX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIFNtYWxsIGNsZWFudXBzLgoJICBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBDbGVhciBjYXBzIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX3BheV9maW5hbGl6ZSksIChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc3JjX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgUmVzZXQgcGF5bG9hZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIEZpeCBsZWFrZWQgYnVmZmVycyBpbiAtPnF1ZXVlIG9uIHB1c2ggZXJyb3JzLgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIENvZGUgY2xlYW51cHMuCgkgIENyZWF0ZSBwYWNrZXRpemVyIGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCjIwMDYtMDctMzEgMDg6NDg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20gdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbQoJICB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIzM0OTIwNAoKMjAwNi0wNy0yNiAxMDo1MjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseSBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KToKCSAgcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5CgkgIGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudGFsbHkKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICByZW1vdmUgZGVjbGFyYXRpb24gb2YgYnVmZmVycywgaXQncyBhbHJlYWR5IGRvbmUgaW4gZ3N0Y2hlY2suaAoKMjAwNi0wNy0xNyAxNDoxNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMgZml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDYtMDctMTQgMTA6MzQ6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoKMjAwNi0wNy0xMyAxNToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgZml4IHNlZ2ZhdWx0cyBkdWUgdG8gd3JvbmcgZ19mcmVlCgkgIGFkZCBleGFtcGxlCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIGV4YW1wbGUKCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA2LTA2IDE2OjI2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCjIwMDYtMDYtMDYgMTQ6Mzk6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBhZGQgdmVyc2lvbiAxLjAKCjIwMDYtMDYtMDIgMTY6NDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBzbWFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgZml4ZXMKCjIwMDYtMDYtMDIgMTA6Mjg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpOgoJICBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcwoJICBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdkcHBheV9zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBjcmMKCjIwMDYtMDYtMDEgMjI6MDA6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0yMiAxNTo1MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9wYXlfY2hhaW4pLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zCgkgIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgY2xlYW4gdXAgbW9yZQoKMjAwNi0wNS0yMiAxMzoyNTo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuIEJ1aWxkIGludGVncmF0aW9uIHdpbGwgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfZ2RwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfZGlzcG9zZSksIChnc3RfZ2RwX3N0YW1wX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9nZHBfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KSwgKGdkcGRlcGF5X3B1c2hfcGVyX2J5dGUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcGRlcGF5X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwcGF5X3N1aXRlKSwKCSAgKG1haW4pOgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsCgkgIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoKMjAxMi0wOS0xMCAyMDozODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IE1pc2MgZml4IGZvciAwLjExCgkgIENvbnZlcnQgdGhlIGluY29taW5nIGNhcHMgYmVmb3JlIHByb3h5aW5nIHRoZW0KCSAgQ2xlYXIgdGhlIGxhc3RfcGFkIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgdGVzdHM6IEltcGxlbWVudCBhY2NlcHRfY2FwcywgZG9uJ3QgbGVhayBldmVudAoKMjAxMi0wOS0xMCAxNjoxMjozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LW1hcnNoYWwubGlzdDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogVXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMi0wOS0xMCAxNjowOToyNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC1tYXJzaGFsLmxpc3Q6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5oMjY0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLm1qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi5oMjY0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIubWpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLnl1eTI6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2Jvb2xlYW5fcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvZW51bV9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9lbnVtX3Byb3BlcnR5X2d0azIuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvaW50X3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgVVZDIEgyNjQgcGx1Z2luCgoyMDEyLTA5LTA5IDIzOjUyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBvcGVuY3Y6IGRpc2FibGUgbW90aW9uY2VsbHMgImRhdGUiIHByb3BlcnR5IGZvciBub3cKCSAgU2hvdWxkbid0IGJlIG9mIHR5cGUgbG9uZy4gTm90IHN1cmUgaXQncyB1c2VmdWwgYXQgYWxsLCBzbwoJICBqdXN0IGRpc2FibGUgaXQgZm9yIG5vdyB0byBzZWUgaWYgc29tZW9uZSBtaXNzZXMgaXQuCgoyMDEyLTA5LTA5IDE0OjM1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBub24tZXhpc3RhbnQgaGxzc2luayBwbHVnaW4gZnJvbSBOT05QT1JURUQgbGlzdAoKMjAxMi0wOS0wOCAxNjowODoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBGaXggbWVtb3J5IGxlYWsKCjIwMTItMDktMDggMTU6NTc6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBmaXggbGVha3MgaW4gYXVkaW9zcmMvc2luawoKMjAxMi0wOS0wOCAxNzowMzozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IG92ZXJyaWRlIHVwc3RyZWFtIGZyYW1lcmF0ZSBhbmQgUEFSCgkgIElmIHVwc3RyZWFtIHByb3ZpZGVkIHNvbWUsIHRoZXJlJ3MgYSBnb29kIGNoYW5jZSB0aGV5IGFyZSB0aGUgb25lcyB0byB1c2UKCjIwMTItMDktMDggMTQ6NDM6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSAgaGxzOiBkaXNhYmxlIGhsc3NpbmsgYnV0IGRvIGJ1aWxkIGhsc2RlbXV4CgoyMDEyLTA5LTA4IDE0OjMxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmUuYWM6IFByb3Blcmx5IGRpc2FibGUgSExTIHBsdWdpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYWQzNDQ1YTI1ZjMxYmMwZDAxNjdhNGY0MTM3OTFiZWE4MDA2NzgzLgoJICBUaGlzIGRpc2FibGVkIGhsc2RlbXV4IGFzIHdlbGwKCjIwMTItMDktMDggMTQ6MDU6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFByb3Blcmx5IGRpc2FibGUgSExTIHBsdWdpbgoKMjAxMi0wOS0wNyAxNjowODo1NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBBZGQgbWlzc2luZyBHU1RfUExVR0lOU19CQVNFX0NGTEFHUwoKMjAxMi0wOS0wNyAxNjowNzo0MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBBZGQgc2VnbWVudCB0YXJnZXQtZHVyYXRpb24gcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBjYXVzZXMgaGxzc2luayB0byBwdXNoIGEgZm9yY2Uga2V5IHVuaXQgZXZlbnQgdXBzdHJlYW0KCSAgZXZlcnkgdGFyZ2V0LWR1cmF0aW9uIHNlY29uZHMuIFRoaXMgaXMgZm9yIHNpbXBsZSBhdXRvbWF0aWMgc2VnbWVudGluZy4KCSAgVG8gZGlzYWJsZSBpdCwgc2V0IHRoZSBwcm9wZXJ0eSB0byAwIGFuZCBwdXNoIHRoZSBmb3JjZSBrZXkgdW5pdCBldmVudAoJICBtYW51YWxseS4KCjIwMTEtMDgtMjEgMTE6MDA6NTEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IGFkZCBobHNzaW5rIGVsZW1lbnQKCjIwMTItMDktMDYgMDE6NTM6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGNvcnJlY3QgdmFyaWFibGUgd2hlbiBoYW5kbGluZyBwYWQgcHJvYmUgYnVmZmVycwoJICBQYWQgcHJvYmUgZGF0YSBpcyBpbiB0aGUgR3N0UGFkUHJvYmVJbmZvLCBub3QgaW4gdGhlIHVzZXIgZGF0YQoJICBwYXJhbWV0ZXIuCgoyMDEyLTA5LTAzIDE5OjI1OjUyICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgbXl0aHR2OiB1cGRhdGUgZm9yIGR1cmF0aW9uIG1lc3NhZ2UgQVBJIGNoYW5nZQoKMjAxMi0wOS0wMyAxNDoyMToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCBpbnRlcmxhY2VfY29kaW5nIGJhc2VkIG9uIGlucHV0IGNhcHMKCSAgYW5kIHJlbW92ZSBwcm9wZXJ0eS4KCjIwMTItMDktMDMgMTQ6MDQ6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBjb25maWd1cmUgcHJvZmlsZS9sZXZlbCBmcm9tIGFsbG93ZWQgZG93bnN0cmVhbSBjYXBzIGluc3RlYWQgb2YgcHJvcGVydGllcwoJICBUaGlzIGlzIGhvdyBpdCdzIGRvbmUgZWxzZXdoZXJlIGFuZCB3b3JrcyBiZXR0ZXIgd2l0aCBlbmNvZGViaW4uCgkgIFJlbW92ZXMgImZvcmNlLXByb2ZpbGUiIHByb3BlcnR5LCByZWFkLW9ubHkgInByb2ZpbGUiIHByb3BlcnR5IGFuZAoJICAibGV2ZWwiIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNjA4CgoyMDEyLTA5LTAzIDEzOjU4OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IGZpeCBtYWluIHByb2ZpbGUgbWFwcGluZwoKMjAxMi0wOS0wMyAxMzowNDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHByZXR0aWZ5IGVudW0gcHJvcGVydHkgbmlja3MKCSAgVXNlICctJyBpbnN0ZWFkIG9mICdfJyBhcyB3b3JkIHNlcGFyYXRvci4KCjIwMTItMDktMDMgMTI6NDE6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogY2hhbmdlICJpbnRlcmxhY2VkIiBib29sZWFuIGluIGNhcHMgdG8gImludGVybGFjZS1tb2RlIgoJICBOb3Qgc3RyaWN0bHkgbmVlZGVkLCBidXQgbGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggdGhlIHJhdwoJICB2aWRlbyB3YXkgb2YgZG9pbmcgdGhpbmdzLgoKMjAxMi0wOS0wMyAxMjozMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiB1c2Ugc3RyaW5ncyBmb3IgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBtb3N0IG90aGVyIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MzYKCjIwMTItMDktMDIgMTI6MzY6MzcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTm8gbmVlZCB0byBkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNzUKCjIwMTItMDktMDIgMDM6NTU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGV4dHJhY3QgeWVhciB0byB3cml0ZSBpbnRvIElEM3YxIHRhZyBmcm9tIEdTVF9UQUdfREFURV9USU1FIG5vdCBHU1RfVEFHX0RBVEUKCjIwMTItMDktMDEgMjE6NDY6MTkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNldCAwIGR1cmF0aW9uIHdoZW4gdm9wX2NvZGVkIGlzIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE2OQoKMjAxMi0wOS0wMiAwMTo0MjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb24gLT4gZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uX2NoYW5nZWQKCjIwMTItMDktMDEgMDk6MTI6NTEgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogSGFuZGxlIGNhcHMgcXVlcnkgb24gaW50ZXJuYWwgc3JjcGFkCgkgIFJlcGx5IHdpdGggQU5ZIGNhcHMgdG8gZW5zdXJlIGxpbmtpbmcgdGhlIGludGVybmFsIHNyYyBwYWQuIFRoaXMKCSAgbWlnaHQgbmVlZCBtb3JlIGF0dGVudGlvbiBsYXRlciwgdG8gcmVwbHkgd2l0aCB0aGUgcmVhbCB1cHN0cmVhbSBjYXBzCgkgIGZvciB0aGUgY3VycmVudGx5IGFjdGl2ZSBlbGVtZW50LgoKMjAxMi0wOC0zMSAxNToyODoyOSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZC9tcGVnZGVtdXg6IFNlbmQgYm90aCBQVFMgYW5kIERUUyBkb3duc3RyZWFtCgkgIE5vdyB0aGF0IHdlIGNhbi4KCjIwMTItMDktMDIgMDA6MDQ6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGRvbid0IGxlYWsgYnVmZmVyIGluIGNhc2Ugb2YgYW4gaW5pdCBlcnJvcgoKMjAxMi0wOS0wMiAwMDozNDozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTc1CgoyMDEyLTA4LTMxIDE0OjEzOjU4IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBQbHVnIGEgdmlkZW8gcGFyc2VyIGluIGZyb250IG9mIGRlY29kZXIKCSAgU2VlbXMgdG8gbWFrZSBwbGF5YmFjayBib3RoIGJldHRlciBhbmQgd29yc2UuIFRoZSBwYXJzZXIgbmVlZHMgc29tZQoJICBmaXhpbmcsIGl0IHNlZW1zIDotLwoKMjAxMi0wOC0zMSAxMjozMTo0OCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBNYWtlIEdBUCBldmVudCBhd2FyZQoKMjAxMi0wOC0zMSAwODo0Njo0NSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuaDoKCSAgcmVzaW5kdmQ6IEFkZCBzb21lIEdBUCBldmVudCBzdHVmZiB0byBtYWtlIHN0aWxsLWZyYW1lcyBzdGFydCB0byB3b3JrCgkgIEFuZCByZW1vdmUgdGhlIGRlYWQgYXVkaW9tdW5nZSBlbGVtZW50LiBJdCBpc24ndCBuZWVkZWQgbm93LCB3ZSBqdXN0CgkgIHNlbmQgR0FQIGV2ZW50cwoKMjAxMi0wNi0wOSAyMjozNjowNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgcmVzaW5kdmQ6IEluaXRpYWwgcGFydGlhbCBwb3J0IHRvIDAuMTEKCjIwMTItMDgtMzAgMTg6Mzk6NTAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgZHJvcCB1cHN0cmVhbSBldmVudHMgZHVlIHRvIHNpbGx5IHR5cG8KCjIwMTItMDgtMzAgMTc6NTE6NTAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogTWVyZ2Ugc29tZSBEVkQgcGllY2VzIGFuZCBmaXhlcwoJICBCcmluZyB0aGUgcmVzaW5kdmQgY29weSBvZiBtcGVncHNkZW11eCBhbmQgdGhlIG5vcm1hbCB2ZXJzaW9uCgkgIHNsaWdodGx5IGNsb3NlciB0b2dldGhlci4KCSAgRG9uJ3QgZm9yd2FyZCBpbmNvbWluZyBzaW5rIGNhcHMgZXZlbnQgdG8gZG93bnN0cmVhbSBlbGVtZW50cy4KCjIwMTItMDYtMTEgMDg6MzM6MzYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgZXh0cmEgcmVmcy91bnJlZnMgb2YgdGhlIGRlbXV4ZXIKCSAgQ2hhbmdlIGFsbCB0aGUgZ3N0X3BhZF9nZXRfcGFyZW50KCkgY2FsbHMgdG8gYSBjYXN0IHRvIHRoZQoJICBwYXNzZWQgcGFyZW50IHZhcmlhYmxlIHdoZXJlIGFwcHJvcHJpYXRlLCBhbmQgZG9uJ3QgdW5yZWYsCgkgIGluY2x1ZGluZyB0aGUgZXh0cmEgdW5yZWYgaW4gdGhlCgkgIGdzdF9mbHVwc19kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2goKSBmdW5jdGlvbi4KCjIwMTItMDgtMzAgMTI6MTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCSAgLi4uIGFuZCBzdXBwbHkgb3ZlcmxheSByZWN0YW5nbGUgZGF0YSBpbiBBWVVWIGFzIHByb3ZpZGVkIGJ5IGlucHV0CgkgIGRhdGEgcmF0aGVyIHRoYW4gY29udmVydGluZyB0byBSR0IuCgoyMDEyLTA4LTI5IDIyOjA1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byBzZXQgY2xvY2svYmFzZXRpbWUgYWdhaW4KCSAgVGhlIGJhc2UgYW5kIGNsb2NrIGFyZW4ndCBsb3N0IGFueW1vcmUgb24gc3RhdGUgY2hhbmdlcwoJICBpbiAxLjAKCjIwMTItMDgtMjkgMjI6MDU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHNlbmQgZXh0cmEgcmVjb25maWd1cmUKCSAgU2V0dGluZyBjYXBzZmlsdGVycyBhbHJlYWR5IHNlbmRzIHJlY29uZmlndXJlIGV2ZW50cyB3aGVuIGEgbmV3CgkgIGNhcHMgaXMgc2V0LCBubyBuZWVkIHRvIHJlc2VuZCB0aGVtLgoKMjAxMi0wOC0yOCAyMTowMTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlcXVlc3QgXyV1IHRlbXBsYXRlcyBpbnN0ZWFkIG9mIF8lZAoJICBJbiAxLjAsIHRlbXBsYXRlcyBoYXZlIGJlZW4gcmVuYW1lZCB0byBfJXUgYXMgZGVmYXVsdAoKMjAxMi0wOC0yNiAxNjo0MzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBpbWFnZSBsb2NhdGlvbiBzd2l0Y2hpbmcgdGVzdAoJICBUaGUgdGVzdCBzaG91bGQgd2FpdCB1bnRpbCB0aGUgbGFzdCBpbWFnZS1kb25lIGlzIHBvc3RlZCBzbyBpdAoJICBjYW4gY29ycmVjdGx5IGNoZWNrIHRoYXQgYWxsIGltYWdlcyBoYXZlIGJlZW4gc2F2ZWQuCgoyMDEyLTA4LTI2IDE2OjQyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJld29yayB2aWRlbyByZWNvcmRpbmcgZW9zIHB1c2gKCSAgUHVzaCBFT1Mgb3V0c2lkZSBvZiB3cmFwcGVyY2FtZXJhYmluc3JjIHNvIHRoYXQgbm9uZSBvZiB0aGUKCSAgaW50ZXJuYWwgZWxlbWVudHMgZ2V0cyBpdHMgcGFkcyBpbnRvIGVvcyBzdGF0ZSwgcHJldmVudGluZyBhbnkKCSAgZnVydGhlciBkYXRhIGZyb20gcGFzc2luZwoKMjAxMi0wOC0yOCAxMTowNzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50bHkgc2l6ZWQgYnVmZmVyIHdoZW4gd3JhcHBpbmcgTkFMCgkgIE5vdGVkIGJ5IDx6aGFuZ3lhbnBpbmcyMTBAeWFob28uY29tLmNuPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNTg5CgoyMDEyLTA4LTI0IDA5OjAxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkgIHNobTogcmVtb3ZlIHVubmVlZGVkIGdsaWItZ2VuLW1hayBpbmNsdWRlIGluIE1ha2VmaWxlCgkgIE5vIGVudW1zIG9yIG1hcnNoYWxsZXJzIHRvIGJlIGdlbmVyYXRlZCBoZXJlLiBTaG91bGQgYWxzbwoJICBiZSBnc3QtZ2xpYi1nZW4ubWFrIHRoZW4uCgoyMDEyLTA4LTIyIDE1OjA4OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmV2ZXJ0IHJlbmFtaW5nIG9mIHRoZSB0eXBlCgkgIFRoZSBzcGVjaWFsIHR5cGUgbmFtZSB3YXMgbG9zdCB3aGVuIG1lcmdpbmcgZnJvbSBiYXNlLgoKMjAxMi0wOC0yMiAxMzozMDo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjY4YWNlZSB0byA0Zjk2MmY3CgoyMDEyLTA4LTIyIDEzOjE5OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgZ3RrLWRvYyByZXEgdG8gMS4xMiAobWFyLTIwMDkpCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGUuZy4gdW5jb25kaXRpb25hbGx5IHVzZSBndGtkb2MtcmViYXNlLgoKMjAxMi0wOC0yMSAxMzoyOToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBhdm9pZCByZWdpc3RlcmluZyBlbnVtIHR5cGUgb2Ygc2FtZSBuYW1lIGFzIGxpYnZpc3VhbCBwbHVnaW4gaW4gLWJhc2UKCjIwMTItMDgtMTcgMTE6MTI6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IHVzZSBzY2FsZSBmdWxsc2NyZWVuIG1ldGhvZC4KCSAgVGhpcyBtYWtlcyB0aGUgY29tcG9zaXRvciBzY2FsZSB0aGUgc3VyZmFjZSB0byBmaXQgYW5kIHByZXNlcnZlcwoJICBhc3BlY3QgcmF0aW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMTcgMTE6MTA6MzkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IHJlc3BvbmQgdG8gcGluZy9wb25nIHByb3RvY29sIHNvIHdlJ3JlIG5vdCBkZWVtZWQgdW5yZXNwb25zaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTIxIDEwOjM3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBjaGVjayBmb3Igd2F5bGFuZAoJICBXZSBvbmx5IHNlZW0gdG8gbmVlZCB3YXlsYW5kLWNsaWVudC4gQWxzbyBtYWtlIHdvcmsgd2l0aAoJICB3YXlsYW5kIGJlaW5nIGluc3RhbGxlZCBpbiBhIG5vbi1kZWZhdWx0IHByZWZpeCBieSBub3QKCSAgb3ZlcndyaXRpbmcvY2xlYXJpbmcgV0FZTEFORF97Q0ZMQUdTLExJQlN9IGZvciBubyByZWFzb24KCSAgYXQgYWxsLgoKMjAxMi0wOC0yMSAxMDoyOTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZml4IGJ1aWxkCgkgIFNvbWUgY29kZSBzbGlwcGVkIGludG8gdGhlIGxhc3QgY29tbWl0IHRoYXQgd2FzIG1lYW50IHRvIGJlCgkgIHB1c2hlZCBzZXBhcmF0ZWx5LiBVc2UgZ3N0X2RhdGVfdGltZV91bnJlZigpIGluc3RlYWQgb2YgX2ZyZWUoKS4KCjIwMTItMDgtMDggMTc6MTA6MjggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmQ6IE1vcmUgZml4ZXMgYmFzZWQgb24gd2F5bGFuZC0wLjk1LjAgYW5kIGdzdHJlYW1lci0xLjAgYXBpcwoJICAtIGJ1bXAgd2F5bGFuZCB2ZXJzaW9uIHRvIDAuOTUuMCB3aGljaCB3aWxsIGxlYWQgdG8gc3RhYmxlIDEuMCByZWxlYXNlCgkgIC0gYXZvaWQgbWVtY29weSBhbmQgdXNlIHByb3Bvc2VfYWxsb2NhdGlvbiBmb3IgR3N0QnVmZmVyUG9vbCBhbGxvY2F0aW9uCgkgIC0gdXNpbmcgV2F5bGFuZEJ1ZmZlclBvb2wKCSAgLSBzaG06IEFsbG9jYXRlIHNobSBidWZmZXJzIHRocm91Z2ggbmV3IHdsX3NobV9wb29sIGludGVyZmFjZQoJICAodGhlIHNobSBidWZmZXIgYWxsb2NhdGlvbiBpcyBhIHR3byBzdGVwIHByb2Nlc3Mgbm93OiBmaXJzdAoJICBhbGxvY2F0ZSBhIHdsX3NobV9wb29sLCB0aGVuIGFsbG9jYXRlIGEgYnVmZmVyIGZyb20gdGhlIHBvb2wpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMjEgMTA6MjI6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogcG9ydCB0byAwLjExCgoyMDEyLTA4LTIxIDAwOjEwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBHU1RfVEFHX0RBVEUgLT4gR1NUX1RBR19EQVRFX1RJTUUKCSAgSW4gY2FtZXJhYmluMiBleGFtcGxlLgoKMjAxMi0wOC0yMCAyMzozNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdmlkZW8veC1kdmQtc3VicGljdHVyZSAtPiBzdWJwaWN0dXJlL3gtZHZkCgoyMDEyLTA4LTE4IDIwOjMxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L3J0anBlZy9SVGpwZWcuYzoKCSogZ3N0L3J0anBlZy9SVGpwZWcuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuaDoKCSogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uYzoKCSogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uaDoKCSAgRml4IHVwIEZTRiBhZGRyZXNzIGluIHNvbWUgc291cmNlIGZpbGVzIGFzIHdlbGwKCjIwMTItMDgtMTggMTE6MDk6MzkgLTA0MDAgIEJyaWFuIFBlcHBsZSA8YnBlcHBsZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIENPUFlJTkc6CgkqIENPUFlJTkcuTElCOgoJICBDb3JyZWN0IGluY29ycmVjdCBGU0YgYWRkcmVzcyBpbiBsaWNlbnNlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxNTgKCjIwMTItMDgtMTcgMjI6NTc6MTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3luYyB0byBjaGFuZ2UgaW4gYmFzZSBhbmQgcG9ydAoJICBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhIGFuZCBHc3RWaWRlb0ZyYW1lLiBSZW1vdmUgc29tZSByZWR1bmRhbnQgZmllbGRzCgkgIHRoYXQgYXJlIGFsc28gaW4gR3N0VmlkZW9JbmZvLiBEb24ndCBkaXNhYmxlIHRoZSBzaGFkZXIgY29kZSwgaXQgZG9lcyBub3QKCSAgbG9vayBicm9rZW4uCgoyMDEyLTA4LTE3IDE1OjE1OjM0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN0YXR1cyB1cGRhdGUKCjIwMTItMDgtMTUgMTg6Mjg6MDkgLTA0MDAgIEJyaWFuIFBlcHBsZSA8YnBlcHBsZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbWlzc2luZyBBQ19MQU5HX1BST0dSQU0gY2FsbCB0byBEaXJlY3RTaG93IHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5NTIKCjIwMTItMDgtMTUgMTE6MjY6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdmlzdWFsaXplcjogc21hbGwgY2xlYW51cAoJICBBcHBseSBjbGVhbnVwIGZyb20gY29weSBpbiBiYXNlLgoKMjAxMi0wNy0yNCAyMDozOTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZmx1c2hpbmcvc3luYyBoYW5kbGluZwoJICBUaGVyZSB3YXMgYSBzdHJheSBhZGFwdGVyX2ZsdXNoKCkgbm93IHRoYXQgd2UgdXNlZCBhIHRlbXBvcmFyeSBidWZmZXIKCjIwMTItMDctMTkgMTM6MzU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQmV0dGVyIGRldGVjdCBQQ1IgcmVzZXRzCgkgIEFzc3VtZSB0aGF0IGFueSBkaWZmZXJlbmNlcyBpbiBQQ1IgZ3JlYXRlciB0aGFuIDE1cyBtZWFucyB0aGVyZSBpcwoJICBhIHJlc2V0IGluIHRoZSBzdHJlYW0uCgoyMDEyLTA3LTE5IDA5OjA1OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xOSAwOTowNToxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE0IDEzOjU5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZS9kZW1vdGUgc29tZSBkZWJ1Z2dpbmcKCjIwMTItMDctMTMgMTY6NTY6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWx3YXlzIHVzZSBjdXJyZW50IFBUUy9EVFMKCSAgVGhpcyBhdm9pZHMgc2V0dGluZyBvbGQgUFRTIGFuZC9vciBEVFMKCjIwMTItMDctMTMgMTY6MjI6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIHVubmVlZGVkIG1lbXNldCgwKQoKMjAxMi0wNy0xMyAxNjoyMjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHM6IFVzZSBHX0dOVUNfSU5URVJOQUwKCjIwMTItMDctMTEgMDg6MTA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGR2YiBwbHVnaW4gaXMgcG9ydGVkCgoyMDEyLTA3LTExIDA4OjEwOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IE1vcmUgZml4dXBzIHRvIDEuMAoJICBOb3QgdGVzdGVkIHlldCAhCgkgIENvbmZsaWN0czoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYwoKMjAxMi0wNi0yOSAxODowNDowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICBjYW06IEFsbG93IHRpbWUgZm9yIENBIHRvIGluaXRpYWxpemUKCSAgU29tZSBkZXZpY2VzIHRha2Ugc29tZSB0aW1lIHRvIGluaXRpYWxpemUsIGFuZCB1bnRpbCB0aGV5IGFyZSB0aGV5CgkgIHdpbGwgZXJyb3Igb3V0IHdoZW4gdHJ5aW5nIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0EgZGV2aWNlLgoKMjAxMi0wNi0yOSAxODowMToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgIGNhbTogUE1UX1JFUExZIHBhcnNpbmcKCSAgTm90IHVzZWQgeWV0CgoyMDEyLTA2LTI5IDE4OjAwOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgZHZiYmFzZWJpbjogU3dpdGNoIHRvIHVzZSB0c3BhcnNlCgoyMDEyLTA2LTI5IDE3OjUzOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBnc3Rfc3RydWN0dXJlXypfdGFrZV92YWx1ZSB3aGVyZSBhcHBsaWNhYmxlCgkgIFNhdmVzIGNvcHlpbmcvZnJlZWluZyBkYXRhCgoyMDEyLTA2LTI5IDE2OjE0OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENhY2hlIHRoZSBHSUNvbnYKCSAgQXZvaWRzIGhhdmluZyB0byBjb25zdGFudGx5IG9wZW4vZnJlZSB0aGVtICh3aGljaCB3aWxsIGVuZCB1cCBiZWluZwoJICB2ZXJ5IG9mdGVuIHdpdGggRUlUL05JVCkuCgoyMDEyLTA2LTI5IDE2OjA5OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogcmVzZXQgZWxlbWVudCBpbiBSRUFEWT0+UEFVU0VECgkgIEVuc3VyZXMgYWxsIHN1YmNsYXNzIHJlc2V0IHZtZXRob2RzIGFyZSBjYWxsZWQKCjIwMTItMDYtMjggMTI6MTg6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIG1vcmUgUXVhcmtzCgoyMDEyLTA2LTI2IDE5OjAxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGNvZGUKCSAgUENSL09QQ1IgaXMgbWVhbnQgdG8gYmUgaGFuZGxlZCBieSB0aGUgcGFja2V0aXplcgoKMjAxMi0wNi0yNiAxODo1OTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDYWxjdWxhdGUgcGNyL3RpbWUvb2Zmc2V0IHNlcGFyYXRlbHkgcGVyIHByb2dyYW0KCSAgQXZvaWRzIHF1aXRlIGEgZmV3IGlzc3VlcyB3aXRoIG11bHRpLXByb2dyYW0gc3RyZWFtcwoKMjAxMi0wNi0yNiAxODo1NDo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogUHVzaCBvdXQgYnVmZmVyIG9uIG1haW4gc291cmNlIHBhZAoKMjAxMi0wNi0yNiAxODo1MToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndGJhc2U6IHZtZXRob2QgdG8gbm90aWZ5IHdoZW4gd2UncmUgZG9uZSBwcm9jZXNzaW5nIGlucHV0CgkgIFRoaXMgY2FuIGJlIHVzZWQgdG8gbm90aWZ5IHN1YmNsYXNzZXMgbm8gbW9yZSBkYXRhIGlzIGV4cGVjdGVkIHRoaXMKCSAgcm91bmQuCgkgIHRzcGFyc2Ugd2lsbCB1c2UgaXQgdG8gcHVzaCB3aG9sZSBidWZmZXJzICh3aXRob3V0IGNvcHkpIG9uIHRoZSBtYWluCgkgIHNvdXJjZSBwYWQuCgkgIEl0IGNvdWxkIGFsc28gYmUgdXNlZCBsYXRlciB0byBkZWNpZGUgd2hldGhlciB0byBwdXNoIHBlbmRpbmcgZGF0YQoJICBpbiBvcmRlciB0byByZWR1Y2UgbGF0ZW5jeS4KCjIwMTEtMDItMDEgMTE6Mzk6MTYgLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYyArIGR2YiBhcGkgYnVmZmVyIHByb3BlcnR5IHRvIG92ZXJjb21lIGJ1ZmZlciB1bmRlciByZWFkcwoKMjAxMi0wOC0wOCAxNTowNjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogRG9uJ3QgYXNzdW1lIG91dHB1dCBidWZmZXIgdGltZXN0YW1wcwoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB3aGF0c29ldmVyIHRoYXQgdGhlIGZpcnN0IGJ1ZmZlciB0byBvdXRwdXQgd2lsbAoJICBzdGFydCBhdCB0aGUgc2VnbWVudC5zdGFydC4KCSAgSW5zdGVhZCwgd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciBhIHNlZ21lbnQsIGFuZCB1c2UgdGhhdCB0aW1lc3RhbXAKCjIwMTItMDgtMTQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgZGVjb2RpbmcgdGhyZWFkcwoKMjAxMi0wOC0xNCAxMTowOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBNRlFFIHBvc3Rwcm9jZXNzaW5nIGZsYWcKCSAgV2hpY2ggaXMgZW5hYmxlZCBieSBkZWZhdWx0IGlmIHBvc3Rwcm9jZXNzaW5nIGlzIGVuYWJsZWQuCgoyMDEyLTA4LTEzIDEwOjU3OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogb25seSBhcHBseSByZXBlYXQgY291bnQgd2hlbiBzZXQKCSAgV2hlbiB0aGVyZSBpcyBubyBleHRlbnNpb24gaGVhZGVyLCB0aGUgcmVwZWF0X2NvdW50IHZhcmlhYmxlIGlzIGxlZnQgdG8gMCBhbmQKCSAgdGhlbiB0aGUgZHVyYXRpb24gb24gdGhlIG91dHB1dCBidWZmZXJzIGlzIGNhbGN1bGF0ZWQgd3JvbmdseS4gQmVjYXVzZSB0aGUKCSAgZHVyYXRpb24gaXMgdXNlZCB0byBpbnRlcnBvbGF0ZSBvdXRwdXQgdGltZXN0YW1wcywgdGhlIG91dHB1dCB0aW1lc3RhbXBzIGFyZQoJICBhbHNvIHdyb25nLCBjYXVzaW5nIGJhZCBmcmFtZXJhdGVzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTUzNQoKMjAxMi0wOC0wOSAxMzozNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogVXNlIHBrZy1jb25maWcgZmlsZSBmb3IgZ2V0dGluZyB0aGUgTElCUyBhbmQgQ0ZMQUdTCgoyMDEyLTA4LTA5IDExOjQ4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBHaXZlIE1BUkdJTkFMIHJhbmsgdG8gdGhlIG1wZzEyMyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMDggMTc6NDA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTc6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgdGhlIHBlci1jb21wb25lbnQgc3RyaWRlcyBmb3IgZXZlcnkgZnJhbWUgdG9vCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgR3N0VmlkZW9BbGlnbm1lbnQKCjIwMTItMDgtMDggMTY6MzU6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTMgPT09CgoyMDEyLTA4LTA4IDE1OjMyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIFJlbGVhc2UgMC4xMS45MwoKMjAxMi0wOC0wOCAxMjo1ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogZGlzdCBoZWFkZXIgZmlsZQoKMjAxMi0wOC0wOCAxMjoxMzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBob3RvZ3JhcGh5LmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBmb3IgcGhvdG9ncmFwaHkgQVBJIGNoYW5nZXMKCjIwMTItMDgtMDggMTE6NTM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogLmdpdGlnbm9yZSBuZXcgY3VybHNtdHBzaW5rIHRlc3QgYmluYXJ5CgoyMDEyLTA4LTAzIDE2OjIxOjA5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBQb3J0IHRvIDAuMTEKCjIwMTItMDgtMDcgMTg6MjM6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogYWRkIG1pc3NpbmcgZGVmYXVsdCBzd2l0Y2ggY2FzZQoKMjAxMi0wOC0wNyAxODoyMzowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiBmaXggdHlwZXMKCjIwMTItMDgtMDcgMTg6MjI6MzYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogZml4IGZvcm1hdCB3YXJuaW5ncwoKMjAxMi0wOC0wNyAxODoyMTo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBmaXggdW51c2VkIHZhcmlhYmxlcyB3YXJuaW5ncwoKMjAxMi0wOC0wNyAxODoyMDo1MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZG9uJ3QgcmVpbml0aWFsaXplIE1FRElBU1VCVFlQRV9JNDIwCgoyMDEyLTA4LTA3IDE4OjE5OjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAgd2lua3M6IGRlZmluZSBTVEFUSUNfS1NQUk9QU0VUSURfV2F2ZV9RdWV1ZWQgaWYgbm90IGRlZmluZWQKCjIwMTItMDgtMDcgMTY6NTM6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5rczogaW50ZWdyYXRlIGJ1aWxkIHdpdGggYXV0b3Rvb2xzCgoyMDEyLTA4LTAyIDE0OjI2OjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzCgkgIFJlbmFtZSB0aGUgRExMIGVudHJ5IHBvaW50IHRoZSBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljCgkgIGxpbmtzLgoKMjAxMi0wOC0wMiAxNDoyNjozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcwoJICBSZW5hbWUgdGhlIERMTCBlbnRyeSBwb2ludCB0aGUgYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYwoJICBsaW5rcy4KCjIwMTItMDgtMDYgMTM6NTk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgZ3N0OiBBZGQgc3RyZWFtLWlkIHRvIHN0cmVhbS1zdGFydCBldmVudHMKCjIwMTItMDctMjYgMTk6MzE6MTQgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGluaXRpYXRlIGVuY29kZXIgdG8gZml4IGEgY3Jhc2guCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCB2cDhlbmMgc2VuZCBoZWFkZXIgYmVmb3JlIGFuZCBhZnRlciBmaXJzdAoJICBrZXkgZnJhbWUuIE9uIHNlY29uZCBrZXlmcmFtZSB2cDhkZWMgd2lsbCBjcmFzaCB3aXRob3V0IGdldHRpbmcKCSAgZGVjb2RlZCBmcmFtZS4gV2l0aCB0aGlzIHBpcGUgaXQgaXMgZWFzeSB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgdnA4ZW5jICEgdnA4ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDY2NwoKMjAxMi0wOC0wNSAxNjo0MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTRjY2Y0YyB0byA2NjhhY2VlCgoyMDEyLTA4LTA0IDE2OjMxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZ3N0X3RhZ19saXN0X2ZyZWUgLT4gZ3N0X3RhZ19saXN0X3VucmVmCgoyMDEyLTA4LTAzIDExOjMxOjAwICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmw6IGZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzIGluIHRoZSBwbHVnaW4gYW5kIHRoZSB1bml0IHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExNQoKMjAxMi0wOC0wMyAxNDoxMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBsaWJtcGcxMjMgPj0gMS4xMyBmb3IgMjQtYml0IGZvcm1hdHMKCjIwMTItMDgtMDMgMTM6NDM6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IG1hcCBpbnB1dCBidWZmZXIgaW4gUkVBRCBtb2RlLCBub3QgV1JJVEUgbW9kZQoJICBNYWtlcyB0aGluZ3MgYWN0dWFsbHkgd29yay4KCjIwMTItMDgtMDMgMTE6NTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHF1ZXJ5IHN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0cyBhdCBydW4tdGltZQoJICBGaXhlcyBzdHVmZi4gV2UgdXNlIGEgc3RyaW5nIGhlcmUgc2luY2Ugd2UgY2FuJ3QgYmUgYm90aGVyZWQKCSAgd2l0aCBHVmFsdWUuCgoyMDEyLTA4LTAzIDExOjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBtcGcxMjM6IGhvb2sgdXAgdG8gYnVpbGQgc3lzdGVtCgoyMDEyLTA4LTAzIDExOjEzOjQ4ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuaDoKCSAgbXBnMTIzOiBhZGQgbmV3IGxpYm1wZzEyMy1iYXNlZCBtcDMgZGVjb2RlciBwbHVnaW4KCSAgTmVlZHMgYSBiaXQgb2YgY2xlYW5pbmcgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEwMDMKCjIwMTItMDgtMDMgMDA6MTA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHNjaHJvZWRpbmdlciwgbXBlZ3RzbXV4OiBmaXggcGx1Z2luIG5hbWVzCgoyMDEyLTA3LTMxIDA5OjM2OjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogU2F2ZSBpbWFnZS92aWRlbyByZWNvbmZpZ3VyYXRpb24gdW50aWwgY2FwdHVyaW5nCgkgIEFkZCBhIHNyYyBwYWQgZXZlbnQgaGFuZGxlciBmdW5jdGlvbiB0aGF0IGZpbHRlcnMgcmVjb25maWd1cmUgZXZlbnRzIHRvCgkgIHRyaWdnZXIgdGhlIHJlbmVnb3RpYXRpb24gY29kZSBwYXRocyBpbiB0aGUgbW9kZS1zcGVjaWZpYyBzdGFydC1jYXB0dXJlCgkgIHBoYXNlLgoJICBUaGlzIGlzIHRvIHdvcmsgdG93YXJkcyBmaXhpbmcgdW5pdCB0ZXN0cyBidXQgbW9yZSB3b3JrIGlzIG5lZWRlZC4KCjIwMTItMDgtMDIgMTQ6NDA6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkbyBub3QgYWNjZXNzIGZyYW1lIGJ1ZmZlciBmb2xsb3dpbmcgX2ZpbmlzaF9mcmFtZSBjYWxsCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA0OTQKCjIwMTItMDgtMDEgMTE6MzQ6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgIG1wbGV4OiBkZWZhdWx0IHRvIERWRCBNUEVHLTIgZm9ybWF0IGluc3RlYWQgb2YgR2VuZXJpYyBNUEVHLTEKCjIwMTItMDgtMDEgMTE6MzE6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgIG1wbGV4am9iOiBhZGQgbmlja3MgZm9yIGZvcm1hdCBlbnVtcywgYWRkIHNvbWUgbW9yZSBmb3JtYXRzCgoyMDEyLTA3LTMwIDE3OjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBmaXggamlmbXV4IHRlc3QgZm9yIGZpeGVkIGZhaWwoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzU1CgoyMDEyLTA3LTI5IDAxOjExOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IHByZXZpZXcgbWVzc2FnZSBoYW5kbGluZwoJICBQcmV2aWV3IG1lc3NhZ2VzIG5vdyBjb250YWluIEdzdFNhbXBsZXMgaW5zdGVhZCBvZiBHc3RCdWZmZXJzCgoyMDEyLTA3LTI5IDAwOjUzOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgcHJldmlldyBidWZmZXIgcHVzaGluZwoJICBuZWVkIHRvIHBhc3MgYSBHc3RTYW1wbGUgdG8gdGhlIHV0aWxpdGFyeSBwcmV2aWV3IGJ1ZmZlciBwb3N0IGZ1bmN0aW9ucwoJICBhcyBhIEdzdEJ1ZmZlciBkb2Vzbid0IGhhdmUgY2FwcyBhbnltb3JlLiBUaGUgR3N0U2FtcGxlIGhhcyB0aGUgR3N0Q2FwcwoJICBhbmQgaXQgaXMgdXNlZCB0byBpbmZvcm0gdGhlIHByZXZpZXcncyBwaXBlbGluZSBhYm91dCB0aGUgZm9ybWF0IG9mIHRoZQoJICBpbnB1dCwgYmVmb3JlIGl0IGdldHMgY29udmVydGVkIHRvIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIG91dHB1dCBmb3JtYXQuCgoyMDEyLTA3LTI5IDAwOjA0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBSZXZlcnQgImNhbWVyYWJpbjogdXBkYXRlIHRvIG5ldyB0YWcgZXZlbnQgY3JlYXRpb24gQVBJIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVkODkwYjNjOTI3MTRlMWYzNzE2MzI5MGMzMjkxMWJjZDc4MThhNTcuCgkgIFRoZSBuZXcgQVBJIGlzIHRoZSBvbGQgQVBJLgoKMjAxMi0wNy0yOCAxODowNDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IEZpeCByZWZlcmVuY2VzIHRvIGF2b2lkIGVsZW1lbnQgbGVha2luZwoJICBTb21lIHBhZCBwcm9iZXMgYXJlIG5ldmVyIGdvaW5nIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgcGFkcywgc28KCSAgd2Ugc2hvdWxkbid0IGtlZXAgYSBjYW1lcmFiaW4gcmVmZXJlbmNlIHdpdGggdGhlbSBvciBjYW1lcmFiaW4gd2lsbAoJICBuZXZlciBnZXQgcmVsZWFzZWQKCjIwMTItMDctMjggMTU6MTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdG8gbmV3IHRhZyBldmVudCBjcmVhdGlvbiBBUEkKCjIwMTItMDctMjggMTI6MDk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiByZW1vdmUgYXNzZXJ0aW9uIG9uIG51bGwgcHJvcGVydHkKCSAgQ2hlY2sgaWYgdGhlIGZsYWdzIGFyZSBub3QgbnVsbCBiZWZvcmUgdHJ5aW5nIHRvIHNldCB0aGVtIHRvCgkgIGNhbWVyYWJpbiB0byBhdm9pZCBhbiBhc3NlcnRpb24KCjIwMTItMDctMjggMDA6MzI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI3IDEzOjIyOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcHJvY2VzcyBBVFRBQ0hNRU5UIHRhZyBhcyBzYW1wbGUKCjIwMTItMDctMjUgMTY6MDU6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgZmFhYywgdm9hYWNlbmM6IGFkanVzdCB0byBtb2RpZmllZCBhdWRpb2VuY29kZXIgZ2V0Y2FwcyBoZWxwZXIgQVBJCgoyMDEyLTA3LTI0IDEyOjI4OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4YXRlIGNhcHMKCjIwMTItMDctMjQgMTA6NDY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLm9yYzoKCSAgZ3VhZGk6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggZ2F1ZGlfb3JjXwoKMjAxMi0wNy0yNCAxMDo0NDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgZmllbGRhbmFseXNpczogcHJlZml4IG9yYyBmdW5jdGlvbnMKCjIwMTItMDctMjQgMTA6MzI6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBiYXllcjogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCBiYXllcl9vcmMKCSAgQWRkIGJheWVyIG9yYyB0byB0aGUgdW5pdCB0ZXN0CgoyMDEyLTA3LTI0IDEwOjMyOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGZpeCB2aXN1YWxpemVyIGNvbXBpbGF0aW9uCgoyMDEyLTA3LTIzIDExOjM2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YWRhdGEgYW5kIGFyYml0cmFyeSBzdHJpZGVzCgoyMDEyLTA3LTIzIDEwOjU0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBNYXAgcmF3IHZpZGVvIGJ1ZmZlcnMgd2l0aCB0aGUgY29ycmVjdCByZWFkL3dyaXRlIGZsYWdzCgoyMDEyLTA3LTIzIDEwOjM1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAwODo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk4ZTM4NmYgdG8gOTRjY2Y0YwoKMjAxMi0wNy0yMSAxOTo1OToyMSArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIHVucmVmIGZyYW1lLiBpIGhvcGUgaXQgaXMgY29ycmVjdCBwbGFjZSB0byBkbyBpdC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDctMjAgMjM6Mjg6NDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogVXNlIGJ1ZmZlciBmbGFncyBhbmQgY2FwcyBjb3JyZWN0bHkKCSAgVGhpcyByZXF1aXJlcyBhIHJlY2VudCBjb21taXQgdG8gLWJhc2UgdGhhdCBhZGRzIGFuIElOVEVSTEFDRUQgYnVmZmVyCgkgIGZsYWcuCgoyMDEyLTA3LTIwIDE2OjQzOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogb25seSBkaXNjYXJkIGZyYW1lIG9uY2UgdXBvbiBkZWNvZGluZyBlcnJvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODg2CgoyMDEyLTA3LTE5IDE2OjEwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogZmFicy0+c3FydCB0byBjYWxjdWxhdGUgdGhlIG1hZ25pdHVkZQoKMjAxMi0wNy0xOCAwOToxOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBhbHNvIGFjdGl2YXRlIGluIHB1c2ggbW9kZSBpZiB0aGUgc2NoZWR1bGluZyBxdWVyeSBmYWlsZWQKCSAgSW4gY2FzZSBwYWRzIGFyZSB1bmxpbmtlZCBzb21ld2hlcmUuCgoyMDEyLTA3LTE4IDA4OjQxOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggcHVzaCBtb2RlIGFjdGl2YXRpb24KCSAgRXh0cmEgdW5yZWYgb24gcHVzaCBtb2RlIGFjdGl2YXRpb24gY2F1c2VkIGhhdm9jLgoKMjAxMi0wNy0xNiAwMDowNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZXh0cmFjdCB5ZWFyIGFzIEdzdERhdGVUaW1lIGluc3RlYWQgb2YgR0RhdGUKCjIwMTItMDctMTcgMTg6MDU6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBubyBuZWVkIHRvIG1ha2UgYnVmZmVyIHdyaXRhYmxlIHR3aWNlCgoyMDEyLTA3LTE3IDE4OjA1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcGx1ZyBzb21lIHJlZiBsZWFrcwoKMjAxMi0wNy0xNyAxNDowMjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMjI6MDI6NDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHNob3J0ZW4gYmFzZSBjbGFzcyBuYW1lCgkgIEFzIHN1Z2dlc3RlZCBvbiBJUkMgcmVuYW1lIHRvIEF1ZGlvVmlzdWFsaXplci4gV2UgdXNlIGN1c3RvbSBzdWZmaXggb24gdGhlIHR5cGUKCSAgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCBvdGhlciBjb3BpZXMgZm9yIHRoZSB0aW1lIGJlaW5nLgoKMjAxMi0wNy0xNSAxMjoyNzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgY2VsdCwgb3BlbmN2LCB3YXlsYW5kLCBkdmJzdWIsIGZlc3RpdmFsLCBobHM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTItMDctMTQgMTU6NTE6MDggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQ6IGRvbid0IGxpbmsgdG8gZ3N0aW50ZXJmYWNlcywgd2hpY2ggZG9lc24ndCBleGlzdCBhbnkgbW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5OTI5CgoyMDEyLTA2LTMwIDAwOjIyOjQwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBwb3J0IHRvIDAuMTEKCSAgQmFzaWMgcG9ydCB0byAwLjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTE2NAoKMjAxMi0wNy0xMyAxMjozMjo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogYWRhcHRpdmVseSBibGVuZCBvciBhdHRhY2ggdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbgoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMyAxMjoyNzo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogdXNlIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gaGVscGVyCgkgIC4uLiByYXRoZXIgdGhhbiBjdXN0b20gaG9tZS1tYWRlIGJsZW5kaW5nLgoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMiAxMDoxMzo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBtb3JlIGNvcnJlY3RseSBkZXRlcm1pbmUgZXhwZWN0ZWQgUEVTIHBhY2tldCBwYXlsb2FkIHNpemUKCSAgLi4uIHBhcnRpY3VsYXJseSBjb25zaWRlcmluZyB0aGF0IHBhY2tldF9sZW5ndGggPT0gMCBpcyBwb3NzaWJsZS4KCjIwMTItMDctMTEgMjM6MTc6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IHJlZ2lzdGVyIGFzIGVmZmVjdAoKMjAxMi0wNy0xMSAyMDozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb3JyZWN0bHkgZGV0ZXJtaW5lIGV4cGVjdGVkIFBFUyBwYWNrZXQgcGF5bG9hZCBzaXplCgkgIEF2b2lkcyBjb25zaXN0ZW50bHkgZmFpbGluZyB0byBkZXRlY3QgdGhhdCBhIHBhY2tldCBpcyBjb21wbGV0ZSwgd2hpY2gKCSAgd291bGQgdGhlbiBvbmx5IGJlIHB1c2hlZCB1cG9uIHRoZSBzdGFydCBvZiBhIG5leHQgcGFja2V0LCB3aGljaCBsZWFkcwoJICB0byBxdWl0ZSBhIGRlbGF5IGluIGNhc2Ugb2YgYSBzcGFyc2UgKHN1YnRpdGxlKSBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NzQKCjIwMTItMDctMTAgMTc6NTg6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBlbnN1cmUgbWluaW11bSBwYWdlIHRpbWUgb3V0IG9mIDEgc2Vjb25kCgkgIC4uLiB0byBjb21wZW5zYXRlIGZvciBzb21lIGJvZ3VzIHN1YnRpdGxlIHdpdGggYSAwIHRpbWVvdXQsIHdoaWNoIHdvdWxkCgkgIHJlc3VsdCBpbiBvbmx5IGJlaW5nIHNob3duIGZvciBhIHZlcnkgdW5yZWFkYWJsZSBhbW91bnQgb2YgdGltZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NzQKCjIwMTItMDctMTEgMTQ6Mjc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIHBpdGNoLXRlc3QKCSAgRG9lcyBub3Qgc291bmQgbGlrZSB0aGUgc2FtZSB0ZXN0IGluIDAuMTAgdGhvdWdoLi4KCjIwMTItMDctMTEgMTM6NTk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZHZic3Vib3ZlcmxheS5jOjc3MjoxNTogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDUgb2YgJ2dzdF9zZWdtZW50X2NsaXAnIGRpZmZlciBpbiBzaWduZWRuZXNzCgkgIC9ob21lL3RwbS9nc3QvMC4xMS9nc3RyZWFtZXIvZ3N0L2dzdHNlZ21lbnQuaDoxOTI6MTQ6IG5vdGU6IGV4cGVjdGVkICdndWludDY0IConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdnaW50NjQgKicKCSAgZ3N0ZHZic3Vib3ZlcmxheS5jOjc3MjoxNTogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDYgb2YgJ2dzdF9zZWdtZW50X2NsaXAnIGRpZmZlciBpbiBzaWduZWRuZXNzCgoyMDEyLTA3LTExIDEzOjQ5OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4dXAgZW5kLW9mLWRpc3BsYXktc2V0IGZvcmNpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTEgMTM6NDg6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBlbnN1cmUgdmFsaWQgc3VidGl0bGUgcnVubmluZyB0aW1lIGJ5IHByb3BlciBjbGlwcGluZwoJICBJbiBwYXJ0aWN1bGFyLCBwYXNzIGJ1ZmZlciB0aW1lc3RhbXAgKHB0cykgdG8gZHZiX3N1YiwgYW5kIHRoZW4gY2xpcAoJICBhbmQgY29udmVydCB0byBydW5uaW5nIHRpbWUgd2hlbiB0aGUgZHVyYXRpb24gKHRpbWVvdXQpIGlzIGtub3duIGFmdGVyCgkgIGRlY29kaW5nIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMjMzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTExIDEzOjQ1OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHByb3Blcmx5IGZvcmNlIGVuZC1vZi1kaXNwbGF5LXNldAoJICAuLi4gd2hpY2ggaXMgdXBvbiByZWNlaXZpbmcgbmV3IGRhdGEgd2l0aCBkaWZmZXJlbnQgUFRTIHNwZWMtd2lzZSwKCSAgb3Igb3B0aW9uYWxseSB1cG9uIGVhY2ggcGFja2V0IG9mIHN1YnRpdGxlIGRhdGEgaWYgZGVzaXJlZCBieSBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTMxMAoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMS0xMi0yMSAxMzowMDoyNyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBIYW5kbGUgbm9uX21vZGlmeWluZ19jb2xvdXJfZmxhZyBjb3JyZWN0bHkgaW4gdGhlIFJMRSBoYW5kbGVycwoJICBUaGUgY2hlY2sgZm9yIHdoZW4gdG8gbm90IG1lbXNldCB3YXMgY2hlY2tpbmcgb24gYW4gdW5kZXRlcm1pbmlzdGljICdiaXRzJyB2YXJpYWJsZSB2YWx1ZSwKCSAgd2hpY2ggaXMgb25seSBtZWFudCB0byBiZSB1c2VkIGluc2lkZSB0aGUgbG9vcCBlYXJsaWVyIHdoZW4gaXQgaXMgc3VwcG9zZWQgdG8gY2hlY2sgaWYKCSAgY2x1dF9pbmRleCBpcyAxIHRvZ2V0aGVyIHdpdGggbm9uX21vZCBzZXQsIGFzIHBlciBzcGVjOgoJICAibm9uX21vZGlmeWluZ19jb2xvdXJfZmxhZzogIElmIHNldCB0byAnMScgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgQ0xVVCBlbnRyeSB2YWx1ZSAnMScKCSAgaXMgYSBub24gbW9kaWZ5aW5nIGNvbG91ci4gV2hlbiB0aGUgbm9uIG1vZGlmeWluZyBjb2xvdXIgaXMgYXNzaWduZWQgdG8gYW4gb2JqZWN0IHBpeGVsLAoJICB0aGVuIHRoZSBwaXhlbCBvZiB0aGUgdW5kZXJseWluZyByZWdpb24gYmFja2dyb3VuZCBvciBvYmplY3Qgc2hhbGwgbm90IGJlIG1vZGlmaWVkLiBUaGlzCgkgIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSAidHJhbnNwYXJlbnQgaG9sZXMiIGluIG9iamVjdHMuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2MzUyCgoyMDEwLTEwLTEzIDEwOjU1OjE3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogdXBkYXRlIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMC0xMC0xNCAxMDo0OTo1NSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCBtYW51YWwgY29udHJvbCBvZiBleHBvc3VyZSwgZm9jdXMgYW5kIHdoaXRlIGJhbGFuY2UKCSAgQWRkIG5ldyBpbnRlcmZhY2UgcHJvcGVydGllcyBhbmQgbW9kZSBmb3IgYmV0dGVyIG1hbnVhbCBjb250cm9sIG9mCgkgIGV4cG9zdXJlLCBmb2N1cyBhbmQgd2hpdGUgYmFsYW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMC0xMC0wOCAxMTozMzozMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBwaG90b2dyYXBoeTogQWRkIEdzdFBob3RvZ3JhcGh5IHByZWZpeCBhbmQgZml4IHNwZWxsaW5nIGNvbG91ci0+Y29sb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMi0wNy0xMCAyMzoyNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbWlub3IgaGVhZGVyIGluZGVudGF0aW9uIGNsZWFuLXVwIGZvciBtcGVndmlkZW9wYXJzZXIKCjIwMTItMDctMTAgMTc6NDc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNy0xMCAxMjoxMDoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogdW5tYXAgaW5wdXQgYnVmZmVyCgoyMDEyLTA3LTA0IDEwOjE0OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIHBvcnQgZmVzdGl2YWwgdG8gMC4xMQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzczCgoyMDEyLTA3LTEwIDExOjE0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogZml4IHNvbWUgcGFkIHRlbXBsYXRlLXJlbGF0ZWQgY3JpdGljYWxzIGluIGNhbWVyYWJpbiB0ZXN0CgoyMDEyLTA3LTEwIDAwOjU5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBjb3B5IGludG8gcHJvdmlkZWQgYnVmZmVyIGlmIGEgYnVmZmVyIGlzIHByb3ZpZGVkCgoyMDEyLTA3LTA5IDIyOjA4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogZml4IHpiYXIgdGVzdAoKMjAxMi0wNy0wOSAxMjoyMjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDctMDggMTk6MjM6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyczogdXBkYXRlIGJhc2VjbGFzcyBmcm9tIGxpYnZpc3VhbCBwb3J0aW5nCgoyMDEyLTA3LTA4IDAwOjA4OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBwYXNzIHVuaGFuZGxlZCBub24tY3VzdG9tIGV2ZW50cyB0byB0aGUgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjI2CgoyMDEyLTA3LTA2IDE0OjUzOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIGRlcHJlY2F0ZWQgImlzLWxpdmUiIHByb3BlcnR5CgkgIFVzZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IGluc3RlYWQuCgoyMDEyLTA3LTA2IDExOjUwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTA3LTA0IDExOjM4OjUxICswMjAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXNyYzogbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBhIGNsaWVudCBkaXNjb25uZWN0cyAoZml4ZXMgIzY3OTM4NSkKCjIwMTItMDctMDUgMTM6MTg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBnc3Q6IEltcGxlbWVudCBzZWdtZW50LWRvbmUgZXZlbnQKCjIwMTItMDctMDMgMTI6NTc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbgoKMjAxMi0wNy0wMiAxNzo1NTozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IEJldHRlciBoYW5kbGluZyBvZiBhdWRpbyBvdXRwdXQKCSAgQ29uZmxpY3RzOgoJICBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcAoKMjAxMi0wNy0wMiAxNzo1MjoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IFNlbmQgbmV3c2VnbWVudCBldmVudHMKCjIwMTItMDctMDIgMTc6NTE6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogTWFyayBlbGVtZW50IGFzIHNpbmsgZWxlbWVudAoKMjAxMi0wNy0wMiAxNzo0OTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogdXNlIEdPbmNlIGluIHR5cGUgcmVnaXN0cmF0aW9uCgoyMDEyLTA3LTAyIDE3OjMyOjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogSW5jcmVhc2UgdGhlIGludGVyIGF1ZGlvIHN1cmZhY2UgYnVmZmVyaW5nCgoyMDEyLTA3LTAyIDEyOjA0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogcmVlbmFibGUgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxMi0wNy0wMiAxMjowMzo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBTZXQgZm9ybWF0IHRvIHRpbWUKCjIwMTItMDYtMjkgMTI6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICBzeXM6IG1ha2UgdmlkZW8gc2lua3MgZGVmYXVsdCB0byBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZQoKMjAxMi0wNi0yOCAxODowNDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzYmFzZTogTW92ZSBrbm93biBQU0kgUElEcyB0byB3aGVyZSB0aGV5IGJlbG9uZwoJICBUaGlzIGF2b2lkcyB0c2RlbXV4IHBhcnNpbmcgZGF0YSBpcyBkb2Vzbid0IHJlYWxseSBjYXJlIGFib3V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCjIwMTItMDYtMDIgMDg6MDU6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBrbm93biBkZWZhdWx0IFNJIFBJRHMKCjIwMTItMDYtMjggMTc6NDA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IEFBQyBMQVRNIGNhcHMKCjIwMTItMDYtMjIgMTY6NDc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCBiYXNpYyBvdXRwdXQgdW5pdCB0ZXN0IHZlcmlmaWNhdGlvbgoKMjAxMi0wNi0yMiAxNzo1MTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXBwbHkgc29tZSBtb3JlIENMT0NLX0JBU0UgdG8gZW5zdXJlIHNsYWNrIGZvciBQQ1Igb2Zmc2V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC90c211eC90c211eC5jCgoyMDEyLTA2LTI3IDExOjIzOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZml4IHgtd212IGZvcm1hdCBzdHJpbmcKCjIwMTItMDYtMjYgMTY6MzM6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogcG9ydCB0byAwLjExCgoyMDEyLTA2LTI1IDE2OjE4OjQxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBiZWZvcmUgdGhlIGQzZCBkZXZpY2UKCSAgVGhlIG9mZnNjcmVlbiBzdXJmYWNlIGtlZXBzIGEgcmVmZXJlbmNlIG9uIHRoZSBkM2QgZGV2aWNlLCBzbyBpZiB0aGUKCSAgZGV2aWNlIGlzIHJlbGVhc2VkIGZpcnN0IHdlIGRvbid0IHNlZSB0aGUgcmVmZXJlbmNlIGNvdW50IGRlYnVnIG1lc3NhZ2UKCSAgZ29pbmcgdG8gMCBhcyBpdCBzaG91bGQgYmUuCgoyMDEyLTA2LTE5IDIwOjE2OjQwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBjbGVhbiB1cCBlbGVtZW50CgkgIFJlbW92ZSBvbGQgY29tbWVudGVkIGNvZGUgYW5kIHVuZWVkZWQgZXh0cmEgaW5kZW50YXRpb24KCjIwMTItMDYtMTkgMjA6MDM6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IHJld29yayBsb2NraW5nIGZvciBkZXZpY2VzIGxvc3QKCjIwMTItMDYtMTkgMjA6MTk6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgYW5kIHJlY3JlYXRlIHRoZSBkZXZpY2UgaW4gcHJlcGFyZV93aW5kb3cKCjIwMTItMDYtMjQgMjE6MTE6MzkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBhdm9pZCBkYXJrIHBpeGVscyBpbiBmYWRlLWFuZC1tb3ZlLXVwIG1vZGUKCjIwMTItMDYtMjQgMjA6NTQ6MjQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyczogZml4IGlucHV0IGJ1ZmZlciBoYW5kbGluZwoJICBVc2UgX3JlcGxhY2UgaW5zdGVhZCBvZiBfYXBwZW5kIHRvIGZpeCBncm93aW5nIGJ1ZmZlcnMuCgoyMDEyLTA2LTIzIDE1OjAyOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgaGxzLCBzZHA6IHVwZGF0ZSBmb3IgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSgpIGNoYW5nZXMKCjIwMTItMDYtMjEgMTI6MTc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvUkVBRE1FOgoJICBzeXM6IHJlbW92ZSBsZWZ0LW92ZXIgdjRsMiBkaXIgd2hpY2ggaGFzIG1vdmVkIHRvIGdvb2QKCSAgbGV0J3Mgbm90IGtlZXAgYSBSRUFETUUgYXJvdW5kIHRvIGFubm91bmNlIGl0J3MgbW92ZWQgdG8gLWdvb2QsCgkgIHRoYXQncyBqdXN0IGNsdXR0ZXIuCgoyMDEyLTA2LTIxIDExOjQzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZWFsbHkgYWx3YXlzIGRlZmluZSBERUNLTElOS19PU1ggY29uZGl0aW9uYWwKCjIwMTEtMDctMTMgMTk6MjU6MDggKzAxMDAgIFRvbnkgSG91Z2h0b24gPGhAcmVhbGguY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQ29ycmVjdCBzYXRlbGxpdGUgZGVsaXZlcnkgZGVzY3JpcHRvciBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb2RlIHRvIHBhcnNlIHNhdGVsbGl0ZSBkZWxpdmVyeSBkZXNjcmlwdG9ycyB0byBnZW5lcmF0ZQoJICAic2F0ZWxsaXRlIiBzdHJ1Y3R1cmVzIGFwcGVhcmVkIHRvIGJlIGNvcHkgJiBwYXN0ZWQgZnJvbSBjYWJsZSdzIGNvZGUKCSAgd2l0aG91dCBhbWVuZGluZyBmb3Igc2F0ZWxsaXRlLgoJICBBbHNvIGFkZGVkIDhQU0sgdG8gZHZic3JjJ3MgZW51bSBmb3IgbW9kdWxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDQ4NQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaAoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoKMjAxMi0wNi0yMCAxODoxNDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IFJld29yayBoYW5kbGluZyBhbmQgY2xlYW51cHMKCSAgdHNwYWQgYWx3YXlzIGhhcyBhIHN0YXRpYyBzb3VyY2UgcGFkIHdoaWNoIG91dHB1dCBldmVyeXRoaW5nIHJlY2VpdmVkCgkgIChub3QgZnVuY3Rpb25hbCB5ZXQpLgoJICBQcm9ncmFtIHBhZHMgYXJlIG5vdyByZXF1ZXN0IHBhZHMuCgkgIFJlbW92ZSBhbGwgY3J1ZnQgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3dpdGNoIG92ZXIKCSAgdG8gbXBlZ3RzYmFzZS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoKMjAxMi0wNi0yMCAxODoxMDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFsd2F5cyBzZW5kIEVPUwoJICBzdWJjbGFzcyB3aWxsIHRha2UgY2FyZSBvZiBoYW5kbGluZyBpdCBtb3JlIGlmIG5lZWRlZAoKMjAxMi0wNi0yMCAxNzo1MjoxMyAtMDUwMCAgTWlrZSBSdXByZWNodCA8bWlrZS5ydXByZWNodEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBlbGVtZW50IGxvc2luZyBkYXRhIGF0IHRoZSBlbmQgb2YgYnVmZmVycwoJICBydG1wc3JjIG91dHB1dHMgdHJ1bmNhdGVkIGJ1ZmZlcnMgYmVjYXVzZSwgd2hlbiBlbm91Z2ggZGF0YSBpcwoJICByZWFkIHRvIGZpbGwgdGhlIGJ1ZmZlciwgdGhlIGFtb3VudCByZWFkIHRoYXQgdGltZSAodG9kbykgaXMgc2V0CgkgIHRvIHplcm8gYmVmb3JlIGl0J3MgYWRkZWQgdG8gdGhlIGN1bXVsYXRpdmUgYnVmZmVyIHNpemUgKGJzaXplKS4KCSAgVGhlIGJ1ZmZlciBpcyB0aGVuIHRydW5jYXRlZCB0byBic2l6ZSByZXN1bHRpbmcgaW4gbG9zdCBkYXRhLgoJICBUaGlzIHBhdGNoIGFkZHMgdG9kbyB0byBic2l6ZSBiZWZvcmUgc2V0dGluZyB0b2RvIHRvIHplcm8uCgkgIEZpeGVzICM2Nzg1MDkKCjIwMTItMDYtMjAgMTE6MDI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBGaXggZmxhZyBjaGVja2luZwoKMjAxMi0wNi0yMCAxMDo1OTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHQ6ICNpZjAgY29kZSB0aGF0IG5ldmVyIGhhcHBlbnMKCSAgVGhlIG9ubHkgcGxhY2UgdGhpcyBtZXRob2QgaXMgY2FsbGVkIGlzIHdpdGggbG9mcCBiZWluZyBhIGd1aW50OCAoZnJvbQoJICBhIGRhdGEgYmxvY2spLgoKMjAxMi0wNi0yMCAxMDo1ODozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFVzZSBwcm9wZXIgdmFyaWFibGUgdHlwZQoKMjAxMi0wNi0yMCAxMjozMToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjE5OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwb3J0IHRlc3QgdG8gMC4xMQoKMjAxMi0wNi0yMCAxMjoxNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCB2YWx1ZSBoYW5kbGluZyBpbiBwYWQgaXRlcmF0aW9uCgoyMDEyLTA2LTIwIDEwOjM0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YXNrIGFwaSBjaGFuZ2UKCjIwMTItMDYtMTkgMjI6NDU6MjcgLTA0MDAgIE1hdGVqIEtub3BwIDxNYXRlakBuZXctaG9zdC01LmhvbWU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MTMwCgoyMDEyLTA2LTE5IDEwOjM1OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IERldGVjdCBtb3JlIGlzc3VlcyB3aXRoIGNvbmZpZ3VyYXRpb24gZmlsZQoJICBSZXBvcnQgdXNlZnVsIGVycm9ycyB3aGVuOgoJICAqIGZpbGUgaXMgcHJlc2VudCBidXQgZW1wdHkKCSAgKiByZXF1ZXN0ZWQgY2hhbm5lbCBpcyBub3QgcHJlc2VudAoKMjAxMi0wNi0xOSAxMDoyMjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmJiYXNlYmluOiBFbWl0IGFuIGVycm9yIHdoZW4gd2UgZmFpbCByZWFkaW5nIHRoZSBjaGFubmVscyBmaWxlCgkgIENvbmZsaWN0czoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmMKCjIwMTEtMDItMDEgMTA6MjM6MDQgLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc3BlbGwtY2hlY2sKCjIwMTEtMDEtMTQgMTk6MzA6MDggLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogYmV0dGVyIGR2c3JjIHBvbGFyaXR5IGluZm8KCjIwMTItMDYtMTggMTE6MzY6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0OiBGaXggaW5pdGlhbGl6YXRpb24KCSAgV2UgYWx3YXlzIGVuZGVkIHVwIGVycm9yaW5nIG9uIHRoZSBmaXJzdCBwYWdlIG90aGVyd2lzZQoJICBDb25mbGljdHM6CgkgIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jCgoyMDEyLTA2LTEwIDExOjM2OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IHVzZSBHQnl0ZUFycmF5CgkgIFVzaW5nIGEgc2ltcGxlIGFycmF5IGNvbWVzIHRvIHRoZSBzYW1lIHJlc3VsdCBmb3IgYSBmcmFjdGlvbiBvZiB0aGUgY29zdAoKMjAxMi0wNi0xMCAxMToyMTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEF2b2lkIGNvcHlpbmcgR3N0U3RydWN0dXJlCgoyMDEyLTA2LTA4IDE1OjEyOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2Rlc2M6IERvbid0IGFsbG9jYXRlL2ZyZWUgR3N0TVBFR0Rlc2NyaXB0b3IKCSAgSnVzdCB1c2Ugc3RhdGljIHZhcmlhYmxlcwoKMjAxMi0wNi0xNiAxNjo0OToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJICBtcGVnZGVtdXg6IHJlbmFtZSBwbHVnaW4gdG8gbXBlZ3BzZGVtdXgKCjIwMTItMDYtMTYgMTY6MzA6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWdkZW11eDogcmVtb3ZlIHVudXNlZCBUUyBkZW11eGVyIGJpdHMgdGhhdCBoYXZlIG1vdmVkIHRvIHRzZGVtdXgKCjIwMTItMDYtMTYgMTk6MjA6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgb2Jzb2xldGUgc3RydWN0IGZpZWxkCgoyMDEyLTA2LTE2IDE2OjUwOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgRFZCIHN1YnRpdGxlIGFuZCB0ZWxldGV4dCBzdHJlYW1zCgkgIFNlZSBidWcgIzY3MzU4Mi4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtCgoyMDEyLTA2LTE2IDE2OjUwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9wdGlvbmFsbHkgdXNlIGZpeGVkLXNpemUgUEVTIGhlYWRlcgoKMjAxMi0wNi0xNiAxNjo1MDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb25seSB3cml0ZSBQVFMgYW5kIERUUyBpZiBkaWZmZXJlbnQKCjIwMTItMDYtMTYgMTY6NTA6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb3B0aW9uYWxseSBzZXQgZGF0YV9hbGlnbm1lbnQgZmxhZyBpbiBQRVMgaGVhZGVyCgoyMDEyLTA2LTE2IDE2OjUwOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiByZS1lbmFibGUgaW5hZHZlcnRlbnQgZGlzYWJsZWQgY29kZQoKMjAxMi0wNi0xNiAxNjo0NDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRqdXN0IGFnYWluIHRvIG1vZGlmaWVkIGJ1ZmZlciBjb2xsZWN0IGJlaGF2aW91cgoJICAuLi4gYnkgZWZmZWN0aXZlbHkgcmV2ZXJ0aW5nIHByZXZpb3VzIGFkanVzdG1lbnQuCgoyMDEyLTA2LTE2IDE2OjQ5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIGRlZmF1bHQgQ29sbGVjdFBhZHMgY29sbGVjdCBoZXVyaXN0aWMKCSAgLi4uIHdpdGggYW4gYXBwcm9wcmlhdGVseSBjdXN0b20gYnVmZmVyIGNsaXAgZnVuY3Rpb24gdG8gYXJyYW5nZSBmb3IKCSAgYnVmZmVyIHByb2Nlc3NpbmcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oCgoyMDEyLTA2LTE2IDE1OjU0OjQ5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODIxMQoKMjAxMi0wNi0xNiAxOToxNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwb3J0ZWQgc2VnbWVudCBpbml0CgoyMDEyLTA2LTE0IDE0OjQ5OjU1IC0wNzAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODEzMAoKMjAxMi0wNi0xNSAxMzowMDozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgcmVjcmVhdGUgdGhlIGQzZCBkZXZpY2UgaWYgaXQgYWxyZWFkeSBleGlzdHMKCjIwMTItMDYtMTUgMTE6NDE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJICBqYXNwZXI6IFJlbmFtZSBmcm9tIGpwMmsgdG8gamFzcGVyCgkgIEphc3BlciBpcyBub3QgdGhlIG9ubHkgSlBFRzIwMDAgbGlicmFyeSBvdXQgdGhlcmUgYW5kIHdlCgkgIG1pZ2h0IHdhbnQgdG8gYWRkIGVuY29kZXJzL2RlY29kZXJzIGJhc2VkIG9uIE9wZW5KUEVHIGZvciBleGFtcGxlLgoKMjAxMi0wNi0xNSAxMDozMjozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGFkZCBtaXNzaW5nIG11dGV4IHVubG9jayBvbiBlcnJvciBwYXRoCgoyMDEyLTA2LTE1IDEwOjI0OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IHNldCBhdXRob3IgdG8gbXlzZWxmLCBhbmQgdXBkYXRlIGNvcHlyaWdodCBub3RpY2VzCgkgIGJlY2F1c2UgYXMgc2xvbW8gbm90ZWQsIGluIGZhY3QgcHJldHR5IG11Y2ggYWxsIHRoZSBjb2RlIGluIHRoZXJlIGlzIG1pbmUuCgoyMDEyLTA2LTE1IDAwOjU4OjQzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgbmV3IGludGVybmFsIHdpbmRvd3MgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZQoKMjAxMi0wNi0wOCAyMzowMToyNiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IEZpeCBjb21waWxpbmcgaW4gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzI0CgoyMDEyLTA2LTExIDEzOjEwOjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQ6IHJlbmFtZSB0aGUgbGliIGZyb20gbGlicmVzaW5kdmQgdG8gbGliZ3N0cmVzaW5kdmQKCSAgRm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wNi0wNyAxNTowNjozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgbm90IGZpbmRpbmcgc29tZSBkYXRhIG9uIGEgRFZECgkgIE1heSBwb3NzaWJseSBoZWxwIHdpdGggYSBwYXJ0aWN1bGFyIERWRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzExOAoKMjAxMi0wNi0xNCAwMjo0NzoxMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybGZpbGVzaW5rOiBSZW1vdmUgc3RyYXkgZGVidWcgcHJpbnRzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwNjAKCjIwMTItMDYtMTIgMjE6MzU6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgIGxjczogcmVtb3ZlIG9sZCBMQ1MgY29sb3JzcGFjZSBjb252ZXJzaW9uIHBsdWdpbgoJICBXYXNuJ3QgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIGV2ZW4gYmFjayBpbiB0aGUgZGF5CgkgIG5vIG9uZSBrbmV3IHdoZXJlIHRoZSBjb3JyZXNwb25kaW5nIGxpYiB3YXMgZnJvbS4KCjIwMTItMDYtMTIgMjE6Mjk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NoYXJ0Ly5naXRpZ25vcmU6CgkqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L2NoYXJ0L2NoYXJ0LnZjcHJvajoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgIGNoYXJ0OiByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IGhhcyBuZXZlciBiZWVuIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDIxOjIwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkqIGdzdC92aWRlb2Ryb3AvdmlkZW9kcm9wLnZjcHJvajoKCSAgdmlkZW9kcm9wOiBkcm9wIHZpZGVvZHJvcAoJICBJdCB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIHZpZGVvcmF0ZSBkb2VzIGl0cyBqb2Igbm93LgoKMjAxMi0wNi0xMiAyMToxNjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzLy5naXRpZ25vcmU6CgkqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvLmlkbDoKCSogZXh0L2FydHMvZ3N0X2FydHNpb19pbXBsLmNjOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvX2ltcGwuaDoKCSogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0c2QvUkVRVUlSRU1FTlRTOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2FzLWFydHMubTQ6CgkqIG00L2dzdC1hcnRzYy5tNDoKCSAgYXJ0czogcmVtb3ZlIGFSdHMtcmVsYXRlZCBwbHVnaW5zCgkgIGFSdHMgZGV2ZWxvcG1lbnQgc3RvcHBlZCBpbiAyMDA0LCBpdCdzIHVubGlrZWx5IGV2ZXIgaXMKCSAgc3RpbGwgdXNpbmcgaXQuIEJlc2lkZXMsIHRoZXNlIGVsZW1lbnRzIHdlcmUgbmV2ZXIgZXZlbgoJICBwb3J0ZWQgdG8gMC4xMC4KCjIwMTItMDYtMTIgMjE6MDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgIHNob3V0OiByZW1vdmUgb2xkIHNob3V0IHBsdWdpbiB0aGF0IGhhcyBuZXZlciBiZWVuIHBvcnRlZCB0byAwLjEwCgkgIFRoZXJlJ3Mgc2hvdXQyIGluIC1nb29kIG5vdy4KCjIwMTItMDYtMTIgMjA6MzU6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIGhlcm1lczogcmVtb3ZlIGhlcm1lcyBjb2xvcnNwYWNlIGNvbnZlcnRlciB0aGF0IHdhcyBuZXZlciBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAxOTowNjo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiByZW1vdmUgbGVnYWN5IHBsdWdpbgoKMjAxMi0wNi0xMiAxOTowMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgYXVkaW9yZXNhbXBsZTogcmVtb3ZlIG9sZCBhdWRpb3Jlc2FtcGxlIHBsdWdpbiB0aGF0IHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDE4OjUzOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogdXBkYXRlIGZvciBuZXcgdGFnIGV2ZW50IEFQSQoKMjAxMi0wNi0xMiAxODo0NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICBkaXZ4OiByZW1vdmUgcGx1Z2luIHRoYXQgdGhlIHdvcmxkIGRvZXNuJ3QgbmVlZCBhbnkgbW9yZQoJICAyMDAyIGNhbGxlZC4KCjIwMTItMDYtMTIgMTA6NTk6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggYXJyYXkgdHlwZQoJICBXZSB3YW50ZWQgYW4gYXJyYXkgb2YgZ3VpbnQ4IChhbmQgbm90IGFuIGFycmF5IG9mIHBvaW50ZXJzKSB0byBzdG9yZQoJICB0aGUgZGF0YSBmcm9tIGdzdF9idWZmZXJfZXh0cmFjdCgpIGFuZCByZWFkIGl0LgoKMjAxMi0wNi0xMiAwOToxMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZG9uJ3QgYWNjZXNzIGJ1ZmZlciBhZnRlciBfZmluaXNoX2ZyYW1lCgkgIFVubWFwIHRoZSBidWZmZXIgYmVmb3JlIGNhbGxpbmcgX2ZpbmlzaF9mcmFtZSBiZWNhdXNlIHdlIGFyZSBub3QgYWxsb3dlZCB0bwoJICBhY2Nlc3MgaXQgYWZ0ZXIuCgoyMDEyLTA2LTExIDE2OjQ1OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogc3ByaW5rbGUgc29tZSBtb3JlIGRlYnVnIGNhdGVyaW5nCgoyMDEyLTA2LTExIDE2OjQ0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWRkIFNQTi9QVFMgaW5kZXhpbmcgY2FwYWJpbGl0aWVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BvcGVuZHJlYW1ib3gub3JnPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0ODkwCgoyMDEyLTA2LTExIDE0OjAzOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGF2b2lkIG1lbWNweSBkdWUgdG8gdGVtcG9yYXJ5IHBhY2tldCBidWZmZXIKCSAgLi4uIGJ5IHdyaXRpbmcgZGlyZWN0bHkgaW50byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkLgoKMjAxMi0wNi0xMSAxMDo0OToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZG8gbm90IGFzc2VydCBvbiBkYXRhIGlucHV0LCBqdXN0IHJldHVybgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MDY5CgoyMDEyLTA2LTEwIDE0OjI5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBhbGxvdyBkZWJ1Z2dpbmcgb2YgcmVuZGVyIGFuZCBoaWdobGlnaHQgcmVjdGFuZ2xlcyB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgRW5hYmxlIGRlYnVnZ2luZyBvZiByZWN0YW5nbGVzIHZpYSBHU1RfRFZEX1NQVV9ERUJVRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMS0xMi0zMSAxODozNTo0MCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGNsZWFudXAgZGVidWcgY29kZQoJICBDbGVhbiB1cCBkZWJ1ZyBjb2RlIGZvciBkcmF3aW5nIGhpZ2hsaWdodCByZWN0cyB3aGljaCB3YXNuJ3QgZXZlbgoJICBjb21waWxpbmcgcHJldmlvdXNseS4KCSAgVE9ETzogbWlnaHQgYmUgbmljZSBpZiB0aGlzIGNvdWxkIGJlIGNvbnRyb2xsZWQgYnkgcHJvcGVydGllcyBvcgoJICBlbnYgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBkZWJ1ZyBjb2RlIGF0CgkgIHJ1bnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTItMDYtMDggMTc6MTQ6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHBsdWcgbGVha3Mgd2hlbiBmcmVlaW5nIHN0cmVhbQoKMjAxMi0wNi0wOCAxNzoxMzozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcGx1ZyBzb21lIGxlYWtzCgoyMDEyLTA2LTA4IDE1OjU4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBlbGVtZW50czogVXNlIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIG1hbnVhbCBldmVudCBmaWRkbGluZwoKMjAxMi0wNi0wOCAxNTowNToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAzYTBlNTcgdG8gOThlMzg2ZgoKMjAxMi0wNi0wOCAxMTo1NTozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRqdXN0IHRvIG1vZGlmaWVkIGJ1ZmZlciBjb2xsZWN0IGJlaGF2aW91cgoKMjAxMi0wNi0wOCAxMToxMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogbXBlZ3ZpZGVvcGFyc2VyOiBhZGp1c3QgdG8gbW9kaWZpZWQgQVBJCgoyMDEyLTA2LTA3IDE3OjQzOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogZHJhaW4gY2FjaGVkIGRhdGEgdXBvbiBFT1MKCjIwMTItMDYtMDcgMTc6Mzg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhbGxvdyBmb3IgYWxpZ25lZCBvdXRwdXQKCSAgLi4uIGFuZCByZWZhY3RvciBwYWNrZXQgaGFuZGxpbmcgc29tZSBtb3JlIGluIHRoZSBwcm9jZXNzLgoJICBGaXhlcyAjNjUxODA1LgoKMjAxMi0wNi0wNyAxNDozODoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBpbXByb3ZlIG0ydHMgdGltZXN0YW1wIGludGVycG9sYXRpb24KCSAgKiBhIGtub3duIFBDUiBzaG91bGQgcmVhbGx5IGJlbG9uZyB0byBhIHBhY2tldCBob2xkaW5nIHRoYXQgUENSCgkgICogaW50ZXJwb2xhdGlvbiBjYW4gYmUgZXh0ZW5kZWQgYmFja3dhcmQgZm9yIGluaXRpYWwgcGFja2V0cyAoUEFULCBQTVQpCgoyMDEyLTA2LTA3IDEyOjE3OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdHdlYWsgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCjIwMTItMDYtMDcgMTY6MjM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkyID09PQoKMjAxMi0wNi0wNyAxNjoyMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoyMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA2LTA3IDEyOjMzOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogZml4IGNvZGVjIHN0YXRlIGxlYWtzCgkgIEkgb25seSB0ZXN0ZWQgdGhhdCB2cDhlbmMgISB2cDhkZWMgZG9lcyBub3QgY3Jhc2gsIGFzIHZhbGdyaW5kIGRvZXMgbm90IGdyb2sKCSAgYXQgbGVhc3Qgb25lIG9mIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBieSB2cDhlbmMsIHByZXZlbnRpbmcgbWUgZnJvbSBjaGVja2luZwoJICBhIGxlYWssIGFuZCB0aGUgbGFjayBvZiBvbmUgYWZ0ZXIgdGhlIHBhdGNoLgoKMjAxMi0wNi0wNyAxMjoyNTowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggYnVmZmVyIGxlYWsKCjIwMTItMDYtMDcgMTI6MTY6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGZyYW1lIGxlYWtzCgoyMDEyLTA2LTA3IDEyOjAxOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDExOjU4OjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBzdHJheSB1bnJlZiBjYXVzaW5nIGFjY2VzcyB0byBmcmVlZCBtZW1vcnkKCjIwMTItMDYtMDcgMTE6NTI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogZml4IHZpZGVvIGNvZGVjIHN0YXRlIGxlYWtzCgoyMDEyLTA2LTA2IDE4OjE4OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE2OjAwOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDYtMDMgMDE6NTg6MTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggdGhlIHdheWxhbmQgdmVyc2lvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzYyCgoyMDEyLTA2LTA2IDEzOjAyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMToxNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXI6IGZpeCBvdXRwdXQgZnJhbWUgbWFwCgoyMDEyLTA2LTA1IDE3OjU3OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBSZW1vdmUgdW4tbmVlZGVkIGNoZWNrcyBhbmQgaW5saW5lIHNvbWUgZnVuY3Rpb25zCgkgIHZhbCBhbmQgbnIgYWx3YXlzIGV4aXN0ICgmbnIsICZ2YWx1ZSkKCSAgYml0cyBpcyBhbHdheXMgY2FsbGVkIHNtYWxsZXIgdGhhbiB0aGUgd2lkdGgKCSAgTWFrZXMgcGFyc2luZyAzMCUgZmFzdGVyCgoyMDEyLTA2LTA1IDE4OjAzOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IG1vcmUgaGVhZGVyIGNsYXJpZmljYXRpb25zIGFuZCByZW1vdmUgc29tZSByZWR1bmRhbnQgZmllbGRzCgoyMDEyLTA2LTA1IDE0OjE4OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBQSUQgY29sbGlzaW9uIGZvciBhdXRvLWdlbmVyYXRlZCBQSUQKCjIwMTItMDYtMDUgMTY6NTk6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogaW5saW5lIG1vcmUgY29kZQoJICBXaXRoIHRoZSBwcmV2aW91cyBjb21taXQsIG1ha2VzIG1wZWd0c211eCAxMCB0byAxNSUgZmFzdGVyCgoyMDEyLTA2LTA1IDE2OjU4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IERvbid0IHVzZSBnX2xpc3RfZmlyc3QgKCkKCSAgU2VyaW91c2x5IC4uLgoKMjAxMi0wNi0wNSAxMjoxNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGFsc28gcHJvcGVybHkgcmVzZXQgYW5kIGZyZWUgcGFkIGRhdGEKCjIwMTItMDYtMDUgMTE6NTI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZWZhY3RvciBpbml0IHVzaW5nIF9yZXNldCB0byBjYXRlciBmb3IgcHJvcGVyIHJldXNlCgoyMDEyLTA2LTA0IDE2OjI0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogaGVhZGVyIGNsZWFudXBzIGFuZCBjbGFyaWZpY2F0aW9ucwoKMjAxMi0wNi0wNCAxNjowNTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHR3ZWFrIGJ1ZmZlciBoYW5kbGluZwoJICAuLi4gZm9yIGNsYXJpdHkgYW5kIHRvIGF2b2lkIG1peGluZyBfcGVlay9fcG9wCgoyMDEyLTA2LTA0IDE2OjAzOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbWlzYyBjb2RlIGNsZWFudXBzIGFuZCByZWZhY3RvcmluZwoKMjAxMi0wNi0wNCAxNDo1NDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGF2b2lkIHNlcGFyYXRlIGFsbG9jYXRpb24gZm9yIGxpc3Qgb2YgcHJvZ3JhbXMKCjIwMTItMDYtMDQgMTQ6NTQ6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZWFycmFuZ2UgZGVmaW5lJ3MKCjIwMTItMDYtMDQgMTQ6NDg6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZW1vdmVkIGhhY2tlZCBldmVudCBoYW5kbGluZwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgUmV2ZXJ0ZWQgYmFjayB0byAwLjEwIHN0YXRlIGFzIGl0IHdhc24ndCByZWFsbHkgcG9ydGVkCgkgIHlldCBhbnl3YXkuCgoyMDEyLTA2LTA1IDA5OjU0OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBBbHNvIHBhcnNlIFRPVCAoVGltZSBPZmZzZXQgU2VjdGlvbikKCSAgSXQncyB0aGUgc2FtZSBhcyBURFQsIGV4Y2VwdCB3aXRoIGRlc2NyaXB0b3JzIGF0IHRoZSBlbmQKCjIwMTItMDYtMDUgMDk6NTI6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZJWE1FL0NvbW1lbnQgYWJvdXQgaXNzdWVzL2Vycm9ycwoKMjAxMi0wNi0wNSAwOTo0ODowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggbGVhawoKMjAxMi0wNi0wNSAwOTo0NDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZWR1Y2UgdXNhZ2Ugb2YgR3N0QWRhcHRlcgoJICBQZWVrIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGdvLiBJZGVhbGx5IHdlIHNob3VsZCByZW1vdmUgdXNhZ2Ugb2YKCSAgYWRhcHRlciBhbHRvZ2V0aGVyLCBidXQgZm9yIHRoZSB0aW1lIGJlaW5nIGl0IHByb3ZpZGVzIGEgYmlnIGVub3VnaAoJICBzcGVlZHVwIChhcm91bmQgMiB0aW1lcyBmYXN0ZXIgcGVyIHBhY2tldCBwcm9jZXNzZWQpLgoKMjAxMi0wNi0wNCAwODozOToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCBhbGxvYy9mcmVlIHdoZXJlIHBvc3NpYmxlCgkgIEhlbHBzIGZvciBzdHJlYW1zIHdpdGggYSBsb3Qgb2Ygc2VjdGlvbnMsIGxpa2UgRUlUCgoyMDEyLTA2LTA0IDA4OjM3OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgc2VjdGlvbnMgdGhhdCBkb24ndCBoYXZlIGEgQ1JDCgoyMDEyLTA2LTA0IDA4OjMyOjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVnZGVmczogQWRkIGxpc3Qgb2Yga25vd24gdGFibGVfaWQKCSAgQWxvbmcgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbnMgZnJvbSB3aGljaCB0aGV5IGNvbWUuIEF2b2lkcyBoYXZpbmcKCSAgdG8gc2VhcmNoIGZvciB3aGljaCBzcGVjIGEgdGFibGVfaWQgYmVsb25ncyB0bwoKMjAxMi0wNi0wMyAxMDo1ODoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDbGFyaWZ5IGRlYnVnIHN0YXRlbWVudHMKCSAgVXNlIGhleCB2YWx1ZXMgaW4gbW9yZSBjYXNlcyAoc2luY2UgdGhhdCdzIGhvdyBQSUQvdGFibGVfaWQvLi4uIGFyZQoJICByZXByZXNlbnRlZCBpbiB0aGUgdmFyaW91cyBzcGVjcykuCgoyMDEyLTA2LTAzIDEwOjU2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2Jhc2UvcGFja2V0aXplcjogQWRkIENBVCBzZWN0aW9uIGhhbmRsaW5nCgkgIEFsbG93cyByZXBvcnRpbmcgdGhlIGdsb2JhbCBFTU0KCjIwMTItMDYtMDMgMTA6NTM6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBkZWJ1ZyBpbiBQU0kgaGFuZGxpbmcKCSAgQWxsb3dzIHVzIHRvIGlkZW50aWZ5IHdoaWNoIFNJIHdlIGRvbid0IGhhbmRsZQoKMjAxMi0wNi0wMyAxMDo1MzoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGRlZmF1bHQga25vd24gUFNJIHRhYmxlX2lkCgoyMDEyLTA2LTAyIDA4OjA2OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogUmVmYWN0b3IgUFNJIGRldGVjdGlvbgoKMjAxMi0wNi0wNSAwOTozMDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgY29uZmlnLmgKCjIwMTItMDYtMDUgMDk6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggR3N0QmFzZVBhcnNlOjpnZXRfc2lua19jYXBzKCkgaW1wbGVtZW50YXRpb25zCgkgIFRoZXkgc2hvdWxkIHRha2UgdGhlIGZpbHRlciBjYXBzIGludG8gYWNjb3VudCBhbmQgYWx3YXlzIHJldHVybgoJICB0aGUgdGVtcGxhdGUgY2FwcyBhcHBlbmRlZCB0byB0aGUgYWN0dWFsIGNhcHMuIE90aGVyd2lzZSB0aGUKCSAgcGFyc2VycyBzdG9wIHRvIGFjY2VwdCB1bnBhcnNlZCBzdHJlYW1zIHdoZXJlIHVwc3RyZWFtIGRvZXMgbm90CgkgIGtub3cgYWJvdXQgd2lkdGgsIGhlaWdodCwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDEgMTY6Mjk6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBFQ00vQ0Egc2VjdGlvbnMgZG9uJ3QgaGF2ZSBhIENSQwoJICBTbyBkb24ndCBjaGVjayBmb3IgaXQgOikKCSAgQWxzbyBhZGQgYSBiaXQgbW9yZSBpbmZvIGluIHRoZSB3YXJuaW5nIG1lc3NhZ2UgdG8gc3BlZWQgdXAgZGV0ZWN0aW5nCgkgIHdoZXRoZXIgaXQncyBhIGZhbHNlLXBvc2l0aXZlIG9yIG5vdC4KCjIwMTItMDYtMDEgMTA6NTk6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiByZWxheCBlbnRyeSBjb25zdHJhaW50CgkgIC4uLiBzaW5jZSBpdCBpcyBhY2NlcHRhYmxlIGFuZCBwcm9wZXJseSBoYW5kbGVkIGZ1cnRoZXIgb24uCgoyMDEyLTA2LTAxIDEwOjI5OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjA4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTJiNzI2NiB0byBmMWI1YTk2CgoyMDEyLTA1LTI5IDEwOjQ4OjU0IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGZvciBWQzEgYW5kIGZpeCBwbHVnaW5zIHJhbmtzCgoyMDEyLTA1LTI5IDEwOjQ4OjAzIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogaW5pdGlhbGl6ZSBkZWJ1ZyBwcm9wZXJseQoKMjAxMi0wNS0yOSAxMDo0Mzo0MyAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogZml4IG9iamVjdCBkaXNwb3NhbCBhbmQgZmluYWxpemF0aW9uCgoyMDEyLTA1LTMwIDEwOjM0OjQ0IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCBmbHVzaCBhZnRlciBhIGRldmljZSBsb3N0CgoyMDEyLTA1LTMwIDEzOjU0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGludG8gdGhlIHJpZ2h0IHZhcmlhYmxlCgoyMDEyLTA1LTMwIDEyOjQ1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWMxYzRhOCB0byA5MmI3MjY2CgoyMDEyLTA1LTMwIDExOjMyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXZlcnQgYWNjaWRlbnRpYWxseSBjb21taXR0ZWQgc3R1ZmYgaW4gbGFzdCBjb21taXQKCjIwMTItMDUtMzAgMTE6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBBZGQgT0JKQyBzcGVjaWZpYyBjb21waWxlciBmbGFncwoJICBTZWUgYnVnICM2NDM5MzkuCgoyMDEyLTA1LTMwIDExOjIzOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzQyOWJhNiB0byBlYzFjNGE4CgoyMDEyLTA1LTI5IDE3OjI0OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogcmVhZCBnYWluIGZyb20gdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBoZWFkZXIKCSAgSXQncyBhdCBieXRlIG9mZnNldCAxNiwgbm90IDE0LgoKMjAxMi0wNS0yNCAxMToxMTowMCAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUmVmYWN0b3JpbmcgYW5kIG1ha2UgY29yZSBtb3JlIHNpbWlsYXIgdG8gdGV4dG92ZXJsYXkKCSAgRXNwZWNpYWxseSB0aGUgY29tYmluaW5nIG9mIHRoZSB0ZXh0IGFuZCB2aWRlbyBidWZmZXJzIGlzIG5vdwoJICBhbG1vc3QgdGhlIHNhbWUgYXMgaW4gdGV4dG92ZXJsYXkuCgkgIFdlIHNob3VsZCByZWFsbHkgZ2V0IGEgYmFzZSBjbGFzcyBmb3IgdGhpcy4KCSAgQ29uZmxpY3RzOgoJICBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jCgkgIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmgKCjIwMTItMDUtMjggMTU6NDg6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGR2YjogQWRkIG1vcmUgZGVidWdnaW5nIHRvIGNhbSBzdXBwb3J0CgoyMDEyLTA0LTI0IDExOjA5OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IFBvcnQgdG8gLWJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9kaXJhYy9NYWtlZmlsZS5hbQoKMjAxMi0wNS0yOCAxNjo0Mjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IFJlbW92ZSBvbGQgdmlkZW8gYmFzZSBjbGFzc2VzCgoyMDEyLTA1LTI4IDE2OjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvZWRpbmdlcjogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTI4IDA3OjU4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IFdlIGRvbid0IGFzc3VtZSBwYWNrZXRpemVkIGlucHV0CgkgIE90aGVyd2lzZSB0aGUgcGFyc2Ugdm1ldGhvZCBuZXZlcnMgZ2V0cyBjYWxsZWQKCjIwMTItMDQtMjQgMTE6MDg6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hyb2VkaW5nZXI6IFBvcnQgdG8gLWJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW0KCSAgZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jCgkgIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUsIG5lZWRzIHBvcnRpbmcgYWdhaW4uCgoyMDEyLTA1LTI4IDE2OjA1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0xNiAxNDowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0VmlkZW9Db2RlY0ZyYW1lIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTI3IDE4OjIyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICB2cDhkZWM6IEltcHJvdmUgb3V0cHV0X3N0YXRlIGhhbmRsaW5nCgkgIEF2b2lkIGdldHRpbmcgb3V0cHV0X3N0YXRlIGZvciBldmVyeSBidWZmZXIgYXMgdGhhdCByZXF1aXJlcwoJICBnZXR0aW5nIHRoZSBvYmplY3Rsb2NrIGFuZCBkb2luZyByZWZlcmVuY2UgY291bnRpbmcuIFN0b3JlIGl0IGxvY2FsbHkKCSAgd2hlbiBpdCBpcyBjcmVhdGVkIGFuZCB1c2UgaXQuCgoyMDEyLTA0LTI3IDA5OjA1OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFVzZSBvdXRwdXRzdGF0ZSB3aGVuIGNvcHlpbmcgb3V0cHV0IGJ1ZmZlciBkYXRhCgkgIFVzaW5nIHRoZSBpbnB1dCBzdGF0ZSB3YXMgY2F1c2luZyBhIGNyYXNoIGJlY2F1c2UgdGhlIHN0cmlkZXMvb2Zmc2V0cwoJICB3b3VsZCBiZSB3cm9uZy4gRml4IGl0IGJ5IHVzaW5nIHRoZSBvdXRwdXQgYXMgd2UgYXJlIGRlYWxpbmcgd2l0aAoJICB0aGUgZGVjb2RlZCBmcmFtZS4KCjIwMTItMDQtMjQgMTE6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBQb3J0IHRvIC1iYXNlIHZpZGVvIGJhc2UgY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC92cDgvTWFrZWZpbGUuYW0KCSAgZXh0L3ZwOC9nc3R2cDhkZWMuYwoJICBleHQvdnA4L2dzdHZwOGVuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSBmb3Igbm93LCBuZWVkIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMjcgMjM6NDE6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBkbyBub3QgYXNzZXJ0IG9uIGJhZCBoZWFkZXIsIGVycm9yIG91dCBpbnN0ZWFkCgoyMDEyLTA1LTI3IDAwOjAwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZG9uJ3QgdXNlIEdzdFN0cnVjdHVyZSBBUEkgb24gdGFnIGxpc3RzCgoyMDEyLTA1LTI2IDE0OjU3OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogQWRkIG1vcmUgY29tbWVudHMvaW5mbwoJICBOYW1lbHkgd2hlcmUgdGhleSBiZWxvbmcgdG8KCjIwMTItMDUtMjYgMTQ6NTc6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWFrZSBzdXJlIHdlIGhhdmUgYSBsYW5ndWFnZSBjb2RlIGJlZm9yZSB1c2luZyBpdAoKMjAxMi0wNS0yNiAxNDoxMToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDaGVjayBiZWZvcmUgZ2V0dGluZyBkZXNjcmlwdG9ycyBmcm9tIHN0cnVjdHVyZQoJICBBdm9pZHMgc3B1cmlvdXMgd2FybmluZ3MuIE5vdCBoYXZpbmcgdGhvc2UgZGVzY3JpcHRvcnMgaXMgbm90aGluZwoJICBmYXRhbCwgc28gY2hlY2sgdGhlaXIgcHJlc2VuY2UgYmVmb3JlIHRyeWluZyB0byBnZXQgdGhlbS4KCjIwMTItMDUtMjYgMTQ6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBCZSBhIGJpdCBtb3JlIHBlcm1pc3NpdmUgd2l0aCBQVFMvRFRTIHBhcnNpbmcKCSAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9ucyBhIFBUU19EVFNfZmxhZ3MgdmFsdWUgb2YgMHgwMSBpcyBmb3JiaWRkZW4uCgkgIC4uLiBidXQgdGhlcmUgYXJlIHNvbWUgcmFyZSBmaWxlcyBvdXQgdGhlcmUgdGhhdCBkbyB0aGF0LgoJICBJbnN0ZWFkIG9mIGVycm9yaW5nIG91dCwgbGV0J3Mgd2FybiwgY2Fycnkgb24gcGFyc2luZyBhY2NvcmRpbmdseS4KCSAgSWYgdGhlIHBhY2tldCBpcyByZWFsbHkgY29ycnVwdGVkIHRoZXJlIGFyZSBlbm91Z2ggY2hlY2tzIGFmdGVyd2FyZCB0bwoJICBkZXRlY3QgdGhhdC4KCjIwMTItMDUtMjUgMjI6MjA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogaGVlZCB0ZXN0IHZlY3RvciBmcmFtaW5nIHRvIGVhdCBhbnkgcGFkZGluZwoJICBUaGlzIGZpeGVzIHBhcnNpbmcgb24gb25lIHBhcnRpY3VsYXIgdGVzdCB2ZWN0b3Igd2hlcmUgcGF5bG9hZAoJICBkYXRhIGlzIHNtYWxsZXIgdGhhbiB0aGUgYWN0dWFsIGF1ZGlvIHBheWxvYWQuCgoyMDEyLTA1LTI1IDE0OjE1OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IEZpeCBiaXQgb3BlcmF0aW9uCgkgICJhICUgOCIgY29ycmVzcG9uZHMgdG8gImEgJiAweDciIChhbmQgbm90IDB4ZikuCgkgIHNwb3R0ZWQgYnkgSnVsaWFuIFNjaGVlbAoKMjAxMi0wNS0yNCAxNjoyMjo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBTaW1wbGlmeSBjaGVjawoJICBBdm9pZHMgYSB1bnNldCB2YXJpYWJsZSB3YXJuaW5nIChmb3IgbmZyYW1lcykgd2l0aCBnY2MgNC43LjAKCjIwMTItMDUtMjQgMjI6MTI6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiByZWplY3QgbWFqb3IgdmVyc2lvbiBudW1iZXIgYWJvdmUgd2hhdCB3ZSBncm9rCgoyMDEyLTA1LTI0IDIxOjU4OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogYnVtcCB3cml0dGVuIHZlcnNpb24gZnJvbSAwIHRvIDB4MDEKCSAgYXMgcGVyIHRoZSBzcGVjIHVwZGF0ZSBhdCBodHRwczovL3dpa2kueGlwaC5vcmcvT2dnT3B1cyNJRF9IZWFkZXIKCjIwMTItMDQtMzAgMTQ6NDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggbG9zdCBwYWNrZXQgaGFuZGxpbmcgZm9yIEZFQy9QTEMKCSAgVGhlIGJhc2UgYXVkaW8gZGVjb2RlciBzZW5kcyB6ZXJvIHNpemUgcGFja2V0cywgbm90IE5VTEwgYnVmZmVycywKCSAgdG8gc2lnbmFsIGRyb3BwZWQgcGFja2V0cy4KCjIwMTItMDUtMjQgMTI6MzI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMjMgMTg6MTk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN1cHByZXNzIHNvbWUgd2FybmluZ3Mgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoJICBXYXJuaW5ncyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIHNob3VsZCBiZSBzdXBwcmVzc2VkIGlmIGNvcmUgaGFzIHRoZQoJICBkZWJ1ZyBzeXN0ZW0gZGlzYWJsZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY2NzIKCjIwMTItMDQtMjUgMjE6MjE6NDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSAgUG9ydCBkM2R2aWRlb3NpbmsgdG8gMC4xMQoJICBGaXhlcyAjNjc0ODE3CgoyMDEyLTA1LTIzIDEyOjA3OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZDogcG9ydCB0byAwLjExCgoyMDEyLTA1LTIyIDE4OjU1OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBFbWl0IG5vLW1vcmUtcGFkcyB3aGVuIHBhZCBpcyBhZGRlZAoJICBUaGlzIGF2b2lkcyBhbiBlbmRsZXNzIGhhbmcgd2l0aCBwbGF5YmluMiwgd2hpY2ggc2VlcyBkdmJiYXNlc2JpbiBhcwoJICBoYXZpbmcgZHluYW1pYyBwYWRzIC4uLiBidXQgbmV2ZXIgZW1pdHRlZCBuby1tb3JlLXBhZHMuCgoyMDEyLTA1LTIyIDE4OjUzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgY2FtdXRpbHM6IEZpeCBQTVQgbWVzc2FnZSBjb25zdHJ1Y3Rpb24KCSAgVGhlIHNpemUgb2YgdGhlIG1lc3NhZ2UgZW5kZWQgdXAgYmVpbmcgYmlnZ2VyIHRoYW4gaXRzIGNvbnRlbnQuCgkgIFRoYXQgY2F1c2Ugc29tZSBDQSBtb2R1bGVzIHRvIGp1c3QgaGFuZy4KCjIwMTItMDUtMjIgMTg6NTE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgY2FtdHJhbnNwb3J0OiBBbGxvdyBkZWxheSB3aGVuIHNldHRpbmcgdXAgY2FtIGRldmljZQoJICBTb21lIENBIGRldmljZXMgdGFrZSBhIGxvbmcgdGltZSB0byBzZXQgdGhlbXNlbHZlcyB1cCwKCSAgdGhlcmVmb3JlIHJldHJ5IGV2ZXJ5IDI1MG1zIChmb3IgYSBtYXhpbXVtIG9mIDIuNXMpCgoyMDEyLTA1LTIyIDE4OjQ5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRml4dXAvYWRkIGRlYnVnIHN0YXRlbWVudHMKCjIwMTItMDUtMjIgMTg6NDg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBPbmx5IG9wZW4gZGV2aWNlIHJlYWQvd3JpdGUgd2hlbiBuZWVkZWQKCSAgQXZvaWQgc3RhcnRpbmcgdXAga2VybmVsIHRocmVhZCB3aGVuIG5vdCBuZWVkZWQKCjIwMTItMDUtMjIgMTg6NDY6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogQWRkIHdhcm5pbmcgd2hlbiBkdmIgY2hhbm5lbHMgZmlsZSBpc24ndCBwcmVzZW50CgoyMDEyLTA1LTIzIDA4OjM5OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFNwZWVkIHVwIF9pc19wc2koKQoJICBCeSBtYWtpbmcgaXQgaW5saW5lIGFuZCBzaW1wbGlmeWluZyB0aGUgYml0IG1hY3JvcwoKMjAxMi0wNS0yMiAyMTowMDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhdm9pZCBzY2FubmluZyBmb3Igc3RhcnQgY29kZXMgdHdpY2UKCSAgLi4uIHNpbmNlIGEgcHJldmlvdXMgdGVybWluYXRpbmcgc3RhcnQgY29kZSBzZXJ2ZXMgYXMgc3Vic2VxdWVudCBzdGFydCBjb2RlLgoKMjAxMi0wNS0yMiAxOToxMToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBGaXh1cHMgZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoKMjAxMi0wNC0xMCAxMjozNjoxNSArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIGxhbmd1YWdlIGNvZGUgdG8gdGFnbGlzdC4KCSAgUmVhZCB0aGUgbGFuZ3VhZ2UgY29kZXMgZm9yIHRyYWNrcyBmcm9tIHRoZSBtcGVndHMgZGVzY3JpcHRvcnMgYW5kIGFkZCBpdCBpbnRvCgkgIHRoZSBwYWRzIHRhZ2xpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTYKCjIwMTItMDUtMjEgMTc6NTM6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgQVBJCgkgIFdlIG5vIGxvbmdlciB1c2UgR3N0QnVmZmVyTGlzdCBhbmQgaW5zdGVhZCBjb3B5IHRoZSBpbmNvbWluZyBkYXRhCgkgIGludG8gbmV3bHkgYWxsb2NhdGVkIG1lbW9yeS4KCSAgVGhpcyBtYWtlcyB0c2RlbXV4IGJlaGF2aW91ciAzIHRvIDQgdGltZXMgZmFzdGVyLgoKMjAxMi0wNS0yMSAxNzo1MzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgQVBJCgoyMDEyLTA1LTIxIDE3OjUyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIGJlaGF2aW91cgoKMjAxMi0wNS0yMSAxNzo0ODo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCB1c2FnZSBvZiBHc3RCdWZmZXIgaW50ZXJuYWxseQoJICBUaGUgb3ZlcmhlYWQgb2YgY3JlYXRpbmcvdXNpbmcgMTg4IGJ5dGUgR3N0QnVmZmVyIGZyb20gR3N0QWRhcHRlcgoJICBpcyB0b28gZXhwZW5zaXZlLgoJICBXZSBub3cgcGVlayB0aGUgbmV4dCBwYWNrZXQsIGFuZCBwcm92aWRlIGEgZGF0YS9zaXplIHdoaWNoIGlzIG9ubHkKCSAgdmFsaWQgdW50aWwgdGhlIHBhY2tldGl6ZXJwYWNrZXQgaXMgY2xlYXJlZC4KCSAgSW4gYWRkaXRpb24sIGNsZWFudXAgYWxsIHRoZSBpbnRlcm5hbCBjb2RlIHRvIGRlYWwgd2l0aCB0aGF0IG5ldwoJICBiZWhhdmlvdXIgYW5kIHJlbW92ZSBkb3VibGUtY2hlY2tzIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkLgoJICBUaGUgc2VjdGlvbl9sZW5ndGggaXMgbm93IHRoZSBjb3JyZWN0ZWQgc2VjdGlvbl9sZW5ndGggKGkuZS4gd2l0aAoJICB0aGUgYWRkaXRpb25hbCAzIGJ5dGVzKS4KCSAgQXZvaWQgdXNpbmcgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgYW5kIGluc3RlYWQgdHJhY2sKCSAgdGhlIHRpbWVzdGFtcCBvdXJzZWxmLgoKMjAxMi0wNS0yMCAxMzoyNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBEZXRlY3QgUENSIHdyYXBhcm91bmQgaW4gc2tldyBjb2RlCgkgIElmIHRoZSByZWNlaXZlZCBQQ1IgaXMgZ29pbmcgYmFja3dhcmRzIChieSBhIHNhZmUgbWFyZ2luKSwgaW5jbHVkZQoJICB0aGF0IHdyYXBhcm91bmQgZm9yIGZ1cnRoZXIgY2FsY3VsYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTItMDUtMjIgMTQ6NDg6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGF2b2lkIHJlcGVhdGVkIGNhcHMgc2V0dGluZwoKMjAxMi0wNS0yMiAxNDowMDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHR3ZWFrIGNvZGVjIHBhcnNlciBBUEkgYW5kIGFkanVzdCBwYXJzZXIgZWxlbWVudAoJICAuLi4gdG8gYWxsb3cgZm9yIG1vcmUgZWZmaWNpZW50IHBhcnNpbmcgYW5kIChtb3JlKSBjb25zaXN0ZW50IHBhcnNpbmcgQVBJCgkgIGFtb25nIHZhcmlvdXMgY29kZWMgcGFyc2Vycy4KCSAgRml4ZXMgIzY3MjcwMS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMjIgMTI6MzA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBmaXh1cCBkb2N1bWVudGF0aW9uIHNwZWxsaW5nCgoyMDEyLTA1LTA4IDE2OjUxOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IE9wdGltaXplIHNjYW5uaW5nIGZvciBzdGFydCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI3MDEKCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTIyIDExOjEwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRG91YmxlIHByb3BlcnRpZXMgYXJlIHN1cHBvc2VkIGluIHRoZSByYW5nZSBbMC4wLCAxLjBdCgkgIEZpeGVzIGJ1ZyAjNjc2MTM3LgoKMjAxMi0wNS0yMSAxOToyMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHVub2JmdXNjYXRlIGZyYW1lIHBhcnNpbmcKCSAgLi4uIGFuZCBhZGQgY29tbWVudHMgYW5kIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeGVzICM2NzQyMDIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTIxIDE2OjM3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJldmVydCAiZml4IGNyYXNoIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDkxMjEwODMxZWU2NzIzNDNhMjk2ZjMxMzU3MTQ0MzU5ZDVjMmU3NjguCgkgIFN1Y2ggZXhwbGljaXQgcmVzZXQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgYXMgaXQgaXMgYXJyYW5nZWQgZm9yIGJ5CgkgIHRoZSBiYXNlY2xhc3MgaW4gdW5pc29uIHdpdGggbW9uaXRvcmluZyBmb3IgYSBuZXcgZnJhbWUgYnkgc3ViY2xhc3MuCgkgIEFzIHN1Y2ggaXQgbWlnaHQgd3JvbmdmdWxseSBoaWRlIHNvbWV0aGluZyBlbHNlIGdvaW5nIG9uIC4uLgoJICBTZWUgIzY3NDA3My4KCjIwMTItMDUtMjEgMTU6MjQ6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IGZpeCBidWZmZXIgc2l6ZSBjaGVjawoJICAuLi4gdG8gbWluZCB1bnNpZ25lZCBpbnRlZ2VyIHdyYXAKCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MzYKCjIwMTItMDUtMjEgMTU6MDk6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGVzdHM6IG1wZWd2aWRlb3BhcnNlOiBmaXggdW5pdCB0ZXN0IHJlZ3Jlc3Npb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjA5NwoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMTkgMTU6MzQ6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBkb24ndCBhY2Nlc3MgR3N0RWxlbWVudEZhY3Rvcnkgc3RydWN0dXJlIGRpcmVjdGx5CgoyMDEyLTA1LTE4IDE2OjE3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZG8gbm90IGV4cGVjdCBhIG1hcmtlciBiaXQgd2hlcmUgbm90IHNwZWNpZmllZAoJICBGaXhlcyAjNjcyNDQ3LgoKMjAxMi0wNS0xNiAxNjoxNTo1OCArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZmx1c2ggb24gcHVzaSBvbmx5IGZvciBwYXlsb2FkIHBhY2tldHMKCSAgRGF0YSBzaG91bGQgbm90IGJlIGZsdXNoZWQgb3V0IG9mIHRoZSB0c2RlbXV4IGJlY2F1c2UgYSBwYXlsb2FkIHVuaXQgc3RhcnQKCSAgaW5kaWNhdG9yIChwdXNpKSBpcyBzZWVuIGluIGEgYWRhcHRhdGlvbiBvbmx5IHRzIHBhY2tldC4gSWYgdGhlIHBhY2thZ2UgY29udGFpbnMgbm8KCSAgcGF5bG9hZCBhIHB1c2kgZG9lcyBub3QgaW5kaWNhdGUgYSBuZXcgUEVTIHBhY2tldCwgYnV0IFBTSSBpbmZvcm1hdGlvbiwgZXRjLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNldmVyYWwgVFMgZmlsZXMgd2hpY2ggY29udGFpbiB0cyBwYWNrZXRzIHdpdGhvdXQKCSAgcGF5bG9hZCBidXQgd2l0aCBwdXNpIHNldCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTY4CgoyMDEyLTA1LTE4IDEwOjE1OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IHF1ZXVlIGRhdGEgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgcGFkCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGFuIGVycm9yIGZ1cnRoZXIgZG93biwgYW5kIGl0IGFsc28gYXZvaWRzIHByb2Nlc3NpbmcKCSAgZm9yIHRoYXQgZGF0YSB3aGljaCB3ZSB3b3VsZG4ndCBiZSB1c2luZyBhbnl3YXkuCgoyMDEyLTA1LTE4IDEwOjEzOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IERldGVjdCBhbmQgaGFuZGxlIHNjcmFtYmxlZCBwYWNrZXRzCgkgIFVzZXJzICh0c2RlbXV4L21wZWd0c3BhcnNlKSBjYW4gZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGF0CgoyMDEyLTA1LTE4IDEwOjA3OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEVtaXQgbm8tbW9yZS1wYWRzIHdoZW4gYWxsIHBhZHMgYXJlIGFjdGl2YXRlZAoJICBGaXhlcyAjNjcwOTIxIGFnYWluCgoyMDEyLTA1LTE3IDExOjE1OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkgIGdhdWRpZWZmZWN0czogYWRkIGZhbGxiYWNrIGNvZGUgZm9yIG9yYwoJICB0aGlzIGluY2x1ZGVzIGFuIGltcHJvdmVkIHZlcnNpb24gb2YgdGhlIGJ1cm4gZmlsdGVyLCB3aXRoIGEgfjQwJSBzcGVlZAoJICBpbXByb3ZlbWVudC4KCjIwMTItMDUtMTcgMTA6NDk6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCB0aGUgb3JjIHZlcnNpb24gcmVxdWlyZWQgdG8gMC40LjE2CgkgIFNvbWUgb3Bjb2RlcyBoYXZlIGNoYW5nZWQgc28gdGhleSB3b3VsZCBmYWlsIHRvIGJ1aWxkIHdpdGggMC40LjE0CgoyMDEyLTA1LTE3IDA5OjQ3OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBzb2xhcml6ZQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ2OjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gZXhjbHVzaW9uCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDU6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGRvZGdlCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDQ6MjkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGNocm9taXVtCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMTE6NDc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGNvbnNpZGVyIG5hbF9sZW5ndGhfc2l6ZSB3aGVuIGluc2VydGluZyBjb2RlYyBkYXRhCgkgIFNlZSAjNjc2MTc0LgoKMjAxMi0wNS0xNiAyMTo1MDo0OCArMDEwMCAgSm9obiBIZWluIDxuNGtkbG14MDJAc25lYWtlbWFpbC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICB5NG06IGxpbmsgYWdhaW5zdCB0aGUgcmlnaHQgbGliZ3N0dmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjE4OQoKMjAxMi0wNS0xNiAxNzo1MDo0MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGV4YW1wbGUgcGlwZWxpbmVzIHdpdGggdmlkZW9jb252ZXJ0CgoyMDEyLTA1LTE2IDE3OjQ5OjEyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLm9yYzoKCSAgZ2F1ZGllZmZlY3RzOiBvcmMtaWZ5IGJ1cm4gZmlsdGVyCgoyMDEyLTA1LTE2IDA5OjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjExLjkxCgoyMDEyLTAxLTEzIDE4OjU3OjIwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogYWRkIHZpc3VhbCBzdHVkaW8gSURFIGZpbGVzIGFuZCBPUyBYIC5EU19TdG9yZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODk5CgoyMDEyLTA1LTE1IDE1OjQ2OjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiB1c2UgZ3N0IGFwaSBmb3IgdGltZXN0YW1wcyBpbnN0ZWFkIG9mIHRoZSAod3JvbmcpIGFwaSBmcm9tIGEgdG9vIG5ldyBnbGliCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RmcmFnbWVudC5jCgoyMDEyLTA1LTE0IDExOjM4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogb3B0aW1pemUgb3V0cHV0IGJ5IGFnZ3JlZ2F0aW5nIHBhY2tldHMKCSAgLi4uIHJhdGhlciB0aGFuIHB1c2hpbmcgZWFjaCAoc21hbGwpIHBhY2tldCBpbiBhIHNlcGFyYXRlIGJ1ZmZlci4KCSAgbTJ0cyBtb2RlIG5vdCB5ZXQgb3B0aW1pemVkIHRob3VnaC4KCjIwMTItMDUtMTEgMTE6NDY6NTggKzAyMDAgIEFsYmVydCBBc3RyYWxzIENpZCA8YWxiZXJ0LmFzdGFscyBhdCBjYW5vbmljYWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBzdXBwb3J0IGl0ZW1zIGluIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQ3OAoKMjAxMi0wNS0xNCAwOToxNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsOiBmaXggY29tcGlsYXRpb24KCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkIEFQSQoKMjAxMi0wNS0xMyAxNzowMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjQzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MQoKMjAxMi0wNS0xMyAxNjo0MzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA1LTEzIDE1OjU2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGM3MDIwMyB0byAzNDI5YmE2CgoyMDEyLTA1LTEzIDE1OjI0OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsOiBGaXggZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyYW50aGVzZXMgY29tcGlsZXIgd2FybmluZwoJICBnc3RjdXJsaHR0cHNpbmsuYzo0MTE6Mjc6IGVycm9yOiBlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJlbnRoZXNlcwoKMjAxMi0wNS0xMiAxMjowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVjazogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTItMDQtMjUgMTk6NDY6NTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxzbXRwc2luayBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6NDU6MjQgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsZnRwc2luayBlbGVtZW50CgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOToyODoxMCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxmaWxlc2luayBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6MDA6NDcgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGh0dHBzaW5rLmM6CgkgIGN1cmw6IHJlZmFjdG9yIGN1cmxzaW5rLCByZW5hbWUgdG8gY3VybGh0dHBzaW5rCgkgIFNwbGl0IGludG8gYmFzZSwgdGxzIGFuZCBodHRwIGNsYXNzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDUtMTAgMjE6MTU6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBjb25zaXN0ZW5jeSBpbiB0ZW1wbGF0ZXMgbmFtZQoKMjAxMi0wNS0xMCAxMDoxMToxOCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgYSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTA1LTEwIDEwOjEwOjE0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzOiBBZGQgYSB3YXkgdG8gZ2V0IGJlc3QgcGxheWxpc3QgZm9yIGEgc3BlY2lmaWMgYml0cmF0ZSBpbiBNM1U4Q2xpZW50CgkgIE1ha2UgdXNlIG9mIGl0IGluIGhsc2RlbXV4CgoyMDEyLTA1LTA4IDEzOjI3OjE1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIGZhaWxvdmVyIHByb3RlY3Rpb24uCgkgIE11bHRpcGxlIHN0cmVhbXMgd2l0aCBzYW1lIGJhbmR3aWR0aCBnZXQgcmV0cmllZAoKMjAxMi0wNS0wOCAxMzowNDozNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQ2FsY3VsYXRlIHRoZSByZWFsIGJpdHJhdGUgYW5kIHN3aXRjaCB0byB0aGUgY29ycmVjdCB2YXJpYW50CgkgIFdlIG5vdyBjYWxjdWxhdGUgdGhlIGFjdHVhbCBiaXRyYXRlIHVzaW5nIHRoZSBkb3dubG9hZCBzcGVlZC9zaXplIGFuZAoJICB0aGVuIHN3aXRjaCBkaXJlY3RseSB0byB0aGUgdmFyaWFudCB0aGF0IG1hdGNoZXMgb3VyIGJhbmR3aWR0aCB0aGUKCSAgbW9zdC4KCSAgSXQgd2lsbCBhbHNvIGJlIGFibGUgdG8gaGFuZGxlIGFueSB1c2UgY2FzZSB3aGVyZSBzb21lIG9mIHRoZQoJICB2YXJpYW50cyBhcmUgbm90IGF2YWlsYWJsZSwgYW5kIHdvdWxkIHNraXAgdGhlbSBhbmQgZ28gdG8gdGhlIG5leHQKCSAgcG9zc2libGUgdmFyaWFudC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMDUtMDggMTE6MzQ6NDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgcmVzZXQgdGhlIHNlcXVlbmNlIG51bWJlciBpbiBhIGxpdmUgc3RyZWFtIGZvciBhIG5vcm1hbCBwbGF5bGlzdCB1cGRhdGUuCgkgIE9ubHkgZm9yIHN0cmVhbSBzd2l0Y2hpbmcKCjIwMTItMDUtMDggMTE6MzM6NTAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIHdlIHVwZGF0ZSB0aGUgcGxheWxpc3QsIG1ha2Ugc3VyZSB0aGUgc2VxdWVuY2UgbnVtYmVyIGlzIG5ldmVyIG1vcmUgdGhhbiAzIGZyYWdtZW50cyBiZWZvcmUgdGhlIGVuZAoKMjAxMi0wNS0wOCAxMToxMzoyNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluIGEgbGl2ZSBzdHJlYW0sIGRvIG5vdCBzdGFydCBmcm9tIDMgZnJhZ21lbnRzIGJlZm9yZSB0aGUgZW5kLgoKMjAxMi0wNS0wOCAxMTowOToyOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogTm8gbmVlZCB0byBzdG9yZSBwb3NpdGlvbiBzaW5jZSBpdCdzIHRoZSBidWZmZXIncyB0aW1lc3RhbXAKCSAgVGhpcyBhbHNvIHdpbGwgZml4IHRoZSBpc3N1ZSBvZiBoYXZpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gZGlmZmVyZW50CgkgIGZyb20gdGhlIGFjdHVhbCBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgYnVmZmVyIGluIHRoZSBxdWV1ZSBpbiBjYXNlCgkgIHRoZSBjYWNoaW5nIGNhdXNlZCBhIHJlc3luYyBvZiB0aGUgc2VxdWVuY2UgbnVtYmVyLgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMS0wOS0xNSAyMDo0Nzo1NCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZhbGxiYWNrIHRvIHByZXZpb3VzIHBsYXlsaXN0IHdoZW4gc3dpdGNoaW5nIGlmIHRoZSBuZXcgcGxheWxpc3QgY2FuJ3QgYmUgZmV0Y2hlZAoKMjAxMi0wNS0xMCAxMzo0NjoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogY29uc2lzdGVuY3kgZml4ZXMgaW4gZ3N0Z2F1c3NibHVyCgoyMDEyLTA1LTEwIDEwOjQ3OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGdhdXNzaWFuYmx1ciB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNzoyMTozMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgc29sYXJpemUgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTc6MDY6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZXhjbHVzaW9uIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjU1OjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkb2RnZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjozMDo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkaWxhdGUgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6MTA6MTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBidXJuIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE1OjQ0OjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBjaHJvbWl1bSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNDoyODowOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluIGJsdXIKCjIwMTItMDUtMDkgMTM6MzU6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdhdWRpZWZmZWN0czogcG9ydCB0byAwLjExCgoyMDEyLTA1LTA5IDA5OjQ5OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGdhdXNzYmx1ciB0byAwLjExCgoyMDEyLTA1LTA4IDE4OjA5OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBzb2xhcml6ZSB0byAwLjExCgoyMDEyLTA1LTA4IDE4OjA5OjA5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGV4Y2x1c2lvbiB0byAwLjExCgoyMDEyLTA1LTA4IDE3OjM4OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkb2RnZSB0byAwLjExCgoyMDEyLTA1LTA4IDE3OjE3OjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRpbGF0ZSB0byAwLjExCgoyMDEyLTA1LTA4IDE2OjUwOjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBhZGQgaGVhZGVyIHRvIGdhdXNzYmx1cgoKMjAxMi0wNS0wOCAxNjozOTowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgY2hyb21pdW0gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNjozODo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGJ1cm4gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNDoxNzowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTItMDUtMDggMTc6NTg6NTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZpeCBkZWFkbG9jayB3aGVuIHRoZSBkZXZpY2UgaXMgbG9zdAoKMjAxMi0wNS0wOCAxODoxMDozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVtb3ZlIHRyYWlsaW5nICc7JyBmcm9tIGxvY2tzIGRlZmluZXMgdG8gbWFrZSBnc3QtaW5kZW50IGhhcHB5CgoyMDEyLTA1LTA3IDEzOjEzOjM0IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXNpbms6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIChmaXhlcyAjNjc1NjQwKQoJICBBbHNvLCBhZGQgYSBjaGVjayB0byBtYWtlIHN1cmUgYSBjbGllbnQgaXNuJ3QgZHVtcGVkIHR3aWNlCgoyMDEyLTA1LTA3IDIzOjU3OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogY2FsbCBXU0FTdGFydHVwL0NsZWFudXAgb24gd2luMzIKCSAgSWYgd2UgbGluayBhZ2FpbnN0IGxpYndpbnNvY2syLCB3ZSBzaG91bGQgcHJvYmFibHkgY2FsbAoJICBTdGFydHVwL0NsZWFudXAgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQxNQoKMjAxMi0wNS0wMyAyMzo0MjoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHJmYnNyYzogZml4IGxpYnJmYiBsaW5raW5nIG9uIHdpbjMyCgkgIGxpYnRvb2w6IGxpbms6ICBpNjg2LXc2NC1taW5ndzMyLWdjYyAtc2hhcmVkIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuZGVmCgkgIC5saWJzL2xpYmdzdHJmYnNyY19sYS1nc3RyZmJzcmMubyAgLVdsLC0td2hvbGUtYXJjaGl2ZSAuLy5saWJzL2xpYnJmYi5hCgkgIC1XbCwtLW5vLXdob2xlLWFyY2hpdmUgIC1ML3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2xpYgoJICAtbGdzdGJhc2UtMC4xMCAtbGdzdHJlYW1lci0wLjEwIC1seG1sMiAtbGdvYmplY3QtMi4wIC1sZ3RocmVhZC0yLjAKCSAgLWxnbW9kdWxlLTIuMCAtbGdsaWItMi4wIC1saW50bCAgLW1tcy1iaXRmaWVsZHMgLW1tcy1iaXRmaWVsZHMgLU8yICAgLW8KCSAgLmxpYnMvbGliZ3N0cmZic3JjLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyCgkgIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJnc3RyZmJzcmMuZGxsLmEKCSAgQ3JlYXRpbmcgbGlicmFyeSBmaWxlOiAubGlicy9saWJnc3RyZmJzcmMuZGxsLmEKCSAgLi8ubGlicy9saWJyZmIuYShsaWJyZmJfbGEtcmZiZGVjb2Rlci5vKTogSW4gZnVuY3Rpb24KCSAgYHJmYl9kZWNvZGVyX3JlYWQnOgoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTY0OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19yZWN2QDE2JwoJICAuLy5saWJzL2xpYnJmYi5hKGxpYnJmYl9sYS1yZmJkZWNvZGVyLm8pOiBJbiBmdW5jdGlvbgoJICBgcmZiX2RlY29kZXJfY29ubmVjdF90Y3AnOgoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTEyOgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19zb2NrZXRAMTInCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMTk6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2h0b25zQDQnCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMjM6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2luZXRfYWRkckA0JwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTI1OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19jb25uZWN0QDEyJwoJICBJdCBuZWVkcyAtbHdzMl8zMiB3aGljaCBpcyBhbHJlYWR5IGluICQoV0lOU09DSzJfTElCUykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQxNQoKMjAxMi0wNS0wMiAwODowMzo0NiAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBhZGQgbWlzc2luZyBjYXN0cyB0byBMUENTVFIKCjIwMTItMDUtMDMgMjM6NTE6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogbG93ZXIgcmFuayBvZiB0aGUgRGlyZWN0U2hvdyB2aWRlbyBzaW5rIHBsdWdpbgoJICBkM2R2aWRlb3Npbmsgc2hvdWxkIGhhdmUgYSBoaWdoZXIgcmFuayBhcyBpdCB3b3JrcyBiZXR0ZXIuCgoyMDEyLTA1LTAyIDA3OjU2OjAwIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IEZpeCBjb21waWxhdGlvbiBvbiB4NjQgcGxhdGZvcm1zCgoyMDEyLTA1LTA1IDIwOjAxOjQ2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBtaW5ndy13NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUyMAoKMjAxMi0wNS0wNSAxODoyMDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICBBZGQgV0lOU09DSzJfTElCUywgcmVtb3ZlIFdJTjMyX0xJQlMsIGZpeCBydG1wIGJ1aWxkIG9uIFdpbmRvd3Mgc29tZSBtb3JlCgkgIE9uZSB3YXkgb2YgcGFzc2luZyAtbHdzMl8zMiB0byBwbHVnaW5zIHNob3VsZCBiZSBlbm91Z2guLgoKMjAxMi0wNC0xNyAxMTo0NDoxOCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJ0bXA6IGxpbmsgdG8gd2luc29jayBsaWJyYXJ5IG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDI0MwoKMjAxMi0wNS0wNCAxNDowMToxMyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbWFyayB1bnBvcnRlZCBXaW5kb3dzIHBsdWdpbnMgYXMgc3VjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDQwCgoyMDEyLTA1LTA0IDE3OjA5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUKCjIwMTItMDUtMDQgMTc6MTA6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIGltYWdlIGNhcHR1cmUgZGVidWcKCjIwMTItMDUtMDQgMTc6MDU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBhbHdheXMgZm9yY2UgaW1hZ2UtcHJvZmlsZSB0byBoYXZlIHZhcmlhYmxlIGZyYW1lcmF0ZQoJICBpbWFnZS1lbmNvZGViaW4gY2FuJ3QgdXNlIHZpZGVvcmF0ZSBhcyBpdCBhbHdheXMgc3RvcmUgb25lIGJ1ZmZlcgoJICB0byBiZSBhYmxlIHRvIGRvIGl0cyB0aW1lc3RhbXBzL2R1cmF0aW9uIG1hdGguIEFzIGltYWdlIGNhcHR1cmVzCgkgIG9ubHkgcHVzaCBvbmUgYnVmZmVyIGF0IGEgdGltZSwgdGhpcyB2aWRlb3JhdGUgYmVoYXZpb3IgYnJlYWtzCgkgIGNhbWVyYWJpbiB1c2FnZS4KCjIwMTItMDUtMDMgMTk6MTE6NTcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYWJpbjogRG8gbm90IHNldCB0aGUgcGFkIHRlbXBsYXRlcyBpbiB0aGUgYmFzZSBjbGFzcy4KCSAgSXQgaXMgYmVzdCB0byBsZXQgdGhlIHN1YmNsYXNzIGRlZmluZSB0aGUgcGFkIHRlbXBsYXRlcywgdGhpcyB3b3VsZAoJICBhbGxvdyB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoaWNoIGNhcHMgdGhlIHBhZHMgc2hvdWxkIGhhdmUuCgoyMDEyLTA1LTAxIDE3OjU1OjAyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkgIHZpZGVvY29udGV4dDogUmVtb3ZlIHRoZSBleHBsaWNpdCB1bnJlZmluZyBvZiBwYWQgb2JqZWN0IGdldHRpbmcgZnJvbSBpdGVyYXRvci4KCjIwMTItMDUtMDIgMTU6MzU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogYXZvaWQgYXNzZXJ0aW9uIGJ5IHVzaW5nIG51bGwgY2FwcyBhcyBhbnkKCSAgTlVMTCBjYXBzIGFyZW4ndCB2YWxpZCBjYXBzLCB1c2UgYSByZWZlcmVuY2UgdG8gJ2FueScgY2FwcwoKMjAxMi0wNS0wMiAxNToyNDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IEZpeCBnZXQvc2V0X3Byb3BlcnR5IGZvciBlbmNvZGluZyBwcm9maWxlcwoJICBFbmNvZGluZyBwcm9maWxlcyBhcmUgb2JqZWN0cywgbm90IGJveGVkIHR5cGVzCgoyMDEyLTA1LTAyIDA5OjQzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IG51bGwgY2FwcyBhcmUgbm90IHZhbGlkIGluIDEuMAoJICBVc2UgYW55IGNhcHMgZm9yIHRoZSBwcmV2aWV3LWNhcHMgcHJvcGVydHksIGFzIE5VTEwgY2FwcyBhcmUKCSAgbm90IHZhbGlkIGNhcHMgaW4gMS4wIGFueW1vcmUKCjIwMTItMDUtMDEgMTU6Mjk6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbjItc3JjLnR4dDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCSAgSW4gMS4wIHRoZXJlIGlzIGEgY29yZSByZWNvbmZpZ3VyZSBldmVudCwgY2FtZXJhYmluIGRvZXNuJ3QgbmVlZAoJICBpdHMgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50IGFueW1vcmUKCjIwMTItMDUtMDEgMTU6MDg6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBVc2UgcGxhaW4gdmlkZW8gZW5jb2RpbmcgcHJvZmlsZSBmb3IgaW1hZ2VzCgkgIERvIG5vdCB1c2UganBlZyBhcyBhIGNvbnRhaW5lciBmb3JtYXQgZm9yIGltYWdlIGNhcHR1cmVzLCB1c2UKCSAgdGhlIHBsYWluIHZpZGVvIGVuY29kaW5nIGZvcm1hdC4gSXQgd2FzIHVzZWQgYXMgYSBjb250YWluZXIgaW4KCSAgMC4xMCB0byBmb3JjZSB0aGUgYWRkaXRpb24gb2YgdGFncyB0byB0aGUgaW1hZ2UuCgoyMDEyLTA1LTAxIDE0OjMxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNoYW5nZSBvdXRwdXQtc2VsZWN0b3IgbmVnb3RpYXRpb24gbW9kZQoJICBJbiAwLjEwIGNhbWVyYWJpbjIgY29udHJvbGxlZCB0aGUgbmVnb3RpYXRpb24gc3RyaWN0bHkgYW5kIHRoZSBvdXRwdXQtc2VsZWN0b3IKCSAgd291bGRuJ3QgZm9yd2FyZCBzZXRjYXBzIGNhbGxzLiBJbiAwLjExIHRoZSByZW5lZ290aWF0aW9uIGV2ZW50cyBhcmUgYWxyZWFkeSBpbgoJICBjb3JlIGFuZCB3ZSBjYW4gYWxsb3cgdGhlIHBpcGVsaW5lIHRvIGhhbmRsZSBpdCB3aXRob3V0IG11Y2ggY29udHJvbCBmcm9tIGNhbWVyYWJpbgoJICBwYXJ0IChJIGhvcGUpLCBzbyB0aGlzIHBhdGNoIG1ha2VzIG91dHB1dC1zZWxlY3RvciBmb3J3YXJkIGNhcHMgbmVnb3RpYXRpb24gZXZlbnRzCgkgIHRvIHRoZSBhY3RpdmUgcGFkLgoKMjAxMi0wNS0wMSAxNDozMToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmluZyByZW5lZ290aWF0ZSBoYW5kbGVycwoJICBnc3RyZWFtZXIgMS4wIGFscmVhZHkgaGFzIHRoZSByZWNvbmZpZ3VyZSBldmVudCwgcmVtb3ZlIHRoZQoJICBjdXN0b20gZXZlbnQgaGFuZGxpbmcgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjCgoyMDEyLTA1LTAxIDEzOjI4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHByZXZlbnQgY2FwcyByZW5lZ290aWF0aW9uIGxvb3AKCSAgT25seSBzZXQgdGhlIHpvb20gY2Fwc2ZpbHRlciBjYXBzIHdoZW4gdGhlIG5ldyBjYXBzIGFyZSBkaWZmZXJlbnQsCgkgIHByZXZlbnRpbmcgYSBjYXBzIHJlbmVnb3RpYXRpb24gbG9vcC4KCjIwMTItMDUtMDEgMTM6MTU6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlOiBVcGRhdGUgcHJlcGFyZS13aW5kb3ctaGFuZGxlIG1lc3NhZ2UKCSAgTWVzc2FnZSBuYW1lIGNoYW5nZWQgZnJvbSBwcmVwYXJlLXh3aW5kb3ctaWQgdG8gcHJlcGFyZS13aW5kb3ctaGFuZGxlCgoyMDEyLTA1LTAxIDEzOjAwOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBSZW5hbWluZyBjYW1lcmFiaW4yIHRvIGNhbWVyYWJpbgoKMjAxMi0wNS0wMSAxMDoyNjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiB1cGRhdGluZyBwcm9wZXJ0eSB0byBuZXcgbmFtZQoJICBlbmFibGUtbGFzdC1idWZmZXIgaXMgbm93IGVuYWJsZS1sYXN0LXNhbXBsZQoKMjAxMi0wNS0wMSAxMDoxODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBSZXBsYWNpbmcgZmZtcGVnY29sb3JzcGFjZSB3aXRoIHZpZGVvY29udmVydAoKMjAxMi0wNC0zMCAxMjozNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogdW5yZWYgYmFkIHBhY2tldHMgdG9vCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoKMjAxMi0wNC0zMCAxMjoyODo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgc3RyZWFtIHdoZW4gZmx1c2hpbmcKCSAgV2UgbmVlZCB0byByZXNldCB0aGUgc3RyZWFtIG9uIGEgZmx1c2ggb3IgZWxzZSBvbGQgcGFja2V0cyBjb3VsZCBiZSBhZGRlZCB0byB0aGUKCSAgbGlzdCBhbmQgbGVhay4KCjIwMTItMDQtMzAgMTE6MDU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkb24ndCBwdXNoIGV2ZW50cyB1cHN0cmVhbSBpbiBwdWxsIG1vZGUKCSAgSW4gcHVsbCBtb2RlLCBkb24ndCBwdXNoIHRoZSBzZWVrIGV2ZW50IHVwc3RyZWFtLgoKMjAxMi0wNC0yNiAyMjo0OTowNyAtMDQwMCAgV2luZCBZdWFuIDxmZW5nLnl1YW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogbXBlZzQgdHlwZSBlcnJvcgoKMjAxMi0wNS0wMSAwOTo0MToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogZG9uJ3QgcG9rZSBpbnRvIHByaXZhdGUgYWRhcHRlciBmaWVsZHMKCjIwMTItMDQtMzAgMTg6MDU6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiB1cGRhdGUgY2FtZXJhYmluKDIpIHVuaXQgdGVzdCBmb3IgcmVuYW1lCgoyMDEyLTA0LTMwIDE3OjU2OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogcmVuYW1lIHRvICJjYW1lcmFiaW4iCgkgIEJ1dCBsZWF2ZSBzb3VyY2UgY29kZSBpbnRhY3QgZm9yIG5vdywgZm9yIGVhc2llciBwYXRjaCBtZXJnaW5nLgoKMjAxMi0wNC0zMCAxNzo0NDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZ3N0L2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL1RPRE86CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZGVidWcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgUmVtb3ZlIG9sZCBjYW1lcmFiaW4KCjIwMTItMDQtMjUgMTM6MzE6MzYgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RhcnQgcGF1c2VkIHRhc2sgb24gbmV3IGRhdGEKCjIwMTItMDQtMjEgMTE6MzY6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IEFkZCBzdXBwb3J0IGZvciB0aGUgZmFhYyBwbHVnaW4KCjIwMTItMDQtMTYgMTA6MDc6NTEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBSZWVuYWJsZSBmYWFkIHBsdWdpbiBmb3IgdGhlIEFuZHJvaWQgTkRLIGJ1aWxkcwoKMjAxMi0wNC0yNSAxMTo1MDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmc6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBBUEkgd2hlbiBjb21waWxpbmcgd2l0aCBSU1ZHIDIuMzUuMCBvciBuZXdlcgoKMjAxMi0wMy0yOSAxNTo1Nzo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEyLTA0LTA0IDExOjUxOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogSGFuZGxlIEdzdEJ5dGVXcml0ZXIgcmV0dXJuIHZhbHVlcwoKMjAxMi0wNC0yNSAxMDoyNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc25kaW8gcGx1Z2luIGlzIG5vdCBwb3J0ZWQgeWV0CgoyMDEyLTA0LTI1IDEwOjI1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRpby9nc3RzbmRpby5jOgoJICBzbmRpbzogRml4IGkxOG4gaW5pdGlhbGl6YXRpb24KCjIwMTItMDQtMTEgMjE6MDU6MjYgLTA0MDAgIEphY29iIE1ldXNlciA8amFrZW1zckBzZGYubG9uZXN0YXIub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRpby9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5oOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmg6CgkgIHNuZGlvOiBhZGQgc25kaW8gcGx1Z2luIGZvciBPcGVuQlNECgoyMDEyLTA0LTI0IDE3OjAwOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yNCAxNToyMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2Yi1zdWI6IFVzZSB1bmNoZWNrZWQgYnl0ZSByZWFkZXIgZnVuY3Rpb25zCgoyMDEyLTA0LTI0IDE0OjU3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogVXNlIGNvcnJlY3QgZW51bSB0eXBlCgoyMDEyLTA0LTI0IDExOjAyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBTd2l0Y2ggZnJvbSBkZXByZWNhdGVkIFhLZXljb2RlVG9LZXlzeW0oKSB0byBYa2JLZXljb2RlVG9LZXlzeW0oKQoJICBDb25mbGljdHM6CgkgIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmMKCjIwMTItMDQtMjMgMTc6MTE6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTIzIDE2OjU1OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkgIGFzZm11eDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEyIDE0OjE3OjE0ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsc2RlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTU6MDU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHBhc3MgdGhlIHJlYXNvbiBmb3IgZmFpbGVkIHJlYWQgYXMgR3N0Rmxvd1JldHVybgoJICBNYWtlIHRoZSBfcmVhZF9kZXZpY2UgZnVuY3Rpb24gcmV0dXJuIGEgR3N0Rmxvd1JldHVybiBzbyB0aGF0IHdlIGNhbiBwcm9wYWdhdGUKCSAgdGhpcyB0byB0aGUgY2FsbGVyLiBUaGlzIGFsbG93cyB1cyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gcG9sbCBlcnJvcnMgYW5kCgkgIGZsdXNoaW5nIHN0YXRlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjE5CgoyMDEyLTA0LTE3IDExOjQ0OjAwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICBGaXggZm9ybWF0ICh0eXBlIGlzIGV4cGxpY2l0bHkgdW5zaWduZWQgbG9uZykKCSAgRml4ZXMgIzY3NDI0NAoKMjAxMi0wNC0yMCAxMjowOTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uYXMvbmFzc2luay5jOgoJICBuYXM6IFJld29yayBuYXNzaW5rIGEgbGl0dGxlCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gPG9sZS5oZWxscXZpc3QgYXQgc3ByYXkuc2U+CgkgIENyZWF0ZSBhbmQgZGVzdHJveSBmbG93IGluIHByZXBhcmUvdW5wcmVwYXJlCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBjb2RlIGZyb20gY2xvc2UgYW5kIHByZXBhcmUgdGhhdCBpcyBub3cgaW4gdW5wcmVwYXJlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MTMwCgoyMDEyLTA0LTE4IDEyOjAyOjUyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkgIERvYyBmaXhlcyAoZ3N0c3VyZmFjZWNvbnZlcnRlciwgZ3N0c3VyZmFjZW1ldGEpLgoKMjAxMi0wNC0yMCAxMToyMzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzZGVtdXg6IHdlIGlnbm9yZSB3YXJuaW5ncyBkaWZmZXJlbnRseQoJICBXZSBzdXBwcmVzcyB0aGUgd2FybmluZ3MgaW4gdGhlIC5jIGZpbGUgaW5zdGVhZC4KCjIwMTItMDQtMTkgMTQ6MjA6NTIgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcG9ydCB0byAwLjExCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQzOTcKCjIwMTItMDQtMjAgMTA6NTA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBjbGFyaWZ5IGV2ZW50IG93bmVyc2hpcAoKMjAxMi0wNC0xOSAxMzo1OTozNyArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1vcnkgbGVha3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDM5MwoKMjAxMi0wNC0yMCAxMToxMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSAgZmllbGRhbmFseXNpczogRG9lcyBub3QgbmVlZCB0byBsaW5rIHRvIGxpYmdzdGJhc2V2aWRlbyBhdCBhbGwKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbQoKMjAxMi0wNC0xOSAxNDoyNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIHZpZGVvIGFwaSB1cGRhdGUKCjIwMTItMDQtMTkgMTI6Mjk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE3IDIyOjQ2OjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRG8gbm90IHNldCB0aGUgZHVyYXRpb24gdG8gdGhlIGlucHV0IGJ1ZmZlcidzIGR1cmF0aW9uIHVubGVzcyB2YWxpZCBUaGlzIGNhdXNlcyBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgYnVmZmVyIGhhcyB0cyA9IDAsIGR1cj1YLCB0aGUgc2Vjb25kIGJ1ZmZlciBoYXMgdHM9WCAoYmVjYXVzZSBvZiB0cyArPSBkdXJhdGlvbiksIGR1cj0tMSwgdGhlbiB0aGUgZm9sbG93aW5nIGJ1ZmZlcnMgd2lsbCBzdGFydCBoYXZpbmcgYSBub24gdmFsaWQgdGltZXN0YW1wLiBUaGUgcmVhbCBkdXJhdGlvbiBpcyBvbmx5IGNhbGN1bGF0ZWQgZHVyaW5nIHRoZSBjYXBzIG5lZ29jaWF0aW9uIHdoZW4gdGhlcmUgaXMgYSBmcmFtZXJhdGUgYXZhaWxhYmxlIGFuZCB0aGUgYnVmZmVyJ3MgZHVyYXRpb24gaXMgaW52YWxpZC4KCjIwMTItMDQtMTcgMTU6NDQ6MDcgKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNldCBjdXJyZW50bGlzdCB0byBOVUxMIGFmdGVyIGZyZWUuCgkgIFRoaXMgcHJldmVudHMgZG91YmxlIGZyZWUgb2YgY3VycmVudGxpc3QgaXMgc29tZSBjaXJjdW1zdGFuY2VzLgoKMjAxMi0wNC0xNyAxODo1Njo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCBkdXJhdGlvbiBpbiBidWZmZXJzLiBJdCdzIGZyYW1lcyBwZXIgc2Vjb25kLCBub3Qgc2Vjb25kcyBwZXIgZnJhbWUKCjIwMTItMDQtMTcgMTU6MjI6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIGNvbGxlY3RwYWRzMjogcmVuYW1lIHRvIGNvbGxlY3RwYWRzCgoyMDEyLTA0LTE2IDExOjAwOjQ0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGRvIG5vdCBsaW5rIGdzdGludGVyZmFjZXMKCjIwMTItMDQtMTYgMDk6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGIyNWJlIHRvIGRjNzAyMDMKCjIwMTItMDQtMTMgMDA6MTM6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwYWQgaXRlcmF0b3IgbGVhawoKMjAxMi0wNC0xMyAwMDoxNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGxlYWsgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgoyMDEyLTA0LTE0IDIxOjA5OjI1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERvIG5vdCBpZ25vcmUgc3RhcnQgY29kZSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcgoKMjAxMi0wNC0xNCAyMTowMjowNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBhcnNlciBmYWlscyB0byBzcGxpdCBzb21lIGZyYW1lcwoKMjAxMi0wNC0xNCAyMDo1Mzo0NyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBGUFMgYW5kIGZyYW1lIGR1cmF0aW9uIGZvciB0ZWxlY2luZSBmaWxlcwoKMjAxMi0wNC0xNCAyMDo0NjoyNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERvIG5vdCB1cGRhdGUgY29kZWMtZGF0YSB3aGVuIG9ubHkgcXVhbnRpc2VyIG1hdHJpeCBjaGFuZ2VzCgoyMDEyLTA0LTE0IDE1OjI5OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogZG9uJ3QgbGluayBhZ2FpbnN0IGxpYmdzdGludGVyZmFjZXMgd2hpY2ggd2FzIHJlbW92ZWQKCSAgVGhlIEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlIGlzIG5vdyBpbiBsaWJnc3R2aWRlby4KCjIwMTItMDQtMTMgMjI6MDQ6MzggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIGZpeCBjcmFzaAoJICBsYXN0X3NjIGlzIG5vdCByZXNldCBldmVyeSB0aW1lIGEgZnJhbWUgaXMgYmVpbmcgb3V0cHV0LCB3aGljaCBjYW4gY2F1c2UKCSAgbGFzdF9zYyA+IGJ1Zl9zaXplIGluIHN1YnNlcXVlbnQgZnJhbWUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQwNzMKCjIwMTItMDQtMTMgMTU6MTI6MTIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBTZXQgc3luY19wb2luciA9IDEgZm9yIGtleWZyYW1lCgoyMDEyLTA0LTEzIDE0OjA3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IHVzZSAxLjAgdmlkZW9maWx0ZXIgYmFzZWNsYXNzIGZ1bmN0aW9ucwoJICBQb3J0IHRvIHRoZSBuZXcgZnVuY3Rpb25zIG9mIHRoZSB2aWRlb2ZpbHRlciBjbGFzcwoKMjAxMi0wNC0xMyAxMDoxNjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogcG9ydCB0byAxLjAKCSAgU3RyYWlnaHRmb3J3YXJkIHBvcnQgb2YgZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMi0wNC0xMyAxMzo0NDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTW9kZXJuaXplIGF1dG90b29scyBzZXR1cCBhIGJpdAoJICBBbHNvIHdlIG5vdyBvbmx5IGNyZWF0ZSB0YXIuYnoyIGFuZCB0YXIueHogdGFyYmFsbHMuCgoyMDEyLTA0LTEzIDEzOjM3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0ZmUxNSB0byA2ZGIyNWJlCgoyMDEyLTA0LTEzIDEzOjEwOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgZm9yIHRoZSByZW1vdmFsIG9mIHRoZSBpbnRlcmZhY2VzIGxpYnJhcnkgYW5kIHRoZSB0dW5lci9taXhlciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE4OjI1OjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgU3luYyBBbmRyb2lkLm1rIGVudHJpZXMgdG8gdGhlIG5ldyBtYWpvciB2ZXJzaW9uCgkgIENoYW5nZSBuYW1pbmcgb24gdGhlIHBrZ2NvbmZpZyBmaWxlcyB0byByZWZsZWN0CgkgIHRoZSAwLjEwIC0+IDEuMCBidW1wLgoKMjAxMi0wNC0xMiAxMToxOToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTAgPT09CgoyMDEyLTA0LTEyIDEwOjUwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjQ3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDQtMTEgMjE6NDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkgIHRlc3RzOiByZW1vdmUgb2Jzb2xldGUgbXVsdGlmZHNpbmsgdGVzdAoJICAuLi4gd2hpY2ggaXMgaW4gLWJhc2Ugbm93YWRheXMuCgoyMDEyLTA0LTEwIDE3OjM1OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjRlbmMuYzoKCSAgdGVzdHM6IHJlbW92ZSBvYnNvbGV0ZSB4MjY0ZW5jIHVuaXQgdGVzdAoJICAuLi4gd2hpY2ggaXMgaW4gLXVnbHkgbm93YWRheXMuCgoyMDEyLTA0LTEwIDE3OjI0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB0ZXN0czogcG9ydCBzb21lIG1vcmUgdG8gMS4wCgoyMDEyLTA0LTEwIDE3OjIyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDQtMTAgMTc6MjI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiB0d2VhayBjYXBzIG5lZ290aWF0aW9uCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBsZWFraW5nIGNhcHMgb3IgbWFuaXB1bGF0aW5nIE5VTEwgY2Fwcy4KCjIwMTItMDQtMTAgMTc6MjI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogYXZvaWQgbGVha2luZyBwYWQgdGVtcGxhdGUgY2FwcyBhbmQgc3VwZXJmbHVvdXMgY29weQoKMjAxMi0wNC0xMCAxNzoyMToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBmaXggcGFkIHJlbGVhc2UgYW5kIGNsZWFudXAKCjIwMTItMDQtMDYgMTQ6NTI6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgoyMDEyLTA0LTA2IDE0OjI3OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdHdlYWsgZGVmYXVsdCBzZXR0aW5nIG9mIGZvcm1hdCBhbmQgYWxpZ25tZW50IGluIGNvZGVjX2RhdGEgY2FzZQoJICAuLi4gd2hpY2ggc2hvdWxkIHByb21vdGUgZW5kaW5nIHVwIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEyLTA0LTA2IDE0OjIzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHVzZSBfdW5jaGVja2VkIGJ5dGV3cml0ZXIgdmFyaWFudHMgdG8gaW5zZXJ0IGNvbmZpZwoJICAuLiBzaW5jZSB0aGUgYnl0ZXdyaXRlciBpcyBleHBsaWNpdGx5IGNyZWF0ZWQgd2l0aCBub24tZml4ZWQgc2l6ZSB0bwoJICBhbGxvdyAodmVyeSBtdWNoIHNvIGV4cGVjdGVkKSBncm93dGguCgkgIFBhcnRpYWxseSByZXZlcnRzIGNvbW1pdCAyMDY2OWQ0NjFhNDk1M2ViNWVkMDEzNzRkNWFiNjI4YjRkYzczYjY0IHdoaWxlCgkgIHRyeWluZyB0byBrZWVwIChzb21lPykgY29tcGlsZXJzIGhhcHB5LgoJICBJSVJDLCB0aGUgcHVycG9zZSBvZiBHc3RCeXRlV3JpdGVyIGluIHRoZSBmaXJzdCBwbGFjZSB3YXMgKGF0IGxlYXN0KQoJICBiZWluZyBhYmxlIHRvIGR1bXAgZGF0YSB3aXRob3V0IGhhdmluZyB0byBmdXNzIHdpdGggbWVtb3J5IGV4cGFuc2lvbgoJICBhbmQgc2l6ZSBpc3N1ZXMgLi4uCgkgIEZpeGVzICM2NzM0ODUuCgoyMDEyLTA0LTA1IDE3OjE1OjExIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCjIwMTItMDQtMDUgMTg6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGEuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hdmMvZ3N0YXZjcGx1Z2luLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDExOjUxOjQwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiBTb21lIG1vcmUgZGVidWdnaW5nCgoyMDEyLTAzLTE1IDE0OjQyOjQ0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFJlcGxhY2UgdGhlIGZldGNoZXIgY29kZSB3aXRoIGEgR3N0VVJJRG93bmxvYWRlciBvYmplY3QKCjIwMTItMDMtMTQgMTc6MDE6MTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IE1pbm9yIGNsZWFudXAgaW4gR3N0VXJpRG93bmxvYWRlcgoKMjAxMi0wMy0xNCAxNzowNjoyMiAtMDQwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgaGxzZGVtdXg6IEZhY3RvciBvdXQgYWxsIHRoZSBmZXRjaGVyIGNvZGUgaW4gYSBHc3RVUklEb3dubG9hZGVyIGNsYXNzCgkgIFRoaXMgY2xhc3MgaXMgbWVhbnQgdG8gYmUgcmV1c2FibGUgYnkgb3RoZXIgY29tcG9uZW50cwoKMjAxMi0wNC0wNSAxMDoyMjoyOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJICBobHM6IERvIG5vdCBhZGQgcmVmZXJlbmNlIHRvIGJ1ZmZlcnMgcGFzc2VkIGluIEdzdEZyYWdtZW50CgkgIFdlIGp1c3Qgc3RlYWwgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyLCB3aGljaCBtZWFucyB3ZSBjYW4ga2VlcCB3cml0aW5nIG1ldGFkYXRhcwoJICBvbiB0aGUgYnVmZmVycy4KCjIwMTItMDMtMTMgMTU6MTg6MjIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzOiBNaW5vciBHc3RGcmFnbWVudCBjbGVhbnVwCgoyMDExLTA3LTA4IDAxOjA5OjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkgIGhsczogQWRkIGEgR3N0RnJhZ21lbnQgY2xhc3MgdGhhdCByZXByZXNlbnRzIGEgZnJhZ21lbnQgaW4gYSBtM3UgcGxheWxpc3QKCjIwMTItMDMtMTUgMTg6MjE6NTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHM6IE1ha2UgdGhlIHVwZGF0ZXMgdGhyZWFkIGEgR3N0VGFzawoKMjAxMi0wNC0wNSAxMzoyODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIHZlcnNpb24gdG8gMC4xMS44OS4xCgoyMDEyLTA0LTA1IDA5OjE2OjI3ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAxMi0wNC0wNSAwNjoxODoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZXQgY29ycmVjdCBuZXdzZWdtZW50IGZpZWxkcyBvbiBfVElNRSBzZWVrcwoJICBGb3J3YXJkIHRoZSBzZWVrIHJhdGUgYW5kIHNldCBOUy5zdGFydCB0byB0aGUgc2VlayB0YXJnZXQgc28gdGhhdCBkZWNvZGVycyBjYW4KCSAgYXBwbHkgY2xpcHBpbmcgd2hlcmUgbmVjZXNzYXJ5LgoKMjAxMi0wNC0wNSAwODo1NDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb3JldmlkZW9idWZmZXIgYWZ0ZXIgYnVmZmVyIG1ldGEgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODo1Mzo0MSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb3JlbWVkaWFidWZmZXIgYWZ0ZXIgYnVmZmVyIG1ldGEgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODo1Mjo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHVwZGF0ZSBhZnRlciBCYXNlU3JjOjpmaXhhdGUgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODoyNDozMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBjb21waWxlIHdhcm5pbmcKCjIwMTItMDQtMDUgMDY6MTg6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2V0IGNvcnJlY3QgbmV3c2VnbWVudCBmaWVsZHMgb24gX1RJTUUgc2Vla3MKCSAgRm9yd2FyZCB0aGUgc2VlayByYXRlIGFuZCBzZXQgTlMuc3RhcnQgdG8gdGhlIHNlZWsgdGFyZ2V0IHNvIHRoYXQgZGVjb2RlcnMgY2FuCgkgIGFwcGx5IGNsaXBwaW5nIHdoZXJlIG5lY2Vzc2FyeS4KCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9jb21waWxpbmcuc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxMjowNjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCjIwMTItMDQtMDQgMDc6MjQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgaXRlcmF0b3IgdG8gTlVMTCBhZnRlciBpdCdzIGZyZWUKCSAgRml4ZXMgcG9zc2libGUgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGdzdF90c19kZW11eF9zdHJlYW1fZmx1c2gKCjIwMTItMDQtMDIgMTU6MzE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoKMjAxMi0wNC0wMiAxNToyNjoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhciBidWZmZXJsaXN0L2l0ZXJhdG9yIHdoZW4gcmVtb3Zpbmcgc3RyZWFtcwoKMjAxMi0wNC0wMiAxNToyNTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBsZWFrIGJ1ZmZlciBpbiBmYXN0IHZhcmlhbnQKCjIwMTItMDQtMDIgMTU6MjU6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgbGVhayBjb3JydXB0IHNlY3Rpb24gcGFja2V0IGJ1ZmZlcgoKMjAxMi0wNC0wMiAxMToxMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgdXNlIHRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaAoKMjAxMi0wNC0wMiAxMTowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTMwIDE5OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZXZlcmFsIGxlYWtzCgkgICogZG9udCcgbGVhayBidWZmZXJzIHdoZW4gYSBzdHJlYW0gaXMgaW4gZGlzY29udCBzdGF0ZQoJICAqIGRvbid0IGxlYWsgYnVmZmVycyB3aGVuIGEgcHJvZ3JhbSBpcyByZW1vdmVkL2RlYWN0aXZhdGVkCgkgICogcmVtb3ZlIGFsbCBwcm9ncmFtcyB3aGVuIGRpc3Bvc2luZwoKMjAxMi0wMy0zMCAxOToxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2V2ZXJhbCBsZWFrcwoJICAqIGRvbnQnIGxlYWsgYnVmZmVycyB3aGVuIGEgc3RyZWFtIGlzIGluIGRpc2NvbnQgc3RhdGUKCSAgKiBkb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHByb2dyYW0gaXMgcmVtb3ZlZC9kZWFjdGl2YXRlZAoJICAqIHJlbW92ZSBhbGwgcHJvZ3JhbXMgd2hlbiBkaXNwb3NpbmcKCjIwMTItMDMtMzAgMTg6MTM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTc6MDk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXh1cCBtZXJnZQoKMjAxMi0wMy0zMCAxMzoyMzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0zMCAxMjo1NTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogVXNlIG5ldyBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfaGVhZGVycygpIEFQSQoKMjAxMi0wMy0zMCAxMjoyMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0zMCAxMjowMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVwZGF0ZSBmb3IgYmFzZXBhcnNlIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTMwIDExOjUzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIGF1ZGlvIGRlY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjkgMTg6MDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMTItMDMtMjkgMTg6MDM6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBGaXggYSBtZXJnZSBtaXN0YWtlCgoyMDEyLTAzLTI5IDE3OjU1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZXZlcnQgdG8gMC4xMCBzdGF0ZSBhcyB0aGlzIGlzIHVubWVyZ2VhYmxlLCBhbHNvIHB1dCBpdCBpbnRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMgYWdhaW4KCjIwMTItMDMtMjkgMTc6NTE6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBtZXJnZSBtaXN0YWtlCgoyMDEyLTAzLTI5IDE3OjQxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIE5FV1MKCSAgUkVMRUFTRQoJICBjb21tb24KCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeQoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlcwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWwKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmMKCSAgZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaAoJICBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW0KCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmgKCSAgZ3N0L214Zi9teGZkZW11eC5jCgkgIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmMKCSAgc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHAKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYwoJICBzeXMvc2htL2dzdHNobXNyYy5jCgkgIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYwoJICBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmMKCSAgdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTItMDMtMjkgMTY6MDg6MzQgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBvcnRlZCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMi0wMy0yOCAxMjo0OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0yNyAxNToxMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1czogUmFuayBydHAgcGF5L2RlcGF5CgkgIFRoaXMgd2F5IHRoZXkgY2FuIGJlIGF1dG8tcGx1Z2dlZC4KCjIwMTItMDMtMjcgMDk6MzY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gdGhlIGxpbmtlciBmbGFncwoKMjAxMi0wMy0yNiAxMjoxMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIFJlcGxhY2UgbWFzdGVyIHdpdGggMC4xMQoKMjAxMi0wMy0yMyAxODozNjoyMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IG1lbW9yeSBoYW5kbGluZyBjbGVhbnVwCgkgIERvbid0IGxlYWsgdGhlIENTb3VuZEZpbGUuIFVzZSBkZWZpbmUgZm9yIGNvbW1lbnQgYnVmZmVyIHNpemUgYW5kIGVuc3VyZSBpdCBpcyAwCgkgIHRlcm1pbmF0ZWQuCgoyMDEyLTAzLTIzIDE4OjE4OjA2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmx0ZTogY29tbWVudCBjbGVhbnVwCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IGNvZGUgZm9yIGEgZmxpdGVzeW50aCB0aGF0IHdlIGRvbid0IGhhdmUgaW4gZ2l0IGFueXdheS4gQWRkCgkgIGEgY29tbWVudCByZWdhcmRpbmcgdGhlIGZsaXRlIHZvaWNlcy4KCjIwMTItMDMtMjMgMTg6MTY6MDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiB3b3JrIGFyb3VuZCBtZW1vcnkgdHJhc2hpbmcgaW4gbGlibW9kcGx1ZyAoMC44LjcpCgkgIEFsbG9jYXRlIGRvdWJsZSBzaXplZCBidWZmZXJzLiBBbHNvIGFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcuCgoyMDEyLTAzLTIzIDEzOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBNYWtlIGJ1ZmZlci10aW1lIHNpZ25lZCB0byBkZWFsIHdpdGggYmFja3dhcmQganVtcHMgaW4gdGltZXN0YW1wcwoKMjAxMi0wMy0yMyAxMzowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogTWFrZSBidWZmZXItdGltZSBzaWduZWQgdG8gZGVhbCB3aXRoIGJhY2t3YXJkIGp1bXBzIGluIHRpbWVzdGFtcHMKCjIwMTItMDMtMjIgMTU6NTU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMiA9PT0KCjIwMTItMDMtMjIgMTU6NTI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS4yCgoyMDEyLTAzLTIxIDIzOjA0OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC1vc3guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVN0cmVhbWluZy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSAgZGVja2xpbms6IEFkZCBkZWNrbGluayBkaXNwYXRjaCBjb2RlIGZvciBPUy9YCgoyMDEyLTAzLTIxIDEzOjIzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMjEgMDk6NDE6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGJheWVyIGNhcHMKCjIwMTItMDMtMjAgMjA6MDc6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUHJldmVudCBhY2Nlc3MgdG8gdGhlIHRyYW5zZm9ybSBtYXAgd2hlbiBpdCBpcyBudWxsCgkgIENoZWNrIGlmIHRoZSBtYXAgZG9lc24ndCBleGlzdCB3aGVuIHJlY2VpdmluZyBhIG5ldyBjYXBzIGFuZCBjcmVhdGUKCSAgYSBuZXcgb25lLiBUaGlzIHByZXZlbnRzIHRoYXQgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbnMgdHJ5IHRvIGFjY2VzcwoJICB0aGUgbWFwIHdoZW4gaXQgZG9lc24ndCBleGlzdC4KCjIwMTItMDMtMjAgMTk6MTk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIHNvbWUgbW9yZSBsb2cgbWVzc2FnZXMKCjIwMTItMDMtMjAgMTc6MzI6MDAgLTAzMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBhdm9pZCByZXNldGluZyBjYXBzIHRvIHRoZSBzYW1lIHZhbHVlCgkgIFJlZHVjZXMgY2FwdHVyZSBsYXRlbmN5IHdoZW4gdGhlIG5ldyBjYXBzIGFyZSB0aGUgc2FtZSBhcyB0aGUgb2xkCgkgIG9uZSwgYXZvaWRpbmcgcmVzZXR0aW5nIHRoZSBzb3VyY2Ugc3RhdGUgZm9yIGEgZm9yY2VkIHJlbmVnb3RpYXRpb24uCgoyMDEyLTAzLTIxIDAwOjE3OjQ3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIHdpbnNjcmVlbmNhcDogRml4IGNvbXBpbGluZyB3aXRoIG1pbmd3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1MDUKCjIwMTItMDMtMjAgMjA6MjE6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjAgMjA6MjE6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjAgMTY6NDQ6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGFkZCBzb21lIGNoYW5uZWwgbWFwIGRlYnVnCgoyMDEyLTAzLTIwIDE2OjM0OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IG9wdGltaXplIGNoYW5uZWwgcmVtYXAsIGF2b2lkIHBvdGVudGlhbCBtZW1jcHkKCSAgQ29tYmluZSB0aGUgY2hhbm5lbCByZW1hcCBhbmQgY29weSBpbiBvbmUgb3BlcmF0aW9uLiBDYWxjdWxhdGUgdGhlIGNoYW5uZWwgcmVtYXAKCSAgdGFibGUgb25seSBvbmNlLCBtYWtlIGEgc2hvcnRjdXQgd2hlbiB3ZSBhcmUgbm90IGRvaW5nIGFueSByZW1hcHBpbmcuCgoyMDEyLTAzLTIwIDE1OjM4OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgb3JjOiBkb24ndCBjb21waWxlIGV2ZXJ5dGhpbmcgYXQgc3RhcnR1cAoKMjAxMi0wMy0xOSAyMjo1ODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHN5czogc29ydCBzdWJkaXJzIGluIE1ha2VmaWxlIGFscGhhYmV0aWNhbGx5CgoyMDEyLTAzLTE5IDIzOjQ5OjE3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBJbnRlZ3JhdGUgaW50byBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwMzEKCjIwMTItMDMtMTggMjM6MTU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogR1NUX0JBU0VfTElCUyBhbHJlYWR5IGNvbnRhaW5zIC1sZ3N0YmFzZS0wLjEwCgoyMDEyLTAzLTE4IDE0OjQzOjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IEFkZCAtbGdzdGJhc2UtMC4xMAoKMjAxMi0wMy0xOCAxODozMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVzZSBuZXcgc3R5bGUgYXVkaW8gY2FwcwoJICBBbHNvIGRvIG5vdCBwcmV0ZW5kIHRvIG5lZ290aWF0ZSBvdXRwdXQgY2FwcyB3aGVuIHRoZXJlCgkgIGlzIG5vdCBtdWNoIGluIG91dHB1dCB0byBiZWdpbiB3aXRoLgoKMjAxMi0wMy0xOCAxODozMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHNtb290aDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAwMToxODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGZpeCBidWlsZCBhZnRlciBiYXNlIHRyYW5zZm9ybSBjaGFuZ2VzCgoyMDEyLTAzLTE4IDAwOjUxOjMyICswMDAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBmaXggc3RydWN0dXJlIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjI5NAoKMjAxMi0wMy0xNyAxNTowOToyMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIG9wZW5jdjogZml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyOTUKCjIwMTItMDMtMTUgMjI6MTI6NTkgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmaXggcmVncmVzc2lvbiBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgaW4gcGF1c2UvcGxheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTA1CgoyMDEyLTAzLTE3IDE1OjA3OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3Npbms6IEFkZCBkZXZpY2UgcHJvcGVydHkKCSAgQWxzbyBhZGQgcHJvcGVydHkgcHJvYmUgZm9yIGRldmljZSBwcm9wZXJ0eSwgc2ltaWxhciB0byBkZWNrbGlua3NyYy4KCjIwMTEtMTAtMzEgMTg6NTg6MzQgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBtYWtlIHN1cmUgd2UgY2FuIGFjY2VwdCBjYXBzIGJlZm9yZSByZXR1cm5pbmcgdHJ1ZQoJICBjYXBzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBwbHVnaW4ncyBwcm9wZXJ0aWVzLCBzbyB3ZSBzaG91bGQgY2hlY2sgdGhlCgkgIGluY29taW5nIGNhcHMgdG8gc2VlIGlmIHRoZXkgYWdyZWUuICBGaXhlczogIzY2NzcyMi4KCjIwMTEtMTAtMzEgMTg6NTc6MjIgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBkaXNhYmxlIHB1bGwgbW9kZQoJICBkZWNrbGluayBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IGFueSBwdWxsIG1vZGUgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LgoJICBpdCdzIG1vcmUgbGlrZSBhIGxpdmUgc291cmNlLCB5b3Ugc2VlLiBGaXhlczogIzY2NzcyMC4KCjIwMTItMDItMTEgMjI6NDk6MTAgLTA4MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBwdXNoIG5ldyBuZXcgc2VnbWVudCBldmVudCB0byBhbGwgcGFkcwoJICBUYWtlIGNhcmUgdG8gcHVzaCB0aGUgZXZlbnQgdG8gYWxsIHBhZHMsIGJ1dCBmYXZvciB0aGUgdmlkZW8gc3JjIHBhZC4KCSAgRml4ZXM6ICM2Njc3MTYuCgoyMDEyLTAzLTE3IDExOjQxOjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeQoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4gIEZpeCBtZW1sZWFrIHJlbGVhc2luZyByZXNvdXJjZXMuCgoyMDEyLTAzLTE3IDExOjM5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZWluZGVudAoKMjAxMS0xMC0zMSAxODo1NjoyMyAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSAgZGVja2xpbmtzcmM6IGhhbmRsZSBmbG93IHJldHVybiBwcm9wZXJseSBhbmQgcHJvdmlkZSBiZXR0ZXIgbWVzc2FnZQoJICAqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgoyMDEyLTAzLTA3IDE5OjIyOjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IHByb2JpbmcKCSAgUmVuYW1lcyB0aGUgc3ViZGV2aWNlIHByb3BlcnR5IHRvIGp1c3QgZGV2aWNlLCBhbmQgaGFzIGl0CgkgIHJldHVybiB0aGUgbnVtYmVyIG9mIGRldmljZXMgaW4gdGhlIHN5c3RlbSBpbiByZXNwb25zZSB0bwoJICBhIHByb2JlLiBUaGlzIGlzIHVzZWZ1bCBib3RoIGZvciB1c2luZyBtdWx0aXBsZSBjYXB0dXJlCgkgIGNhcmRzLCBhbmQgZm9yIGRldGVjdGluZyB3aGV0aGVyIGl0J3Mgd29ydGggYWRkaW5nIHRoZQoJICBlbGVtZW50IHRvIGEgcGlwZWxpbmUuCgkgIEFsc28gY2xlYW5zIHVwIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgoyMDEyLTAzLTE3IDExOjQ1OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBjaGFpbiBxdWVyeS9ldmVudCBmdW5jdGlvbnMKCSAgQ2hhaW4gdXAgdG8gcGFyZW50IGNsYXNzLiAgVGhpcyBmaXggc2hvdWxkIGJlIGRvbmUgdG8gYWxsIG9mIHRoZQoJICB0ZW1wbGF0ZXMuCgoyMDEyLTAzLTE3IDExOjM1OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IEFkZCBjaGFubmVsIHByb3BlcnR5CgkgIFRoZSBjaGFubmVsIHByb3BlcnR5IGFsbG93cyBtdWx0aXBsZSBpbnRlcnNyYy9zaW5rIHBhaXJzIHRvIGZpbmQKCSAgZWFjaCBvdGhlci4gIEl0J3MgYSBmcmVlLWZvcm0gdGV4dCBzdHJpbmcgdGhhdCBtdXN0IG1hdGNoIGFtb25nCgkgIHZhcmlvdXMgaW50ZXIgZWxlbWVudHMuICBBbHNvIGZpeGVkIHVwIGRvY3VtZW50YXRpb24gYW5kIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgoyMDEyLTAzLTE3IDE2OjA5OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGZpeCAtdGVtcGxhdGUtdmlkZW8gY2FwcyBzdHJpbmcKCSAgRG9uJ3QgZm9yZ2V0IHNlcGFyYXRvci4KCjIwMTItMDMtMTcgMTY6MDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGFkZCB2aWRlbyBwYWQgdGVtcGxhdGUgYW5kIHVzZSBpdCBpbiB2aWRlb2ZpbHRlciBjbGFzcwoJICBXb3VsZCBiZSBuaWNlciBpZiBvbmUgY291bGQganVzdCBzdXBwbGVtZW50IHRoZSBnZW5lcmljIHRlbXBsYXRlCgkgIGZyb20gdGhlIGVsZW1lbnQgdGVtcGxhdGUgdGhvdWdoLgoJICBBbHNvLCBJIHdvdWxkIHJlYWxseSBoYXZlIGxpa2VkIHRvIGp1c3QgYWRkIHRob3NlIHNlY3Rpb25zIGZyb20gdGhlCgkgIHBhZHMgdGVtcGxhdGUgaW50byB0aGUgZWxlbWVudCB0ZW1wbGV0IGRpcmVjdGx5IChzbyBJIGNhbiBjYXRlciBmb3IKCSAgc3JjIHRlbXBsYXRlIGNhcHMgPT0gc2luayB0ZW1wbGF0ZSBjYXBzKSwgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8KCSAgd29yay4KCjIwMTItMDMtMTcgMTU6NDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGFkZCB7c3JjLHNpbmt9cGFkLXRlbXBsYXRlLCBzaW5jZSBtYW55IGJhc2UgY2xhc3NlcyBjcmVhdGUgcGFkcyBmb3IgdXMKCSAgQW5kIHVzZSB0aGVtIGluIHRoZSB2aWRlb2ZpbHRlciB0ZW1wbGF0ZS4KCjIwMTItMDMtMTcgMTU6MTY6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIHRvb2xzOiBhZGQgdmlkZW9maWx0ZXIgdGVtcGxhdGUgZm9yIGdzdC1lbGVtZW50LW1ha2VyCgoyMDEyLTAzLTE3IDEyOjQ3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgb3BlbmN2OiBmaXggY29uZmlndXJlIGNoZWNrIGFuZCBidWlsZCB3aXRoIG9wZW5jdiAyLjEKCSAgQUNfQ0hFQ0tfSEVBREVSUygpIGNhbGxzIGFjdGlvbi1pZi1ub3QtZm91bmQgYWxzbyBpZiBqdXN0IG9uZSBvZgoJICB0aGUgaGVhZGVycyBjaGVja2VkIGZvciBpcyBtaXNzaW5nLCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50ZWQuCgkgIEFsc28sIGNoZWNrIGZvciBoaWdoZ3VpX2MuaCBpbnN0ZWFkIG9mIGhpZ2hndWkuaHBwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjI2CgoyMDEyLTAzLTE2IDIxOjQ3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBkb24ndCBwYXNzIHJhbmRvbSBwb2ludGVycyB0byBwdWxsX3JhbmdlCgoyMDEyLTAzLTE2IDE3OjA3OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGluaXRpYWxpemUgc29tZSBhcmJpdHJhcnkgdmFyaWFibGUgdGhhdCBnY2MtNC42IGNhbiB0cmFjayBwcm9wZXJseQoJICBUaGUgYWNjZXNzIHRvIHRoZW0gaXMgY2xlYXJseSBndWFyZGVkIGJ5IHRoZSBib29sZWFucyB0aG91Z2guCgoyMDEyLTAzLTE2IDEzOjE0OjQ4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIG9wZW5jdjogY29zbWV0aWMgY29kZSBjaGFuZ2VzCgkgIENoZWNrIGZvciB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBkZXRlY3RvcnMgaW4gdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb24gdG8gYXZvaWQKCSAgc2V0dGluZyB1cCB0aGUgUk9Jcy4gVXNlIHRoZSBib29sZWFucyBmb3IgaGF2ZV94eHggbW9yZS4KCjIwMTItMDMtMTYgMTI6NTc6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIG9wZW5jdiBwcmVmaXggZnJvbSBwa2djb25maWcgdG8gbG9va3VwIGRhdGFmaWxlcwoJICBEb24ndCBoYXJkY29uZGUgL3VzciB0byBsb29rdXAgZGF0YWZpbGVzIChzdWNoIGFzIGhhYXIgY2FzY2FkZXMpLgoKMjAxMi0wMy0xNSAxNzoxMDoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcnNuZHZkc3JjOiBwb3N0IGEgbWVzc2FnZSB3aXRoIHRpdGxlIG51bWJlciBhbmQgZHVyYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIxNjUKCjIwMTItMDMtMTYgMTI6MTA6MTAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IHJlbW92ZSBibGFuayBsaW5lIGluIGd0ay1kb2MgY29tbWVudAoKMjAxMi0wMy0xNiAxMjowNDoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBza2lwIGRldGVjdGlvbiBmb3IgdW5hdmFpbGFibGUgZGV0ZWN0b3JzCgoyMDEyLTAzLTE1IDIzOjE3OjU1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IG1vdmUgdGhlIGRldGVjdG9yIHRvIGFuIG93biBtZXRob2QgdG8gaGlkZSB0aGUgdWdseSBpZmRlZnMKCSAgVGhpcyBpbXByb3ZlcyB0aGUgcmVhZGFiaWxpdHkgaW4gdGhlIGFjdHVhbCBwcm9jZXNzaW5nIGZ1bmN0aW9uLgoKMjAxMi0wMy0xNSAyMzowODowMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBhbHdheXMgc2VuZCBmYWNlZGV0ZWN0IG1lc3NhZ2UKCSAgVGhlIGFwcGxpY2F0aW9uIG1pZ2h0IGxpa2UgdG8ga25vdywgd2hlbiB3ZSBkb24ndCBzZWUgdGhlIGZhY2UgYW55bW9yZS4KCjIwMTItMDMtMTUgMjI6NTg6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGNvZGUgY2xlYW51cHMKCSAgVXNlIGdsaWIgdHlwZXMgYW5kIHNpbXBseSBleHByZXNzaW9ucyBpbiB0aGUgbWVzc2FnZSBoYW5kbGVyLgoKMjAxMi0wMy0xNSAyMjo0OTo1MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogZG9uJ3QgYWNjZXNzIG1lc3NhZ2UgZmllbGRzIGRpcmVjdGx5CgoyMDEyLTAzLTE1IDIyOjIyOjEyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGRvbid0IHNraXAgZmFjZXMKCSAgU2tpcHBpbmcgZmFjZXMgYXQgdGhpcyBwb2ludCBtYWtlcyB1cyBsaWUgYWJvdXQgdGhlIG51bS1iZXIgb2YgZmFjZXMgYW5kIGFsc28KCSAgY2F1c2VzIGxlYWtzLgoKMjAxMi0wMy0xNSAyMjoxMTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjA6Mzg6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDE4OjI4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBjb3NtZXRpYyBjaGFuZ2UKCSAgUmVuYW1lIFBST1BfRklMRU5BTUUgdG8gUFJPUF9MT0NBVElPTiB0byBtYXRjaCB0aGUgbmFtZSBvZgoJICB0aGUgcHJvcGVydHkuIEFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDEyLTAzLTE1IDE4OjI2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogY2xlYXIgb3ZlcmxheSBpZiB0aGUgZmFjZSBkaXNhcHBlYXJzCgoyMDEyLTAzLTE1IDE4OjIxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogYWRkIHNvbWUgbG9ja2luZyBmb3IgcHJvcGVydGllcywgZnJlZSBwcmV2aW91cyBsb2NhdGlvbiB3aGVuIGl0IGNoYW5nZXMKCjIwMTItMDMtMTUgMTg6MDg6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogZG9uJ3QgbWFrZSByc3Znb3ZlcmxheSByZWxvYWQgdGhlIFNWRyBmb3IgZXZlcnkgc2luZ2xlIGZyYW1lCgkgIE9ubHkgc2V0IGxvY2F0aW9uIG9uIHJzdmdvdmVybGF5IGlmIGl0IGhhcyBjaGFuZ2VkLgoKMjAxMi0wMy0xNSAxNzo0Nzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IG1vdmUgZmFjZSBoYW5kbGluZyBpbnRvIG93biBmdW5jdGlvbiBhbmQgaGFuZGxlIDAgZmFjZSBjb3VudAoJICBXaGVuIGEgZmFjZSBkaXNhcHBlYXJzLCB3ZSBzZWVtIHRvIGdldCBhIG1lc3NhZ2UgZnJvbSBmYWNlZGV0ZWN0IHdpdGgKCSAgYSBmYWNlIGNvdW50IG9mIDAsIHdoaWNoIHdlIHdhbnQgdG8ganVzdCBpZ25vcmUgaW5zdGVhZCBvZiB0cnlpbmcgdG8KCSAgYWNjZXNzIGZhY2UgIy0xLCB3aGljaCBjYXVzZXMgbmFzdHkgd2FybmluZ3MuCgoyMDEyLTAzLTE1IDE3OjQyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogZml4IHBhZCB0ZW1wbGF0ZXMKCSAgVXNlIGdlbmVyaWMgYW5kIHVuc3BlY2lmaWZlZCByZ2IvY2FwcyBmb3Igbm93LiBUaGUgZXhhY3QgY2FwcwoJICBzdXBwb3J0ZWQgZGVwZW5kIG9uIHRoZSBmYWNlZGV0ZWN0IGVsZW1lbnQgYW5kIHJzdmdvdmVybGF5LiBJdCdzCgkgIG5vdCBjbGVhciBob3cgdGhpcyB3b3JrZWQgYmVmb3JlLCBzaW5jZSBmYWNlZGV0ZWN0IG9ubHkgYWNjZXB0cwoJICAyNC1iaXQgUkdCLCBidXQgdGhlIGNhcHMgYWR2ZXJ0aXNlZCAzMi1iaXQgQVJHQi9CR1JBLiBJbiBhbnkgY2FzZSwKCSAgd2UgZG9uJ3Qgd2FudCB0byBmb3JjZSBhbnl0aGluZyByZWFsbHksIHNvIHRoYXQgaWYgYW55IG9mIHRob3NlCgkgIGVsZW1lbnRzIGFjcXVpcmVzIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgZm9ybWF0cyB3ZSBwaWNrIHRob3NlIHVwCgkgIGF1dG9tYXRpY2FsbHkuCgoyMDEyLTAzLTE1IDE3OjI2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBmaXggY3Jhc2ggZHVlIHRvIGRvdWJsZSBhZGFwdGVyIHVucmVmCgoyMDEyLTAzLTE1IDE2OjUyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IGZpeCB3ZWlyZCBwYWQgY3JlYXRpb24gY29kZQoJICBUaGUgZWxlbWVudCB3b3VsZCBjcmVhdGUgbm9ybWFsIHBhZHMgaW4gaXRzIGluc3RhbmNlX2luaXQgZnVuY3Rpb24sCgkgIGFuZCB0aGVuIGxhdGVyIGluIE5VTEwtPlJFQURZIGNyZWF0ZSB0aGUgZWxlbWVudHMgaXQgbmVlZHMsIHJlbW92ZQoJICB0aGUgcGFkcyBjcmVhdGVkIGluIHRoZSBpbnN0YW5jZV9pbml0IGZ1bmN0aW9uLCBhbmQgYWRkIG5ldyBnaG9zdAoJICBwYWRzIGluc3RlYWQuIE5vdCB3aXRob3V0IHNhdmluZyB0aGUgZXh0ZXJuYWwgcGVlciBwYWRzIG9mIHRoZSBvbGQKCSAgcGFkcyBvZiBjb3Vyc2UsIHdoaWNoIGl0IHdvdWxkIHByb21wdGx5IHJlLWxpbmsgdG8gdGhlIG5ldyBnaG9zdAoJICBwYWRzLiBEbyBhbGwgb2YgdGhhdCBhIGJpdCBkaWZmZXJlbnRseS4KCSAgRml4ZXMgdGhlIGdlbmVyaWMvc3RhdGVzLmNoZWNrIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDU4OAoKMjAxMi0wMy0xNSAxNTo0NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IG1pbm9yIGNvc21ldGljIGNoYW5nZXMKCSAgUmVtb3ZlIHRlbXBsYXRlIG1ha2VyIGNvbW1lbnRzLCB1c2Ugb3VyIGRlZmluZXMgZm9yCgkgIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luLgoKMjAxMi0wMy0xNSAxNDowODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBhcGkgY2hhbmdlCgoyMDEyLTAzLTE1IDEzOjM3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDAwOjEzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdGVzdCBiaW5hcmllcyBhbmQgc3RhbXAgZmlsZXMKCjIwMTItMDMtMTUgMDA6MDU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IG1ha2UgYnVpbGQgd2l0aCBvcGVuY3YgMi4zLjEgYXMgaW4gZGViaWFuIHNpZAoJICBXaGVyZSBoaWdoZ3VpLmggZG9lc24ndCBleGlzdCBhbnkgbW9yZSwgYnV0IG9ubHkgb3BlbmN2Mi9oaWdoZ3VpL2hpZ2hndWkuaHBwLgoJICBBbHNvLCBub3QgcXVpdGUgc3VyZSB3aHkgd2UncmUgY2hlY2tpbmcgZm9yIGN2YXV4LmgsIGl0J3Mgbm90IHVzZWQgYW55d2hlcmUuCgoyMDEyLTAzLTE0IDE5OjUyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0YWtlIHBhZGRpbmcgaW50byBhY2NvdW50CgoyMDEyLTAzLTE0IDE3OjQ4OjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGFsc28gY2xlYXIgaW5pdGlhbGl6ZWQgbXV0ZXggYW5kIGNvbmQKCjIwMTItMDMtMTQgMTE6MjA6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogYWRqdXN0IHRvIHNvbWUgbW9kaWZpZWQgY2FwcyByZWxhdGVkIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDEwOjI0OjA1ICswMTAwICBEbWl0cnkgS2V0b3YgPGRrZXRvdkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogSW50ZWdyYXRlIGludG8gYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBGaXhlcyBidWcgIzY3MjAzMS4KCjIwMTItMDMtMTMgMjA6NTA6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBmaXggd2FybmluZ3Mgd2hlbiBnc3QtaW5zcGVjdGluZyBpbnRlcmF1ZGlve3NyYyxzaW5rfQoJICBUaGUgY2hhbm5lbCBwcm9wZXJ0eSBpc24ndCBpbXBsZW1lbnRlZCwgc28gZG9uJ3QgcmVnaXN0ZXIgaXQuCgoyMDEyLTAzLTA4IDAxOjQ4OjU2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogRml4IHdhcm5pbmdzLCBwcm9wZXIgc3RydWN0dXJpbmcsIGRlYWQgY29kZSByZW1vdmFsLCBhZGRpbmcgZG9jIHNlY3Rpb24uCgoyMDEyLTAzLTEzIDEzOjAyOjU0ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogbW92ZSBzcGMgcGx1Z2luIHRvIE5PTl9QT1JURUQgbGlzdChGaXggYnVpbGQgZXJyb3IpCgoyMDEyLTAzLTEzIDA5OjU0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICB1c2UgZ3N0X2NhcHNfbWVyZ2UgaW5zdGVhZCBvZiBnc3RfY2Fwc191bmlvbgoKMjAxMi0wMy0xMiAxNTo0MjowNCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3VyZSBndC0+bWFwIG5vdCBmcmVlZCB0d2ljZQoJICBjdXJyZW50IGNoZWVzZSBjYW4gY3JlYXRlIHNpdHVhdGlvbiB3aGVyZSBndC0+bWFwIGlzIGZyZWVkIHR3aWNlLgoJICBUaGlzIHBhdGNoIHNldCBtYXAgdG8gbnVsbCB0byBhdm9pZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMAoKMjAxMi0wMy0xMiAxNzowNjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGZvciBjYXBzIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTIgMTY6NTE6MTkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gMi4zMS4xNAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTExCgoyMDEyLTAyLTI4IDE2OjQwOjMxICswMTAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogYWRkIGZsb2F0aW5nIHBvaW50IHNlZ21lbnQgZHVyYXRpb24gc3VwcG9ydAoKMjAxMi0wMy0xMiAxMjoyMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIGNhcHMgX25vcm1hbGl6ZSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDExOjQwOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IGZpeCBmb3IgY2FwcyBBUEkgY2hhbmdlCgoyMDEyLTAzLTEyIDEwOjQ0OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgX2RvX3NpbXBsaWZ5IGNoYW5nZXMKCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTAgMjA6NTM6NTQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIEZpeCBhbiB1bndhbnRlZCBkb3VibGUgbmVnYXRpb24gZnJvbSBsYXN0IGNvbW1pdAoKMjAxMi0wMy0xMCAxOToxMDo1MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIEZpeCAnaWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIGZ1bmN0aW9uIGRlY2xhcmVkIHdpdGggY29uc3QgYXR0cmlidXRlJwoJICBUaGlzIGFsd2F5cyBoYXBwZW5zIHdpdGggR3N0Qnl0ZVJlYWRlci9Xcml0ZXIgYW5kIGZyaWVuZHMgd2hlbgoJICBub3QgdGFraW5nIGludG8gYWNjb3VudCByZXR1cm5lZCBib29sZWFuIG9mIHRoZSBfcmVhZC9fd3JpdGUgZnVuY3Rpb25zCgkgICh3aGljaCBpcyBhY3R1YWxseSB3cm9uZykuCgkgIE1ha2UgdXNlIG9mIHRoZSAqX3VuY2hlY2tlZCB2YXJpYW50IGFzIG11Y2ggYXMgcG9zc2libGUsIG9yIHRha2UgdGhlCgkgIHJldHVybmVkIHZhbHVlIGludG8gYWNjb3VudC4KCjIwMTItMDMtMTAgMTE6MzY6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBhdm9pZCBydW5hd2F5IGxvb3Agd2hlbiByZXN5bmNpbmcgZHVyaW5nIHBhcnNlCgkgIC4uLiBieSBjaGVja2luZyBmb3IgdGhlIGNvcnJlY3QgKGRlY3JlbWVudGVkKSBzaXplIHZhcmlhYmxlLgoJICBGaXhlcyAjNjcxNzU2LgoKMjAxMi0wMy0wOSAxNzoxNjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggQUNfTEFOR19TT1VSQ0UtcmVsYXRlZCB3YXJuaW5ncyB3aGVuIGRvaW5nIGF1dG9nZW4uc2gKCjIwMTItMDMtMDEgMTQ6NTk6NTUgLTAzMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgRml4aW5nIHJ0cHZwOCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHRoaXJkIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEwNzMKCjIwMTItMDMtMDggMTE6MzI6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0czogZml4IG1vcmUgY2FwcwoKMjAxMi0wMy0wNyAxNzoxNDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IHBvcnQgdG8gdXBkYXRlZCAwLjExCgoyMDEyLTAzLTA3IDEwOjE4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNyAxMjo1OToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG9ubHkgcmVxdWVzdCBhbmQgcHJvY2VzcyAxIGZyYW1lIGF0IGEgdGltZQoJICAuLi4gc2luY2UgaXQgaXMgc3BlY2lmaWVkIGluIF9maW5pc2hfZnJhbWUgdGhhdCBpbnB1dCBidWZmZXIgbWF5IGJlIGludmFsaWRhdGVkCgkgIGFmdGVyIGNhbGxpbmcgaXQsIGFuZCBpcyBhcyBzdWNoIG5vdCByZWxpYWJseSBhdmFpbGFibGUgZm9yIGZ1cnRoZXIgZW5jb2RpbmcuCgkgIEFsc28sIHJlcXVlc3Rpbmcgb3IgYWxsb3dpbmcgc2V2ZXJhbCBmcmFtZXMgaXMgb25seSB1c2VmdWwgaWYgc3ViY2xhc3MgaW50ZW5kcwoJICB0byBwcm9jZXNzIHRoZXNlICJpbiAxIHJ1biIgKGFzIGluLCAxIG91dHB1dCBidWZmZXIpLCBub3QgZm9yIGhhdmluZyBhbm90aGVyCgkgIChpbm5lcikgbG9vcCBpbiBzdWJjbGFzcyB3aGVyZSB0aGUgYmFzZWNsYXNzIG9uZSB3aWxsIGRvIGp1c3QgZmluZS4KCjIwMTItMDMtMDcgMTI6NTU6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBjb25maWd1cmUgYmFzZWNsYXNzIHJlcXVlc3RlZCBzYW1wbGVzIHJlYWxseSBpbiBzYW1wbGVzCgkgIC4uLiBhcyBvcHBvc2VkIHRvIGJ5dGVzLgoKMjAxMi0wMy0wNiAxODo0OToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIHZpZGVvOiBVcGRhdGUvYWRkIGRvY3MKCjIwMTItMDMtMDYgMTg6MTE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIEFkZCBtaXNzaW5nIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBTdXBwcmVzcyB3YXJuaW5ncyBhYm91dCBkZXByZWNhdGVkIHRocmVhZGluZyBhbmQgR1ZhbHVlQXJyYXkKCSAgQVBJLCBzbyBnaXQgY29tcGlsZXMgd2l0aCAtV2Vycm9yLgoKMjAxMi0wMy0wNiAxODozMzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIHNpcmVuZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMy0wNiAxODozMzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAzLTA2IDE2OjExOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE2OjExOjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE4OjMyOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogYXZvaWQgaW5kZWZpbml0ZSBsb29waW5nIHVwb24gZXJyb3IKCSAgLi4uIGFuZCBmaXggJ3VuaW5pdGlhbGl6ZWQnIGNvbXBpbGF0aW9uIHdhcm5pbmcgYXMgd2VsbC4KCjIwMTItMDMtMDYgMTU6MjE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkgIGdzZXR0aW5nczogRml4ICdpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHknIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTY6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEZpeCAnaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0RpcmVjdFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ0RGQlJlc3VsdCcnIGNvbXBpbGVyIHdhcm5pbmcKCSAgV2UncmUgbm90IGNoZWNraW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhhdCBmdW5jdGlvbiBhbnl3YXkuCgoyMDEyLTAzLTA2IDE0OjUxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmw6IEZpeCAnZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyZW50aGVzZXMnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTE6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IFVzZSBjb3JyZWN0IGVudW0gdHlwZSBmb3IgcmV0dXJuIHZhbHVlCgoyMDEyLTAzLTA2IDE0OjUwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEZpeCBsb29wIHRvIG5vdCByZWFkIGJlZm9yZSB0aGUgdmFsaWQgbWVtb3J5IGFyZWEKCjIwMTItMDMtMDYgMTQ6NDc6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSAgcmVtb3Zlc2lsZW5jZTogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQ2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRml4ICd2YXJpYWJsZSAncGlkJyBpcyB1bmluaXRpYWxpemVkIHdoZW4gdXNlZCBoZXJlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQzOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4ICdleHByZXNzaW9uIHJlc3VsdCB1bnVzZWQnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjM4OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNSAxMjo0NjoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgcm9sbG92ZXIgaW4gb2Zmc2V0IGNhbGN1bGF0aW9ucwoKMjAxMi0wMy0wNSAxMjo0Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICB4LXJhdy1iYXllciAtPiB4LWJheWVyCgoyMDEyLTAzLTA1IDEyOjAzOjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdXNlIG5ldyBzdHlsZSBjYXBzCgoyMDEyLTAzLTA1IDExOjI3OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IHByaW50ZiBmaXgKCjIwMTItMDMtMDUgMTA6MTQ6NDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkgIHRzZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDEyLTAzLTA1IDA5OjQ2OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBTd2l0Y2ggcmFuayBvZiBtcGVndHNkZW11eCBhbmQgdHNkZW11eAoJICBNb3JlIGVmZm9ydCBoYXMgYmVlbiBwdXQgbGF0ZWx5IGluIHRzZGVtdXggYW5kIHdvcmtzIGluIG1vcmUgdXNlIGNhc2VzCgoyMDEyLTAzLTA1IDA5OjM4OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggcGFja2V0cyBhcyBlYXJseSBhcyBwb3NzaWJsZQoJICBXaGVuIHRoZSBQRVMgaGVhZGVyIHRlbGxzIHVzIGhvdyBiaWcgdGhlIG91dGdvaW5nIHBhY2tldCBpcywgcHVzaCB0aGUKCSAgcGFja2V0IGRvd25zdHJlYW0gYXMgc29vbiBhcyB3ZSBoYXZlIHRoZSBzcGVjaWZpZWQgc2l6ZSBpbnN0ZWFkIG9mIHdhaXRpbmcKCSAgZm9yIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5leHQgcGFja2V0LgoJICBSZWR1Y2VzIGxhdGVuY3kgYW5kIHJlbW92ZXMgaXNzdWVzIHdpdGggdmVyeSBzcGFyc2Ugc3RyZWFtcyAobGlrZSBzdWJ0aXRsZXMKCSAgYW5kIHN1YnBpY3R1cmVzKS4KCjIwMTItMDMtMDQgMjE6NTQ6MDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBhZGQgbWluaW1hbCBkb2MgYmxvYnMKCjIwMTItMDItMjggMjE6MDA6MjQgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGaXggaW4gc2hlbGxfc3VyZmFjZV9zZXRfZnVsbHNjcmVlbgoKMjAxMi0wMi0xNiAyMjoyNzoyMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IE1vcmUgZml4ZXMgLS0gdXBkYXRlIHRvIFdheWxhbmQgMC44NSBwcm90b2NvbCAtLSBBZGRlZCBzaGVsbCBzdXJmYWNlIC0tIEFkZGVkIGZvcm1hdCBxdWVyeSBmb3Igc2htIGZvcm1hdCAtLSBDcmVhdGUgdGhlIHdpbmRvdyBiYXNlZCBvbiB3aWR0aCBhbmQgaGVpZ2h0IG9mIHZpZGVvIGV4dHJhY3RlZCBmcm9tIHVwc3RyZWFtIGNhcHMuCgoyMDExLTExLTAyIDE2OjIzOjAyICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBVcGRhdGUgd2l0aCBuZXcgQVBJcyBpbiB3YXlsYW5kLWNsaWVudC4KCjIwMTEtMTEtMDIgMTM6NTE6MTMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIE1vcmUgRml4ZXM6ICogQWRkaW5nIGJ1ZmZlcl9hbGxvYyAqIHBlcmZvcm0gYnVmZmVyX2RhbWFnZSBiZWZvcmUgc3VyZmFjZV9hdHRhY2ggKiBGaXggdHlwbywgUmVtb3ZlIERlYWQgY29kZSBldGMuCgoyMDExLTExLTAyIDExOjAyOjExICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIEluaXRpYWwgQ29tbWl0OiBBZGRpbmcgV2F5bGFuZCBWaWRlbyBTaW5rCgoyMDExLTEyLTEzIDIzOjQzOjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBzZW5kIGR1cmF0aW9uIG1lc3NhZ2Ugb24gZHVyYXRpb24gdXBkYXRlcwoJICBXaGVuIHdlIGtub3cgYSBuZXcgZHVyYXRpb24sIHJlcG9ydCBpdC4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTEtMTItMTMgMTA6MjY6NTAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHBsYW5uaW5nICsgZXhhbXBsZSB1cGRhdGUKCjIwMTItMDMtMDMgMTk6MDM6MTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGRlYwoKMjAxMi0wMy0wMyAxODo1NzowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgc2lnbmF0dXJlIG9mIENNU2FtcGxlQnVmZmVyQ3JlYXRlIGFuZCBDTUJsb2NrQnVmZmVyQ3JlYXRlV2l0aE1lbW9yeUJsb2NrCgkgIENoYW5nZSBkYXRhIHR5cGUgZm9yIGNvdW50ZXJzIHBhc3NlZCBvbiB0aGUgc3RhY2sgZnJvbSBVSW50MzIgdG8gc2l6ZV90LiBGaXhlcwoJICA2NGJpdCBidWlsZHMuCgoyMDEyLTAzLTAyIDA4OjEzOjEwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3JtYXQgZGVzY3JpcHRpb24gaGVscGVyIHNpZ25hdHVyZQoJICBVcGRhdGUgdGhlIEZpZ1ZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVXaXRoU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tCgkgIHNpZ25hdHVyZSB0byBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24gb24gT1NYIExpb24uCgoyMDEyLTAzLTAyIDIxOjQxOjM5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFuZCBidWlsZCBmYWlsdXJlIHdpdGggbWluZ3cKCSAgc2hhcmVkLmQzZGRldiB3YXMgcmVtb3ZlZCBhIHdoaWxlIGJhY2ssIG5vdCBzdXJlIGhvdyB0aGlzIHN0aWxsCgkgIGNvbXBpbGVzIGZvciBhbnlvbmUgKHRwbSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3MTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDE0MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTA1CgoyMDEyLTAzLTAzIDE1OjU3OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgQVNfTElCVE9PTCBhbmQgYnVtcCB2ZXJzaW9uIGZvciBBQkkgY2hhbmdlIGluIGguMjY0IGNvZGVjIHBhcnNlcgoJICBCYWNrcG9ydGVkIGZyb20gdGhlIDAuMTAgcmVsZWFzZSBicmFuY2gsIHdoZXJlIHYuMjMgd2FzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMDMKCjIwMTItMDMtMDIgMTE6NDU6NDEgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgbnVtYmVyIG9mIGVtdWxhdGlvbiBwcmV2ZW50aW9uIGJ5dGVzIGluIHNsaWNlX2hlYWRlcigpLgoJICBTb21lIGhhcmR3YXJlIHZpZGVvIGRlY29kZSBhY2NlbGVyYXRpb24gQVBJIChWQS1BUEksIERYVkEpIHJlcXVpcmUKCSAgYSBiaXQgY291bnQgdG8gdGhlIGZpcnN0IG1hY3JvYmxvY2ssIG1pbnVzIHRoZSBudW1iZXIgb2YgZW11bGF0aW9uCgkgIHByZXZlbnRpb24gYnl0ZXMuIFNvLCBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgY29uc3VtZXIgb2YgdGhlIGxpYnJhcnkKCSAgc2NhbiB0aGUgc2xpY2VfaGVhZGVyKCkgYWdhaW4sIGp1c3QgcmVjb3JkIHRoYXQgbnVtYmVyIHdoaWxlIHBhcnNpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIwMwoKMjAxMi0wMy0wMyAxNTo0NzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICB0c2RlbXV4OiBmaXggY29uZnVzaW5nIHZhcmlhYmxlIG5hbWUKCjIwMTItMDMtMDIgMTc6MTE6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNlZ21lbnQgc3RhcnQgcG9zaXRpb24KCSAgSWYgd2UgKnJlYWxseSogY2FuJ3QgZmlndXJlIG91dCB0aGUgZmlyc3Qgc3RhcnQgcG9zaXRpb24sIHRoYXQgbW9zdAoJICBsaWtlbHkgbWVhbnMgdGhlIGRhdGEgdG8gcHVzaCBvdXQgZG9lc24ndCBoYXZlIGFueSB0aW1lc3RhbXAuCgkgIFVzZSBhIGRlZmF1bHQgdmFsdWUgb2YgMCB0aGVuCgoyMDEyLTAzLTAyIDE3OjEwOjI4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIG91dCB0aGUgcGFja2V0aXplciBvbiBmbHVzaGluZyBzZWVrcwoJICAuLi4gZWxzZSB3ZSBlbmQgdXAgd2l0aCBib2d1cyBkYXRhL29mZnNldHMKCjIwMTItMDItMjkgMTE6MTQ6MTUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFjdGl2YXRlIHBhZHMgb25seSB3aGVuIHJlY2VpdmluZyBkYXRhIGZvciB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5MjEKCjIwMTItMDMtMDIgMTU6Mzc6NTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGFkZCBtaXNzaW5nIGRpcmVjdHggaGVhZGVycwoKMjAxMi0wMy0wMiAxMTowNzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggbGV2ZWwgY29kZQoJICBWYWxpZCByYW5nZXMgICAgICAgICAgICBhcmUgZnJvbSA0IHRvIDEwCgkgIFZhbGlkIHJhbmdlcyA+PiAxICAgICAgIGFyZSBmcm9tIDIgdG8gNQoJICBWYWxpZCByYW5nZXMgPj4gMSAtIDIgICBhcmUgZnJvbSAwIHRvIDMKCSAgKGFuZCBub3QgZnJvbSAxIHRvIDQpCgoyMDEyLTAzLTAyIDEwOjU0OjQ4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENoZWNrIGhhcmRlciBmb3IgcHJvZ3JhbSBjaGFuZ2VzCgkgIEFuZCBkb24ndCBqdXN0IHJlbHkgb24gdGhlIHNlY3Rpb24gY3JjL3ZlcnNpb25fbnVtYmVyIGNoYW5naW5nIHRvCgkgIGluZGljYXRlIHRoYXQgdGhlIHByb2dyYW0gYWN0dWFsbHkgY2hhbmdlZC4KCjIwMTItMDMtMDEgMTg6NDY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJICB2ZHBhdTogcmVsaWNlbnNlIGZvdXIgc291cmNlIGZpbGVzIGZyb20gR1BMMysgdG8gTEdQTDIrCgkgIFRoZXNlIHNvdXJjZSBmaWxlcyB3ZXJlIG1pc3Rha2VubHkgbGljZW5zZWQgYXMgR1BMMywgdGhlCgkgIGF1dGhvciAoQ2FybC1BbnRvbiBJbmdtYXJzc29uKSBoYXMgZ2l2ZW4gcGVybWlzc2lvbiB0bwoJICByZWxpY2Vuc2UgdGhlbSB0byBMR1BMMisuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExNDIKCjIwMTItMDMtMDEgMTg6MDU6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogUmVmYWN0b3Igc2VlayBhbmQgc2VnbWVudCBoYW5kbGluZwoJICBBbGwgY2FsY3VsYXRpb25zIGdvIHRocm91Z2ggdGhlIG1wZWd0c3BhY2tldGl6ZXIKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMvY29kZQoKMjAxMi0wMy0wMSAxNzo1OTo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBFcnJvciBvdXQgb24gRU9TIHdpdGhvdXQgYW55IHBhZAoJICBBdm9pZHMgZW5kaW5nIHVwIHdpdGggaGFuZ2luZyBwaXBlbGluZXMKCjIwMTItMDMtMDEgMTc6NTY6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogT2Zmc2V0IGNhbGN1bGF0aW9uCgkgIEFsbG93cyBQQ1I8PT5QVFM8PT5vZmZzZXQgZXN0aW1hdGlvbi9jYWxjdWxhdGlvbgoJICBSaWdodCBub3cgdGhlIGNhbGN1bGF0aW9uIGlzIHZlcnkgbmFpdmUsIGJ1dCBjYW4gYmUgZXh0ZW5kZWQgbGF0ZXIgb24KCSAgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBjb2RlIGluIHRzZGVtdXgvbXBlZ3RzYmFzZQoKMjAxMi0wMy0wMSAxNzo1Mzo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBjbG9jayBmaXggYW5kIG1pbm9yIGFkZGl0aW9uCgkgICogRG9uJ3QgdGFrZSBpbnRvIGFjY291bnQgcGFja2V0cyB0aGF0IGFycml2ZWQgYXQgdGhlIHNhbWUgdGltZSBhcwoJICBwcmV2aW91cyBvbmVzIGZvciBjbG9jayBza2V3IGVzdGltYXRpb24KCSAgKiBBZGQgY29udmVuaWVuY2UgbWV0aG9kIGZvciBwcm9jZXNzaW5nIHRoZSBuZXh0IHRzIHBhY2tldAoKMjAxMi0wMi0yOSAxODoxOToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBSZXZlcnQgIm1wZWd0c2RlbXV4OiBOb3QgYXBwbHkgdmFyaW91cyB0aW1lIHRoZSBzYW1lIFBNVCB0byBhIHByb2dyYW0gd2hlbiByZXBldGVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4Y2IwZTg3ZjU2MjM4MzZkZGMzNjFlYjkxZGNmOWI1MGI0ODA0OGU3LgoJICBtcGVndHNwYWNrZXRpemVyIGFscmVhZHkgY2hlY2tzIGlmIGl0J3MgYSBuZXcgUE1UIG9yIG5vdAoKMjAxMi0wMi0yOSAxMDozMzowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogUmVtb3ZlIGFsbCBzZWVraW5nIGNvZGUKCSAgSXQgd2FzIG1vcmUgdGhhbiBib2d1cwoKMjAxMi0wMi0yOSAxNzoyNjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlcwoKMjAxMi0wMi0xNCAxMTo1NzowMCArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHNldCB0aGUgZmV0Y2hlcidzIGxvY2F0aW9uIHR3aWNlCgkgIENhbGxpbmcgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSBhbHJlYWR5IGRvZXMgaXQgYW5kIGZpbGVzcmMKCSAgZmFpbHMgd2hlbiB1c2luZyBmaWxlIHByb3RvY29sIGluIGEgbG9jYXRpb24KCjIwMTItMDItMjggMTY6Mjc6NTUgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIEFkZCBtaXNzaW5nIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBTdXBwcmVzcyB3YXJuaW5ncyBhYm91dCBkZXByZWNhdGVkIHRocmVhZGluZyBhbmQgR1ZhbHVlQXJyYXkKCSAgQVBJLCBzbyBnaXQgY29tcGlsZXMgd2l0aCAtV2Vycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTgyCgoyMDEyLTAyLTI0IDA5OjU0OjM1ICswMTAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgZmFpbCBmb3IgcGxheWxpc3RzIHNtYWxsZXIgdGhhbiBmcmFnbWVudHMtY2FjaGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDk2MwoKMjAxMi0wMi0yOCAxMTozOToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIHRhZ3MKCjIwMTItMDItMjggMDg6MTM6MDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHBvcnQgcXRraXR2aWRlb3NyYwoKMjAxMi0wMi0yNyAwOTo0NToyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogY2F0Y2ggc2VjdGlvbiBsZW5ndGhzIGV4dGVuZGluZyBwYXN0IHRoZSBidWZmZXIgbGVuZ3RoCgkgIFRoaXMgaXMgcHJvYmFibHkgdGhlIGNhdXNlIGZvciBhbiBvY2Nhc2lvbmFsIGNyYXNoIHdoaWxlIHN0cmVhbWluZwoJICBNUEVHLiBCbGluZCBmaXggYWZ0ZXIgc3RhcmluZyBhdCB0aGUgY29kZSBhbmQgZm9sbG93aW5nIGxvZ2ljLCBzbwoJICBtYXkgb3IgbWF5IG5vdCBmaXggdGhlIGlzc3VlLCBJIGNhbm5vdCB0ZXN0LgoJICAoUG9ydCBvZiA0Mjc1YTcwY2I1NWQzNzVhZmE3MDI5MTdmNzM1OWVjMTE3ZWQ0OWQ0IGZyb20gbXBlZ2RlbXV4KQoKMjAxMi0wMi0yNyAwOTo0MjoyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogc3VwcG9ydCBtb3JlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmdzCgkgIFN1cHBvcnQgVVRGLTE2QkUsIEVVQy1LUiAoS1NYMTAwMSksIEdCMjMxMiBhbmQgSVNPLTEwNjQ2L1VURjggdGV4dAoJICBlbmNvZGluZyBhbmQgZml4ZWQgbmV3IGxpbmUgZm9yIG11bHRpYnl0ZSBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MjU3CgkgIChQb3J0IG9mIDk3NTlkNjY0MDdmMmJlOGVjMjk5NzViMGVmZjMyMzBiYjFkYWUwZWYgZnJvbSB0aGUgbXBlZ3RzZGVtdXgKCSAgZWxlbWVudCkKCjIwMTItMDItMjcgMTM6MTM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgYXVkaW9lbmNvZGVyczogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjYgMjA6NDM6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogbGluayB0byBsaWJnc3RiYXNlCgoyMDEyLTAyLTI0IDE5OjA4OjQwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IEZpeCBwYXJzaW5nIG9mIFBTSSB0YWJsZSBJRHMKCSAgKFBvcnRlZCBmcm9tIG1wZWd0c2RlbXV4IGQ4ZmQ4NzRmNTI5MGU0OTExNDM3MTIwMDU3ZWU4ODVjZGI2OGI0YWYpCgoyMDEyLTAyLTI0IDE1OjI2OjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBdm9pZCB1bmxpbmtlbHkgbGVha3MgYW5kIHNlZ2ZhdWx0CgoyMDEyLTAyLTI0IDE3OjUzOjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBuZXcgY2xvY2sgc2tldyBlc3RpbWF0aW9uIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIE9ubHkgdXNlZCBpbiBsaXZlIG1vZGUKCjIwMTItMDItMjQgMTc6NTI6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVmFyaW91cyBjb2RlIGNsZWFudXAgYW5kIGRlYWQgY29kZSByZW1vdmFsCgoyMDEyLTAyLTI0IDE3OjQ3OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBpc3N1ZXMgd2l0aCBza2V3IGNvZGUKCSAgKiBBbHdheXMgdHJ5IHRvIGdldCBhIHRpbWVzdGFtcCBmb3IgdGhlIGFsZ29yaXRobQoJICAqIFJlbW92ZSBkZWFkIHZhcmlhYmxlCgkgICogUmV0dXJuIHByb3BlciBkZWZhdWx0IHZhbHVlCgoyMDEyLTAyLTI0IDE3OjA3OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVGltZXN0YW1wIG91dHB1dCBieSBkZWZhdWx0CgkgIEFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIGRlbXV4ZXJzIG9yIHBhcnNlcnMpIHRvIGRvIHJlbW90ZQoJICBjbG9jayByYXRlL3NrZXcgZXN0aW1hdGlvbi4KCjIwMTItMDItMjQgMTI6NTM6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZml4IGRvY3MgYW5kIHVuaXQgdGVzdAoKMjAxMi0wMi0yMyAxNDo0NjowOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRXN0aW1hdGUgY2xvY2sgc2tldyBhbmQgcmV0aW1lc3RhbXBzIGJ1ZmZlcnMgbW9yZSBwcmVjaXNseQoJICBBcHBseSB0aGUgRVBUTEEgYWxnb3RpdGhtIHRvIGVzdGltYXRlIGNsb2NrIHNrZXcuCgkgIFJldXNpbmcgY29kZSBmcm9tICAtZ29vZC9nc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoKMjAxMi0wMi0yMSAxMToxMjo1MyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYW4gdXAgQUFDIGNhcHMgbWVzcwoKMjAxMi0wMi0yMCAxNzo0NzoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIHRzZGVtdXg6IFJlaW5kZW50IGdzdG1wZWdkZXNjLmgKCjIwMTItMDItMjAgMTc6MzI6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IG1vcmUgRFRTL0FDMyBkZXNjcmlwdG9ycwoKMjAxMi0wMi0yMyAxODoxNzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdXNlbGVzcyBmaW5hbGl6ZSgpCgoyMDEyLTAyLTI0IDEwOjI2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgY2hhbmdlcwoKMjAxMi0wMi0yNCAxMDoyMTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiBmaXggc29tZSBjYXBzCgoyMDEyLTAyLTIzIDIyOjA0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4dXAgbmFzdHkgdHlwbyBicmVha2luZyBjb21waWxhdGlvbgoKMjAxMi0wMi0yMyAyMToxNzo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbnNpZGVyIG5hbF9sZW5ndGhfc2l6ZSB3aGVuIGNvbnN0cnVjdGluZyBjb2RlY19kYXRhCgkgIEZpeGVzICM2NzA2OTkuCgoyMDEyLTAyLTIzIDIxOjE2OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZGlzY2FyZCBmcmFtZSB1cG9uIGRlY29kaW5nIGVycm9yCgoyMDExLTExLTA4IDIwOjE5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFVzZSBpbmNvbWluZyB0aW1lc3RhbXBzIGluIGxpdmUgbW9kZQoKMjAxMS0xMS0wOCAyMDoxMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXBvcnQgbGF0ZW5jeSAoNzAwbXMpCgoyMDExLTExLTA4IDA5OjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFF1ZXJ5IHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZSBvciBub3QKCjIwMTItMDItMjMgMTE6NTU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQnVtcCB2ZXJzaW9uIGFmdGVyIHJlbGVhc2UKCjIwMTItMDItMjIgMTU6NDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICB0ZXN0OiBwb3J0IHNjaHJvZW5jIHVuaXQgdGVzdAoKMjAxMi0wMi0yMiAxMTo0NDoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBQb3J0IHRvIDAuMTEKCSAgV29ya3Mgd2l0aCBzb21lIHNhbXBsZSBmaWxlcy4gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSB0aW1lc3RhbXBpbmcgaXNzdWUgdGhvdWdoLAoJICBidXQgdGhlIDAuMTAgdmVyc2lvbiBhbHNvIGNvbXBsYWlucyBhYm91dCB0aGF0IHRvby4KCjIwMTItMDItMjEgMTg6NTY6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYXZvaWQgdG91Y2hpbmcgLnBvIGZpbGVzIGR1cmluZyAnbWFrZScKCSAgQSBzaW1wbGUgd29ya2Fyb3VuZCB0byBkZWFsIHdpdGggR05VIGdldHRleHQgYXV0b21ha2UgaW50ZWdyYXRpb24KCSAgZmFpbGluZyB0byBkZWFsIHdpdGggZ2l0LiAgRml4ZXMgIzY2OTIwNwoKMjAxMi0wMi0yMiAwMjowNjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0yMSAxNjo1MzozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgdmlkZW86IE1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMi0wMi0yMSAxNjo1Mjo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSAgYmFzZXZpZGVvY29kZWM6IERvY3VtZW50IHN0cnVjdHVyZXMKCjIwMTItMDItMjEgMTA6MDY6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDEyLTAyLTIwIDIwOjExOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IHYyMTAgd3JpdGluZyBvdXQgb2YgYm91bmRzCgoyMDEyLTAyLTIwIDE4OjQzOjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBHU1RfRVJST1IKCjIwMTItMDItMjAgMTE6NDI6MjMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1wcm9qZWN0LW1ha2VyOiBDcmVhdGUgdG9vbHMsIHBhc3MgbWFrZSBkaXN0Y2hlY2sKCSAgQ3JlYXRlIGEgdG9vbHMgZGlyZWN0b3J5IGZvciBhbiBhcHBsaWNhdGlvbi4gIEFkZCBzb3VyY2UgY29kZQoJICBzdHVicyB0byBhbGxvdyB0aGUgcHJvamVjdCB0byBjb21waWxlIGFuZCBwYXNzIG1ha2UgZGlzdGNoZWNrLgoJICBBZGQgbm90ZXMgaW4gc291cmNlIGNvZGUgdG8gdGVsbCB0aGUgdXNlciBob3cgdG8gY3JlYXRlIHBsdWdpbgoJICBvciBhcHAgY29kZSB1c2luZyB0aGUgb3RoZXIgLW1ha2VyIHNjcmlwdHMuCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAyLTIwIDE2OjA3OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMi0wMS0yNiAxNjozMjoxNyAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdSBzaG91bGQgZm9yd2FyZCB2aWRlbyBjYXBzIGV2ZW50CgoyMDEyLTAyLTIwIDE0OjMyOjEyICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgZmlsZXMgdG8gc3BlYwoKMjAxMi0wMi0yMCAxMjo0Mjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgYW5kICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBmaXggdGhlIGJ1aWxkCgoyMDEyLTAyLTIwIDEwOjU4OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBnbGliLWNvbXBhdC1wcml2YXRlLmggdG8gZGlzdAoKMjAxMi0wMi0xOSAxNTo1NDozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LXByb2plY3QtbWFrZXI6IENyZWF0ZSBhdXRvdG9vbHMgcHJvamVjdAoJICBUaGlzIGlzIGEgcmVwbGFjZW1lbnQgZm9yIGdzdC10ZW1wbGF0ZSB0aGF0IGNyZWF0ZXMgYW4gZW50aXJlCgkgIGF1dG90b29scyBwcm9qZWN0IChjdXN0b21pemVkIHRvIHBhY2thZ2UgbmFtZSksIGFuZCBwb3B1bGF0ZXMKCSAgaXQgd2l0aCB0aGUgc291cmNlIGZvciBhIEdTdHJlYW1lciBwbHVnaW4gKGJ1dCBubyBwbHVnaW4gZmVhdHVyZXMsCgkgIHRob3NlIGNvbWUgZnJvbSBnc3QtZWxlbWVudC1tYWtlcikuICBGaXhlczogIzY2NTcyNy4KCjIwMTItMDItMTkgMTI6NTc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTItMDItMTkgMDA6MTU6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBjbGFtcCBpbnRlcm1lZGlhdGVzIHdoZW4gZGl0aGVyaW5nCgoyMDEyLTAxLTIzIDA5OjA1OjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgMTAtYml0IHN1cHBvcnQKCjIwMTItMDEtMjMgMDk6MDI6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJICBzY2hybzogQWRkIFJHQiBzdXBwb3J0CgkgIFRoaXMgdXNlcyB0aGUgYXV0b21hdGljIFlDb0NnIGNvbnZlcnNpb24gaW5zaWRlIFNjaHJvZWRpbmdlciB0bwoJICBlbmNvZGUvZGVjb2RlIFJHQi4gIE9ubHkgd29ya3MgaW4gaW50cmEtb25seSBtb2RlLCBzaW1pbGFyIHRvIDEwLQoJICBhbmQgMTYtYml0LCBzaW5jZSBSR0IgaXMgdGVjaG5pY2FsbHkgYSA+OC1iaXQgZm9ybWF0IGZvciBEaXJhYwoJICBwdXJwb3Nlcy4gIFRoaXMgZGVwZW5kcyBvbiBzY2hyb2VkaW5nZXItMS4wLjEyLCB3aGljaCBpcyB1bnJlbGVhc2VkLgoKMjAxMi0wMi0xOCAwMDowMTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTItMDItMTcgMTI6MTU6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBOb3QgYXBwbHkgdmFyaW91cyB0aW1lIHRoZSBzYW1lIFBNVCB0byBhIHByb2dyYW0gd2hlbiByZXBldGVhZAoJICBTb21ldGltZXMgdGhlaXIgYXJlIHNldmVyYWwgdGltZXMgdGhlIHNhbWUgUE1UIGFwcGx5aW5nIHRvIGEgc2FtZSBwcm9ncmFtIGluIGEgc3RyZWFtLAoJICB0c2RlbXV4IHdhcyB0b3RhbGx5IGJhZmZsZWQgd2hlbiB0aGlzIHdhcyBoYXBwZW5pbmcsIHdlIG5vdyBrZWVwIHRoZSBvbmUgd2UKCSAgYWxyZWFkeSBhcHBsaWVkIHNvIGl0IHdvcmtzIHByb3Blcmx5LgoKMjAxMi0wMi0xNiAwOTo1NDoyNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IGdsaWIgZGVwcmVjYXRpb24KCjIwMTItMDItMTcgMTE6MDY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMSA9PT0KCjIwMTItMDItMTcgMTE6MDU6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJFTEVBU0UgMC4xMS4xCgoyMDEyLTAyLTE3IDA5OjAxOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNiAxNjozMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXQgc291cmNlIHRvIG51bGwgd2hlbiByZXNldHRpbmcgY2FwcwoJICBJdCBzZWVtcyB0aGF0IHY0bDJzcmMgaXNuJ3QgaGFwcHkgd2hlbiBzd2l0Y2hpbmcgZm9ybWF0cyBvbiByZWFkeQoJICBzdGF0ZSwgaXQgd29ya3Mgd2hlbiBwdXR0aW5nIGl0IHRvIE5VTEwuIEtlZXAgdGhpcyB3b3JrYXJvdW5kIGluCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgd2hpbGUgdjRsMnNyYyBpc24ndCBmaXhlZC4KCSAgRml4ZXMgIzg0OTgzMgoKMjAxMi0wMi0xNiAxNDozMzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmMKCjIwMTItMDItMTYgMDE6MTI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHV0IHNvdXJjZSBpbiBOVUxMIHdoZW4gaXQgZmFpbHMgY2hhbmdpbmcgc3RhdGUKCSAgV2hlbiBzb3VyY2UgaXMgYmVpbmcgcmVzZXQgdG8gY2hhbmdlIGNhcHMsIGNoZWNrIHRoZSByZXR1cm4gb2YKCSAgdGhlIHN0YXRlIHN5bmNpbmcgZnVuY3Rpb24gdG8gYXZvaWQgbGVhdmluZyB0aGUgc291cmNlIGluIGFuCgkgIHVuY29uc2lzdGVudCBzdGF0ZS4KCjIwMTItMDItMTYgMDA6MzA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICBtdmU6IGRvbid0IHJldHVybiBhIGJvb2xlYW4gZm9yIGEgR3N0Rmxvd1JldHVybgoJICBmaXhlcyBwbGF5YmFjay4KCjIwMTItMDItMTUgMTA6MzI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEF2b2lkIHRocm93aW5nIEZMT1dfRVJST1Igb24gbGFzdCBQQ1IgcHJvY2Vzc2luZyBlcnJvcgoJICBJbiB0aGUgY2FzZSBvZiBzY2FubmluZyBsYXN0IHBjciwgZXJyb3JzIGFyZSBub3QgY3JpdGljYWwsIHNvIHdlIGtlZXAKCSAgdGhlIHN0cmVhbSBmbG93aW5nLgoKMjAxMi0wMi0xNCAxMTo0NDo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBBQUMgbGF0bSBzdXBwb3J0CgoyMDEyLTAyLTE1IDExOjA2OjU3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNaW5vciByZWZhY3RvcmluZy9jb2RlIGNsZWFuaW5nCgkgIC4uLiBhZGQgc29tZSBkZWJ1Z2dpbmcgc3ltYm9scyBpbiB0aGUgbWVhbiB0aW1lLgoKMjAxMi0wMi0xNSAxNjozODozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBfY2hhaW4gaGFjawoJICBBcyB3ZSBjYW4gbm93IHJlbHkgdXBvbiBiZWluZyBwYXNzZWQgdXBzdHJlYW0gZGVsaW5lYXRlZCBkYXRhIGluCgkgIDo6aGFuZGxlX2ZyYW1lKCksIHRoZSBsYXR0ZXIgY2FuIGFsc28gcGFyc2UgYXZjIGZvcm1hdHRlZCBkYXRhCgkgIHdpdGhvdXQgaGF2aW5nIHRvIGludGVyY2VwdCBiYXNlcGFyc2UncyBjaGFpbiBmdW5jdGlvbi4KCSAgV2hpbGUgdGhpcyBldmlkZW50bHkgcmVxdWlyZXMgMiBzZXBhcmF0ZSBwYXJzaW5nIHBhdGhzLCBlYWNoIGNhbgoJICBiZSBzdHJlYW1saW5lZCBhY2NvcmRpbmdseS4KCjIwMTItMDItMTUgMTE6NTk6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGFkanVzdCB0byBzdGFuZGFyZGl6ZWQgYmFzZXBhcnNlIGZyYW1lIHN0YXRlIHRyYWNraW5nCgoyMDEyLTAyLTE1IDE3OjE0OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTUgMTU6MDc6MzUgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFNFSSBwYXJzaW5nCgkgIC4uLiBpbiB0aGUgcHJlc2VuY2Ugb2YgZW11bGF0aW9uX3ByZXZlbnRpb25fdGhyZWVfYnl0ZS4KCSAgRml4ZXMgIzY2ODM4MS4KCjIwMTItMDItMTUgMTQ6Mjk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgcHJvcGVyIE5BTFUgb2Zmc2V0IGZvciBjb25maWcgZGF0YSBpbnNlcnRpb24KCSAgLi4uIHdoaWNoIGhhcyB0byBiZSB0aGUgcG9zaXRpb24gb2YgdGhlIHN0YXJ0IGNvZGUsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMKCSAgYnV0IG5lZWQgbm90IGJlIDQgYnl0ZXMuCgoyMDEyLTAyLTE1IDEzOjM5OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY29tcGlsYXRpb24KCjIwMTItMDItMTUgMTM6MDI6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGRvbid0IGxlYWsgZXZlbnQKCSAgVW5yZWYgdGhlIGV2ZW50IHdoZW4gd2UgZG9uJ3QgY2hhaW4gdXAgdG8gdGhlIHBhcmVudAoKMjAxMi0wMi0xNSAxMjo1Njo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCSAgQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBldmVudCBoYW5kbGVyIHRvIGdldCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgaW5zdGVhZCBvZgoJICByZXR1cm5pbmcgRkFMU0UuCgoyMDEyLTAyLTE0IDExOjE5OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yNyAyMDo1ODo0OCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoxNTYxOjI0OiBlcnJvcjogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUKCSAgZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoyMDI4OjM6IGVycm9yOiBmb3JtYXQgJyVkJyBleHBlY3RzIHR5cGUgJ2ludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdzaXplX3QnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc1MjIKCjIwMTItMDItMTMgMTg6NDQ6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxMToxNjoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxMjoyNjoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeHVwIG1lcmdlCgoyMDEyLTAyLTEzIDE0OjIyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBfdW5tYXAgYnVmZmVyIHVwb24gZXhpdAoKMjAxMi0wMi0xMyAyMzowNDoxMiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBUcml2aWFsIGJ1ZyBmaXguIERvbid0IGNvcHkgZGF0YSBmcm9tIGFuIHVuaW5pdGVkIGJ1ZmZlci4KCjIwMTItMDItMTIgMjI6NTk6NTIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rLy5naXRpZ25vcmU6CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLW1hcnNoYWwubGlzdDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJICBtdWx0aWZkc2luazogcmVmYWN0b3JlZCBpbiAtYmFzZQoKMjAxMi0wMi0xMCAxNjo1Mjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVwb3J0IGFmdGVyIG1lcmdlCgoyMDEyLTAyLTEwIDE2OjQ2OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jCgkgIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbQoJICBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYwoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmMKCSAgdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jCgkgIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmMKCjIwMTItMDItMTAgMTQ6NDY6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiB1bm9iZnVzY2F0ZSBmcmFtZSBwYXJzaW5nIGNvZGUKCjIwMTItMDItMDggMjE6MjE6NDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGZpeCBpbmRlZmluaXRlIHdhaXQgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZkIHRvIHRoZSBwb2xsIHNldAoJICBJZiB0aGUgc2Vjb25kIGNhbGwgdG8gX3dhaXQgYmxvY2tzLCB3ZSB3aWxsIG5vdCBzaWduYWwgdGhlIGNvbmRpdGlvbgoJICB2YXJpYWJsZSwgc28gZW5zdXJlIHRoYXQgc2Vjb25kIGNhbGwgaXMgbm90IGJsb2NraW5nLgoJICBTZWUgcmF0aW9uYWxlIGFuZCBpbmZvcm1hdGlvbiBpbiB0aGUgbGlua2VkIGJ1ZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY5NwoKMjAxMi0wMi0wOSAxODowODoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogcG9ydCB0byAwLjExCgoyMDEyLTAyLTA5IDE0OjQyOjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggcmVmY291bnQgZXJyb3IKCjIwMTItMDItMDkgMDA6MDk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBkb24ndCB1c2UgZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMoKQoJICBJdCdzIGFib3V0IHRvIGJlIHJlbW92ZWQuCgoyMDEyLTAyLTA4IDIwOjA5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIFJlbW92ZSBsZWdhY3loMjY0cGFyc2UgZWxlbWVudAoJICBPbmUgaDI2NCBwYXJzZXIgb3VnaHQgdG8gYmUgZW5vdWdoIGZvciBhbnlib2R5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDAyCgoyMDEyLTAyLTA4IDE2OjM3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wNyAxNzowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0wOC0yMiAxNjozMTozOCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IGNyZWF0ZSBhIGQzZCBkZXZpY2UgZm9yIGVhY2ggc2luayBhbmQgdXNlIHRoZSBkZWZhdWx0IHN3YXAgY2hhaW4gaW4gY29ubmVjdGlvbiB3aXRoIGZsdXNoaW5nIHRoZSBHUFUgYW5kIG5vdCByZWNyZWF0aW5nIHRoZSBzd2FwIGNoYWluIHRoaXMgYXZvaWRzIHRlYXJpbmcgYWxzbyB1c2UgR1NUX3h4X0RFQlVHIG1hY3JvcyB3aGVyZSBhcHByb3ByaWF0ZQoKMjAxMS0wOC0yMiAxNDo0Njo0OCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZsdXNoIEdQVSBiZWZvcmUgUHJlc2VudCBhZGRlZCBhbHRlcm5hdGUgd2FpdCBmb3IgdnN5bmMgbWV0aG9kIGJhc2VkIG9uIEdldFJhc3RlclN0YXR1cwoKMjAxMS0wOC0yMiAxNDozMDo0MyArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGNoZWNrIGZvciBoYXJkd2FyZSBjYXBhYmlsaXRpZXMsIHdoZW4gbmVnb3RpYXRpbmcKCjIwMTEtMDgtMjIgMTQ6MTk6MDYgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWRyYXcgbGFzdCBidWZmZXIgd2hlbiBuZXcgd2luZG93IGhhbmRsZSBoYXMgYmVlbiBzZXQuCgoyMDExLTA4LTIyIDE0OjEzOjMwICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogYWRkZWQgTlYxMiArIGVuYWJsZWQgUkdCIHN1cHBvcnQKCjIwMTEtMDgtMjcgMTM6MDc6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBkZXZpY2UgaW5pdGlhbGl6YXRpb24gY2hlY2sKCjIwMTItMDItMDcgMTI6MTQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNyAxMjowMjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMi0wMi0wNyAxMjowMjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3ZpczogcG9ydCB0byAwLjExIHNvbWUgbW9yZQoKMjAxMi0wMi0wMiAxMzozMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBwcmV2ZW50IGNhcHR1cmVzIGZyb20gYmVpbmcgbG9zdCB3aGVuIHN3aXRjaGluZyByZXNvbHV0aW9ucwoJICBXaGVuIHN3aXRjaGluZyBjYXB0dXJlIGNhcHMsIGNhbWVyYWJpbjEgcmVzZXRzIGl0cyBzdGF0ZSB0byByZWFkeQoJICB0byBmb3JjZSBhIG5ldyBjYXBzIHRvIGJlIG5lZ290aWF0ZWQuIFRoaXMgY2F1c2VzIG9uZ29pbmcgY2FwdHVyZXMKCSAgdG8gYmUgYWJvcnRlZC4KCSAgVGhpcyBjb21taXQgYWRkcyBhIGNvbmRpdGlvbiB0byB3YWl0IGZvciBjYXB0dXJlcyB0byBmaW5pc2ggYmVmb3JlCgkgIGdvaW5nIHRvIHJlYWR5IHN0YXRlLgoKMjAxMi0wMi0wMiAxMjoyMjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBJbXByb3ZlIGRlYnVnIG1lc3NhZ2UgYWJvdXQgcHJvY2Vzc2luZyBjb3VudGVyCgkgIE1lbnRpb24gb24gdGhlIGxvZ3MgaG93IG1hbnkgY2FwdHVyZSBvcGVyYXRpb25zIG1pZ2h0IGhhdmUgYmVlbgoJICBsb3N0CgoyMDEyLTAyLTA0IDIyOjA2OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogYW5nbGUgaXMgaW4gcmFkaWFucyBhbHJlYWR5LCBkbyBub3Qgc2NhbGUgaXQKCSAgT3RoZXIgcGx1Z2lucyB1c2UgcmFkaWFucywgYW5kIHRoZSBhbmdsZSBkb2N1bWVudGF0aW9uIHNheXMgcmFkaWFucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTM2NQoKMjAxMi0wMi0wNCAyMjowNjoxMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IGZpeCBkZXNjcmlwdGlvbiBzdHJpbmcgdG8gbWF0Y2ggd2hhdCB0aGUgZWxlbWVudCBkb2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNjUKCjIwMTItMDItMDMgMTE6MDg6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IGVtaXQgbm8tbW9yZS1wYWRzCgkgIERvaW5nIHNvIG1heSBmaXggc29tZSB0aGluZ3MsIGJ1dCBicmVha3Mgb3RoZXJzIChuZXcgc3RyZWFtcyBiZWluZwoJICBhZGRlZCBpbiB0aGUgZnV0dXJlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTgxNAoKMjAxMi0wMi0wMyAxMToyNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY3JlYXNlIHBhc3N0aHJvdWdoIG5lZ290aWF0aW9uIHByZWZlcmVuY2UKCSAgQWxzbyBlbnN1cmUgcGFyc2luZyBmaXhlZCBjYXBzIHdoZW4gbmVnb3RpYXRpbmcgcmF0aGVyIHRoYW4gZmFpbGluZyB0bwoJICBoYW5kbGUgbm9uLWZpeGVkIGxpc3QgY2FzZXMuCgkgIFNlZSAjNjY4NDcxLgoKMjAxMi0wMi0wMyAwMDo1MDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggQ0ZMQUdTIG9yZGVyIGFuZCBMSUJTIG9yZGVyCgkgIF9CQURfQ0ZMQUdTIHNob3VsZCBhbHdheXMgY29tZSBmaXJzdCwgdGhlbiBHU1RfUExVR0lOU19CQVNFX0NGTEFHUywKCSAgdGhlbiBHU1RfQkFTRV9DRkxBR1MgdGhlbiBHU1RfQ0ZMQUdTLiBTYW1lIGZvciBsaWJzOiBmaXJzdCBwbHVnaW5zCgkgIGJhc2UgbGlicywgdGhlbiBHU1RfQkFTRV9MSUIgdGhlbiBHU1RfTElCUy4KCjIwMTItMDItMDIgMjM6MjE6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3V0aWxzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDIgMTE6NDE6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBpbmNsdWRlIHNwZWNpZmljIEFBQyBzdHJlYW0tZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCSAgVGhpcyBlbGVtZW50cyBzZWVtcyB0byBzdXBwb3J0IHJhdyBhbmQgYWR0cyBBQUMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6Mzc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIGV4cGxpY2l0IHN1cHBvcnRlZCBBQUMgc3RyZWFtLWZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6MzE6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBpbmNsdWRlIHNwZWNpZmljIHN1cHBvcnQgQUFDIHN0cmVhbSBmb3JtYXRzIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMToyNzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHNwZWNpZnkgaW4gdGVtcGxhdGUgY2FwcyB3ZSBvbmx5IHRha2UgcmF3L2FkdHMgQUFDIGZvcm1hdAoJICBUaGlzIGFwcGVhcnMgdG8gYmUgd2hhdCB0aGlzIGVsZW1lbnQgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6MjA6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGluY2x1ZGUgc3BlY2lmaWMgQUFDIHN0cmVhbS1mb3JtYXQgdHlwZXMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDEwOjU5OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBiZXR0ZXIgZXJyb3IvZGVidWcgcmVwb3J0aW5nCgkgIEluY2x1ZGUgdGV4dCBtZXNzYWdlcyBpbnN0ZWFkIG9mIGVycm9yIGNvZGVzLgoKMjAxMi0wMi0wMSAxOTozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IGZpeCBwYXJlbnQgc3RydWN0dXJlIGluIGJvaWxlcnBsYXRlIG1hY3JvCgoyMDEyLTAyLTAxIDE3OjUzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBidWlsZDogaWdub3JlIEdWYWx1ZUFycmF5IGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgdGltZSBiZWluZwoJICB1bnRpbCB0aGlzIGdldHMgc29ydGVkIG91dCB3aXRoIHRoZSBHTGliIGZvbGtzIGFuZCB3ZSBoYXZlIGEKCSAgdmlhYmxlIGFsdGVybmF0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTAyLTAxIDE3OjQ2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAxIDE3OjA2OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogZml4IHVwIGZvciBHc3RBdWRpb0RlY29kZXIgQVBJIGNoYW5nZQoKMjAxMi0wMi0wMSAxNjoyNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTI6NDc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBkaXNhYmxlIG9wdGltaXplZCBwYWNrZXRpemVkIHByb2Nlc3NpbmcgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGFzIGJhc2VwYXJzZSB0aGVuIHByb3ZpZGVzIHdob2xlIGNodW5rcyBvZiBkYXRhIChhcyBpdCBzaG91bGQpIGF0IG9uY2UKCSAgdG8gYmUgcGFyc2VkLCBhbmQgc28gdGhlIGFzc3VtcHRpb25zIHVzZWQgdG8gb3B0aW1pemUgYXJlIG5vIGxvbmdlciB2YWxpZC4KCSAgRml4ZXMgIzY2NzU2MC4KCjIwMTItMDItMDEgMTI6MjM6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhbHNvIG1pbmQgU0VJIHBvc2l0aW9uIGZvciBjb25maWcgZGF0YSBpbnNlcnRpb24KCSAgRml4ZXMgIzY2ODYyNy4KCjIwMTItMDItMDEgMTI6MDM6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiB1bmJyZWFrIG9wdGltaXplZCBwYWNrZXRpemVkIE5BTFUgY29sbGVjdGlvbiBwcm9jZXNzaW5nCgkgIC4uLiBpbiB0aGF0IGl0IHdhcyBzbyBvcHRpbWl6ZWQgaXQgZGlkIG5vdCBjb25zaWRlciBncm91cGluZyBOQUxVIGludG8gQVUKCSAgYWx0b2dldGhlci4KCSAgRml4ZXMgIzY2ODYyNy4KCjIwMTEtMTItMTQgMTk6Mjc6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiB1c2UgdGhlIG5ldyBwcmVtdWx0aXBsaWVkIHN1cHBvcnQgaW4gZ3N0dmlkZW8KCjIwMTItMDEtMzAgMTg6NDY6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBmaXggd2VkZ2UgaW4gcHJlcm9sbCB3aGVuIHBsYXliaW4yIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZAoJICBXaGVuIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZCwgYW4gZXh0cmEgY29sb3JzcGFjZSBlbGVtZW50IGlzIGFkZGVkLgoJICBDb2xvcnNwYWNlIGlzIGEgYmFzZXRyYW5zZm9ybSwgYW5kIGlzIHRoZW4gdGhlIG9ubHkgYmFzZXRyYW5zZm9ybQoJICBlbGVtZW50IG9uIHRoZSB2aWRlbyBwYXRoLiBBIHdoaWxlIGFnbywgYmFzZXRyYW5zZm9ybSBzdGFydGVkIGRlbGF5aW5nCgkgIGV2ZW50cyB0aWxsIGNhcHMgd2VyZSBzZXQgb24gaXRzIHNvdXJjZSBwYWQuIFRoZXNlIHRoaW5ncyBjb25zcGlyZWQKCSAgdG8gZW5kIHVwIHNlbmRpbmcgdGhlIERWRCBoaWdobGlnaHQgZXZlbnRzIG9udG8gYSBibG9ja2VkIHBhZCBvbgoJICBzdWJ0aXRsZW92ZXJsYXkuCgkgIEVuc3VyaW5nIHRoZXNlIGhpZ2hsaWdodCBldmVudHMgYXJlIG9ubHkgc2VudCBvbmNlIHdlJ3JlIGluIHBsYXlpbmcKCSAgbW9kZSBmaXhlcyB0aGUgaXNzdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NjIKCjIwMTItMDItMDEgMDI6MTM6NDggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBGaXggY29tcGlsYXRpb24gd2l0aCAxLjAuMTAKCjIwMTEtMTItMjYgMjE6NTc6NDggLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBzZXQgaW50ZXJsYWNlZCBmaWVsZCBpbiBjYXBzIGZvciBtcGVnMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjE4CgoyMDEyLTAxLTMxIDEyOjI5OjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sLXNvdXJjZSB0eXBlIGNoYW5nZXMKCjIwMTItMDEtMzEgMDg6NDQ6MDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1cGRhdGUgYWZ0ZXIgY29sbGVjdHBhZHMyIGNoYW5nZXMKCjIwMTItMDEtMzAgMjI6NDE6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHJlbmFtZSBjb250cm9sLWJpbmRpbmdzCgkgIGdzdF9jb250cm9sX2JpbmRpbmdfeHh4IC0+IGdzdF94eHhfY29udHJvbF9iaW5kaW5nIGZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDEtMzAgMTc6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMi0wMS0yNSAxMzo1Nzo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBhcnNpbmcgb2YgVlVJIHBhcmFtZXRlcnMuCgkgIG1heF9kZWNfZnJhbWVfYnVmZmVyaW5nIHdhcyBtaXMtcGFyc2VkIGJlY2F1c2UgbG9nMl9tYXhfbXZfbGVuZ3RoX3ZlcnRpY2FsCgkgIHdhcyBwYXJzZWQgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg2NjAKCjIwMTItMDEtMjkgMTg6MDE6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIG5vbi1mb3J3YXJkZWQgZXZlbnRzCgkgIEFsc28sIGRvbid0IHVucmVmIGZvcndhcmRlZCBvbmVzCgoyMDEyLTAxLTI4IDIwOjAxOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMi0wMS0yOCAyMDowMToxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGluaXQgZGVidWcgY2F0ZWdvcnkKCjIwMTItMDEtMjggMTY6NTc6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlc3luYyBpdGVyYXRvciBvbiByZXN5bmMKCjIwMTItMDEtMjggMTI6MzI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiByZW1vdmUgJ2ZsdXNoIGV2ZXJ5IHBhY2tldCcgaGFjawoJICBUaGlzIGlzIGEgYmFkIGhhY2sgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIE1hdHJvc2thLCBhbmQgaXMgbm93CgkgIG9ic29sZXRlIGFzIHNpbWlsYXIgY29kZSBpcyBub3QgaW5jbHVkZWQgaW4gb2dnbXV4L29nZ3N0cmVhbS4KCjIwMTItMDEtMjcgMTI6MDg6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlLXB1c2ggc3RpY2t5IGV2ZW50cyBvbiBpbnB1dCBwYWQgY2hhbmdlCgoyMDEyLTAxLTI3IDEyOjA3OjQzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBVc2UgbmV3LXN0eWxlIGNhcHMKCjIwMTItMDEtMjcgMTc6MDA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBtcGVnZGVtdXggdG8gdGhlIGxpc3Qgb2YgcG9ydGVkIHBsdWdpbnMKCjIwMTItMDEtMjcgMTY6NTY6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCBsZWFrIHRoZSBTQ0hFRFVMSU5HIHF1ZXJ5CgoyMDEyLTAxLTI2IDA3OjEzOjA2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgUG9ydCBtcGVnZGVtdXggdG8gMC4xMQoKMjAxMi0wMS0yNyAxNDo0OTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBwbGVudHk6IGZpeHVwIGdsaWIgZGVwcmVjYXRpb25zCgoyMDEyLTAxLTI3IDA3OjM2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCB2aWV3ZmluZGVyIGNvbG9yc3BhY2UgY29udmVyc2lvbiB0byBkZWZhdWx0IGZsYWdzCgkgIFRoaXMgbWFrZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBtb3JlIGxpa2VseSB0byB3b3JrLiBJZiBuZWVkZWQsIG9uZQoJICBjYW4gb3B0aW1pemUgYnkgZGlzYWJsaW5nIGNvbnZlcnNpb25zIHdpdGggdGhlIGZsYWdzLgoKMjAxMi0wMS0yMyAwODowNDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyBzb2x2ZWQgVE9ETyBhbmQgZml4aW5nIGEgdHlwbwoKMjAxMi0wMS0yNiAyMzoyODoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDIzOjI4OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDIzOjI4OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMTU6MDM6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCB0aGUgRFZCIHBsdWdpbiB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zCgkgIEl0IG5lZWRzIHRoZSBNUEVHIFRTIHBhcnNlciBhbmQgY3VycmVudGx5IGNyYXNoZXMgZHVyaW5nIGluc3RhbnRpYXRpb24KCSAgYmVjYXVzZSBpdCBjYW4ndCBjcmVhdGUgdGhlIE1QRUcgVFMgcGFyc2VyLgoKMjAxMi0wMS0yNSAxODoyNTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgbXBlZzJlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxODo0OTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCSAgRml4ZXMgIzY2ODY3Ny4KCjIwMTItMDEtMjUgMTY6Mzc6MjIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvY29udmVydDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDE2OjU3OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogSW50ZXJzZWN0IHRyYW5zZm9ybWVkIGNhcHMgd2l0aCBmaWx0ZXIKCjIwMTItMDEtMjUgMTU6NDM6MDEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgZ3ZhbHVlIGZyb20gaXRlcmF0b3IKCjIwMTItMDEtMjUgMTY6NDY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjUgMTY6MjA6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxNDo1MDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTM6NTg6MTkgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMzoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGV4dC9rYXRlL2dzdGthdGVlbmMuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDEtMTggMTI6MDQ6NTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGxpbWl0IHRoZSBhbW91bnQgb2Ygc2Nhbm5pbmcgZG9uZSBvbiBkdXJhdGlvbiBxdWVyaWVzCgkgIExpbWl0IHRoZSBhbW91bnQgb2YgZGF0YSBzY2FubmVkIHdoZW4gbG9va2luZyBmb3IgUFRTZXMgaW4gZHVyYXRpb24gcXVlcmllcyBhcyBhCgkgIGZhaWxzYWZlIGZvciBraW5kYSBicm9rZW4sIHBvdGVudGlhbGx5IGxhcmdlIGZpbGVzIHdpdGggc3BhcnNlIG9yIG5vIFBUU2VzLgoKMjAxMi0wMS0xOCAxMToyODoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogZG9uJ3Qgc2NhbiBmb3IgdGhlIGxhc3QgUFRTIGlmIHRoZSBmaXJzdCB3YXNuJ3QgZm91bmQKCjIwMTItMDEtMjUgMTE6MjE6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDEwOjQ1OjUxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMjI6MTQ6MzkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IFJlbW92ZSwgdmlkZW9yYXRlIGluY2x1ZGVzIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgbm93CgoyMDEyLTAxLTI0IDE0OjIwOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDExOjM4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmE1OTAxNiB0byBjNDYzYmMwCgoyMDEyLTAxLTI0IDExOjU2OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IG1ha2UgY29uc3RhbnQgc3RhdGljIGFycmF5cyBhY3R1YWxseSBzdGF0aWMKCjIwMTItMDEtMjQgMTE6NTM6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogZml4IHVuaW5pdGlhbGl6ZWQgcmV0dXJuIHZhbHVlCgoyMDEyLTAxLTI0IDExOjIyOjQ2ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdHJhY2Ugb3V0Z29pbmcgdGltZXN0YW1wcwoJICBhZGQgaW5mbyBsZXZlbCBwcmludHMgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0yMyAyMjoyMDo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBmaXggY2FwcyByZWZjb3VudCBlcnJvcgoJICAvbWUgYmFkIG1vbmtleS4KCjIwMTItMDEtMjMgMTg6MzA6MTkgKzAwMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZml4IGdzdF9oMjY0X3BhcnNlX2Nsb2NrX3RpbWVzdGFtcCBhbHdheXMgZmFpbGluZwoKMjAxMi0wMS0yMyAxODowMToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIFJFUVVJUkVNRU5UUzogd2UgbmVlZCBsaWJydG1wIGZvciBydG1wIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODUyMQoKMjAxMi0wMS0yMyAxODo1MTozNCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZWFkIHRoZSBjYnJfZmxhZyBpbiBoMjY0X3BhcnNlX2hyZF9wYXJhbWV0ZXJzCgoyMDEyLTAxLTIzIDE3OjQ3OjQ1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBmcmVxdWVudCBkZWFkbG9jayBkZW11eGluZyBNUEVHIFRTCgkgIEEgcHJldmlvdXMgcGF0Y2ggdG8gYWRkIHN0cmVhbXMgZWFybHkgdG8gZml4IHBsYXliYWNrIG9mCgkgIGxvdyBiaXRyYXRlIHN0cmVhbXMgY2F1c2VzIGZyZXF1ZW50IGRlYWRsb2NrIG9mIGEgbmF0dXJlCgkgIEknbSBhdCBsb3NzIGhvdyB0byBmaXguCgkgIEknbSBub3QgY2VydGFpbiB3aGV0aGVyIGl0J3MgYSBidWcgaW4gZGVjb2RlYmluMiwgb3IgaW4KCSAgdGhhdCBtcGVndHNkZW11eCBwYXRjaC4KCSAgU2luY2UgaXQgY2F1c2VzIGEgbWFqb3IgcmVncmVzc2lvbiwgbGV0IGl0IGJlIGRpc2FibGVkIGZvciBub3cuCgoyMDEyLTAxLTIzIDE0OjEwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBicmVhayBvdXQgd2hlbiBzdHJlYW0gaWRlbnRpZmllZAoKMjAxMi0wMS0yMyAxNDowNjo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogYXZvaWQgTlVMTCBtYW5pcHVsYXRpb24gaWYgaW52YWxpZCBpbnB1dAoKMjAxMi0wMS0yMyAxNDowNTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWdkZW11eDogYXZvaWQgTlVMTCBtYW5pcHVsYXRpb24gaWYgaW52YWxpZCBpbnB1dAoKMjAxMi0wMS0yMyAxNDowMTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgc29tZSB1bmxpa2VseSBsZWFrcwoKMjAxMi0wMS0yMyAxMzo1ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHByZXZlbnQgc29tZSBmYWxsLXRocm91Z2ggY2FzZXMKCjIwMTItMDEtMjMgMTM6NTg6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSAgbXZlOiB1c2Ugc2lnbmVkIGxvb3AgdmFyaWFibGUKCSAgLi4uIHdoZW4gdXNpbmcgaXQgaW4gaSA+PSAwLgoKMjAxMi0wMS0yMyAxMzo1NzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSAgbXZlOiBlbnN1cmUgYmVzdCB0YXJnZXQgZm91bmQKCjIwMTItMDEtMjMgMTM6NTY6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBlbmhhbmNlIHNvbWUgZXJyb3IgY2FzZSBoYW5kbGluZwoKMjAxMi0wMS0yMyAxMzo1NTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IGNoZWNrIGRpcmVjdGx5IGZvciB2YWxpZCBidWZmZXIKCSAgLi4uIHJhdGhlciB0aGFuIGRvaW5nIHNvIGluZGlyZWN0bHkgaW4gKGluY29tcGxldGUpIHNlbWFudGljIHdheS4KCjIwMTItMDEtMjMgMTM6NTQ6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZml4IHBhcmFtZXRlciBzYW5pdHkgY2hlY2sKCjIwMTItMDEtMjMgMTE6NTQ6MDggKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byB3b3JrCgoyMDEyLTAxLTIwIDE1OjM0OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBmaXggcHJlcm9sbCBvbiB0aXRsZXMgd2l0aCBubyBhdWRpbyB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDEyLTAxLTIwIDEyOjI1OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByc25kdmRzcmM6IGZpeCBsZWFrCgoyMDEyLTAxLTIwIDEyOjE1OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogZml4IHZpZGVvL2F1ZGlvIG1peHVwIGluIGVycm9yIG1lc3NhZ2UKCjIwMTItMDEtMjAgMTA6NDI6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcnNuYXVkaW9tdW5nZToga2VlcCB0aGUgb2JqZWN0IHJlZiBsb25nZXIKCSAgU2luY2Ugd2UgZG8gbm90IGdldCBhIHJlZiB0byB0aGUgcGFkLCBJJ20gbm90IGNlcnRhaW4gaXQncyBzYWZlCgkgIHRvIGRyb3AgdGhlIG9iamVjdCBhbmQgdXNlIHRoZSBwYWQgbGF0ZXIsIHNvIGhvbGQgdGhlIG9iamVjdCByZWYKCSAgdGlsbCB3ZSdyZSBkb25lIHdpdGggdGhlIHBhZC4KCjIwMTItMDEtMjEgMjA6MDg6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IG1vdmUgZnJvbSBjb250cm9sLWJpbmRpbmcgdG8gY29udHJvbC1iaW5kaW5nLWRpcmVjdAoKMjAxMi0wMS0yMiAxNjo1OTozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIFJldmVydCAiIWNvbG9yc3BhY2U6IGZpeCBvZGQgc2l6ZSBwcm9ibGVtcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMmU2ZmRjYjZiMjY1ZGIyMDFmMTkxOTUyYWVlZDQyOWU4NWU4MzRlLgoJICBVbnRlc3RlZCBjb21taXQgd2FzIGFjY2lkZW50YWxseSBwdXNoZWQuCgoyMDEyLTAxLTIyIDE2OjU4OjU5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgUmV2ZXJ0ICJjb2xvcnNwYWNlOiBGaXggb3V0LW9mLWJvdW5kIGVycm9ycyBmb3IgdjIxMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYjhiODdjYjZjMjE3YjlmMGI1MmNmYTMwNzljNGEzNmFmZDFjNDI0LgoJICBVbnRlc3RlZCBjb21taXQgd2FzIGFjY2lkZW50YWxseSBwdXNoZWQuCgoyMDEyLTAxLTIyIDE2OjU1OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVyOiBGaXggY29tcGlsYXRpb24KCSAgRml4IHVwIHByZXZpb3VzbHkgYm90Y2hlZCByZWJhc2UuCgoyMDEyLTAxLTA5IDIxOjU5OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG91dC1vZi1ib3VuZCBlcnJvcnMgZm9yIHYyMTAKCjIwMTEtMTItMzEgMTc6MTQ6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICAhY29sb3JzcGFjZTogZml4IG9kZCBzaXplIHByb2JsZW1zCgoyMDEyLTAxLTIyIDE1OjQ5OjEyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IEFkZCBjaGFubmVsIHByb3BlcnR5CgoyMDEyLTAxLTIyIDE1OjQ4OjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEhhbmRsZSAxMCBhbmQgMTYtYml0IGZvcm1hdHMKCjIwMTEtMTItMzEgMTc6MTM6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSAgYXZjOiBmaXggYnJva2VuIGxpbmUgY29udGludWF0aW9uCgoyMDExLTA4LTE4IDE5OjQ5OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIGpwZWcgY29sb3ItbWF0cml4IGNvbnZlcnNpb24KCjIwMTEtMDgtMDkgMDk6MTk6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcjogQWRkIHN1YnRpdGxlIGludGVyIGVsZW1lbnRzCgoyMDExLTA4LTA0IDEzOjA1OjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogRG9uJ3QgZXJyb3Igb24gZW1wdHkgaW5wdXQgYnVmZmVycwoKMjAxMi0wMS0yMiAxOToyNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UudmNwcm9qOgoJICBSZW1vdmUgbGVnYWN5IG1wZWd2aWRlb3BhcnNlIHBsdWdpbgoJICBUaGVyZSdzIGEgbmV3IG9uZSBpbiB0aGUgdmlkZW9wYXJzZXJzIHBsdWdpbi4KCjIwMTItMDEtMjIgMTk6MTM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rLy5naXRpZ25vcmU6CgkgIG11bHRpZmRzaW5rOiBtYWtlIGdpdCBpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDEyLTAxLTIyIDE5OjExOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogbWFrZSBsZXZlbCBhbmQgcHJvZmlsZSBmaWVsZHMgaW4gY2FwcyBzdHJpbmdzCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MzgKCjIwMTItMDEtMTggMTY6MzU6MTYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpCgkgIFRoZSBlbnRyaWVzIHdlcmUgbm90IGZpbGxlZCBpbiBsaW5lYXJseSBhbmQgdGhlIHRlcm1pbmF0aW9uIHdhcyBub3QKCSAgcmVjb3JkZWQgZWl0aGVyLiBOb3csIHRoZSBhY3R1YWwgbnVtYmVyIG9mIG1vZGlmaWNhdGlvbnMgaXMgcmVjb3JkZWQKCSAgc2ltaWxhcmx5IHRvIGRlY19yZWZfcGljX21hcmtpbmcoKS4gaS5lLiBhbiBleHBsaWNpdCBjb3VudGVyIGluc3RlYWQKCSAgb2Ygc3RvcmluZyB0aGUgdGVybWluYXRpb24gdmFsdWUgaW4gdGhlIGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MTkyCgoyMDEyLTAxLTIwIDE2OjEyOjAyICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgZm9yIGFjdHVhbGx5IHBvcnRlZCBlbGVtZW50cwoKMjAxMi0wMS0yMCAxNToyMzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvbmx5IGNoZWNrIGZvciBnc3QtcGx1Z2lucy17Z29vZCx1Z2x5LGZmbXBlZ30gaW4gdW5pbnN0YWxsZWQgc2V0dXBzCgkgIFdlIGRvbid0IGluc3RhbGwgLnBjIGZpbGVzIGZvciBwbHVnaW4gbW9kdWxlcywgYmVjYXVzZSB3ZSBvbmx5IG5lZWQKCSAgdGhlbSBpbiB1bmluc3RhbGxlZCBzZXR1cHMsIHNvIHdlIGNhbiBmaW5kIHRoZSBwbHVnaW5zIGZvciB1bml0IHRlc3RzCgkgIChldmVuIHdoZW4gcnVuIGEgY291cGxlIG9mIGRpcmVjdG9yaWVzIGRlZXBlciBvciBvdXQtb2YtdHJlZSBkdXJpbmcKCSAgbWFrZSBkaXN0Y2hlY2spLgoJICBUcnkgdG8gYXZvaWQgY29uZnVzaW9uLCBzbyBvbmx5IGNoZWNrIGZvciB0aG9zZSBpZiB0aGlzIGlzIGluIGZhY3QKCSAgYW4gdW5pbnN0YWxsZWQgc2V0dXAuIEZvciBpbnN0YWxsZWQgc2V0dXBzIHRoZXJlJ3Mgbm8gcHJvYmxlbSBmaW5kaW5nCgkgIHRoZSBwbHVnaW5zLCB3ZSBhc3N1bWUgdGhleSBhcmUgYWxsIGluIHRoZSBwbHVnaW5kaXIgc3BlY2lmaWVkIGJ5CgkgIEdTdHJlYW1lciBjb3JlJ3MgLnBjIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzMTEKCjIwMTItMDEtMjAgMTQ6NDY6MDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wgYmluZGluZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDExOjQwOjAwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sbGVyIGFwaSBjaGFuZ2VzCgkgIERvbid0IHVzZSB0aGUgY29udmVuaWVuY2UgYXBpIGZvciBjb250cm9sIHNvdXJjZXMuCgoyMDEyLTAxLTIwIDAwOjUzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSAgY2hyb21hcHJpbnQ6IG1pbm9yIGNsZWFuLXVwcwoJICBGbGVzaCBvdXQgZG9jcyBhIGJpdCwgZml4IGVsZW1lbnQgY2xhc3MuCgoyMDExLTAxLTAyIDE5OjM0OjA0ICswMDAwICBMdWvDocWhIExhbGluc2vDvSA8bGFsaW5za3lAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJICBjaHJvbWFwcmludDogaW1wb3J0IEFjb3VzdGlkIGF1ZGlvIGZpbmdlcnByaW50aW5nIHBsdWdpbgoJICBJbXBvcnRlZCBmcm9tIGh0dHBzOi8vbGF1bmNocGFkLm5ldC9nc3QtY2hyb21hcHJpbnQKCjIwMTItMDEtMTAgMDA6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGhhbmRsZSBjb3JuZXItY2FzZSBvZiBzaG9ydCByZWFkIGluIHB1bGxfYnVmZmVyIGJldHRlcgoJICBJdCdzIGV4dHJlbWVseSB1bmxpa2VseSwgYnV0IHRoZXJlIGFyZSBjb3JuZXIgY2FzZXMgd2hlcmUgYSBzaG9ydAoJICByZWFkIG1pZ2h0IGhhcHBlbiwgc28gaGFuZGxlIHRoYXQsIGp1c3QgaW4gY2FzZS4KCjIwMTItMDEtMTkgMTU6NDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtZW5jOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMS0xOSAxNToxMjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC0tZGlzYWJsZS1mYXRhbC13YXJuaW5ncyBjb25maWd1cmUgb3B0aW9uCgoyMDEyLTAxLTE5IDExOjM0OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIHBvcnQgdG8gbmV3IGd0aHJlYWQgQVBJCgoyMDEyLTAxLTE4IDE3OjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgR0lPIGNoZWNrLCB0aGlzIGlzIGluIGdzdC1nbGliMi5tNCBub3cKCjIwMTItMDEtMTggMTY6NDY6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODA3MTg3IHRvIDJhNTkwMTYKCjIwMTItMDEtMTggMTY6MzU6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IFBvcnQgdG8gR0lPIGFuZCB0aGUgbmV3IHVkcHNyYy9zaW5rIHByb3BlcnRpZXMKCjIwMTItMDEtMTggMTY6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBvcHVzIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMKCSAgSXQgbmVlZHMgdG8gYmUgdXBkYXRlZCBmb3IgdGhlIG5ldyBtdWx0aWNoYW5uZWwgQVBJLgoKMjAxMi0wMS0xOCAxNTo0ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkgIG11bHRpZmRzaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQURfQ0ZMQUdTKSBmb3IgdGhlIGkxOG4gaGVhZGVyIGZpbGUKCjIwMTItMDEtMTcgMjE6MzY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAxLTE3IDIxOjM2OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMS0xNyAxODozMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBnc21kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAxLTE3IDE4OjMyOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIGdzbWVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDEtMTcgMTM6MTI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBtdWx0aWZkc2luazogQWRkIHRvIHRoZSBkb2NzCgoyMDEyLTAxLTE2IDIyOjUyOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkgIG1wbGV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMjI6NTI6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAyMjo1MTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgaXJ0c3BwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDE3OjMwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVnc3B5OiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMTYgMTc6MDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgbXBlZ2RlbXV4OiBmaXggbWlzc2luZyBmaW5hbGl6ZSBjaGFpbmluZyB0byBwYXJlbnQKCSAgVGhpcyBjb2RlIGRvZXMgbm90IHNlZW0gdG8gdHJpZ2dlciBvbiBteSB0ZXN0IHN0cmVhbXMsIHNvIGl0J3MKCSAgYSBiaXQgb2YgYSBibGluZCBmaXgsIGJ1dCBzZWVtcyBzYWZlIGVub3VnaCB0byBwdXNoLgoKMjAxMi0wMS0xNiAxNzowMjoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiBmaXggbWlzc2luZyBmaW5hbGl6ZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLgoKMjAxMi0wMS0xNiAxNzowMToxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IGZpeCBtaXNzaW5nIGRpc3Bvc2UgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcy4KCjIwMTItMDEtMTYgMTY6NTk6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBmaXggbWlzc2luZyBkaXNwb3NlIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgZXZlbiBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgZGVwZW5kZW5jaWVzIG5lZWRlZC4KCjIwMTItMDEtMTYgMTE6Mjk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkgIG11bHRpZmRzaW5rOiBNb3ZlIG11bHRpZmRzaW5rIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSB0byBnc3QtcGx1Z2lucy1iYWQKCjIwMTItMDEtMTMgMTU6NTc6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBBbmRyb2lkLCBGaXggd3JvbmcgZGluYW1pYyBsaW5raW5nIGF0dGVtcHQKCSAgZ3N0Y29kZWNwYXJzZXJzIGlzIGJ1aWx0IGFzIGFuIHN0YXRpYyBsaWJyYXJ5LgoJICBUaGlzIGNoYW5nZSBmaXhlcyBidWlsZGluZyB3aXRoIHRoZSBBbmRyb2lkIGJ1aWxkc3lzdGVtLgoKMjAxMi0wMS0xMyAxMzozMDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBmaW5hbGl6ZSBub3QgY2FsbGluZyBiYXNlIGNsYXNzIChhbmQgbGVha2luZykKCjIwMTItMDEtMTMgMTI6NTU6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBzaWduYWwgY2hhaW4gZnVuY3Rpb25zIHRvIGV4aXQgb24gZmx1c2gtc3RhcnQKCjIwMTItMDEtMTMgMTI6MDg6MjggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuZW5jOiBmaXggYmFzZSBjbGFzcyBjYWxsIG1peHVwIGluIGZpbmFsaXplCgoyMDEyLTAxLTEzIDExOjIyOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHR5cG8gdXNpbmcgdGhlIHdyb25nIHBhZAoKMjAxMi0wMS0xMyAxMToyMjoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwb3NzaWJsZSBidWZmZXIgbGVhawoKMjAxMi0wMS0xMyAxMDozMjo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSAgbGluc3lzc2RpOiBmaXggbGVha3MKCjIwMTItMDEtMTMgMTA6MjU6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGZpeCBhZGFwdGVyIGxlYWsKCjIwMTItMDEtMTMgMDA6MTE6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDEyLTAxLTEyIDE3OjE2OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHBhZCBsZWFrcwoKMjAxMi0wMS0xMiAxNzoxMToxNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkgIHBhdGNoZGV0ZWN0OiByZW1vdmUgKGxlYWtpbmcpIGRlYWQgY29kZQoKMjAxMi0wMS0xMiAxNjo0NTozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IHJlbW92ZSAobGVha2luZykgZGVhZCBjb2RlCgoyMDEyLTAxLTEyIDE2OjM2OjE5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IGJhbGFuY2UgZW5jb2RlciBhbmQgdmlkZW8gZm9ybWF0IGFsbG9jL2RlYWxsb2MKCSAgVGhleSB3b3VsZCBsZWFrIGlmIGp1c3QgY29uc3RydWN0aW5nIGFuZCBmcmVlaW5nIGFuIG9iamVjdCwKCSAgYW5kIHByb2JhYmx5IGNyYXNoIGlmIGdvaW5nIGZyb20gUExBWUlORyB0byBSRUFEWSBhbmQgYmFjawoJICBhZ2FpbiAodGhvdWdoIEkgaGF2ZW4ndCB0ZXN0ZWQgdGhhdCkuCgoyMDEyLTAxLTEyIDE1OjU4OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBxdWV1ZSBsZWFrCgoyMDEyLTAxLTEyIDE1OjQzOjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgIGRjY3BjbGllbnRzaW5rOiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMTIgMTU6MTk6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBmaXggZXZlbnQgbGVhawoKMjAxMi0wMS0xMiAxNDozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IGZpeCBtZW1vcnkgbGVhawoKMjAxMi0wMS0xMiAxMDoyNjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGFsc28gaW5kaWNhdGUgbW9ubyBhdWRpbyBpbiBzaW5rIGNhcHMKCjIwMTItMDEtMTIgMTA6MjU6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhbHNvIGluZGljYXRlIG1vbm8gYXVkaW8gaW4gc2luayBjYXBzCgoyMDEyLTAxLTExIDE4OjI0OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IGZpeCB0YWcgbGVhawoKMjAxMi0wMS0xMSAxODoxMjoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiB0YWtlIG91dCB1bnVzZWQgbGVha2luZyBidWZmZXIKCjIwMTItMDEtMTEgMTg6Mzc6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMSAxNjozNDozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTExIDE2OjMyOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBzbGlzdCBsZWFrCgoyMDEyLTAxLTExIDEzOjMyOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdHM6IGZpeCBidWZmZXIgbGVha3MgaW4gb3B1cyB0ZXN0cwoKMjAxMi0wMS0xMSAxMjo1ODowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBzb21lIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVyIG1hcCBhbmQgcmVmIGhhbmRsaW5nCgoyMDEyLTAxLTExIDEyOjU3OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYmFzZSBjbGFzcyBhdWRpbyBpbmZvIGlzIG5vdCB5ZXQgc2V0IGR1cmluZyBzZXRfZm9ybWF0CgkgIC4uLiBzaW5jZSBpdCB3aWxsIG9ubHkgYmUgY29tbWl0dGVkIGFmdGVyIGl0IGhhcyBiZWVuIGFjY2VwdGVkIGJ5IHN1YmNsYXNzLgoJICBJbiBwYXJ0aWN1bGFyLCBzdWJjbGFzcyBzaG91bGQgbm90IHJlbHkgb24gaXQgZHVyaW5nIGl0cyBzZXR1cC4KCjIwMTItMDEtMTEgMTI6NTU6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBzcHJpbmtsZSBzb21lIG1vcmUgbGF5b3V0IGluZm8gaW4gY2FwcwoKMjAxMi0wMS0xMSAxMjozOTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IGZpeCBhdWRpbyBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMi0wMS0xMSAxMjoyNDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTExIDEwOjUwOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVW5zZXQgdGhlIFVOUE9TSVRJT05FRCBmbGFnIGlmIHdlIGhhdmUgdmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCjIwMTItMDEtMTAgMTc6Mjc6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMCAxNjo1OToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogUG9ydCB0byAwLjExCgoyMDEyLTAxLTEwIDE1OjUwOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jCgoyMDEyLTAxLTEwIDEzOjM4OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHNsaXN0IGxlYWsKCjIwMTItMDEtMTAgMTM6Mzg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEwIDEzOjI1OjA1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IGNhcHMgbGVha3MKCjIwMTItMDEtMTAgMTM6MjQ6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggcmVmIGxlYWsKCjIwMTItMDEtMTAgMTE6NDE6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcHJvdmlkZSBib2d1cyB2YWx1ZXMgaW4gbm9uLVRJTUUgcHVzaC1tb2RlCgkgIE9ubHkgdGFrZSB0aGUgdXBzdHJlYW0gc2VnbWVudCB2YWx1ZXMgaW4gR1NUX0ZPUk1BVF9USU1FCgoyMDEyLTAxLTEwIDExOjM3OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEhhbmRsZSByb2xsb3ZlciBpbiBQVFMgYW5kIERUUwoJICBBbHNvIGhhbmRzIGJhY2stcm9sbG92ZXIgd2hpY2ggY2FuIGhhcHBlbiB3aXRoIFBUUwoKMjAxMi0wMS0wNCAxMTowNTo0OCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHVzZSBpc19hbHRfZGF0YSBvcHRpb24gdG8gcHJldmVudCB0aW1lc3RhbXAgY29sbGlzaW9ucwoJICBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyB1c3VhbGx5IHN0b3JlZCBpbiBjb250YWluZXIgd2l0aCBzYW1lIHRpbWVzdGFtcCBhcwoJICBkZXBlbmRldCBmcmFtZS4gVGhpcyBtYWtlIGJhc2V2aWRlb2RlY29kZXIgdG8gdXBkYXRlIHRpbWVzdGFtcCBmb3IgZGVwZW5kZXQKCSAgZnJhbWUgYW5kIGNvdXNlIFRTIGNvbGlzaW9uIG9uIG5leHQgZnJhbWU6CgkgIF4tIGhlcmUgaXMgYWx0cmVmCgkgIHRpbWUgICAgIDogMSAyIDMgNCA1IDYgNyA4IDkKCSAgd2VibSB0cyAgOiAxICAgMyA1IDUgICA3ICAgOQoJICB2cDhkZWMgdHM6IDEgICAzICAgNyAgIDcgICA5CgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA0IDExOjA5OjIzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgb3B0aW9uIHRvIGhhbmRlIGFsdCBmcmFtZSBkYXRhCgkgIGFsdHJlZi9pbnZpc2libGUgJ2ZyYW1lJyBkbyBub3QgZGVzY3JpYmUgc29tZSBmcmFtZSBkaXJlY3RseSwgc28gaXQgY2FuJ3QgYmUKCSAgZGlzcGxheWVkIGFuZCB0aW1lc3RhbXBzIHNob3VsZCBub3QgYmUgdXBkYXRlZC4KCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDkgMTQ6NTY6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBmaXggcGFyc2luZyB3aGVuIHJlY3Vyc2l2ZWx5IHNraXBwaW5nIHVzZXIgZGF0YQoKMjAxMi0wMS0wOSAxNDo1OTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IE1ha2Ugc3VyZSB0aGF0IHRoZSBzcmNwYWQgaGFzIGNhcHMgYmVmb3JlIGZpbmlzaGluZyBhY3R1YWwgYXVkaW8gZGF0YQoKMjAxMi0wMS0wOSAxNDozOTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IHVwZGF0ZSBjYXBzIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAxMi0wMS0wOSAxNDoyODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IGNhbGwgZ3N0X2J1ZmZlcl9tZW1jbXAoKSB3aXRoIGEgTlVMTCBidWZmZXIKCjIwMTItMDEtMDkgMTE6MDM6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgdGhlIGZyYW1lcmF0ZSB0aGF0IHdhcyBjb3BpZWQgYSBmZXcgbGluZXMgYWJvdmUKCjIwMTItMDEtMDkgMTA6NTg6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogYWRkIGEgY291cGxlIGNvbnN0cyBvbiBzdHJpbmcgbGl0ZXJhbCBhcnJheXMKCjIwMTItMDEtMDkgMDg6NDA6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBHc3RCYXNlQ2FtZXJhU3JjIGlzIHRoZSBiYXNlIGNsYXNzLCBub3QgR3N0QmluCgoyMDEyLTAxLTA5IDA4OjM0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB2b2FtcndiZW5jLCBsdjIgYW5kIHRlbGV4dGRlYyBhcmUgbm90IHBvcnRlZCB5ZXQKCjIwMTEtMTItMTkgMTE6MjQ6MzEgLTA1MDAgIERhdmlkIEJpb21lY2gzNjAgPGRkZXMzMTBAeWFob28uY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBhZGRlZCBzdXBwb3J0IGZvciBhIHZpc3VhbCBtYWduaWZpZXIgY29sb3IgZmlsdGVyIHRvIGJlIHVzZWQgaW4gZ25vbWUtdmlkZW8tZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NTQyCgoyMDEyLTAxLTA2IDEwOjUyOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHRlc3QgYW5kIHNldCBub3QgdXNpbmcgdGhlIHNhbWUgaW5wdXQKCSAgVGhpcyBmaXhlcyBILjI2NCBvdXRwdXQgbm90IGhhdmluZyBhIHNldCBmcmFtZXJhdGUsIGFuZAoJICBjb25mdXNpbmcgc29tZSBvZiB0aGUgZWxlbWVudHMgZG93bnN0cmVhbSAoc3VjaCBhcyBpbnRlcmxhY2UpLgoKMjAxMi0wMS0wNiAxMDozOTowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGF2b2lkIGRpdmlkaW5nIGJ5IHplcm8gb24gdW5rYm93biBmcmFtZXJhdGUKCSAgSWYgdGhlIGZyYW1lcmF0ZSBpcyB1bmtub3duLCB3ZSBjYW5ub3QgZ2VuZXJhdGUgbWVhbmluZ2Z1bAoJICBidWZmZXIgdGltZXN0YW1wcy9kdXJhdGlvbnMsIHNvIHNldCB0aGVtIHRvIF9OT05FIGluc3RlYWQgb2YKCSAgY2FsY3VsYXRpbmcgc29tZXRoaW5nIHdyb25nIGFuZCBkaXZpZGluZyBieSAwLgoKMjAxMi0wMS0wMiAwODoyODoxMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogYWRkIGluaXRpYWwgcHJlc2V0IGZpbGUKCSAgVGhpcyBpcyBpbml0aWFsIHByZXNldCBmaWxlLCBjdXJyZW50bHkgd2l0aCBvbmx5IG9uZSBwcm9maWxlCgkgIGZvciByZWFsdGltZSBlbmNvZGluZy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA1IDE0OjMwOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGxpbmsgYWdhaW5zdCB2aWRlbyBsaWJyYXJ5CgoyMDExLTEyLTA4IDEyOjE1OjM5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlbW92ZSBoMjYzIGdvYiBwYXJzaW5nLCBzaW5jZSB0aGVyZSBpcyBubyBnb2IgaW1tZWRpYXRlIGFmdGVyIHN2aAoKMjAxMS0xMi0wOCAxMjoxMzozOCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBhZGQgbWlzc2luZyB6ZXJvX2JpdHMgaW4gaDI2MyBwYXJzaW5nCgoyMDExLTEyLTA4IDEyOjEyOjIxICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGluY2x1ZGVzIHN0YXJ0X21hcmtlciBpbiBoMjYzIGhlYWRlciBmb3IgcGFyc2luZwoKMjAxMS0xMi0wOCAxMjowNzo0MiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggb2Zmc2V0IGlzc3VlIGluIGgyNjMgcGFyc2UKCjIwMTEtMTItMDggMTE6Mjc6NTYgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IG1hc2sgcGF0dGVybiBmb3IgaDI2MyBzdGFydCBtYXJrZXIKCjIwMTItMDEtMDUgMTE6MDE6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICB0ZXN0czogdGVzdCBmb3IgR1RLIDIuMjQgZm9yIG5ldyBzeW1ib2xzIHVzZWQgaW4gY2FtZXJhYmluMiB0ZXN0cwoJICBUaGUgd2hvbGUgdHJlZSBpcyBsaWtlbHkgdG8gc3dpdGNoIHRvIEdUSyAzLjAgYXQgc29tZSBwb2ludCwgYnV0CgkgIHdlIG1pZ2h0IGFzIHdlbGwgY29udGludWUgYnVpbGRpbmcgd2l0aCBzbGlnaHRseSBsZXNzIG5ldyB2ZXJzaW9ucwoJICBpZiBpdCdzIG5vdCBoYXJkIHRvIGRvLgoKMjAxMi0wMS0wNSAxMDozODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IFRoZSBtdWx0aWNoYW5uZWwuaCBoZWFkZXIgaXMgZ29uZSBub3cKCjIwMTItMDEtMDUgMTA6MjM6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAwOTo1MjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogUG9ydCB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDA5OjM0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBVcGRhdGUgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNjoxMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTk6NTI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNTQ2ZTU4IHRvIDA4MDcxODcKCjIwMTItMDEtMDQgMTg6NDI6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiByZW1vdmUgdGVtcG9yYXJ5IGZpbGVzIHdoZW4gZG9uZSBpbiBjYW1lcmFiaW4sIGNhbWVyYWJpbjIgYW5kIGppZm11eCB0ZXN0cwoKMjAxMi0wMS0wNCAxMToyODozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogcG9ydCBzb21lIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMi0wMS0wNCAxMDo1Njo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGZpeCBhbmQgdHdlYWsgZnJhbWUgdGltZXN0YW1waW5nCgkgIC4uLiB0byBydW4gd2l0aCBwcm9wZXJseSBpbml0J2VkIHZhcmlhYmxlcywgYW5kIHRvIG9ubHkgcGVyZm9ybSBpbnRlcnBvbGF0aW9uCgkgIGluIHNhZmUgY2FzZXMuCgoyMDEyLTAxLTA0IDEwOjAyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMyAyMjowOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByZWZlciBuZWdvdGlhdGluZyBwYXNzLXRocm91Z2gKCjIwMTItMDEtMDMgMjE6NTk6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtYXJrIGJ5dGUtc3RyZWFtIEFVIGZyYW1lIHdpdGggaW5zZXJ0ZWQgY29kZWMgTkFMcyBhcyBrZXlmcmFtZQoKMjAxMi0wMS0wMyAyMDoyMzoxNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByb3Blcmx5IGRldGVybWluZSBza2lwIGFtb3VudCB3aGVuIG5vIE5BTCBzdGFydCBmb3VuZCB5ZXQKCjIwMTItMDEtMDMgMjA6MjE6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzb21lIG1vcmUgcHJvcGVyIHBhcnNlIHN0YXRlIHJlc2V0CgoyMDEyLTAxLTAzIDE1OjI2OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAyIDE1OjU1OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZW5jb2RpbmcgcHJvZmlsZXMgYXJlIG9iamVjdHMgaW4gMC4xMQoKMjAxMi0wMS0wMiAxNTo1MjoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQKCjIwMTEtMTItMzEgMDk6NTU6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gQVBJIGNoYW5nZXMKCjIwMTEtMTItMzAgMTk6MDg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVwZGF0ZSBmb3IgZ2RwIGRhdGFwcm90b2NvbCBsaWJyYXJ5IHJlbW92YWwKCjIwMTEtMTItMzAgMTg6MTg6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogU3dhbGxvdyBpbmNvbWluZyBjYXBzIGV2ZW50CgkgIE90aGVyd2lzZSB3ZSBlbmQgdXAgYXNraW5nIHN1YmNsYXNzZXMgdG8gcHVzaCB0aGUgZXZlbnQgZm9yd2FyZCwKCSAgd2hpY2ggd2lsbCBmYWlsIHNpbmNlIG5vIHBhZHMgYXJlIGNyZWF0ZWQgeWV0LgoKMjAxMS0xMi0zMCAxODoxNzoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm9wZXJseSBjYXJyeSBvdmVyIHRoZSB0aW1lc3RhbXAKCjIwMTEtMTEtMDggMjA6MTk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogVXNlIGluY29taW5nIHRpbWVzdGFtcHMgaW4gbGl2ZSBtb2RlCgoyMDExLTExLTA4IDIwOjEyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlcG9ydCBsYXRlbmN5ICg3MDBtcykKCjIwMTEtMTEtMDggMDk6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogUXVlcnkgd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlIG9yIG5vdAoKMjAxMS0xMi0wNiAxNzozNzo0NSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZ3MgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Njc3CgoyMDExLTEyLTMwIDExOjQ5OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW0KCjIwMTEtMTItMzAgMTE6NDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExLXByZW1lcmdlCgkgIENvbmZsaWN0czoKCSAgZG9jcy9saWJzL01ha2VmaWxlLmFtCgkgIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQveHZpZC9nc3R4dmlkZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW0KCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmMKCSAgZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jCgkgIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYwoJICBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoJICBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTEyLTMwIDAwOjAyOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IFJlc2V0IHNob3VsZCByZXNldCBjdXJyZW50IGNhcHMKCSAgTmV3IGNhcHMgd2lsbCBuZWVkIHRvIGJlIG5lZ290aWF0ZWQgd2hlbiByZXNldCBoYXBwZW5zCgkgIChQQVVTRUQgdG8gUkVBRFkpLiBXaXRob3V0IHJlc2V0aW5nIHRoZSBpbnRlcm5hbAoJICBzdG9yZWQgZm9ybWF0LCBiYXNldmlkZW9lbmNvZGVyL2RlY29kZXIgd291bGRuJ3QgY2FsbCB0aGUKCSAgY29uZmlndXJhdGlvbiBmdW5jdGlvbiB3aGVuIHRoZSBzYW1lIGNhcHMgd2FzIG5lZ290aWF0ZWQKCSAgYWdhaW4gYXMgdGhleSB3b3VsZCBiZWxpZXZlIHRoaXMgd2FzIHRoZSBzYW1lIGNhcHMgYXMgYmVmb3JlLgoJICBUaGUgaXNzdWUgaXMgdGhhdCBfc3RvcCBoYXMgYmVlbiBjYWxsZWQgd2hlbiBnb2luZyB0byBSRUFEWSBhbmQKCSAgdGhlIGVsZW1lbnRzIHdvdWxkIGhhdmUgcmVzZXQgdGhlaXIgaW50ZXJuYWwgY29kZWMgbGlicy9zdGF0ZSBhcwoJICB3ZWxsLiBBIG5ldyBjb25maWd1cmF0aW9uIHNob3VsZCBiZSBkb25lLgoKMjAxMS0xMi0zMCAwMDowMjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBjbGFyaWZ5IHNvbWUgbWVzc2FnZSBsb2dzCgkgIEJlIGV4cGxpY2l0IG9uIHdoaWNoIGVuY29kZWJpbiB3ZSdyZSBzd2l0Y2hpbmcgcHJvZmlsZXMgb24gdGhlCgkgIGxvZyBtZXNzYWdlcwoKMjAxMS0xMi0yOSAxMzozMDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgZm9yIGZvcm1hdCBjaGFuZ2luZwoJICBDaGVjayB0aGF0IHRoZSBmb3JtYXQgY291bGQgYmUgaW5pdGlhbGl6ZWQgYW5kIHNob3dzIGEgbW9kYWwgZGlhbG9nCgkgIGluIGNhc2UgaXQgY291bGRuJ3QuCgoyMDExLTEyLTI5IDEyOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBmb3JtYXQgc2VsZWN0aW9uIGZvciBjYW1lcmFiaW4yIGV4YW1wbGUKCSAgQWRkcyBhIGNvbWJvYm94IGZvciBzZWxlY3RpbmcgdGhlIHZpZGVvIHByb2ZpbGUgZm9yIHJlY29yZGluZ3MuCgkgIFVzZWZ1bCBmb3IgdGVzdGluZyBtdWx0aXBsZSBmb3JtYXRzIGEvdiBzeW5jIHdoZW4gcmVjb3JkaW5nLgoKMjAxMS0xMi0yOCAxNjo1OToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZW1vdmUgY29tbWVudCBmb3IgYWxyZWFkeSBmaXhlZCBpc3N1ZXMgb24gbWFrZWZpbGUKCSAgU29tZSBpc3N1ZXMgb24gY2FtZXJhYmluMiBhbmQgamlmbXV4IHRlc3RzIHdlcmUgZml4ZWQgc29tZQoJICB0aW1lIGFnbywgcmVtb3ZlIHRoZSBjb21tZW50cyBhYm91dCB0aGVtCgoyMDExLTEyLTI4IDE2OjU3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggbWVzc2FnZSBsZWFrIGluIHRlc3RzCgoyMDExLTEyLTI3IDExOjU5OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGZpeCBndmFsdWUgbGVhawoKMjAxMS0xMi0yNyAxMDoyMzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogZml4IG1haW5sb29wIGxlYWtzCgoyMDExLTEyLTI3IDEwOjIwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHNlY3VyZSBldmVudCByZWYgd2hlbiBzZW5kaW5nIGV2ZW50IHRvIHBhcmVudCBjbGFzcwoJICBjYW1lcmFiaW4yIG5lZWRzIHRvIGhvbGQgYW4gZXh0cmEgcmVmIG9uIHNlbmRfZXZlbnQgYmVmb3JlIHNlbmRpbmcKCSAgaXQgdG8gdGhlIHBhcmVudCBjbGFzcyBhcyBpdCB3aWxsIG5lZWQgdG8gdXNlIGl0IGFmdGVyIHRoZSBwYXJlbnQKCSAgaGFuZGxlcyBpdC4KCjIwMTEtMTItMjQgMTQ6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0xMi0yMyAxNjozMzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMi0yMyAwOTozMDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHN0YW5kYXJkaXplIHNvbWUgZmllbGQgZGF0YSB0eXBlcwoJICBGaXhlcyAjNjY2NzUwLgoKMjAxMS0xMi0yMiAxNToxOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHJlbW92ZSByZWR1bmRhbnQgZnVuY3Rpb25zCgkgIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSBzaG91bGQgYmUgZW5vdWdoIGZvciBhcHBsaWNhdGlvbnMuCgkgIEhhdmVuJ3Qgc2VlbiBhbnlvbmUgdXNpbmcgdGhvc2Ugb3RoZXIgdGhhbiB3cmFwcGVyY2FtZXJhYmluc3JjLgoKMjAxMS0xMi0yMiAxNTowMTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgaGVscGVyIGZ1bmN0aW9uCgkgIFRoaXMgZHJvcF9lb3NfcHJvYmUgZnVuY3Rpb24gaXMgbm90IHVzZWQgYW55bW9yZSwgcmVtb3ZlIGl0CgoyMDExLTEyLTIyIDE3OjE1OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVjcmVhdGUgZW5jb2RlciBhZnRlciBmbHVzaGluZwoJICAuLi4gc2luY2UgaXQgYXBwZWFycyB0aGUgZXhpc3Rpbmcgb25lIGNhbid0IGJlIGJvdGhlcmVkIGFueW1vcmUgdG8gcHJvZHVjZQoJICBzb21lIG91dHB1dC4KCjIwMTEtMTItMjIgMTc6MTQ6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWZhY3RvciBlbmNvZGVyIGxpYnJhcnkgc2V0dXAKCjIwMTEtMTItMjIgMTc6MTA6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBubyBuZWVkIHRvIGR1cGxpY2F0ZSBiYXNlY2xhc3Mgc2FuaXR5IGNoZWNrcwoKMjAxMS0xMi0yMiAxNzowOTozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IG5vIG5lZWQgdG8gZHVwbGljYXRlIGJhc2VjbGFzcyBzYW5pdHkgY2hlY2tzCgoyMDExLTEyLTIxIDIzOjUxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgY2hhbmdlcwoKMjAxMS0xMi0yMSAxMTozMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgdGVzdHM6IGF2b2lkIHVzZWxlc3MgaW5jbHVkZQoKMjAxMS0xMi0xOSAxNjo0OTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEZpeCBBL1Ygc3luYyBmb3IgY2FwdHVyZXMKCSAgQXVkaW8gc3JjIHdhcyBwdXNoaW5nIG5ld3NlZ21lbnRzIHN0YXJ0aW5nIGZyb20gMCwgZXZlbiB3aGVuIGl0cyBidWZmZXJzCgkgIHdlcmUgbm90IHN0YXJ0aW5nIHdpdGggMCBhcyB0aGVpciB0aW1lc3RhbXBzLiBBZGQgYSBidWZmZXIgcHJvYmUgdGhhdAoJICBjaGVja3MgdGhlIHRzIG9mIHRoZSBmaXJzdCBidWZmZXIgYW5kIHVzZXMgdGhhdCB0byBwdXNoIGEgbmV3c2VnbWVudCwKCSAganVzdCBsaWtlIHdlIGRvIGZvciB2aWRlbyBvbiB3cmFwcGVyY2FtZXJhYmluc3JjLgoKMjAxMS0xMi0xOSAxNToxNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBlbmFibGUgdGVzdHMKCSAgVGVzdHMgYXJlIHBhc3Npbmcgbm93LCBlbmFibGUgdGhlbQoKMjAxMS0xMi0xOSAxNToxNjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXNoIG5ld3NlZ21lbnRzIG9uIHZpZGVvIGNhcHR1cmUgc3RhcnQKCSAgUHVzaGluZyBuZXdzZWdtZW50cyB0byBpbmZvcm0gbXV4ZXJzIGFib3V0IHRoZSBzdGFydCB0aW1lIG9mIHRoZQoJICB2aWRlbyBidWZmZXIgdGltZXN0YW1wcy4KCjIwMTEtMTItMjAgMTQ6MDQ6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xlYXIgc2VpIG1lc3NhZ2UgcHJpb3IgdG8gcGFyc2luZwoJICBGaXhlcyAjNjY2NTg0LgoKMjAxMS0xMi0xOSAyMzo1MToxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgaW50ZXJwb2xhdGlvbi1tb2RlIGFwaQoKMjAxMS0xMi0xOSAyMjo1NDo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBhcGkKCjIwMTEtMTItMTkgMTg6NDQ6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG06IHVwZGF0ZSBmb3IgbmV3IGludGVybGFjZSBjYXBzCgoyMDExLTEyLTE5IDEzOjE4OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgd2FybiB3aGVuIHdlIHNlZSBhIFBJRCB3aXRoIHVua25vd24gdHlwZQoJICBUaGlzIGlzIHF1aXRlIGZyZXF1ZW50LCBhbmQgd2Ugd2lsbCBqdXN0IGlnbm9yZSB0aGF0IHN0cmVhbSwKCSAgc28gYW4gZXJyb3IgaXMgbm90IHdhcnJhbnRlZC4KCjIwMTEtMTItMTkgMTI6MzI6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhdm9pZCBwdXNoaW5nIFNQUy9QUFMgYXQgc3RhcnQgb25seSBpZiBib3RoIGFyZSBmb3VuZCBpbiBzdHJlYW0KCSAgQXZvaWQgaW5qZWN0aW5nIFNQUy9QUFMgbmFscyBvbmx5IGlmIGJvdGggYXJlIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgc3RyZWFtLgoJICBGaXhlcyBzb21lIEFWQyBjbGlwcyB0aGF0IGhhcHBlbiB0byBoYXZlIG9ubHkgUFBTIG5hbHMgaW4gc3RyZWFtLgoKMjAxMS0xMi0xOCAxODozNzowOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMKCjIwMTEtMTItMTggMTc6NDA6NTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyB3YWl0IGZvciBhIGtleWZyYW1lIHdoZW4gaGFuZGxpbmcgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIEFsdGhvdWdoIHNvbWUgZGVjb2RlcnMgY2FuIHN0YXJ0IGRlY29kaW5nIHdpdGgganVzdCBQUFMgYW5kIFNQUyBhbmQgd2FpdGluZyBmb3IKCSAgYSBrZXlmcmFtZSBpcyBiYWQgd2hlbiB0aGUga2V5ZnJhbWUgaW50ZXJ2YWwgaXMgbGFyZ2UsIGdzdC1mZm1wZWcgZG9lcyBuZWVkIGEKCSAga2V5ZnJhbWUgdG8gc3RhcnQgZGVjb2RpbmcuCgoyMDExLTEyLTE4IDE3OjMyOjExICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdW5zZXQgdGhlIGN1cnJlbnQgUENSIHN0cmVhbSB3aGVuIHN0YXJ0aW5nIGEgbmV3IHVuaXQKCSAgVW5zZXQgdGhlIGN1cnJlbnQgUENSIHN0cmVhbSB3aGVuIHN0YXJ0aW5nIGEgbmV3IHVuaXQgc28gdGhhdCBhZnRlcndhcmRzIGEgbmV3CgkgIHN0cmVhbSBpcyBzZWxlY3RlZCBhcyBQQ1IgYW5kIFBBVCBhbmQgUE1UIHRhYmxlcyBhcmUgcmVnZW5lcmF0ZWQuCgoyMDExLTEyLTE4IDE3OjMxOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGtleSB1bml0IGV2ZW50IGhhbmRsaW5nIHdoZW4gbXV4aW5nIGJvdGggYXVkaW8gYW5kIHZpZGVvCgkgIFRha2Ugb25seSB2aWRlbyBidWZmZXJzIGludG8gYWNjb3VudCB3aGVuIGRlY2lkaW5nIHdoZW4gdG8gY3V0IHNvIHRoYXQgbmV3IHVuaXRzCgkgIHN0YXJ0IHdpdGggYSB2aWRlbyBrZXlmcmFtZS4KCjIwMTEtMTItMTUgMTg6MTQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGV0aWdlcjogZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXIKCjIwMTEtMTItMTUgMTY6NDI6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogZml4IGJhZCBtZXJnZSAoc3RyYXkgdW5tYXAsIHVuZGVjbGFyZWQgdmFyKQoKMjAxMS0xMi0xNSAxMToxMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBqaWZtdXg6IHJlLWVuYWJsZSBqaWZtdXgncyB0ZXN0cwoJICBGaXggZm9yIGl0cyB0ZXN0IGlzIG5vdyBhdmFpbGFibGUgb24gLWJhc2UgbW9kdWxlLgoJICBFbmFibGluZyBhZ2Fpbi4KCjIwMTEtMTItMTUgMTM6NDc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTM6Mzk6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBPbmx5IHRlc3RlZCB3aXRoIGF1ZGlvLCBJIGNhbid0IGdldCBpdCB0byBhY2NlcHQgdmlkZW8gKGJlZm9yZQoJICB0aGUgcG9ydCkuCgoyMDExLTEyLTE1IDEzOjIyOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgSSAqdGhpbmsqIHRoZSBzdHJlYW0gbG9jayB1c2UgaXMgY29ycmVjdCwgbm90IDEwMCUgc3VyZS4KCjIwMTEtMTItMTUgMTM6MDg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMzowNDo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSAgZnJlaTByOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBVbnRlc3RlZCwgbm8gc2FtcGxlIHBpcGVsaW5lIG1lbnRpb25lZCwgYW5kIEkndmUgbm8gaWRlYSB3aGF0CgkgIHRoaXMgcGx1Z2luIGRvZXMsIGJ1dCBzaW5jZSBhbGwgdGhlIHByZXZpb3VzIHBvcnRzIHdvcmsgb3V0IG9mCgkgIHRoZSBib3gsIHRoaXMgaXMgZGVlbWVkIHRvIHdvcmsgdW50aWwgZXZpZGVuY2UgaXQgZG9lc24ndC4KCjIwMTEtMTItMTUgMTM6MDI6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkgIGNvbXBhcmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEyOjU5OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJICBhc2ZtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE3OjM2OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogYXZvaWQgY3Jhc2hpbmcgdXBvbiBkcmFpbmluZwoJICAuLi4gYW5kIGNsZWFuIHVwIHNvbWUgdmFyaWFibGUgaW5pdCBhbmQgZGVidWcgc3RhdGVtZW50LgoKMjAxMS0xMi0xNCAwODo1NDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMTItMTQgMDg6MzI6NTAgLTAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZml4IGxlYWsgb24gZXJyb3IgaGFuZGxpbmcKCSAgQ2FtZXJhYmluMiBwYXJzZXMgd2FybmluZyBtZXNzYWdlcyB3aXRoIGdzdF9tZXNzYWdlX3BhcnNlX3dhcm5pbmcobWVzc2FnZSwKCSAgJmVyciwgJmRlYnVnKSBidXQgZG9lc24ndCBmcmVlIGdpdmVuIEdFcnJvciBhbmQgZGVidWcgc3RyaW5ncy4KCSAgRG9jdW1lbnRhdGlvbiBzaG93cyB0aGF0IHRoZSBvd25lcnNoaXAgb2YgdGhvc2UgZmllbGRzIGlzIHRyYW5zZmVycmVkCgkgIHRvIGNhbGxlciAodGhleSBhcmUgbWFya2VkICJbdHJhbnNmZXIgZnVsbF0iIGluIHRoZSBBUEkgZG9jcykuCgoyMDExLTEyLTEyIDE1OjUyOjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMKCSAgRml4IGJ1ZyAjNjY1OTg4CgoyMDExLTEyLTEzIDEwOjQ0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNjI5NzhkMDQ1ZDU3ZWU5ZmVkNzU5OGMwMmI5MDE3ZWI5NzRlYTM2LgoKMjAxMS0xMi0xMyAxMDoxNzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IERvbid0IHVzZSBHX1RZUEVfUkVHSVNURVJfQk9YRUQoKSB5ZXQKCSAgVGhpcyB3b3VsZCByZXF1aXJlIEdMaWIgMi4yNi4KCjIwMTEtMTItMTIgMjA6MDE6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBhZHZlcnRpc2UgYWxsIHRoZSBuZXcgWVVWIGZvcm1hdHMgd2UgY2FuIG5vdyB1c2UKCjIwMTEtMTItMTIgMTk6MzQ6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogcmVwbGFjZSB0aGUgbmV3IFlVViBibGl0dGluZyBjb2RlIHdpdGggdGhlIG5ld2VyIG92ZXJsYXkgY29kZQoKMjAxMS0xMi0xMiAxNDo1NDowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzCgoyMDExLTEyLTEyIDEzOjU5OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTEyLTA1IDE4OjU3OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IE1ha2UgZnJhbWVzdGF0ZSBhIHJlZmVyZW5jZSBjb3VudGVkIGJveGVkIG9iamVjdAoJICAuLi5hbmQgYWxzbyBjbGVhciBhbGwgZXhpc3RpbmcgZnJhbWVzIHdoZW4gcmVzZXR0aW5nIHRoZSBkZWNvZGVyIG9yIGVuY29kZXIuCgoyMDExLTEyLTA1IDE4OjU3OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IE1ha2UgR3N0VmlkZW9GcmFtZSBhIHJlZmVyZW5jZSBjb3VudGVkIGJveGVkIG9iamVjdAoJICAuLi5hbmQgYWxzbyBjbGVhciBhbGwgZXhpc3RpbmcgZnJhbWVzIHdoZW4gcmVzZXR0aW5nIHRoZSBkZWNvZGVyIG9yIGVuY29kZXIuCgoyMDExLTEyLTEyIDEwOjQwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgdGVsZXRleHRkZWM6IFByb3Blcmx5IGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTEtMTItMTIgMTA6Mjg6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgZHRzOiBBZGQgJChHU1RfQkFTRV9MSUJTKSBhbmQgQ0ZMQUdTIHRvIHRoZSBidWlsZAoJICBkdHNkZWMgbm93IHVzZXMgR3N0QWRhcHRlciwgd2hpY2ggaXMgaW4gbGliZ3N0YmFzZS4gQWxzbyByZW9yZGVyCgkgIENGTEFHUyBhbmQgTElCQURELgoKMjAxMS0xMi0xMSAxNjowNzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBtYWtlIGRpc3RjaGVjawoJICBTZXQgRE9DX09WRVJSSURFUywgc28gdGhlIC1vdmVycmlkZXMudHh0IGZpbGUgd2hpY2ggaXMgYXBwYXJlbnRseQoJICBjcmVhdGVkIGFueXdheSwgZ2V0cyBjbGVhbmVkIHVwIHByb3Blcmx5LgoKMjAxMS0xMi0xMSAxNjowNTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IG1pbm9yIE1ha2VmaWxlLmFtIGNsZWFuLXVwCgkgIEdTVF9CQURfQ0ZMQUdTIGFuZCBHU1RfQkFEX0xJQlMgZG9uJ3QgZXhpc3QuCgoyMDExLTEyLTExIDE1OjI5OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIGppZm11eCwgY2FtZXJhYmluMiwgYW5kIGNvbG9yc3BhY2UgdGVzdHMKCSAgamlmbXV4OiBnZW5lcmFsOnRlc3RfamlmbXV4X3RhZ3M6MDogQXNzZXJ0aW9uICdlbnRyeS0+Y29tcG9uZW50cyA9PSAyJyBmYWlsZWQKCSAgY2FtZXJhYmluMjogdGVzdF9tdWx0aXBsZV92aWRlb19yZWNvcmRpbmdzOjA6IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmU6IGFzc2VydGlvbiBgR1NUX0lTX0NBUFMgKGNhcHMpCgkgIGNvbG9yc3BhY2U6IGJhZCBtZW1vcnkgYWNjZXNzZXMgaW4gb3JjIGNvZGUgZm9yIG9kZCB3aWR0aCBidWZmZXJzIChzZWUgYnVnICM2NjMyNDgpCgoyMDExLTEyLTExIDE1OjAzOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGZpeCBnX3VzbGVlcCgpIGluIGNhbWVyYWJpbjIgdGVzdAoJICBnX3VzbGVlcCgpIHRha2VzIGEgbWljcm9zZWNvbmQgdmFsdWUsIEdTVF9TRUNPTkQgaXMgbmFub3NlY29uZHMsIHNvCgkgIHdlIHdlcmUgc2xlZXBpbmcgZm9yIG1vcmUgdGhhbiAzIG1pbnV0ZXMgaGVyZSBpbnN0ZWFkIG9mIDIwMG1zLgoKMjAxMS0xMi0xMSAwMDo1OToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2dsLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDktMjUgMjM6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcHV0IHN0cmVhbSBoZWFkZXJzIGludG8gb3V0cHV0IGNhcHMKCSAgQmFzaWMgdmVyc2lvbiB3aXRoIG9ubHkgdGhlIHN5c3RlbSBoZWFkZXIgYW5kIHRoZSBwcm9ncmFtCgkgIHN0cmVhbSBtYXAuIEFuIGFkdmFuY2VkIHZlcnNpb24gY291bGQgaW5jbHVkZSBjb2RlYy1zcGVjaWZpYwoJICBiaXRzIGxpa2UgU1BTL1BQUyB0b28uIFRoaXMgaXMgdXNlZnVsIGluIGNvbm5lY3Rpb24gd2l0aAoJICBlLmcuIG11bHRpZmlsZXNpbmsgdG8gbWFrZSBzdXJlIG5ldyBmaWxlcyBhbHdheXMgc3RhcnQgd2l0aAoJICB0aGUgc3RyZWFtIGhlYWRlcnMuCgoyMDExLTA5LTE2IDE5OjMyOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogYWRkICJhZ2dyZWdhdGUtZ29wcyIgcHJvcGVydHkgdG8gYWdncmVnYXRlIEdPUHMgaW50byBidWZmZXIgbGlzdHMKCSAgVXNlZnVsIGluIGNvbm5lY3Rpb24gd2l0aCBtdWx0aWZpbGVzaW5rLCBmb3IgZXhhbXBsZSwgdG8gbWFrZSBzdXJlCgkgIHRoZSBuZXcgZmlsZSBhbHdheXMgc3RhcnRzIHdpdGggYSBrZXlmcmFtZS4KCjIwMTEtMTItMTAgMjA6MDg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiByZW1lbWJlciBwcmltYXJ5IHZpZGVvIHN0cmVhbQoKMjAxMS0wOC0zMSAxOTo0MDowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiByZW1lbWJlciB3aGV0aGVyIGFuIGluY29taW5nIGJ1ZmZlciBpcyBhIGtleXVuaXQgb3Igbm90CgoyMDExLTEyLTA5IDE3OjI1OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzZW5jOiBhZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIG11bHRpc3RyZWFtIGFiaWxpdHkKCSAgVGhpcyB3aWxsIGhlbHAgZWxlbWVudHMgdGhhdCBjYW5ub3QgZGVhbCB3aXRoIG11bHRpc3RyZWFtLAoJICBzdWNoIGFzIHRoZSBSVFAgcGF5bG9hZGVyLgoJICBUaGUgY2FwcyBub3cgZG8gbm90IGluY2x1ZGUgYSAic3RyZWFtcyIgZmllbGQgYW55bW9yZSwgYnV0CgkgIGEgIm11bHRpc3RyZWFtIiBib29sZWFuLCBzaW5jZSB3ZSBoYXZlIG5vIHJlYWwgdXNlIGZvciBrbm93aW5nCgkgIHRoZSBleGFjdCBhbW91bnQgb2Ygc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxNToxMzoxMSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSAgQWRkaW5nIG9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBlbGVtZW50CgkgIEFkZGluZyBPUFVTIFJUUCBtb2R1bGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgZHJhZnQ6CgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9pZC9kcmFmdC1zcGl0dGthLXBheWxvYWQtcnRwLW9wdXMtMDAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTcKCjIwMTEtMTItMDggMTk6NDc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBpbmNsdWRlIHN0cmVhbXMgY291bnQgaW4gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA4IDE4OjQ1OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IHByb3Blcmx5IGNyZWF0ZSBjaGFubmVsIG1hcHBpbmcgdGFibGVzCgkgIFRoZXJlIGFyZSB0d28gb2YgdGhlbSwgdW5pbnR1aXRpdmVseSBlbm91Z2g7IHRoZSBvbmUgcGFzc2VkCgkgIHRvIHRoZSBlbmNvZGVyIHNob3VsZCBub3QgYmUgdGhlIG9uZSB0aGF0IGdldHMgd3JpdHRlbiB0byB0aGUKCSAgZmlsZS4gVGhlIGZvcm1lciBtYXBzIHRoZSBpbnB1dCB0byBhbiBvcmRlcmluZyB3aGljaCBwdXRzCgkgIHBhaXJlZCBjaGFubmVscyBmaXJzdCwgd2hpbGUgdGhlIGxhdHRlciBtb3ZlcyB0aGUgY2hhbm5lbHMKCSAgdG8gVm9yYmlzIG9yZGVyLiBTbyBhZGQgY29kZSB0byBjYWxjdWxhdGUgYm90aCwgYW5kIHdlIG5vdwoJICBoYXZlIHByb3Blcmx5IHBhaXJlZCBjaGFubmVscyB3aGVyZSBhcHByb3ByaWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wOCAyMjo0OTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTEyLTA4IDEyOjQyOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgb2Zmc2V0IHRpbWVzdGFtcHMgd2hlbiBsaXZlCgkgIFRoaXMgY29kZSBpcyB0byBzeW5jIHRvIGEgbGl2ZSBzb3VyY2Ugd2hlbiB0aGVyZSBpcyBhIGRlbGF5CgkgIGJldHdlZW4gc3RhcnQgYW5kIHdoZW4gd2UgcmVjZWl2ZSB0aGUgZmlyc3QgYnVmZmVyLCBzbyBpdCBkb2VzCgkgIG5vdCBtYWtlIHNlbnNlIGluIGEgbm9uIGxpdmUgY2FzZS4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzdHJlYW1zIHdoZXJlIHRoZSBpbnB1dCB0aW1lc3RhbXBzIGFyZQoJICBiYXNlZCBvZmYgc29tZSBhcmJpdHJhcnkgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzU2CgoyMDExLTEyLTA4IDExOjUxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgbWFrZSB0aGUgaGVhZGVyIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSwgbm90IHRoZSBidWZmZXIKCjIwMTEtMTItMDggMTA6MTk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRml4IGhhbmRsaW5nIG9mIGZvcmNlLWtleXVuaXQgZXZlbnRzCgoyMDExLTEyLTA3IDAwOjA2OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBoZWFkZXIgY2xlYW51cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDAwOjA2OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUcnVuY2F0ZSBjYXBzIGZpcnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTEtMjggMTk6NDc6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBkZWZhdWx0IHRvIHN0ZXJlbyA0ODAwMCBIeiBpZiBwb3NzaWJsZSB3aGVuIG5vIGhlYWRlcnMgc2VlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDEzOjQ4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcnNuZGVjOiBEb24ndCB1c2UgdGhlIGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgb24gYXV0b2NvbnZlcnQKCSAgSXQgd2FzIHJlbW92ZWQsIHNlZSBidWcgIzU5OTQ2OSwgIzY2NTIwNQoKMjAxMS0xMi0wNyAxMzo0Njo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdGhlIGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgZnJvbSBhdXRvY29udmVydAoJICBJbml0aWFsbHkgY3JlYXRpbmcgYW4gaWRlbnRpdHkgZWxlbWVudCB0byBmb3J3YXJkIHNlcmlhbGl6ZWQKCSAgZXZlbnRzIGRvd25zdHJlYW0gYmVmb3JlIGFueSBjYXBzIGFyZSBrbm93biBpcyBicm9rZW4gYmVoYXZpb3VyLgoJICBTZXJpYWxpemVkIGV2ZW50cyBzaG91bGQgb25seSBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbSBpZiB0aGUKCSAgY2FwcyBhcmUgYWxyZWFkeSBrbm93biwgb3RoZXJ3aXNlIGF1dG9wbHVnZ2VycyBhbmQgb3RoZXIgZWxlbWVudHMKCSAgdXNpbmcgcGFkLWJsb2NrcyB3aWxsIGZhaWwuCgkgIFRoaXMgYmVoYXZpb3VyIGFsc28gZG9lc24ndCB3b3JrIGFueW1vcmUgYWZ0ZXIgYmFzZXRyYW5zZm9ybQoJICB3YXMgZml4ZWQgdG8gcXVldWUgc2VyaWFsaXplZCBldmVudHMgdW50aWwgdGhlIGNhcHMgYXJlIGtub3duCgkgIGFzIGEgcmVzdWx0IG9mIGZpeGluZyBidWcgIzY1OTU3MS4KCSAgU2VlIGJ1ZyAjNTk5NDY5LCAjNjY1MjA1LgoKMjAxMS0xMi0wNiAxNjoyNzoyNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBEbyBub3Qgbm90IHNraXAgc3RhcnRjb2RlIHdoZW4gbmVlZGVkCgkgIEZpeDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTYzMQoKMjAxMS0xMi0wNiAwODo1NToxOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXJzdCB2aWRlb19wYWNrZXRfaGVhZGVyIGRvZXNuJ3Qgc3RhcnQgd2l0aCByZXN5bmNfbWFya2VyCgoyMDExLTEyLTA2IDA4OjUzOjA3ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJldHVybiBOT19QQUNLRVQgaWYgbmVlZGVkCgoyMDExLTEyLTA2IDA4OjMxOjE0ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBhbiBpc3N1ZSBpbiBjaGVjayByZXN5bmMgbWFya2VyCgoyMDExLTEyLTA2IDA4OjI1OjU5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBhbiBpc3N1ZSBpbiBmaW5kaW5nIHRoZSBsYXN0IHZpZGVvIHBhY2tldCBpbiB2b3AKCjIwMTEtMTItMDYgMDg6MjE6MTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaW5jbHVkZSByZXN5bmMgbWFya2VyIGluIHZpZGVvIHBhY2tldCBzaXplCgoyMDExLTEyLTA2IDA4OjE5OjA1ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHNjYW4gbmV4dCByZXN5bmMgbWFya2VyIGFmdGVyIGN1cnJlbnQgb25lCgoyMDExLTEyLTA2IDA4OjE3OjM4ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCA8IDAgaXNzdWUgb2YgZ3VpbnQgaW4gbXBlZzQgcGFyc2VyCgkgIGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgcmV0dXJucyBhIGd1aW50LCBub3QgYSBnaW50LCB3aGljaAoJICBleHBsYWlucyB0aGUgaXNzdWUgd2Ugc29tZXRpbWUgZ2V0IHVzaW5nIDwgMCBpbnN0ZWFkIG9mID09IC0xOwoKMjAxMS0xMi0wNiAwODoxNTo0NiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggcGF0dGVybi9tYXNrIG9mIHJlc3luY19tYXJrZXIgcGFyc2luZyBvZiBtcGVnNAoKMjAxMS0xMi0wNiAxMzowNjowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgU2VuZCBTUFMvUFBTIG9uIGZvcmNlIGtleSB1bml0IGV2ZW50cy4gVXNlZnVsIGZvciBleGFtcGxlIHdoZW4gc2VydmluZyBITFMKCSAgd2l0aG91dCB0cmFuc2NvZGluZy4KCjIwMTEtMTItMDYgMTI6NTU6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBjb21waWxlIHdhcm5pbmdzIGluIGdzdG1wZWc0cGFyc2VyLmMKCjIwMTEtMTItMDUgMTE6NTY6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICB0ZXN0czogQWRkIG1vcmUgZmlsZXMgdG8gLmdpdGlnbm9yZQoKMjAxMS0xMi0wNSAxMTo1MDoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBmYXN0ZXIgcGFyc2luZyB2YXJpYW50IHdoZW4gaW5wdXQgaXMgcGFja2V0aXplZAoJICBSZWR1Y2VzIGxhdGVuY3kgYW5kIGNwdSB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NTg0CgoyMDExLTEyLTA1IDExOjQ3OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWYXJpYW50IG9mIF9pZGVudGlmeV9uYWx1IHdpdGhvdXQgY2hlY2tzCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSB0aGUgY2FsbGVyICprbm93cyogdGhhdCB0aGUgcHJvdmlkZWQKCSAgaW5wdXQgY29udGFpbnMgYSB3aG9sZSBOQUxVIGFuZCBjYW4gdGhlcmVmb3JlIGF2b2lkOgoJICAqIHRoZSBleHBlbnNpdmUgY2hlY2tzIGZvciB0aGUgbmV4dCBzdGFydCBjb2RlICh3aGljaCB3b24ndCBiZSBwcmVzZW50KQoJICAqIGRlbGF5aW5nIHRoZSBpbnB1dCBwYXJzaW5nIChzaW5jZSB3ZSB3b3VsZCBuZWVkIHRoZSBuZXh0IGluY29taW5nIE5BTFUKCSAgaW4gb3JkZXIgZm9yIHRoZSBwYXJzaW5nIGNvZGUgdG8gZGV0ZWN0IHRoZSBuZXh0IHN0YXJ0IGNvZGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU1ODQKCjIwMTEtMTItMDUgMTM6MDk6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZsb3cgc2xpY2UgbmFsIHByb2Nlc3NpbmcKCjIwMTEtMTItMDUgMTI6NTc6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvcHRpbWl6ZSBzbGljZSBuYWwgcHJvY2Vzc2luZwoJICBPbmx5IG1pbmltYWwgc2xpY2UgaW5mbyBpcyBuZWVkZWQgaGVyZSB0byBkZXRlcm1pbmUgcmVhbCBmcmFtZSBzdGFydCwKCSAgc28gbm8gbmVlZCB0byBwYXJzZSBleHRlbnNpdmVseS4KCSAgRml4ZXMgIzY2NTQxOC4KCjIwMTEtMTItMDUgMTI6NTM6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiB1bmJyZWFrIGgyNjQgc2xpY2UgaGVhZGVyIHBhcnNpbmcKCSAgLi4gaW50cm9kdWNlZCBieSByZWZhY3RvcmluZyBpbiBjb21taXQgMTc3NDUxYzkyMTZmNGUzOTU5ZTczNTg2NzVmYmI5NzMxZDJjODFhMgoKMjAxMS0xMi0wMSAxODoyODo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuaDoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkgIHB2cjJkOiBQb3J0IHRvIDAuMTEKCSAgSGFuZGxlcyBHc3RWaWRlb01ldGEgYW5kIEdzdFZpZGVvQ3JvcE1ldGEKCSAgUHJvdmlkZXMgR3N0QnVmZmVyUG9vbAoJICBOZXcgR3N0UFZSTWV0YSB0byBoYW5kbGUgdGhlIHdyYXBwZWQgUFZSIG1lbV9zcmMKCjIwMTEtMTItMDIgMTc6NTM6MjMgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXggcmVmZXJlbmNlIGNvdW50aW5nIG9mIGNvZGVjX2RhdGEKCjIwMTEtMTItMDUgMDg6NTY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBJbXBsZW1lbnQgaXRlcmF0ZV9pbnRlcm5hbF9saW5rcyBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZCBhbmQgc3JjcGFkCgoyMDExLTExLTI4IDE5OjM4OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZ3VhcmQgYWdhaW5zdCBkZWNvZGluZyAwIHNhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wMiAxMTo0NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBYVklEIEFQSSA+PSA0LjMKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3IgZW5jb2RpbmcgdGhlIHNpbXBsZSBwcm9maWxlCgkgIHdpdGggbGV2ZWxzIDRhLCA1IG9yIDYuCgkgIEZpeGVzIGJ1ZyAjNjY1Mzc4LgoKMjAxMS0xMi0wMSAxNjo1OToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiB1c2UgR3N0U2FtcGxlIGZvciB0aGUgcHJldmlldwoKMjAxMS0xMi0wMSAxMDo1NDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IERvbid0IGFkZCB0aGUgcHJvZmlsZS9sZXZlbCB0byB0aGUgdmlkZW8veC14dmlkIGNhcHMKCjIwMTEtMTItMDEgMDk6NTQ6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWRlbmM6IEFkZCBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzIGFuZCBuZWdvdGlhdGUgdGhlbSB3aXRoIGRvd25zdHJlYW0KCSAgU3RpbGwga2VlcCB0aGUgcHJvZmlsZSBwcm9wZXJ0eSB0byBzZWxlY3QgcHJvZmlsZS9sZXZlbCBpZiB0aGVyZQoJICBhcmUgbm8gZG93bnN0cmVhbSBjb25zdHJhaW50cy4KCSAgRml4ZXMgYnVnICM2NTIyNjEuCgoyMDExLTEyLTAxIDA5OjM5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogQWRkIHN1cHBvcnQgZm9yIGxldmVscyA0YS81LzYgb2YgdGhlIHNpbXBsZSBwcm9maWxlCgoyMDExLTEyLTAxIDA5OjAyOjQ2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogbGV0IHVwc3RyZWFtIFBBUiBvdmVycmlkZSBpbi1zdHJlYW0gUEFSCgoyMDExLTExLTIzIDE4OjI2OjQ0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZXdvcmsgUEFSIHBhcnNpbmcKCSAgQW5kIGluIHRoZSBwcm9jZXNzIHJlZmFjdG9yIF91cGRhdGVfc3JjX2NhcHMgYSBiaXQKCjIwMTEtMTEtMTYgMDA6MDM6MTIgLTA1MDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFmdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJlc3BlY3QgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFBhcnNlIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiB2dWkgaW5mb3JtYXRpb24uCgoyMDExLTExLTMwIDIyOjEyOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc3BhY2U6IHdoaXRlc3BhY2UgY2xlYW51cHMKCjIwMTEtMTEtMzAgMjI6MTE6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIHdhdmVzY2FwZTogYWxzbyBhZGQgY29sb3Jtb2RlcyBsaWtlIGluIHNwYWNlc2NvcGUKCjIwMTEtMTEtMzAgMTU6MTM6MDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcjogdXBkYXRlIFJFQURNRQoKMjAxMS0xMS0zMCAxNDoyMDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNjb3BlOiBhZGQgY29sb3ItbW9kZXMKCSAgSW4gY29sb3Jtb2RlIHdlIHNwbGl0IHRoZSBzaWduYWwgaW4gbG93LG1pZCxoaWdoIGZyZXF1ZW5jeSBwYXJ0cyBhbmQgZHJhdyB0aGVtCgkgIHNlcGFyYXRlbHkgaW50byByZWQsIGdyZWUsIGJsdWUgY29sb3IgY2hhbm5lbHMuCgoyMDExLTA4LTMwIDE0OjM3OjQyICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICByZXBsYWNlIHByb3BzZXRfbXV0ZXggd2l0aCBHU1RfT0JKRUNUX0xPQ0sKCjIwMTEtMTEtMjUgMjI6MzI6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBzdHJlYW1saW5lIHRoZSBsaW5lX2FhIGNvZGUKCSAgSGF2ZSBhIHJldXNhYmxlIGRvdF9hYSBjb2RlIGFuZCByZXVzZSBpbiB0aGUgbGluZSBkcmF3aW5nLgoKMjAxMS0xMS0zMCAxMDozNToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNtdXg6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgLWJhc2UgbGlicyBpbmNsdWRlcyB0byBDRkxBR1MsIGZpeCBvcmRlciBvZiBMSUJTLgoKMjAxMS0wOC0yMSAxMTowMTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBIYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzIG91dHB1dHRpbmcgUEFUIGFuZCBQTVQgd2hlbiBhbGxfaGVhZGVycz1UUlVFCgoyMDExLTExLTI5IDIzOjQxOjIyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IGFsbG93IHRvIGJ1aWxkIGFnYWluc3QgMi4zLjEKCjIwMTEtMTEtMjkgMTg6MTg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIG1wZWc0dmlkZW9wYXJzZSBkaXJlY3RvcnkgdG8gQ1JVRlRfRElSUwoKMjAxMS0xMS0yOSAxOToxMToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBmaXggZm9yIG1vdmVkIGludGVyZmFjZXMKCjIwMTEtMTEtMjIgMDk6NDc6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpLgoKMjAxMS0xMS0yMiAwOTo0Nzo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVuYW1lIHJlZl9waWNfbGlzdF9yZW9yZGVyaW5nKCkgdG8gcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpLgoJICBVcGdyYWRlIHRvIGN1cnJlbnQgQVZDIHNwZWNpZmljYXRpb24uCgoyMDExLTExLTI5IDEyOjIwOjUxICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogcmVjYWxjdWxhdGUgYWRqdXN0IGlmIGRpZmZlcmVuY2UgaXMgbmVnYXRpdmUKCSAgT25lIG9mIG15IGR2ZHMganVtcCBvbiBzb21lIHBvc2l0aW9uIGFuZCBtaXNzIGFib3V0IDEgbWludXRlIG9mIHN0cmVhbS4KCSAgVGhlIHJlYXNvbiB3YXMgbXBlZyB0aW1lc3RhbXBzLiBPbiBzb21lIHBvc2l0aW9uIHNjciBkaWZmZXJlbmNlIGlzIG5lZ2F0aXZlLgoJICBJdCBwcm9kdWNlZCBuZWdhdGl2ZSB0aW1lc3RhbXBzLiBTaW5jZSBpdCB3YXMgY29udmVydGVkIHRvIHVuc2lnbmVkIHZhbHVlLAoJICBnc3RyZWFtZXIgdGltZXN0YW1wcyB3YXMgaW52YWxpZC4gSW5zdGVhZCBvZiBpbmNyZWFzaW5nIG1wZWcgdHMsCgkgIHRoZXkgd2FzIGRlY3JlYXNpbmcgdGlsbCBpdCBzdGFydGVkIHRvIGJlIHBvc2l0aXZlLgoJICBUaGUganVtcCBpbiB0aW1lc3RhbXBzIGNhdXNlZCBtcGVnMmRlYyB0byBza2lwIGZyYW1lcyB0byBtYWtlIFFvUyBoYXBweS4KCSAgVGhpcyBwYXRjaCBqdXN0IG1ha2UgZGlmZiB1bnNpZ25lZCB0byBhdm9pZCBuZWdhdGl2ZSB2YWx1ZXMuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjExNQoKMjAxMS0xMS0yOSAxMjoxMjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUGFzcyB0aGUgYWxsLWhlYWRlcnMgZmllbGQgb2YgdGhlIGZvcmNlLWtleS11bml0IGV2ZW50IHRvIHRoZSBzdWJjbGFzcwoKMjAxMS0xMS0yOSAxMjoxMjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBJbXBsZW1lbnQgZnVsbCBzdXBwb3J0IGZvciB0aGUgbmV3IGZvcmNlLWtleS11bml0IGV2ZW50CgkgIEluY2x1ZGluZyBzdXBwb3J0IGZvciB0aGUgcnVubmluZy10aW1lIGFuZCBjb3VudCBmaWVsZHMuCgoyMDExLTExLTI5IDA5OjMxOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFVzZSBuZXcgZm9yY2Uta2V5dW5pdCBldmVudCBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgoyMDExLTExLTI5IDA5OjE4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkanVzdGluZyBwYWRkaW5nIGlzIG5vdCByZXF1aXJlZCBmb3IgLWJhZCBsaWJyYXJpZXMKCjIwMTEtMTEtMjggMTk6NDg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTW92ZSBzb21lIGZpZWxkcyB0byB0aGUgcHJpdmF0ZSBwYXJ0IG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTEtMTEtMjggMTk6MzY6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTWFrZSBoZWFkZXJzIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBwdXNoaW5nIGRvd25zdHJlYW0KCSAgVGhlIHRpbWVzdGFtcCwgZHVyYXRpb24sIGV0YyBvZiB0aGUgaGVhZGVycyBoYXMgdG8gYmUgY2hhbmdlZC4KCjIwMTEtMTEtMjggMTk6MzU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUHVzaCB0aGUgZG93bnN0cmVhbSBmb3JjZS1rZXlmcmFtZSBldmVudCBhZnRlciB0aGUgbmV4dCBrZXlmcmFtZQoJICBFdmVuIGlmIHRoZSBjb3JyZXNwb25kaW5nIEdzdFZpZGVvRnJhbWUgZG9lc24ndCBoYXZlIHRoZSBpc19zeW5jX3BvaW50CgkgIGZsYWcgc2V0LgoKMjAxMS0xMS0yOCAxOToyOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEb24ndCBwdXNoIGFuIHVwc3RyZWFtIGZvcmNlLWtleXVuaXQgZXZlbnQgZG93bnN0cmVhbQoKMjAxMS0xMS0yNSAxMTo0ODowOCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB0aGUgYWxsLWhlYWRlcnMgZmllbGQgb2YgdGhlIGZvcmNlLWtleWZyYW1lIGV2ZW50CgkgIFNlZSBidWcgIzYwNzc0Mi4KCjIwMTEtMTEtMjkgMDk6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCBzZXQtYnV0LW5vdC11c2VkLXZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0a2F0ZXRpZ2VyLmM6MTE1NjoxNTogZXJyb3I6IHZhcmlhYmxlICdoZWlnaHQnIHNldCBidXQgbm90IHVzZWQKCSAgZ3N0a2F0ZXRpZ2VyLmM6MTE1Njo4OiBlcnJvcjogdmFyaWFibGUgJ3dpZHRoJyBzZXQgYnV0IG5vdCB1c2VkCgoyMDExLTExLTI5IDA5OjE1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1pbm9yIGZpeGVzCgkgIENvbnN0LWlmeSBvbmUgbW9yZSBWTEMgdGFibGUuIEZpeCBzcGVsbGluZyBvZiAnaHlicmlkJy4KCSAgTm8gbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgZW5zdXJlX2RlYnVnX2NhdGVnb3J5KCkgZXZlcnl3aGVyZSwKCSAgdGhhdCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBmcm9tIEdTVF9MT0coKSBhbmQgZnJpZW5kcwoJICB2aWEgR1NUX0NBVF9ERUZBVUxULgoKMjAxMS0xMS0wOCAxMDo0NDoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIGNvZGVjcGFyc2VyOiBtcGVnNDogTG9vayBmb3IgcmVzeW5jIGNvZGUgaW4gX21wZWc0X3BhcnNlCgkgIFRoaXMgd2F5IHRoZSBBUEkgaXMgc2ltcGxlciBhbmQgdXNlcnMgY2FuIGNhbGwgMSBzaW5nbGUgZnVuY3Rpb24gZm9yIHBhY2tldAoJICBkZXRlY3Rpb24uCgoyMDExLTA5LTI5IDE0OjM3OjU5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFByb3Blcmx5IGhhbmRsZSBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIEZpeCAjNjYwMjM0CgoyMDExLTA5LTI2IDE2OjU4OjU4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUG9ydCB0byB0aGUgbmV3IG1wZWc0cGFyc2VyIGxpYnJhcnkKCjIwMTEtMDktMjYgMTA6Mzk6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5oOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogTW92ZSB0byB0aGUgdmlkZW9wYXJzZXJzIHBsdWdpbgoJICBSZW5hbWUgYSBmZXcgdmFyaWFibGVzIHRvIHVzZSB0aGUgc2FtZSBjb252ZW50aW9uIGFzIG90aGVycyBlbGVtZW50cyBpbiB0aGlzCgkgIHBsdWdpbgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTEtMDIgMDk6MTQ6NDIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogRGVjbGFyZSBwcml2YXRlIGFycmF5cyBhcyBzdGF0aWMgYWxsIGFyb3VuZAoKMjAxMS0wOS0yMSAxOTo0OTozNiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IEltcGxlbWVudCBhbiBNcGVnNCBwYXJ0IDIgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA5LTIxIDE5OjQwOjQ3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBNb3ZlIHNoYXJlZCBjb2RlIHRvIGEgcGFyc2VyIHV0aWxzIGZpbGUKCjIwMTEtMDktMjkgMTY6MjU6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZ2NvbmZpZzogcmVtb3ZlIHJlZmVyZW5jZXMgdG8gY29kZWNwYXJzZXJzIGZyb20gLWJhZC5wYy5pbgoKMjAxMS0xMS0yOCAyMzoyMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjM6MjA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICc3NTIxYjU5N2Y0ZGM0OWQ4ZDE2OGYzNjhmMGU3ZWJhZjk4YTcyMTU2JyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjM6MjA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICcyNmQ2YWRkOTQ1N2YwMGNlOGVjMTM4NDQzNjg0NjZmMGUzODE2ZTVkJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcnRtcC9nc3RydG1wc2luay5jCgoyMDExLTExLTI4IDE4OjQ3OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IHVzZSBmYXN0ZXIgY2FzdCBtYWNybwoJICBVc2UgY2FzdCBtYWNybyB3aXRob3V0IHR5cGUgY2hlY2tzIHdoZW4gd2Uga25vdyBpdCBzaG91bGQgd29yay4KCjIwMTEtMTEtMjggMTg6NDM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogTGluayBlbGVtZW50cyBkaXJlY3RseSB0byB1c2UgZmFzdGVyIHZlcnNpb24KCSAgZmZtcGVnY29sb3JzcGFjZSBhbmQgdmlkZW9zY2FsZSBzaG91bGQgYWx3YXlzIGxpbmsgc3VjY2Vzc2Z1bGx5LCB1c2UKCSAgdGhlIGZhc3QgcGFkIGxpbmtpbmcgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhbGxpbmcgdGhlIGdlbmVyaWMgaGVscGVyCgkgIGZ1bmN0aW9uLgoKMjAxMS0xMS0yOCAxNjozNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IG1pY3JvIG9wdGltaXplIGxpbmtpbmcgc29tZSBtb3JlCgoyMDExLTA5LTI5IDIyOjQzOjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICBrYXRlOiBzdXBwb3J0IGZvciByZW5kZXJpbmcgb24gc2V2ZXJhbCBZVVYgZm9ybWF0cwoJICBUaGlzIHNwZWVkcyB1cCByZW5kZXJpbmcgYSBmYWlyIGJpdCBieSBub3QgcmVxdWlyaW5nIGNvbG9yc3BhY2UKCSAgY29udmVyc2lvbiwgd2hldGhlciB0aGVyZSBpcyBhbnl0aGluZyB0byBvdmVybGF5IG9yIG5vdC4KCSAgVGhlIGJsZW5kaW5nIGNvZGUgd2FzIG5pY2tlZCBmcm9tIHRleHRvdmVybGF5LiBJIHdvdWxkIHRoaW5rCgkgIHRoaXMgbWlnaHQgYmUgYSBoZWxwZnVsIHRoaW5nIHRvIHB1dCBpbiwgc2F5LCBsaWJnc3R2aWRlbyBhdAoJICBzb21lIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTI4CgoyMDExLTA4LTE4IDExOjM5OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBudW1iZXIgb2YgYnl0ZXMgcmVhZCBmb3IgZml4ZWQgdGltZSBpbmNyZW1lbnQKCSAgVGhlIHNwZWMgSSBmb3VuZCBzYXlzICIxNiBiaXRzIi4KCSAgVGhlIGV4aXN0aW5nIGNvZGUgdXNlZCBsb2cyKHNvbWV2YWx1ZSkrMS4KCSAgZmZtcGVnIHVzZXMgbG9nMihzb21ldmFsdWUtMSkrMS4KCSAgVGhlIGNvZGUgbm93IHVzZXMgbG9nMihzb21ldmFsdWUtMSkrMSwgYW5kIHRoaXMgbWFrZXMgaXQgd29yayB3aXRoCgkgIHNvbWUgc2FtcGxlIHZpZGVvIHdpdGhvdXQgYnJlYWtpbmcgYW5vdGhlciBzYW1wbGUuCgkgIE5vdywgSSdtIGZhciBmcm9tIGNlcnRhaW4gSSd2ZSBnb3QgdGhlIHJpZ2h0IHNwZWMsIEkgZm91bmQgaXQgYnkKCSAgc2VhcmNoaW5nIHRoZSBpbnRlcm5ldCwgc28uLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDY2NgoKMjAxMS0xMS0yOCAxNToxMDozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBUcnkgdG8gYWRkIGFsbCBzdHJlYW1zIGVhcmx5CgkgIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBzaWduYWwgbm8tbW9yZS1wYWRzIHRvIGF2b2lkIGhpdHRpbmcKCSAgdGhlIGRlY29kZWJpbjIgb3ZlcnJ1bi4KCjIwMTEtMDktMjYgMTI6NDM6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogaGFuZGxlIHBhZHMgd2l0aCBubyBkYXRhCgkgIFNvbWUgc3RyZWFtcyBkZWNsYXJlIFBJRHMgYnV0IHdpbGwgbm90IHNlbmQgZGF0YSBmb3IgdGhlbS4KCSAgRW5zdXJlIHdlIHRpbWUgb3V0IG9uIHRob3NlLCBhbmQgYm90aCBzZW5kIG5ldyBzZWdtZW50cyB0bwoJICBrZWVwIHRoZWlyIHRpbWUgc3luY2hyb25pemVkIHdpdGggdGhlIHJlc3QsIGFuZCBkbyBub3Qgd2FpdAoJICBmb3JldmVyIGJlZm9yZSBkZWNpZGluZyB0byBzaWduYWwgbm8tbW9yZS1wYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTI0CgoyMDExLTA5LTI2IDEyOjE2OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogc2lnbmFsIG5vLW1vcmUtcGFkcyB3aGVuIGFwcHJvcHJpYXRlCgkgIFdlIHRyYWNrIHN0cmVhbXMgZm9yIHdoaWNoIGEgZGF0YSBjYWxsYmFjayBpcyBzZXQgKGFuZCBmb3Igd2hpY2gKCSAgcGFkcyB3aWxsIGJlIGFkZGVkIG9ubHkgd2hlbiBkYXRhIGlzIHJlY2VpdmVkKSwgYW5kIHNpZ25hbAoJICBuby1tb3JlLXBhZHMgd2hlbiB0aGUgbGFzdCBwYWQgaXMgYWRkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5MjQKCjIwMTEtMDktMDUgMTc6NDA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogdGFrZSBpbnRvIGFjY291bnQgb2Zmc2V0IG9mIGZpcnN0IGJ1ZmZlcgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIHdoZW4gdGhlIHNvdXJjZSBzdGFydHMgbGF0ZXIgdGhhbiB0aGUgcGxheWJhY2sKCSAgcGlwZWxpbmUsIGFuZCB3aGVuIGEgc291cmNlIGRyb3BzIGZvciBhIHdoaWxlIHRoZW4gcmVzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc3OTQKCjIwMTEtMDktMDMgMTQ6Mzc6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBzb21lIG1vcmUgdmlkZW8gZnJlZXppbmcKCSAgVGhlcmUgd2FzIGEgc2Vjb25kIHRocmVzaG9sZCwgd2hpY2ggYXBwYXJlbnRseSBuZWVkcyB0byBiZSBzbWFsbGVyCgkgIHRoYW4gdGhlIGZpcnN0LCB0aG91Z2ggSSdtIG5vdCBjZXJ0YWluIG9mIGl0IGFzIEkgZG9uJ3QgdW5kZXJzdGFuZAoJICB5ZXQgdGhpcyBuZXN0IG9mIHd0ZiB0aGF0IGlzIHRoZSBtcGVnIGRlbXV4ZXIgdGltaW5nIGxvZ2ljLgoJICBGaXhlcyB2aWRlbyBmcmVlemluZyBvbiBvbmUgKGNvcnJ1cHRlZCkgTVBFRyBzYW1wbGUuIEl0IHdvdWxkCgkgIHByZXZpb3VzbHkgbmV2ZXIgdGhpbmsgaXQgd2FzIG91dCBvZiB0aGUgZGlzY29udGludWl0eSwgYW5kIHdvdWxkCgkgIHB1c2ggYnVmZmVycyB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgTm93IHRoaXMgdG9vayBtZSBtb3JlIHRoYW4gYSBkYXkncyBwb2tpbmcgYXQgdGhlIHRoaW5nLCBmb3IganVzdAoJICBvbmUgY29uc3RhbnQgY2hhbmdlLCBhbmQgSSdtIHNjYXJlZCB0byBoYXZlIHRvIHRvdWNoIHRoaXMgYWdhaW4gOlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgwNAoKMjAxMS0wOC0zMCAxNDo1MDo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBjYXRjaCBzbWFsbGVyIFBUUyBkaWNvbnRpbnVpdGllcwoJICBJbiBhIHRlc3Qgc3RyZWFtLCBJIGdldCBvbmUgYnVmZmVyIHdpdGggYSBQVFMgb2YgYWJvdXQgMTUgc2Vjb25kcwoJICBpbiB0aGUgZnV0dXJlIGNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBvbmUsIGFuZCBuZXh0IGJ1ZmZlcnMgd2l0aAoJICB0aW1lc3RhbXBzIGNvbnRpbnVpbmcgd2hlcmUgdGhlIG9yaWdpbmFsIG9uZXMgbGVmdCBvZmYuCgkgIFRoaXMgY2F1c2VkIHRoZSBzaW5rIHRvIHdhaXQgMTUgc2Vjb25kcyB0byBkaXNwbGF5IHRoZSBmcmFtZSB3aGlsZQoJICBtb3JlIGZyYW1lcyBxdWV1ZWQgdXAsIGFuZCB0aGVuIGR1bXAgYWxsIHRoZSBzdWJzZXF1ZW50IGZyYW1lcyBhcwoJICB0aGV5ICJhcnJpdmVkIHRvbyBsYXRlIi4KCSAgTWF5YmUgdGhhdCB0aHJlc2hvbGQgc2hvdWxkIGJlIG1hZGUgY29uZmlndXJhYmxlLCBidXQgZm9yIG5vdywKCSAgbWFrZSBpdCBtb3JlIHNtYWxsZXIgdG8gY2F0Y2ggbW9yZSBvZiB0aGVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgwNAoJICBOb24gQVYgc3RyZWFtcyBrZWVwIHVzaW5nIHRoZSBsYXJnZXIgdGhyZXNob2xkICgxMCBtaW51dGVzKSwgYXMKCSAgc3VidGl0bGVzIG1heSBhcnJpdmUgb25seSBldmVyeSBzbyBvZnRlbi4KCjIwMTEtMTEtMjggMTM6MDg6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMC0wNiAxNzo0MzoxOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IGFkZCBXU0FTdGFydHVwIGFuZCBXU0FDbGVhbnVwIG9uIFdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEwOTgKCjIwMTEtMTEtMjcgMjA6MjQ6MzkgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBmaXggZm9ybWF0IHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjcgMjM6MzM6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI0IDEzOjQ5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBleHRyYWN0IElEMyB0YWdzIGVtYmVkZGVkIGluIElEMyBjaHVua3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDcyNQoKMjAxMS0xMS0yNiAxNTozNzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oCgoyMDExLTExLTI1IDIzOjExOjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIG9wZW5jdjogcG9ydCBiYXNlY2xhc3MgdG8gMC4xMQoKMjAxMS0xMS0yNSAxMTo0MToxOSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEZpeGluZyAiVW51c2VkIHZhciIgY29tcGlsaW5nIGVycm9yIGZvciBvcHVzIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTUKCjIwMTEtMTEtMjUgMTQ6MDA6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNlbmM6IG9ubHkgdXNlIG1vbm8gc3RyZWFtcyBmb3IgPiAyIGNoYW5uZWxzCgkgIEknbSBnZXR0aW5nIG9kZCByZXN1bHRzIHdpdGggcGFja2luZyBzdHJlYW1zIGludG8gc3RlcmVvCgkgIHN0cmVhbXMsIGFuZCB1c2luZyBvbmx5IG1vbm8gc3RyZWFtcyBpcyBlbm91Z2ggaW4gYWxsIGNhc2VzLgoKMjAxMS0xMS0yNSAxMjo0Nzo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IGFkZCBzb21lIG1vcmUgZGVidWcgaW5mb3JtYXRpb24gYWJvdXQgY2hhbm5lbCBtYXBwaW5nCgoyMDExLTExLTI1IDEyOjQ2OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IHJlbW92ZSBkZWFkIGFzc2lnbWVudHMKCSAgV2Ugbm93IG9ubHkga2VlcCBhIHJlZiB0byB0aGUgaGVhZGVycyBmb3IgbGF0ZXIgcmV1c2UuCgoyMDExLTExLTI1IDEyOjQwOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IGNhdXNlIHRoZSBkZWNvZGVyIHRvIGFwcGx5IHRoZSBjaGFubmVsIG1hcHBpbmcgYWdhaW4KCSAgU2luY2Ugd2UgYWxyZWFkeSByZW9yZGVyIGNoYW5uZWxzLCB3ZSBkbyBub3Qgd2FudCB0byB3cml0ZSB0aGF0CgkgIHJlb3JkZXJpbmcgaW4gdGhlIGhlYWRlciwgb3IgdGhlIGRlY29kZXIgd2lsbCBkbyBpdCBhZ2Fpbi4KCjIwMTEtMTEtMjUgMTI6Mzk6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggYm9ndXMgYXNzZXJ0aW9uCgoyMDExLTExLTI1IDE1OjQ5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciB2b2FtcndiZW5jCgoyMDExLTExLTI1IDEyOjQ4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mYWFjL2dzdGZhYWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTEtMTEtMjUgMTE6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc29tZSBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMTEtMTEtMjUgMTE6MzY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiB1c2UgbmV3IGJhc2V2aWRlb2RlY29kZXIgQVBJIHRvIGRyb3AgZnJhbWVzIGFuZCBnZXQgUW9TIG1lc3NhZ2VzIHBvc3RlZAoKMjAxMS0xMS0yMyAyMDowMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgQVBJIHRvIGRyb3AgYSBmcmFtZSBhbmQgcG9zdCBhIFFvUyBtZXNzYWdlIG9uIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAxNwoJICBBUEk6IGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZHJvcF9mcmFtZSgpCgoyMDExLTA4LTMwIDIzOjM5OjM2IC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9kcmkyX3dzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX2RlZnMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfdHlwZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9wdnIyZC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXNleHQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy93c2VnbC5oOgoJICBBZGQgcHZydmlkZW9zaW5rIGVsZW1lbnQKCSAgUFZSVmlkZW9TaW5rIHVzZXMgUFZSMkQgbGlicmFyeSB0byBibGl0IGltYWdlcy4KCSAgQXV0aG9yOiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoJICBBdXRob3I6IEx1Y2lhbmEgRnVqaWkgPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKMjAxMS0xMS0yNCAyMTo1Mjo1NSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGNhcHMgdXNhZ2UgaW4gcGFyc2VyIHRlc3QgaGVscGVyCgkgIEZpeGVzIHByZXZpb3VzIGNvbW1pdDsgdXNlcnMgY2FuIGNhbGwgdGhpcyB3aXRoIE5VTEwgY2Fwcy4KCjIwMTEtMTEtMjQgMjE6NDI6MzkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDExLTExLTI0IDE5OjAzOjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYWEtbGluZSBjb2RlIGFuZCB1c2VyIGZvciB3YXZlL3NwYWNlLXNjb3BlCgoyMDExLTExLTI0IDEzOjM4OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogcHJlLXNraXAgYW5kIG91dHB1dCBnYWluIGFyZSBsaXR0bGUgZW5kaWFuLCByZW1vdmUgcmVtaW5kZXIgbm90ZQoKMjAxMS0xMS0yNCAxMzoyOTo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogbXVsdGljaGFubmVsIHN1cHBvcnQKCjIwMTEtMTEtMjMgMTc6NDk6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBzd2l0Y2ggdG8gbXVsdGlzdHJlYW0gQVBJCgkgIEl0J3MgdmVyeSBzaW1pbGFyIHRvIHRoZSBiYXNpYyBBUEksIGFuZCBpcyBhIHN1cGVyc2V0IG90IGl0LAoJICB3aGljaCB3aWxsIGFsbG93IGVuY29kaW5nIGFuZCBkZWNvZGluZyBtb3JlIHRoYW4gMiBjaGFubmVscy4KCjIwMTEtMTEtMjMgMTc6MzI6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBzaHVmZmxlIHN1cHBvcnRlZCBzYW1wbGUgcmF0ZXMgdG8gZmF2b3IgNDgwMDAKCjIwMTEtMTEtMjMgMTY6MzY6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHJlbW92ZSB1c2VsZXNzIHNldHVwIGZpZWxkCgoyMDExLTExLTI0IDEyOjAxOjQ4ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHBvcnQgdG8gMC4xMQoJICBVbml0IHRlc3RzIG1pc3NpbmcgZm9yIG5vdy4KCjIwMTEtMTEtMjQgMTE6NTk6MTkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogcG9ydCB0byAwLjExCgkgIE9ubHkgdG8gZml4IHRoZSBidWlsZCByZWFsbHkgKGd0ay1kb2MgaXMgdHJ5aW5nIHRvIHBpY2sgdXAgdGhlIHVuYnVpbGRhYmxlCgkgIGxpYikuIE5vdCB0ZXN0ZWQgYXQgYWxsIChidXQgcHJldHR5IHRyaXZpYWwgY2FzZSBhbnl3YXlzKS4KCjIwMTEtMTEtMDIgMTM6MjU6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggd2lkdGgvaGVpZ2h0IG1pc21hdGNoZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzOAoKMjAxMS0xMS0yNCAxMDoyNjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSB0aGUgc2lua3BhZCB0ZW1wbGF0ZSBjYXBzIGFzIGEgZmFsbGJhY2ssIG5vdCB0aGUgc3JjcGFkIG9uZXMKCjIwMTEtMTEtMjQgMTA6MTQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA5OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDQ6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDE6NTY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IHJlbW92ZSBpcmFkaW8tKiBwcm9wZXJ0aWVzCgkgIFNob3VsZCBzZW5kIHRhZ3MgaW5zdGVhZC4KCjIwMTEtMTEtMjQgMDE6NTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IHVuY29uZGl0aW9uYWxseSBzZW5kIGljZWNhc3QgcmVxdWVzdCBoZWFkZXIsIHJlbW92ZSBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoKMjAxMS0xMS0yNCAwMToyMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBtbXNzcmM6IG1ha2UgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eSBhIGd1aW50NjQKCSAgRXZlbiBpZiB0aGUgbGlicmFyeSBsaW1pdHMgaXQgdG8gYW4gaW50LgoKMjAxMS0xMS0yNCAwMDo1Njo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB1cGRhdGUgZm9yIGdzdHJ0cGJpbiAtPiBydHBiaW4gcmVuYW1pbmcKCjIwMTEtMTEtMjMgMjM6NDI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBmYWFjLCBydG1wOiBtb3JlIHByaW50ZiBmb3JtYXQgZml4ZXMgaW4gZGVidWcgbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yMSAyMjo0NToxNSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIC8gNjQgYml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjMgMjM6MzA6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBkbyBub3QgbGVhayBidWZmZXIgd2hlbiBubyBlbmNvZGVkIGRhdGEgeWV0IG9yIGVuY29kaW5nIGVycm9yCgoyMDExLTExLTIzIDIzOjI5OjEwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMTEtMjMgMTY6MDE6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgc21vb3RoOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDYzMQoKMjAxMS0xMS0yMyAxMzo0NzoxMSArMDEwMCAgS3J6eXN6dG9mIEtyYWtvd2lhayA8a3J6eXN6dG9mLmtyYWtvd2lha0BnbWFpbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBmaXggbW9kdWxlcyBwbGF5aW5nIGFzIG1vbm8gaW5zdGVhZCBvZiBzdGVyZW8KCSAgcmVwbGFjZWQgYnJva2VuIGlmLXJldHVybiBsb2dpYyBmb3IgZml4YXRpbmcgcmF0ZSBhbmQgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRoYXQgY2F1c2VkIHRoYXQgbW9kdWxlcyB3ZXJlIGFsd2F5cyAoYWZ0ZXIKCSAgc3VjY2Vzc2Z1bCBmaXhhdGlvbiBvZiByYXRlKSBwbGF5ZWQgYXMgbW9ubyAoaW5zdGVhZCBvZgoJICBzdGVyZW8pIGJ5IGNvcnJlY3Qgb25lIHdpdGggYXBwcm9waWF0ZSB3YXJuaW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTAzNQoKMjAxMS0xMS0yMyAxMzoyMjoxMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogaW1wbGVtZW50IHJlcGxheSBnYWluCgkgIEl0IHdvdWxkIGlkZWFsbHkgYmUgYmV0dGVyIHRvIGxlYXZlIHRoaXMgdG8gYSByZ3ZvbHVtZSBlbGVtZW50LAoJICBidXQgd2UgZG9uJ3QgY29udHJvbCB0aGUgcGlwZWxpbmUuIFNvIGRvIGl0IGJ5IGRlZmF1bHQsIGFuZCBhbGxvdwoJICBkaXNhYmxpbmcgaXQgdmlhIGEgcHJvcGVydHksIHNvIHRoZSBjb3JyZWN0IHZvbHVtZSBzaG91bGQgYWx3YXlzCgkgIGJlIG91dHB1dC4KCjIwMTEtMTEtMjMgMTE6NTg6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGFkZCBpbi1iYW5kIEZFQyBzdXBwb3J0CgkgIFRoaXMgYWxsb3dzIHJlY29uc3RydWN0aW9uIG9mIGxvc3QgcGFja2V0cyBpZiBGRUMgaW5mbyBpcyBpbmNsdWRlZAoJICBpbiB0aGUgbmV4dCBwYWNrZXQsIGF0IHRoZSBjb3N0IG9mIGV4dHJhIGxhdGVuY3kuIFNpbmNlIHdlIGRvIG5vdAoJICBrbm93IGlmIHRoZSBzdHJlYW0gaGFzIEZFQyAoYW5kIHRoaXMgY2FuIGNoYW5nZSBhdCBydW50aW1lKSwgd2UKCSAgYWx3YXlzIGluY3VyIHRoZSBsYXRlbmN5LCBldmVuIGlmIHdlIG5ldmVyIGxvc2UgYW55IGZyYW1lLCBvciBzZWUKCSAgYW55IEZFQyBpbmZvcm1hdGlvbi4gT2ZmIGJ5IGRlZmF1bHQuCgoyMDExLTExLTIzIDEyOjQxOjMyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBub3JtYWxpemUgYm9vbGVhbiBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlcyB0byBUUlVFL0ZBTFNFCgkgIEdsaWIgYmFya3MgYXQgdXMgd2l0aCBhIHdhcm5pbmcgd2hlbiB3ZSBwYXNzIGUuZy4gNC4KCjIwMTEtMTEtMjMgMTE6NTk6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogYWFhbmQgZml4IG15IGxhc3QgY29tbWl0CgoyMDExLTExLTIzIDExOjU1OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IEZpeCBnc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluCgoyMDExLTExLTIzIDExOjMxOjQ0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiB1cGRhdGUgUkVBRE1FIGFuZCBUT0RPIGNvbW1lbnRzCgoyMDExLTExLTIzIDExOjIxOjE1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc2NvcGU6IHVzZSB0aGUgZHJhd2hlbHBlcnMgYW5kIGFkZCBhIGRyYXctc3R5bGUgcHJvcGVydHkKCSAgTGlrZSBpbiB3YXZlc2NvcGUgc3VwcG9ydCBkcmF3aW5nIGRvdHMgYW5kIGxpbmVzLgoKMjAxMS0xMS0yMyAxMTowODozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW0KCSAgZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYwoJICBnc3QvZmlsdGVyL2dzdGlpci5jCgkgIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmMKCjIwMTEtMTEtMjMgMDg6NDA6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBzb21lIHNpbXBsZSBkcmF3aW5nIGhlbHBlcnMgZm9yIHJldXNlCgkgIEFkZCBhICh1bmluc3RhbGxlZCkgaGVhZGVyIHdpdGggc2ltcGxlIGRyYXdpbmcgbWFjcm9zCgoyMDExLTExLTIzIDA4OjE3OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL1JFQURNRToKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIHNtb290aHdhdmU6IHJlbW92ZSBlbGVtZW50IHVucG9ydGVkIGZyb20gMC44CgkgIFRoZSB3YXZlc2NvcGUgZWxlbWVudCBkb2VzIGFjaGlldmUgdGhlIHNhbWUgZWZmZWN0LgoKMjAxMS0xMS0yMyAwODoxNDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgd2F2ZXNjb3BlOiBhZGQgYSBzdHlsZSBwcm9wZXJ0eSBmb3IgZHJhd2luZyBtb2RlcwoJICBBZGQgYSBzdHlsZSBlbnVtIG9mIHsgZG90cywgbGluZXN9LiBOb3cgdGhpcyBlbGVtZW50cyBpcyBhIHN1cGVyc2V0IG9mIHNtb290aHdhdmUuCgoyMDExLTExLTIyIDIzOjA0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGRvY3M6IGZpeCBjb21tZW50IGluIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZ2V0X21heF9kZWNvZGVfdGltZSgpIGRvY3MKCjIwMTEtMTEtMjIgMjA6Mjc6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtYXJrIHByb3BlcnRpZXMgY2hhbmdlYWJsZSBhdCBydW50aW1lIHdpdGggR1NUX1BBUkFNX01VVEFCTEVfUExBWUlORwoKMjAxMS0xMS0yMiAxOTo1NzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXggd2VpcmQgZXZlbnQgbGlzdCBoYW5kbGluZwoJICBHZXQgcmlkIG9mIHdlaXJkIGNvZGUgdGhhdCBjb3BpZXMgYSBsaXN0IG1hbnVhbGx5LCB0YWtpbmcKCSAgb3duZXJzaGlwIG9mIHRoZSBlbGVtZW50cyBhbmQgdGhlbiBmcmVlcyB0aGUgb2xkIGxpc3QuIEluc3RlYWQsCgkgIGp1c3QgdGFrZSBvdmVyIHRoZSBvbGQgbGlzdCBlbnRpcmVseS4gKElmIHRoZSBpbnRlbnQgd2FzIHRvCgkgIHJldmVyc2UgdGhlIGxpc3QsIG9uZSBjb3VsZCB1c2UgZ19saXN0X3JldmVyc2UoKSBpbnN0ZWFkKS4KCSAgVGhlbiwgcHVzaCBldmVudHMgaW4gdGhlIGxpc3Qgb3V0IGZyb20gbGFzdCB0byBmaXJzdCAoc2luY2UgdGhleQoJICB3ZXJlIHByZXBlbmRlZCBhcyB0aGV5IGNhbWUgaW4pIGluc3RlYWQgb2YganVzdCBwdXNoaW5nIG91dCB0aGUKCSAgbGFzdCBpbiB0aGUgbGlzdCBhbmQgbGVha2luZyB0aGUgb3RoZXJzLgoKMjAxMS0xMS0yMiAxODozMzoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBhZGQgdGVzdAoKMjAxMS0xMS0yMiAxNzowNDowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogYWxsb3cgc2V0dGluZyBtb3N0IHByb3BlcnRpZXMgYXQgUExBWUlORyB0aW1lCgkgIE9wdXMgYWxsb3dzIHRoZXNlIHRvIGJlIGNoYW5nZWQgZHVyaW5nIGVuY29kaW5nLCB0cmFuc3BhcmVudGx5CgkgIHRvIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0yMiAxNjoxNDowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGJvdW5kIHRoZSBiaXRyYXRlIHRvIG1vcmUgc2Vuc2libGUgdmFsdWVzCgkgIEdvIGZyb20gdGhlIGJvdW5kcyBtZW50aW9uZWQgaW4gdGhlIHNwZWMsIGFuZCBhbGxvdyBzb21lIG1vcmUKCSAgdmFyaWF0aW9uLgoJICBJbiBwYXJ0aWN1bGFyLCBkb24ndCBhbGxvdyBzaWxseSBsb3cgYml0cmF0ZXMsIGFuZCBhbGxvdyByZWFjaGluZwoJICB0aGUgbWF4aW11bSB1c2VmdWwgYml0cmF0ZS4KCjIwMTEtMTEtMjIgMTU6MzM6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGZpeCBjcmFzaCBvbiBwYXRob2xvZ2ljYWwgcGFyYW1ldGVycwoJICBBc2tpbmcgZm9yIDEgYml0L3Mgd291bGQgc2VsZWN0IGEgMCBieXRlIGJ1ZmZlciwgbGVhZGluZwoJICB0byBhIGNyYXNoLiBCdWZmZXIgc2l6ZSBpcyBub3cgY29udHJvbGxlZCBieSBhIG1heC1wYXlsb2FkLXNpemUKCSAgcHJvcGVydHksIHdoaWNoIGNhbid0IGJlIGxlc3MgdGhhbiAyLgoKMjAxMS0xMS0yMSAxODoxMjowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBkbyBub3Qgc2VuZCBoZWFkZXJzIHRocm91Z2ggZGF0YSBwYXRoCgkgIEFkZGl0aW9uYWxseSwgc2luY2UgT3B1cyBwYWNrZXRzIG1heSBjaGFuZ2UgYmV0d2VlbiBzdGVyZW8KCSAgYW5kIG1vbm8gYXMgdGhlIGVuY29kZXIgc2VlcyBmaXQsIGFzc3VtZSB0d28gY2hhbm5lbHMgd2hlbgoJICB3ZSBkbyBub3Qgc2VlIGEgaGVhZGVyLCBhbmQgdXNlIHRoZSBoZWFkZXIgdmFsdWUgb3RoZXJ3aXNlLgoKMjAxMS0xMS0yMSAxNzo0ODo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJICBvcHVzOiBtb3ZlIGhlYWRlciBtYWdpYyB0ZXN0aW5nIHRvIGdzdG9wdXNoZWFkZXIKCjIwMTEtMTEtMjEgMTc6MDE6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBza2lwIHByZS1za2lwIHNhbXBsZXMKCjIwMTEtMTEtMjEgMTI6NTA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJlYWQgcHJlLXNraXAgZnJvbSBmaXJzdCBoZWFkZXIgaWYgYXZhaWxhYmxlCgoyMDExLTExLTE3IDExOjMzOjU2ICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogc3VwcG9ydCBtb3JlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmdzCgkgIFN1cHBvcnQgVVRGLTE2QkUsIEVVQy1LUiAoS1NYMTAwMSksIEdCMjMxMiBhbmQgSVNPLTEwNjQ2L1VURjggdGV4dAoJICBlbmNvZGluZyBhbmQgZml4ZWQgbmV3IGxpbmUgZm9yIG11bHRpYnl0ZSBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MjU3CgoyMDExLTExLTIyIDA5OjExOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BsYXlvbmRlbWFuZC8uZ2l0aWdub3JlOgoJKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QvcGxheW9uZGVtYW5kL2RlbW8tbXAzLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZmlsdGVyLmZ1bmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgIHBsYXlvbmRlbWFuZDogcmVtb3ZlIHVucG9ydGVkIHBsdWdpbiBmcm9tIDAuOAoJICBUaGVzZSBkYXlzIG9uZSB3b3VsZCBkbyB0aGUgZWZmZWN0IGUuZy4gdXNpbmcgZ25vbmxpbi4KCjIwMTEtMTEtMjIgMDk6MTA6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IHRpbnkgZG9jIGJsb2IgY2xhcmlmaWNhdGlvbgoKMjAxMS0xMS0yMSAyMjo1NTo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkgIGZyZWV2ZXJiOiBhZGQgYSBmcmVldmVyYiBwb3J0CgkgIEZyZWV2ZXJiIGlzIGEgcHVibGljIGRvbWFpbiByZXZlcmIgaW1wbGVtZW50YXRpb24uIFBvcnQgaXQgYXMgYSBnc3RyZWFtZXIKCSAgZWxlbWVudCBhbmQgbWFrZSB1c2Ugb2YgZ3N0cmVhbWVyIHNwZWNpZmljIGZlYXR1cmVzIChnYXAgYXdhcmUsIGRpc2NvbnRzLAoJICBjb250cm9sbGVyLCAuLi4pLgoKMjAxMS0xMS0yMSAxMzozNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHVwZGF0ZSBmb3IgYWN0aXZhdGlvbiBjaGFuZ2VzCgoyMDExLTExLTIxIDEyOjAyOjI4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogcmVzZXQgdGFnc2V0dGVyIGludGVyZmFjZSBvbiBzdG9wCgoyMDExLTExLTIxIDExOjQ0OjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogaGFuZGxlIE5VTEwgcGFja2V0cyAodXNlZCBmb3IgUExDKQoKMjAxMS0xMS0yMSAxMToyODoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGxpZ2h0IGNsZWFudXAKCjIwMTEtMTEtMjAgMTM6MDc6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcGFyc2UgcmF3IG9wdXMgcGFja2V0cwoKMjAxMS0xMS0yMCAwOTo1ODowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBwdXNoIGhlYWRlciBidWZmZXJzCgkgIE9wdXMgaGVhZGVycyBhcHBlYXIgb25seSB3aGVuIG11eGVkIGluIE9nZywgc28gb25seSBwbGFjZSB0aGVtCgkgIG9uIHRoZSBjYXBzLCB3aGVyZSBvZ2dtdXggd2lsbCBmaW5kIHRoZW0sIGJ1dCBvdGhlciBlbGVtZW50cyB3aWxsCgkgIGJlIGJsaXRoZWx5IHVuYXdhcmUgb2YgdGhlbS4KCjIwMTEtMTEtMjAgMDk6NTI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogbWFrZSBvcHVzcGFyc2Ugc2V0IGhlYWRlcnMgb24gY2FwcwoJICBIZWFkZXItb24tY2FwcyBjb2RlIG1vdmVkIHRvIGEgbmV3IHNoYXJlZCBsb2NhdGlvbiB0byBhdm9pZAoJICBkdXBsaWNhdGluZyB0aGUgY29kZS4KCjIwMTEtMTEtMjEgMTA6NTQ6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBQb3J0IHRvIG5ldyBwYWQgZnVuY3Rpb24gc2lnbmF0dXJlcwoKMjAxMS0xMS0yMSAwODoyMDoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgc21vb3RoOiBwb3J0IHRvIDAuMTAKCSAgUG9ydCBmcm9tIEdzdEVsZW1lbnQgdG8gR3N0VmlkZW9GaWx0ZXIuIEZpeCBGSVhNRXMuIENsZWFudXAgbmFtaW5nLiBFeHBvc2UgbGVmdAoJICBvdXQgcHJvcGVydHkgKGt1bWEtb25seSkuCgoyMDExLTExLTIwIDIwOjE2OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Bhc3N0aHJvdWdoLy5naXRpZ25vcmU6CgkqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSogZ3N0L3Bhc3N0aHJvdWdoL2ZpbHRlci5mdW5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkqIGdzdC9wYXNzdGhyb3VnaC9wYXNzdGhyb3VnaC52Y3Byb2o6CgkgIHBhc3N0aHJvdWdoOiByZW1vdmUgb2Jzb2xldGUgZWxlbWVudAoJICBJdCBpcyBub3QgYnVpbHQgYnkgZGVmYXVsdC4gV2UgaGF2ZSBpZGVudGl0eSBmb3Igc29tZSBvZiB0aGUgbmVlZHMgYW5kIG90aGVyd2lzZQoJICBhdWRpby92aWRlb2ZpbHRlciBiYXNlIGNsYXNzZXMuCgoyMDExLTExLTIwIDIwOjA4OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpbHRlci9maWx0ZXIudmNwcm9qOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJKiBnc3QvZmlsdGVyL2lpci5jOgoJKiBnc3QvZmlsdGVyL2lpci5oOgoJICBmaWx0ZXI6IHJlbW92ZSBmaWx0ZXIgcGx1Z2luCgkgIFdlIGRvbid0IGJ1aWxkIGl0IGFueXdheSBhbmQgd2UgaGF2ZSBhdWRpb2lpcmZpbHRlciBpbiBnb29kLgoKMjAxMS0xMS0yMCAyMDowNjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBmaXggbGVmdG92ZXIgYm9pbGVycGxhY2UgY29tbWVudHMKCjIwMTEtMTEtMTggMDM6MzE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWxzbyByZXNldCB2aWRlby9hdWRpbyBmaWx0ZXJzIGJlZm9yZSBjYXB0dXJpbmcKCSAgVmlkZW8gYW5kIGF1ZGlvIGN1c3RvbSBmaWx0ZXIgZWxlbWVudCBzaG91bGQgYWxzbyBiZSByZXNldCBiZWZvcmUKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZSwgb3RoZXJ3aXNlIHdlIGdldCB3cm9uZy1zdGF0ZSBlcnJvcnMKCjIwMTEtMTEtMTkgMTU6NTg6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggdGVybWluYXRpbmcgTlVMIGJlaW5nIHdyaXR0ZW4gaW4gc2lnbmF0dXJlCgoyMDExLTExLTE2IDE5OjQwOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbWFrZSBmcmFtZS1zaXplIGFuIGVudW0KCSAgSXQgb25seSBzdXBwb3J0cyBhIHNldCBudW1iZXIgb2Ygc3BlY2lmaWMgdmFsdWVzIChpbmNsdWRpbmcKCSAgYSBub24gaW50ZWdlciBvbmUpLgoKMjAxMS0xMS0xNiAxOToyMjo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHRoZSBlbmNvZGVyIG1pZ2h0IG5vdCBtYWtlIHVzZSBvZiBhbGwgdGhlIGJ5dGVzCgoyMDExLTExLTE4IDE5OjI4OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgb3BlbmN2OiB1c2UgY2FwcyBjb25zdGFudHMgbW9yZQoKMjAxMS0xMS0xOCAxOToxOTozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogZml4dXAgZG9jIGJsb2JzCgoyMDExLTExLTE4IDE5OjE1OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiBmaXh1cCBnb2JqZWN0IG5hbWluZyBjb252ZW50aW9ucwoKMjAxMS0xMS0xOCAxNzo1OTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMTEtMTggMTc6MTg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgcmVkdW5kYW50IGNvZGUKCSAgLi4uIG5vdyB0aGF0IHdoYXQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgaXMgcmVhbGx5IG5vdCBuZWVkZWQgYW55bW9yZSB0byBjb3ZlcgoJICB1cCBib2d1cyBzdHVmZiB0aGF0IGhhcyBiZWVuIEZJWE1FZC4KCjIwMTEtMTEtMTggMTI6MzI6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdXAgQVUgY29sbGVjdGlvbiBwcm9jZXNzaW5nCgkgIE9uIHRoZSBvbmUgaGFuZCwgbm8gbmVlZCB0byBjb2xsZWN0IG5hbCBpZiBwcm9jZXNzaW5nIGxhc3Qgb25lLgoJICBPbiB0aGUgb3RoZXIgaGFuZCwgZW5zdXJlIEFVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZyB0byBoYXZlIHN1ZmZpY2llbnQKCSAgbmV4dCBOQUwgZGF0YSBpbiBub3JtYWwgY2FzZXMuCgkgIEZpeGVzICM2NjMxODAuCgoyMDExLTExLTE4IDE1OjEyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWluZCB0by1iZS1za2lwcGVkIGRhdGEgaW4gc3Vic2VxdWVudCByZS11c2VkIG9mZnNldHMKCjIwMTEtMTEtMTggMTU6MTA6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBhZGRpdGlvbmFsIE5BTCBwYXJzaW5nIGlmIG5vIEFVIGNvbGxlY3Rpb24gaXMgbmVlZGVkCgoyMDExLTExLTE4IDE1OjEwOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc29tZSBtb3JlIGdldF9jYXBzIHR3ZWFraW5nCgkgIC4uLiBieSBoYXZpbmcgaXQgdXNlIHNpbmsgdGVtcGxhdGUgcmF0aGVyIHRoYW4gc3JjIHRlbXBsYXRlLCBhbmQgbm90CgkgIHBhc3NpbmcgYW4gZG93bnN0cmVhbSBwYXJzZWQoPXRydWUpIHRvIHVwc3RyZWFtLgoKMjAxMS0xMS0xOCAxNTowNzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogaW5pdGlhbGl6ZSBhZGRpdGlvbmFsIHNwcyBmaWVsZCB2YWx1ZQoJICBGaXhlcyAjNjYzNTUyLgoKMjAxMS0xMS0xOCAxMzo1ODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gYWN0aXZhdGUgZnVuY3Rpb25zCgoyMDExLTExLTE4IDEyOjM4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgZml4IGZvciBzY2hlZHVsaW5nIG1vZGUgcmVuYW1lCgoyMDExLTExLTE4IDA4OjI5OjMxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSAgb3BlbmN2OiByZW1vdmUgZW1wdHkgZmluYWxpemUgaW1wbGVtZW50YXRpb25zCgoyMDExLTExLTE3IDIzOjAzOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSAgdm9hbXJ3YmVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTcgMjM6MDI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBzb21lIGNvZGUgc2h1ZmZsZSBjbGVhbnVwCgoyMDExLTExLTE3IDIzOjAyOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTcgMjM6MDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBwcm9wZXJseSByZXBvcnQgZXJyb3IgY2FzZQoKMjAxMS0xMS0xNyAyMzowMjoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IHJlbW92ZSB1bnVzZWQgaW5zdGFuY2UgdmFyaWFibGUKCjIwMTEtMTEtMTcgMTA6MzM6NDIgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBjYWxsIDo6cmVzZXQgb25jZSBpbiBSRUFEWS0+UEFVU0VECgoyMDExLTExLTE3IDE3OjMyOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5oCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmgKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCjIwMTEtMTEtMTcgMTU6NTM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMTA6MDc6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGxpYnMtZG9jczogYWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkKCjIwMTEtMTEtMTcgMDk6NTY6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHBvcnQgZm9yIHBhZF9xdWVyeSBhcGkgY2hhbmdlCgoyMDExLTExLTE3IDA4OjI1OjI4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgY29sbGVjdHBhZHM6IHBvcnQgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTYgMjA6NTM6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IGRldGVjdCBmYWNlIGZlYXR1cmVzCgkgIEFsc28gZGV0ZWN0IG1vdXRoLCBub3NlIGFuZCBleWVzLiBEcm9wIGZhY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGVtLiBGaXhlcyBsZWFraW5nIHRoZQoJICBjYXNjYWRlcy4gQWRkcyBtb3JlIGRvY3MuCgoyMDExLTExLTE2IDIwOjUxOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBHc3RmYWNlZGV0ZWN0IC0+IEdzdEZhY2VkZXRlY3QKCjIwMTEtMTEtMTQgMTE6MDU6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogY29kZSBtYWludGVuYW5jZQoJICBVcGRhdGUgZXhhbXBsZSB0byBiZSB1c2VmdWwuIERyYXcgY29sb3JlZCBlbGxpcHNlcyBpbnN0ZWFkIG9mIHVuaWNvbG9yIGNpcmNsZXMuCgkgIFJlZmxvdyBjb2RlIGZvciBtb3JlIGxvY2FsIHZhcmlhYmxlcy4gSW1wcm92ZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb25zLgoKMjAxMS0xMS0xNiAxMDo1Nzo1NSAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IENoYW5nZSByYW5rIHRvIFBSSU1BUlkrMQoKMjAxMS0xMS0xNiAxMDo0NTo1MiAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IHJlcXVpcmUgcGFyc2VkPWZhbHNlIG9uIHRoZSBzaW5rcGFkIGNhcHMKCjIwMTEtMTEtMTYgMTg6NDk6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgaW5jbHVkZSB2YXJpYWJsZSBmaWVsZHMgaW4gY2FwcwoJICBUaG9zZSBjYW4gdmFyeSBmcm9tIG9uZSBwYWNrZXQgdG8gdGhlIG5leHQsIHNvIGhhdmUgbm8gcmVhc29uCgkgIHRvIGJlIGluIHRoZSBjYXBzLgoKMjAxMS0xMS0xNiAxODo0Mzo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjb25zdHJhaW5lZC12YnIgcHJvcGVydHkgbmFtZSB0eXBvCgoyMDExLTExLTE2IDEwOjM4OjQ5IC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogSW1wbGVtZW50IDo6c2lua19nZXRfY2FwcyB0byBhbGxvdyBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gYWdhaW4KCSAgSnVzdCBwcm94eWluZyB0aGUgZG93bnN0cmVhbSBjYXBzIHdpbGwgcHJldmVudCBoMjY0cGFyc2UgZnJvbQoJICBhY2NlcHRpbmcgYSBkaWZmZXJlbnQgc3RyZWFtLWZvcm1hdCB0aGFuIHdoYXQgaXMgc3VwcG9ydGVkCgkgIGRvd25zdHJlYW0sIGFsdGhvdWdoIGl0IGNvdWxkIGNvbnZlcnQgdG8gYSBkaWZmZXJlbnQgc3RyZWFtLWZvcm1hdC4KCjIwMTEtMTEtMTYgMTg6MzU6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgYWxsIHRpbWluZwoKMjAxMS0xMS0xNiAxOToxODo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMTEtMTYgMTk6MTE6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNSAxOTo1MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogYWRkIG9wdXNwYXJzZSBlbGVtZW50CgkgIEEgdmVyeSBzaW1wbGUgZWxlbWVudCB0aGF0IHBhcnNlcyBPcHVzIHN0cmVhbXMgZnJvbSB0aGUgYWQgaG9jCgkgIGZyYW1pbmcgdXNlZCBieSB0aGUgT3B1cyB0ZXN0IHZlY3RvcnMuCgoyMDExLTExLTE2IDE3OjI0OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogYWxsb3cgbmVnb3RpYXRpb24gb2YgcmF0ZS9jaGFubmVscyB3aXRoIGRvd25zdHJlYW0KCSAgU2luY2UgYW4gb3B1cyBzdHJlYW0gbWF5IGJlIGRlY29kZWQgdG8gYW55IChzZW5zaWJsZSkgcmF0ZSwKCSAgYW5kIGVpdGhlciBzdGVyZW8gb3IgbW9ubywgd2UgdHJ5IHRvIGFjY29tb2RhdGUgZG93bnN0cmVhbS4KCjIwMTEtMTEtMTYgMTc6MDU6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJld3JpdGUgbG9naWMKCSAgUGFyYW1ldGVycyBzdWNoIGFzIGZyYW1lIHNpemUsIGV0YywgYXJlIHZhcmlhYmxlLiBQcmV0dHkgbXVjaAoJICBldmVyeXRoaW5nIGNhbiBjaGFuZ2Ugd2l0aGluIGEgc3RyZWFtLCBzbyBiZSBwcmVwYXJlZCBhYm91dCBpdCwKCSAgYW5kIGRvIG5vdCBjYWNoZSBwYXJhbWV0ZXJzIGluIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0xNiAxNjo1Njo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBwb3J0IHRvIGJhc2UgYXVkaW8gZW5jb2Rlci9kZWNvZGVyCgoyMDExLTExLTE2IDE3OjI4OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBhZGQgcGFyZW50IHRvIHF1ZXJ5IGZ1bmN0aW9uCgoyMDExLTExLTE2IDEzOjI2OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogYWxsb3cgbmVnb3RpYXRpb24gb2YgcmF0ZS9jaGFubmVscyB3aXRoIGRvd25zdHJlYW0KCSAgU2luY2UgYW4gb3B1cyBzdHJlYW0gbWF5IGJlIGRlY29kZWQgdG8gYW55IChzZW5zaWJsZSkgcmF0ZSwKCSAgYW5kIGVpdGhlciBzdGVyZW8gb3IgbW9ubywgd2UgdHJ5IHRvIGFjY29tb2RhdGUgZG93bnN0cmVhbS4KCjIwMTEtMTEtMTYgMDE6MTQ6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJld3JpdGUgbG9naWMKCSAgUGFyYW1ldGVycyBzdWNoIGFzIGZyYW1lIHNpemUsIGV0YywgYXJlIHZhcmlhYmxlLiBQcmV0dHkgbXVjaAoJICBldmVyeXRoaW5nIGNhbiBjaGFuZ2Ugd2l0aGluIGEgc3RyZWFtLCBzbyBiZSBwcmVwYXJlZCBhYm91dCBpdCwKCSAgYW5kIGRvIG5vdCBjYWNoZSBwYXJhbWV0ZXJzIGluIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0xNSAyMzowMDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmVtb3ZlIGJ1ZmZlciBwb29sLCBidWZmZXJzIGFyZSBub3QgY29uc3RhbnQgc2l6ZQoKMjAxMS0xMS0xNSAxOTo1MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogYWRkIG9wdXNwYXJzZSBlbGVtZW50CgkgIEEgdmVyeSBzaW1wbGUgZWxlbWVudCB0aGF0IHBhcnNlcyBPcHVzIHN0cmVhbXMgZnJvbSB0aGUgYWQgaG9jCgkgIGZyYW1pbmcgdXNlZCBieSB0aGUgT3B1cyB0ZXN0IHZlY3RvcnMuCgoyMDExLTExLTE2IDEyOjQ2OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbm90ZXMgb24gc3luY2hyb25pemF0aW9uIGFuZCBzY2hlZHVsaW5nCgoyMDExLTExLTE2IDEyOjQwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIHJlbmFtZWQgZmxhZ3MKCSAgVXNlIHRoZSBfY2hlY2tfcmVjb25maWd1cmUgbWV0aG9kIGluc3RlYWQgb2YgY2hlY2tpbmcgZmxhZ3MuCgoyMDExLTExLTE2IDEwOjU2OjI0ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3V0Z29pbmcgYnl0ZSBzdHJlYW0gcHJlZml4IGFsd2F5cyBoYXMgc2l6ZSA0CgkgIEZpeGVzICM2NjQxMjMuCgoyMDExLTExLTE1IDE3OjQ5OjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHBvaW50ZXIgbWlzbWF0Y2ggaW4gbWVtY3B5IG9uIGRyYWluCgoyMDExLTExLTE1IDE3OjU1OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgX3F1ZXJ5X3BlZXJfKigpIC0+IF9wZWVyX3F1ZXJ5XyooKQoKMjAxMS0xMS0xNSAxNzoyNDowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBfcGVlcl9nZXRfY2FwcygpIC0+IF9wZWVyX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjozNDoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgY2hhbmdlIGdldGNhcHMgdG8gcXVlcnkKCjIwMTEtMTEtMTQgMTE6MzA6MTMgKzAxMDAgIERhdmlkIEtpbmcgPGFtaWdhZGF2ZUBhbWlnYWRhdmUuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEb2N1bWVudCByZXF1aXJlbWVudCBmb3IgUExBWUlORyBzdGF0ZQoJICBBcyBkZXNjcmliZWQgaW4gR05PTUUgYnVnIDY2Mzk5OCwgdGhlIGVsZW1lbnQgbXVzdCBiZSBpbiB0aGUgUExBWUlORwoJICBzdGF0ZSBiZWZvcmUgY2FsbGluZyBjYXB0dXJlLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MDQ4CgoyMDExLTExLTE0IDE4OjM0OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzb21lIHJhY3luZXNzIGluIHRlc3RzCgkgIEZpeCBzb21lIHJhY3luZXNzIGFzIHRoZSB0ZXN0IHdhcyBjaGVja2luZyB0aGUgaWRsZSBwcm9wZXJ0eQoJICByaWdodCBhZnRlciBpdCBnb3QgdGhlIHByZXZpZXcgbWVzc2FnZSBmb3IgdmlkZW8gcmVjb3JkaW5ncy4gSW4gc29tZQoJICBjb25kaXRpb25zLCBpdCBtaWdodCBoYXBwZW4gdGhhdCBjYW1lcmFiaW4yIHN0aWxsIGhhc24ndCBkZWNyZW1lbnRlZAoJICB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGFmdGVyIHBvc3RpbmcgdGhlIHByZXZpZXcgYW5kL29yIHRoZSBpbWFnZS92aWRlby1kb25lCgkgIG1lc3NhZ2UgYW5kIHRoZSB0ZXN0IHdpbGwgZ2V0IGlkbGU9ZmFsc2UgYW5kIGZhaWwuCgkgIFRoZSBhcHByb2FjaCBmb3IgY2hlY2tpbmcgZm9yIHRoZSBpZGxlIHByb3BlcnR5IHdhcyBhIGJ1c3kgbG9vcCB3aXRoCgkgIGEgc2xlZXAuIEZhciBmcm9tIGVsZWdhbnQsIGJ1dCBnb29kIGVub3VnaCBmb3IgdGhlc2UgdGVzdHMuCgoyMDExLTExLTE0IDE2OjU1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsc28gcmVzZXQgYXVkaW8gZWxlbWVudHMgd2hlbiB2aWRlbyBjYXB0dXJlIGZpbmlzaGVzCgkgIEF1ZGlvIGVsZW1lbnRzIGFsc28gbmVlZCB0byBiZSByZXNldCBhZnRlciBlYWNoIGNhcHR1cmUsIGRvIGl0CgkgIHRvZ2V0aGVyIHdpdGggdGhlIHZpZGVvIGVsZW1lbnRzJyByZXNldAoKMjAxMS0xMS0xMSAwOTo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgb25lIGRlYnVnIGxpbmUgYWJvdXQgY2FtZXJhYmluMiBiZWluZyBpZGxlCgoyMDExLTExLTEwIDE2OjUzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHZpZGVvIGVsZW1lbnRzJyBzdGF0ZSBjbGVhcmluZyBmcm9tIHN0YXJ0LWNhcHR1cmUKCSAgUmVkdWNlIHN0YXJ0LWNhcHR1cmUgd29ya2xvYWQgYnkgbW92aW5nIHRoZSBlbGVtZW50cycgc3RhdGUgcmVzZXRpbmcgdG8gdGhlCgkgIGZpbmlzaGluZyBzdGVwcyBvZiB0aGUgY2FwdHVyZS4gVGhpcyByZWR1Y2VzIHRoZSB0aW1lIHN0YXJ0LWNhcHR1cmUgdGFrZXMgdG8KCSAgYWN0dWFsbHkgc3RhcnQgYSBjYXB0dXJlIGFuZCByZXR1cm4gdG8gaXRzIGNhbGxlciwgaW1wcm92aW5nIHVzZXIgZXhwZXJpZW5jZS4KCSAgQXMgdGhlIGVsZW1lbnRzJyBzdGF0ZSByZXNldCBpcyBub3cgdHJpZ2dlcmVkIGZyb20gdGhlIG1lc3NhZ2UgaGFuZGxpbmcKCSAgZnVuY3Rpb24sIGl0IG5lZWRzIHRvIHNwYXduIGEgbmV3IHRocmVhZCwgY2hhbmdpbmcgc3RhdGUgZnJvbSB0aGUgcGFkJ3MKCSAgdGFzayB3b3VsZCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMS0xMS0xMCAxNjoxMTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IGtlZXAgdHJhY2sgb2YgdmlkZW8gcmVjb3JkaW5nIHN0YXRlCgkgIEFkZHMgYSBuZXcgdmFyaWFibGUgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3RhdGUgb2YgdGhlIHZpZGVvCgkgIHJlY29yZGluZyBpbiBjYW1lcmFiaW4yLiBUaGlzIGFsbG93cyBzdGFydC1jYXB0dXJlIHRvIHJlamVjdAoJICBuZXcgdmlkZW8gcmVjb3JkaW5nIHJlcXVlc3RzIHdoZW4gb25lIGlzIGFscmVhZHkgb25nb2luZy4gVGhpcwoJICBmaXhlcyBvbmUgb2YgY2hlY2sgdGVzdHMuCgoyMDExLTExLTE0IDEzOjQxOjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHBvcnQgdG8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3NlcwoKMjAxMS0xMS0wMyAxNDowOTo1MiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6Q29ycmVjdCB0aGUgc2tpcHBpbmcgb2YgdmJ2X2RlbGF5IGluIHBpY3R1cmUgaGVhZGVyIGFuZCBzb21lIHR5cG8gZml4ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzMDkKCjIwMTEtMTEtMTMgMjM6NTU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIGdldF9wcm90b2NvbHMoKSBjaGFuZ2VzCgoyMDExLTExLTExIDE3OjQ2OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAxNToxMzozNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBtaW1pYywgb3BlbmN2LCB2cDgsIGFjbW1wM2RlYywgbGluc3lzOiBEb24ndCBidWlsZCBzdGF0aWMgcGx1Z2lucwoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgZXZlcnl3aGVyZSB3aGVyZSBpdCdzIGJlZW4gZm9yZ290dGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NjgKCjIwMTEtMTEtMTEgMTA6Mzk6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDE5OjQyOjQwIC0wMzAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgcHJvZ3Jlc3NpdmUgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3ODIKCjIwMTEtMTEtMDkgMjA6MDk6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAxODozNDowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFJlbW92ZSBxdWVyeV90eXBlcwoKMjAxMS0xMS0xMCAxODozNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTg6MjU6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlCgoyMDExLTExLTEwIDE3OjEzOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGJhbmR3aWR0aCBwcm9wZXJ0eSB0eXBlIG1pc21hdGNoCgoyMDExLTExLTEwIDEyOjE0OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxMjoxMToyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSAgY2hhaW4gdXAgaW4gc2V0X2Nsb2NrCgoyMDExLTExLTA5IDEyOjIxOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogcHJvdGVjdCBpbWFnZSBsb2NhdGlvbiBsaXN0IHdpdGggbXV0ZXgKCSAgUmVuYW1lIHRoZSBpbWFnZSB0YWdsaXN0cycgbXV0ZXggaW50byBpbWFnZSBjYXB0dXJlIG11dGV4IGFuZAoJICB1c2UgaXQgYWxzbyBmb3IgdGhlIGltYWdlIGNhcHR1cmUgbGlzdCB0byBwcmV2ZW50IGNvbmN1cnJlbnQKCSAgYWNjZXNzIGZyb20gZGlmZmVyZW50IHRocmVhZHMgKGFwcGxpY2F0aW9uIGFuZCBjYXB0dXJlIHRocmVhZHMpLgoKMjAxMS0xMS0wOSAxMTo0NToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgbnVsbCB0YWdsaXN0cyBmb3IgaW1hZ2VzCgkgIEFkZCBOVUxMIGFuZCBjaGVjayBmb3IgdGhlbSB0byB0aGUgaW1hZ2UgY2FwdHVyZSB0YWdsaXN0IGxpc3QsIHJlcHJlc2VudGluZwoJICB0aGF0IGEgY2FwdHVyZSBoYXMgbm8gYXBwbGljYXRpb24gdGFncyBzZXQuCgoyMDExLTExLTA5IDExOjE3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERvbid0IHN0b3JlIHByZXZpZXcgbG9jYXRpb24gaWYgcHJldmlldyBpc24ndCByZXF1ZXN0ZWQKCSAgRG8gbm90IHN0b3JlIHByZXZpZXcgbG9jYXRpb24gaXMgcG9zdC1wcmV2aWV3cyBpcyBmYWxzZSwgdGhpcyB3b3VsZAoJICBtZXNzIHVwIHByZXZpZXcgbmFtaW5nIGluIGNhc2UgYXBwbGljYXRpb24gc3dpdGNoZXMgYmV0d2VlbiBlbmFibGluZwoJICBhbmQgZGlzYWJsaW5nIHByZXZpZXdzCgoyMDExLTExLTA5IDA5OjQxOjQ0IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQXZvaWQgYmxvY2tpbmcgaW4gc3RhcnQtY2FwdHVyZSBhbmQgc2VuZCBhcHBsaWNhdGlvbiB0YWdzIGxhdGVyCgkgIFRhZ3MgYXJlIGN1cnJlbnRseSBzZW50IGZyb20gc3RhcnQtY2FwdHVyZSwgd2hpY2ggaXMgcnVuIGluIHRoZQoJICBhcHBsaWNhdGlvbiB0aHJlYWQuIEZvciBpbWFnZXMgd2UgY2FuIGRlbGF5IHRoZSB0YWdzIHB1c2hpbmcgdG8gdGhlCgkgIGJ1ZmZlciBwcm9iZSBhbmQgcHVzaCB0aGUgdGFncyB3aXRoIHRoZSBsb2NhdGlvbiBldmVudCBhbmQgcmVkdWNlCgkgIHN0YXJ0LWNhcHR1cmUgdGltZS4KCjIwMTEtMTEtMDkgMTI6MjQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA5IDEyOjE5OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMS0xMS0wOSAxMjowMDowNSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGZpeCBkb2N1bWVudGF0aW9uIHR5cG8KCjIwMTEtMTEtMDkgMTE6NTY6MDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgoyMDExLTExLTA5IDExOjU1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA0IDE3OjU0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBSZWplY3Qgc3RhcnQvc3RvcCByZXF1ZXN0cyB0aGF0IGNvbWUgb3V0IG9mIG9yZGVyCgoyMDExLTEwLTI5IDE4OjI0OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFBvc3QgbWVzc2FnZXMgd2hlbiBzdGFydGluZyB0byBzZW5kL3JlY2VpdmUgRFRNRgoJICBUaGlzIHdheSwgdGhlIFVJIGNhbiBkaXNwbGF5IHRoZSBEVE1GIGV2ZW50cyBhcyB0aGV5IGFzIGJlaW5nIHNlbnQuCgoyMDExLTExLTA4IDA4OjA4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERlY3JlbWVudCBwcm9jZXNzaW5nIGNvdW50ZXIgd2hlbiBtZXNzYWdlIGhhbmRsaW5nIGZpbmlzaGVzCgkgIFNvbWUgbWVzc2FnZXMgbWlnaHQgYmUgaW50ZXJlc3RpbmcgdG8gYXBwbGljYXRpb25zLCBzbyB3ZSBjYW4gb25seQoJICBkZWNyZW1lbnQgdGhlIHByb2Nlc3NpbmcgY291bnRlciBhbmQgc2VuZCB0aGUgaWRsZSBub3RpZmljYXRpb24KCSAgd2hlbiB0aG9zZSBtZXNzYWdlcyBhcmUgcG9zdGVkIG9uIHRoZSBwaXBsaW5lJ3MgYnVzCgoyMDExLTExLTA4IDA3OjMzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVwZGF0ZSB0ZXN0cyB0byBzZXQgcG9zdC1wcmV2aWV3cyB0byB0cnVlCgkgIE1ha2VzIG1vc3Qgb2YgY2FtZXJhYmluMiB0ZXN0cyBwYXNzIGFnYWluCgoyMDExLTExLTA4IDExOjI4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwNzowOTo0MSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBjaGFuZ2UgcG9zdC1wcmV2aWV3cyBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlIGFzIGZhbHNlCgkgIEdlbmVyYXRpbmcgYW5kIHBvc3RpbmcgcHJldmlldyBpbWFnZSBhbHdheXMgY29tZXMgd2l0aCBhIHBlcmZvcm1hbmNlCgkgIHBlbmFsdHkgc28gc2V0IGRlZmF1bHQgdmFsdWUgYXMgZmFsc2UuIFRoZSBwcmV2aWV3LWNhcHMgcHJvcGVydHkgdGhhdAoJICBkZWZpbmVzIHRoZSBwcmV2aWV3IGltYWdlIGZvcm1hdCBpcyBhbHNvIE5VTEwgYnkgZGVmYXVsdCwgc28gaW5zdGVhZAoJICBvZiBnZW5lcmF0aW5nIHByZXZpZXcgaW1hZ2Ugb2YgdW5zcGVjaWZpZWQgZm9ybWF0IGJ5IGRlZmF1bHQgZXhwbGljaXQKCSAgYWN0aW9uIGZyb20gYXBwbGljYXRpb24gc2hvdWxkIGJlIHJlcXVpcmVkIGZvciBlbmFibGluZyBwcmV2aWV3IGltYWdlCgkgIHBvc3RpbmcgZmVhdHVyZS4KCSAgQXBwbGljYXRpb24gYWxzbyBoYXMgdG8gYWRkIGN1c3RvbSBjb2RlIHRvIGJlIGFibGUKCSAgdG8gaGFuZGxlIHByZXZpZXcgbWVzc2FnZXMgb24gaXRzIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gYW55d2F5LgoKMjAxMS0xMS0wNyAyMDozOTo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIEFkZCBBbmRyb2lkIGJ1aWxkc3lzdGVtIGhvb2tzIGZvciBjb2RlY3BhcnNlcnMKCjIwMTEtMTEtMDEgMjA6Mzc6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggcjIxMCB3cml0aW5nIG9ubHkgaGFsZiBhIHNjYW5saW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMDMKCjIwMTEtMTEtMDcgMTY6NDE6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbTogYWRkIG1vcmUgY29uc3RzLCBlc3BjaWFsbHkgZm9yIHN0YXRpYyBjb25zdCBkYXRhCgoyMDExLTExLTA3IDE3OjEzOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2ZGJhc2ViaW46IGZpeCBmb3IgcGFkIHByb2JlcyB1cGRhdGUKCjIwMTEtMTEtMDMgMTg6NTU6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBtZXJnZSBjYXBzIGluc3RlYWQgb2YgdXNpbmcgdW5pb24KCSAgSXQncyBhIGxvdCBmYXN0ZXIsIGFuZCBwcmVzZXJ2ZXMgY2FwcyBvcmRlcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzM0NgoKMjAxMS0xMC0yNyAxNTo1Mzo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU3CgoyMDExLTA4LTI5IDEzOjAwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IGNhdGNoIHNlY3Rpb24gbGVuZ3RocyBleHRlbmRpbmcgcGFzdCB0aGUgYnVmZmVyIGxlbmd0aAoJICBUaGlzIGlzIHByb2JhYmx5IHRoZSBjYXVzZSBmb3IgYW4gb2NjYXNpb25hbCBjcmFzaCB3aGlsZSBzdHJlYW1pbmcKCSAgTVBFRy4gQmxpbmQgZml4IGFmdGVyIHN0YXJpbmcgYXQgdGhlIGNvZGUgYW5kIGZvbGxvd2luZyBsb2dpYywgc28KCSAgbWF5IG9yIG1heSBub3QgZml4IHRoZSBpc3N1ZSwgSSBjYW5ub3QgdGVzdC4KCjIwMTEtMTAtMjAgMTA6NDI6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBkbyBub3QgdHJ5IHRvIHNlZWsgYmVmb3JlIHRoZSBmaXJzdCBjaGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODkwNjQKCjIwMTEtMTAtMDUgMTg6MzA6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBmaXggbGF0ZW5jeSBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NDIxCgoyMDExLTEwLTA1IDE4OjI1OjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGxhdGVuY3kgcXVlcnkKCSAgVGhpcyBtYWtlcyBsaXZlICdhdWRpb3NyYyAhIG9wdXNlbmMgISBvcHVzZGVjICEgYXVkaW9zaW5rJyBwaXBlbGluZXMKCSAgYWN0dWFsbHkgd29yayB3aXRob3V0IGFsbCBhdWRpbyBiZWluZyBkdW1wZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA5OTkKCjIwMTEtMTAtMDUgMTU6NDc6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB1c2UgZGVidWcgbGV2ZWwgZm9yIGRlYnVnIGluZm8sIG5vdCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwOTk5CgoyMDExLTA5LTI5IDE0OjIyOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZml4IGNhbGN1bGF0aW9uIG9mIGZpbGxlciBkYXRhIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDQ2OQoKMjAxMS0wOS0yOSAxNDoyMjozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjYWxjdWxhdGlvbiBvZiBmaWxsZXIgZGF0YSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA0NjkKCjIwMTEtMTAtMDMgMTg6Mjg6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ3BzZGVtdXg6IGZpeCB6ZXJvIGxlbmd0aCBwYWNrZXQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQxNgoKMjAxMS0xMS0wMiAxMjo0MTo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogbWFyayB0ZXN0IGlucHV0IGRhdGEgY29uc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzNQoKMjAxMS0xMS0wMiAxMjo0MTozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZXI6IGlucHV0IGRhdGEgaXMgY29uc3QsIG1hcmsgaXQgc28KCjIwMTEtMTEtMDIgMTI6Mzg6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IGFsbG93IGJ1aWxkaW5nIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgZ2xpYiAoZ19saXN0X2ZyZWVfZnVsbCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzNAoKMjAxMS0xMS0wNyAxMDowMjowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDQgMTg6MDY6NTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBtaXNzaW5nIHNvdXJjZXMgb24gYmF5ZXIncyBidWlsZHN5c3RlbSBhbmRyb2dlbml6ZXIgY2FsbAoKMjAxMS0xMS0wNCAxODo1MjozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTY6MzQ6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxNjoyMzowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBleGFtcGxlcyA6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wNCAxMzowNDoxOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBhZGQgbW9yZSBzaXplIGNoZWNrcyBhbmQgaW1wcm92ZSBleGlzdGluZwoJICBEb24ndCBzdWJ0cmFjdCB3aXRoIHVuc2lnbmVkIHZhbHVlcywgdGhhdCB3aWxsIGJpdGUgdXMuIEFsc28gZml4IGZvcm1hdAoJICBzcGVjaWZpZXIgaW4gdGhlIGxvZyBtZXNzYWdlLgoKMjAxMS0xMS0wNCAxMjozMToxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxMjoyMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIG1ha2UgcmVxdWVzdCBwYWRzIHRha2UgXyV1CgoyMDExLTExLTA0IDExOjI0OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJICB2aWRlbzogcG9ydCBzb21ld2hhdCB0byAwLjExCgkgIEluIDAuMTEgdGhpcyBzaG91bGQgYmUgZG9uZSBkaWZmZXJlbnRseQoKMjAxMS0xMS0wNCAxMTowMTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDQgMTA6MTc6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBGaXggZm9yIHJlbW92YWwgb2YgZ3N0X2VsZW1lbnRfZm91bmRfdGFnc19mb3JfcGFkKCkKCjIwMTEtMTEtMDMgMTc6MTc6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJICBzdXJmYWNlY29udmVydGVyOiBSZW1vdmUgZHVwbGljYXRlZCBmb3J3YXJkIGRlY2xhcmF0aW9uCgkgIEl0IHNlZW1zIHRoYXQgc29tZSBjb21waWxlcnMgZG9uJ3QgbGlrZSBkdXBsaWNhdGVkIHR5cGVkZWZzLgoKMjAxMS0xMS0wMyAxNjo1NzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIHZpZGVvZW5jOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0xMS0wMyAxNjo1NzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2aWRlbzogZml4IGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlCgoyMDExLTExLTAzIDE0OjAxOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDMgMTM6NTY6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGxpYnMvdmlkZW86IEZpbmlzaCBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDktMjggMTk6Mjk6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkgIHZpZGVvOiBBZGQgbGliZ3N0YmFzZXZpZGVvIFBDIGZpbGUKCjIwMTEtMTAtMTkgMTY6MTk6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJICB2aWRlbzogQWRkIEdzdFZpZGVvQ29udGV4dCBpbnRlcmZhY2UKCSAgVGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSB1c2VkIHRvIGltcGxlbWVudCB2aWRlbyBjb250ZXh0IHNoYXJpbmcuIFRob3NlCgkgIGNvbnRleHQgY291bGQgYmUgWDExIERpc3BsYXksIFZhRGlzcGxheSwgZXRjLgoKMjAxMS0xMC0wNyAxOTowNTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJICB2aWRlbzogQWJzdHJhY3Qgc3VyZmFjZSBBUEkgZm9yIEhXIGFjY2VsZXJhdGVkIGNvZGVjcwoKMjAxMS0xMC0yNiAxNjozMTozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB0ZXN0czogbWFrZSBjb25zdCBkYXRhIGNvbnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI3NzYKCjIwMTEtMTAtMjYgMTY6Mjk6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBkbyBub3Qgb3ZlcndyaXRlIGJ1ZmZlcgoJICBJIGRvIG5vdCBrbm93IHRoZSBiaXRzdHJlYW0gZm9ybWF0LCBidXQgdGhpcyBzZWVtcyBsaWtlbHkKCSAgdG8gYmUgd2hhdCB3YXMgaW50ZW5kZWQuIEFsc28gYWRkIGEgY2hlY2sgb24gdGhlIG51bWJlciBvZgoJICBpdGVtcyB0byByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNzc2CgoyMDExLTEwLTIxIDEzOjE4OjI2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGZpeCBwYXJzaW5nIG9mIFJBTkdFUkVERlJNCgoyMDExLTExLTAyIDEyOjEwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRhZzogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6MzE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTAyIDA5OjE0OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1cGRhdGUgZm9yIHRhZ2xpc3QgYXBpIGNoYW5nZXMKCjIwMTEtMTAtMjkgMDk6MDk6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBzdHJ1Y3R1cmU6IGZpeCBmb3IgYXBpIHVwZGF0ZQoKMjAxMS0xMC0yOSAwODoyNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgY2FwczogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDExOjQ3OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9uIGNhcHR1cmUgZXJyb3IsIHNraXAgcHJldmlld3MKCSAgV2hlbiB0aGUgY2FtZXJhIHNvdXJjZSBmYWlscyB0byBkbyBzb21lIGNhcHR1cmUsIHNraXAgdGhlIG5leHQKCSAgcHJldmlldyBhbmQgZGVjcmVtZW50IHByb2Nlc3NpbmcgY291bnRlci4KCjIwMTEtMTEtMDEgMTA6Mzg6MzMgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdHJhY2sgYWxzbyBwcmV2aWV3IGltYWdlcyB3aXRoIHByb2Nlc3NpbmcgY291bnRlcgoJICBNYWtlcyBjYW1lcmFiaW4yIG9ubHkgc2lnbmFsIHRoYXQgaXQgaXMgaWRsZSBhZnRlciBhbGwgcHJldmlld3MgaGF2ZQoJICBiZWVuIGdlbmVyYXRlZCwgaW1hZ2VzIGFyZSBjYXB0dXJlZCBhbmQgc2F2ZWQsIGFuZCB2aWRlb3MgaGF2ZQoJICBiZWVuIGZpbmlzaGVkIHByb3Blcmx5LgoKMjAxMS0xMS0wMSAxNTowODoyNiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggYWNjZXNzIHRvIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CgkgIFdoZW4gdnVpLT50aW1pbmdfaW5mb19wcmVzZW50IGlzIDAsIHZ1aS0+Zml4ZWRfZnJhbWVfcmF0ZV9mbGFnIGFuZCBvdGhlcnMKCSAgY2Fubm90IGJlIGFjY2Vzc2VkIHNpbmNlIHRoZXkgaGF2ZSBub3QgYmVlbiBzZXQuCgkgIEl0IHdhcyBhbHNvIHBvc3NpYmxlIHRoYXQgc3BzLT5mcHNfe251bSxkZW59IGVuZCB1cCBpbml0aWFsaXplZCBoZXJlLgoKMjAxMS0xMS0wMSAxMToxMTo0NyArMDAwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaGFjayBhcm91bmQgYnJva2VuIG1wbGV4IDIuMC4wIGhlYWRlcnMgaW4gbXBsZXggY2hlY2sKCSAgRHVlIHRvIHRoZSBhZGRpdGlvbiBvZiBhbiB1bmNvbmRpdGlvbmFsIGluY2x1c2lvbiBvZiBjb25maWcuaCBpbgoJICBtanBlZ3Rvb2wgMi4wLjAncyBzdHJlYW1fcGFyYW1zLmggaGVhZGVyIHRoZSBhdXRvY29uZiB0ZXN0IGZvciB0aGUKCSAgbXBsZXggbW9kdWxlIGZhaWxlZC4gSGFjayBhcm91bmQgdGhpcyBpbiB0aGUgc2FtZSB3YXkgd2UgZGlkIGZvcgoJICBtcGVnMmVuYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYxNAoKMjAxMS0xMS0wMSAxMTowOTo1MiArMDAwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHR5cG8gaW4gbXBlZzJlbmMgY2hlY2sgc28gQ1BQRkxBR1MgZ2V0IHJlc3RvcmVkIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjE0CgoyMDExLTExLTAxIDEyOjI5OjM1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBNQVhfU1BTL1BQUyBib3VuZGFyeSBjaGVja3MKCjIwMTEtMTEtMDEgMTI6MTI6NTYgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogZml4IGV4aXQgY29kZQoKMjAxMS0xMS0wMSAwMDo0NToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTI4IDExOjEwOjA2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IERvbid0IHJlc2V0IHRoZSBjb250ZXh0IG9uIERJU0NPTlQKCSAgT24gZGlzY29udCwgdGhlIHF1ZXVlIG9mIGZyYW1lcyB3YXMgYmVpbmcgY2xlYXJlZCwgYnV0IGFsc28gdGhlCgkgIGNvbnRleHQgcmVzZXQuIFdlIG9ubHkgbmVlZCB0byBjbGVhciB0aGUgcXVldWUuCgoyMDExLTEwLTMxIDE0OjUxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0zMSAxNDo1MTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAga2F0ZSwgYmF5ZXIsIHRzZGVtdXg6IHVwZGF0ZSBmb3IgY2FwcyBhbmQgdGFnbGlzdCBBUEkgY2hhbmdlcwoKMjAxMS0xMC0zMSAxNDo1MDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIGthdGUgYW5kIG15dGh0diB0byBub24tcG9ydGVkIGxpc3QKCSAga2F0ZXRpZ2VyIGlzbid0IHBvcnRlZCwgc28gcGx1Z2luIGRvZXNuJ3QgYnVpbGQgaWYgbGlidGlnZXIgaXMgcHJlc2VudC4KCjIwMTEtMTAtMzEgMTE6MzY6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBoYW5kbGUgZmFpbHVyZXMgaW4gc3RhcnQoKSBhbmQgc3RvcCgpCgoyMDExLTEwLTMxIDA2OjU5OjUzIC0wMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFzcmM6IG9wdGltaXplIHN0YXRlIGNoYW5naW5nIHNwZWVkCgkgIENyZWF0ZSBwcmV2aWV3IHBpcGVsaW5lIGFscmVhZHkgaW4gaW5pdGlhbGl6YXRpb24gcGhhc2UuIFRoaXMgc3BlZWRzCgkgIHVwIE5VTExfVE9fUkVBRFkgc3RhdGUgY2hhbmdlLiBBbHNvIGltcGxlbWVudCBhIHNlcGFyYXRlIGZ1bmN0aW9uIGZvcgoJICBzZXR0aW5nIHRoZSBwcmV2aWV3IGZpbHRlciBlbGVtZW50LgoJICBUaGlzIGFsc28gcmVzdHJpY3RzIHRoZSBwcmV2aWV3IGZpbHRlciBwcm9wZXJ0eSB0byB3b3JrIG9ubHkgb24KCSAgTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTU6MTY6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtYWtlIGVsZW1lbnRzIGNvbXBpbGUgYWdhaW4KCjIwMTEtMTAtMjcgMTY6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI3IDE2OjIzOjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjcgMTY6MjI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFkZCBzcGFuZHNwIHRvIG5vbi1wb3J0ZWQKCjIwMTEtMTAtMjcgMTY6MTM6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTIxIDE1OjA0OjA1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSAgaW50ZXJmYWNlczogY2xlYW4gdXAgdGhlIHVzZSBvZiBpZmFjZSBhbmQgY2xhc3Mva2xhc3MKCjIwMTEtMTAtMTkgMTA6MjQ6NTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogQ29ycmVjdCB0aGUgcGFyc2luZyBvZiBGUk1SVFFfUE9TVFBST0MgYW5kIEJJVFJUUV9QT1NUUFJPQwoKMjAxMS0xMC0yMSAxMTo0MDo1NCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBDb3JyZWN0IHRoZSBwYXJzaW5nIG9mIHNlcXVlY2UgbGF5ZXIuCgoyMDExLTEwLTIwIDA5OjM5OjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgRGlzYWJsZSBleHQvZmFhZCBmb3IgdGhlIGFuZHJvaWQgbmRrIGJ1aWxkCgkgIEl0IGN1cnJlbnRseSBtYWtlcyB0aGUgYnVpbGQgZmFpbC4gSWRlYSBpcyB0byBlbmFibGUKCSAgaXQgYmFjayBhZ2FpbiBvbmNlIGl0cyBidWlsZGluZyBwcm9ibGVtcyBnZXQgc29ydGVkCgkgIG91dC4KCjIwMTEtMTAtMTggMTQ6NDE6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIGFzc3JlbmRlciwgbnV2ZGVtdXg6IHVucmVmIGJ1ZmZlcnMgd2l0aCBnc3RfYnVmZmVyX3VucmVmKCkKCjIwMTEtMTAtMTggMTQ6MzI6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTE4IDE0OjI4OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0OiBzdGFydCBvZiAwLjExIHBvcnQKCjIwMTEtMTAtMTQgMTE6MDc6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBDb21wdXRlIHBhciBhbmQgZnBzIGluIGFkdmFuY2VkIHByb2ZpbGUKCjIwMTEtMTAtMTAgMTQ6MTk6NDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBIYW5kbGUgaW50ZXJsYWNlZCBmaWVsZHMKCjIwMTEtMTAtMTAgMTA6MTQ6MTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBIYW5kbGUgaW50ZXJsYWNlZCBmcmFtZXMgcHJvcGVybHkKCjIwMTEtMTAtMDcgMTM6MTE6NTUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBVc2UgZW51bXMgd2hlbiBwb3NzaWJsZQoJICBBZGQgR3N0VkMxRnJhbWVDb2RpbmdNb2RlIGFuZCB1c2UgaXQgZm9yIHRoZSBmY20gZmllbGQKCSAgVXNlIEdzdFZDMVBpY3R1cmVUeXBlIGFzIHZhcmlhYmxlIHR5cGUgZm9yIHB0eXBlCgkgIFVzZSBHc3RWQzFMZXZlbCBhcyB2YXJpYWJsZSB0eXBlIGZvciBsZXZlbAoKMjAxMS0xMC0wNyAxNzo0MjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKGNoZWNrIGZvciBlcnJvcnMpLgoKMjAxMS0xMC0wNyAxNToyMTozNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKElOVkVSVCBtb2RlKS4KCjIwMTEtMTAtMDcgMTM6NTk6MjkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggTVZNT0RFIGFuZCBNVk1PREUyIHBhcnNpbmcuCgoyMDExLTEwLTA1IDE3OjM5OjU5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogaGFuZGxlIHNraXBwZWQgcGljdHVyZXMgZ3JhY2VmdWxseS4KCjIwMTEtMTAtMDQgMTc6Mzk6NDIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgYml0cGxhbmVzIGRpZmYgb3BlcmF0b3IKCjIwMTEtMTAtMDQgMTc6Mzk6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBTb21lIGNvc21ldGljcyBhbmQgZGVidWcgbG9nZ2luZyBlbmhhbmNlbWVudHMKCjIwMTEtMTAtMDQgMTU6MTY6MDQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBJbXBsZW1lbnQgYml0cGxhbmVzIGhhbmRsaW5nIHByb3Blcmx5CgkgIEFkZCBhIG5ldyBHc3RWQzFCaXRQbGFuZXMgQVBJLgoKMjAxMS0xMC0wNCAxNDowNDo0MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBCRlJBQ1RJT04gcGFyc2VyICh2YWx1ZXMgcmFuZ2UgKyBvdmVyZmxvdykuCgoyMDExLTEwLTA0IDExOjU3OjM3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFZMQyBkZWNvZGluZy4KCjIwMTEtMTAtMDUgMTY6NDA6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgRnJhbWVMYXllciBwYXJzaW5nCgoyMDExLTEwLTA1IDEyOjE1OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IFNlcXVlbmNlIExheWVyIERhdGEgU3RydWN0dXJlcwoJICBJbnN0ZWFkIG9mIGhhdmluZyBhIHNpbmdsZSBWQzFTZXF1ZW5jZUhlYWRlciBzdHJ1Y3R1cmUsIHVzZSB0aGUgMyBzdHJ1Y3RzCgkgIGZyb20gdGhlICJUYWJsZSAyNjU6IFNlcXVlbmNlIExheWVyIERhdGEgU3RydWN0dXJlIiBvZiB0aGUgc3BlY2lmaWNhdGlvbgoJICBmb3IgdGhlIGxpYnJhcnkgdG8gYmUgbW9yZSBmbGV4aWJsZS4KCSAgSW1wbGVtZW50IHRoZSBmdW5jdGlvbnMgdG8gcGFyc2UgdGhlbQoKMjAxMS0xMC0wNSAwODoyNjozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IENvbXB1dGUgZnJhbWVyYXRlIGFuZCBiaXRyYXRlIGluIHNpbXBsZS9tYWluIHByb2ZpbGVzCgoyMDExLTEwLTAzIDE0OjI1OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogY29tcHV0ZSBNQiBoZWlnaHQgYW5kIHdpZHRoCgkgIEFkZCB0aGVtIHRvIEdzdFZDMVNlcXVlbmNlSGRyCgoyMDExLTEwLTAzIDE1OjM2OjA4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZGVidWcgY29zbWV0aWNzLgoKMjAxMS0xMC0wMyAxMTo0MjozMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHJlY29yZCBwaWN0dXJlIGxheWVyIGhlYWRlciBzaXplIGluIGJpdHMuCgoyMDExLTEwLTAzIDExOjE0OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogY29tcHV0ZSBhbHRwcXVhbnQuCgoyMDExLTEwLTAzIDE0OjIyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogRml4IGFmdGVyIEdzdFZDMVBhcnNlclJlc3VsdCByZW5hbWluZwoKMjAxMS0wOS0zMCAxMjo0MToxMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHVzZSBHc3RWQzFQYXJzZXJSZXN1bHQgdHlwZSBuYW1lIHNpbWlsYXJseSB0byBvdGhlciBwYXJzZXJzLgoKMjAxMS0wOS0zMCAxMTozODoxNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGhhbmRsZSBFbmQtb2YtU2VxdWVuY2UgY29ycmVjdGx5LgoKMjAxMS0wOS0xNCAxNDoyMTo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogZml4IHF1YW50X21hdHJpeF9leHRlbnNpb24oKSBwYXJzZXIgZm9yIGNocm9tYSBpbnRyYSBRTS4KCjIwMTEtMTAtMTMgMTY6NTI6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCBkZWJ1ZyBtZXNzYWdlIGFuZCByZW1vdmUgc29tZSBkZWFkIGNvZGUKCSAgU2VlICM2NjExMTMuCgoyMDExLTEwLTA2IDE2OjU1OjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgcGFyc2luZyBvZiAibnVtYmVyT2ZQaWN0dXJlUGFyYW1ldGVyU2V0cyIKCSAgU2VlICM2NjExMTMuCgoyMDExLTEwLTE3IDEwOjE5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBGaXggcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMTAtMTYgMTc6NDE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bTogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE2OjQ1OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNjoyODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgYmF5ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNToyODozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTMgMTY6NTc6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIGdzdF9idWZmZXJfam9pbiBpbnN0ZWFkIG9mIGJ1ZmZlcmxpc3RzCgkgIFRoaXMgaXMgKnJlYWxseSogaW5lZmZpY2llbnQuIFdlIHNob3VsZCB0cmFjayBsaXN0IG9mIEdzdE1lbW9yeQoJICBpbnN0ZWFkLgoKMjAxMS0xMC0xMyAxNjo1NzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQbHVnIG1vcmUgbGVha3MKCjIwMTEtMTAtMTMgMTY6NTU6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3Igc2NhbiBsb29wCgkgIEF2b2lkcyBlbmRpbmcgdXAgbGVha2luZyBwYWNrZXRzIHdoZW4gd2UgZ290IG9uZSBhbmQgcmVzIHdhcyBkaWZmZXJlbnQKCSAgZnJvbSBHU1RfRkxPV19PSy4KCSAgSXQgYWxzbyBsb29rcyBtb3JlIGNvbXByZWhlbnNpYmxlCgoyMDExLTEwLTEzIDE2OjU1OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGxlYWsgdXBzdHJlYW0gZXZlbnRzCgoyMDExLTEwLTEzIDE2OjU1OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIGNvZGUgdG8gY29wZSB3aXRoIGdfaGFzaF90YWJsZV9mb3JlYWNoX3JlbW92ZSgpCgoyMDExLTEwLTEyIDE4OjA1OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXgvdHNwYXJzZTogUG9ydCB0byAwLjExCgkgIFRoaXMgaXMgYSBuYWl2ZSBwb3J0IHRoYXQgc29tZXdoYXQgd29ya3MgYnV0IGlzIGluZWZmaWNpZW50LgoJICBJIG5lZWQgdG8gcmV0aGluayBob3cgdG8gbWFrZSB0aGUgYmVzdCBvdXQgb2YgR3N0TWVtb3J5L0dzdEJ1ZmZlcgoKMjAxMS0xMC0xMiAxMjowOToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGVjayBiZWZvcmUgYWNlc3NpbmcgcHJldmlldyBsb2NhdGlvbiBsaXN0CgkgIE9ubHkgYWNjZXNzIHRoZSBwcmV2aWV3IGxvY2F0aW9uIGlmIGl0IGV4aXN0cywgdG8gYXZvaWQgYWNlc3NpbmcKCSAgYSBOVUxMIHZhcmlhYmxlLiBJZiB0aGUgcHJldmlldyBsb2NhdGlvbiBsaXN0IGRvZXNuJ3QgZXhpc3QsIGl0IGlzCgkgIGxpa2VseSBiZWNhdXNlIHRoZSBzb3VyY2UgaGFzIHBvc3RlZCBhIHByZXZpZXcgbWVzc2FnZSBhZnRlciBjYW1lcmFiaW4yCgkgIGhhcyBiZWVuIHB1dCB0byBSRUFEWS4KCjIwMTEtMDgtMDcgMTc6MDE6NDggKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG06IEFkZCBidWZmZXItdGltZSBwcm9wZXJ0eQoJICBBZGQgYSBidWZmZXItdGltZSBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgYW1vdW50IG9mIGRhdGEKCSAgcXVldWVkIGluIHRoZSBzaG1zaW5rIGJ1ZmZlciBpbiBuYW5vc2Vjb25kcy4KCSAgRml4ZXM6ICM2NTYxMDcKCjIwMTEtMDgtMDcgMTY6MzY6MzIgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBhYmlsaXR5IHRvIGFkZCB1aW50NjQgdGFncyBvbiBidWZmZXJzCgoyMDExLTEwLTExIDIzOjMwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFNldCBwcmV2aWV3IHBpcGVsaW5lIHRvIHJlYWR5IHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgVGhlIHByZXZpZXcgcGlwZWxpbmUgc2hvdWxkIGdvIHRvIHJlYWR5IHdoZW4gdGhlIGNhbWVyYXNyYyBnb2VzCgkgIHRvIHJlYWR5LCBhcyBpbiByZWFkeSBlbGVtZW50cyBzaG91bGRuJ3QgYmUgcHJvY2Vzc2luZyBkYXRhLgoKMjAxMS0xMC0xMSAyMzoxMzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIG11dGV4IHRvIGF2b2lkIGNvbmN1cnJlbnQgYWNjZXNzIG9mIHByZXZpZXcgZmlsZW5hbWUgbGlzdHMKCSAgVGhlIHByZXZpZXcgZmlsZW5hbWUgbGlzdCBpcyBhY2Vzc2VkIHdoZW5ldmVyIGEgbmV3IGNhcHR1cmUgaXMgc3RhcnRlZCwgd2hlbgoJICBjYW1lcmEtc291cmNlIHBvc3RzIGEgbmV3IHByZXZpZXcgbWVzc2FnZSBvciBvbiBzdGF0ZSBjaGFuZ2VzLiBBbGwgb2YgdGhvc2UgY2FuCgkgIG9jY3VyIHNpbXVsdGFuZW91c2x5LCBzbyBhZGQgYSBtdXRleCB0byBwcmV2ZW50IGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAxMS0xMC0wNyAxMDo0ODowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZXNldCBhdWRpb3NyYyB0aW1lc3RhbXBpbmcKCSAgUmVzZXQgYXVkaW9zcmMncyB0aW1lc3RhbXBpbmcgZGF0YSBieSBzZXR0aW5nCgkgIGl0IHRvIE5VTEwgdG8gcmVzZXQgdGhlIHJpbmdidWZmZXIgYW5kIHRoZW4gcmUtc2V0aW5nCgkgIHRoZSBjbG9jayB0aGF0IGNhbWVyYWJpbiBtaWdodCBub3QgcmVkaXN0cmlidXRlCgoyMDExLTEwLTExIDE2OjI3OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogUHJldmVudCBhdWRpbyBzb3VyY2UgZnJvbSBwcm92aWRpbmcgY2xvY2sKCSAgY2FtZXJhYmluJ3MgYXVkaW8gc291cmNlIG1pZ2h0IGJlIHB1dCB0byBOVUxMIGR1cmluZyBpdHMKCSAgdXNlLCBzbyB0aGUgY2xvY2sgd291bGQgYmUgbG9zdC4gQmV0dGVyIG5vdCBhbGxvdyBpdCB0bwoJICBwcm92aWRlIGEgY2xvY2sgYXQgYWxsLgoKMjAxMS0xMC0xMSAxMTowNTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogb3BlbmFsIGlzIG5vdCBwb3J0ZWQgeWV0CgoyMDExLTEwLTEwIDExOjQxOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTA6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTU6MTY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTQ6MjI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTM6MTQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGlzYWJsZSBkaXJlY3RmYgoKMjAxMS0xMC0wOCAxMjowNzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NTc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo0MDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjE3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNiAyMzoyMjo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgZXhhbXBsZXM6IEZpeGVzIGZvciBjb21waWxpbmcgd2l0aCBHVEsrIDMuMAoJICBjYW1lcmFiaW5nIGV4YW1wbGUgaGFkIGEgbWlzc2luZyAnKScgYW5kIHRoZSBmaXggdG8gYnVpbGQgYWdhaW5zdCBHVEsrMwoJICB0aGF0IHdhcyBpbnRyb2R1Y2VkIGluIGNvbW1pdCA1MTZjOTc3Yzc2YmE0Y2Q4NmE3MTQ3YWFiNzQxNmEzM2Q3NmY4NzBmCgkgIGlzIGFsc28gYXBwbGllZCB0byB0aGUgY2FtZXJhYmluMiBleGFtcGxlLgoJICBUaGUgc2NhbGV0ZW1wbyBkZW1vIHdhcyB1c2luZyBBUEkgd2hpY2ggaGFzIGJlZW4gcmVtb3ZlZCwgc28gdGhhdCdzCgkgIHdyYXBwZWQgaW4gYSB2ZXJzaW9uIGNoZWNrLgoKMjAxMS0xMC0wNiAxNzo1NjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYmVnaW5uaW5nIG9mIHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNiAxMjoxNTo0NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNYWtlIHByb3BlciB1c2Ugb2YgdGhlIGgyNjRwYXJzZXIgbGliIGluIHBhcnNlX2NoYWluCgkgIE1pbm9yIGRlYnVnZ2luZyBsb2dzIGZpeGVzCgoyMDExLTEwLTA2IDE0OjA1OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNiAxNDowMzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDYgMTI6MjU6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcm9wZXJseSBpbnRlcnByZXQgYmFzZXBhcnNlIGRyYWluaW5nIHN0YXRlCgkgIC4uLiB3aGljaCBtZWFucyB0aGUgaW5wdXQgZGF0YSBoYXMgcmVhY2hlZCB0aGUgZW5kLCBidXQgbmVlZCBub3QgZXhjbHVkZQoJICBtYW55IHNlcGFyYXRlIGZyYW1lcyBtYXkgc3RpbGwgbmVlZCBwYXJzaW5nLgoJICBGaXhlcyBtZXJnaW5nIE5BTHMgaW50byBBVS4KCjIwMTEtMTAtMDUgMjM6MTQ6MjMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCB0aGUgc2l6ZSBhcmd1bWVudCBvZiBnc3RfaDI2NF9wYXJzZXJfaWRlbnRpZnlfbmFsdV9hdmMoKQoKMjAxMS0xMC0wNSAxMjowOTowNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtaW5pbXVtIHNpemUgb2YgcGFyc2FibGUgYXZjQyBkYXRhIHNob3VsZCBiZSA4CgoyMDExLTEwLTA2IDEwOjU4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNSAyMDowNjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTA1IDEyOjUzOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogbW9yZSBwb3J0aW5nCgoyMDExLTEwLTA0IDE4OjU0OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxODozODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTg6MzU6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1vcmUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0wNCAxNDozMDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIHRlc3RzOiBwb3J0CgoyMDExLTEwLTA0IDE0OjI3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICB2aWRlbzogc3RhcnQgcG9ydGluZyBzb21lIGJhc2UgY2xhc3NlcwoKMjAxMS0xMC0wNCAxNDoyNzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMS0xMC0wNCAxNDoyNjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiByZW1vcmUgaW1wbGVtZW50LWludGVyZmFjZQoKMjAxMS0xMC0wNCAxNDoyNTo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbW9yZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTA0IDEzOjMzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTM6MzM6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSByaWdodCBjYXBzCgoyMDExLTEwLTA0IDEzOjI5OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNCAxMjozMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IE9ubHkgZmFpbCB0byBpbml0aWFsaXplIHRoZSBwbHVnaW4gaWYgYWxsIHBhcnNlcnMgY2FuJ3QgYmUgcmVnaXN0ZXJlZAoKMjAxMS0xMC0wMyAxNToyNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IEluaXRpYWxpemUgY2FtZXJhYmluMiBwcmV2aWV3IHBpcGVsaW5lIGRhdGEgd2l0aCAwCgkgIFVzZSBnX25ldzAgdG8gaW5pdGlhbGl6ZSBhbGwgZmllbGRzIHdpdGggMCB0byBvbmx5IGNsZWFudXAgd2hhdCBoYXMgYmVlbgoJICBpbml0aWFsaXplZC4gVGhpcyBtYWtlcyBjbGVhbnVwIHdvcmsgY29ycmVjdGx5IHdoZW4gc29tZSBpbml0aWFsaXphdGlvbgoJICBmYWlscyBhbmQgcG9pbnRlcnMgYXJlIGxlZnQgaW4gc29tZSBpbmNvbnNpc3RlbnQgc3RhdGUuCgoyMDExLTEwLTAzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRml4IHR5cG8KCjIwMTEtMDktMjMgMjI6NTg6MzAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogVXBkYXRlIHRoZSBwYXkvZGVwYXkgdG8gdGhlIGlldGYtZHJhZnQtMDEgc3BlYwoKMjAxMS0xMC0wMyAxMToyNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTQ6NTc6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggZGVjb2RpbmcKCSAgQSBzaW1wbGUgLi4uIG9wdXNlbmMgISBvcHVzZGVjIC4uLiBwaXBlbGluZSBub3cgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTQ6NTY6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtb2FuIGlmIHdlIGdldCBhbiB1bmV4cGVjdGVkIGFtb3VudCBvZiBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTQ6MjI6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IHByb3Blcmx5IHNldHVwIGNhcHMgYW5kIGluaXQgc3RhdGUgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjU6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB1c2UgdGhlIHNhbWUgZnJhbWUgc2l6ZSBzZXR1cCBhcyB0aGUgb3B1cyB0ZXN0IGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNDo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IG9wdXMgc3VwcG9ydHMgYSBzZWxlY3Qgc2V0IG9mIHNhbXBsaW5nIHJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjQ6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IG1ha2UgaXQgYnVpbGQgYWdhaW5zdCBjdXJyZW50LCBhbmQgcmVtb3ZlIGNydWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMzAgMTg6NTQ6MDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IHNjYW5uaW5nIHN0b3BwaW5nIHRvbyBlYXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MjQ1CgoyMDExLTA5LTI5IDIwOjU1OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGF2b2lkIHJlbmRlcmluZyB3aGVuIHdlIGtub3cgdGhlcmUgaXMgbm90aGluZyB0byByZW5kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUyOAoKMjAxMS0xMC0wMSAxNDozMDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggcmFjZSBjb25kaXRpb24gb24gUEFVU0VELT5SRUFEWSBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDYzMAoKMjAxMS0wOS0yMSAxNDo1MzowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogdGFrZSBpbnRvIGFjY291bnQgU0NSIG9mZnNldCB3aGVuIHNlZWtpbmcKCSAgU2luY2UgdGhlIHNlZWtpbmcgYnl0ZSBvZmZzZXQgaXMgY2hvc2VuIGJ5IGxpbmVhciBpbnRlcnBvbGF0aW9uCgkgIGZyb20gU0NSIHZhbHVlcywgd2UgbmVlZCB0byB0YWtlIHRoYXQgZmlyc3QgU0NSIGludG8gYWNjb3VudAoJICB0byBlbmQgdXAgbmVhciB0aGUgY29ycmVjdCBvZmZzZXQuIE90aGVyd2lzZSwgYXMgdGhlIGNvZGUgZG9lcwoJICBhIGxpbmVhciBzZWFyY2ggYWZ0ZXIgdGhhdCBmaXJzdCBzZWVrLCBpdCB3aWxsIHRha2UgYSBMT09PT09PTkcKCSAgdGltZSB0byBnZXQgdGhlcmUgZm9yIHN0cmVhbXMgd2hpY2ggZG9uJ3Qgc3RhcnQgYXQgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yMSAxNzoyOTo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFuc3dlciBwb3NpdGlvbiBxdWVyeSB3aXRoIGEgc3RyZWFtIHRpbWUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yMCAxNToyMTo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogcmVtb3ZlIHVudXNlZCBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTI5IDE4OjIwOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFJlZmFjdG9yIHRlc3RzIGEgbGl0dGxlCgkgIFJlZmFjdG9yIGNhbWVyYWJpbjIgdGVzdHMgYSBsaXR0bGUKCjIwMTEtMDktMjkgMTM6MDM6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogYWRkaW5nIHRlc3RzIHRvIGNoZWNrIGZvciBwcmV2aWV3IG1lc3NhZ2UgZmlsZW5hbWVzCgkgIFByZXZpZXcgbWVzc2FnZXMgbm93IGhhdmUgZmlsZW5hbWVzLCBhZGQgdGVzdHMgdG8gY2hlY2sgdGhhdCB0aGV5IGFyZQoJICBjb3JyZWN0CgoyMDExLTA5LTI5IDE4OjAzOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBhZGQgbG9jYXRpb24gdG8gcHJldmlldyBpbWFnZSBtZXNzYWdlcwoJICBNYWtlcyBjYW1lcmFiaW4yIGludGVyY2VwdCBwcmV2aWV3LWltYWdlIG1lc3NhZ2VzIGFuZCBhZGQKCSAgdGhlIGZpbGVuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG1lc3NhZ2Ugc3RydWN0dXJlIGluIHRoZQoJICAnbG9jYXRpb24nIGZpZWxkLgoJICBNYWtlcyBlYXNpZXIgZm9yIGFwcGxpY2F0aW9ucyB0byB0cmFjayBwcmV2aWV3IGltYWdlcwoKMjAxMS0wOS0yNyAxMzowNDoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZpbmcgY2Fwc2ZpbHRlciBmcm9tIHByZXZpZXcgcGlwZWxpbmUKCSAgYXBwc2luayBhbHJlYWR5IGhhcyBhIGNhcHMgcHJvcGVydHksIHNvIHdlIGRvbid0IG5lZWQgdGhlCgkgIGNhcHNmaWx0ZXIgaGVyZQoKMjAxMS0wOS0yOSAxNjoyMjowMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggcG90ZW50aWFsIGxvc3Mgb2YgRU9TIGV2ZW50CgkgIFNldHRpbmcgdGhlIGF1ZGlvIHNvdXJjZSB0byBOVUxMIGp1c3QgYWZ0ZXIgcHVzaGluZyB0aGUgRU9TIGV2ZW50CgkgIG9uIGl0IGNvdWxkIHBvdGVudGlhbGx5IGNhdXNlIGxvc3Mgb2Ygc2FpZCBFT1MgZXZlbnQuIEluc3RlYWQsIHdlCgkgIGNhbiBzZXQgdGhlIGF1ZGlvIHNvdXJjZSB0byBOVUxMIHdoZW4gcmVhZHktZm9yLWNhcHR1cmUgaXMKCSAgc2lnbmFsbGVkIGFuZCB0aGUgYm9vbGVhbiB2YWx1ZSBpcyB0cnVlIGFzIHRoaXMgaW5kaWNhdGVzIHdlIGFyZQoJICBub3QgY3VycmVudGx5IGNhcHR1cmluZyB2aWRlby4KCjIwMTEtMDktMjggMTM6MDE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIHBvcnRlZCBmYWFkIGFuZCBzZHAgZWxlbWVudHMKCjIwMTEtMDktMjggMTI6NTQ6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogcmVtb3ZlIGltcGxlbWVudHMtaW50ZXJmYWNlIHByZXJlcXVpc2l0ZQoKMjAxMS0wOS0yOCAxMjo1NDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgdXNlIHRoZSAwLjExIGJyYW5jaCBvZiBjb21tb24KCjIwMTEtMDktMjcgMTM6MjI6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAyMjozMToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjYgMjI6MzA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjYgMTc6MjM6NDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU3RvcCB0aGUgYXVkaW8gc291cmNlIGJldHdlZW4gY2FwdHVyZXMKCSAgTW92ZSB0aGUgYXVkaW8gc291cmNlIHNldHRpbmcgb2Ygc3RhdGUgdG8gTlVMTCB0byBfc3RvcF9jYXB0dXJlICgpIHRvCgkgIGF2b2lkIHRoZSBhdWRpbyBzb3VyY2UgcnVubmluZyBiZXR3ZWVuIGNhcHR1cmVzLgoKMjAxMS0wOS0yNiAxNjoyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFsc28gc2V0IG1heGltdW0gbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB0aGUgc3ViY2xhc3Mgd2FudHMKCjIwMTEtMDktMjYgMTY6MDU6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBTaW1wbGUgZml4IGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZQoKMjAxMS0wOC0yMyAxODoyNToyMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBWQzE6IEltcGxlbWVudCBhIFZDMSBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDktMTYgMTk6MDM6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiBEZWNsYXJlIHRoZSBuZXcgQVBJcyBhcyB1bnN0YWJsZSBmb3IgdGhlIHRpbWUgYmVpbmcKCjIwMTEtMDktMjYgMTE6NDQ6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDoga2VlcCBDUkMgdGFibGUgaW4gLnJvZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTE4CgoyMDExLTA5LTIwIDE2OjI5OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSAgaXJ0c3BwYXJzZTogYWRkIEludGVybGVhdmVkIFJUU1AgcGFyc2VyIGVsZW1lbnQKCjIwMTEtMDktMjMgMTA6MTA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RmYWFkLmM6IEluIGZ1bmN0aW9uICdnc3RfZmFhZF9wYXJzZSc6CgkgIGdzdGZhYWQuYzo2MTU6MTE6IGVycm9yOiAnbGVuJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTEtMDktMjMgMDk6NTc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBwYXJzZSB3YW50cyBhIEdzdEZsb3dSZXR1cm4gcmV0dXJuIHZhbHVlLCBub3QgYSBnYm9vbGVhbgoKMjAxMS0wOS0yMiAyMDoxMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkgIHBzbXV4OiBmaXggd3JpdGluZyBvZiBzeXN0ZW0gaGVhZGVyLCB3aGljaCBtYWtlcyBWTEMgbm90IHNraXAgdGhlIGFkamFjZW50IFBTTSBhbmQgcGxheSBlbWJlZGRlZCBILjI2NCBzdHJlYW1zCgkgIGhlYWRlcl9sZW5ndGggY29udGFpbnMgdGhlIGxlbmd0aCBpbiBieXRlcyBhZnRlciB0aGUgaGVhZGVyX2xlbmd0aAoJICBmaWVsZCwgZXhjbHVkaW5nIHRoZSA2IGJ5dGUgc3RhcnQgY29kZSBhbmQgaGVhZGVyX2xlbmd0aCBmaWVsZC4KCSAgSC4yNjQgc3RyZWFtcyBhbmQgc29tZSBvdGhlciBmb3JtYXRzIG5lZWQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSBQU00uCgkgIFZMQyB3b3VsZG4ndCBwbGF5IGZpbGVzIGNyZWF0ZWQgd2l0aCBtcGVncHNtdXggY29udGFpbmluZyBILjI2NCBiZWNhdXNlCgkgIHdlIGNsYWltIHRoZSBzeXN0ZW0gaGVhZGVyIGlzIGxhcmdlciB0aGFuIGl0IGFjdHVhbGx5IGlzLCB3aGljaCBtYWtlcwoJICBWTEMgc2tpcCB0aGUgcHJvZ3JhbSBzdHJlYW0gbWFwIHdoaWNoIGZvbGxvd3MgdGhlIHN5c3RlbSBoZWFkZXIsIHdoaWNoCgkgIGluIHR1cm4gbWFrZXMgaXQgbm90IHJlY29nbmlzZSBvdXIgSC4yNjQgdmlkZW8gc3RyZWFtLgoKMjAxMS0wOS0yMiAyMDowOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvLmdpdGlnbm9yZToKCSAgZG9jczogYWRkIGlnbm9yZSBydWxlcyBmb3IgbGlicyBkb2NzIGRpcmVjdG9yeQoKMjAxMS0wOS0yMiAxODoyMzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeHVwIG1pc3VuZGVyc3RhbmRpbmcgaW4gc2FtcGxlIGNvdW50aW5nCgkgIC4uLiBiZXR3ZWVuIGNvZGVjIGFuZCBhdWRpb2VuY29kZXIgcmVnYXJkaW5nIHdoZXRoZXIgb3Igbm90IGNoYW5uZWwKCSAgY291bnQgaXMgYWxyZWFkeSBjb25zaWRlcmVkLgoJICBGaXhlcyAjNjU5ODM2LgoKMjAxMS0wOS0yMiAxNjowMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjIgMDk6NDk6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yMSAxNjoxMToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjEgMTY6MDE6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yMCAxNjo1NDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZm9yd2FyZCByZXR1cm4gY29kZSBmcm9tIHNldHRpbmcgc3JjIHBhZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2MDYKCjIwMTEtMDktMjAgMTM6MDA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFzcmM6IEZhaWwgc3RhdGUgY2hhbmdlIGlmIHByZXZpZXcgcGlwZWxpbmUgZmFpbHMgY3JlYXRpb24KCSAgSWYgdGhlIHByZXZpZXcgcGlwZWxpbmUgZmFpbHMgY3JlYXRpb24sIGZvciBhbnkgcmVhc29uLCB3ZSBzaG91bGQKCSAgZmFpbCBiYXNlY2FtZXJhc3JjIHN0YXRlIGNoYW5nZS4KCSAgQWxzbyBhZGRzIGEgbWlzc2luZyBnX3JldHVybl9pZl9mYWlsIGNoZWNrIHRvIHByZXZpZXcgcGlwZWxpbmUKCSAgZnVuY3Rpb25zCgoyMDExLTA5LTE5IDE2OjMyOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogQWRkIGNoZWNrcyB0byBpbnB1dCwgYW5kIGZpeCBzaXplIGNoZWNraW5nCgoyMDExLTA5LTE5IDE0OjU0OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogYnJpbmcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBkZXNpcmVkIHNwZWNzCgoyMDExLTA5LTE5IDE0OjA3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYnJpbmcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBkZXNpcmVkIHNwZWNzCgoyMDExLTA5LTE5IDEzOjQxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzaW5nbGliczogRG9jIGFuZCBpbmRlbnRhdGlvbiBmaXhlcwoKMjAxMS0wOS0xMCAxMTozMToyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5jOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IGZpeCBiaXRzdHJlYW0gcGFyc2luZyB1c2luZyB0aGUgd3Jvbmcga2luZCBvZiBiaXRyZWFkZXIKCSAgVlA4IHVzZXMgYSBwcm9iYWJpbGlzdGljIGJvb2wgY29kZXIsIG5vdCBhIHN0cmFpZ2h0IGJpdCBjb2Rlci4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIHdoZW4gZXJyb3ItcmVzaWxpZW50IGlzIHNldC4KCSAgVGhpcyBjb21taXQgaW5jbHVkZXMgYSBjb3B5IG9mIGxpYnZweCdzIGJvb2wgY29kZXIsIEJTRCBsaWNlbnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY5NAoKMjAxMS0wOS0xNCAyMDoyMjo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogYSBiaXQgbW9yZSBlcnJvciBjaGVja2luZyBvbiBoZWFkZXIgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE5OjU2OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogY2xlYW51cCBoZWFkZXIgY3JlYXRpb24KCSAgQXZvaWQgYW4gZXh0cmEgY29weSB2aWEgYSB0ZW1wb3JhcnkgZml4ZWQgc2l6ZSBzdGFjayBidWZmZXIuCgkgIFVzZSBsaWJjZWx0J3MgaGVhZGVyIHNpemUgdG8gYWxsb2NhdGUgYSBidWZmZXIgb2YgdGhlIGNvcnJlY3QKCSAgc2l6ZSBpbiB0aGUgZmlyc3QgcGxhY2UgKGxpYmNlbHQgaGFzIGFuIG9mZiBieSA0IHRoZXJlLCBzbwoJICBhY2NvdW50IGZvciB0aGlzKS4KCSAgV2hpbGUgdGhlcmUsIG1ha2Ugc2l6ZSB1bnNpZ25lZCwgYW5kIGdyYW5wb3Mgc2lnbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE5OjA5OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZG8gbm90IHVzZSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTc6MjY6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBmaXggZXJyb3IgY2hlY2tpbmcgd2l0aCBsaWJjZWx0IDAuMTEKCSAgVGhlIHJldHVybiB2YWx1ZSBvZiBjZWx0X2RlY29kZSBoYXMgY2hhbmdlZCwgbmV3ZXIgdmVyc2lvbnMKCSAgbm93IHJldHVybiBwb3NpdGl2ZSB2YWx1ZXMgb24gc3VjY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxNzowNzo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogYWxsb3cgYWN0dWFsbHkgb3ZlcnJpZGluZyBmcmFtZSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTMgMTY6MjQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZsdXNoIG9uIHNlZWssIGFuZCBlbnN1cmUgd2UgY2FuY2VsIGFueSB3YWl0aW5nIGJ1ZmZlcgoJICBUaGlzIGlzIHdoYXQgcGFuZ28gdGV4dG92ZXJsYXkgZG9lcywgYW5kIEkndmUgaGFkIHRoYXQgY29uZGl0aW9uCgkgIHZhcmlhYmxlIGdldCBzdHVjayBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4OTQwCgoyMDExLTA5LTEyIDExOjE3OjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCB0cnkgdG8gcmVhZCBmcm9tIGEgbm9uIGV4aXN0ZW50IFZVSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4ODAwCgoyMDExLTA5LTE2IDAwOjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIDIgbW9yZSBsb2cgbWVzc2FnZXMKCjIwMTEtMDktMTQgMTU6MjA6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiByZXBsYWNlIGRlcHJlY2F0ZWQgZ19hdG9taWNfaW50X2V4Y2hhbmdlX2FuZF9hZGQKCSAgSXQgd2FzIHJlcGxhY2VkIGJ5IGdfYXRvbWljX2ludF9hZGQsIHdoaWNoIG5vdyByZXR1cm5zIHRoZQoJICBvbGQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwNjEKCjIwMTEtMDktMTUgMTc6MzU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZXNldCBsYXN0IHN0YXRlIGNoYW5nZSByZXN1bHQgb24gc3RhdGUtbG9ja2VkIGVsZW1lbnRzCgkgIEFuIGVsZW1lbnQgc3RvcmVzIHRoZSByZXN1bHQgZm9yIHRoZSBsYXN0IHN0YXRlIGNoYW5nZSBpdCBkaWQgYW5kCgkgIEdzdEJpbidzIHN0YXRlIGNoYW5nZSBoYW5kbGVyIHdpbGwgdXNlIHRoaXMgbGFzdCByZXN1bHQgZm9yIHN0YXRlCgkgIGxvY2tlZCBlbGVtZW50cyB0byBkZWNpZGUgaWYgaXRzIHN0YXRlIGNoYW5nZSB3YXMgc3VjY2Vzc2Z1bGwgb3Igbm90LgoJICBJbiBjYW1lcmFiaW4yLCB0aGUgZmlsZXNpbmtzIGhhdmUgdGhlaXIgc3RhdGUgbG9ja2VkIGFuZCB3aGVuIHRoZXkKCSAgZmFpbCBzd2l0Y2hpbmcgc3RhdGVzLCB0aGlzIGxhc3QgZmFpbHVyZSB3aWxsIGJlIHVzZWQgaWYgdGhlIGFwcGxpY2F0aW9uCgkgIHRyaWVzIHRvIGNoYW5nZSBjYW1lcmFiaW4yJ3Mgc3RhdGUsIGNhdXNpbmcgYW55IHN0YXRlIGNoYW5nZSB0byBmYWlsLgoJICBUaGlzIHBhdGNoIG1ha2VzIGNhbWVyYWJpbjIgcmVzZXQgdGhpcyBsYXN0IGNoYW5nZSBmYWlsdXJlLCBhdm9pZGluZwoJICB0aGF0IGNhbWVyYWJpbjIgZmFpbHMgb24gaXRzIG5leHQgc3RhdGUgY2hhbmdlcy4KCjIwMTEtMDktMTUgMTg6MTc6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5wbGM6IEZpeCB0eXBvcwoKMjAxMS0wOS0xMyAyMDo0MDozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogSGFuZGxlIHByb3Blcmx5IGZyYW1lIGRldGVjdGlvbgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBidWZmZXJzIGNvbnRhaW5pbmcgbm8gc3RhcnRjb2RlCgkgIGluIHRoZSBtaWRkbGUgb2YgYSBmcmFtZSBwcm9wZXJseS4KCjIwMTEtMDktMTMgMjA6Mzg6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBEZWJ1Z2dpbmcgc3ltYm9scyBlbmhhbmNlbWVudHMKCjIwMTEtMDktMTIgMTM6NTQ6MzcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBBZGQgdGhlIENocm9tYVR5cGUgZW51bQoKMjAxMS0wOS0xMiAxMzo0MTo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IENoYW5nZSBicm9rZW5fZ29wIHRvIGJyb2tlbl9saW5rCgkgIFRoaXMgd2F5IHdlIHJlc3BlY3QgdGhlIHN0YW5kYXJkIG5hbWluZwoKMjAxMS0wOS0xNCAxNjoxNDoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNlbmQgYSB2aWRlby1jb2RlYyB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2OTMwNQoKMjAxMS0wOS0xMiAxNjo1MDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoZWNrIHpvb20gbm90aWZ5IGNhbGxiYWNrIGZyb20gY2FtZXJhLXNvdXJjZQoJICBDYW1lcmFiaW4yIGhhcyBhIHpvb20gcHJvcGVydHkgdGhhdCBpcyBzaW1wbHkgcHJveGllZCB0byBpdHMKCSAgaW50ZXJuYWwgY2FtZXJhLXNvdXJjZSBlbGVtZW50LiBUaGlzIHBhdGNoIG1ha2VzIGNhbWVyYWJpbjIgbGlzdGVuCgkgIHRvICdub3RpZnknIHNpZ25hbHMgZnJvbSBpdCBzbyBpdCBjYW4gdXBkYXRlIGl0cyB6b29tIHByb3BlcnR5IHZhbHVlCgkgIHdoZW4gY2FtZXJhLXNvdXJjZSBjaGFuZ2VzIGl0cyB6b29tIGFzIGEgc2lkZS1lZmZlY3Qgb2YgYW5vdGhlciBvcGVyYXRpb24KCSAgb3IgYmVjYXVzZSB0aGUgdXNlciBzZXQgdGhlIHpvb20gZGlyZWN0bHkgdG8gaXQsIGluc3RlYWQgb2YgZG9pbmcKCSAgaXQgZnJvbSBjYW1lcmFiaW4yLgoKMjAxMS0wOC0yOSAwODowMDoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZG9uJ3QgYmxvY2sgdGhlIG1haW4gdGhyZWFkIHdpdGggUlRNUF9Db25uZWN0CgkgIE1vdmUgdGhlIFJUTVBfQ29ubmVjdCBjYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkICg6OnN0YXJ0KSB0byB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCAoOjpyZW5kZXIpLgoKMjAxMS0wOS0xMiAxMDozMzowNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDktMTIgMTA6MjM6MTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA5LTA5IDE0OjIyOjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1ha2UgdXNlIG9mIHRoZSBoMjY0X25hbF9wYXJzZXJfZnJlZSBmdW5jdGlvbgoKMjAxMS0wOS0wOSAxNDoxNToyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IEltcGxlbWVudCB0aGUgbmFsX3BhcnNlcl9mcmVlIGZ1bmN0aW9uCgoyMDExLTA5LTA2IDIxOjI5OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogVXNlIGdfc2xpY2UgaW5zdGVhZCBvZiBnX21hbGxvYyBpbiBuYWxfcGFyc2VyX25ldwoKMjAxMS0wOS0wNiAyMToyODo0NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uCgkgIEZpeCBhIGZldyBlcnJvci4KCSAgRG9jdW1lbnQgbWlzc2luZyBwYXJ0cy4KCSAgQWRkIGxpbmtzIHRvIHRoZSBzcGVjaWZpY2F0aW9ucwoKMjAxMS0wOS0wOSAxMjoyNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBtZXJnZSBtaXN0YWtlIGZyb20gbGFzdCBjb21taXQKCjIwMTEtMDktMDggMjM6NTY6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVwb3J0IHRoZSBjb3JyZWN0IHRpbWVzdGFtcCBmb3IgbGl2ZSBzdHJlYW1zCgkgIEJ1ZmZlcnMgd291bGQgYWx3YXlzIHN0YXJ0IHdpdGggdGltZXN0YW1wIDAgYW5kIHdlJ2Qgc3RhcnQgc3RyZWFtaW5nCgkgIGZyb20gdGhlIGZpcnN0IGJ1ZmZlciwgYnV0IGxpdmUgc3RyZWFtcyBhbHdheXMgc3RhcnQgc3RyZWFtaW5nIGZyb20KCSAgdGhlIGxhc3QgZnJhZ21lbnQgLSAzIGZyYWdtZW50cyBpbiB0aGUgcGxheWxpc3QsIHdoaWNoIG1ha2VzIGl0cwoJICB0aW1lc3RhbXAsIGFzIHJldHVybmVkIGJ5IGdldF9uZXh0X2ZyYWdtZW50LCBiZSB3aGF0ZXZlciBwb3NpdGlvbgoJICB0aGV5IGhhZCBpbiB0aGUgcGxheWxpc3QuIFRoaXMgbWFrZXMgc3VyZSB0aGUgcG9zaXRpb24gY29ycmVjdGx5CgkgIHJlcG9ydHMgdGhlIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIgaW4gdGhlIHBsYXlsaXN0LCBhbmQgYWRkZWQgYSBzaGlmdGluZwoJICB2YXJpYWJsZSB0byBhbGxvdyBzZWVraW5nIGluIHRoZSBtaWRkbGUgb2YgZnJhZ21lbnRzLgoKMjAxMS0wOS0wOCAyMjoxMzoxOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgaGxzZGVtdXgvdHNkZW11eDogQWRkIEhQIGNvcHlyaWdodCBvbiB3b3JrIGRvbmUgb24gSExTCgoyMDExLTA5LTA4IDIwOjI5OjQyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHBsYXlsaXN0IHRvIE5VTEwgYWZ0ZXIgdW5yZWZmaW5nIGl0IHRvIGF2b2lkIGEgZG91YmxlLXVucmVmIGluIHRoZSBkaXNwb3NlCgoyMDExLTA5LTA4IDE4OjI1OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGxvY2sgdGhlIG11dGV4IG9mIHRoZSBmZXRjaGVyIGR1cmluZyBFT1MKCSAgVGhlIGZldGNoX2xvY2F0aW9uIG1pZ2h0IGNhbGwgc3RvcF9mZXRjaGVyIHdoaWNoIGNvdWxkIGdlbmVyYXRlIGFuIEVPUwoJICBhbmQgY2F1c2UgYSBkZWFkbG9jawoKMjAxMS0wOS0wNiAyMjoxMTowNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSAgc3BhbmRzcDogQWRkaW5nIHNwYW5kc3AgcGx1Z2luIHdpdGggc3BhbnBsYyBlbGVtZW50IGZvciBwYWNrZXQgbG9zcyBjb25jZWFsbWVudAoKMjAxMS0wOS0wNyAyMDowOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBqb2luIHRoZSB0YXNrIGZyb20gdGhlIHRhc2sncyB0aHJlYWQgaXRzZWxmLiBqb2luIGl0IG9ubHkgaW4gdGhlIHN0YXRlIGNoYW5nZQoKMjAxMS0wOS0wNyAxNTo0ODozMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBjbGVhbnVwIG1ha2VmaWxlcwoJICBSZW1vdmUgY29tbWVudGVkIG91dCBwYXJ0cyB0aGF0IHdlIGRvbid0IG5lZWQuIFJlbW92ZSAidGhlIHdpbmdvIGFkZGl0aW9uIiAtIG5vCgkgIHNvIHVzZWZ1bCBhZnRlciBhbGwuIE5hcnJvdyBkb3duIGZpbGUtZ2xvYnMgZm9yIHBsdWdpbiBkb2NzLgoKMjAxMS0wOS0wNyAxNTo0MjozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBjYW1lcmFiaW4yIG5hbWVzIGluIHNlY3Rpb25zLnR4dAoKMjAxMS0wOS0wNyAxNTozNzo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJICBrYXRlcGFyc2U6IGZpeCBjcmFwIGluIG9iamVjdCBtYWNyb3MKCjIwMTEtMDktMDcgMTI6MzI6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogbWFrZSB0aGlzIGJ1aWxkIHdpdGggb2xkZXIgZ2xpYgoJICBnX2xpc3RfZnJlZV9mdWxsIGlzIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uLgoJICBSZXBsYWNlIGl0IHdpdGggZ19saXN0X2ZvcmVhY2ggYW5kIGdfbGlzdF9mcmVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDUwCgoyMDExLTA5LTA3IDEzOjQ2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IE1ha2UgdGhlIGgyNjMgYW5kIChuZXcpIG1wZWcgdmlkZW8gcGFyc2VyIGF1dG9wbHVnZ2FibGUKCjIwMTEtMDktMDUgMjA6MDI6NTcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IElEUiBwb3NpdGlvbiBtYXJraW5nIHdoZW4gdGhlIElEUiBpcyBzcGxpdCBpbnRvIHNldmVyYWwgTkFMcwoKMjAxMS0wOS0wNyAxMToyNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEFkZCBhbGwgYWx3YXlzIHByZXNlbnQgZmllbGRzIHRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMS0wOS0wNyAxMToyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQWRkIGFsbCBmaWVsZHMgdG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA5LTA3IDExOjIyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogQWxsb3cgcGFyc2VkIHN0cmVhbXMgdG8gYmUgcGFzc2VkIHRocm91Z2ggdGhlIHBhcnNlcnMKCjIwMTEtMDktMDcgMTE6MTc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBQdXQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IGludG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIEFsc28gcmVtb3ZlIHRoZSBwYXJzZWQgZmllbGQgZnJvbSB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzLgoKMjAxMS0wOS0wNyAxMToxNDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBoMjY0cGFyc2U6IENoYW5nZSByYW5rIHRvIFBSSU1BUlkrMSB0byBoYXZlIGgyNjRwYXJzZSBhdXRvcGx1Z2dlZAoKMjAxMS0wOS0wNyAxMTowNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IENvbnN0aWZ5IHNvbWUgYXJyYXlzCgoyMDExLTA5LTA2IDEwOjQ5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogTm8gbmVlZCBmb3IgYXBwc2luayB0byBzdG9yZSB0aGUgbGFzdCBidWZmZXIKCSAgVGhlcmUgaXMgbm8gbmVlZCBmb3IgcHJldmlldydzIGFwcHNpbmsgdG8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgbGFzdCBidWZmZXIsCgkgIHNvIGRpc2FibGUgdGhlIHByb3BlcnR5IHRvIG1ha2UgaXQgdW5yZWYgdGhlIGJ1ZmZlcnMgc29vbmVyLgoKMjAxMS0wOS0wNiAyMjo0ODozMCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIGxhdGVzdCBuZXcgcGx1Z2lucyBhbmQgbW92ZWQgcGx1Z2lucwoKMjAxMS0wOS0wNiAyMToyNTowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTM5ZWI4MyB0byAxMWYwY2Q1CgoyMDExLTA5LTA2IDE2OjEzOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0wNiAxNTo0MDo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDEzOjIwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIENvbnZlcnRlciB0byBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIHBhcnNlciBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzIGFuZCBzdHJlYW0tZm9ybWF0cy4KCjIwMTEtMDktMDUgMTQ6Mzk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBBcHBzaW5rIGRvZXNuJ3QgbmVlZCB0byBzeW5jCgkgIFNldCBzeW5jIHRvIGZhbHNlIG9uIHByZXZpZXcncyBwaXBlbGluZSBhcHBzaW5rCgoyMDExLTA5LTA1IDA5OjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogUmVtb3ZlIG9uZSBvZiB0aGUgdHdvIGNvbG9yc3BhY2UgY29udmVydGVycwoJICBUaGUgcHJldmlldyBwaXBlbGluZSBkb2Vzbid0IG5lZWQgMiBjb2xvcnNwYWNlIGNvbnZlcnRlcnMsIHJlbW92ZQoJICBvbmUgdG8gc3BlZWQgdXAgY2FwcyBuZWdvdGlhdGlvbiBhbmQgcmVkdWNlIHRoZSBkZWxheSBvbiBnZXR0aW5nCgkgIHRoZSBmaXJzdCBwcmV2aWV3IGJ1ZmZlciBvdXQgb2YgdGhlIHByZXZpZXcgcGlwZWxpbmUuCgkgIEl0IHNob3VsZG4ndCBjYXVzZSBwcm9ibGVtcyBhcyB2aWRlb3NjYWxlIGFuZCBmZm1wZWdjb2xvcnNwYWNlIHNlZW1zCgkgIHRvIGhhbmRsZSB0aGUgc2FtZSBjYXBzLCBzbyBubyBjb252ZXJzaW9uIHNob3VsZCBiZSBuZWVkZWQgZm9yCgkgIHZpZGVvc2NhbGUuIEFkZGl0aW9uYWxseSwgY2FtZXJhYmluMSBoYXMgYmVlbiB3b3JraW5nIHdpdGggYSBzaW1pbGFyCgkgIHBpcGVsaW5lIHdpdGggYSBzaW5nbGUgZmZtcGVnY29sb3JzcGFjZSBhbmQgbm8gYnVncyBoYXZlIGJlZW4gb3BlbiBhYm91dCBpdAoJICBzbyBmYXIuCgoyMDExLTA5LTAxIDIwOjAxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogRGlzYWJsZSBhcHBzcmMgc2lnbmFscyBlbWlzc2lvbgoJICBDYW1lcmFiaW4yIGRvZXNuJ3QgY2hlY2sgYXBwc3JjJ3Mgc2lnbmFscywgc28gZGlzYWJsZSB0aGVtCgoyMDExLTA4LTI2IDEwOjUwOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuYzogZG8gbm90IHRyeSB0byBjYWxjdWxhdGUgbGF0ZW5jeSBmcm9tIGFuIHVua25vd24gZnJhbWVyYXRlCgkgIEl0J2xsIGRpdmlkZSBieSB6ZXJvLCBhbmQgbGF0ZW5jeSBpcyB1bmtub3duIGZvciBhbiB1bmtub3duIGZyYW1lcmF0ZS4KCSAgRml4ZXMgYW4gYXNzZXJ0IGluIHRoZSBzY2hyb2VuYyB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NDE5CgoyMDExLTA5LTAzIDAwOjM2OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgYSBmZXRjaCBmYWlscywgZGVjcmVtZW50IHRoZSBzZXF1ZW5jZSBudW1iZXIKCjIwMTEtMDktMDIgMjM6NDk6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIGhsc2RlbXV4IGxvY2svdW5sb2NrIHRoZSBtM3U4IGNsaWVudCB3aGVuIGl0IGFjY2Vzc2VzIGl0CgoyMDExLTA5LTAyIDIzOjQ4OjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWRkIGEgZ2V0X3RhcmdldF9kdXJhdGlvbiBhbmQgZ2V0X2N1cnJlbnRfdXJpIGFwaSB0byBtM3U4X2NsaWVudAoKMjAxMS0wOS0wMiAyMzo0ODowMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IE1ha2UgdGhlIG0zdTggY2xpZW50IHRocmVhZC1zYWZlCgoyMDExLTA5LTAyIDE5OjQ0OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IGluIFBBVVNFRC0+UkVBRFkgYWZ0ZXIgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBjbGFzcwoJICBPdGhlcndpc2UgdGhlcmUgYXJlIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9ucyB3aXRoIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wOS0wMiAxNjowODo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgZG9jczogbWlub3IgZml4ZXMKCjIwMTEtMDgtMzEgMTA6MTI6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5LnZjcHJvajoKCSAgZ3N0LWxpYnM6IFJlbW92ZSBwbGF5IGRpcmVjdG9yeS4gV2FzIHVucG9ydGVkIHNpbmNlIDAuOAoKMjAxMS0wOC0zMSAxMDoxMDoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IEFkZCBtb3JlIHNlY3Rpb25zIHRvIHRoZSBnc3QtbGlicyBBUEkgZG9jcwoKMjAxMS0wOC0yOSAxMzo1MjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFBQUyBwYXJzZXIKCSAgRml4IHRyYW5zZm9ybV84eDhfbW9kZV9mbGFnIGFuZCBzZWNvbmRfY2hyb21hX3FwX2luZGV4X29mZnNldAoKMjAxMS0wOC0yOSAxMzo1MjoxNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IE5BTCByZWFkZXIgaW5pdGlhbGl6YXRpb24uCgoyMDExLTA4LTI2IDE1OjU0OjUxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBoYW5kbGUgZW5kLW9mLXNlcSBhbmQgZW5kLW9mLXN0cmVhbSBOQUwgZ3JhY2VmdWxseS4KCjIwMTEtMDgtMjYgMTY6MDU6NTggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByZWZfcGljX2xpc3RfcmVvcmRlcmluZygpLgoKMjAxMS0wOC0xNiAxNjoxOTowMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwcmVkX3dlaWdodF90YWJsZSgpIHBhcnNpbmcuCgkgIFVzZSAxNi1iaXQgc2lnbmVkIGludGVnZXIgdmFsdWVzIGZvciB3ZWlnaHQgdmFsdWVzIGJlY2F1c2UgdmFsaWQKCSAgcmFuZ2VzIGFyZSAtMTI4IHRvICsxMjggaW5jbHVzaXZlLgoKMjAxMS0wOC0xNiAxNToyMToxOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIHNsaWNlX2hlYWRlcigpIHNpemUgaW4gYml0cy4KCjIwMTEtMDgtMTYgMTU6MTQ6MDMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2xpY2VfaGVhZGVyKCkgcGFyc2luZy4KCSAgV2Ugd2VyZSBub3QgcGFyc2luZyB0aGUgc2xpY2UgaGVhZGVycyB1bnRpbCB0aGUgYWN0dWFsIGVuZCwgd2UgYXJlIG5vdwoJICBwYXJzaW5nIHVudGlsIHRoZSBlbmQuCgoyMDExLTA4LTEyIDEzOjE5OjI5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZmlsbGVyLWRhdGEgTkFMIHVuaXQgdHlwZSBuYW1lLgoKMjAxMS0wOC0xMiAxMDoxNzo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy5wYy5pbjoKCSAgY29kZWNwYXJzZXJzOiBhZGQgcGtnY29uZmlnIGZpbGUuCgkgIEFkZHMgYSBuZXcgcGtnY29uZmlnIGZpbGUgZm9yIGNvZGVjcGFyc2Vycy4gVGhleSBkb24ndCBoYXZlCgkgIGFueSBzcGVjaWZpYyBkZXBlbmRlbmN5IG9uIGdzdC1wbHVnaW5zLWJhZCBhbmQgdGhleSBjb3VsZCBxdWl0ZSBiZQoJICBpbmRlcGVuZGVudCBiaXRzdHJlYW0gcGFyc2Vycy4KCjIwMTEtMDgtMDUgMTE6MjE6MDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogYWRkIHVzZXItZGF0YSBwYWNrZXQgc3RhcnQgY29kZSBkZWZpbml0aW9uLgoKMjAxMS0wOC0wMyAxNzozMTo1NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBmaXggUGljdHVyZV9Db2RpbmdfRXh0ZW5zaW9uIHBhcnNlci4KCjIwMTEtMDgtMDIgMTI6Mzc6MDIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUG9ydCB0byB0aGUgbmV3IGguMjY0IHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNy0yOSAxMDo1NjoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBBZGQgYW4gaC4yNjQgYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNi0yMyAxMjo1NDo0MyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUG9ydCB0byB0aGUgbmV3IG1wZWcgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA3LTE5IDEzOjUyOjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogQWRkIGFuIG1wZWcgdmlkZW8gYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeQoJICBDcmVhdGUgYSBuZXcgY29kZWNwYXJzZXJzIGxpYnJhcnkKCjIwMTEtMDgtMzAgMTQ6NTA6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvY29tcGlsaW5nLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1vdmVycmlkZXMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IEJ1aWxkIGRvY3VtZW50YXRpb25zIGZvciBsaWJyYXJpZXMKCjIwMTEtMDktMDIgMTU6MDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBSZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudAoKMjAxMS0wOS0wMiAxNDo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgZ29pbmcgdG8vZnJvbSBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgVGhpcyB0aGVvcmV0aWNhbGx5IGFsbG93cyByZXVzZSBvZiB0aGUgZWxlbWVudCB3aGVuIHNldHRpbmcgaXQgdG8gUkVBRFkKCSAgaW5zdGVhZCBvZiBOVUxMLgoKMjAxMS0wOS0wMiAxNDo1NDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgcGxheWxpc3QgcGFyc2luZyBoZWxwZXIgb2JqZWN0IHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoKMjAxMS0wOS0wMSAyMzoxODo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsbG93IHVwIHRvIDMgY29uc2VjdXRpdmUgZmFpbGVkIGRvd25sb2FkcyBiZWZvcmUgZXJyb3JpbmcKCSAgSW4gc29tZSBuZXR3b3JrcywgZXNwZWNpYWxsIGluIDNHLCBhIGZyYWdtZW50IGRvd25sb2FkIG9yIHBsYXlsaXN0CgkgIHVwZGF0ZSBtYXkgZmFpbC4gV2UgYWxsb3cgZm9yIHVwIHRvIDMgY29uc2VjdXRpdmUgZmFpbHVyZXMsIHdoaWxlIHVzaW5nCgkgIHRoZSByZmMncyBzcGVjcyBmb3IgcmV0cnkgZGVsYXlzIGJlZm9yZSBjb25zaWRlcmluZyB0aGF0IHRoZXJlIHdhcyBhbgoJICBlcnJvciBvbiB0aGUgc3RyZWFtLgoKMjAxMS0wOS0wMSAyMjo0NjoxOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgYXJndW1lbnQKCjIwMTEtMDgtMjEgMjA6MTU6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggZHJvcC1mcmFtZSBwcm9wZXJ0eQoJICBGaXhlcyAjNjU2OTI5LgoKMjAxMS0wOS0wMSAxNTo1Nzo1MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIGZsYWcgdG8gZGlzYWJsZSBpbWFnZSBjb252ZXJzaW9uIGVsZW1lbnRzCgkgIElmIHdlIGtub3cgdGhhdCBvdXIgY2FtZXJhIHNvdXJjZSBlbGVtZW50IHByb2R1Y2VzIGJ1ZmZlcnMgYXQgdGhlIHNhbWUKCSAgcmVzb2x1dGlvbiBhbmQgYXBwcm9wcmlhdGUgY29sb3Vyc3BhY2UgZm9yIHRoZSBvdXRwdXQsIHdlIGRvbid0IG5lZWQgYW55CgkgIG9mIHRoZSBnZW5lcmljIGNvbnZlcnNpb24gZWxlbWVudHMgaW4gZW5jb2RlYmluLiBUaGlzIHJlZHVjZXMgY2FwcwoJICBuZWdvdGlhdGlvbiBvdmVyaGVhZHMgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxMS0wOC0zMSAyMzowNjo1MyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBmaXggd2FybmluZ3MgcmVsYXRlZCB0byB0aGUgZm9ybWF0IG9uIHRoZSBkZWJ1ZyBsaW5lcy4KCjIwMTEtMDgtMzEgMTM6Mjk6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNaWNybyBvcHRpbWl6ZSBlbmNvZGViaW4gcGFkcyBsaW5raW5nCgkgIFJlZHVjZSBvbmUgY2hlY2sgaW4gZW5jb2RlYmluIHBhZHMgbGlua2luZyBvbiBjYW1lcmFiaW4yIGJ5CgkgIHVzaW5nIHRoZSBsaW5rX3BhZHNfZnVsbCB2ZXJzaW9uCgoyMDExLTA4LTMxIDEzOjI4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogT3B0aW1pemUgcHJldmlldyBwaXBlbGluZSBzdGFydHVwCgkgIFVzZSBnc3RfZWxlbWVudF9saW5rX3BhZHNfZnVsbCB0byBvcHRpbWl6ZSBwcmV2aWV3IHBpcGVsaW5lIHN0YXJ0dXAsCgkgIGxlYWRpbmcgdG8gYSBmYXN0ZXIgY2FtZXJhYmluMiBzdGFydHVwIGFzIHdlbGwuCgoyMDExLTA4LTMxIDE1OjMzOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGV4cGxpY2l0IGJvb2xlYW4gbGl0ZXJhbHMgdG8gbWFrZSBnb2JqZWN0IGhhcHB5CgkgIGdvYmplY3QgYm9vbGVhbiBwcm9wZXJ0aWVzIGFyZSBzdHJpY3QgYW5kIG9ubHkgYWNjZXB0IDEgb3IgMCwgb3RoZXJ3aXNlCgkgIHRoZXkgdGhyb3cgYW4gYXNzZXJ0aW9uLgoKMjAxMS0wOC0zMSAxNDo0ODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBKdXN0IGpvaW4gdGhlIHRhc2sKCSAgZ3N0X3Rhc2tfam9pbigpIHdpbGwgYWxyZWFkeSBzdG9wIHRoZSB0YXNrLCBubyBuZWVkCgkgIHRvIHN0b3AgaXQgYWRkaXRpb25hbGx5LgoKMjAxMS0wOC0zMSAxNDo0Nzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBKb2luIHRoZSB0YXNrIGluc3RlYWQgb2YganVzdCBzdG9wcGluZyBpdCBhbmQgbm90IHdhaXRpbmcgZm9yIGl0IHRvIGZpbmlzaAoJICBGaXhlcyBpbnRlcmVzdGluZyByYWNlIGNvbmRpdGlvbnMgdGhhdCBjYXVzZSBjcmFzaGVzIGluIGRlY29kZWJpbjIKCSAgYmVjYXVzZSBwYWRzIGFyZSBhZGRlZC9yZW1vdmVkIGZyb20gY2hpbGQgZWxlbWVudHMgYWx0aG91Z2ggdGhleQoJICBzaG91bGQgYmUgaW4gUkVBRFkgc3RhdGUgYWxyZWFkeS4KCjIwMTEtMDgtMzEgMTI6MTI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wOC0zMSAwMzo0Nzo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN3aXRjaCB0byBoaWdoZXIvbG93ZXIgYml0cmF0ZSBieSBtb3JlIHRoYW4gb25lIHN0ZXAgYXQgYSB0aW1lCgoyMDExLTA4LTMxIDAzOjIwOjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHNwYW1taW5nIEdTVF9MT0dfT0JKRUNUCgoyMDExLTA4LTMxIDAzOjA3OjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgcGF1c2VkLCBkbyBub3QgY2FjaGUgZnJhZ21lbnRzIHVudGlsIG91dCBvZiBtZW1vcnkgZXJyb3IhCgkgIFdlIHNob3VsZCBzdG9wIHRoZSB1cGRhdGUgdGhyZWFkIGluIFBBVVNFRCBzdGF0ZSBhbmQgYXZvaWQgZmV0Y2hpbmcKCSAgbmV3IGZyYWdtZW50cyB3aGVuIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkuIFRoZSBxdWV1ZSBzaG91bGQgYWx3YXlzIGJlCgkgIGVtcHR5IHNpbmNlIHdlIHB1c2ggZGF0YSBpbnRvIGEgcXVldWUuIEFsc28sIGluIHRvdGVtLCBpZiB3ZSBzZWVrIGFuZAoJICBwYXVzZSB0aGUgc3RyZWFtIHdoaWxlIGl0J3MgYnVmZmVyaW5nLCB0aGVuIHRoZSBzdGF0ZSB3aWxsIHN0YXkgcGxheWluZwoJICBmb3Igc29tZSByZWFzb24sIHNvIGl0J3MgYmVzdCBub3QgdG8gY29udGludWUgZmV0Y2hpbmcgZnJhZ21lbnRzIGZvcmV2ZXIuCgoyMDExLTA4LTMxIDAzOjAxOjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RhcnQvc3RvcCB1cGRhdGUgdGhyZWFkIGFuZCBrZWVwIHRyYWNrIG9mIHN0YXR1cwoKMjAxMS0wOC0zMSAwMjowNTowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFBvc3QgZHVyYXRpb24gbWVzc2FnZSB3aGVuIHdlIHBhcnNlIHRoZSBwbGF5bGlzdAoKMjAxMS0wOC0zMSAwMTowODozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgYSBmbHVzaC1zdG9wIHdoZW4gc3dpdGNoaW5nIHBhZHMuIEZpeGVzIEEtPkEvViBzeW5jIGlzc3VlLgoJICBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHdlIHJlc2V0IHRoZSBhY2N1bXVsYXRlIHNlZ21lbnQgb24gdGhlIHNpbmtzCgkgIHNvIGlmIHdlIHN0YXJ0IHdpdGggYXVkaW8gb25seSB0aGVuIHN3aXRjaCB0byBhdWRpbyt2aWRlbywgdGhlbiBib3RoCgkgIHNpbmtzIHdpbGwgaGF2ZSB0aGUgc2FtZSBzZWdtZW50cyBhbmQgd2lsbCBiZSBzeW5jaHJvbml6ZWQuCgoyMDExLTA4LTI2IDIyOjQ4OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2VlbXMgdGhlcmUgd2FzIGEgdHlwbywgZnJlZSB0aGUgYWRhcHRlciBpZiBpdCBjb250YWlucyBkYXRhLCBub3QgaWYgYWxyZWFkeSBlbXB0eQoKMjAxMS0wOC0yNiAyMjo0NzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG91cHMsIHdlIG5lZWQgdG8gZW1wdHkgdGhlIHF1ZXVlIGFmdGVyIGZyZWVpbmcgaXRzIGNvbnRlbnQKCjIwMTEtMDgtMjYgMjI6NDQ6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBOZWVkIHRvIGZsdXNoIGFsbCBzdHJlYW1zIHdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoLXN0YXJ0CgoyMDExLTA4LTI2IDIxOjQ2OjA2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IGJyb2FkY2FzdCB0aGUgZmV0Y2hlcl9jb25kIG9uIGJ1cyBlcnJvciBpZiB3ZSdyZSBjYW5jZWxsZWQKCSAgSWYgd2UgY2FuY2VsIHRoZSBmZXRjaCBhbmQgY2FsbCB0aGUgc3RvcF9mZXRjaGVyLCB3aGljaCBob2xkcyB0aGUgbG9jaywKCSAgd2hlbiBpdCBzZXRzIHRoZSBmZXRjaGVyJ3Mgc3RhdGUgdG8gTlVMTCwgaXQgbWlnaHQgc2VuZCBhbiBlcnJvcgoJICBvbiB0aGUgYnVzLiBJbiB0aGF0IGNhc2UsIHdlIG11c3QgaWdub3JlIGl0LCBvdGhlcndpc2UgaXQgd2lsbCB0cnkKCSAgdG8gdGFrZSB0aGUgbG9jayBhbmQgd2lsbCBibG9jayBmb3JldmVyLgoKMjAxMS0wOC0yNiAxOToyOTowNiArMDAwMCAgSm9uYXMgTGFyc3NvbiA8Sm9uYXMuTGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNwbGl0IHBsYXlzbGlzdCBvbiBcclxuIG5vdCBqdXN0IFxuCgoyMDExLTA4LTI2IDE5OjEwOjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHN1Y2NlZWQgYSBkb3dubG9hZCBpZiB0aGUgZmV0Y2hlciBoYWQgYW4gZXJyb3IKCjIwMTEtMDgtMjYgMTk6MTA6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZW5hbWUgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBjYWxsZWQgd2l0aCBhIGxvY2tlZCBtdXRleAoKMjAxMS0wOC0yNiAxOTowOTo1NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdlIG11c3Qgc2lnbmFsIHRoZSBmZXRjaGVyX2NvbmQgd2hpbGUgaG9sZGluZyBpdHMgbG9jawoKMjAxMS0wOC0yNiAxNzo1NDo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdlIGRvIG5vdCBuZWVkIHRvIHNldCB0aGUgY3VycmVudCBwbGF5bGlzdCB0byB0aGUgbWFpbiBvbmUKCSAgV2hlbiBjYWNoaW5nIGZyYWdtZW50cywgaWYgd2Ugc2V0IHRoZSBjdXJyZW50IHBsYXlsaXN0IHRvIG1haW4sIHRoZW4KCSAgaXQgd2lsbCBhbHdheXMgdGhpbmsgaXQncyBhIGxpdmUgc3RyZWFtIChubyBlbmRsaXN0IGluIGl0KSBzbyBpdCB3aWxsCgkgIGZvcmNlIHRoZSByZWRvd25sb2FkIG9mIHRoZSBtYWluIHBsYXlsaXN0IGFmdGVyIGV2ZXJ5IHNlZWssIHdoaWNoIGlzCgkgIHVubmVjZXNzYXJ5LiBBbHNvLCBpdCBjYXVzZXMgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNlZWsgbWlnaCBoYXBwZW4KCSAgZHVyaW5nIHRoYXQgcmVkb3dubG9hZCwgYW5kIHdlJ2xsIHRoaW5rIHdlJ3JlIHRyeWluZyB0byBzZWVrIGEgbGl2ZSBwaXBlbGluZS4KCjIwMTEtMDgtMzAgMTc6NDM6MjIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgc291bmR0b3VjaDogSGFuZGxpbmcgaW5jb21pbmcgcmF0ZSB3aGVuIHJlcXVlc3RlZC4KCSAgQWJzb3JiIGluYm91bmQgc2VnbWVudHMgd2l0aCByYXRlICE9IDEuMCBhbmQgb3V0cHV0IGEgc2VnbWVudCB3aXRoCgkgIHJhdGUgdGFrZW4gZnJvbSB0aGUgbmV3IG91dHB1dC1yYXRlIHByb3BlcnR5LCBhZGp1c3RpbmcgdGhlIHNlZ21lbnQKCSAgYXBwbGllZF9yYXRlLCBzdHJlYW0gZHVyYXRpb24gYW5kIHRpbWVzdGFtcHMgYXMgbmVjZXNzYXJ5IHRvCgkgIGNvbXBlbnNhdGUKCjIwMTEtMDgtMTUgMTc6NTc6NTMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIGZpeCB2YWxncmluZCB3YXJuaW5nIGFib3V0IENvbmRpdGlvbmFsIGp1bXAgb3IgbW92ZSBkZXBlbmRzIG9uIHVuaW5pdGlhbGlzZWQgdmFsdWUocykKCjIwMTEtMDgtMTcgMDk6NDI6MDcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIE1vdmUgbV9wcHJldkZyYW1lIGZyZWUganVzdCBiZWZvcmUgdGhlIGNsb25lIG9mIHRoZSBsYXRlc3QgZnJhbWUgZm9yIHJlYWRhYmlsaXR5CgoyMDExLTA4LTI2IDA5OjQzOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWFrZSB2aWV3ZmluZGVyJ3MgcXVldWUgYSB0aHJlYWQgbGltaXQgb25seQoJICBSZWR1Y2UgdGhlIHZpZXdmaW5kZXIgcXVldWUgbGltaXRzIHRvIG9ubHkgYWxsb3cgaXQgdG8gc3RvcmUKCSAgb25lIGJ1ZmZlciwgcHJldmVudGluZyB0aGUgcXVldWUgZnJvbSBob2xkaW5nIG9sZCBidWZmZXJzIGZvcgoJICB0b28gbG9uZy4gVGhpcyBhbHNvIGF2b2lkcyBzaG93aW5nIHNsaWdodGx5IG91dGRhdGVkIGZyYW1lcyBvbgoJICB0aGUgdmlld2ZpbmRlciB3aGVuIHRoZSBzb3VyY2UgaGFzIGFscmVhZHkgcHJvZHVjZWQgbmV3IG9uZXMKCSAgYW5kIGltcHJvdmVzIHRoZSBidWZmZXIgcmVjeWNsaW5nIHJhdGUsIGltcG9ydGFudCBmb3Igc291cmNlcwoJICB0aGF0IHVzZSBidWZmZXJwb29scy4KCjIwMTEtMDgtMjUgMTk6NTY6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZml4IGVsZW1lbnQgbGVhawoJICBhbmQgdGhpcyBjb25jbHVkZXMgYW4gaG91ciBvZiB5ZWxsaW5nIGF0IHRoZSBibG9vZHkgdGVzdCBmYWlsaW5nLAoJICBvbmx5IHRvIHRyYWNrIGRvd24gdGhlIHByb2JsZW0gbm90IGJlaW5nIGluIHRoZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzY4CgoyMDExLTA4LTI2IDAwOjUyOjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogSW4gcHVzaCBtb2RlLCBkbyBub3Qgc3RhcnQgcHVsbCBsb29wIGlmIHVwc3RyZWFtIHNlZWsgZmFpbHMKCjIwMTEtMDgtMjYgMDA6NDc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgbWFrZSB0aGUgdXBkYXRlX3RocmVhZCBqb2luYWJsZQoKMjAxMS0wOC0yNiAwMDoyNjoyOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEVuc3VyZSB0aGUgdGFzayBpcyBwYXVzZWQgaW4gY2FzZSBvZiBjYWNoZSBlcnJvcgoKMjAxMS0wOC0yNSAyMzozNzo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0b3AgdGhlIHRocmVhZHMgaW4gdGhlIHByb3BlciBvcmRlcgoJICBmaXJzdCBwYXVzZSB0aGUgdGFzaywgdGhlbiBzdG9wIGFsbCBmZXRjaGVycywgdGhlbiBzdG9wIHRoZSB1cGRhdGUgdGhyZWFkCgkgIHRoZW4gcGF1c2UgdGhlIHRhc2sgYWdhaW4sIHNpbmNlIGl0IG1pZ2h0IGhhdmUgYmVlbiByZXN0YXJ0ZWQgYnkKCSAgYW5vdGhlciB0aHJlYWQgaW4gdGhlIG1lYW50aW1lCgoyMDExLTA4LTI1IDIzOjM3OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IHBvc3QgYW4gZXJyb3IgaWYgd2Ugc2Vlay9jYW5jZWwgZHVyaW5nIGNhY2hpbmcgb2YgZnJhZ21lbnRzCgoyMDExLTA4LTI1IDIzOjM3OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaWYgd2UncmUgY2FuY2VsaW5nIGEgZmV0Y2hlciwgd2UgbXVzdCBzdG9wIGl0cyB0aHJlYWQKCjIwMTEtMDgtMjUgMjM6MzY6MjcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIHRoZSB1cGRhdGVfdGhyZWFkIG11dGV4IGJlZm9yZSBzdG9wcGluZyBpdAoKMjAxMS0wOC0yNSAyMzozNTo1NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgdGhlIGZldGNoZXIgbXV0ZXggYmVmb3JlIHN0b3BwaW5nIGl0CgoyMDExLTA4LTI1IDIzOjMzOjEwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IGFsbG93IHR3byBmZXRjaGVycyB0byBydW4gc2ltdWx0YW5vdXNseQoKMjAxMS0wOC0yMyAyMDo0OTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3AgdGhlIHN0cmVhbWluZyB0YXNrIG9uIFBBVVNFRF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UKCjIwMTEtMDgtMjUgMTk6MjQ6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBtYWtlIGNhbWVyYWJpbjIgdGVzdCBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzYzCgoyMDExLTA4LTI1IDEyOjQ5OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmMKCjIwMTEtMDctMTIgMjE6NDg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogQWRkIG1vcmUgZGVidWcKCjIwMTEtMDctMTIgMTk6MDk6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBNYXggZXZlbnQgdHlwZSBpcyAxNQoKMjAxMS0wNC0xNCAxNTo0NjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IEFsaWduIERUTUYgc291bmQgYnVmZmVycyB3aXRoIGxhc3Qtc3RvcCBmcm9tIGV2ZW50CgkgIEFsc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIG5ldmVyIGdvIGJhY2t3YXJkcwoKMjAxMS0wNy0xMSAyMTozMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ29ycmVjdGx5IHJlY29nbml6ZSB0aGUgZW5kIG9mIGEgYnVmZmVyCgoyMDExLTA3LTExIDIwOjQ3OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBNYWtlIHN1cmUgcnRwZHRtZnNyYyB0aW1lc3RhbXBzIGRvbid0IG92ZXJsYXAKCjIwMTEtMDctMTEgMjA6NDY6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFB1dCB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwgYXQgdGhlIGVuZCwgbm90IGF0IHRoZSBzdGFydAoJICBUaGUgcmVhc29uIGlzIHRvIGxldCBydHBkdG1mbXV4IGRyb3AgYnVmZmVycyBkdXJpbmcgdGhlIGludGVyIGRpZ2l0IGludGVydmFsLAoJICB0aGlzIHdheSwgdGhlcmUgd2lsbCBiZSBtb3JlIHNpbGVuY2UgYXJvdW5kIHRoZSBEVE1GIHRvbmVzIHNvIElWRnMgd2lsbCBoYXZlCgkgIGEgYmV0dGVyIGNoYW5jZSByZWNvZ25pemluZyB0aGVtLgoKMjAxMS0wNC0xNCAxNzowODo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFN0YXJ0IGF0IHRoZSBsYXN0X3N0b3AgZnJvbSB0aGUgc3RhcnQgZXZlbnQgaWYgdGhlcmUgd2FzIG9uZQoJICBUaGUgZ29hbCBpcyB0byB0cnkgdG8gbm90IGhhdmUgYSBHQVAgYmV0d2VlbiB0aGUgYXVkaW8gYW5kIHRoZSBEVE1GCgoyMDExLTA0LTE0IDE0OjM0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIGxhc3Qtc3RvcCB0byBkdG1mLWV2ZW50IHVwc3RyZWFtIGV2ZW50cwoJICBBZGQgdGhlIHJ1bm5pbmcgdGltZSBvZiB0aGUgbGFzdCBvdXRwdXR0ZWQgYnVmZmVyIHRvIHRoZQoJICB1cHN0cmVhbSAiZHRtZi1ldmVudCIgZXZlbnRzIHNvIHRoYXQgdGhlIGR0bWYgc291cmNlIGRvZXMgbm90CgkgIGxlYXZlIGEgZ2FwLgoKMjAxMS0wNC0xNCAxNjo0OTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFJlc3BlY3QgcHRpbWUgZnJvbSB0aGUgY2FwcwoJICBSZXNwZWN0IHRoZSBwdGltZSBmcm9tIHRoZSBjYXBzIGZvciB0aGUgRFRNRiBwYWNrZXRzCgoyMDExLTA3LTExIDIxOjMwOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBKdXN0IGVycm9yIG91dCBpZiB0aGVyZSBpcyBubyBjbG9jawoKMjAxMS0wOC0yNCAxNjo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYWtlIGdzdF9rYXRlX3V0aWxfaXNfdXRmOF9zdHJpbmcoKSBpbmxpbmUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBvbGRlciBsaWJrYXRlIHZlcnNpb25zCgkgIGdzdGthdGV1dGlsLmM6MjMwOjE6IGVycm9yOiAnZ3N0X2thdGVfdXRpbF9pc191dGY4X3N0cmluZycgZGVmaW5lZCBidXQgbm90IHVzZWQKCjIwMTEtMDgtMjQgMTU6MzI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgcnNuZHZkOiBlbnN1cmUgbWV0YWRhdGEgaXMgd3JpdGFibGUgd2hlbiB3cml0aW5nIHRvIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcyNTAKCjIwMTEtMDgtMjQgMDk6MzU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIEZBTFNFIGluc3RlYWQgb2YgMCBmb3IgYm9vbCBwYXJhbWV0ZXIKCjIwMTEtMDgtMjMgMjI6NDQ6MTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBOZWVkIHRvIHNlbmQgYSBuZXdzZWdtZW50IGFmdGVyIGEgc2VlawoKMjAxMS0wOC0yMyAyMjozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgYnVmZmVyaW5nIG1lc3NhZ2VzIG9uIHRoZSBidXMKCjIwMTEtMDgtMjMgMjI6Mzg6MDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjYWNoZSB0aGUgbnVtYmVyIG9mIGZyYWdtZW50cyB3ZSBhcmUgcmVxdWlyZWQgdG8gY2FjaGUKCjIwMTEtMDgtMjMgMjI6NDA6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGb3J3YXJkIHNlZWsvZHVyYXRpb24gcXVlcnkvZXZlbnQgdG8gdGhlIHNpbmtwYWQKCjIwMTEtMDgtMjQgMDE6MDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPcHRpbWl6ZSBzdGFydCB1cCBhIGxpdHRsZSBieSByZW1vdmluZyBzb21lIHBhZCBjaGVja3MKCSAgU29tZSBwYWQgY2hlY2tzIGFyZSBndWFyYW50ZWVkIHRvIHdvcmssIHNvIHdlIGNhbiBkaXNhYmxlIHRoZW0KCSAgYnkgdXNpbmcgZ3N0X2VsZW1lbnRfbGlua19wYWRzX2Z1bGwKCjIwMTEtMDgtMjMgMTk6MjY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgZnJvbSBleHBlcmltZW50YWwKCSAgUmVtb3ZlIGNhbWVyYWJpbjIgZnJvbSBleHBlcmltZW50YWwsIGFsbG93aW5nIGl0IHRvIGJlIGJ1aWx0CgkgIHdpdGhvdXQgbmVlZGluZyB0byBwYXNzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBvbiBjb25maWd1cmUuCgoyMDExLTA4LTIzIDE5OjEzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWx3YXlzIHNldCBlbmNvZGViaW4gZmxhZ3Mgd2hlbiBnb2luZyB0byByZWFkeQoJICBXaGVuIGdvaW5nIGZyb20gTlVMTCB0byBSRUFEWSB3ZSB3YW50IHRoZSBlbmNvZGViaW4gZmxhZ3MgdG8gYmUKCSAgc2V0LCBhbmQgbm90IG9ubHkgYWZ0ZXIgY3JlYXRpbmcgZW5jb2RlYmluIChvbiB0aGUgZmlyc3QgcnVuKQoKMjAxMS0wOC0yMyAxMTo1ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIG5ldyBlbnRyeSB0byBmbGFncyBwcm9wZXJ0eQoJICBBZGRzIGEgbmV3IGVudHJ5IHRvIGNhbWVyYWJpbjIgZmxhZ3MgdG8gZGlzYWJsZSB2aWV3ZmluZGVyCgkgIGNvbnZlcnNpb24gZWxlbWVudHMuCgoyMDExLTA4LTIzIDExOjE5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBBZGQgcHJvcGVydHkgZm9yIGRpc2FibGluZyBjb252ZXJ0ZXJzCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gZGlzYWJsZSBjb252ZXJ0ZXJzIGVsZW1lbnRzIGZvciBwZXJmb3JtYW5jZQoJICByZWFzb25zLiBJdCBzaG91bGQgb25seSBiZSB1c2VkIGlmIHRoZSBhcHBsaWNhdGlvbiBrbm93cyB0aGV5IGFyZW4ndAoJICBuZWVkZWQuCgoyMDExLTA4LTE5IDE3OjI4OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCB0cnkgdG8gY29tcGFyZSBhIFBDUiB3aXRoIGl0c2VsZiBmb3Igc3RhdGlzdGljcwoJICBFc3BlY2lhbGx5IGFzIG9uZSBvZiB0aGUgbG9ncyB3aWxsIGNhdXNlIGEgZGl2aWRlIGJ5IHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjcKCjIwMTEtMDgtMTkgMTM6MzI6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IGtlZXAgYSBkYW5nbGluZyBwb2ludGVyCgkgIFdoZW4gcmVtb3ZpbmcgdGhlIGN1cnJlbnQgcHJvZ3JhbSwgaXQgd2lsbCBnZXQgZnJlZWQgYnkgdGhlCgkgIGhhc2ggdGFibGUgcmVtb3ZhbCBjYWxsYmFjaywgc28gZW5zdXJlIHdlIGNsZWFyIG91ciBwb2ludGVyCgkgIHRvIGl0LgoJICBGaXhlcyBhIGNyYXNoIGxhdGVyIG9uIGluIGdzdF90c19kZW11eF9wdXNoIHRyeWluZyB0byBhY2Nlc3MgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjcKCjIwMTEtMDgtMjEgMjA6MzY6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBwYXNzIG9uIHRpbWVkIGV2ZW50IG1ldGFkYXRhIGFzIHRhZ3Mgd2hlbiB3ZSBjYW4KCSAgTWV0YWRhdGEgYXR0YWNoZWQgdG8gb3RoZXIgb2JqZWN0cyB0aGF0IG1heSBiZSB1c2VkIGluIHRoaXMKCSAgZXZlbnQgYXJlIG5vdCBwYXNzZWQsIGFzIGlzIGJpbmFyeSBtZXRhZGF0YS4KCjIwMTEtMDgtMjMgMTA6MzI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBBQ19NU0dfQ0hFQ0tJTkcoKSB0byB0aGUgVlA4RV9TRVRfVFVOSU5HIHByZXNlbmNlIGNoZWNrCgoyMDExLTA4LTE5IDE5OjE3OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBwcm9iZSBmb3IgdGhlIG5ldyB0dW5pbmcgQVBJIHRvIGtlZXAgYnVpbGRpbmcgd2l0aCBvbGRlciBsaWJ2cHgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyOAoKMjAxMS0wOC0xOCAxMzoyMToxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2Z2RlYzogdXNlIGlucHV0IGJ1ZmZlciB0aW1pbmdzIGlmIHBvc3NpYmxlCgkgIFNWRyBkYXRhIG1heSBjb21lIHRocm91Z2ggbXVsdGlwbGUgYnVmZmVycywgc28ga2VlcCB0cmFjayBvZiB0aGUKCSAgdGltZXN0YW1wIG9mIHRoZSBmaXJzdCBidWZmZXIsIGFuZCB1c2UgaXQgaW4gcHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODI4NAoKMjAxMS0wOC0yMiAxNzoxMDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGRvIG5vdCBjb25zaWRlciBhbiBlbXB0eSBTUFUgdG8gYmUgYSBmYXRhbCBlcnJvcgoJICBJbnN0ZWFkLCBqdXN0IGVuY29kZSBub3RoaW5nIGFuZCBnbyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA5MQoKMjAxMS0wOC0yMiAxNzoxNToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGRvIG5vdCBjbGVhciBvdXQgaGlnaCBiaXRzIGZyb20gZGlzcGxheSBhcmVhCgkgIGh0dHA6Ly9kdmQuc291cmNlZm9yZ2UubmV0L3NwdV9ub3RlcyBkb2VzIG5vdCBtZW50aW9uIHRoYXQgaGlnaCBiaXRzCgkgIGFyZSB0byBiZSBtYXNrZWQsIGFuZCBub3QgY2xlYXJpbmcgdGhlbSBtYWtlcyBhIHNhbXBsZSB3b3JrLCB3aGVyZQoJICBjbGVhcmluZyB0aGVtIHlpZWxkZWQgbGVmdCA+IHJpZ2h0LgoJICBIaXN0b3J5IGZyb20gdGhlIGR2ZHNwdSBwbHVnaW4sIGZyb20gd2hlcmUgdGhpcyBjb2RlIHdhcyBjb3BpZWQsCgkgIGRvZXMgbm90IHNoZWQgYW55IGxpZ2h0LCBhcyB0cmFjaW5nIHRoaXMgY29kZSdzIG9yaWdpbiBzaG93cwoJICB0aGUgc2FtZSBiaXRtYXNrcyBiZWluZyB0aGVyZSBpbiAyMDA3IHdoZW4gaXQgd2FzIGltcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDkxCgoyMDExLTA4LTIyIDE2OjUyOjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IGRvIG5vdCBjbGVhciBvdXQgaGlnaCBiaXRzIGZyb20gZGlzcGxheSBhcmVhCgkgIGh0dHA6Ly9kdmQuc291cmNlZm9yZ2UubmV0L3NwdV9ub3RlcyBkb2VzIG5vdCBtZW50aW9uIHRoYXQgaGlnaCBiaXRzCgkgIGFyZSB0byBiZSBtYXNrZWQsIGFuZCBub3QgY2xlYXJpbmcgdGhlbSBtYWtlcyBhIHNhbXBsZSB3b3JrLCB3aGVyZQoJICBjbGVhcmluZyB0aGVtIHlpZWxkZWQgbGVmdCA+IHJpZ2h0LgoJICBIaXN0b3J5IGRvZXMgbm90IHNoZWQgYW55IGxpZ2h0LCBhcyB0cmFjaW5nIHRoaXMgY29kZSdzIG9yaWdpbiBzaG93cwoJICB0aGUgc2FtZSBiaXRtYXNrcyBiZWluZyB0aGVyZSBpbiAyMDA3IHdoZW4gaXQgd2FzIGltcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTE5CgoyMDExLTA4LTIzIDA5OjUyOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpcnN0IHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIHNlZWtpbmcgaW4gVElNRSBmb3JtYXQgYmVmb3JlIHNlZWtpbmcgaW4gdGhlIGRlbXV4ZXIKCjIwMTEtMDgtMjMgMDk6NDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRmlyc3Qgc2VuZCBTRUVLSU5HIHF1ZXJpZXMgdXBzdHJlYW0KCjIwMTEtMDgtMjMgMDk6Mjc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2VuZCBEVVJBVElPTiBxdWVyeSB1cHN0cmVhbSBmaXJzdAoKMjAxMS0wOC0yMyAwOToyMzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVc2UgRkFMU0UgaW5zdGVhZCBvZiAwIGZvciBhIGJvb2wgcGFyYW1ldGVyCgoyMDExLTA4LTE2IDE5OjUzOjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3dpdGNoIHBhZHMgd2hlbiB3ZSBzZWVrIChuZWVkX3NlZ21lbnQpIHNpbmNlIHRzZGVtdXggZG9lc24ndCBjb3BlIHdlbGwgd2l0aCBhIHJlc2V0CgoyMDExLTA4LTIzIDAyOjM2OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIGEgRklYTUUgY29tbWVudC4gbG9vcCB0YXNrIHNob3VsZCBiZSBhIHBhZCB0YXNrCgoyMDExLTA4LTIyIDIzOjQxOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHNlZWsgaW4gYSBsaXZlIHN0cmVhbQoKMjAxMS0wOC0yMiAyMzo0MTozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCB0YWtlIHRoZSBwYWQgc3RyZWFtIGxvY2ssIHVzZSB0aGUgdGFzaydzIGxvY2sgaW5zdGVhZAoKMjAxMS0wOC0xNiAxOTo0Njo0OSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IEVWRU5UX1NFRUsKCjIwMTEtMDgtMjMgMDE6NTQ6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgdGhlIEdTVF9RVUVSWV9TRUVLSU5HIHByb3Blcmx5CgoyMDExLTA4LTIzIDAxOjU0OjAzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IGNvcnJlY3RseSB0aGUgR1NUX1FVRVJZX0RVUkFUSU9OCgoyMDExLTA4LTE2IDE5OjQxOjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHVzZSBHU1RfVEFTS19XQUlUIGluIHRoZSB0YXNrIGZ1bmN0aW9uCgkgIFRoZSB0YXNrIGZ1bmN0aW9uIHVzZXMgR1NUX1RBU0tfV0FJVCB3aGljaCBkb2VzIGEgZ19jb25kX3dhaXQgZ2l2aW5nIGl0CgkgIHRoZSBHU1RfT0JKRUNUX0dFVF9MT0NLIG9mIHRoZSB0YXNrLiBUaGUgbXV0ZXggZ2V0cyBsb2NrZWQgd2hlbgoJICBnX2NvbmRfd2FpdCByZXR1cm5zLCBzbyBpZiB3ZSBkb24ndCBsb2NrL3VubG9jayBpdCwgaXQgd2lsbAoJICBzdGF5IGxvY2tlZCBmb3JldmVyLCBwcmV2ZW50aW5nIHRoZSB0YXNrIGZyb20gZXZlciBmaW5pc2hpbmcuCgkgIFdlIHNob3VsZG4ndCBsb2NrIHRoZSB0YXNrIG9iamVjdCBsb2NrLCBzbyBsZXQncyByZW1vdmUgdGhlIEdTVF9UQVNLX1dBSVQKCSAgYW5kIG1ha2UgdGhlIHRhc2sgcGF1c2UgaW5zdGVhZCBpZiB0aGVyZSBhcmUgbm8gYnVmZmVycyBpbiB0aGUgcXVldWUuCgoyMDExLTA4LTE4IDIzOjUyOjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IHNlbmQgYSBuZXctc2VnbWVudCBvbiBzdHJlYW0gcmVtb3ZhbAoJICBXaGVuIGEgcHJvZ3JhbSBpcyBjaGFuZ2VkLCBzdHJlYW1fYWRkZWQgaXMgY2FsbGVkIHdoaWNoIHNldHMgdGhlCgkgIG5lZWRfbmV3c2VnbWVudCB0byBUUlVFLCB0aGVuIHN0cmVhbV9yZW1vdmVkIGlzIGNhbGxlZCwgd2hpY2ggY2FsbHMKCSAgdGhlIGZsdXNoX3BlbmRpbmdfZGF0YSwgd2hpY2ggY2hlY2tzIGZvciB0aGUgbmV3c2VnbWVudCBhbmQgY2F1c2VzCgkgIGl0IHRvIHNlbmQgYSBuZXctc2VnbWVudC4KCSAgV2UgbXVzdCBub3Qgc2VuZCB0aGUgbmV3c2VnbWVudCB3aGVuIGZsdXNoaW5nIHRoZSBwZW5kaW5nIGRhdGEgb24gdGhlCgkgIHJlbW92ZWQgc3RyZWFtLiBXZSBzaG91bGQgb25seSBwdXNoIGl0IHdoZW4gZmx1c2hpbmcgZGF0YSBvbiB0aGUgbmV3bHkKCSAgYWRkZWQgc3RyZWFtcyAoYWZ0ZXIgdGhleSBmaW5pc2ggcGFyc2luZyB0aGVpciBQVFMgaGVhZGVyKQoKMjAxMS0wOC0xNiAyMjowNToxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBuZXdzZWdtZW50IHdoZW4gc3dpdGNoaW5nIHByb2dyYW1zCgkgIElmIGEgcHJvZ3JhbS9zdHJlYW0gaXMgY2hhbmdlZCwgdGhlbiBhIG5ld3NlZ21lbnQgaXMgc2VudCB3aGljaCBtdXN0CgkgIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYmFzZSBzZWdtZW50IHNpbmNlIGl0IGhhcHBlbnMgbGF0ZXIuIFdlIG11c3QKCSAgc2hpZnQgdGhlIHN0YXJ0IHBvc2l0aW9uIGJ5IHRoZSB0aW1lIGVsYXBzZWQgc2luY2UgdGhlIG5ld3NlZ21lbnQKCSAgYW5kIHRoZSBjdXJyZW50IFBUUyBvZiB0aGUgc3RyZWFtCgoyMDExLTA4LTE2IDE5OjU0OjA0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaW50ZXJwb2xhdGUgZ2FwIGFuZCBmaXggdGltZXN0YW1wcyBkZXBlbmRpbmcgb24gdXBzdHJlYW0gc2VnbWVudAoKMjAxMS0wOC0xOCAyMzo1NDo1OSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogS2VlcCBhIHNlcGFyYXRlIHZhcmlhYmxlIGZvciB0aGUgY3VycmVudCB2YXJpYW50IHVzZWQKCSAgQnkgdXNpbmcgYSBzZXBhcmF0ZSB2YXJpYWJsZSwgZmlyc3QgaXQgYWxsb3dzIHVzIHRvIHNvcnQgdGhlIGxpc3RzCgkgIG9mIGFsdGVybmF0ZXMgYnV0IGtlZXAgdGhlIHBvaW50ZXIgb24gdGhlIGZpcnN0IG9jY3VyZW5jZSBpbiB0aGUgbWFpbgoJICBwbGF5bGlzdCAodG8gcmVzcGVjdCB0aGUgc3BlYyBvZiBzdGFydGluZyB3aXRoIHRoZSBiaXRyYXRlIHNwZWNpZmllZAoJICBmaXJzdCBpbiB0aGUgbWFpbiBwbGF5bGlzdCkuIEl0IGFsc28gYXZvaWQgcGxheWluZyB3aXRoIHRoZSBsaXN0cyB2YXJpYWJsZQoJICB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBzdG9yZSB0aGUgbGlzdCBvZiBwbGF5bGlzdHMgYW5kIG5vdCBhcyBhIHBvaW50ZXIKCSAgdG8gdGhlIGN1cnJlbnQgb25lLgoJICBBbHNvIGZpeGVzIGEgbWVtbGVhayB3aXRoIHRoZSBnX2xpc3RfZm9yZWFjaCBmcmVlaW5nIHRoZSBsaXN0cywgaWYgaXQgd2Fzbid0CgkgIHBvaW50aW5nIHRvIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0LgoKMjAxMS0wOC0yMSAxODo0NDo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogZml4IGNvbXBpbGF0aW9uIG9uIExpbnV4CgoyMDExLTA4LTE4IDE0OjI5OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHN1YmRldmljZSBwcm9wZXJ0eQoKMjAxMS0wNy0wNyAxNjo0NDozMSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9MaW51eENPTS5oOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSV9pLmM6CgkgIGRlY2tsaW5rOiBhZGQgc3VwcG9ydCBmb3IgV2luZG93cwoJICBCdWlsZHMgd2l0aCBNU1ZDLCBub3QgdGVzdGVkIGluIE1pbkdXIG9yIGFueXRoaW5nIGVsc2UuIEFkZGVkCgkgIENPTSBoYW5kbGluZyBjb2RlLCBib3Jyb3dlZCBmcm9tIGRzaG93dmlkZW9zaW5rLiBNb3ZlZCBMaW51eAoJICBzcGVjaWZpYyBmaWxlcyB0byAuL2xpbnV4IGFuZCBhZGRlZCBXaW5kb3dzIHNwZWNpZmljIGZpbGVzIHRvCgkgIC4vd2luIChnZW5lcmF0ZWQgZnJvbSBJREwgZmlsZXMgaW4gVlM5KS4gQWRkZWQgbWFjcm9zIHRvIGhhbmRsZQoJICBCU1RSIGFuZCBkZWZpbmVkIGJvb2wgYXMgQk9PTC4gIEZpeGVzICM2NTUzNjIuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDozNDowMSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBpbXByb3ZlIGZyYW1lIGhhbmRsaW5nCgkgIFNlbmQgTkVXU0VHTUVOVCBvbiBzdGFydC4gU2VuZCB3YXJuaW5nIGluc3RlYWQgb2YgZXJyb3Igb24KCSAgZHJvcHBlZCBmcmFtZXMuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDoyMDozNyAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBmaXggZGVidWdnaW5nIGluIGNhcHR1cmUuY3BwIGJ5IG1ha2luZyBjYXRlZ29yeSBleHRlcm4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjEzOjAwIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJICBkZWNrbGluazogdXNlIG11dGV4ZXMgZnJvbSBnbGliIGluc3RlYWQgb2YgcHRocmVhZAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTYgMTc6MTk6NDkgLTAzMDAgIFRpYWdvIEPDqXNhciBLYXRjaXBpcyA8dGlhZ29rYXRjaXBpc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuaDoKCSAgcmVtb3Zlc2lsZW5jZTogbmV3IHBsdWdpbgoJICBGaXhlczogIzU5NzgyMi4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTIxIDE0OjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBQcmV2ZW50IGF1ZGlvc3JjIGZyb20gc2VuZGluZyB1bmRlc2lyZWQgZW9zCgkgIEJhc2VzcmMgZGVyaXZlZCBjbGFzc2VzIHNlbmQgYW4gZW9zIHdoZW4gdGhleSBjaGFuZ2Ugc3RhdGUKCSAgZnJvbSBwYXVzZWQgdG8gcmVhZHkgYW5kIHRoYXQgYnJlYWtzIHZpZGVvIHJlY29yZGluZ3Mgb24gY2FtZXJhYmluMgoJICBhcyBpdCBtYWtlcyB0aGUgd2hvbGUgYXVkaW8gYnJhbmNoIHBhZHMgZmx1c2hpbmcuCgkgIFByZXZlbnQgaXQgYnkgdXNpbmcgYSBwYWQgcHJvYmUgdGhhdCBvbmx5IGFsbG93cyB0aGUgZW9zIHRvIHBhc3MKCSAgd2hlbiBpdCBpcyBjYXVzZWQgYnkgYSBzdG9wLWNhcHR1cmUgYWN0aW9uLgoKMjAxMS0wOC0yMSAxNDowNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBVc2UgYXVkaW90ZXN0c3JjIG9uIHRlc3RzCgkgIFVzZSBhdWRpb3Rlc3RzcmMgb24gdGVzdHMgaW5zdGVhZCBvZiB1c2luZyB0aGUgc3lzdGVtJ3MgZGVmYXVsdAoJICBhdWRpb3NyYywgYXZvaWRpbmcgYW55IHByb2JsZW1zIHRoYXQgYSBsb2NhbCBhdWRpbyBzZXR1cCBtaWdodAoJICBoYXZlLgoKMjAxMS0wOC0xOCAxODoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBnc3RfcGFkX3NlbmRfZXZlbnQgaW5zdGVhZCBvZiBldmVudGZ1bmMgbWFjcm8KCjIwMTEtMDgtMTQgMDQ6NDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogSW1wcm92aW5nIHRlc3RzCgkgIEFkZGluZyBzb21lIGFkZGl0aW9uYWwgY2hlY2tzIGZvciBjdXN0b20gY2FtZXJhYmluMiBtZXNzYWdlcwoJICBBbHNvIGltcHJvdmVzIHJlbGlhYmlsaXR5IG9mIHRoZSB0ZXN0cyBieSB3YWl0aW5nIGZvciB0aGUgcHJldmlldy1idWZmZXIgbWVzc2FnZS4KCSAgVGhpcyBtZXNzYWdlIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSBwcmV2aWV3IHBpcGVsaW5lLCBhbmQgbWlnaHQgYXJyaXZlIGxhdGVyIHRoYW4gdGhlCgkgIGltYWdlL3ZpZGVvLWRvbmUgZnJvbSB0aGUgbWFpbiBjYW1lcmFiaW4yIHBpcGVsaW5lLCB0aGUgdGVzdHMgbmVlZCB0byB3YWl0IGZvciBpdCBldmVuCgkgIGFmdGVyIGdldHRpbmcgdGhlIGltYWdlL3ZpZGVvLWRvbmUuCgoyMDExLTA4LTE4IDE1OjEyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHBsdWdpbiBjcmVhdGlvbiBmYWlscwoJICBDYXBzZmlsdGVycyBhcmUgY3JlYXRlZCBvbiB0aGUgY29uc3RydWN0b3IgYW5kIHRoZWlyIHByb3BlcnRpZXMgY2FuCgkgIGJlIHNldC9nZXQgZnJvbSBjYW1lcmFiaW4yJ3Mgc2V0L2dldF9wcm9wZXJ0eSBmdW5jdGlvbnMuIFRoZSB1c2VyIHdpdGgKCSAgYSBicm9rZW4gc2V0dXAgd291bGQgY2F1c2UgYXNzZXJ0aW9ucyB3aGVuIHRyeWluZyB0byBzZXQvZ2V0IHRoZQoJICBjYXB0dXJlIGNhcHMgb2YgdGhpcyBjYW1lcmFiaW4yLgoJICBBIHByb3BlciBtaXNzaW5nLXBsdWdpbiBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8KCSAgc2V0IGNhbWVyYWJpbjIgdG8gUkVBRFkgc3RhdGUuCgoyMDExLTA4LTIwIDAwOjQ4OjIwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgcmVtb3ZlIGFuIGlmIChiZXN0KSBjaGVjayB3aGVyZSBiZXN0ICE9IE5VTEwgaGFzIGFscmVhZHkgYmVlbiBjaGVja2VkCgoyMDExLTA4LTE2IDE5OjUxOjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiByZWluaXRpYXRlIHNlZ21lbnQgYXQgZmx1c2gtc3RvcCBldmVudCBvbmx5CgoyMDExLTA4LTE2IDE5OjQzOjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBTZXQgYnVmZmVyIHRpbWVzdGFtcCBzaW5jZSB3ZSBzZW5kIGEgVElNRSBzZWdtZW50CgoyMDExLTA4LTAyIDE5OjIxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxsb3cgYmFuZHdpZHRoIHN3aXRjaGluZyBkdXJpbmcgY2FjaGluZyBvZiBmcmFnbWVudHMKCjIwMTEtMDgtMDIgMTk6MjE6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgdGhlIHBhZCdzIGNhcHMgYmVmb3JlIGFkZGluZyBpdAoKMjAxMS0wOC0xNyAxMTowMjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGZpbmdlcnByaW50IGNyZWF0aW9uIGNhbiBmYWlsCgkgIFRoZXJlIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB3YXkgdG8gcmV0cmlldmUgaW5mb3JtYXRpb24KCSAgYWJvdXQgd2h5IGZhaWx1cmUgb2NjdXJlZCwgdW5mb3J0dW5hdGVseS4KCSAgV2hlbiBmYWlsdXJlIG9jY3VycywgZG8gbm90IHBvc3QgYSBOVUxMIGZpbmdlcnByaW50IHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNyAxMDo1NTo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGNsZWFudXAKCSAgQXZvaWQgcmVwZWF0aW5nIGNhc3RpbmcgdG8gR3N0QXVkaW9GaWx0ZXIgd2hlbiBvbmUgd2lsbCBkbwoJICBVc2Ugb2JqZWN0IHJlbGF0ZWQgbG9nZ2luZyB0byBtYWtlIGl0IGVhc2llciB0byBnZXQganVzdCB0aGUgbG9ncyB3ZSB3YW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTcgMTE6MDc6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBkbyBub3QgY3JlYXRlIGZpbmdlcnByaW50IG9uIEVPUyBpZiByZWNvcmQgaXMgRkFMU0UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xOCAxMDozOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlbW92ZSB1bnVzZWQgYW5kIHVzZWxlc3MgdmFyaWFibGUgaW4gdGFncyBoYW5kbGluZwoKMjAxMS0wOC0xOCAwODowMjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRml4IGxvY2tpbmcsIGVzcGVjaWFsbHkgaWYgYm90aCBwYWRzIGhhdmUgZGlmZmVyZW50IHN0cmVhbWluZyB0aHJlYWRzCgoyMDExLTA4LTE4IDA3OjQyOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRG9uJ3QgY2FsbCBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoKSBpbiBjbGFzc19pbml0CgkgIFRoaXMgaXMgYWxyZWFkeSBkb25lIGJ5IHRoZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvCgoyMDExLTA4LTE3IDE5OjAxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxMDoyNDozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSAgYWlmZm11eDogZHJvcCBkYXRhIGFmdGVyIDRpc2ggR0IgYW5kIG1vYW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxMDowMjo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IHVzZSBndWludDMyIGZvciBndWludDMyIHBhcmFtZXRlcnMKCSAgVGhpcyBtYWtlcyBleHBsaWNpdCB0aGF0IHRoZSByYW5nZSBpcyBsaW1pdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDEwOjAyOjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogYXZvaWQgaW50ZWdlciBvdmVyZmxvdwoJICBUaGVzZSB2YWx1ZXMgYXJlIDMyIGJpdHMsIGFuZCB3aWR0aCBpcyBhIG11bHRpcGxlIG9mIDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTk6Mzk6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBtYWtlIHRoaXMgY29tcGlsZSB3aXRoIGdpdCBsaWJjZWx0CgkgIGNlbHRfbW9kZV9pbmZvIHdhcyByZW1vdmVkLCBpbiBmYXZvciBvZiBhIF9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2ODYKCjIwMTEtMDgtMTYgMTg6MzQ6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBkb24ndCBjcmFzaCB3aGVuIHRoZXJlJ3Mgbm8gZGF0YSB0byBjcmVhdGUgYSBmaW5nZXJwcmludCBmcm9tCgkgIEZpeGVzIGEgY3Jhc2ggd2hlbiBubyBkYXRhIGZsb3dlZCB0aHJvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE2IDE5OjQ3OjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgZ3N0X2JpdF9yZWFkZXJfc2tpcCB0byBza2lwIG1vcmUgdGhhbiAzMiBiaXRzLgoJICBHRVRfQklUUyBpcyBhIG1hY3JvIGZvciBnc3RfYml0X3JlYWRlcl9nZXRfYml0c191aW50MzIsIHdoaWNoIGNhbm5vdAoJICByZWFkIG1vcmUgdGhhbiAzMiBiaXRzIGFuZCB3aWxsIGZhaWwgaW4gdGhpcyBjYXNlIHdoZXJlIGl0IGlzIGNhbGxlZAoJICB0byByZWFkIDc5IGJpdHMuIFNpbmNlIHdlIHdhbnQgdG8gc2tpcCB0aG9zZSBiaXRzLCBnc3RfYml0X3JlYWRlcl9za2lwCgkgIGlzIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhpcyBjYXNlLgoKMjAxMS0wOC0xNSAwMjowODoxNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGdldCB0aGUgZnJhbWVyYXRlIGZyb20gY2FwcwoJICAuLi5hbmQgY29uZmlndXJlIFFUS2l0IGFjY29yZGluZ2x5LiBIYXJkY29kaW5nIHRvIDMwZnBzIHdhcyBwcmV0dHkgLWJhZC4KCjIwMTEtMDgtMTMgMTU6NTU6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHRlc3QgZm9yIGF1ZGlvLWZpbHRlciBwcm9wZXJ0eQoJICBDaGVja3MgdGhhdCB0aGUgYXVkaW8tZmlsdGVyIGlzIHByb3Blcmx5IHBsdWdnZWQgaW4gdGhlIHBpcGVsaW5lCgkgIGFuZCByZWNlaXZlcyBidWZmZXJzIHdoZW4gcmVjb3JkaW5nIGEgdmlkZW8uCgoyMDExLTA4LTExIDE4OjU5OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYXVkaW8tZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBhZGQgYSBjdXN0b20gR3N0RWxlbWVudCB0byB0aGUgYXVkaW8KCSAgYnJhbmNoIG9mIHRoZSBwaXBlbGluZS4gVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gZG8gY3VzdG9tIGF1ZGlvCgkgIHByb2Nlc3NpbmcvYW5hbHlzaXMgd2hlbiByZWNvcmRpbmcgdmlkZW9zLgoKMjAxMS0wOC0xMiAyMjozOTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGJhc2V2aXN1YWxpemVyOiBhZGQgbW9yZSBzaGFkZXIgdmFyaWFudHMgYW5kIHNpbXBsaWZ5IGNvZGUKCSAgVXNlIG1hY3JvcyB0byBzaW1wbHlmeSB0aGUgc2hhZGluZyBjb2RlLiBUaG9zZSB3aWxsIGVhc2UgdG8gYWRkIHN1cHBvcnQgZm9yCgkgIG90aGVyIGNvbG9yc3BhY2VzIGluIHRoZSBmdXR1cmUuIEFkZCBtb3JlIHZhcmlhbnRzIGZvciB0aGUgc2hhZGluZyAobGVmdCxyaWdodCwKCSAgaG9yaXotaW4sIHZlcnQtb3V0LCB2ZXJ0LWluKS4KCjIwMTEtMDgtMTIgMjE6MjI6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZXZpc3VhbGl6ZXI6IG1vcmUgZG9jcwoKMjAxMS0wOC0xMiAyMToxODo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IHByb3RlY3QgY29uZmlnIHdpdGggYSBsb2NrCgkgIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBjcmFzaCB0aGUgZWxlbWVudHMgd2hlbiB1c2luZyBhIHhpbWFnZXNpbmsgYW5kIHRyaWdnZXJpbmcKCSAgcmVuZWdvdGlhdGlvbiBieSByZXNpemluZy4KCjIwMTEtMDgtMTIgMTY6NTc6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IG1ha2UgYSBjb3B5IG9mIHRoZSBhdWRpb2RhdGEgYmVmb3JlIGRvd25taXhpbmcgYW5kIHdpbmRvd2luZwoJICBUaGUgYnVmZmVycyBjb21lIGZyb20gdGhlIGFkYXB0ZXIgYW5kIHRoZSBkYXRhIG1pZ2h0IG92ZXJsYXAuIFdlIGRvbid0IHdhbnQgdG8KCSAgbW9kaWZ5IGl0IGluIHBsYWNlLgoKMjAxMS0wOC0xMiAxMjoyNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQcm94eSB0aGUgd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZS9QQVIgY29uc3RyYWludHMgb2YgZG93bnN0cmVhbSBjYXBzIHRvIHVwc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHRvIHNwZWNpZnkgY29uc3RyYWludHMgb24gdGhlIGNvbXByZXNzZWQgZG93bnN0cmVhbSBjYXBzCgkgIGJ5IG11eGVycyBvciBjYXBzZmlsdGVycywgd2hpY2ggd2lsbCB0aGVuIGJlIGZvcndhcmRlZCB0byB1cHN0cmVhbQoJICBhbmQgYWxsb3dzIHZpZGVvIGNvbnZlcnRlcnMgdG8gZnVsZmlsbCB0aGUgY29uc3RyYWludHMuCgkgIENvZGUgYmFzZWQgb24gTWFyayBOYXV3ZWxhZXJ0cyBhdWRpbyBlbmNvZGVyIGJhc2UgY2xhc3MuCgoyMDExLTA4LTEyIDEyOjEzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFJlbW92ZSBvbGQgOjpnZXRjYXBzKCkgY29tbWVudAoKMjAxMS0wOC0xMiAxMjowODozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFJlbW92ZSA6OmdldF9jYXBzKCkgdmZ1bmMKCSAgU3ViY2xhc3NlcyBjYW4gc2V0IHRoZSBjYXBzIG1vcmUgZWZmaWNpZW50bHkgYW5kIHRoaXMgb25seQoJICBjYXVzZWQgYWRkaXRpb25hbCBpbmRpcmVjdGlvbnMuCgoyMDExLTA4LTA5IDA5OjI5OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBkbyBub3QgYXNzZXJ0IG9uIHRoZSB2YWx1ZXMgb2YgZGF0YSByZWFkIGZyb20gaW5wdXQKCSAgSW5zdGVhZCwgbG9nIGEgd2FybmluZywgYW5kIHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzgyNwoKMjAxMS0wOC0wMyAxNjowMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBVc2UgdGhlIGNhY2hlZCB2aWRlbyBmcmFtZSBzaXplIGluc3RlYWQgb2YgcmVjYWxjdWxhdGluZyBpdAoKMjAxMS0wOC0wOCAxNzo1MzoxNiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlcwoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCB0cmlnZ2VycyAic2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzIgoJICBmcm9tIEdjYyA0LjYuICBGaXhlcyAjNjU2MTY2CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0wOCAxNjo0NDoyMCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzCgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IHRyaWdnZXJzICJzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMiIGZyb20gR2NjCgkgIDQuNi4gIEZpeGVzICM2NTYxNjQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0wNiAxMjoxMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB2aWRlby1kb25lIG1lc3NhZ2UKCSAgdmlkZW8tZG9uZSBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHdoZW4gYSB2aWRlbyByZWNvcmRpbmcgaXMKCSAgZmluaXNoZWQuIFNpbWlsYXIgdG8gaW1hZ2UtZG9uZSBtZXNzYWdlLgoKMjAxMS0wOC0wNSAxNTo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB0b3AtbGV2ZWwgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDExLTA4LTA1IDEzOjM0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4aW5nIHR5cG8KCjIwMTEtMDgtMDQgMTM6MzM6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0Bnb29nbGUuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgbW90aW9uY2VsbHM6IHR1cm4gdHdvIGdsb2JhbCB2YXJzIGludG8gc3RhdGljIHZhcmlhYmxlcwoJICBNb3ZlIDIgdmFyaWFibGUgdG8gbW90aW9uY2VsbHNfd2FycHBlciBhbmQgbWFrZSB0aGVtIHN0YXRpYy4KCjIwMTEtMDgtMDQgMTM6MzM6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUKCjIwMTEtMDgtMDQgMTE6Mjg6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkIGdzdGRlY2tsaW5rLmggdG8gbGlzdCBvZiBoZWFkZXJzCgoyMDExLTA4LTA0IDA5OjQ5OjQ2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHNlcXVlbmNlIGhlYWRlciBwYXJzaW5nCgkgIEFmdGVyIGJpdHJhdGUgdGhlcmUncyAxMSBiaXRzICgxIG1hcmtlciBiaXQgKyBWQlYgYnVmZmVyIHNpemUpIGJlZm9yZSB0aGUgbG9hZAoJICBpbnRyYSBxdWFudGlzZXIgZmxhZy4KCjIwMTEtMDgtMDQgMDk6NDA6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTA0IDA5OjM2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoJICBjb25maWd1cmUuYWMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaAoJICBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmMKCjIwMTEtMDctMjEgMDg6NTg6MjcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgbWlzc2luZyBGTElDS0VSX1JFRFVDVElPTiBjYXBhYmlsaXR5CgkgIEdzdFBob3RvZ3JhcGh5IEFQSSBjb250YWlucyBmdW5jdGlvbnMgdG8gZ2V0L3NldCBmbGlja2VyIHJlZHVjdGlvbgoJICBtb2RlLCBidXQgR3N0UGhvdG9DYXBzIGVudW1lcmF0aW9uIGRvZXNuJ3QgaGF2ZSBpdGVtIGZvciBpdCwgc28gZWxlbWVudHMKCSAgYXJlIG5vdCBhYmxlIHRvIHJlcG9ydCB3aGV0aGVyIHRoZXkgc3VwcG9ydCB0aGlzIGZlYXR1cmUgb3Igbm90LgoJICBBbHNvIGFkZCB1c2VmdWwgR1NUX1BIT1RPR1JBUEhZX0NBUFNfQUxMIGZvciBlYXNpbHkgc2VsZWN0aW5nIGFsbAoJICBjYXBhYmlsaXRpZXMgYXQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTMxOAoKMjAxMS0wOC0wMyAxMzozNzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5oOgoJICBzdWJlbmM6IEFkZCB3ZWJ2dHRlbmMgZWxlbWVudAoKMjAxMS0wOC0wMyAxMzozNTo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IEZpeCB1bmluaXRpYWxpemVkIGVycm9yCgoyMDExLTA3LTA5IDIzOjIyOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBzaGFwZV9vdXRwdXQgaGFuZGxpbmcKCjIwMTEtMDctMDkgMjM6MDc6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogUmVtb3ZlIHVudXNlZCBzaGFwZV9vdXRwdXQgY29kZQoKMjAxMS0wNy0wOSAxODo1MzoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBtb3JlIHByb3BlcnRpZXMKCjIwMTEtMDYtMTkgMTY6MDY6NDYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogYWRkIG1pbi9tYXhzZWN0aW9uLXBjdCBvcHRpb24KCSAgVGhpcyBvcHRpb25zIHNob3VsZCBiZSBnb29kIHRvIHJlZGV1Y2UgZGVjb2RlIENQVSBsb2FkLgoJICBmb3IgbG93ZW5kIGhhcmR3YXJlOgoJICBtaW5zZWN0aW9uLXBjdD0xNSBtYXhzZWN0aW9uLXBjdD00MDAKCSAgZm9yIGhpZW5kIGh3OgoJICBtaW5zZWN0aW9uLXBjdD01IG1heHNlY3Rpb24tcGN0PTgwMAoJICBzZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfdmJyX2VuY29kaW5nX2Zvcl9zbW9vdGhfcGxheWJhY2tfb25fbG93LWVuZF9oYXJkd2FyZQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAxMTowNTozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBhZGQgbGFnLWluLWZyYW1lcyBvcHRpb24uCgkgIFRoaXMgb3B0aW9uIHNldCBtYXhpbXVtIG9mIGZyYW1lcyBjb2RlYyBzaG91bGQgcmVtZW1iZXIsCgkgIHRvIG1ha2UgYmV0dGVyIHByZWRpa3Rpb24gZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBTZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfYmVzdF9xdWFsaXR5X3Zicl9lbmNvZGluZwoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAwNzoxNjo1NyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB1c2UgbXVsdGlwYXNzLmNhY2hlIGZpbGUgbmFtZSBhcyBkZWZhdWx0IGZvciBtdWx0aXBhc3MgbW9kZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDkgMTY6MDU6MDcgLTA0MDAgIE11a3VsIE1ham11ZGFyIDxtdWt1bC5tYWptdWRhckBnbWFpbC5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogQWRkIHByb3BlcnRpZXMgZm9yIFZCUiBlbmNvZGluZwoJICBQcm9wZXJ0eSAicXVhbGl0eSIgdG8gc3BlY2lmeSBWQlIgcXVhbnRpemVyIHF1YWxpdHkgYW5kIHByb3BlcnR5CgkgICJicnR5cGUiIHRvIGNob29zZSBiZXR3ZWVuIEFCUiBhbmQgVkJSIGVuY29kaW5nLiBUaGUgZGVmYXVsdCBpcyBub3cgVkJSCgkgIHdpdGggcXVhbGl0eT0xMDAuCgkgIEZpeGVzIGJ1ZyAjNjU0MzEwLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTY6MDc6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGF1ZGlvLWlucHV0IHByb3BlcnR5CgoyMDExLTA3LTE4IDE1OjI1OjA1ICsxMDAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSAgaW50ZXI6IEFkZGluZyBtaXNzaW5nIGJhc2UgcmVxdWlyZW1lbnRzLgoJICBGaXhlczogIzY1NDgwNi4KCjIwMTEtMDgtMDMgMTU6MjE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgbW9yZSBtaXNzaW5nIHBsdWdpbiBjaGVja3MKCSAgU3ByaW5rbGUgc29tZSBtb3JlIG1pc3NpbmcgcGx1Z2luIGNoZWNrcyBhcm91bmQKCjIwMTEtMDgtMDMgMTM6MTI6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBtaXNzaW5nIGVsZW1lbnQgY2hlY2sgYW5kIHJlbW92ZSBUT0RPCgkgIEFkZCBtaXNzaW5nIGVsZW1lbnQgY2hlY2tzIGZvciBlbGVtZW50cyBjcmVhdGVkIGF0IF9pbml0CgkgIGZ1bmN0aW9ucyBhbmQgcmVtb3ZlIFRPRE8gYWJvdXQgaXQKCjIwMTEtMDgtMDMgMTM6NTc6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSByZWR1bmRhbnQgaW1hZ2UtcXVldWUKCSAgRW5jb2RlYmluIGlzIHVzZWQgZm9yIGltYWdlIGVuY29kaW5nIGFuZCBpdCBhbHJlYWR5IGNvbnRhaW5zCgkgIGEgcXVldWUsIHNvIHdlIGNhbiByZW1vdmUgY2FtZXJhYmluMiBpbWFnZSBxdWV1ZS4KCjIwMTEtMDgtMDMgMTM6NDI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogZml4IHVwIGNvcHlyaWdodHMKCjIwMTEtMDYtMjkgMTU6MTQ6MjkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBBZGQgYXVkaW8gY2FwdHVyZSBjYXBzIG9wdGlvbgoKMjAxMS0wOC0wMiAxNToxNDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNYWtlIGFjY2VzcyB0byB0aGUgbGlzdCBvZiBmcmFtZXMgdGhyZWFkc2FmZQoKMjAxMS0wOC0wMiAyMzo1MzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIGJheWVyOiBiYWNrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyBpbiBvcmMtZ2VuZXJhdGVkIGNvZGUgYnkgZGlzYWJsaW5nIC1XZXJyb3IgZm9yIHRoaXMgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2NzcKCjIwMTEtMDgtMDIgMjI6NTc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIEZpeCBzb21lIG1vcmUgdmFyaWFibGUtc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOC0wMiAyMToxNDowNiArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogRml4IGNhbWVyYWJpbjIgR19PQkpFQ1QgY2FzdAoJICBBZGRzIG1pc3NpbmcgY2FzdCB0byBmaXggYnVpbGQgZXJyb3IuCgoyMDExLTA4LTAyIDEwOjQ5OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogV29ya2Fyb3VuZCBmb3IgcmluZ2J1ZmZlciBub3QgcmVzeW5jaW5nIG9uIFJFQURZCgkgIEFkZCBhIHdvcmthcm91bmQgdG8gZml4IHRpbWVzdGFtcHMgbWVhbndoaWxlIGJ1ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MzU5IGlzIGZpeGVkLgoKMjAxMS0wNy0zMCAxNjoxMjozMSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMiByZW1vdmUgcmVkdW5kYW50IHZpZXdmaW5kZXItY29sb3JzcGFjZSBhbmQgdmlld2ZpbmRlci1zY2FsZQoJICBjYW1yYWJpbjIgY29ubmVjdHMgYSB2aWV3ZmluZGVyYmluIG9uICJ2ZnNyYyIuIHZpZXdmaW5kZXJiaW4gaXMgbWFkZSBvZjoKCSAgdmZiaW4tY3NwICEgdmZiaW4tdmlkZW9zY2FsZSAhIHZpZGVvc2luay4KCSAgd2Ugc2hvdWxkIGVpdGhlciByZW1vdmUgY3NwL3ZpZGVvc2NhbGUgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIChhcwoJICBkb25lIGluIHRoaXMgcGF0Y2gpIG9yIHdlIHNob3VsZCBnZXQgcmlkIG9mIHZpZXdmaW5kZXJiaW4gYWx0b2dldGhlci4KCjIwMTEtMDctMjYgMDY6MDQ6NDEgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiByZW1vdmUgdW51c2VkIGdldF9hbGxvd2VkX2lucHV0X2NhcHMKCSAgVGhlIHVzZSBvZiB0aGlzIG1ldGhvZCB3YXMgcmVtb3ZlZCBpbjoKCSAgY29tbWl0IDUzOWYxMGY0ZDk5ZTFhMDc0ODgxMjg5MjU0ZDFkMTA5MTU5Y2Y5ZTUKCSAgYmFzZWNhbWVyYXNyYzogTW9yZSBjbGVhbnVwCgkgIFRoZSBjb2RlIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyBpcyBmcm9tIHY0bDJjYW1lcmFzcmMgYnV0IGlzIHVudXNlZDoKCSAgZ2V0X2FsbG93ZWRfaW5wdXRfY2FwcyBpcyBub3QgY2FsbGVkIGFueXdoZXJlLgoKMjAxMS0wNy0yNiAwNTo1OTowOSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBkb24ndCB1c2UgY2xhc3Mgb2Zmc2V0cyBmb3Igc3RhcnQvc3RvcC1jYXB0dXJlIHNpZ25hbCBoYW5kbGVycwoKMjAxMS0wNy0yNiAwNTo0MzozNCArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogZG9jdW1lbnQgd2h5IHdlIHNldCBwcmV2aWV3IHRvIFBMQVlJTkcKCjIwMTEtMDctMjYgMDQ6NDI6NDkgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGRvY3VtZW50IGNhbGxiYWNrcwoJICBOb3RlIGZvciBlYWNoIGNhbGxiYWNrOgoJICAtIHdoZW4gaXQgaXMgY2FsbGVkLAoJICAtIHdoZXRoZXIgaXQgaXMgbWFuZGF0b3J5IG9yIG9wdGlvbmFsLgoKMjAxMS0wNy0yNiAwMzowNDo0NyArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogcHJldmlldzogcmVtb3ZlIHVudXNlZCBuZXdfcHJlcm9sbCBjYWxsYmFjawoKMjAxMS0wNy0yOCAxMzoxODo1NyAtMDMwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTeW5jaHJvbml6ZSBjbG9jayBhbmQgYmFzZSB0aW1lIHRvIGF1ZGlvc3JjCgkgIFdoZW4gYXVkaW8gc291cmNlIGdvZXMgdG8gUkVBRFkgaXQgbG9zZXMgaXRzIGNsb2NrIGFuZCBiYXNlIHRpbWUsCgkgIHRoaXMgcGF0Y2ggc2V0cyB0aGVtIGJhY2sgYWZ0ZXIgYnJpbmdpbmcgdGhlIGF1ZGlvIHNvdXJjZSBiYWNrIHRvIFBBVVNFRC4KCjIwMTEtMDctMjggMTI6NTY6MTIgLTAzMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUHJldmVudCBhdWRpbyBzb3VyY2UgZnJvbSBwcm92aWRpbmcgY2xvY2sKCSAgVGhlIGF1ZGlvIHNvdXJjZSBpbnNpZGUgY2FtZXJhYmluMiBpcyBwdXQgdG8gUkVBRFkgYW5kIGJhY2sgdG8KCSAgUExBWUlORyB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUsIGNhdXNpbmcgdGhlIHBpcGVsaW5lIHRvIGxvc2UgaXRzCgkgIGNsb2NrLiBBcyBjYW1lcmFiaW4yIGlzbid0IHB1dCB0byBQQVVTRUQtPlBMQVlJTkcgYWdhaW4gZHVyaW5nCgkgIHRoaXMsIGEgbmV3IGNsb2NrIGlzbid0IHNlbGVjdGVkIGZvciBlbGVtZW50cy4KCjIwMTEtMDYtMzAgMTE6MDk6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogQWRkIGZsYWdzIHByb3AgdG8gdG9nZ2xlIGVuY29kZWJpbiBjb252ZXJzaW9uIGVsZW1lbnRzCgkgIEEgZmxhZ3MgcHJvcGVydHkgaGFzIGJlZW4gYWRkZWQgdG8gZW5jb2RlYmluIHRvIHRvZ2dsZSB3aGV0aGVyIHRoZQoJICBjb252ZXJzaW9uIGVsZW1lbnRzIChmZm1wZWdjb2xvcnNwYWNlLCB2aWRlb3NjYWxlLCBhdWRpb2NvbnZlcnQsCgkgIGF1ZGlvcmVzYW1wbGUsIGF1ZGlvcmF0ZSkgYXJlIGNyZWF0ZWQgYW5kIGxpbmtlZCBpbnRvIHRoZSBhcHByb3ByaWF0ZQoJICBicmFuY2hlcyBvZiBlbmNvZGViaW4uCgkgIE5vdCBpbmNsdWRpbmcgdGhlc2UgZWxlbWVudHMgYXZvaWRzIHNvbWUgc2xvdyBjYXBzIG5lZ290aWF0aW9uIGFuZAoJICBhbGxvd3MgdGhlIGZpcnN0IGJ1ZmZlcnMgdG8gZmxvdyB0aHJvdWdoIGVuY29kZWJpbiBtdWNoIG1vcmUgcXVpY2tseS4KCSAgSG93ZXZlciwgaXQgaW1wb3NlcyB0aGF0IHRoZSB1bmNvbXByZXNzZWQgaW5wdXQgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZQoJICB0YXJnZXQgcHJvZmlsZSBhbmQgZWxlbWVudHMgc2VsZWN0ZWQgdG8gbWVldCB0aGF0IHByb2ZpbGUuCgoyMDExLTA2LTI5IDE1OjM1OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFByZXBhcmUgYXVkaW9zcmMgYmVmb3JlIHN0YXJ0LWNhcHR1cmUKCSAgSWYgd2UgYnJpbmcgdGhlIGF1ZGlvIHNvdXJjZSB1cCB0byB0aGUgUEFVU0VEIHN0YXRlIGJlZm9yZSBlbWl0dGluZyB0aGUKCSAgc3RhcnQtY2FwdHVyZSBzaWduYWwgdG8gdGhlIGNhbWVyYSBzb3VyY2UsIHdoZW4gc3ViZXF1ZW50bHkgdGFraW5nIHRoZQoJICBhdWRpbyBzb3VyY2UgdG8gdGhlIFBMQVlJTkcgc3RhdGUsIGl0IHdpbGwgYmVnaW4gY2FwdHVyZSBtb3JlIHF1aWNrbHkuCgoyMDExLTA2LTI5IDE1OjE4OjQ3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHJlZHVuZGFudCBlbGVtZW50cwoJICBTaW5jZSBjYW1lcmFiaW4yIGhhcyBzd2l0Y2hlZCB0byBlbmNvZGViaW4gYW5kIGVuY29kZWJpbiBoYXMgaXRzIG93bgoJICBxdWV1ZXMgYW5kIGNvbnZlcnNpb24gZWxlbWVudHMsIHRob3NlIHByZWNlZGluZyBlbmNvZGViaW4gYXJlIG5vIGxvbmdlcgoJICBuZWNlc3NhcnkgYW5kIGFzIHN1Y2ggY2FuIGJlIHJlbW92ZWQuCgoyMDExLTA4LTAyIDEyOjI0OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEZWZpbmUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDIgMTE6NDI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoKMjAxMS0wOC0wMSAxODo0OTo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBUYWtlIGludG8gYWNjb3VudCB1cHN0cmVhbSBuZXdzZWdtZW50IGV2ZW50cwoJICBJZiB0aGUgaW5jb21pbmcgbmV3c2VnbWVudCBldmVudCB3YXMgaW4gdGltZSwgdXNlIHRoYXQgcG9zaXRpb24gdmFsdWUKCSAgZm9yIHRoZSBkb3duc3RyZWFtIG5ld3NlZ21lbnRzLgoKMjAxMS0wOC0wMSAxODo0ODowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFNlbmQgTkVXU0VHTUVOVCBldmVudHMKCSAgUHJldmlvdXNseSBobHNkZW11eCB3YXNuJ3Qgc2VuZGluZyBvdXQgYW55IG5ld3NlZ21lbnQuCgkgIEhlcmUgd2UgcHVzaCBhIEdTVF9GT1JNQVRfVElNRSBuZXdzZWdtZW50LCBhbmQgd2hlbmV2ZXIgcG9zc2libGUgd2UKCSAgdHJ5IHRvIGluZGljYXRlIHRoZSBwcm9wZXIgc3RhcnQgdGltZS4KCSAgVGhpcyBhbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyB0byByZWxheSB0aGUgc3RhcnQvdGltZSB2YWx1ZXMgcHJvcGVybHkKCSAgdG8gdGhlIHNpbmtzLCBhbGxvd2luZyBiZXR0ZXIgc3RyZWFtIHN3aXRjaGluZy4KCjIwMTEtMDgtMDEgMTU6NDY6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIHByb2dyYW1zIG9uIEVPUwoJICBBbGxvd3Mgc3ViY2xhc3NlcyB0byBwcm9wZXJseSBmbHVzaCBvdXQgcGVuZGluZyBkYXRhLgoKMjAxMS0wOC0wMSAxMDo1NDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZhY3RvciBzdHJlYW0vcHJvZ3JhbSByZW1vdmFsCgkgIFRoZSBwcm9ncmFtX3N0b3BwZWQgdm1ldGhvZCB3YXMgY2FsbGVkIGJlZm9yZSBzdHJlYW1fcmVtb3ZlZCB2bWV0aG9kCgkgIHdhcyBiZWluZyBjYWxsZWQuIFNpbmNlIHdlIG9ubHkgZGlkIHN0cmVhbS1yZWxhdGVkIG9wZXJhdGlvbnMgaW4gdGhlcmUsCgkgIHdlIGp1c3QgcmVtb3ZlIHRoZSBwcm9ncmFtX3N0b3BwZWQgdm1ldGhvZCBhbmQgZG8gZXZlcnl0aGluZyBpbiB0aGUKCSAgc3RyZWFtX3JlbW92ZWQgb25lLgoJICBBbHNvLCBtYWtlIHN1cmUgd2UgZmx1c2ggb3V0IGFsbCBwZW5kaW5nIGRhdGEgYmVmb3JlIHNlbmRpbmcgRU9TLgoKMjAxMS0wNy0yOCAxODoyMTowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUHJldmVudCBzdGFjayBnYXJkZW5pbmcgYnkgdXNpbmcgdGhlIHJpZ2h0IHR5cGUKCSAgc3RyZWFtX3R5cGUgaXMgc3RvcmVkIGFzIGd1aW50IGluc2lkZSB0aGUgR3N0U3RydWN0dXJlIGJ1dCB3YXMgcmV0cmVpdmVkCgkgIHVzaW5nIHZhbGlzdCB3aXRoIGEgcG9pbnRlciB0byBndWludDE2LiBUaGlzIHdvdWxkIGNhdXNlIHN0YWNrIGdhcmRlbmluZwoJICB3aGVuIGNvZGUgaXMgY29tcGlsZWQgd2l0aG91dCBvcHRpbWlzYXRpb24gKGUuZy4gaW4gLU8wIHRoZSBjb21waWxlciB3b250CgkgIHBhZCB0aGUgc3RhY2sgdG8gb3B0aW1pc2Ugb3V0IHJlcXVpcmVkIG1hc2spLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTQwCgoyMDExLTA3LTI5IDIxOjI2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGZhYWQgdW5pdCB0ZXN0CgoyMDExLTA3LTI5IDE5OjQzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM211eDogdXNlIG5vdy1wdWJsaWMgR3N0VGFnTXV4IGJhc2UgY2xhc3MgZnJvbSBsaWJnc3R0YWcKCjIwMTEtMDctMjggMjA6Mzg6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgdGFnbXV4OiByZXF1aXJlIHN1YmNsYXNzIHRvIGluc3RhbGwgc2luayBwYWQgdGVtcGxhdGUKCSAgUmVxdWlyZSB0aGUgc3ViY2xhc3MgdG8gaW5zdGFsbCBib3RoIHNvdXJjZSBhbmQgc2luayBwYWQKCSAgdGVtcGxhdGVzLiBBbHNvLCBwcmludCBzb21lIHdhcm5pbmdzIGlmIHRoZSBzdWJjbGFzcyBkb2Vzbid0CgkgIGRvIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU0MzcKCjIwMTEtMDctMjcgMjI6MzQ6MjMgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBnc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3Q6IHRlc3QgdG9vbCB3aGF0IGNhbiB0byBkbyBkeW5hbWljIGNoYW5nZSBwcm9wZXJ0aWVzCgoyMDExLTA3LTI3IDE4OjU4OjE1ICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBtb3Rpb25jZWxsczogbmV3IGVsZW1lbnQgdG8gZGV0ZWN0IGFyZWFzIG9mIG1vdGlvbgoKMjAxMS0wNy0yNiAxNzowMjowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaHNsZGVtdXg6IEhhbmRsZSBjaGFuZ2Ugb2YgbWVkaWEgdHlwZXMKCSAgV2hlbiBzd2l0Y2hpbmcgYml0cmF0ZXMsIHdlIG1pZ2h0IGVuZCB1cCBzd2l0Y2hpbmcgdG8gYSBkaWZmZXJlbnQKCSAgbWVkaWEtdHlwZSAobGlrZSBmcm9tIGFhYyB0by9mcm9tIG1wZWctdHMpLgoJICBGb3IgdGhpcyBzd2l0Y2ggdG8gYmVoYXZlIHByb3Blcmx5IGluIGRlY29kZWJpbjIsIHRoaXMgcGF0Y2ggYWRkczoKCSAgKiBkeW5hbWljIHNvdXJjZSBwYWRzICh3aGljaCB3aWxsIGJlIGFkZGVkL3JlbW92ZWQgd2hlbmV2ZXIgYSBzdHJlYW0KCSAgbWVkaWEgdHlwZSBjaGFuZ2VzCgkgICogcmUtY2hlY2tpbmcgdGhlIGZyYWdtZW50IG1lZGlhIHR5cGUgd2hlbmV2ZXIgd2Ugc3dpdGNoIHRvIGEgZGlmZmVyZW50CgkgIHBsYXlsaXN0CgoyMDExLTA3LTI2IDEzOjQ3OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBvbGQgY29tcGlsZXJzCgoyMDExLTA3LTI3IDExOjAyOjQxICswMTAwICBPbGFmIFNlaWJlcnQgPHJoaWFsdG9AYXplbm9tZWkua251ZmZlbC5uZXQ+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggd3JvbmcgdXNhZ2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IgbWFjcm9zIGFuZCBjb21waWxhdGlvbiBvbiBOZXRCU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTMxOQoKMjAxMS0wNy0yNyAxMDo1NjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHBjYXBwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3BjYXBfcGFyc2VfY2hhaW4nOgoJICBnc3RwY2FwcGFyc2UuYzozODE6NjogZXJyb3I6ICdldGhfdHlwZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPXVuaW5pdGlhbGl6ZWRdCgkgIGdzdHBjYXBwYXJzZS5jOjM1NDoxMTogbm90ZTogJ2V0aF90eXBlJyB3YXMgZGVjbGFyZWQgaGVyZQoKMjAxMS0wNy0yNiAxOToxMToxNiArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBTTEwgcGFyc2luZwoJICBUaGUgY3VycmVudCBjb2RlIGlzIG5vdCBjaGVja2luZyBmb3IgZXRoZXJuZXQgdHlwZSwgYXMgaXQncyBzdXBwb3NlZCB0bywKCSAgYnV0IGxpbmsgbGF5ZXIgZGV2aWNlIHR5cGUgYW5kIGl0J3MgaGFyZC1jb2RlZCB0byBvbmx5IGFjY2VwdCBkdW1wcyBmcm9tCgkgIGV0aGVybmV0IChBUlBIUkRfRVRIRVI7IDEpLiBXZSBkb24ndCBjYXJlIHdoZXJlIHRoZSBkdW1wIHdhcyBmZXRjaGVkCgkgIGZyb20gKHdsYW4sIDNHLCBldGMuKQoJICBXaGF0IHdlIGNhcmUgYWJvdXQgaXMgdGhlIHRoYXQgdGhlIGV0aGVybmV0IHR5cGUgaXMgSVAgKEVUSEVSTkVUX0lQOwoJICAweDgwMCksIHdoaWNoIGlzIGNsZWFybHkgZmllbGQgMTQ6CgkgIGh0dHA6Ly93d3cudGNwZHVtcC5vcmcvcGNhcDNfbWFuLmh0bWwKCSAgQW5kIGRvIGEgYml0IG9mIGNsZWFudXAuCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wNy0yMSAxMzoyNjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IEZpeCBzdHJlYW0vcGFkIGFjdGl2YXRpb24gb3JkZXIKCSAgV2UgZmlyc3QgYWN0aXZhdGUgbmV3IHN0cmVhbXMgYmVmb3JlIHNodXR0aW5nIGRvd24gb2xkIG9uZXMuCgkgIFdlIGVtaXQgbm8tbW9yZS1wYWRzIGFmdGVyIHdlIGFkZCBuZXcgc3RyZWFtcyBhbmQgZW1pdCBFT1MgYmVmb3JlCgkgIHJlbW92aW5nIG9sZCBvbmVzLgoJICBBbHNvIGNsZWFudXAvcmVmYWN0b3IgYSBiaXQgbW9yZSBvZiB0aGUgY29kZSBhY2NvcmRpbmdseQoKMjAxMS0wNy0yMiAxMjoyNjowNyArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IGFkZCBsb2NhdGlvbj1OVUxMIGRvY3MgdG8gUE9SVElORwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxOTE4CgoyMDExLTA3LTIyIDExOjM4OjMwICswMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSWYgbG9jYXRpb24gaXMgTlVMTCBkbyBub3QgZW5jb2RlIGltYWdlcwoJICBVc2luZyBhIE5VTEwgc3RyaW5nIGZvciBsb2NhdGlvbiBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbgoJICBkb2Vzbid0IHdhbnQgdGhlIGltYWdlIHRvIGJlIGVuY29kZWQsIGJ1dCB3YW50cyB0byByZWNlaXZlCgkgIHRoZSBwcmV2aWV3IGltYWdlLiAoT25seSB3b3JrcyBmb3IgaW1hZ2UgY2FwdHVyZXMpCgkgIFVzZWZ1bCBmb3IgYXBwbGljYXRpb24gdGhhdCB3YW50IHRoZSBjYXB0dXJlIGluIG1lbW9yeSBvbmx5LCBsaWtlCgkgIGRpc3BsYXlpbmcgdG8gdGhlIHVzZXIgYmVmb3JlIGl0IGNob3NlcyB0byBlbmNvZGUgb3IgdGFrZSBhbm90aGVyCgkgIHBpY3R1cmUgaW4gYXZhdGFyIGNhcHR1cmluZyBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5MTgKCjIwMTEtMDctMjEgMDg6MDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA4OjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwNTo0NDoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBbGxvdyBmaW5pc2hpbmcgb2YgZnJhbWVzIHdpdGggbm8gc3JjX2J1ZmZlciB0byBkcm9wL2ZyZWUgdGhlIEdzdFZpZGVvRnJhbWUKCjIwMTEtMDctMjAgMDg6Mzk6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBnZXQgY2FwcyBmcm9tIHRoZSBzdWJjbGFzcyBpZiB0aGV5IHdlcmUgbm90IHNldCB5ZXQgYnkgdGhlIHN1YmNsYXNzCgoyMDExLTA3LTIwIDA5OjI1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERlbGF5IHNlbmRpbmcgb2Ygc2VyaWFsaXplZCBzaW5rIGV2ZW50cyB1bnRpbCBmaW5pc2hfZnJhbWUoKQoKMjAxMS0wNy0yMCAwOTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGQgOjpyZXNldCB2ZnVuYyBhbmQgaGFuZGxlIDo6cmVzZXQvOjpmaW5pc2ggdGhlIHNhbWUgd2F5IGFzIGluIHRoZSBkZWNvZGVyCgoyMDExLTA3LTIwIDE5OjE2OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgcGVzcGFyc2U6IEZpeCBzdHVmZmluZyBieXRlIGhhbmRsaW5nCgkgIFdlIGluIGZhY3QgZ2V0IHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgKGluY2x1ZGluZyBzdHVmZmluZyBieXRlcyksIHRoZXJlZm9yZQoJICB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRyeWluZyB0byBza2lwIDB4ZmYgYnl0ZXMgb3Vyc2VsdmVzIHNpbmNlIHNvbWUgbWVkaWEKCSAgc3RyZWFtcyBkbyBzdGFydCB3aXRoIDB4ZmYgKGxpa2UgbXBlZyBhdWRpbydzIGluaXRpYWwgMHhmZmYpLgoKMjAxMS0wNy0xOCAxNDo1MzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIEZpeCBjb21waWxhdGlvbiBmb3IgdW51c2VkIGJ1dCBub3Qgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1NzIKCjIwMTEtMDctMjAgMDg6NTc6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTkgMTI6NTA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogVXNlIGEgdGVtcG9yYXJ5IEdzdFZpZGVvU3RhdGUgdW50aWwgdGhlIHN1YmNsYXNzIGFjY2VwdGVkIHRoZSBjYXBzCgkgIEFsc28gc3RvcmUgdGhlIGNhcHMgaW4gdGhlIEdzdFZpZGVvU3RhdGUgYW5kIGFzc3VtZSBhIFBBUiBvZiAxLzEgaW5zdGVhZAoJICBvZiAwLzEgaWYgbm8gUEFSIGlzIHNwZWNpZmllZCBpbiB0aGUgY2Fwcy4KCjIwMTEtMDctMTkgMDk6MzY6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IEFkZCBtb3JlIGNvbW1lbnRzIGFuZCByZW1vdmFsIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNy0xOSAwOTozNjoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEF2b2lkIGRvdWJsZSByZW1vdmFsIG9mIHN0cmVhbXMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBQQ1IgcGlkIGlzIHRoZSBzYW1lIGFzIGEgYXVkaW8vdmlkZW8gUElELgoKMjAxMS0wNy0xOSAwOTozNDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2U6IEFkZCBhIEdMaXN0IG9mIHN0cmVhbXMgdG8gdGhlIHByb2dyYW0KCSAgQWxsb3dzIGZhc3RlciBpdGVyYXRpb24gb2YgYWxsIHByb2dyYW0gc3RyZWFtcy4KCSAgV2Ugc3RpbGwga2VlcCB0aGUgQXJyYXkgdG8gYWxsb3cgZmFzdCByZXRyaWV2YWwgb2Ygc3RyZWFtIGJ5IFBJRC4KCjIwMTEtMDctMTkgMDg6NDU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlOiBVc2UgYSBiaXQgYXJyYXkgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBnYm9vbGVhbgoJICBNYWtlcyBrbm93X3BzaSBhbmQgaXNfcGVzIDMyIHRpbWVzIHNtYWxsZXIKCjIwMTEtMDctMTkgMDg6Mzc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDExLTA3LTE4IDE0OjE0OjMxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogZml4IGhhcm1sZXNzIHR5cG8gaW4gdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg0MAoKMjAxMS0wNy0xMiAxOTowNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIGEgY2hlY2sgbWFkZSB1c2VsZXNzIGJ5IHRoZSBsYXN0IGNvbW1pdAoKMjAxMS0wNy0xMiAxOTowMTo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXNzdW1lIGJ5dGUtc3RyZWFtIGlmIHN0cmVhbS1mb3JtYXQgYW5kIGNvZGVjX2RhdGEgYXJlIG1pc3NpbmcgZnJvbSBpbnB1dCBjYXBzCgoyMDExLTA3LTA2IDIzOjI0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpZ25vcmUgY29kZWNfZGF0YSBpZiBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtCgkgIFNvbWUgZW5jb2RlcnMgc2V0IGNvZGVjX2RhdGEgZXZlbiB3aGVuIG91dHB1dHRpbmcgYnl0ZS1zdHJlYW0uIEJlZm9yZSB0aGlzIHBhdGNoCgkgIGgyNjRwYXJzZSB3b3VsZCBpbmNvcnJlY3RseSBkZXRlY3Qgc3VjaCBzdHJlYW1zIGFzIEFWQy4KCjIwMTEtMDctMTggMDk6MTI6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2Ugc3RhbmRhbG9uZSBQRVMgcGFyc2VyCgoyMDExLTA3LTE3IDE0OjE3OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3RhbmRhbG9uZSBQRVMgcGFyc2VyCgoyMDExLTA3LTE3IDA5OjQ5OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZWZzOiBjbGFyaWZ5IHNvbWUgc3RyZWFtIGlkcwoKMjAxMS0wNy0xNiAxMzo1MTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHdob29wcywgdHNkZW11eCBpc24ndCByZWFkeSB5ZXQgZm9yIHByaW1hcnkgcmFuayA6KQoKMjAxMS0wNy0xNiAxMzo0Nzo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogQ2xlYW51cHMgYW5kIGNvbW1lbnRzCgoyMDExLTA3LTE2IDEzOjQ0OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IG5ld3NlZ21lbnQgY3JlYXRpb24gZm9yIHB1c2ggbW9kZQoJICBBbmQgYWxsIHJlbGV2ZW50IGNvbW1lbnRzIHRvIHdoYXQgaXQgc2hvdWxkIGJlIGRvaW5nLCByZWZhY3RvciBldmVyeXRoaW5nCgkgIGEgYml0LiBTdGlsbCBub3QgcGVyZmVjdCAuLi4gYnV0IGJldHRlci4KCSAgRml4ZXMgIzY1NDY1NwoKMjAxMS0wNy0xNSAxMjowODo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTdG9yZSBpbmNvbWluZyBuZXdzZWdtZW50cwoKMjAxMS0wNy0xNSAyMDo1Nzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICB0YWdtdXg6IGNvbnN0LWlmeSBHc3RUYWdMaXN0IGFyZ3VtZW50IG9mIHJlbmRlciB2ZnVuY3MKCjIwMTEtMDctMTUgMjA6Mzk6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgdGFnbXV4OiBmaXggdXAgcHJpdmF0ZSBiYXNlIGNsYXNzIGhlYWRlciBzbyBpdCBjYW4gYmUgbWFkZSBwdWJsaWMKCSAgTW92ZSBwcml2YXRlIGJpdHMgaW50byBhIHByaXZhdGUgc3RydWN0LCBhZGQgc29tZSBwYWRkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NDM3CgoyMDExLTA3LTE1IDE2OjEwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCBjb3JlL2Jhc2UgZnJvbSBnaXQKCSAgVXBkYXRlIHJlcXVpcmVtZW50cyBhZnRlciBvdXQtb2Ytb3JkZXIgMC4xMC4zNSByZWxlYXNlCgoyMDExLTA3LTEzIDE3OjE1OjM2ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogZml4IG5hbWUgb2YgJ2ltYWdlLWRvbmUnIGJ1cyBtZXNzYWdlCgkgIFVzZSB0aGUgY29ycmVjdCBidXMgbWVzc2FnZSBmb3IgY2FtZXJhYmluMiBpbWFnZSBkb25lIGFuZCByZW1vdmVzCgkgIGNoZWNrIHRoYXQgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgdGhlc2UgdGVzdHMuCgoyMDExLTA3LTE1IDEwOjA0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcmVuYW1lIG9mZnNldCBwcm9wZXJ0eSB0byB0cy1vZmZzZXQKCSAgLi4uIHNvIGFzIHRvIHByb21vdGUgY29uc2lzdGVuY3kgd2l0aCBzb21lIG90aGVyIGVsZW1lbnRzIGluIHRoZSB3aWxkLgoKMjAxMS0wNy0xNCAxOTozMDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBmaXggc29tZSB2YXJpYWJsZS1zZXQtYnV0LXVudXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xNSAwMDowMzoxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBhY3R1YWxseSBzZXQgc2Vlbl9wYXQ9VFJVRSB3aGVuIHdlIHNlZSBhIFBBVAoKMjAxMS0wNi0yNiAyMDozMjo1MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogaW1wbGVtZW50IFVSSSBxdWVyeQoKMjAxMS0wNy0xNCAyMjowODo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFNwbGl0IHVwIHdoZXRoZXIgd2Ugc2F3IGEgUEFUIGFuZCBpdHMgb2Zmc2V0CgkgIEZpeGVzIHRoZSBpc3N1ZSB3aXRoIHN0cmVhbXMgdGhhdCBkb24ndCBzZXQgYW4gb2Zmc2V0IG9uIHRoZWlyIGJ1ZmZlcnMsCgkgIGxpa2UgdGhvc2UgY29taW5nIGZyb20gaGxzZGVtdXguCgkgIEZpeGVzICM2NTM0ODEKCjIwMTEtMDctMTQgMTc6MDY6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBwcm9wZXJseSBhcHBseSB0cyBvZmZzZXQKCjIwMTEtMDctMTQgMTY6NTA6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBvcHRpb25hbGx5IG91dHB1dCByZWxhdGl2ZSB0aW1lc3RhbXBzLCBwb3NzaWJseSBzaGlmdGVkIGJ5IG9mZnNldAoJICBUaGF0IGlzLCBvdXRwdXQgdGltZXN0YW1wcyBjYW4gdGhlbiBlaXRoZXIgYmUgdGhlIGFic29sdXRlIGNhcHR1cmUgdGltZSwKCSAgb3IgdGhlIHJlbGF0aXZlIGNhcHR1cmUgdGltZSAody5yLnQuIHRvIGZpcnN0IG91dHB1dCBidWZmZXIpLCBvciB0aGUgcmVsYXRpdmUKCSAgY2FwdHVyZSB0aW1lIGluY3JlbWVudGVkIGJ5IHNvbWUgb2Zmc2V0LgoKMjAxMS0wNy0xNCAxNjo0MDoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGFsc28gc3VwcG9ydCBleHRyYWN0aW5nIHRjcCBkYXRhCgoyMDExLTA3LTE0IDE0OjM3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIHNvbWUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMgdG8gLmdpdGlnbm9yZQoKMjAxMS0wNy0xMyAxMzo0NDo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBkb2NzOiBSZXZlcnQgd3JvbmdseSBjb21taXR0ZWQgY2hhbmdlcyB0byAuYXJncy8uaGllcmFyY2h5CgoyMDExLTA3LTEzIDEzOjQyOjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZXN0b3JlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBhcyBjb21tZW50cwoKMjAxMS0wNy0xMyAxMzozOTo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBSZXN0b3JlIGVycm9uZW91c2x5IHJlbW92ZWQgZGF0YSsrCgkgIEFsc28sIHB1dCBiYWNrIHNvbWUgdW51c2VkIGNvZGUgaW4gY29tbWVudCBhbmQgcmVwbGFjZSAvLyBjb21tZW50cyBieSAvKiAqLwoKMjAxMS0wNy0xMyAxMzozODozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IFJlc3RvcmUgZXJyb25lb3VzbHkgcmVtb3ZlZCBkYXRhKysKCSAgQWxzbywgcHV0IGJhY2sgc29tZSB1bnVzZWQgY29kZSBpbiBjb21tZW50IGFuZCByZXBsYWNlIC8vIGNvbW1lbnRzIGJ5IC8qICovCgoyMDExLTA3LTEzIDEwOjQyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IEZpeCBjb21waWxhdGlvbiBhbmQgc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xMyAxMDozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBGaXggY29tcGlsYXRpb24gYnkgaW5jbHVkaW5nIHRoZSBuZXcgZ3N0YmFzZXZpZGVvdXRpbHMuaCBoZWFkZXIgYW5kIGZpeGluZyBzb21lIHNldCBidXQgbm90IHVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MjI6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBleGFtcGxlcy9jYW1lcmFiaW46IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoyMDoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAyazogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjE4OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcmVzaW5kdmQ6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxNjo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjEzOjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGR2YjogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjEwOjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowOToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkgIHR0YTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA4OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJICBzZGk6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjAzOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBSZWplY3QgdW5rbm93biBiaXRzdHJlYW0gdmVyc2lvbnMKCjIwMTEtMDctMTIgMTc6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1Nzo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjU2OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTM6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCB1bnVzZWQtYnV0LXNldCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1MDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IHVudXNlZC1idXQtc2V0IHdhcm5pbmdzCgoyMDExLTA3LTEyIDAxOjE4OjE2ICswNTMwICBTYW1lZXIgTmFpayA8c2FtZWVyLnN1YnNjcmlwdGlvbnNAZGFtYWdlaGVhZC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBzZWdmYXVsdCBpZiBnc3RfY29sbGVjdF9wYWRzX3BvcCAoKSByZXR1cm5zIG5vIGJ1ZmZlcgoJICBJbiBtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtICgpIGNhbGwgaWYgdGhlIGdzdF9jb2xsZWN0X3BhZHNfcG9wICgpIGNhbGwKCSAgcmV0dXJucyBubyBidWZmZXIgKE5VTEwpLCB0aGUgcGx1Z2luIFNlZ0ZhdWx0cyBpbiB0aGUgZ3N0X2J1ZmZlcl91bnJlZiBjYWxsLgoJICBUbyBmaXggdGhpcyB3ZSBjaGVjayBpZiBhIHZhbGlkIGJ1ZmZlciBpcyByZXR1cm5lZCBiZWZvcmUgY2FsbGluZwoJICBnc3RfYnVmZmVyX3VucmVmICgpLgoJICBGaXhlcyBidWcgIzY1NDQxNi4KCjIwMTEtMDctMTEgMTI6NTk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRmlyc3QgaW5mb3JtIHN1YmNsYXNzIGFib3V0IHJlc2V0dGluZyBiZWZvcmUgcmVzZXR0aW5nL2ZyZWVpbmcgYWxsIGludGVybmFsIHN0YXRlCgkgIFRoZSBzdWJjbGFzcyBtaWdodCB3YW50IHRvIGFjY2VzcyB0aGUgb2xkIHN0YXRlLgoKMjAxMS0wNy0xMSAxMjozNjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBUcmFjayBwcmVzZW50IHBvc2l0aW9uIG9uIGRpc2NvbnQgYmVmb3JlIHJlc2V0dGluZyBpdAoKMjAxMS0wNy0xMSAxMTo1MjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBBbHNvIHByb3RlY3QgdGhlIGxpc3Qgb2YgcGVuZGluZyBmcmFtZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyB3aGVuIHB1c2hpbmcgYWxsIHBlbmRpbmdzIGV2ZW50cwoKMjAxMS0wNy0xMSAxMToyODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBQcm90ZWN0IGFjY2VzcyB0byB0aGUgbGlzdCBvZiBwZW5kaW5nIGZyYW1lcyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGlzIGlzIHJlcXVpcmVkIGlmIDo6ZmluaXNoX2ZyYW1lKCkgYW5kIGFsbCBidWZmZXIgb3V0cHV0IGhhcHBlbnMKCSAgb24gYSBkaWZmZXJlbnQgdGhyZWFkIHRoYW4gdGhlIHNpbmtwYWQgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDctMTEgMDk6MzU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogU2V0IHRoZSBjb3JyZWN0IGxpc3RzIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoKMjAxMS0wNy0xMSAwODo1NDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBXb3JrIHdpdGggYSBjb3B5IG9mIHRoZSBHc3RWaWRlb1N0YXRlIGluIHNldGNhcHMgdW50aWwgdGhlIGNhcHMgYXJlIGFjY2VwdGVkCgkgIEFsc28gZml4IGEgcmVmY291bnQgcHJvYmxlbSB3aXRoIHRoZSBjb2RlY19kYXRhLgoKMjAxMS0wNy0wOSAxMTo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSB0aGUgdXRpbHMgZnJvbSB0aGUgY29kZWMgaGVhZGVyIHRvIGl0cyBvd24gaGVhZGVyCgoyMDExLTA3LTA5IDExOjMxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIGRlc3Ryb3kgbm90aWZ5IHRvIGZyZWUgdGhlIGNvZGVyIGhvb2sKCjIwMTEtMDctMDkgMTE6MDk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBHc3RWaWRlb0ZyYW1lIGFuZCBkb24ndCBkdXBsaWNhdGUgY29kZSBpbiB0aGUgZGVjb2RlciBiYXNlIGNsYXNzCgoyMDExLTA2LTI4IDExOjQ3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgcmVvcmRlciBzZXJpYWxpemVkIHNyYyBldmVudHMKCSAgQW5kIGFsbG93IHRvIGRyb3AgRU9TIGJ5IHRoZSBzdWJjbGFzcyBpZiA6OmZpbmlzaCByZXR1cm5zCgkgIERST1BQRUQuIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUgc3ViY2xhc3Mgc2VuZHMgRU9TIG1hbnVhbGx5IGxhdGVyLgoJICBGaXhlcyBidWcgIzY1MzU0NC4KCjIwMTEtMDYtMjcgMDk6NDE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCB0aGUgY2FwcyB0byB0aGUgR3N0VmlkZW9TdGF0ZSBhbmQgY2xlYW4gdXAgY2Fwcy9jb2RlY19kYXRhIHByb3Blcmx5CgkgIEhhdmluZyBhY2Nlc3MgdG8gdGhlIGNhcHMgaW4gOjpzZXRfZm9ybWF0IGNhbiBiZSB1c2VmdWwgaWYKCSAgbm9uLXN0YW5kYXJkIGNhcHMgZmllbGRzIGxpa2UgdGhlIGgyNjQgYWxpZ25tZW50IG11c3QgYmUgYWNjZXNzZWQuCgoyMDExLTA3LTA5IDEwOjU3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgZGVzdHJveSBub3RpZnkgZm9yIHRoZSBjb2Rlcl9ob29rIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzCgkgIEZpeGVzIGJ1ZyAjNjU0MjkzLgoKMjAxMS0wNy0wOCAxMTo1MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBQcm9wZXJseSByZXR1cm4gc2Vla2luZyBlcnJvcnMgaWYgdGhlIHJlcXVlc3RlZCBwb3NpdGlvbiBjYW4ndCBiZSBmb3VuZAoKMjAxMS0wNy0wNyAxNjowMDo0NCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVyLy5naXRpZ25vcmU6CgkgIGludGVyOiBhZGQgaWdub3JlIGZpbGUgZm9yIGludGVybWVkaWF0ZSBmaWxlcwoKMjAxMS0wNy0wNyAxNTo1OTowNSAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSAgZG9jczogYWRkIGNhbWVyYWJpbjIgdG8gdGhlIGRvY3MgYW5kIHVwZGF0ZSB0aGUgZG9jIGZpbGVzCgoyMDExLTA3LTA3IDE1OjU1OjU5IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgbWVzcyB3aXRoIGNhbWVyYWJpbiAoMSkgbmFtZXNwYWNlCgkgIFVzZSBhbiBleHRyYSAnMicgdG8gc3RheSBvdXQgb2YgdGhlIG9sZCBuYW1lc3BhY2UuCgoyMDExLTA3LTA3IDExOjExOjQyIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBrZWVwIHNlY3Rpb24gZmlsZSBzb3J0ZWQKCjIwMTEtMDctMDcgMTA6NTI6NTAgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogaW1wcm92ZSB0aGUgZG9jcwoJICBGaXggdGhlIHN5bnRheCwgYWRkIG1vcmUgZXhwbGFuYXRpb24gYW5kIHhyZWYgdGhlIHByb3BlcnRpZXMuCgoyMDExLTA2LTA1IDAwOjU0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IGR1cGxpY2F0ZSBmcm9tIENFTFQKCSAgQ29weSB0aGUgY2VsdCBwbHVnaW4gYW5kIGNvbnZlcnQgaXQgdG8gT3B1cy4gIE1vc3RseSB3b3Jrcy4KCjIwMTEtMDctMDYgMTU6NTY6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEhEIG1vZGVzIGFyZSBzcXVhcmUgcGl4ZWxzCgoyMDExLTA3LTA1IDEwOjE5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgdG8gdGhlIGNvbXBpbGVyIGZsYWdzIHRvIGF2b2lkIHdhcm5pbmdzCgoyMDExLTA3LTA0IDE2OjE4OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSAgZGlyYWNwYXJzZTogbWFrZSBkaXJhY3BhcnNlIHdvcmsgY29ycmVjdGx5CgoyMDExLTA3LTAzIDE4OjMyOjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBwcm9wZXJseSBzZXQgdXAgYW5hbG9nIGlucHV0CgoyMDExLTA2LTI4IDIzOjQ3OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogQWRkIG1vcmUgbW9kZXMKCjIwMTEtMDYtMDMgMTk6NDE6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IG5ldyBpbnRlcm1lZGlhdGUgc3VyZmFjZSBwbHVnaW4KCSAgVGhpcyBzZXQgb2YgZWxlbWVudHMgYWxsb3dzIGVhc2lseSByZW5kZXJpbmcgYXVkaW8gYW5kIHZpZGVvIHRvCgkgIGFuIGludGVybWVkaWF0ZSBzdXJmYWNlIHRoYXQgaXMgdGhlbiB1c2VkIGFzIGEgc291cmNlIGluIGEgZGlmZmVyZW50CgkgIHBpcGVsaW5lLgoKMjAxMS0wNi0xOCAxNTo1MTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgSlBFRyBZQ2JDciBtYXRyaXgKCjIwMTEtMDYtMTggMTU6NTY6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB1cGRhdGUgZm9yIG5ldyBsaWJ2cHggYXBpCgoyMDExLTA2LTI2IDE5OjI5OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogRml4IGJ1ZmZlciBkdXJhdGlvbgoKMjAxMS0wNi0yNiAxNToxNTo1NCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBnZW5lcmF0ZSBhIHRpbWVzdGFtcCBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIEl0IHdpbGwgZml4IGhhbmRsaW5nIG9mIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHNpbmNlIG1hdHJvc2thLW11eAoJICBkcm9wIGFueSBmcmFtIHdpdGggbm8gdGltZXN0YW1wLgoJICBzZWUgYWxzbzoKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9jb250YWluZXIvCgkgIFRoZSBlbmNvZGVyIHdpbGwgY3VycmVudGx5IHNldCB0aGUgQVIncyB0aW1lc3RhbXAgYXMgY2xvc2UgYXMgcG9zc2libGUKCSAgdG8gdGhlIHByZXZpb3VzIGZyYW1lIHdoaWxlIGF0dGVtcHRpbmcgdG8gcHJvdmlkZSBhIHRpbWVzdGFtcCB0aGF0IGlzCgkgIHN0cmljdGx5IGluY3JlYXNpbmcuIEluIGNhc2VzIHdoZXJlIHRoZSB0aW1lIGJhc2UgZ2l2ZW4gdG8gdGhlIGVuY29kZXIKCSAgYXQgY29uZmlndXJlIHRpbWUgaXMgbm90IGdyYW51bGFyIGVub3VnaCB0byBhbGxvdyBmb3IgdGhpcyB0aGUgQVIKCSAgd2lsbCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgRCwgYnV0IHNob3VsZCBiZQoJICB0cmVhdGVkIGFzIGhhdmluZyBubyBkdXJhdGlvbi4KCSAgRml4ZXMgYnVnICM2NTI5NTEKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0yNSAyMzo1NToyOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdpbmluZXQ6IEZpeCBjb25maWd1cmUgY2hlY2sgYnkgaW5jbHVkaW5nIHdpbmRvd3MuaAoJICBGaXhlcyBidWcgIzY1MzE2MS4KCjIwMTEtMDYtMDcgMTM6NTU6MzggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgbWFrZWZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjUyMDM1LgoKMjAxMS0wNi0yNSAxNToxMjo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YTogZGVjcmVhc2UgcmFuayB0byBOT05FCgkgIEFwcGVhcnMgdG8gYmUgdXR0ZXJseSBpbmNhcGFibGUgb2YgcGFyc2luZyBhbmQgZGVjb2RpbmcgVFRBIHN0cmVhbXMuCgkgIEhhc24ndCBiZWVuIHVwZGF0ZWQgdG8gZG8gVFRBMi4gIElmIHlvdSB3YW50IHRoaXMgZWxlbWVudCB0byB3b3JrLAoJICBmaXggdGhlIGJsb29keSB0aGluZy4gIFRoZSBnc3QtZmZtcGVnIGRlY29kZXIgd29ya3MgZmluZS4KCSAgQWxzbyBmaXhlZCBhbiBvYnZpb3VzIGVuZGlhbm5lc3MgaXNzdWUgYWxvbmcgdGhlIHdheS4KCSAgRml4ZXM6ICM2NTI5MjQKCjIwMTEtMDYtMTggMTc6NDc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogYWRkIGNoZWNrIGlmIHdlIGhhdmUgbGVnYWwgYXNwZWN0LXJhdGlvIGJlZm9yZSByZXNldCBpdC4KCSAgdGhlIGNvbW1pdCBmOWI1NTJmMDQ5NGUgKHZwOGRlYzogc2V0IHBhciB0byAxLzEpCgkgIHdpbGwgZml4IHNpdHVhdGlvbiB3aGVyZSBubyBhc3BlY3QtcmF0aW8gaXMgc2V0LCBidXQgaXQgYnJha2UKCSAgc3RyZWFtIHdpdGggYXZhaWxhYmxlIGFzcGVjdC1yYXRpby4gVGhpcyBwYXRjaCBmaXggaXQuCgkgIEZpeGVzOiAjNjUyOTAyLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTIzIDIwOjExOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgdXNlIEdMaWIgMi4yOCBBUEkKCSAgRG9uJ3QgdXNlIEdMaWIgMi4yOCBBUEksIHdlIHN0aWxsIG9ubHkgcmVxdWlyZSA+PSAyLjI0LgoKMjAxMS0wNi0yMyAxMToyODo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY5Yjk4MWYgdG8gNjA1Y2Q5YQoKMjAxMS0wNi0yMiAyMjoyNToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCB0YWdzZXR0ZXJzIHRvIG1lcmdlIHJlcGxhY2UgbW9kZQoJICBUaGUgZGVmYXVsdCBmb3IgdGFnc2V0dGVycyBpcyB0byB1c2UgbWVyZ2Uga2VlcCBtb2RlLCBzbyB0YWdzCgkgIHdvdWxkIG5ldmVyIGJlIHJlcGxhY2VkIGFuZCBhbGwgY2FwdHVyZXMgd291bGQgaGF2ZSB0aGUgc2FtZSB0YWdzLgoJICBUaGlzIGNvbW1pdCB3YXRjaGVzIGFsbCBlbGVtZW50cyBhZGRlZCBpbnRvIGVuY29kZWJpbiBhbmQgc2V0cwoJICBhbGwgdGFnc2V0dGVycyB0byBtZXJnZSByZXBsYWNlIG1vZGUKCjIwMTEtMDYtMjIgMTg6NTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGEgc2luZ2xlIGxvY2F0aW9uIGZvciBib3RoIG1vZGVzCgkgIEltcGxlbWVudCB0aGUgbG9jYXRpb24gcHJvcGVydHkganVzdCBsaWtlIGl0IHdvcmtzIGluIGNhbWVyYWJpbiwgdGhlCgkgIHNhbWUgbG9jYXRpb24gaXMgdXNlZCBmb3IgYm90aCBpbWFnZXMgYW5kIHZpZGVvcwoKMjAxMS0wNi0yMiAxNjoyNzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogU2VuZCBzZXJpYWxpemVkIGN1c3RvbSBldmVudHMgZm9yIGZpbGVuYW1lIGNoYW5nZXMgaW4gaW1hZ2Ugc2luawoJICBVc2luZyBzZXJpYWxpemVkIGN1c3RvbSBldmVudHMgZm9yIHN3aXRjaGluZyBpbWFnZSBjYXB0dXJlIHNhdmluZwoJICBsb2NhdGlvbiBtYWtlcyBjYW1lcmFiaW4yIHNhdmUgZWFjaCBjYXB0dXJlIGNvcnJlY3RseSB0byB0aGUgbG9jYXRpb24KCSAgdGhhdCB3YXMgc2V0IGR1cmluZyB0aGUgbW9tZW50IHN0YXJ0LWNhcHR1cmUgd2FzIGNhbGxlZCwgYW5kIG5vdAoJICB0aGUgbW9tZW50IHRoZSBmaWxlc2luayB3YXMgd3JpdGluZyB0byBkaXNrLgoJICBUaGlzIHByZXZlbnRzIGNhcHR1cmVzIHRvIGJlIG92ZXJ3cml0ZW4gYnkgcmFjeW5lc3MgYW1vbmcgc3RhcnQtY2FwdHVyZQoJICBhbmQgc2V0dGluZyBsb2NhdGlvbiBmb3IgaW1hZ2VzLgoKMjAxMS0wNi0yMiAxNTo1NjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE5vIG5lZWQgdG8gY2hhbmdlIHN0YXRlIG9mIHRoZSB3aG9sZSBpbWFnZSBicmFuY2gKCSAgV2Ugb25seSBuZWVkIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIGZpbGVzaW5rIHRvIHN3aXRjaCBpdHMKCSAgc2F2aW5nIGxvY2F0aW9uLiBUaGlzIG1pZ2h0IHN0aWxsIGNhdXNlIHNvbWUgcHJvYmxlbXMgb2YgZHJvcHBpbmcKCSAgY2FwdHVyZWQgYnVmZmVycywgYnV0IGl0IGlzIGJldHRlciB0aGFuIGNoYW5naW5nIHRoZSBzdGF0ZSBvZgoJICB0aGUgd2hvbGUgYnJhbmNoLgoKMjAxMS0wNi0yMiAxNTozNzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBuYW1lcyBmb3IgaW1hZ2UgYW5kIHZpZGVvIGVuY29kZWJpbgoJICBOYW1pbmcgZW5jb2RlYmlucyBhcyBpbWFnZS1lbmNvZGViaW4gYW5kIHZpZGVvLWVuY29kZWJpbiB0byBtYWtlCgkgIGl0IGVhc2llciBmb3IgZGVidWdnaW5nIGNhbWVyYWJpbjIuCgoyMDExLTA2LTE3IDE3OjI2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA2LTE3IDE0OjMyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgbmV3IHRlc3QgdG8gY2hlY2sgaW1hZ2UgbG9jYXRpb24gY29ycmVjdG5lc3MKCSAgVGhpcyBuZXcgdGVzdCBjaGVja3MgdGhhdCBpbWFnZXMgYXJlIHNhdmVkIHdpdGggdGhlIGZpbGVuYW1lIHNldHRpbmcKCSAgb24gbG9jYXRpb24gb24gdGhlIG1vbWVudCBvZiB0aGUgc3RhcnQtY2FwdHVyZQoKMjAxMS0wNi0xNSAwODoyMDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1pbm9yIGRlYnVnIG1lc3NhZ2UgZml4CgoyMDExLTA1LTEzIDExOjI1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogQWRkcyBwZXJmb3JtYW5jZSBtZWFzdXJlbWVudCB0byBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgcGVyZm9ybWFuY2UgKHRpbWluZykgbWVhc3VyZSBmZWF0dXJlIHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QsIGl0IGFsbG93cwoJICB1c2VycyB0byBzcGVjaWZ5IHNvbWUgdGFyZ2V0IHZhbHVlcyBmb3IgY29tbW9ubHkgbWVhc3VyZWQgdGltZXMgYW5kIHRoZQoJICBhcHBsaWNhdGlvbiB3aWxsIHByaW50IG91dCBhIHRhYmxlIG9mIHZhbHVlcyBhdCB0aGUgZW5kIG9mIGl0cyBleGVjdXRpb24KCSAgd2l0aCB0aGUgbWVhc3VyZWQgdGltZXMgYW5kIGF2ZXJhZ2VzIG9mIHRoZW0uCgoyMDExLTA2LTIyIDEwOjEzOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogY3JlYXRlIGNvcnJlY3QgYXZjIGNvZGVjLWRhdGEKCSAgRml4ZXMgIzY1MzAxMy4KCjIwMTEtMDYtMjEgMTI6NDU6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBmaXggb3V0cHV0IGNhcHMgYWxpZ25tZW50IGZvciBhdmMgaW5wdXQKCSAgLi4uIHBhcnRpY3VsYXJseSB3aGVuIHNwbGl0dGluZyBwYWNrZXRpemVkIGlucHV0LgoJICBGaXhlcyAjNjUyOTk1LgoKMjAxMS0wNi0yMSAxMjo0Mzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2YyBpbnB1dCBtdXN0IGVpdGhlciBwYXNzLXRocm91Z2ggb3IgYmUgc3BsaXQgaW50byBieXRlc3RyZWFtIGNodW5rcwoJICAuLi4gc2luY2UgcGFyc2luZyBjb2RlIGlzIG5vdCBtZWFudCB0byByZWNlaXZlIGF2YyBkYXRhLgoJICBGaXhlcyAjNjUzMDg3LgoKMjAxMS0wNi0yMSAxMjo0MTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIGJvZ3VzIGZyYW1lIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDYtMjAgMTI6NDc6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSAgZGVja2xpbms6IHVwZGF0ZSBEZWNrTGluayBBUEkgd3JhcHBlcnMKCjIwMTEtMDYtMjAgMDA6Mzg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGNvbm5lY3Rpb24gdHlwZQoKMjAxMS0wNi0wNSAyMToxOTo1OCAtMDcwMCAgUmFmYWVsIERpbml6IDxyYWZhZWxAcmlzZXVwLm5ldD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgYXVkaW8gc3VwcG9ydAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMjE6MjQ6NTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgdmFyaW91cyBmZWF0dXJlcwoJICBCZXR0ZXIgbW9kZSBzdXBwb3J0LCBpbnB1dCBzb3VyY2UgcHJvcGVydHksIGF1ZGlvIHN1cHBvcnQuCgoyMDExLTA2LTA1IDIxOjI0OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSAgZGVja2xpbms6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wNi0wNSAyMToxNzowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZWluZGVudAoKMjAxMS0wNi0xNyAxNjoxMjowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBvbmx5IGZyZWUgdGhlIGluZGV4IGFycmF5IGlmIGl0IGV4aXN0cwoJICBPbmx5IGZyZWUgdGhlIGFycmF5IGlmIGl0IGV4aXN0cy4KCSAgQ29udGFpbnMgYW4gdW5yZWxhdGVkIGluZGVudGF0aW9uIGZpeCwgY291cnRlc3kgb2YgZ3N0LWluZGVudAoKMjAxMS0wNi0xOCAwMToxMTowNSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICB1cGRhdGUgZG9jcyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTEtMDYtMTggMDE6MDk6NTEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIFJUTVA6IGFkZCBydG1wc2luayBlbGVtZW50IGZvciBvdXRwdXQgdG8gYW4gUlRNUCBzZXJ2ZXIKCjIwMTEtMDYtMTYgMTc6MTc6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiBhZGQgY29sb3JzcGFjZSB1bml0IHRlc3QKCSAgQ29tcGFyZXMgY29sb3JzcGFjZSByZXN1bHQgd2l0aCBmZm1wZWdjb2xvcnNwYWNlIG91dHB1dCB1c2luZyBTU0lNLgoJICBBbHNvIHByb2JlcyBmb3IgcG9zc2libGUgY3Jhc2hlcyBmb3Igb2RkIHdpZHRoIGFuZCBoZWlnaHQgaW1hZ2UgYnkgYXBwbHlpbmcKCSAgYWxsIHBvc3NpYmxlIGNvbG9yc3BhY2UgdHJhbnNmb3JtYXRpb25zLgoKMjAxMS0wNi0xNyAxMjoxMDowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSAgZGVidWd1dGlsczogYWRkIGNvbXBhcmUgZWxlbWVudAoKMjAxMS0wNi0xNSAxODoyMDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBvZGQgd2lkdGggYW5kIGhlaWdodCBoYW5kbGluZyBpbiBzb21lIGZhc3RwYXRoIGNhc2VzCgoyMDExLTA2LTE2IDE5OjA2OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogSW1wcm92ZSBkb2N1bWVudGF0aW9uIG9mIGludGVybmFsIHNobXBpcGUKCjIwMTEtMDYtMTUgMTY6MzI6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS52Y3Byb2o6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBNb3ZlZCAnY29sb3JzcGFjZScgZnJvbSAtYmFkIHRvIC1iYXNlCgoyMDExLTA2LTE1IDE2OjA2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGFuZHJvaWQvYWFjcGFyc2UubWsKCSAgYW5kcm9pZC9hbXJwYXJzZS5tawoJICBhbmRyb2lkL2gyNjRwYXJzZS5tawoJICBhbmRyb2lkL21ldGFkYXRhLm1rCgkgIGFuZHJvaWQvcXRtdXgubWsKCSAgYW5kcm9pZC9zZHBlbGVtLm1rCgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDYtMTMgMTE6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0c3JjOiBkb24ndCB1c2UgR19DT05TVF9SRVRVUk4KCSAgSXQncyBnb2luZyB0byBiZSBkZXByZWNhdGVkIHJlYWxseSBzb29uLgoKMjAxMS0wNi0xMiAxMjo1NTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBTcGVlZCB1cCB0aGUgc3RhcnQgY29kZSBzZWFyY2ggYWxnb3JpdGhtCgkgIEJhc2VkIG9uIDk2YTdmOWM4YjExOTUxMjlmMGMyMTU3Y2JiY2JhYTZjYWI0NTA1NmUKCSAgTWFrZXMgaXQgMy00IHRpbWVzIGZhc3RlcgoKMjAxMS0wNi0xMiAxMjo0MDoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggc2luayBwYWQgdGVtcGxhdGUKCSAgbm8gd29uZGVyIGl0IHdhcyBuZXZlciBwaWNrZWQgdXAgLi4uCgoyMDExLTA2LTEyIDExOjI3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgZnJlZSB1bmV4aXN0ZW50IFBBVAoJICBBbmQgY2xlYW51cCBmaW5kX3RpbWVzdGFtcHMgYSBiaXQKCjIwMTEtMDUtMTggMTk6MzM6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNb3JlIGZpeGVzIHRvIGhhbmRsZSBub24tMTg4IGJ5dGUgcGFja2V0cwoKMjAxMS0wNS0xNSAxNDowNDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IFN0b3Agc2Nhbm5pbmcgZm9yIGtleWZyYW1lcyBhcyBlYXJseSBhcyBwb3NzaWJsZQoKMjAxMS0wMy0zMSAxNDozNjowMiArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFsd2F5cyB0cnkgdG8gc2VlayBmb3IgdG8gYSBrZXlmcmFtZQoJICBrZXlmcmFtZSBpcyBleHBlY3RlZCB0byBsaWUgaW4gdGhlIHRoZSBuZXh0IH4yNTAwIG1zCgoyMDExLTAzLTIzIDE4OjUwOjI1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IHRpbWVzdGFtcHMgaW4gbmV3c2VnZW1lbnQgZXZlbnQgYWZ0ZXIgc2Vla2luZwoKMjAxMS0wMy0zMCAxMToyNjoxOCArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBwYXlsb2FkIHBhcnNpbmcgZm9yIEguMjY0CgoyMDExLTAzLTI4IDEwOjIwOjQzICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogaW1wbGVtZW50IGtleV91bml0IHNlZWtpbmcgZm9yIE1QRUcyIHZpZGVvCgoyMDExLTAzLTIyIDE2OjQ5OjEzICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWNjdXJhdGUgc2Vla2luZwoJICAqIHBlcyBoZWFkZXIgcGFyc2luZyBmb3IgcHRzIGlzIHVnbHksIHJlZmFjdG9yCgkgICogdGltZXN0YW1wcy9uZXdzZWdtZW50IGFmdGVyIHNlZWtpbmcgaXMgc3RpbGwgb2ZmCgoyMDExLTAyLTIyIDEyOjMzOjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogcHVzaCBiYXNlZCBzZWVraW5nIGJhc2VkIG9uIFBDUgoJICBidWZmZXIgdGltZXN0YW1wcyBhcmUgY29udmVydGVkIHRvIEdzdENsb2NrVGltZSB0byBjb3ZlciBwY3IvcHRzIHdyYXBzLgoJICBtdWx0aXBsZSBwY3IvcHRzIHdyYXBzIGFyZSBoYW5kbGVkIHdpdGggYW4gaW5kZXggd2hpY2ggZW5zdXJlcyBhdCBtb3N0CgkgIGEgc2luZ2xlIHBjciB3cmFwYXJvdW5kIGJldHdlZW4gdHdvIGVudHJpZXMuCgkgIHRoZSBsYXN0IHNlZW4gcGNyIGlzIHJlY29yZGVkIHRvIGhhdmUgYSBuZWFyYnkgaW5kZXggcG9pbnQgZm9yIHNob3J0IHNlZWtzCgkgIHJlc3VtaW5nIHBsYXliYWNrIG1pZ2h0IGJlIGRlbGF5ZWQgaWYgdGhlIHBvc3Rpb24gaXMgbm90IGEga2V5ZnJhbWUKCSAgVE9ETzogcmVwbGFjZSBtYW51YWwgcGFja2V0IHNjYW5uaW5nIGFuZCBwYXJzaW5nIGluIHRoZSBpbml0aWFsIGR1cmF0aW9uIGVzdGltYXRpb24KCjIwMTEtMDItMjMgMTU6MjE6MjIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBjcmVhdGUgZnVuY3Rpb24gZm9yIHBjciBwYXJzaW5nCgoyMDExLTA0LTExIDE0OjUzOjI4ICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogYWRhcHRhdGlvbiBmaWVsZCBsZW5ndGggPT0gMCBpcyB2YWxpZAoJICBpdCBjYW4gYmUgdXNlZCB0byBpbnNlcnQgYSBzaW5nbGUgc3R1ZmZpbmcgYnl0ZQoJICBkbyBub3QgcGFyc2UgdGhlIGZvbGxvd2luZyBwYXlsb2FkIGFzIGFkYXB0YXRpb24gZmllbGQKCjIwMTEtMDYtMDcgMTQ6MTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIEFkZCBnc3QvaW52dGVsZWNpbmUgdG8gQ1JVRlRfRElSUwoKMjAxMS0wNi0wNyAxMzo0NDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHTGliID49IDIuMjQKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMTEtMDYtMDYgMTU6MjM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciBiYXNlYXVkaW92aXN1YWxpemVyCgoyMDExLTA2LTA2IDE1OjIwOjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBsYXN0IGJsb2NrIGNvbmRpdGlvbgoJICBBbHNvIHB1c2ggb3V0IHRoZSBsYXN0IGZyYW1lIGlmIHdlIGhhdmUgZXhhY3QgYW1vdW50IG9mIHNhbXBsZXMuIEZpeCB0aGUgYWRhcHRlcgoJICBmbHVzaGluZyB0byBub3QgY2F1c2UgZW5kbGVzcyBsb29wcy4gRHJvcCBhIHJlZHVuZGFudCBhdmFpbCgpIGNoZWNrLgoKMjAxMS0wNi0wNCAyMDo0MTo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYSBSRUFETUUgd2l0aCBjb21tZW50cyBhbmQgcGxhbnMKCjIwMTEtMDYtMDQgMjA6MzQ6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvM2QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIGluc3BlY3QgZmlsZXMKCjIwMTEtMDYtMDQgMTY6MTI6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkgIGRvY3M6IGFkZCBuZXcgYXVkaW92aXN1YWxpemVycyB0byB0aGUgcGx1Z2luIGRvY3MKCjIwMTEtMDYtMDQgMTU6NTY6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbW92ZSBzb21lIG5vdCBuZWVkZWQgYm9pbGVycGxhdGUKCjIwMTEtMDYtMDQgMTU6NTI6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhIHNwYWNlc2NvcGUgZWxlbWVudAoJICBBZGQgYW5vdGhlciBlbGVtZW50IHRoYXQgbWFwcyBsZWZ0L3JpZ2h0IGNoYW5uZWwgdG8geCx5IGNvb3JkaW5hdGVzLgoKMjAxMS0wNi0wNCAxNTozODo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJICBzeW5hZXNjb3BlOiB0d2VhayB0aGUgYWxnb3JpdGhtCgkgIFNwZWVkLXVwIHRoZSBjYWxjdWxhdGlvbiBhIGJpdC4gS2VlcCBhIGZldyB2YWx1ZXMgYXMgZG91Ymxlcy4gVHVuZSB0aGUgc2NhbGluZwoJICB0byBnZXQgbmljZXMgY29sb3JzLgoKMjAxMS0wNi0wNCAxNDozNzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBkb2MtYmxvYiBhbmQgY29tbWVudCB1cGRhdGVzCgoyMDExLTA2LTA0IDE0OjMzOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW5hbWUgYmFzZWNsYXNzIGZyb20gYmFzZXNjb3BlIHRvIGJhc2VhdWRpb3Zpc3VhbGl6ZXIKCjIwMTEtMDYtMDQgMTQ6MjU6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW5hbWUgc2NvcGVzIHBsdWdpbiB0byBhdWRpb3Zpc3VhbGl6ZXJzCgoyMDExLTA1LTMxIDE0OjQyOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSAgc2NvcGVzOiBmaXggZWxlbWVudHMgZGVzY3JpcHRpb25zCgoyMDExLTA1LTMwIDIzOjQ1OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IHVzZSBhZGRfcGl4ZWwgZm9yIG5vbi13aGl0ZSBwaXhlbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0zMCAyMzozNjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGFkZCBhIG5ldyBlbGVtZW50IHNpbWlsYXIgdG8gc3luYWVzdGhlc2lhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMjM6MjI6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkgIHNjb3BlczogZHJhdyBwaXhlbHMgd2l0aCBzaWdubGUgMzJiaXQgd3JpdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMTQ6MzY6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkgIGJhc2VzY29wZTogYWRkIG1vcmUgc2hhZGluZyBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMTQ6MDg6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkgIGJhc2VzY29wZTogYWRkIGEgcHJvcGVydHkgdG8gbW9kaWZ5IHRoZSBhbW1vdW50IG9mIHNoYWRpbmcKCSAgQWRkIGFub3RoZXIgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgc2hhZGluZyBwZXIgY29sb3IgY2hhbm5lbC4gRml4IGVuZGlhbmVzcwoJICBpc3N1ZXMgaW4gdGhlIHNoYWRpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMzoyNTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgYmFzZXNjb3BlOiBhZGQgYSBiYWNrYnVmZmVyIGFuZCBhcHBseSBzaGFkaW5nIGVmZmVjdHMKCSAgS2VlcCB0aGUgbGFzdCBmcmFtZSBhbmQgYXBwbHkgc2hhZGUgYW5kIGdlb21ldHJ5IGVmZmVjdHMuIEV4cG9zZSB0aGUgc2hhZGluZwoJICBlZmZlY3RzIGFzIGEgY29udHJvbGxhYmxlIGdvYmplY3QgcHJvcGVydHkgb24gdGhlIGJhc2VjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMzoxMjowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgYmFzZXNjb3BlOiBhbGxvdyBzdWJjbGFzc2VzIHRlbGxpbmcgaG93IG1hbnkgc2FtcGxlIHRoZXkgbmVlZCBwZXIgZnJhbWUKCSAgVGhpcyBhbGxvd3MgZS5nLiBGRlQgYmFzZWQgZWxlbWVudHMgdG8gcmVxdWlyZSBlbm91Z2ggZGF0YS4gSWYgdGhleSBuZWVkIG1vcmUKCSAgZGF0YSB0aGFuIHdoYXQgd2UgZ2V0LCB3ZSBmbHVzaCBsZXNzIGZyb20gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjI6NTM6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkgIGJhc2VzY29wZTogcmVtb3ZlIHNvbWUgY29tbWVudHMKCSAgVGhvc2UgY29tbWVudHMgd2hlcmUgcG9pbnRpbmcgdG8gZXhhbXBsZSBjYWxscyB0aGF0IHdlIGRvIGluIHRoZSBzdWJjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAxNDo0Mzo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBhZGQgYSBzaW1wbGUgZmZ0IGJhc2VkIHNjb3BlCgkgIEFkZCBhIDJuZCBkZW1vIHNjb3BlIHRoYXQgdXNlcyBhIGZmdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAxMToxNDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGZpcnN0IHZlcnNpb24gb2YgYSBzY29wZXMgcGx1Z2luIHVzaW5nIGEgbmV3IGJhc2VjbGFzcwoJICBBZGQgYSBuZXcgYmFzZWNsYXNzIGZvciB3cml0aW5nIHZpc3VhbGlzYXRpb24gcGx1Z2lucy4gUHJvdmlkZSBhIHNpbXBsZSB3YXZlCgkgIG9zY2lsbG9zY29wZSBhcyBhIGZpcnN0IHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA0LTI5IDEzOjMzOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQXZvaWQgZG91YmxlIHNjYW5uaW5nIG9mIHBpY3R1cmVzCgkgIFRoZSBpbmNvbWluZyBkYXRhIGhhcyBhbHJlYWR5IGJlZW4gc2Nhbm5lZCBpbiBtcGVnX3BhY2tldGl6ZXJfYWRkX2J1Zi4KCSAgV2UgY2FuIHRoZXJlZm9yZSBzdG9wIHNjYW5uaW5nIGZvciBwaWN0dXJlIGRhdGEgYXMgc29vbiBhcyB3ZSd2ZSBwYXJzZWQKCSAgdGhlIGhlYWRlci4gTWFrZXMgbXBlZ3ZpZGVvcGFyc2UgMiB0aW1lcyBmYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MzMKCjIwMTEtMDYtMDUgMTM6NTY6MDggLTA3MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICBkaXJlY3RkcmF3c2luazogbG93ZXIgcmFuayB0byBzZWNvbmRhcnkKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDEzOjM4OjQ2IC0wNzAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IGNvbXBpbGUgZml4CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAxMDozNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBSZW1vdmUgaW4gZmF2b3Igb2YgZmllbGRhbmFseXNpcwoKMjAxMS0wNi0wNCAxODo1NDoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogSGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBGaXhlczogIzY1MTc3OS4gIEZyb20gUmFpbW8gSsOkcnZpLgoKMjAxMS0wNi0wNCAxODo0Mzo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogQWRkIHBsdWdpbgoJICBGaXhlcyAjNjUxNzgyLiAgUGF0Y2ggZnJvbSB2YXJpb3VzIGF1dGhvcnMsIGJ5IHdheSBvZiBvc3NidWlsZC4KCjIwMTEtMDYtMDQgMTQ6MDQ6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDYtMDQgMTM6NTE6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1OiByZW1vdmUgb2xkIGdsaWIgY29tcGF0aWJpbGl0eSBjb2RlCgoyMDExLTA2LTAzIDE5OjM2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogc2V0IHBhciB0byAxLzEKCjIwMTEtMDYtMDMgMTk6MzY6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogQmV0dGVyIGhhbmRsaW5nIG9mIGludmFsaWQgcGFyCgoyMDExLTA1LTMwIDE3OjAzOjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkgIHZpZGVvZmlsdGVyMjogRml4IGNvcHlyaWdodAoKMjAxMS0wNi0wNCAyMDozNTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgZ3N0OiBzb21lIG1vcmUgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyBmaXhlcwoKMjAxMS0wNS0zMCAxNzo1NDoyNiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkgIFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGUgbmV3IC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgYWRkZWQgaW4KCSAgR0NDIDQuNjogaHR0cDovL2djYy5nbnUub3JnL2djYy00LjYvY2hhbmdlcy5odG1sCgoyMDExLTA1LTA5IDE0OjM1OjQyIC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYSBmaWx0ZXIgdG8gd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBDYW1lcmFiaW4yIGFsbG93cyBzZXR0aW5nIGEgZmlsdGVyIGZvciBpbWFnZSwgdmlkZW8gb3Igdmlld2ZpbmRlciwgYnV0CgkgIG5vdCBvbmUgZmlsdGVyIGZvciBhbGwgdGhyZWUgYXQgdGhlIHNhbWUgdGltZS4gSSBhZGRlZCBhIGZpbHRlciB0bwoJICB3cmFwcGVyY2FtZXJhYmluc3JjIHRvIGFsbG93IHNldHRpbmcgYSBnbG9iYWwgZmlsdGVyIHdoZW4gdXNpbmcgdGhpcwoJICBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk4MjIKCjIwMTEtMDUtMjYgMDA6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCB2YXIKCjIwMTEtMDUtMjUgMjM6Mjk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBmdWxsIG5hbWVzIGluIHByb3BlcnRpZXMKCSAgSW1wcm92ZSBBUEkgYnkgdXNpbmcgc291cmNlIGluc3RlYWQgb2Ygc3JjIGluIHByb3BlcnRpZXMKCjIwMTEtMDUtMjMgMTM6MzY6MjcgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG8gbm90IHVucmVmIHBhZCB0ZW1wbGF0ZQoKMjAxMS0wNS0yOSAxMzoxNjoyMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IGF2YyBjaGVjayBzbyB0aGF0IGl0IHRyaWVzIHRvIGxpbmsgdG8gQVZDVmlkZW9TZXJ2aWNlcwoJICBBdm9pZHMgYXZjIHBsdWdpbiBmcm9tIGJlaW5nIGJ1aWx0IHdoZW4gQVZDVmlkZW9TZXJ2aWNlcyBpcyBub3QgaW5zdGFsbGVkCgoyMDExLTA1LTI2IDEyOjIzOjAxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IEFkZCAtLWltYWdlLWZvcm1hdHRlciBjb21tYW5kLWxpbmUgb3B0aW9uCgkgIEFkZCBjb21tYW5kLWxpbmUgb3B0aW9uIHRvIGdzdC1jYW1lcmFiaW4tdGVzdCBmb3IgY29uZmlndXJpbmcgY2FtZXJhYmluCgkgIG1ldGFkYXRhIGZvcm1hdHRlciBlbGVtZW50LgoKMjAxMS0wNS0zMSAxMzowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IEZpeCB1bml0IHRlc3QgYWZ0ZXIgbGF0ZXN0IGZhYWMgY2hhbmdlcwoKMjAxMS0wNS0zMSAxMjo1NTo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2Nhbm5pbmcgb24gc21hbGwgZmlsZXMKCSAgV2Ugd2VyZSBwcmV2aW91c2x5OgoJICAqIFN0b3BwaW5nIGVhcmx5IGluIHRoZSBpbml0aWFsIFBDUiBzY2FuCgkgICogR2l2aW5nIGEgbmVnYXRpdmUgb2Zmc2V0IGZvciB0aGUgc2Vjb25kIFBDUiBzY2FuCgoyMDExLTA1LTMxIDEyOjU0OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGNhbGwgcHJvZ3JhbV9zdG9wcGVkIHdpdGggYSBOVUxMIHByb2dyYW0KCjIwMTEtMDUtMTkgMTI6NTU6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBEZWxheSBwdXNoaW5nIGJ1ZmZlcnMgdW50aWwgd2UgaGF2ZSB3aWR0aC9oZWlnaHQKCjIwMTEtMDUtMjcgMTE6MTM6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogcmVtb3ZlIHRlbXBsYXRlIHN0YW1wIGNvbW1lbnQKCjIwMTEtMDUtMzAgMjM6NDM6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkgIGJheWVyMnJnYjogQ29udmVydCB0byBPcmMKCSAgU2VyaW91c2x5IGZhc3Rlci4gIEFsZ29yaXRobSBpcyBuZWFybHkgdGhlIHNhbWUgYXMgYmlsaW5lYXIsIHdoaWNoCgkgIGdpdmVuIHRoZSBzcGVlZCBvZiB0aGlzIGNvZGUsIHNob3VsZCBiZSBjb25zaWRlcmVkIHRoZSBiYXNlbGluZSBvZgoJICBxdWFsaXR5LiAgU3BlZWQgYXBwZWFycyB0byBiZSBsaW1pdGVkIGJ5IG1lbW9yeSBiYW5kd2lkdGgsIHNvIEkKCSAgZGlkbid0IGJvdGhlciB0cnlpbmcgdG8gbWFrZSBpdCBhbnkgZmFzdGVyLgoKMjAxMS0wNS0zMCAxNjo1NjozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogUmV3cml0ZSBzaWduYWwgcHJvY2Vzc2luZy4gTXVjaCBmYXN0ZXIuCgoyMDExLTA1LTMwIDE3OjU0OjI2ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlIG5ldyAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIGFkZGVkIGluCgkgIEdDQyA0LjY6IGh0dHA6Ly9nY2MuZ251Lm9yZy9nY2MtNC42L2NoYW5nZXMuaHRtbAoKMjAxMS0wNS0zMCAxMzowMTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJldmVydCAiZHZkc3B1OiBGaXggcGFkIHRlbXBsYXRlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3MzI4MjhlMzFjYmFjZTU5ZTZjZTRmMjYyYjgzMzllNDNlZDBjNjMxLgoJICBJdCB3YXMgaW4gZmFjdCBhbiBpc3N1ZSBpbiBjb3JlCgoyMDExLTA1LTMwIDEzOjAxOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHJvdGVjdCBhZ2FpbnN0IHByb2dyYW0gYmVpbmcgcmVtb3ZlZAoKMjAxMS0wNS0zMCAxMjoyNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkgIGZhY2VvdmVybGF5OiBBZGQgZ3N0LXBsdWdpbnMtYmFzZSBDRkxBR1MgYW5kIExJQlMgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDExLTA1LTMwIDEyOjI0OjMxICswMjAwICBMYXVyYSBMdWNhcyBBbGRheSA8bGF1cmFsdWNhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogQWRkIGVsZW1lbnQgdGhhdCBkaXNwbGF5cyBhbiBTVkcgaW1hZ2Ugb3ZlciBhIGRldGVjdGVkIGZhY2UKCSAgRml4ZXMgYnVnICM2NDI3NTkuCgoyMDExLTA1LTMwIDA4OjQ4OjI5ICswMjAwICBUb20gRGVzZXluIDx0b20uZGVzZXluQGJhcmNvLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBBbHNvIGNvbnNpZGVyIG5vbi1hY2NlbGVyYXRlZCBEaXJlY3RGQiBzdXJmYWNlcwoJICBGaXhlcyBidWcgIzYzMTM5MC4KCjIwMTAtMDktMDIgMjM6MzE6MjMgKzAzMDAgIE1hcnRpbiBTdG9yc2pvIDxtYXJ0aW5AbWFydGluLnN0PgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogRGVjb2RlIGF1ZGlvIHVudGlsIGFsbCBpbnB1dCBkYXRhIGlzIGNvbnN1bWVkCgkgIFRoZSBzcGVjaWFsIHJldHVybiB2YWx1ZSBpcyByZXR1cm5lZCBmcm9tIG91ciBidWZmZXIgY2FsbGJhY2sKCSAgd2hlbiBhbGwgaW5wdXQgZGF0YSBoYXMgYmVlbiBjb25zdW1lZC4KCjIwMTEtMDUtMDMgMTQ6MTQ6MjAgKzAzMDAgIE1hcnRpbiBTdG9yc2pvIDxtYXJ0aW5AbWFydGluLnN0PgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogUmVwbGFjZSB0aGUgaGFja2lzaCA0MiBtYWdpYyBudW1iZXIgd2l0aCBhIGRlZmluZQoKMjAxMS0wNS0zMCAwODo0Mzo1OSArMDIwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjd3JhcHBlcjogRml4IENPTSBpbml0aWFsaXphdGlvbgoJICBGaXhlcyBidWcgIzYyNTE5MC4KCjIwMTEtMDUtMzAgMDg6NDM6NDAgKzAyMDAgIEp1bGllbiBNT1VUVEUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBGaXggZWxlbWVudCByZWdpc3RyYXRpb24gdXNpbmcgZGF0YSBpbiB0aGUgdHlwZSBpbnN0ZWFkIG9mIGEgZ2xvYmFsCgoyMDExLTA1LTI5IDE4OjE2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggcGFkIHRlbXBsYXRlcwoJICBPdXIgY2FwcyBpbnRlcnNlY3Rpb24gY29kZSBpcyBhIGJpdCB0b28gdG91Y2h5IGFib3V0IHdoYXQgYW4gZWxlbWVudAoJICByZXR1cm5zIGNvbXBhcmVkIHRvIGl0cyBwYWQgdGVtcGxhdGVzLgoKMjAxMS0wNS0yOSAxMzowNTozMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNoZWNrIGZvciBvdXQgb2YgcmFuZ2UgcHBzX2lkIG9uZSBsYXllciB1cAoKMjAxMS0wNS0yOSAxMzowMzozOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA1LTI5IDEyOjU0OjQwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogY2hlY2sgZm9yIG91dCBvZiByYW5nZSBwcHNfaWQgb25lIGxheWVyIHVwCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgY29tcGFyaW5nIGd1aW50OCBhbmQgTUFYX1BQU19DT1VOVCB3aGljaCBpcyA+IEdfTUFYVUlOVDgKCjIwMTEtMDUtMjcgMTE6MDU6NDYgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIEZpeCBtaXNzaW5nIGhlYWRlciBmaWxlIGFuZCB1cGRhdGUgc3BlYyB0byB3b3JrIGFyb3VuZCBjdXJyZW50IGNvbXBpbGVyIGlzc3VlcwoKMjAxMS0wNS0yNyAxMDo0NDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgZmFhYzogZml4IENGTEFHUyBhbmQgTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wNS0yNyAxMDo0NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFNldCB0aGUgY29ycmVjdCwgdmFsaWQgc2FtcGxlIHJhdGVzIGluIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0wNS0yNyAxMDo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IE1ha2Ugc3VyZSB0byBhbHNvIHJldHVybiBvbmx5IGEgc3Vic2V0IG9mIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpbiBnZXRjYXBzCgoyMDExLTA1LTI3IDEwOjM1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogU2V0IHRoZSBjb3JyZWN0LCB2YWxpZCBzYW1wbGUgcmF0ZXMgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA1LTI3IDEwOjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogVGhlIGVuY29kZXIgbGlicmFyeSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyAxIG9yIDIgY2hhbm5lbHMKCjIwMTEtMDUtMjcgMTA6MzE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBwcm9maWxlIGFuZCBsZXZlbCB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzY1MDU5NS4KCjIwMTEtMDUtMjcgMTA6MTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBBZGQgdGhlIHByb2ZpbGUgYW5kIGxldmVsIHRvIHRoZSBjYXBzCgkgIEFsc28gbmVnb3RpYXRlIHRoZSBwcm9maWxlIGZyb20gdGhlIGRvd25zdHJlYW0gcGVlciBjYXBzCgkgIGluc3RlYWQgb2YgdXNpbmcgYSBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM2NTA1OTQuCgoyMDExLTA1LTI3IDA5OjQwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgdGhlIHByb3BlcnR5IGVudW1zCgoyMDExLTA1LTI2IDA5OjU5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVnc3B5OiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMS0wMS0xNCAxNzo0Mjo1MCArMDEwMCAgR3VpbGxhdW1lIEVtb250IDxnZW1vbnRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5Lmg6CgkgIGRlYnVnc3B5OiBhZGQgbmV3IGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGFsbG93cyB5b3UgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IGJ1ZmZlcnMgd2l0aCBidXMgbWVzc2FnZXMuIEl0CgkgIHByb3ZpZGVzIHRoZSBzYW1lIGtpbmQgb2YgaW5mb3JtYXRpb24gYXMgaWRlbnRpdHkgZG9lcyB0aHJvdWdoIGEgbm90aWZ5IHNpZ25hbAoJICBvbiBhIHN0cmluZyBwcm9wZXJ0eSwgYnV0IGluIGEgbW9yZSBwcm9ncmFtbWVyLWZyaWVuZGx5IHdheS4KCjIwMTEtMDUtMjYgMDk6NDY6NTggKzAyMDAgIEdhYnJpZWwgU3RyaW10dSA8Z2FicmllbHN0cmltdHVAeWFob28uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRml4IHBhcnNpbmcgb2YgUFNJIHRhYmxlIElEcwoJICBGaXhlcyBidWcgIzYzNTkxNy4KCjIwMTEtMDUtMjYgMDk6MjI6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0c3JjOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoJICBCYXNlZCBvbiB0aGUgTEFURU5DWSBxdWVyeSBjb2RlIGluIHY0bDJzcmMgYW5kIHRoZSBwYXRjaAoJICBieSBUcmlzdGFuIE1hdHRoZXdzLiBGaXhlcyBidWcgIzYyNTUyMC4KCjIwMTEtMDUtMjUgMjM6MTQ6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IG1vcmUgc3lzIGVsZW1lbnRzIGZyb20gdGhlIHN0YXRlIHRlc3RzCgkgIEFsc28gd3JhcCB0aGUgbGlzdCBvZiBibGFja2xpc3RlZCBlbGVtZW50cyBhbmQgdHJpbSBzb21lIHdoaXRlc3BhY2UuCgoyMDExLTA1LTI1IDIzOjEzOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGVuc3VyZSB1bmlxZSBwcm9wZXJ0eSBuYW1lcwoJICBDb3B5IGFuZCBhZGp1c3QgdGhlIGNvZGUgZnJvbSBsYWRzcGEgcGx1Z2luIHRvIGVuc3VyZSB1bmlxdWUgZ29iamVjdCBwcm9wZXJ0eQoJICBuYW1lcy4KCjIwMTEtMDUtMjUgMjA6NTI6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0cyBmb3IgYSBudW1iZXIgb2YgdmlkZW8gcGFyc2VycwoKMjAxMS0wNS0yNSAyMDo0OTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGFkZGl0aW9uYWwgb2Zmc2V0IHRyYWNraW5nIGluIHBhcnNlciB0ZXN0IGhlbHBlcgoKMjAxMS0wNS0yNSAyMDo0ODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIHRlc3RzOiBhZGRpdGlvbmFsIHBhcmFtZXRlcml6YXRpb24gZm9yIHBhcnNlciB0ZXN0IGhlbHBlcgoJICBBbGxvdyBjb250ZXh0IGNhbGxiYWNrcyB0byBwZXJmb3JtIGN1c3RvbSBidWZmZXIgdmVyaWZpY2F0aW9uCgkgIGFuZCBjdXN0b20gZWxlbWVudCBzZXR1cC4gIEFsc28gbW92ZSBzb21lIHN0YXRpYyB0cmFja2luZyB2YXJpYWJsZXMKCSAgaW50byBoZWxwZXIgc3RydWN0IGFuZCBleHBvc2UgdGhlIGxhdHRlciBzdHJ1Y3QgZm9yIHVzZSBieSB1bml0IHRlc3QKCSAgKGNhbGxiYWNrcykuCgoyMDExLTA1LTI1IDE1OjI2OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGx1ZyBzb21lIG1vcmUgYnVmZmVyIGxlYWtzCgoyMDExLTA1LTI1IDEzOjUzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29tcGVuc2F0ZSBmb3Igc2tpcHBlZCBieXRlcyBpbiBwYXJzaW5nIHN0YXRlIG9mZnNldHMKCjIwMTEtMDUtMjUgMTM6NTM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2xlYXJpbmcgYWRhcHRlciBmb3JtaW5nIGF2YyBvdXRwdXQgZnJhbWUKCSAgLi4uIHdoaWNoIG5lZWRzIHRvIGJlIHJlc2V0IHVwb24gYSBuZXcgZnJhbWUgYW5kIG90aGVyd2lzZSAob25seSkKCSAgZm9yIGF2YyBpbnB1dCBpbiBwYXNzdGhyb3VnaCBtb2RlIChyYXRoZXIgdGhhbiBvbiBldmVyeSBjaGFpbiBjYWxsKS4KCjIwMTEtMDUtMjUgMTE6NTA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBoYW5kbGUgYWxsIHZhbGlkIHBwc19pZAoJICAuLi4gd2hpY2ggYXJlIGluIHJhbmdlIDAtMjU1LgoKMjAxMS0wNS0xNSAxMzoyMzozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsbG93IGZ1bGwgbmVnb3RpYXRpb24gZm9yIHBhY2tldGl6ZWQgaW5wdXQKCSAgLi4uIGJ5IGRlZmF1bHRpbmcgdG8gYWxsb3cgc3BsaXR0aW5nIHBhY2tldGl6ZWQgaW5wdXQgYW5kIGhhdmluZwoJICBuZWdvdGlhdGlvbiB3aXRoIGRvd25zdHJlYW0gZGVjaWRpbmcgd2hldGhlciBvciBub3QgdGhpcyBhcHBsaWVzLgoJICBBbHNvIGVuYWJsZSBwYXNzLXRocm91Z2ggcGFyc2luZyBtb2RlIGlmIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0CgkgIChzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQpIG1hdGNoLgoJICBBUEk6IEdzdEgyNjRQYXJzZTpzcGxpdC1wYWNrZXRpemVkIChyZW1vdmVkKQoJICBGaXhlcyAjNjUwMjI4LgoKMjAxMS0wNS0yNCAyMTo1MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGFsc28gZXh0cmFjdCB3aWR0aCBhbmQgaGVpZ2h0IGludG8gY2FwcwoKMjAxMS0wNC0yMSAyMjo0Mjo0NSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB1bml0IHRlc3QgZm9yIEFQUDEvZXhpZiAmIGNvbW1lbnQgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NDc4CgoyMDExLTA1LTI1IDE0OjQyOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgbXBlZzJlbmM6IGZpeCBidWlsZCB3aXRoIDEuOS4wIHJlbGVhc2UgYWdhaW4gYWZ0ZXIgcmVjZW50IGZpeGVzIGZvciBtanBlZ3Rvb2xzIDIuMC4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NzAKCjIwMTEtMDUtMjUgMTU6MTA6MTkgKzAyMDAgIEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BvcGVuZHJlYW1ib3gub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcG9pbnRlciBvdXRwdXQgaW4gc3RyZWFtLW5vdC1hc3NvY2lhdGVkIGRlYnVnIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDUwCgoyMDExLTA1LTI0IDE1OjQyOjQ0ICswMjAwICBHw7Z0eiBXYXNjaGsgPHdhc2Noa0BtYW5kcml2YS5vcmc+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICBtcGVnMmVuYzogc3VwcG9ydCBtanBlZ3Rvb2xzIDIuMAoJICBUaGlzIGFkZHMgY29uZGl0aW9uYWwgaW5jbHVkZXMgZm9yIHRoZSByZW5hbWVkIGhlYWRlcnMgaW4gbWpwZWd0b29scyAyLjAuCgkgIEZpeGVzOiAjNjUwOTcwLgoKMjAxMS0wNS0yMyAxNzoyOTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgIHh2aWRkZWM6IEFkZCB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM2MDk2MzkuCgoyMDExLTA1LTIwIDE3OjA2OjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgaW1hZ2UtZm9ybWF0dGVyIHByb3BlcnR5CgkgIEFkZCBpbWFnZS1mb3JtYXR0ZXIgcHJvcGVydHkgaW4gb3JkZXIgdG8gbGV0IGFwcGxpY2F0aW9uIGNvbmZpZ3VyZQoJICB0aGUgZm9ybWF0dGVyIGVsZW1lbnQgZm9yIG1ldGFkYXRhLgoKMjAxMS0wNS0yMyAxMzo1NDozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhZGRpdGlvbmFsIGRlYnVnIHRyYWNpbmcKCjIwMTEtMDUtMjMgMTI6MDY6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBuZXcgbXBlZ3ZpZGVvcGFyc2UKCjIwMTEtMDUtMjMgMTI6MDI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiByZW5hbWUgdG8gbGVnYWN5bXBlZ3ZpZGVvcGFyc2UKCjIwMTEtMDUtMTggMDk6NDc6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBzdGFsZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA1LTE3IDIyOjQyOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjQyOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjM5OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjE4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYXZvaWQgc3RhbGUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNS0xMiAxMjowNzozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmg6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCjIwMTEtMDUtMjMgMTU6MDM6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgLWNvcmUvLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4zNC4xCgkgIC4uLiBzaW5jZSBsYXRlc3QgYmFzZXBhcnNlIEFQSSBpcyByZXF1aXJlZCBmb3IgdmlkZW9wYXJzZXJzLgoKMjAxMS0wNS0yMyAxNDo0MToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGdyYWNlZnVsbHkgaGFuZGxlIHRydW5jYXRlZCBpbnB1dCBOQUwgdW5pdHMKCSAgUmF0aGVyIHRoYW4gYXNzZXJ0J2luZyBpbiBzdWNoIGNhc2UsIGVtaXQgd2FybmluZyBpZiB0aGUgbGVuZ3RoIG9mIGEgTkFMIHVuaXQKCSAgaXMgbGVzcyB0aGFuIGV4cGVjdGVkIDIgYW5kIGRpc2NhcmQgaXQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCSAgRml4ZXMgIzY1MDQxNi4KCjIwMTEtMDUtMjMgMTY6NDc6MzEgKzAyMDAgIFZpbmNlbnQgR8OpbmlldXggPHZnZW5pZXV4QGZyZWUuZnI+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IEFkZCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgR3N0UG9sbCBpbnN0ZWFkIG9mIHBvbGwKCSAgVGhpcyBhbGxvd3MgdG8gdXNlIG11Y2ggaGlnaGVyIHRpbWVvdXQgdmFsdWVzIGJlY2F1c2UgR3N0UG9sbAoJICBpcyBpbnRlcnJ1cHRpYmxlIGFuZCBrZWVwcyB0aGUgbnVtYmVyIG9mIHdha2V1cHMgZHVyaW5nIHNpZ25hbAoJICBsb3NzIGxvd2VyLgoJICBGaXhlcyBidWcgIzYwODE3MS4KCjIwMTEtMDUtMjMgMTQ6NTg6MDggKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IGJ1aWxkIG9mIG9wZW5hbCBwbHVnaW4gZnJvbSBkaXN0ZWQgdGFyYmFsbAoKMjAxMS0wNS0yMyAxNTozMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICB0ZWxldGV4dGRlYzogTWlub3IgY2xlYW51cCBhbmQgaW5kZW50aW9uIGZpeGVzCgoyMDExLTA1LTIzIDE1OjIwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTEtMDUtMjMgMTU6MTQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBGaXggYnVmZmVyIGRhdGEgbGVhawoKMjAxMC0wOS0xMCAxNDozNDo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJICB0ZWxldGV4dGRlYzogQWRkIHN1cHBvcnQgZm9yIHBhbmdvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTI6NDQ6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSAgdGVsZXRleHRkZWM6IGFkZCBhIG5ldyBtZXRob2QgdG8gY29udmVydCBhIHBhZ2UgaW4gYSBsaXN0IG9mIHN0cmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wOS0wOSAxNjo0MTozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBhZGQgc29tZSBkYXRhIGluIHRoZSBwcmVyb2xsIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEzOjU1OjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGZpeCBkZWFkbG9jayBvbiBhIHN0cmVhbSBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEyOjQyOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGRvbid0IHRyeSB0byBwdXNoIGFuIGV2ZW50IG9uIGEgcGFkIHRoYXQgcmV0dXJuZWQgYW4gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wOS0xMyAxMTo1OToxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSAgdGVsZXRleHRkZWM6IE5ldyB0ZWxldGV4dCBkZWNvZGVyIHBsdWdpbiBiYXNlZCBpbiB6dmJpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTEtMDUtMjMgMTQ6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSAgb3BlbmFsOiBBZGQgbmV3IG9wZW5hbHNyYyBlbGVtZW50CgkgIEJhc2VkIG9uIHBhdGNoZXMgYnkgVmljdG9yIExpbiA8Ym9ybnN0dWJAZ21haWwuY29tPgoJICBGaXhlcyBidWcgIzU1MDIzMC4KCjIwMTEtMDUtMjMgMTM6NDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSAgb3BlbmFsOiBBZGQgbmV3IE9wZW5BTCBzaW5rIGVsZW1lbnQKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBDaHJpcyBSb2JpbnNvbiA8Y2hyaXMua2NhdEBnbWFpbC5jb20+CgkgIEZpeGVzIGJ1ZyAjNjE1NjE1LgoKMjAxMS0wNS0yMCAxNToyNTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERvIG5vdCBzZWdmYXVsdCBvbiBudWxsIGxvY2F0aW9ucwoJICBQcmV2ZW50IGNhcHR1cmUgZnJvbSBzdGFydGluZyB3aGVuIHNhdmluZyBsb2NhdGlvbiBpcyBzZXQgdG8KCSAgTlVMTAoKMjAxMS0wNS0yMCAxMzowNDo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSAgY2FtYXBwbGljYXRpb25pbmZvOiBmaXggcG9zc2libGUgYXJyYXkgb3ZlcnJ1bgoKMjAxMS0wNS0yMCAwOTo1ODo1MCArMDIwMCAgUmFmYWVsIERpbml6IDxyYWZhZWxAcmlzZXVwLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnW3B0XXNkZW11eDogQWRkIHN1cHBvcnQgZm9yIEFBQyBMQVRNL0xPQVMgc3RyZWFtcwoJICBGaXhlcyBidWcgIzYxNTY4MS4KCjIwMTEtMDUtMTkgMDg6MDU6MTQgKzAyMDAgIFcuIE1pY2hhZWwgUGV0dWxsbyA8bWlrZUBmbHluLm9yZz4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJICBhcGV4c2luazogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpb24gMiBBaXJUdW5lcyBoYXJkd2FyZQoJICBGaXhlcyBidWcgIzY0OTkzMS4KCjIwMTEtMDUtMjAgMDA6MzU6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGZpeCB0aGUgeyB9IHNjb3BlCgoyMDExLTA1LTIwIDAwOjIwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGRvbid0IGxlYWsgZmQgb24gZXJyb3IKCjIwMTEtMDUtMjAgMDA6MTY6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IGRvbid0IGxlYWsgcGFzc3dvcmQgb24gZXJyb3IKCjIwMTEtMDUtMTkgMjM6NTc6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnRlZCBvdXQgcGFydAoJICBXZSBkb24ndCBoYXZlIHRoaXMgaW4gdGhlIG90aGVyIG1vZHVsZXMgYW5kIGl0cyBub3QgbmVlZGVkLgoKMjAxMS0wNS0xOSAyMzo1MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEKCSAgTm93IG1vcmUgZmlsZXMgYXJlIG1lcmdlZCBhbmQgcHJvZHVjZWQgaW4gYSBjYW5vbmljYWwgZmFzaGlvbiwgd2hpY2ggaG9wZWZ1bGx5CgkgIGNyZWF0ZXMgbGVzcyBvciBubyBkZWx0YSBpbiB0aGUgZnV0dXJlLgoKMjAxMS0wNS0xOSAyMjo1ODoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5ZTViYmQ1IHRvIDY5Yjk4MWYKCjIwMTEtMDUtMTkgMTQ6NTg6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgdmlkZW8tZGV2aWNlIGFyZ3VtZW50CgkgIEFkZHMgYW4gYXJndW1lbnQgdG8gc2VsZWN0IHdoaWNoIHZpZGVvIGRldmljZSBzaG91bGQgYmUgdXNlZAoJICBvbiB0aGUgdmlkZW8gc291cmNlIGVsZW1lbnQgaW4gY2FtZXJhYmluMgoKMjAxMS0wNS0xOSAxNDo1MjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEZpeCB0eXBvIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIFRoZSBwcm9wZXJ0eSBpcyBhdWRpby1zcmMgYW5kIG5vdCBhdWRpby1zb3VyY2UKCjIwMTEtMDUtMTkgMTQ6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgYXVkaW8tc291cmNlIHBhcmFtZXRlciB0byBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgYW4gb3B0aW9uIHRvIHNlbGVjdCB0aGUgYXVkaW8gc291cmNlIHRvIGJlIHVzZWQgb24gdmlkZW8KCSAgcmVjb3JkaW5ncyBvbiBjYW1lcmFiaW4yIHRlc3QgYXBwbGljYXRpb24KCjIwMTEtMDUtMTkgMTQ6MjM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtaXNzaW5nIFsKCSAgQWRkcyBtaXNzaW5nIFsgdG8gY29uZmlndXJlIG9uIHRoZSBDREFVRElPIHBrZyBjb25maWcgY2hlY2sKCjIwMTEtMDUtMTkgMTg6NDU6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqYXNwZXJlbmM6IHJlbW92ZSB1bnVzZWQgJ21pbWV0eXBlJyB2YXJpYWJsZQoJICBBcyBtaW1ldHlwZSBpcyBub3QgdXNlZCwgd2UgZG9uJ3QgbmVlZCB0byBmZXRjaCBpdCBhbmQgdGhlcmVmb3JlIG5laXRoZXIgbmVlZAoJICB0aGUgc3RydWN0dXJlIHMuCgoyMDExLTA1LTE5IDE1OjI2OjM4ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gZml0IHdpdGggbGF0ZXN0IHVwc3RyZWFtIHNwZWMgZmlsZXMKCjIwMTEtMDUtMTggMTU6NDQ6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSBnY2MgNC42IGhhcHB5CgkgIFJlbW92ZSB3YXJuaW5ncyBkdWUgdG8gaW5pdGlhbGl6ZWQgYnV0IG5ldmVyIHVzZWQgd2FybmluZ3MKCjIwMTEtMDUtMTggMTM6MzU6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBtYXggcHBzIGlzIDI1NQoJICBGaXhlcyAjNjUwNDg0LgoKMjAxMS0wNS0xMiAyMjo1NDo0NCArMDMwMCAgQnJpYW4gR2l0b25nYSBNYXJldGUgPG1hcmV0ZUB0b3Nobml4LmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQ2hhbmdlIGNvdW50ZXJzIHRvIDY0IGJpdCB1bnNpZ25lZCBpbnRlZ2Vycy4KCjIwMTEtMDUtMTAgMTY6MTQ6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN3aXRjaCBsaWJjZGF1ZGlvIHRvIHBrZy1jb25maWcKCjIwMTEtMDQtMjQgMTk6MTE6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiB1c2UgZ3N0IGRlYnVnIGZvciB0c211eCBsaWJyYXJ5CgoyMDExLTA0LTE5IDE1OjA0OjA1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogYXZjc3JjIGlzIGFsd2F5cyBlbmFibGVkCgoyMDExLTA0LTE5IDE1OjAxOjE1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogSW5jbHVkZSAyMDAgYnVzIGN5Y2xlcyBpbiBlYWNoIGJ1ZmZlciAoYWJvdXQgMzAwIFRTIHBhY2tldHMpCgoyMDExLTA0LTE5IDE1OjAwOjUzIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogRW1pdCBhIHNpbmdsZSBidWZmZXIgcGVyIGNhbGxiYWNrCgoyMDExLTA0LTE5IDEzOjUzOjU0IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogVHJhY2sgdGhlIG51bWJlciBvZiBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgcGFja2V0cwoKMjAxMS0wNC0xOSAxMzo1MzoyMyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IER1bXAgdGltZXN0YW1wIGluZm9ybWF0aW9uCgoyMDExLTA0LTE4IDE1OjM3OjU3IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogU2F2ZSBBVkMgb2JqZWN0cyBpbiB0aGUgR3N0QVZDU3JjIG9iamVjdAoJICBhbmQgc3RvcCB0aGVtIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHN0b3BwZWQKCjIwMTEtMDQtMTggMTU6MTY6MDAgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBDeWNsZSBhbmQgcGFja2V0IGFyZSB1bnNpZ25lZAoKMjAxMS0wNC0xOCAxNToxNToyOCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IGF2Y3NyYyBpcyBhIGxpdmUgc291cmNlCgoyMDExLTA0LTE4IDE1OjE0OjU1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJICBhdmM6IExvb2sgaW4gQVZDVmlkZW9TZXJ2aWNlcyBmb3IgaGVhZGVycwoKMjAxMS0wNC0xOCAxMjoyODo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGF2YzogYXR0ZW1wdCBuZXcgY29uZmlndXJlCgoyMDExLTA0LTE2IDE5OjQyOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL2dzdGF2Y3BsdWdpbi5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBBZGQgQVZDIFZpZGVvIFNlcnZpY2VzIHBsdWdpbiBmb3IgT1MvWAoKMjAxMS0wNS0xOCAxNjoxMDo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDM1MDczIHRvIDllNWJiZDUKCjIwMTEtMDUtMTggMTM6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBOYW1lIG1heC9taW4gcXVhbnRpemVyIHByb3BlcnRpZXMge21heCxtaW59LXF1YW50aXplcgoJICBBbHNvIGltcHJvdmUgcXVhbGl0eSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMTEtMDUtMTggMTM6MjY6MjMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IGEgbWF4aW11bSBhbmQgbWluaW11bSBxdWFudGl6ZXIKCSAgRml4ZXMgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEzOjE4OjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBxdWFsaXR5IHRvIChjb25zdGFudCkgcXVhbnRpemVyIG1hcHBpbmcKCSAgVGhpcyBub3cgYWxsb3dzIHRvIHNlbGVjdCBhbGwgcG9zc2libGUgcXVhbnRpemVycyBiZXR3ZWVuCgkgIDAgYW5kIDYzLgoJICBTZWUgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEyOjI0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2ZGZjZWEgdG8gZmQzNTA3MwoKMjAxMS0wNC0yOCAxNTo1OTozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjcgMTY6NTY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJICBlbGVtZW50LXRlbXBsYXRlczogaW1wcm92ZSB0aGUgYXVkaW9maWx0ZXIgdGVtcGxhdGUKCSAgQWRkIGNvbW1lbnRzLiBBZGQgc3RhcnQvc3RvcCBtZXRob2RzLiBBZGQgKGNvbW1lbnRlZCkgaW5zdGFuY2UgY2FzdHMgYXQgdGhlCgkgIGJlZ2luIG9mIHRoZSBtZXRob2QuIE1ha2UgdHJhbnNmb3JtX2lwIHJldHVybmluZyBGTE9XX09LIGJ5IGRlZmF1bHQuCgoyMDExLTA0LTI3IDE2OjUxOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBwbHVnaW5faW5pdCgpCgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9lbGVtZW50X3JlZ2lzdGVyKCkuIFVzZSB0aGUgVFlQRSBtYWNybyBpbnN0ZWFkIG9mIHRoZQoJICBfZ2V0X3R5cGUoKSBmdW5jdGlvbi4KCjIwMTEtMDUtMTIgMTE6NTc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggc29tZSBidWZmZXIgbGVha3MKCSAgRml4ZXMgIzY1MDMyMy4KCjIwMTEtMDUtMTIgMTE6NTY6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXh1cCBib2lsZXJwbGF0ZSBhbmQgZGVidWcgY29kZSBzdHlsZQoKMjAxMS0wNS0xMyAxNzoxODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSBvYnNvbGV0ZSBpbWFnZWNhcHR1cmViaW4KCSAgaW1hZ2VjYXB0dXJlYmluIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGVuY29kZWJpbiwgbm8gbmVlZAoJICBmb3IgaXQgYW55bW9yZQoKMjAxMS0wNS0xMyAxNjoyNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBqcGVnIGFzIGEgY29udGFpbmVyIHRvIGZvcmNlIGppZm11eCB1c2FnZQoJICBKaWZtdXggc2hvdWxkIGJlIHVzZWQgYXMgaXQgY2FuIGRvIHhtcC9leGlmIHRhZ2dpbmcsIHNvIHRoaXMgcGF0Y2gKCSAgc2V0cyBqcGVnIGFzIGEgY29udGFpbmVyIHRvIGZvcmNlIGl0IHRvIGJlIHVzZWQgdG9nZXRoZXIgd2l0aAoJICBhIGpwZWcgZW5jb2RlcgoKMjAxMS0wNS0xMiAxMToxNzoyOCArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG8gcHJvcGVyIEVPUyBoYW5kbGluZyBvbiBzZW5kX2V2ZW50KGVvcykKCSAgV2UgZmlyc3QgbGV0IHRoZSBpbm5lciBjYW1lcmEgRU9TLiBUaGVuIHdlIG1hbnVhbGx5IHBvc3QgRU9TIG9uIHRoZSBpbWFnZSBhbmQKCSAgdmlkZW8gc2lua3MgaWYgdGhvc2UgYXJlIDw9IFJFQURZIGFuZCBzbyBoYXZlIGlnbm9yZWQgRU9TIGV2ZW50cy4KCjIwMTEtMDQtMjggMTU6MTE6MzYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGVuY29kZWJpbiB0byBlbmNvZGUgaW1hZ2VzCgoyMDExLTA1LTEzIDE1OjE2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSAgamlmbXV4OiBCdW1wIHJhbmsgdG8gc2Vjb25kYXJ5CgkgIGppZm11eCBpcyBiZWluZyB1c2VkIGZvciBxdWl0ZSBzb21lIHRpbWUgYW5kIGhhcyBubyBvcGVuIGJ1Z3MKCSAgY3VycmVudGx5LCBzbyB3ZSBjYW4gZ2l2ZSBpdCBhIHNlY29uZGFyeSByYW5rIGF0IGxlYXN0LgoJICBGaXhlcyAjNjQ5MzkxCgoyMDExLTA1LTEzIDE1OjE1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IENoYW5nZSBjbGFzcyB0byBmb3JtYXR0ZXIKCSAgamlmbXV4IGlzIGEgZm9ybWF0dGVyIGFuZCBub3QgYSBtdXhlcgoJICBGaXhlcyAjNjQ5MzkxCgoyMDExLTA1LTEzIDA5OjExOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogRml4IEdPcHRpb25FbnRyeSBhcnJheQoJICBVc2Ugbm8gZmxhZ3MgaW5zdGVhZCBvZiBwYXNzaW5nIEdfT1BUSU9OX0FSR19PUFRJT05BTCB0byBvcHRpb25zIHRoYXQKCSAgbXVzdCBoYXZlIGFuIGFyZ3VtZW50CgoyMDExLTA1LTEyIDExOjM5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBidWlsZCBmaXhlcwoJICBBZGQgc29tZSBtaXNzaW5nIGRlcGVuZGVuY2llcwoKMjAxMS0wNS0xMSAxODozNTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoYW5naW5nIGhvdyBzb21lIHByb3BlcnRpZXMgd29yawoJICBTb21lIHByb3BlcnRpZXMgKGxpa2Ugdmlld2ZpbmRlci1maWx0ZXIpIG9ubHkgYXJlIHRha2VuIGludG8gdXNlCgkgIG9uIE5VTEwtPlJFQURZIHRyYW5zaXRpb25zIGFuZCB0aGUgZ2V0L3NldCBwcm9wZXJ0eSB3YXMgcmV0dXJuaW5nCgkgIHRoZSBjdXJyZW50bHkgaW4gdXNlIHZhbHVlLCBpbnN0ZWFkIG9mIHRoZSBsYXN0IHNldC4KCSAgVGhpcyBpcyBiYWQsIGFzIGFmdGVyIHNldHRpbmcgJ2EnIHRvICd4JywgeW91IGV4cGVjdCB0aGF0IGdldHRpbmcgJ2EnCgkgIHdpbGwgcmV0dXJuICd4Jy4gVGhpcyBwYXRjaCBmaXhlcyBpdC4KCSAgSWYgbmVlZGVkLCBsYXRlciB3ZSBjb3VsZCBhZGQgY3VycmVudC0qIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhZG9ubHkKCSAgYW5kIGdldCB0aGUgY3VycmVudCB2YWx1ZSBpbiB1c2UuCgoyMDExLTA0LTI5IDA4OjU0OjU2IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGluZyBQT1JUSU5HIGZpbGUKCjIwMTEtMDQtMjggMTY6MDU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgbWlzc2luZyBwbHVnaW4gZXJyb3IgbWVzc2FnZXMKCSAgV2hlbmV2ZXIgYSByZXF1aXJlZCBwbHVnaW4gaXMgbWlzc2luZywgY2FtZXJhYmluMiBzaG91bGQgcG9zdAoJICBhIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2UgdG8gdGhlIGJ1cwoKMjAxMS0wNC0yOCAxNDozNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGVuY29kZWJpbiBtaWdodCBub3QgaGF2ZSB0aGUgcmVxdWVzdGVkIHBhZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZW5jb2RlYmluIGRvZXNuJ3QgaGF2ZSB0aGUgcGFkCgkgIGNhbWVyYWJpbjIgaXMgcmVxdWVzdGluZywgZWl0aGVyIGJlY2F1c2Ugb2YgaXRzIGN1cnJlbnQgcHJvZmlsZQoJICBvciBiZWNhdXNlIG9mIG1pc3NpbmcgZWxlbWVudHMsIG1ha2luZyBpdCBmYWlsIHRvIHByb3ZpZGUKCSAgdGhlIHBhZAoKMjAxMS0wNC0yNyAxNToxMjoxOCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBBZGQgbW9yZSBhcmd1bWVudHMKCSAgQWRkIGNvbW1hbmQtbGluZSBvcHRpb25zIGZvciBzZXR0aW5nIGltYWdlLWNhcHR1cmUsIHZpZXdmaW5kZXIKCSAgYW5kIHZpZGVvLWNhcHR1cmUgY2FwcyBhcyBzdHJpbmdzLgoJICBUaGUgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzIGFyZSBub3cgdXNlZCBvbmx5IGlmIHRoZXNlIG5ldyBjYXBzCgkgIHByb3BlcnRpZXMgYXJlbid0IHNldC4KCjIwMTEtMDQtMjYgMTU6MjE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjogRml4IHRhZ3MgbWVyZ2luZyBtb2RlCgkgIFVzZSBtZXJnZSByZXBsYWNlIG1vZGUgdG8gYWxsb3cgbmV3IHRhZ3MgdG8gb3ZlcnJpZGUgb2xkIG9uZXMKCSAgYW5kIGZpeCB0aGUgdXNlIGNhc2Ugd2hlcmUgdGhlIGxhc3Qgc2VudCB0YWdzIHNob3VsZCBiZSBzZXJpYWxpemVkCgkgIHRvIHRoZSBjYXB0dXJlZCBpbWFnZXMuCgoyMDExLTA0LTI2IDE0OjUzOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHRhZyBoYW5kbGluZyBmb3IgdmlkZW9zCgkgIEluIHZpZGVvIG1vZGUgdGhlIHRhZ3Mgc2hvdWxkIGJlIHB1c2hlZCBhZnRlciBzZW5kaW5nIHRoZSBzdGFydCBjYXB0dXJlCgkgIHRvIHRoZSBzb3VyY2UsIHRoaXMgYWxsb3dzIHRoZSB2aWRlbyByZWNvcmRpbmcgZWxlbWVudHMgdG8gYmUgcmVzZXQKCSAgYW5kIGxlYXZlIHRoZSBmbHVzaGluZyBzdGF0ZSB0aGV5IHdlcmUgYXQgYWZ0ZXIgYSBwcmV2aW91cyBjYXB0dXJlLgoJICBUaGlzIGZpeGVzIHRoZSBwcm9ibGVtIHdoZXJlIHRhZ3Mgb25seSB3b3JrIGZvciB0aGUgZmlyc3QgdmlkZW8gY2FwdHVyZQoKMjAxMS0wNC0yNiAxNDo1MDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKCjIwMTEtMDQtMjYgMTQ6NDk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IHRhZ3Mgc2V0dGluZyB0ZXN0cwoJICBGaXhlcyB0aGUgdGFncyBzZXR0aW5nIHRlc3RzIHRvIHJldmVhbCBhIGJ1ZyBpbiBjYW1lcmFiaW4yCgkgIHRhZyBzZXR0aW5nIGxvZ2ljLgoKMjAxMS0wNC0yNSAxNjowNDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW4yLXNyYy50eHQ6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBjYW1lcmEgc291cmNlIGRvY3VtZW50YXRpb24gZmlsZQoJICBBZGRzIGEgc21hbGwgdGV4dCBmaWxlIHdpdGggYSBicmllZiBkZXNjcmlwdGlvbiBvZgoJICB3aGF0IGlzIGV4cGVjdGVkIGZyb20gYSBjYW1lcmFiaW4yIHNvdXJjZSBlbGVtZW50CgoyMDExLTA0LTExIDE1OjMzOjIwIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBIYW5kbGUgZXJyb3JzIGZyb20gcHJldmlldyBwaXBlbGluZQoJICBJbXBsZW1lbnRzIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBwcmV2aWV3IHBpcGVsaW5lIGJ1cy4KCSAgSWYgR1NUX01FU1NBR0VfRVJST1IgaXMgc2VlbiwgY29uc2lkZXJzIHByZXZpZXcgcGlwZWxpbmUgdW5hYmxlCgkgIHRvIGRvIGl0cyBqb2IgYW5kIHBvc3RzIGFuIGVycm9yIG1lc3NhZ2UgdG8gYXBwbGljYXRpb24uCgkgIFNldHMgcGlwZWxpbmUgZWxlbWVudCB0byBOVUxMIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxscyB0byBwb3N0X3ByZXZpZXcKCSAgYW5kIHNldF9jYXBzIGZ1bmN0aW9ucyBqdXN0IHJldHVybnMgd2l0aG91dCBwdXNoaW5nIGFueXRoaW5nIHRvIHRoZQoJICBkaXNwb3NlZCBwcmV2aWV3IHBpcGVsaW5lLiBMZWF2ZXMgZnVydGhlciBhY3Rpb25zIHRvIHRoZSBhcHBsaWNhdGlvbi4KCjIwMTEtMDQtMDggMDk6MjI6MTEgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogUHJvdGVjdGlvbiBmb3IgcHJldmlld3BpcGVsaW5lIHdoZW4gc2V0dGluZyBuZXcgcHJldmlldyBjYXBzCgkgIEltcGxlbWVudHMgYSBzdGF0ZSBpbmRpY2F0aW5nIGZsYWcgdG8gcHJldmlldyBwaXBlbGluZSwKCSAgc28gdGhhdCBuZXcgY2FwcyBhcmUgbm90IHNldCBpZiB0aGUgcGlwZWxpbmUgaXMgcHJvY2Vzc2luZyBhCgkgIHByZXZpZXcuIFRoZSBjYXBzIGFyZSBzZXQgYXMgcGVuZGluZyBhbmQgYXBwbGllZCB3aGVuIHRoZQoJICBuZXh0IHByZXZpZXcgcG9zdCBpcyBjYWxsZWQuCgkgIEluIHRoaXMgY2FzZSBhIHdhaXQgd2FzIGltcGxlbWVudGVkIGluIHRoZSBwb3N0X3ByZXZpZXcgZnVuY3Rpb24sCgkgIHNvIHRoYXQgbmV3IHByZXZpZXcgaW1hZ2UgYnVmZmVyIHdpbGwgd2FpdCB1bnRpbCB0aGUgb3RoZXIgcHJldmlld3MKCSAgaGF2ZSBiZWVuIHBvc3RlZCB0byB0aGUgYXBwbGljYXRpb24gYW5kIHRoZSBuZXcgY2FwcyBjYW4gYmUgdXNlZAoJICBzYWZlbHkuCgoyMDExLTAzLTI5IDEzOjQ2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogRml4IGNvbXBpbGUgcHJvYmxlbSB3aXRoIGRlYnVnIGRpc2FibGVkCgoyMDExLTAzLTIzIDE4OjQxOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogUG9zdCBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcwoJICBNYWtlcyB2aWV3ZmluZGVyYmluIHBvc3QgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMgd2hlbiBpdAoJICBjYW4ndCBjcmVhdGUgYW4gaW50ZXJuYWwgZWxlbWVudHMKCjIwMTEtMDMtMjMgMTg6NDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW4yOiBJbXByb3ZlIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2UKCSAgSW1wcm92ZXMgdGhlIG1lc3NhZ2UgdGV4dCBmb3IgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMgZnJvbQoJICBjYW1lcmFiaW4yCgoyMDExLTAzLTIzIDE3OjQ2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSBwb3J0aW5nIGZpbGUKCSAgVXBkYXRlIHBvcnRpbmcgZmlsZSB3aXRoIG1lbnRpb24gdGhhdCBzdG9wLWNhcHR1cmUgaXMgbm93CgkgIGFzeW5jLgoKMjAxMS0wNC0wOCAxNzo1ODo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEFsbG93IGdzdC1sYXVuY2ggcGlwZWxpbmVzIGZvciBzaW5rcwoJICBVc2UgZ3N0X3BhcnNlX2xhdW5jaCAoKSB0byBwYXJzZSB0aGUgc2luayBzdHJpbmdzIHRvIGFsbG93IHNwZWNpZmljYXRpb24KCSAgb2YgcHJvcGVydGllcyB0byBzaW5rcyBhbmQgb2YgbW9yZSBhZHZhbmNlZCBzaW5rIGdyYXBocy4KCjIwMTEtMDQtMDQgMTM6Mjg6MzIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IGRlYnVnIHByaW50IHRvIHNob3cgYXVkaW8vdmlkZW8gZGVwZW5kaW5nIG9uIHBhZCB0eXBlCgoyMDExLTAzLTMxIDEzOjA4OjQ4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBvcmRlciBvZiBlbGVtZW50IHN0YXRlIGNoYW5nZQoJICBUbyBjaGFuZ2UgdGhlIHN0YXRlIG9mIGVsZW1lbnRzIGluIGEgcGlwZWxpbmUsIHdlIHNob3VsZCBtaXJyb3IgdGhlCgkgIGJlaGF2aW91ciBvZiBHc3RCaW4gd2hpY2ggc3RhcnRzIGF0IHRoZSBzaW5rIGVsZW1lbnQgYW5kIHdvcmtzIGl0cyB3YXkKCSAgdXBzdHJlYW0uCgoyMDExLTA0LTAxIDIyOjEzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMzowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIHRvIHVwc3RyZWFtCgoyMDExLTA0LTAzIDIyOjM1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGhhbmRsZSBtaXNzaW5nIGZyYW1lcmF0ZSB3aGVuIGNhbGN1bGF0aW5nIHRpbWVzdGFtcAoKMjAxMS0wNC0wMyAyMjozMjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEyOjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHR1bmUgcGFyc2luZyBzaW5rIGNhcHMgaW50byB2aWRlbyBzdGF0ZQoJICAuLi4gdG8gcHJvdmlkZSBzdWJjbGFzcyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gdy5yLnQuIG9yaWdpbmFsIGNhcHMuCgoyMDExLTA0LTAxIDE4OjQ5OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHZpZGVvIHN0YXRlIHJlZmVyZW5jZSB0byBjb2RlY19kYXRhIGlzIG5vdCByZWZjb3VudGVkCgkgIC4uLiBidXQgcmF0aGVyIGltcGxpY2l0bHkgdmFsaWQgYXMgbG9uZyBhcyBzaW5rIGNhcHMgYXJlIG5vdCBtb2RpZmllZC4KCjIwMTEtMDQtMDEgMTg6MDA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaW1wcm92ZSBnbGl0Y2ggcmVzaWxpZW5jZQoJICBQcm92aWRlIGEgcmVwbGFjZW1lbnQgZm9yIEdTVF9FTEVNRU5UX0VSUk9SIHRvIGF2b2lkIGFib3J0aW5nIGF0IHRoZSBmaXJzdAoJICBhdG9tIG91dCBvZiBwbGFjZSwgd2hpbGUgb24gdGhlIG90aGVyIGhhbmQgbm90IGZhaWxpbmcgaW5kZWZpbml0ZWx5LgoKMjAxMS0wMy0zMSAxNDo0Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQKCjIwMTEtMDMtMzAgMTA6Mjg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdXNlIGJhc2V2aWRlb2NvZGVjIGRpc2NvbnQgZmllbGQKCjIwMTEtMDMtMzAgMTA6MTg6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZWFsbHkgYW5kIG9ubHkgc2V0IHNyYyBwYWQgY2FwcyB3aGVuZXZlciByZXF1ZXN0ZWQKCSAgLi4uIHNpbmNlIHN1YmNsYXNzIGlzIGV4cGVjdGVkIHRvIGJlIHdpc2UgZW5vdWdoIHRvIGtub3cgd2hlbiB0byBkbyBzby4KCjIwMTEtMDMtMzAgMDk6MTc6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIHNvbWUgc2FuaXR5IGVuZm9yY2luZwoKMjAxMS0wMy0zMCAwOToxNToxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgZG9jdW1lbnRhdGlvbgoJICAuLi4gYW5kIHJlbW92ZSBzb21lIG1vcmUgc3RyYXkgdW51c2VkIGNvZGUgYW5kIG1ldGhvZHMuCgoyMDExLTAzLTI5IDE1OjQxOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogZnVsbHkgZnJlZSB2aWRlbyBmcmFtZQoKMjAxMS0wMy0yOSAxNTo0MTowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzdHJlYW1saW5lIGRpc2NvbnQsIGZsdXNoIGFuZCByZXNldCBoYW5kbGluZwoJICAuLi4gd2hpY2ggaXMgbm90IHRvIHNheSB0aGVyZSBpcyBubyByb29tIGZvciBmdXJ0aGVyIHR3ZWFraW5nIC4uLgoKMjAxMS0wMy0yOSAxNTozOTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgc29tZSBoZWFkZXIgY29tbWVudGFyeQoKMjAxMS0wMy0yOSAxMjo1NzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgKGFsbW9zdCkgdW51c2VkIGZpZWxkcwoJICAuLi4gYW5kIGFsc28gc29tZSBtb3JlIHVudXNlZCBjb2RlLgoKMjAxMS0wMy0yOSAxMDo0MTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSBhbmQgdXNlIHNldF9mb3JtYXQKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIEFQSSBzbGlnaHRseSAoZS5nLiBhY3R1YWxseSB1c2VzIHNldF9mb3JtYXQgbm93KSwgd2hpY2ggaXMgT0sKCSAgZm9yIHVuc3RhYmxlIEFQSSwgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogb3RoZXJ3aXNlIG5vIHN1YmNsYXNzIG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgKGdsb2JhbCBhY3RpdmF0aW9uIHRpbWUpCgkgIE1vcmVvdmVyLCBzdWJjbGFzc2VzZSBhcmUgZWl0aGVyIHVuYWZmZWN0ZWQgb3IgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wNC0yOCAxMjowMjoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXh1cCB0d2VhawoKMjAxMS0wMy0yOCAxNjoxNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgYW5kIHR3ZWFrIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDMtMjggMTM6MzI6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFycmFuZ2UgZm9yIGxpbWl0ZWQgbGVnYWN5IHNlZWtpbmcgc3VwcG9ydAoJICBJbiBwYXJ0aWN1bGFyLCB0d2VhayBzcmMgcXVlcnkgYW5kIGV2ZW50IGhhbmRsaW5nIHRvIHByb3ZpZGUgZm9yCgkgIGJ5dGUgPC0+IHRpbWUgY29udmVyc2lvbi4KCjIwMTEtMDMtMjggMTE6MTU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IGNhdGVyIGZvciBmb3JtYXQgY29udmVyc2lvbgoKMjAxMS0wMy0yOCAxMDo1MToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIHZpZGVvY29kZWM6IHJlbW92ZSB1bnVzZWQgZmllbGRzIGFuZCBjb2RlCgoyMDExLTAzLTI4IDA5OjE0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeCBjb3B5LWFuZC1wYXN0ZSB2YXJpYWJsZSBtaXNub21lcgoKMjAxMS0wMy0yOCAwODo1OToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzdWJzdW1lIHNraXBfZnJhbWUgaW50byBmaW5pc2hfZnJhbWUKCjIwMTEtMDMtMjggMDg6NTY6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTAzLTI3IDIyOjI3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGNvZGUgY2xlYW51cCBhbmQgZGVidWcgc3R5bGUgZml4ZXMKCjIwMTEtMDMtMjcgMTY6MzY6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHBhc3MgYWxvbmcgYnVmZmVyIGRpc2NvbnQgZmxhZwoKMjAxMS0wMy0yNSAxNToyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAxMS0wMy0yNSAwOToyODoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBhZGQgZG9jdW1lbnRhdGlvbiBhbmQgcmVsYXRlZCBjb3NtZXRpY3MKCjIwMTEtMDMtMjQgMTQ6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBwcm92aWRlIHByb3BlciB1cHN0cmVhbSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxMS0wMy0yNCAxMzo1OTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IG1pbm9yIG9wdGltaXphdGlvbiBpbiBzZXR0aW5nIHVwIGltYWdlIGJ1ZmZlcgoKMjAxMS0wMy0yNCAxMjo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHJlZmFjdG9yIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTEtMDMtMjQgMTE6NTU6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBkbyBpbml0IGF0IHNldF9mb3JtYXQgdGltZQoKMjAxMS0wMy0yNCAxMDoxNTo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGZpeCBrZXlmcmFtZSBmb3JjaW5nCgoyMDExLTAzLTI0IDA4OjIzOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVuaGFuY2Ugc2V0X2NhcHMKCSAgU3BlY2lmaWNhbGx5LCBvbmx5IGludm9rZSBzZXRfZm9ybWF0IGlmIGluY29taW5nIGZvcm1hdCByZWFsbHkgY2hhbmdlZCwKCSAgYW5kIGZpbmlzaCBjdXJyZW50IGZvcm1hdCBpZiBzbyAoYW5kIGlmIGFueSBjdXJyZW50KS4KCjIwMTEtMDMtMjMgMjI6MTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZWxhYm9yYXRlIGZpbmlzaCB0byBkcmFpbmluZwoKMjAxMS0wMy0yNCAwOToyMTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIG9yZGVyIHcuci50LiBzZXRfZm9ybWF0LCB3aGljaCBpcyBPSyBmb3IgdW5zdGFibGUgQVBJLAoJICBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBsaXR0bGUgYmVuZWZpdCBpbiBpbnZva2luZyAyIHN1YmNsYXNzIHZpcnR1YWwgbWV0aG9kcyAoc2V0X2Zvcm1hdCBhbmQgc3RhcnQpCgkgIGluIGltbWVkaWF0ZSBzdWNjZXNzaW9uOyBhbGwgYWN0aW9ucyBpbiB0aGUgc2Vjb25kIGNvdWxkIGJlIGRvbmUgaW4gdGhlIGZpcnN0CgkgIHdoZXJlYXMgc3ViY2xhc3MgaGFzIG5vIGNoYW5jZSB0byBkbyBhbnl0aGluZyAnZ2xvYmFsJyBhdCBhY3RpdmF0aW9uIHRpbWUKCSAgTW9yZW92ZXIsIGN1cnJlbnQgLWJhZCBzdWJjbGFzcyByZWxldmFudCBtZXRob2RzIGVpdGhlciB0cml2aWFsbHkgY29tbXV0ZQoJICBvciBhcmUgZWl0aGVyIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDMtMjQgMDg6MjE6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZW5hYmxlIGNsaXBwaW5nIGJ5IGRlZmF1bHQKCjIwMTEtMDMtMjQgMDg6MTc6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcmVzZXQgbW9yZSBzdGF0ZQoKMjAxMS0wMy0yNCAwODo1NjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBoZWFkZXIgY29zbWV0aWMgYW5kIGRvYyBmaXhlcwoKMjAxMS0wMy0yMyAwOTo0NToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHJlZHVuZGFudCBjYXBzIGZpZWxkCgkgIC4uLiBhcyBpdCBpcyBhbHJlYWR5IGF0IGhhbmQgYXMgdGhlIHNyYyBwYWQncyBuZWdvdGlhdGVkIGNhcHMuCgoyMDExLTAzLTIzIDA5OjMyOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wMy0yMyAwODo1MDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IHVzZSBiYXNlY2xhc3MgZXZlbnQgdmlydHVhbCBoYW5kbGVyCgoyMDExLTAzLTIzIDA4OjQ5OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGFkZCBldmVudCB2aXJ0dWFsIG1ldGhvZCB0byBhbGxvdyBzdWJjbGFzcyBldmVudCBoYW5kbGluZwoKMjAxMS0wMy0yMyAwODozNTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbXByb3ZlIEdzdEZvcmNlS2V5VW5pdCBldmVudCBoYW5kbGluZwoKMjAxMS0wMy0yMiAxMzoxOToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IGRlYnVnIHN0eWxlIGZpeGVzCgoyMDExLTAzLTIxIDE4OjAyOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSB1bnVzZWQgY29kZSBjbHV0dGVyaW5nIHVwIHRoZSBwbGFjZQoJICBBbHNvIG1pbm9yIGRlYnVnIHN0eWxlIGZpeGVzLgoKMjAxMS0wMy0yMSAxNzo0NDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBzaW1wbGlmeSBuZWdvdGlhdGVkIGNoZWNraW5nCgkgIC4uLiBieSBhdm9pZGluZyBzb21lIGV4dHJhbmVvdXMgKHVuKXJlZidpbmcuCgoyMDExLTAzLTI0IDE0OjE2OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGNvZGUgY2xlYW51cCBhbmQgc29tZSBkZWJ1ZwoJICBBbHNvIGFkZCBzb21lIG1pbm9yIGxvY2tpbmcgYW5kIHJlbW92ZSB1bnVzZWQgYml0cy4KCjIwMTEtMDUtMTYgMDk6MDc6NTcgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCB1c2UgUEFUSF9NQVgKCSAgUEFUSF9NQVggaXMgbm90IGRlZmluZWQgb24gR05VIEh1cmQgYW5kIG90aGVycy4gQWxzbyBmaXgKCSAgZm9ybWF0IHN0cmluZy4KCjIwMTEtMDUtMTQgMTQ6NDg6NTYgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJICBnc3QvZGNjcDogZml4IGJ1aWxkIG9uIG5ld2VyIG1pbmd3CgkgIEZpeCB0aGlzIGJ1aWxkIGVycm9yOgoJICBDQyAgICAgbGliZ3N0ZGNjcF9sYS1nc3RkY2NwcGx1Z2luLmxvCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6Mjk6MCwKCSAgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjQ6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6MzI6MDogd2FybmluZzogV0lOVkVSIHJlZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNDowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6NTg6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI1OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6NzQ6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI2OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6Njc6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI3OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDo1ODozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIG1ha2U6ICoqKiBbbGliZ3N0ZGNjcF9sYS1nc3RkY2NwcGx1Z2luLmxvXSBFcnJvciAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAxNzEKCjIwMTEtMDUtMTUgMTA6MDQ6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGJ1bXAgdGhlIHJhbmsgb2YgcXRraXR2aWRlb3NyYyB0byBQUklNQVJZCgoyMDExLTA1LTE1IDEwOjAwOjQ0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHM6IGZpeCBoYW5kbGluZyBvZiBzdHJvbCgpIG92ZXJmbG93cwoKMjAxMS0wNS0xNCAxMjoxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBleHQvYW1yd2JlbmMgZGlyZWN0b3J5LCBpdCdzIGV4dC92b2FtcndiZW5jIG5vdwoKMjAxMS0wNS0xMyAwMTowMzoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZWVuY29kZXI6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBhZnRlciBzdGF0ZSBjaGFuZ2UgdHJhbnNpdGlvbgoKMjAxMS0wNC0xOCAyMzo0MDozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNvbWUgbWlub3IgZG9jIGNoYW5nZXMuCgoyMDExLTA0LTI0IDIxOjA2OjI5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc29tZSBtaW5vciBkb2MgY2hhbmdlcwoKMjAxMS0wNC0xOSAxOTowOTozMCArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5kZWJldGhlbmNvdXJ0QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMTkgMTA6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJICBhYWNlbmM6IEludGVncmF0ZSBpbnRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDExLTA0LTE5IDEwOjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9Hc3RBbXJ3YkVuYy5wcnM6CgkqIGV4dC9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL1JFQURNRToKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuaDoKCSogZXh0L3ZvYW1yd2JlbmMvR3N0Vm9BbXJ3YkVuYy5wcnM6CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJICBhbXJ3YmVuYzogU3dpdGNoIHRvIHRoZSBmcmVlIHZvLWFtcndiZW5jIGxpYnJhcnkKCSAgQW5kIHJlbmFtZSBldmVyeXRoaW5nIHRvIHZvYW1yd2JlbmMgaW5zdGVhZCBvZiBhbXJ3YmVuYy4KCjIwMTEtMDQtMTUgMTE6MTk6MjAgKzAyMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IERldGVjdCBvdXRwdXQgZm9ybWF0IGZyb20gZG93bnN0cmVhbSBjYXBzIGNoYW5nZSB1bml0IHRlc3QKCjIwMTEtMDQtMTkgMDk6NTI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZvYWFlbmM6IEZpeCBDRkxBR1MvTElCUyBvZiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA0LTE5IDA5OjQ5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IE9ubHkgZ2VuZXJhdGUgc2lua2NhcHMgb25jZSBhbmQgaW4gYSB0aHJlYWRzYWZlIHdheQoKMjAxMS0wNC0xOSAwOTo0MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBOVUxMIHRlcm1pbmF0b3IgdG8gZ3N0X3N0cnVjdHVyZV9uZXcoKQoKMjAxMS0wNC0xOSAwOTo0MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTEtMDQtMTkgMDk6MzQ6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJICB2b2FhY2VuYzogRml4IENGTEFHUyBhbmQgTElCUwoKMjAxMS0wNC0xOCAxNzoxOTowMCArMDIwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBuZXcgcGx1Z2luIGZvciBhdWRpbyBBQUMgZW5jb2RlciBiYXNlZCBvbiB2by1hYWNlbmMgbGliCgkgIEFkZCBwbHVnaW4gYW5kIHVuaXQgdGVzdC4KCSAgRml4ZXMgYnVnICM2NDc3NDguCgoyMDExLTA1LTE0IDEwOjE5OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjIgPT09CgoyMDExLTA1LTEwIDExOjM1OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjIKCSAgSGlnaGxpZ2h0czoKCSAgLSBobHNkZW11eDogQWRkIEhUVFAgbGl2ZSBzdHJlYW1pbmcgcGFyc2VyL2RlbXV4ZXIgZWxlbWVudAoJICAtIG5ldyBlbGVtZW50czogaDI2M3BhcnNlLCB6ZWJyYXN0cmlwZSwgcGF0Y2hkZXRlY3QKCSAgLSBzY2VuZWNoYW5nZTogbmV3IHNjZW5lIGNoYW5nZSBkZXRlY3Rpb24gZWxlbWVudAoJICAtIHJlbW92ZWQgYXVkaW9wYXJzZXJzYmFkIHBsdWdpbiwgaXQgaGFzIGJlZW4gbW92ZWQgdG8gLWdvb2QKCSAgLSBtYWtlIG9wZW5jdiBwbHVnaW4gd29yayB3aXRoIE9wZW5DViAyLjIKCSAgLSBjb3VudGxlc3MgKHN0aWxsIGV4cGVyaW1lbnRhbCkgY2FtZXJhYmluMiBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgkgIC0gZXhwZXJpbWVudGFsIFZQOCBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIChSVFAgcGF5bG9hZGluZyBub3QgZmluYWxpc2VkIHlldCkKCSAgLSBjdXJsc2luazogYWRkIGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50IChhY3RzIGFzIGNsaWVudCwgbm90IHNlcnZlcikKCSAgLSBkZWNrbGluazogYWRkIGRlY2tsaW5rIHBsdWdpbgoJICAtIGxpbnN5czogYWRkIHBsdWdpbiBmb3IgTGluZWFyIFN5c3RlbXMgU0RJIGJvYXJkcwoJICAtIHNkaTogYWRkIHJhdyBTREkgbXV4aW5nL2RlbXV4aW5nIGVsZW1lbnRzCgkgIC0gY2FtZXJhYmluIG5vdyByZWxpZXMgb24gbXV4ZXJzIHRvIG11eCBiYXNlZCBvbiBydW5uaW5nIHRpbWUgKGllLiBsYXRlc3QgYmFzZS9nb29kL3VnbHkgcmVsZWFzZXMpCgkgIC0gbWFueSBvdGhlciBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgoyMDExLTA1LTA1IDA5OjU0OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IFVzZSBydW5uaW5nIHRpbWUgZm9yIG11eGluZwoJICBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGF1ZGlvIHNvdXJjZSBidWZmZXIgcHJvYmUgdGhhdCB3YXMgdXNlZAoJICB0byByZS10aW1lc3RhbXAgYnVmZmVycyB0byBtYWtlIHRoZW0gc3RhcnQgZnJvbSAwLiBBcyBtdXhlcnMKCSAgaGF2ZSBiZWVuIGZpeGVkIHRvIHVzZSBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiB0aW1lc3RhbXBzLCB0aGlzCgkgIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4KCSAgRml4ZXMgYnVnICM2NDYyMTEKCjIwMTEtMDQtMjEgMTk6NTg6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IEZpeCB0eXBvCgoyMDExLTA1LTA0IDEyOjM2OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogZG8gbm90IGxlYWsgcGVlciBwYWQgcmVmZXJlbmNlCgoyMDExLTA1LTAzIDE1OjQ3OjAyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogQWx3YXlzIHJldHVybiByZWZmZWQgY2FwcyBmcm9tIF9nZXRjYXBzCgkgIE5vdCByZXR1cm5pbmcgcmVmIGNhcHMgd2lsbCBsZWFkcyB0byBjcmFzaGVzIGFuZCByZWZjb3VudGluZyBpc3N1ZXMgaW4KCSAgdXBzdHJlYW0gZWxlbWVudHMKCjIwMTEtMDQtMTQgMTM6MzQ6NTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc2V0IGR1cmF0aW9uIGluIG91dGdvaW5nIGJ1ZmZlcnMKCSAgQ3VycmVudGx5IHdlIHB1c2ggZWFjaCBmcmFnbWVudCBhcyBhIHNpbmdsZSBidWZmZXIuCgoyMDExLTA1LTAzIDEyOjAxOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBEVVJBVElPTiBxdWVyeSBoYW5kbGluZwoJICBPbmx5IGFuc3dlciBkdXJhdGlvbiBxdWVyaWVzIGluIFRJTUUgZm9ybWF0IHdpdGggYSBkdXJhdGlvbgoJICBpbiBzZWNvbmRzLiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUgYXMKCSAgZHVyYXRpb24gKHdoaWNoIGlzIG5vbi0wLCBidXQgc3RpbGwgaW52YWxpZC91c2VsZXNzKS4KCjIwMTEtMDUtMDMgMTE6NTE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMTEtMDUtMDMgMDk6NTU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogVXNlIHRoZSB1c2VyIGNvbmZpZyBkaXIgaW5zdGVhZCBvZiB0aGUgY2FjaGUgZGlyIGZvciB0aGUgY2hhbm5lbHMgY29uZmlndXJhdGlvbgoKMjAxMS0wNC0yOSAxNDozNzowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IG1vdmVkIGR2Yi1jaGFubmVscy5jb25mIHRvICRYREdfQ0FDSEVfSE9NRQoKMjAxMS0wNC0zMCAxOTo0Nzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL3VrLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuNCBwcmUtcmVsZWFzZQoKMjAxMS0wNC0zMCAxOTo0Njo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJICBVcGRhdGUgb3JjLWdlbmVyYXRlZCBkaXN0ZWQgQyBiYWNrdXAgY29kZSB0byBvcmMgMC40LjE0CgoyMDExLTA0LTMwIDE5OjE1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogZG9uJ3QgcHVzaCBidWZmZXJzIHNtYWxsZXIgdGhhbiBtaW4tc2l6ZSBvbiBlb3MKCSAgV2hlbiBwdXNoaW5nIHRoZSByZW1haW5pbmcgZGF0YSBvbiBFT1MsIGRvbid0IGp1c3QgcHVzaCB3aGF0ZXZlcgoJICBkYXRhIGlzIGxlZnQgaW4gdGhlIGFkYXB0ZXIsIGJ1dCBvbmx5IHB1c2ggZGF0YSB0aGF0J3MgYXQgbGVhc3QKCSAgb2YgbWluLXNpemUuCgoyMDExLTA0LTMwIDE5OjA4OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogZG9uJ3QgbWVzcyB3aXRoIGFkYXB0ZXIgZnJvbSBub24tc3RyZWFtaW5nIHRocmVhZCBvbiBGTFVTSF9TVEFSVAoJICBEb24ndCB0cnkgdG8gcHVzaCByZW1haW5pbmcgZGF0YSBpbiB0aGUgYWRhcHRlciBvbiByZWNlaXZpbmcgYSBGTFVTSCBldmVudCwKCSAganVzdCBmbHVzaCB0aGUgYWRhcHRlci4gRG8gdGhpcyBvbiBGTFVTSF9TVE9QLCBob3dldmVyLCB3aGljaCBpcyBzZXJpYWxpemVkLAoJICB1bmxpa2UgRkxVU0hfU1RBUlQsIHNvIHdlIGRvbid0IG1lc3Mgd2l0aCB0aGUgYWRhcHRlciBhdCB0aGUgc2FtZSB0aW1lIGFzCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wNC0zMCAxMToyODowMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogYWRkIHBsdWdpbiBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDA1CgoyMDExLTA0LTI5IDEyOjM5OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGxlYWsgYnVmZmVybGlzdCBvbiBzdHJlYW1zIHdpdGhvdXQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjM4OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFVucmVmIGJ1ZmZlcnMgd2UgZG9uJ3QgdXNlLgoJICBBdm9pZHMgYSBtYXNzaXZlIGxlYWsgOikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjowODozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBmb3JnZXQgdG8gZnJlZSB0aGUgcHJvZ3JhbSBzdHJlYW1zIGFycmF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6MDg6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRnJlZSBwYWNrZXQgYnVmZmVyIGV2ZW4gaWYgaXQgZG9lc24ndCBoYXZlIGEgcGF5bG9hZAoJICBUaGlzIGNhbiBoYXBwZW4gd2l0aCBBRkMtb25seSBwYWNrZXRzLiBBdm9pZHMgbGVha2luZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI4IDEwOjA3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGVja2xpbms6IENoZWNrIGZvciBwdGhyZWFkLmggYW5kIGxpbmsgd2l0aCAtbHB0aHJlYWQKCjIwMTEtMDQtMjggMTA6MDQ6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkIHRvIFNVQkRJUlMKCjIwMTEtMDQtMjggMDA6MDA6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBwby9iZy5wbzoKCSogcG8vamEucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NsLnBvOgoJKiBwby90ci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjMgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMjcgMjM6NDM6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIHRvb2xzOiBkaXNhYmxlIG5ldyBnc3QtZWxlbWVudC1tYWtlciB0ZXN0CgkgIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLCBhbmQKCSAgYnJlYWtzIG1ha2UgZGlzdGNoZWNrIGZvciBtZS4KCjIwMTEtMDQtMjcgMDE6MTQ6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiB0aGUgYnJvZWtuIHRlbXBsYXRlcyBhcmUgbm90IGJyb2VrbiwgYnV0IGRlcGVuZGVuY2llcwoJICBSZW5hbWUgdGhlIGxpc3QgYW5kIGRpc3QgdGhlbS4gV2UgbmVlZCB0aGVtIGZvciB0aGUgYWN0dWFsIHRlbXBsYXRlcy4KCjIwMTEtMDQtMjYgMTU6MTM6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogc2V0IENQUEZMQUdTIHRvIG1ha2UgdGVtcGxhdGVzIHVzaW5nIHVuaW5zdGFsbGVkIGhlYWRlcnMgd29yawoKMjAxMS0wNC0yNiAxNDoyMToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkgIGVsZW1lbnQtbWFrZXI6IGZpeHVwIGdvYmplY3QgdGVtcGxhdGUgYSBiaXQgYnV0IGRpc2FibGUgZm9yIG5vdwoJICBUaGUgdGVtcGxhdGUgY29udGFpbnMgdGhpbmdzIHdlIGFscmVhZHkgZGVmaW5lIGJ5IGRlZmF1bHQuCgoyMDExLTA0LTI2IDE0OjEwOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGZpeCB0ZW1wbGF0ZXMKCSAgVXNlIHRoZSBvYmplY3QgY2xhc3MgYW5kIG5vdCB0aGUgb2JqZWN0IGluIHRoZSBpbml0IGZ1bmN0aW9uLiBTZXQgdGhlIHZtZXRob2RzLgoJICBBZGQgZGVmYXVsdCByZXR1cm5zLgoKMjAxMS0wNC0yNiAxNDowODo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IGRvbid0IGRpc3QgaW5jb21wbGV0ZSB0ZW1wbGF0ZXMKCSAgTW92ZSBub3Qgd29ya2luZyB0ZW1wbGF0ZXMgdG8gYSBzZXBhcmF0ZSB2YXJpYWJsZSB0byBoaWdobGlnaHQgdGhlIGZhY3QgdGhhdAoJICB0aGV5IG5lZWQgbW9yZSB3b3JrLiBUaGVzZSBuZWVkIGF0IGxlYXN0IHRoZSBjbGFzcyBhbmQgdHlwZSBmaWVsZHMgZmlsbGVkLgoKMjAxMS0wNC0yNiAxMzo0NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyLXRlc3Quc2g6CgkgIGVsZW1lbnQtbWFrZXItdGVzdDogdHJ5IHRvIHJ1biBlbGVtZW50LW1ha2VyIGZvciBhbGwgdGVtcGxhdGVzCgkgIEFkZCBhbiBlYXN5IHdheSB0byBjaGVjayB0aGUgZWxlbWVudC1tYWtlciB0ZW1wbGF0ZXMuCgoyMDExLTA0LTI2IDEzOjQyOjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogbWFrZSBpdCBmYWlsLCB3aGVuIGNvbXBpbGF0aW9uIGZhaWxzCgoyMDExLTA0LTE5IDE1OjA5OjU0IC0wNDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogYWxsb3cgdG8gcnVuIGZyb20gYSBkaWZmZXJlbnQgd29ya2luZyBkaXJlY3RvcnkKCSAgR2V0IHRoZSBkaXJuYW1lIGZvciB0aGUgc2NyaXB0IGFuZCB1c2UgdGhhdCB0byByZWZlcmVuY2UgdGhlIHRlbXBsYXRlcy4gVXNlIHRoZQoJICB0ZW1wbGF0ZWRpciB2YXJpYWJsZSB0byBjaGVjayBmb3IgdGVtcGxhdGVzLgoKMjAxMS0wNC0xNiAxOTo0Mjo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogbG93ZXJjYXNpZnkgaW5wdXQKCSAgVGhpcyBhbGxvd3MgdXNpbmcgY2FwaXRhbGl6ZWQgYWNyb255bXMgaW4gY2xhc3MgbmFtZXMsIHNvIHVzaW5nCgkgICJBVkNfc3JjIiBvbiB0aGUgY29tbWFuZCBsaW5lIHdpbGwgY3JlYXRlIGZpbGVuYW1lIGdzdGF2Y3NyYy5jLAoJICBjbGFzcyBuYW1lIEdzdEFWQ1NyYywgYW5kIHN5bWJvbCBuYW1lcyBnc3RfYXZjX3NyY18qLgoKMjAxMS0wNC0yNCAxNjo0MjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4LHRzZGVtdXg6IEFkZCBieXRlLXN0cmVhbSB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTEtMDQtMjQgMTY6MDA6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRG9uJ3QgYWxsb3cgYnVmZmVycyBhZnRlciBFT1MKCSAgRml4ZXMgIzY0Nzg1Mi4KCjIwMTEtMDQtMjQgMTU6NDk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBEb24ndCBkdXBsaWNhdGUgY29kZSBpbiBiYXNldmlkZW9jb2RlYwoJICBCb3RoIGJhc2V2aWRlb2VuY29kZXIgYW5kIGJhc2V2aWRlb2NvZGVjIHdlcmUgc2V0dGluZwoJICBzeXN0ZW1fZnJhbWVfbnVtYmVyLCBsZWFkaW5nIHRvIGNvbmZ1c2lvbi4gIEZpeGVzICM2NDc4NTMuCgoyMDExLTA0LTE0IDE2OjIxOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQ2hlY2sgaWYgY2FwcyBhcmUgc2V0IGRpcmVjdGx5CgkgIEZpeGVzICM2NDc4NTQuCgoyMDExLTA0LTE3IDAwOjA4OjM5ICswMTAwICBNaWhhaSBEcmFnaGljaW9pdSA8bWloYWkuZHJhZ2hpY2lvaXVAZ21haWwuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBmaXggaW5maW5pdGUgbG9vcGluZyBieSBmYWRpbmcgb3V0IGFmdGVyIHR3byBsb29wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzY0CgoyMDExLTA0LTI0IDE0OjA0OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzNjYWZlMSB0byA0NmRmY2VhCgoyMDExLTA0LTIyIDA5OjM3OjI5ICswMTAwICBGYWJyaXppbyBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IG1ha2Ugd29yayB3aXRoIG9wZW5DViAyLjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTc5NgoKMjAxMS0wNC0xOSAxNzowMjo0NSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDExLTA0LTE1IDIyOjI1OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogQWRkIGJ5dGUtc3RyZWFtIHRvIGgyNjQgY2FwcwoKMjAxMS0wNC0xOCAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB3YXZwYWNrOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo0NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBSZW1vdmUgdW51c2VkL3VubmVlZGVkIENGTEFHUy9MSUJTIGFuZCBtb3ZlICQoTElCTSkgdG8gTElCQURECgoyMDExLTA0LTE4IDExOjQzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIGxpbnN5czogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIGJhc2VzaW5rL2Jhc2VzcmMKCSAgQW5kIHJlbW92ZSBlbXB0eSBhbmQgdW51c2VkIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTcgMTk6MDk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogRGlzdCBhbGwgaGVhZGVycyBhbmQgcHV0IHRoZW0gaW4gbm9pbnN0X0hFQURFUlMKCjIwMTEtMDQtMTcgMTk6MDk6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbGluc3lzOiBEaXN0IGFsbCBoZWFkZXJzIGFuZCBwdXQgdGhlbSBpbiBub2luc3RfSEVBREVSUwoKMjAxMS0wNC0xNyAxMTo1NDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGxpbnN5cy9kZWNrbGluayBjaGVja3MgZm9yIExpbnV4CgoyMDExLTA0LTE3IDAxOjEwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjIgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTcgMDE6MDk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJICBleHQsIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgYmFja3VwIGZpbGVzCgoyMDExLTA0LTE3IDAwOjU0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTY6MzY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTEtMDQtMTQgMjA6NDY6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWZhY3RvciBibGl0dGluZywgYXZvaWQgd3JpdGluZyBwYXN0IGVuZCBvZiBidWZmZXIKCSAgUHJldmlvdXMgYmxpdHRpbmcgY29kZSBjb3VsZCBwb3RlbnRpYWxseSB3cml0ZSBwYXN0IHRoZQoJICBlbmQgb2YgdGhlIGJ1ZmZlciBpZiB0aGUgeCBvciB5IHBvc2l0aW9uIHdhcyBvZGQsIGFuZCBmb3IKCSAgdGhlIHNhbWUgdW5kZXJseWluZyByZWFzb24sIGRpZG4ndCBnZXQgdGhlIGNocm9tYSByZWdpc3RyYXRpb24KCSAgY29ycmVjdCBpbiB0aGUgb2RkIHBvc2l0aW9uIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc4MzAKCjIwMTEtMDQtMTYgMTE6MTg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMS0wNC0xNCAyMDozOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGZvcmdldCB0byB1bnJlZiB0aGUgZmZtcGVnY29sb3JzcGFjZQoJICBEbyBub3QgbGVhayB0aGUgZmZtcGVnY29sb3JzcGFjZSBieSB1bnJlZmluZyBpdCBhdCBkaXNwb3NlCgoyMDExLTA0LTE0IDE2OjQ4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0OiBjYW1lcmFiaW46IE1vcmUgbGVhayBmaXhlcwoKMjAxMS0wNC0xNSAxMDo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkgIG00OiBVcGRhdGUgZ3NldHRpbmdzIG00IG1hY3JvcwoKMjAxMS0wNC0xNCAxNjoyNDo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgb3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xMQoKMjAxMS0wNC0xNSAwMDowOToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgRml4IHNvbWUgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE5OjUzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBjbGVhbiB1cCBnb2JqZWN0IHRlbXBsYXRlIGEgYml0CgkgIFJlbW92ZSBwb2ludGxlc3MgZ19yZXR1cm5faWZfZmFpbCAoR19JU19GT08gKG9iaikpIGNoZWNrcyBpbgoJICB2ZnVuYyBpbXBsZW1lbnRhdGlvbnMuIENvbW1lbnQgb3V0IHVudXNlZCB2YXJpYWJsZXMgdG8gYXZvaWQKCSAgd2FybmluZ3Mgd2l0aCBnY2MgNC42LgoKMjAxMS0wNC0xNCAxODozNjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBhc2ZtdXg6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTg6MzY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxNDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBMZWFrIGZpeGVzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBMZWFrIGZpeGVzIHJlbGF0ZWQgdG8gbm90IHJlbW92aW5nIHRoZSBzb3VyY2UgcmV0dXJuZWQgZnJvbQoJICBnc3RfYnVzX2FkZF93YXRjaAoKMjAxMS0wNC0xNCAxMzoyNzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogU29tZSBsZWFrIGZpeGVzCgkgIExlYWsgZml4ZXMgcmVsYXRlZCB0byByZW1vdmluZyB0aGUgc291cmNlIHJldHVybmVkIGZyb20KCSAgZ3N0X2J1c19hZGRfd2F0Y2gKCjIwMTEtMDQtMTMgMTU6MDU6MTUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvLnZlcmRlam9AY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvR3N0QW5kcm9pZC5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2VycmluZ2J1ZmZlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmM6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuaDoKCSAgUmVtb3ZlIGF1ZGlvZmxpbmdlcnNpbmsKCSAgUmVtb3ZlIGF1ZGlvZmxpbmdlcnNpbmssIGl0J3MgaW4gZ3N0LWFuZHJvaWQgbm93LgoKMjAxMS0wNC0xNCAxNjo0OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE2OjE0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhc3JjOiBhZGQgdW5zdGFibGUtQVBJIHdhcm5pbmdzIGlmIEdTVF9VU0VfVU5TVEFCTEVfQVBJIGlzIG5vdCBkZWZpbmVkCgkgIFNvIHBlb3BsZSBrbm93IHRoaXMgaXMgdW5zdGFibGUgQVBJIGV2ZW4gaWYgaXQgZW5kcyB1cCByaWdodCBuZXh0CgkgIHRvIG91ciBvdGhlciBBUEkuCgoyMDExLTA0LTE0IDE2OjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tZWRpYS1pbmZvLy5naXRpZ25vcmU6CgkgIGxpYnM6IHJlbW92ZSBsZWZ0b3ZlciBtZWRpYS1pbmZvIGRpcmVjdG9yeQoKMjAxMS0wNC0xMyAyMjo0ODoyOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogcmV0dXJuIGR1cmF0aW9uIGluIG5hbm9zZWNvbmRzCgoyMDExLTA0LTEzIDIzOjM1OjUwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGhhbmRsaW5nIG9mIGVuZCBvZiBwbGF5bGlzdAoJICBEb24ndCBzZW5kIHRoZSBFT1MgZXZlbnQgdW50aWwgd2UgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdAoJICBhbmQgdGhlIHF1ZXVlIGlzIHJlYWxseSBlbXB0eS4KCjIwMTEtMDQtMTMgMjI6MjU6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggZXhhbXBsZSBwaXBlbGluZQoKMjAxMS0wNC0xMyAyMzowNjoxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGlnbm9yZSBzZWVrIGV2ZW50cyB1bnRpbCBpdCdzIGltcGxlbWVudGVkCgoyMDExLTA0LTEzIDIyOjE3OjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZGlzcG9zZSB0aGUgZmV0Y2hlciBmcm9tIHRoZSBzYW1lIHRocmVhZCBpdCdzIGNyZWF0ZWQKCjIwMTEtMDQtMTQgMTE6Mjg6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6OiBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBHTGliCgkgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYygpIGlzIG5ldyBpbiBHTGliIDIuMjYsIGJ1dCB3ZSBvbmx5IHJlcXVpcmUgMi4yMi4KCjIwMTEtMDQtMTQgMDc6MjE6NTAgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGEgbG90IG9mIG5ldyBwbHVnaW5zCgoyMDExLTA0LTEzIDIzOjU5OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3QgZm9yIG5ldyBleHBvc3VyZSBjb21wZW5zYXRpb24gdGFnCgkgIEFkZHMgYSB0ZXN0IGZvciBHU1RfVEFHX0NBUFRVUklOR19FWFBPU1VSRV9DT01QRU5TQVRJT04gb24KCSAgamlmbXV4IGNoZWNrIHRlc3RzLgoKMjAxMS0wNC0xMyAyMTo1ODozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWY6IE1vdmUgZHVwbGljYXRlICNkZWZpbmVzIGludG8gYSBjb21tb24gaW5jbHVkZQoJICBDZW50cmFsaXplIGR1cGxpY2F0ZWQgY29uc3RhbnRzIHNvIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCSAgQWxzbyBzdGFuZGFyZGlzZSBtaW5pbXVtIHRvbmUgZHVyYXRpb24gdG8gMjUwbXMgYW5kIG1pbmltdW0gaW50ZXItdG9uZQoJICBpbnRlcnZhbCB0byAxMDBtcy4KCjIwMTEtMDQtMTMgMjI6MzM6MzcgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUHJlc2VydmUgdW51c2VkIGltYWdlYmluIG9yIHZpZGVvYmluIG9uIE5VTEwKCSAgSWYgdmlkZW8gb3IgaW1hZ2UgbW9kZSBpcyBuZXZlciBzZWxlY3RlZCB0aGVuIHJlc3BlY3RpdmUgYmluIGlzIGluIE5VTEwgc3RhdGUuCgkgIFByZXNlcnZlIHRoaXMgc3RhdGUgd2hlbiByZXNldHRpbmcgY2FtZXJhYmluIGZyb20gUEFVU0VEIHRvIFJFQURZLgoKMjAxMS0wNC0xMyAyMjowNzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSAgcG5tOiBhZGQgTElCVE9PTEZMQUdTID0gLS10YWc9ZGlzYWJsZS1zdGF0aWMKCjIwMTEtMDQtMTMgMjA6MjY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbgoJICBUaGlzIGFsbG93cyB0byBzZXQgd2lkdGgvaGVpZ2h0L2V0YyByZXN0cmljdGlvbnMgdG8gYmUgc2V0IGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNjQ3NDk4LgoKMjAxMS0wNC0xMiAyMTo0NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBxdG11eDogcmVtb3ZlIHF0bXV4IHBsdWdpbiwgaXQgaGFzIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMTMgMTY6MzE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBsaWJleGlmIHBrZy1jb25maWcgY2hlY2sKCSAgVGhlcmUncyBubyBleGlmIHBsdWdpbiBzbyBkb24ndCB1c2UgQUdfR1NUX0NIRUNLX0ZFQVRVUkUuCgkgIEZpeGVzIGJ1ZyAjNjQ3NTY0LgoKMjAxMS0wNC0xMiAxNjo0MjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBsZWZ0b3ZlciBNQUVNT19CUk9LRU4gZGVmaW5lcwoJICBSZW1vdmUgZGVmaW5lcyB0byB3b3JrIGFyb3VuZCBidWdzIGluIG9sZCBNYWVtbyByZWxlYXNlcwoKMjAxMS0wNC0xMSAxNDo0NDoxNyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY29ybmVyIGNhc2UgZm9yIHByZXZpZXcgcG9zdGluZwoJICBGaXggY29ybmVyIGNhc2Ugd2hlcmUgdmlkZW8gcHJldmlldyBpbWFnZSBpcyBub3QgcG9zdGVkIGlmIHN0b3BwaW5nCgkgIHZpZGVvIGNhcHR1cmUgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FwdHVyZSBzdGFydC4KCjIwMTEtMDQtMTEgMTg6MzE6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHN1YnRyYWN0IGlkLXN0ciBzaXplIGZyb20gdGhlIHJlbWFpbmluZyByZWFkCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBmcm9tIHRoZSBwYXRjaGVzIGluIGJ1ZyAjNjI2NjE4LgoKMjAxMS0wNC0xMSAxODozMDoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAganBlZzogc2V0IHRhZ3MgdG8gTlVMTCBhdCBpbml0IHRpbWUgYW5kIGFmdGVyIGZyZWVpbmcgdGhlbQoKMjAxMS0wNC0xMSAxODoyOToyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGpwZWc6IGNvbW1lbnQgYW5kIGxvZ2dpbmcgY2hhbmdlcwoKMjAxMS0wNC0xMCAxOTo1MzozNSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ3N0X2pwZWdfcGFyc2VfcmVtb3ZlX21hcmtlcigpCgkgIFRoaXMgZnVuY3Rpb24gd2lsbCByZW1vdmUgdGhlIHdob2xlIG1hcmtlciBmcm9tIHRoZSBidWZmZXIuCgkgIEFsc28gd2Ugc2V0IGl0IGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBtYXJrZXIgSlBHezAtMTN9PyBpbiBvcmRlciB0byBhdm9pZAoJICBhIHVzZWxlc3MgI2lmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMDgtMTMgMTI6Mzg6MDIgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmVmYWN0b3IgQ09NIHBhcnNpbmcKCSAgYWRkIGdzdF9qcGVnX3BhcnNlX2NvbSAoKSBhbmQgZ2V0X3V0ZjhfZnJvbV9kYXRhICgpIHRvIGV4dHJhY3QgYW5kCgkgIHZhbGlkYXRlIGNvbW1lbnQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTg6MjI6MDcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmVmYWN0b3IgQVBQMSBwYXJzaW5nCgkgIGFkZCBnc3RfanBlZ19wYXJzZV9hcHAxICgpIGFuZCBleHRyYWN0X2FuZF9xdWV1ZV90YWdzICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMjEgMTU6MDU6NDMgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogbG9nIGlkIHdoZW4gc2tpcHBpbmcgYW4gdW5oYW5kbGVkIEFQUCBtYXJrZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxNzo0NzoxNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBza2lwIGFsbCBBUFAgbWFya2VycywgZXhjZXB0aW5nIEFQUDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0yMSAxNTowOToxNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ2V0X3RhZ19saXN0ICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTEtMDQtMTEgMDA6MzY6MzUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0xMCAwMDoyMjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogZGlzdCBuZXcgdmlkZW9maWx0ZXIyIHRlbXBsYXRlCgoyMDExLTA0LTA5IDEzOjQwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDQtMDkgMTA6MDM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZCBsYXN0LW1lc3NhZ2UgcHJvcGVydHkgYW5kIG5ldmVyIHByaW50IGFueXRoaW5nIHRvIHN0ZG91dAoJICBJbnN0ZWFkIGV2ZXJ5dGhpbmcgd2lsbCBiZSBwdXQgaW50byB0aGUgbGFzdC1tZXNzYWdlIHByb3BlcnR5IGFuZAoJICBnc3QtbGF1bmNoIC12IHdpbGwgcHJpbnQgYWxsIGNoYW5nZXMgb2YgdGhlIHByb3BlcnR5LiBUaGlzIG1ha2VzCgkgIHRoZSBiZWhhdmlvdXIgb2YgZnBzZGlzcGxheSBjb25zaXN0ZW50IHdpdGggdGhlIGZha2VzaW5rL2lkZW50aXR5L2V0YwoJICBiZWhhdmlvdXIuCgoyMDExLTA0LTA5IDA5OjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBSZW5hbWUgdmVyYm9zZSBwcm9wZXJ0eSB0byBzaWxlbnQgZm9yIGNvbnNpc3RlbmN5CgoyMDExLTA0LTA5IDAwOjM3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJICBiYXNlcGFyc2U6IHJlbW92ZSAtYmFkIHZlcnNpb24gb2YgYmFzZXBhcnNlIGxpYnJhcnksIG5vdyBpbiBjb3JlCgoyMDExLTA0LTAyIDE4OjMwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgdmlkZW9wYXJzZXJzOiBwb3J0IHRvIGJhc2VwYXJzZSwgd2hpY2ggaXMgbm93IGluIGxpYmdzdGJhc2UgaW4gY29yZQoKMjAxMS0wNC0wOCAxMjoxMTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSAgc2NlbmVjaGFuZ2U6IG5ldyBzY2VuZSBjaGFuZ2UgZGV0ZWN0aW9uIGVsZW1lbnQKCjIwMTEtMDQtMDggMTA6MjY6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXIyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgdmlkZW9maWx0ZXIyIHRlbXBsYXRlCgoyMDExLTA0LTA4IDE5OjMyOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBSZW1vdmUgYXVkaW9wYXJzZXJzIHBsdWdpbiwgaXQgaGFzIGJlZW4gbW92ZWQgdG8gLWdvb2QKCjIwMTEtMDQtMDggMTQ6MDg6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgdGhlIHByb3BlcnR5IGVudW1zCgoyMDExLTA0LTA3IDE1OjE1OjU3ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheTogQWRkIHZlcmJvc2UgcHJvcGVydHkKCSAgV2hlbiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byBUUlVFIHRoZSBlbGVtZW50IHdpbGwgZGlzcGxheSBzdGF0aXN0aWNzCgkgIG9uIHN0ZG91dC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzAzMAoKMjAxMS0wNC0wNSAyMTowNDo1NCArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogdXBkYXRlIGZvciBsYXRlc3QgR3N0WE92ZXJsYXkgY2hhbmdlcwoJICBGcm9tIHh3aW5kb3dfaWQgdG8gd2luZG93X2hhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk1NQoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCjIwMTEtMDQtMDYgMTU6NTg6MDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJICBmaWVsZGFuYWx5c2lzOiBVc2UgUkZGIGZsYWcgdG8gaW5kaWNhdGUgYnVmZmVycyB0byBkcm9wIGRvd25zdHJlYW0KCSAgVXNlIG9mIHRoZSBHQVAgZmxhZyBpcyBub3QgcmVhbGx5IGNvcnJlY3QgaGVyZSBhbmQgbWFrZXMgaXQgZGlmZmljdWx0IHRvCgkgIGhhbmRsZSByZWFsIEdBUCBidWZmZXJzIGluIGRlaW50ZXJsYWNlLiBUaGUgUkZGIGZsYWcgaXMgdW51c2VkIGFuZCBjYW4KCSAgYmUgcmV1c2VkIHdpdGggc2ltaWxhciBzZW1hbnRpY3MgLSB0aGUgYnVmZmVycyBtYXJrZWQgd2l0aCBSRkYgdGhhdCBhcmUKCSAgaW4gYSB0ZWxlY2luZSBzdGF0ZSBjb250YWluIG9ubHkgdW5uZWVkZWQgcmVwZWF0ZWQgZmllbGRzIGFuZCBzbyBjYW4gYmUKCSAgZHJvcHBlZC4KCjIwMTEtMDQtMDUgMTk6MjY6MTUgKzAzMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGVuc3VyZSBnc3RfcG9sbF93YWl0IGlzIGNhbGxlZCBmaXJzdCBvbiBkZXNjcmlwdG9ycwoJICBXZSBuZWVkIHRvIGNhbGwgZ3N0X3BvbGxfd2FpdCBiZWZvcmUgY2FsbGluZyBnc3RfcG9sbF8qIHN0YXR1cwoJICBmdW5jdGlvbnMgb24gdGhhdCBuZXcgZGVzY3JpcHRvciwgc28gcmVzdGFydCB0aGUgbG9vcCwgc28gX3dhaXQKCSAgd2lsbCBoYXZlIGJlZW4gY2FsbGVkIG9uIGFsbCBlbGVtZW50cyBvZiBzZWxmLT5wb2xsLCB3aGV0aGVyCgkgIHRoZXkgaGF2ZSBqdXN0IGJlZW4gYWRkZWQgb3Igbm90LiAqLwoKMjAxMS0wNC0wNiAyMDo0MDo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzaG06IEZpeCBNU0dfTk9TSUdOQUwgY2hlY2sKCSAgSW5jbHVkZSBzeXMvc29ja2V0LmggYmVmb3JlIGNoZWNraW5nIGZvciBNU0dfTk9TSUdOQUwsIGFsc28KCSAgY2hlY2sgdGhhdCBzeXMvc29ja2V0LmggYmVmb3JlIGRvaW5nIGFueSBvdGhlciBjaGVja3MgZm9yIHNobQoKMjAxMC0xMi0xNSAxMDozOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHJlbHkgb24gdGhlIGFwcGxpY2F0aW9uIHJ1bm5pbmcgdGhlIGRlZmF1bHQgR0xpYiBtYWluIGxvb3AKCSAgRG9uJ3QgdXNlIGdfaWRsZV9hZGQoKSBhbmQgZnJpZW5kcyB0byBzY2hlZHVsZSB0aGluZ3Mgd2UgY2FuJ3QgZG8gZnJvbSB0aGUKCSAgc3RyZWFtaW5nIHRocmVhZCBpbiBhbm90aGVyIHRocmVhZC4gVGhlIGFwcCBtYXkgbm90IGJlIHJ1bm5pbmcgdGhlIGRlZmF1bHQKCSAgR0xpYiBtYWluIGxvb3AuIEluc3RlYWQsIGp1c3Qgc3Bhd24gYSB0aHJlYWQuCgkgIEFsc28sIHdlIG5lZWQgdG8gY2FyZSBmb3Igd2hlbiBhY2Vzc2luZyBhIHBhZCB2YXJpYWJsZSwgYXMgYW5vdGhlciB0aHJlYWQKCSAgbWlnaHQgaGF2ZSB0YWtlbiBjYW1lcmFiaW4gdG8gTlVMTCB3aGlsZSB0aGlzIGdzdF9jYW1lcmFiaW5faW1nYmluX2ZpbmlzaGVkCgkgIGRpZG4ndCBydW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU2NTUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wNCAxNTo1NzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxY2NiZTA5IHRvIGMzY2FmZTEKCjIwMTEtMDQtMDQgMTI6MjE6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3JlIGhlbHBmdWwgZGVidWcgZXJyb3IgbWVzc2FnZSB3aGVuIG5vIG5lZWRlZCBkdXJhdGlvbiBvbiBpbnB1dCBidWZmZXJzCgkgIEZpeGVzICM2NDYyNTYuCgoyMDExLTA0LTAyIDAxOjIxOjM0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdmFsaWRhdGUgcHJvcGVybHkgdXRmLTggcGxheWxpc3QKCjIwMTEtMDQtMDIgMDE6MTA6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFyIHRoZSBsaXN0IG9mIG1lZGlhIGZpbGVzIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxheWxpc3QKCjIwMTEtMDQtMDIgMDE6MDg6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHVzZSBhbmQgYWRhcHRlciBpbnN0ZWFkIG9mIGNvc3RmdWwgYnVmZmVyIGpvaW5zCgoyMDExLTA0LTAxIDEzOjUzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNldHRpbmcgb2YgcGx1Z2luZGlyIGZyb20gTWFrZWZpbGVzCgoyMDExLTAzLTI2IDE3OjU1OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRml4IG5lZ290aWF0aW9uIGVycm9ycwoKMjAxMS0wMy0yNiAxNzo0Mzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlbzogQWRkIGZ1bmN0aW9uIHRvIGFsbG9jYXRlIHNyYyBidWZmZXIKCjIwMTEtMDQtMDEgMTY6NTI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQW5vdGhlciB3aW5kb3dzIGJ1aWxkIGZpeAoJICBSZXBsYWNlICVsbGQgd2l0aCAldSBhcyBHU1RfQlVGRkVSX1NJWkUgaXMgYSBndWludAoKMjAxMS0wNC0wMSAxNjoxMjo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzOiBGaXggY29tcGlsYXRpb24gb24gd2luZG93cwoJICBVc2Ugc3RyaW5nIGxpdGVyYWwgb24gcHJpbnRpbmcgZm9ybWF0CgoyMDExLTA0LTAxIDEzOjM5OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUHJvY2Vzc2luZyBzaG91bGQgc3RvcCBvbiBSRUFEWQoJICBUaGUgdmlkZW9iaW4gYW5kIGltYWdlYmluIGZyb20gY2FtZXJhYmluIGhhdmUgdGhlaXIgc3RhdGVzCgkgIGxvY2tlZCBhbmQgYXJlbid0IHB1dCB0byBSRUFEWSB3aGVuIGFsbCB0aGUgcmVzdCBvZiBjYW1lcmFiaW4KCSAgaXMgc2V0IHRvIGl0LgoJICBUaGlzIG1pZ2h0IGNhdXNlIG9uZSBvZiB0aGVtIHRvIGJlIHN0aWxsIHByb2Nlc3NpbmcgYW5kIHBvc3QKCSAgYW4gRU9TIGFmdGVyIGNhbWVyYWJpbiBpc24ndCBleHBlY3RpbmcgaXQgYW55bW9yZSwgdGhpcyBjYXVzZXMKCSAgYW4gYXNzZXJ0aW9uIGFzIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgd291bGQgYWxyZWFkeSBiZSAwIGFuZAoJICB3b3VsZCBiZSBkZWNyZW1lbnRlZC4KCjIwMTEtMDQtMDEgMTU6MDA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBLZWVwIGEgcmVmZXJlbmNlIG9mIGV2ZW50cyB1bnRpbCB0aGUgZXZlbnQgaXMgcGFyc2VkCgoyMDExLTA0LTAxIDE0OjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUGFyc2UgZW5jb2RlciBkZWxheSBhbmQgZW5jb2RlciBwYWRkaW5nIGZyb20gdGhlIExBTUUgaGVhZGVyIGlmIHByZXNlbnQKCjIwMTEtMDMtMzEgMTY6MjE6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG06IE1ha2UgZGVmYXVsdCBwZXJtIHUrcncgZytyIGZvciBzaG0gYXJlYQoKMjAxMS0wMy0zMCAxNTo1MzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1cGRhdGUgZm9yIG1lZGlhIHR5cGUgd2FzIHJlbmFtaW5nIGZyb20gcGxheWxpc3QvbTN1OCB0byBhcHBsaWNhdGlvbi94LWhscwoKMjAxMS0wMy0zMCAxMTozMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIGhscyBwbHVnaW4KCjIwMTEtMDMtMzAgMTA6MTE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU29tZSBtaW5vciBjbGVhbnVwCgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMS0wMy0zMCAwMzozNDozOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbmRlbnRhdGlvbiBhbmQgZG9jcyBzZWN0aW9ucwoKMjAxMS0wMy0yOSAyMzoxODoyNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGxlZWsgdGhlIHF1ZXJ5CgoyMDExLTAzLTI5IDIzOjA2OjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2hlY2sgaWYgdGhlIHRhc2sncyBjb25kIHdhcyBzaWduYWxlZCBiZWNhdXNlIGl0J3MgdGhlIGVuZCBvZiBwbGF5bGlzdAoKMjAxMS0wMy0xMiAxMzozMjo1NyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHBvc3QgYSBtZXNzYWdlIGluIHRoZSBidXMgd2hlbiB0aGUgcGxheWxpc3QgY2hhbmdlcwoKMjAxMS0wMy0xMiAxMzoxNTo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHVwZGF0ZSB0aGUgcGxheWxpc3QgaWYgd2Ugc3RheSBpbiB0aGUgc2FtZSBiaXRyYXRlCgoyMDExLTAzLTEyIDEzOjAwOjA2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIFVSSSBxdWVyaWVzCgoyMDExLTAzLTEyIDEyOjUwOjI1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGR1cmF0aW9uIHF1ZXJpZXMKCjIwMTEtMDMtMTIgMTI6Mjg6NDIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBwcm90ZWN0IHB1YmxpYyBtZXRob2RzIHByb3Blcmx5CgoyMDExLTAzLTEyIDEyOjIwOjMyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogYWRkIHN1cHBvcnQgdG8gZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIGEgcGxheWxpc3QKCjIwMTEtMDItMTYgMDM6NTE6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBwcmludCBhbiBlcnJvciBpZiB0aGUgZG93bmxvYWQgd2FzIGNhbmNlbGxlZAoKMjAxMS0wMi0xNiAwMzo0OTo0OSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB0aGUgZmV0Y2hlciBzdGF0ZSBjaGFuZ2UgaXMgY29tcGxldGUgYmVmb3JlIGNvbnRpbnVpbmcKCjIwMTEtMDItMTYgMDE6MTk6NDUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBsZWFrIHRoZSBmaXJzdCBidWZmZXIKCjIwMTEtMDItMTYgMDA6NTU6MzAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjbGVhbiB1cCBjb2RlIGEgbGl0dGxlIGJpdAoKMjAxMS0wMi0xNiAwMDo1Mzo0OCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG9ubHkgY2hlY2sgZm9yIHRoZSBlbmQgb2YgcGxheWxpc3Qgd2hlbiB0aGUgcXVldWUgaXMgZW1wdHkKCjIwMTEtMDItMTUgMjI6NDA6MjEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB0byBzdG9wIGZyYWdtZW50cyBjYWNoZSBpZiBzb21ldGhpbmcgY2FuY2VsbGVkIGl0CgoyMDExLTAyLTE1IDIxOjU1OjI2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmV1c2UgdGhlIGNvZGUgaW4gcmVzZXQoKSB0byBmcmVlIHJlc291cmNlcyBpbiBkaXNwb3NlKCkKCjIwMTEtMDItMTUgMjE6NDk6MjAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHVzZSBhIHR5cGVmaW5kZXIgdG8gc2V0IHRoZSBjYXBzIGluIHRoZSBzb3VyY2UgcGFkCgoyMDExLTAyLTE1IDA0OjM5OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIG1vcmUgY29tbWVudHMgYW5kIGRvY3VtZW50IGJldHRlciBhbGwgdGhlIHRocmVhZHMgaW52b2x2ZWQKCjIwMTEtMDItMTUgMDM6NDI6MjkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgNDA0IGZyb20gdGhlIHNvdXJjZSBlbGVtZW50CgoyMDExLTAyLTE1IDAzOjQxOjQzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RvcCB0aGUgZmV0Y2hlciBpbiB0aGUgUEFVU0VEX1RPX1JFQURZIHRyYW5zaXRpb24sIG5vdCB3aGVuIGRpc3Bvc2luZygpCgoyMDExLTAyLTE1IDAzOjQxOjAxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgd2UgZG9uJ3Qgc3RvcCB0aGUgZmV0Y2hlciB0d2ljZSBmcm9tIGRpZmZlcmVudCB0aHJlYWRzCgoyMDExLTAyLTE1IDAyOjEzOjU2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcXVlcnkgdGhlIHVyaSB1cHN0cmVhbSBiZWZvcmUgdXBkYXRpbmcgdGhlIHBsYXlsaXN0CgoyMDExLTAyLTE0IDE4OjUxOjMyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFkZCBIVFRQIGxpdmUgc3RyZWFtaW5nIGRlbXV4ZXIgZWxlbWVudAoJICBCYXNlZCBvbiBwcmV2aW91cyB3b3JrIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdQoKMjAxMS0wMy0yMSAxMDo1NzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQWRkIEdzdFRhZ1htcFdyaXRlciBzdXBwb3J0CgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSB0byBqaWZtdXggZWxlbWVudAoKMjAxMS0wMy0yMSAxMDo1Njo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZQoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2Ugc3VwcG9ydCB0byBxdG11eAoKMjAxMS0wMy0yNyAyMzo1MDoyNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuaDoKCSAgb3BlbmN2IHRleHQgb3ZlcmxheTogcmVuYW1lIGFuZCBkb2N1ZW1udAoJICBSZW5hbWUgdGhlIGVsZW1lbnQgdGV4dHdyaXRlIHRvIG9wZW5jdnRleHRvdmVybGF5LiBBZGQgcHJvcGVyIHN0cnVjdHVyaW5nIHRvCgkgIG9wZW5jdiB0ZXh0b3ZlcmxheSBlbGVtZW50LgoJICBGaXhlczogIzY0MDU2MQoKMjAxMS0wMy0yNyAxMzo1NzowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCA2NC1iaXQgcHJpbnRmIGZvcm1hdCBwcm9ibGVtCgoyMDExLTAzLTI3IDIwOjA5OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBmaXggYnVnIHdoZXJlIHdlIGRpZG4ndCBzZXR1cCB2ZHBhdSBvbiBhIHVzZXIgc2V0IHdpbmRvdwoKMjAxMS0wMy0yNyAxOTo0Nzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSAgdmRwYXU6IGZpeHVwIEdzdEZsb3dSZXR1cm4gaGFuZGxpbmcKCSAgUHJldmlvdXNseSB0aGUgZGlmZmVyZW50IGRlY29kZXJzIHdvdWxkIGRpc2NhcmQgZXJyb3Vub3VzIEdzdEZsb3dSZXR1cm5zIGNvbWluZwoJICBmcm9tIGRvd25zdHJlYW0uIE5vdyB3ZSBwcm9wZXJseSByZXR1cm4gdGhlc2UgZnVydGhlciB1cHN0cmVhbSBzbyB0aGF0IHdlCgkgIHByb3Blcmx5IGVycm9yIG91dCBvbiBlZy4gbmVnb3RpYXRpb24gcHJvYmxlbXMuCgoyMDExLTAzLTI3IDE5OjQwOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTAtMDktMDYgMTc6NDI6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2ZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yNyAxNzo0Mjo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3c6IGZpeCBsaXN0IGl0ZXJhdGlvbiBjb2RlCgoyMDExLTAzLTI3IDE3OjIyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgIGRjY3BzZXJ2ZXJzaW5rOiBmaXggbGlzdCBpdGVyYXRpb24gY29kZQoJICBGaXggc3Vib3B0aW1hbCBsaXN0IGl0ZXJhdGlvbiBjb2RlLCBhbmQgYWRkIHNvbWUgRklYTUVzLgoKMjAxMS0wMy0yNiAxMjo0NToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkgIHBhdGNoZGV0ZWN0OiBsaW5rIGFnYWluc3QgbGlibQoJICBMaW5rIGFnYWluc3QgbGlibS4gSW5jbHVkZSBtYXRoLWNvbXBhdC5oIGhlYWRlci4gRG9uJ3QgbGluayBhZ2FpbnN0CgkgIG9yYywgc2luY2UgaXQncyBub3QgYWN0dWFsbHkgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTcxMQoKMjAxMS0wMy0yNiAxNjoxMjoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBVc2UgY29ycmVjdCBjbG9jayB3aGVuIGNoZWNraW5nIHdoZXRoZXIgdG8gd3JpdGUgYSBuZXcgUENSCgkgIFRoZSBQQ1IgY2xvY2tzIGFnYWluc3QgdGhlIDI3TUh6IFNDUiBjbG9jaywgc28gY2hlY2sgaXQgY29ycmVjdGx5CgkgIHRvIGF2b2lkIHdyaXRpbmcgdGhlIFBDUiB0b28gb2Z0ZW4uCgkgIFBhcnRpYWxseSBmaXhlczogIzYxMTA0NgoKMjAxMS0wMy0yNiAxNTo1ODoyMSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgUmV3cml0ZSBNMlRTIHBhY2tldCBvdXRwdXQKCSAgTWFrZSBzdXJlIHdlIG9ubHkgd3JpdGUgdGhlIGJvdHRvbSAzMCBiaXRzIG9mIHRoZSBQQ1IgdG8gdGhlIG0ydHMgaGVhZGVyLgoJICBEb24ndCB1c2UgZmxvYXRpbmcgcG9pbnQgY29tcHV0YXRpb24gZm9yIGl0LCBhbmQgcmVtb3ZlIHdlaXJkIGJpdCBmaWRkbGluZwoJICB0aGF0IG1lc3NlcyB1cCB0aGUgUENSIGluIGEgd2F5IEkgY2FuJ3QgZmluZCBhbnkKCSAganVzdGlmaWNhdGlvbi9kb2N1bWVudGF0aW9uIGZvci4KCSAgRG9uJ3QgYWNjaWRlbnRhbGx5IGxvc2UgUENSIHBhY2tldHMgZnJvbSB0aGUgb3V0cHV0LgoJICBGaXggdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgbTJ0cy1tb2RlIHByb3BlcnR5IHNvIGl0J3MgY2xlYXIgaXQncyBhIGZsYWcsCgkgIGFuZCB3aGljaCBzZXR0aW5nIGRvZXMgd2hhdC4KCSAgRml4ZXM6ICM2MTEwNjEgIzY0NDQyOQoJICBQYXJ0aWFsbHkgZml4ZXM6ICM2NDUwMDYKCjIwMTEtMDMtMjYgMTE6MTQ6MDEgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIEZpeCBhIEZJWE1FLCBhbmQgc29tZSB3aGl0ZXNwYWNlL2NvZGUgc3R5bGUgYml0cy4KCSAgQWxzbywgYWRkIGEgbmV3IGNvcHlyaWdodCBub3RpY2UgZm9yIG1lLgoKMjAxMS0wMy0yNSAyMjozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5M2I3MTcgdG8gMWNjYmUwOQoKMjAxMS0wMy0yNSAxNDo1Njo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNzdlMmJmIHRvIDE5M2I3MTcKCjIwMTEtMDMtMjUgMDk6MzI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkODgxNGI2IHRvIGI3N2UyYmYKCjIwMTEtMDMtMjUgMDk6MDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWFhMjg2IHRvIGQ4ODE0YjYKCjIwMTEtMDMtMjUgMDg6MzM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogQWRkIGZsb2F0IGNhcHMgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDMtMjQgMTY6MTY6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHdpbjMyIGJ1aWxkCgoyMDExLTAzLTI0IDIyOjMyOjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZW5zdXJlIGNsZWFudXAgb2YgcGVzL3NlY3Rpb24gZmlsdGVyIGhlbHBlciBzdHJ1Y3R1cmVzCgkgIEluIHBhcnRpY3VsYXIsIHRoZSBzZWN0aW9uX2ZpbHRlciB3b3VsZCBub3QgYmUgY2xlYXJlZCBmb3IgYSBwcml2YXRlIHNlY3Rpb24KCSAgc3RyZWFtLCBsZWFraW5nIGEgR3N0QWRhcHRlci4gU2VlbiBvbiBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjI6MTA6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkb24ndCBsZWFrIHBhZCBuYW1lCgkgIEFzIHNlZW4gb24gYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIxOjQ2OjA5ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmcmVlIFBQUyBOQUwgYnVmZmVycyBvbiBjbGVhbnVwCgkgIE9idmlvdXNseSBhIHR5cG8uIEZpeGVzIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMTo0NDowNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgbGVhayBhbGwgTkFMIGJ1ZmZlcnMKCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgZG9lc24ndCBzdGVhbCB0aGUgcmVmLiBQYXJ0aWFsIGZpeCBmb3IgYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDE4OjQ5OjU0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhZWM2YjkgdG8gNmFhYTI4NgoKMjAxMS0wMy0yNCAxNDo1MToxMiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzdHJlYW1faW5mbyBkZXNjcmlwdG9yIHBhcnNpbmcKCjIwMTEtMDMtMDkgMjM6MDY6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgZGNhcGFyc2U6IEJ1bXAgcmFuayB0byBwcmltYXJ5KzEKCSAgU2VlbXMgdG8gd29yayBmaW5lIHdpdGggYSByZWFzb25hYmx5IHdpZGUgcmFuZ2Ugb2YgbWVkaWEsIHNvIGJ1bXBpbmcKCSAgcmFuay4KCjIwMTEtMDMtMjQgMTA6MDg6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IEFkZCBzdXBwb3J0IGZvciAzMiBiaXQgYW5kIDY0IGJpdCBmbG9hdGluZyBwb2ludCBmb3JtYXRzCgoyMDExLTAzLTI0IDA5OjU4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFRoZSBTU05EIGhlYWRlciBpcyAxNiBieXRlcyBsYXJnZSwgbm90IDggKyAxNiBieXRlcwoJICBGaXhlcyBidWcgIzY0NTU2OCBhbmQgcGxheWJhY2sgaW4gcHVsbCBtb2RlIGZvciBzYW1wbGUgd2lkdGhzID4gOCB0aGF0CgkgIGFyZSBub3QgYSBtdWx0aXBsZSBvZiAyIGJ5dGVzIChlLmcuIDI0IGJpdCBzYW1wbGVzKS4KCjIwMTEtMDMtMjQgMDk6Mjk6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogVXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9jZWlsKCkgaW5zdGVhZCBvZiBhIGN1c3RvbSBmdW5jdGlvbgoKMjAxMS0wMy0yNCAxMzo0MzowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IERvbid0IGV4cG9ydCBiaXRyYXRlIGlmIG9wZW4vdmFyaWFibGUvbG9zc2xlc3MKCSAgbGliZGNhIHJldHVybnMgdGhlIGJpdHJhdGUgYXMgMS8yLzMgZm9yIG9wZW4vdmFyaWFibGUvbG9zc2xlc3MgZmlsZXMKCSAgcmVzcGVjdGl2ZWx5LiBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgZW1pdCB0aGVzZSB2YWx1ZXMuCgoyMDExLTAzLTI0IDA5OjIyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogUmVhZCB0aGUgYWRkaXRpb25hbCwgb3B0aW9uYWwgZXh0cmEgaGVhZGVycyBmcm9tIHRoZSBjYXBzIHRvbwoKMjAxMS0wMy0yNCAwOToxNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogR2V0IGFuZCB1c2Ugc3RyZWFtaGVhZGVycyBmcm9tIHRoZSBjYXBzIGlmIHBvc3NpYmxlCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIGZpbGVzIHdoZXJlIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycyB3ZXJlCgkgIGRyb3BwZWQgZm9yIHNvbWUgcmVhc29uIGFuZCBhbHNvIHNldHMgdGhlIHNyY3BhZCBjYXBzIGVhcmxpZXIuCgoyMDExLTAzLTIzIDIyOjUzOjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFJldmVydCBwcmV2aW91cyBjb21taXQKCSAgSXQgYXBwZWFycyB0aGUgcGF0Y2gsIHdoaWNoIEkndmUgYmVlbiBjYXJyeWluZyBhcm91bmQgZm9yZXZlciwKCSAgaGFkIGJlZW4gYWxyZWFkeSBhcHBsaWVkLgoKMjAxMS0wMi0yMCAxNDoxNjoxOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogbWVyZ2UgdXRpbHMgaGVhZGVyIGludG8gYmFzZXZpZGVvY29kZWMKCjIwMTAtMTItMzAgMTg6MjU6MDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogT3V0cHV0IGVsZW1lbnQgbWVzc2FnZSB3aXRoIGZyYW1lIHN0YXRzCgoyMDExLTAyLTI2IDAwOjI4OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkgIHBhdGNoZGV0ZWN0OiBuZXcgZWxlbWVudAoJICBEZXRlY3RzIE11bnNlbGwgQ29sb3JDaGVja2VyIGluIGEgdmlkZW8gaW1hZ2UgYW5kIGF1dG9tYXRpY2FsbHkKCSAgd2hpdGUgYmFsYW5jZXMgYW5kIGNvbG9yIGNvcnJlY3RzIGJhc2VkIG9uIHRoZSBkZXRlY3RlZCB2YWx1ZXMuCgkgIFRoaXMgZWxlbWVudCBpcyBvbmx5IGEgZGVtb25zdHJhdGlvbiBhdCB0aGlzIHN0YWdlLCBpdCBuZWVkcyB0bwoJICBiZSBzZXBhcmF0ZWQgaW50byB0d28gZWxlbWVudHMuCgoyMDExLTAyLTI3IDAwOjQ4OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BlbnRyb3B5d2F2ZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBkZWNrbGluayBwbHVnaW4KCSAgU291cmNlIGFuZCBzaW5rIGVsZW1lbnRzIGZvciBCbGFja01hZ2ljIERlY2tMaW5rIFNESSBjYXJkcy4KCjIwMTEtMDMtMTcgMTc6Mzg6NTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL2FzaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvbWFzdGVyLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGkuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaWF1ZGlvLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGl2aWRlby5oOgoJICBsaW5zeXM6IEFkZCBwbHVnaW4gZm9yIExpbmVhciBTeXN0ZW1zIFNESSBib2FyZHMKCjIwMTAtMDktMTQgMTE6MzA6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguaDoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguaDoKCSAgc2RpOiBBZGQgcmF3IFNESSBtdXhpbmcvZGVtdXhpbmcgZWxlbWVudHMKCjIwMTEtMDMtMTcgMTk6MDM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkgIGxvZ29pbnNlcnQ6IEZpeCBtZW1sZWFrcywgYWRkIHRlc3QKCjIwMTAtMTEtMTUgMTE6Mzc6MTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGxvZ29pbnNlcnQ6IEFkZCBkYXRhIHByb3BlcnR5CgoyMDExLTAzLTIzIDE1OjQ5OjE4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogRml4IHByZW1hdHVyZSBzaHV0ZG93bgoJICBXZSBtdXN0IHdhaXQgZm9yIGNhbWVyYWJpbjIncyBzdG9wLWNhcHR1cmUgcHJvY2VkdXJlcyB0byBmaW5pc2ggYmVmb3JlIHF1aXR0aW5nCgkgIHRoZSBtYWluIGxvb3Agb3IgZmlyaW5nIG9mZiB0aGUgbmV4dCBjYXB0dXJlLiBJZiB3ZSBnZXQgc3R1Y2sgd2FpdGluZyBmb3IKCSAgY2FtZXJhYmluMiB0byBiZWNvbWUgaWRsZSwgdGhpcyBpcyBhIGJ1ZyB0aGF0IG5lZWRzIGZpeGluZy4KCjIwMTEtMDMtMjMgMTY6MzI6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPbmx5IG1hcmsgdmlkZW8gY2FwdHVyZSBhcyBmaW5pc2hlZCBhZnRlciBFT1MKCSAgSW5zdGVhZCBvZiBwcm9iaW5nIHRoZSB2aWRlb3Npbmsgc2lua3BhZCBmb3IgcGFzc2luZyBFT1MsIGJldHRlcgoJICB0byB3YWl0IGZvciBFT1MgZnJvbSB0aGUgYnVzLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhlIGZpbGVzaW5rIGhhcyBhbHJlYWR5IHByb2Nlc3NlZCBpdCBhbmQgaXMKCSAgcmVhZHkgdG8gY2xvc2UgdGhlIGZpbGUuIFRoaXMgaXMgdXNlZCB0byBub3RpZnkgYXBwbGljYXRpb25zCgkgIHRoYXQgY2FtZXJhYmluMiBpcyBpZGxlIGFuZCBjYW4gYmUgc2h1dCBkb3duLgoKMjAxMS0wMy0xOCAxNTo0OToxMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGNhbWVyYWJpbjI6IHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCByZWFkLW9ubHkgbWF4LXpvb20gcHJvcAoJICBUaGlzIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBhbnkgb2Ygb3VyIHJlYWwgc291cmNlcyB0byB3aGljaCB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIG1pZ2h0IGNvbm5lY3QgYnV0IHRoaXMgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSBpbXBsZW1lbnRlZCBhdCBhbnkgdGltZS4gQQoJICBsaW1pdCBvbiB0aGUgc29mdHdhcmUgem9vbSBsZXZlbCB1c2luZyB2aWRlb3tjcm9wLHNjYWxlfSB3b3VsZCBiZSBhcmJpdHJhcnkuCgoyMDExLTAzLTIzIDEyOjM4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEltcHJvdmUgaWRsZSBwcm9wZXJ0eSB1c2FnZQoJICBVc2UgcmVzb3VyY2Ugd2FybmluZyBtZXNzYWdlcyB0byBub3RpZnkgY2FtZXJhYmluMiB0aGF0IGEgY2FwdHVyZQoJICBhcyBhYm9ydGVkIG9yIGNvdWxkbid0IGJlIHN0YXJ0ZWQsIG1ha2luZyBpdCBkZWNyZW1lbnQgdGhlCgkgIHByb2Nlc3NpbmcgY291bnRlciBhbmQgbWFraW5nIHRoZSBpZGxlIHByb3BlcnR5IG1vcmUgcmVsaWFibGUuCgoyMDExLTAzLTIyIDEyOjA0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTm8gbmVlZCB0byBmb3JjZSBhdWRpb3NyYyB0byBudWxsIG9uIHN0b3BfY2FwdHVyZQoJICBTZXR0aW5nIHRoZSBhdWRpbyBzb3VyY2UgdG8gbnVsbCBpc24ndCBuZWVkZWQgYW5kIGl0IGNvdWxkCgkgIG1ha2UgdGhlIEVPUyB0aGF0IGlzIHN0aWxsIGZsb3dpbmcgYmUgZHJvcHBlZCBpZiBhdXRvYXVkaW9zcmMKCSAgaXMgdXNlZCBiZWNhdXNlIGl0cyBwYWRzIGdvIGZsdXNoaW5nIGJlZm9yZSB0aGUgRU9TIGdldHMgcHVzaGVkCgkgIGZyb20gdGhlIHJlYWwgc291cmNlLgoKMjAxMS0wMy0yMiAwODozMjo0OCAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogQ2hlY2sgaWYgc2V0IHByZXZpZXcgY2FwcyBhcmUgdGhlIHNhbWUKCSAgQ2hlY2tzIGlmIHRoZSBuZXcgcmVjZWl2ZWQgcHJldmlldy1jYXBzIGFyZSBlcXVhbCB0byB3aGF0IGlzCgkgIGFscmVhZHkgaW4gdXNlLCBza2lwcyB0aGUgcHJldmlldy1jYXBzIHNldHRpbmcgbG9naWMgaW4gY2FzZQoJICBuZXcgY2FwcyBhcmUgc2FtZSBhcyBjdXJyZW50IG9uZXMuCgoyMDExLTAzLTE1IDE1OjQ3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgYW5vdGhlciAnaWRsZScgdGVzdAoJICBBZGRzIGFub3RoZXIgdGVzdCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBpZGxlIHByb3BlcnR5IHdvcmtzCgkgIGNvcnJlY3RseSB3aGVuIGJvZ3VzIHN0YXJ0LWNhcHR1cmUgY2FsbHMgYXJlIG1hZGUuCgkgIFRoaXMgZmFpbHMgY3VycmVudGx5LCBidXQgc2hvdWxkIHJlbWluZCB1cyBvZiBmaXhpbmcgaXQgaW4KCSAgdGhlIGZ1dHVyZSBieSBkZWZpbmluZyBhIHByb3BlciBlcnJvciByZXBvcnRpbmcgZnJvbSBjYW1lcmEKCSAgc291cmNlcyB0byBjYW1lcmFiaW4yCgoyMDExLTAzLTE1IDE1OjM0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFNwcmlua2xlIHNvbWUgJ2lkbGUnIHByb3BlcnR5IGNoZWNrcwoJICBBZGRzIHNvbWUgY2hlY2tzIGZvciAnaWRsZScgcHJvcGVydHkgaW4gY2FtZXJhYmluMiB0ZXN0cwoKMjAxMS0wMy0xNSAxNToxMTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkcyBuZXcgaWRsZSBwcm9wZXJ0eQoJICBBZGRzIGlkbGUgcHJvcGVydHkgKGp1c3QgbGlrZSBjYW1lcmFiaW4xKSwgYSBib29sZWFuIHRoYXQKCSAgaXMgdHJ1ZSB3aGVuIGNhbWVyYWJpbjIgaXNuJ3QgcHJvY2Vzc2luZyBhbmQgY2FuIGJlIHNodXQgZG93bgoJICB3aXRob3V0IGxvc2luZyBkYXRhLgoKMjAxMS0wMy0xNSAxMDo1MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIHRlc3RzIGZvciBuZXcgaW1hZ2UgY2FwdHVyZSBwcm9wZXJ0aWVzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgdGhhdCBjaGFuZ2luZyBlbmNvZGVyL211eGVyIGZvciBpbWFnZSBjYXB0dXJlCgkgIHdvcmtzCgoyMDExLTAzLTE1IDEwOjExOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHByb3BlcnRpZXMgZm9yIGltYWdlIGNhcHR1cmUgc2V0dGluZ3MKCSAgQWRkcyBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgaW1hZ2UgZW5jb2RlciBhbmQgbXV4ZXIgZm9yCgkgIGltYWdlIGNhcHR1cmUKCjIwMTEtMDMtMTQgMTQ6MzM6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNb3JlIGRlYnVnIGxvZwoJICBTbWFsbCByZWZhY3RvcmluZyBhbmQgYWRkaW5nIG1vcmUgZGVidWcgbG9nIHRvIGVuY29kZWJpbiByZWxhdGVkCgkgIHBhdGhzCgoyMDExLTAzLTE0IDE0OjMwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogU2V0IHByZXZpZXcgcGlwZWxpbmUgTlVMTAoJICBTZXQgcHJldmlldyBwaXBlbGluZSB0byBOVUxMIHdoZW4gZnJlZWQgdG8gYmUgYWJsZSB0bwoJICByZWNyZWF0ZSBpdCBvbiB0aGUgZm9sbG93aW5nIGxpbmVzCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTIyIDIwOjUzOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBhbHNvICM0MzI2MTIuCgoyMDExLTAzLTIyIDEzOjE4OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY2hhaW4gdXAgdG8gcGFyZW50IGZpbmFsaXplCgoyMDExLTAzLTIyIDEzOjQ2OjQyICswMTAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IENvcnJlY3RseSBoYW5kbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBzdG9wPT0tMQoJICBGaXhlcyBidWcgIzY0NTQyMC4KCjIwMTEtMDMtMjIgMTI6MzQ6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpCgkgIGNsZWFuZWQgdGhlIHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKSBpbiBjb25maWd1cmUuYWMKCjIwMTEtMDMtMTggMTk6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiB3aW5nbyBzaWduZWQgY29tbWVudAoKMjAxMS0wMy0yMSAxMzozMToxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgemVicmFzdHJpcGU6IEFkZCBuZXcgR3N0VmlkZW9GaWx0ZXIyIGJhc2UgY2xhc3MKCSAgQW4gZXhwZXJpbWVudC4gIE5vdCBjb21wbGV0ZWx5IGhhcHB5IHdpdGggaXQuCgoyMDExLTAzLTIxIDIwOjQwOjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgYWxsIElTTzg4NTkteCBlbmNvZGluZ3MgaW4gZ2V0X2VuY29kaW5nKCkKCSAgLi4uIGFjY29yZGluZyB0byBFVFNJIEVOIDMwMCA0NjgsICJTZWxlY3Rpb24gb2YgY2hhcmFjdGVyIHRhYmxlIgoKMjAxMS0wMi0yMSAxMTo0NDowMSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvIG5vdCB0cnkgdG8gcGFyc2UgcGFja2V0cyBjb250YWluaW5nIHNlY3Rpb24gZGF0YSBhcyBQRVMKCjIwMTEtMDItMjEgMTE6NDI6NTQgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIHN0cmVhbSB0eXBlcyBmb3IgRFNNIENDIEEsIEIsIEMsIEQKCjIwMTEtMDMtMjEgMTg6NTQ6NDYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcGxheWJhY2sgaWYgUE1UIGlzIHNlZW4gYmVmb3JlIFBBVAoJICBUaGUgc3RyZWFtIGZvciB0aGUgUE1UIHBpZCBoYXMgdG8gYmUgY2xlYXJlZCBzaW5jZSB0aGUgdmVyc2lvbiBjaGVja2luZwoJICBpbiB0aGUgcGFja2V0aXplciB3b24ndCBlbWl0IHRoZSBzYW1lIFBNVCBhZ2FpbiBvdGhlcndpc2UuCgoyMDExLTAzLTIxIDE2OjUxOjE2ICswMTAwICBBbmRyZWFzIEZyaXNjaCA8YW5kcmVhcy5mcmlzY2hAbXVsdGltZWRpYS1sYWJzLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTZXQgcGFyc2VkPXRydWUgaW4gdGhlIHNyY3BhZCBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjQ1NDEyLgoKMjAxMS0wMy0yMSAxMDozODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBMb3dlciB0aGUgcmFuayB0byBNQVJHSU5BTAoJICBUaGUgcmF0aW9uYWxlIGlzIHRoYXQgaXQgY2FuJ3QgYmUgcHJvcGVybHkgdXNlZCByaWdodCBub3cgd2hlbiB1c2luZwoJICBpdCB0byBlbmNvZGUgbXBlZzJ2aWRlbyBiZWNhdXNlIG9mIHRoZSBuZWVkcy10by1iZS1yZXdyaXR0ZW4gcHJvcGVydGllcwoJICBhbmQgZm9ybWF0IG5lZ290aWF0aW9uLiBPdGhlciBlbmNvZGVycyB3aWxsIG5lZ290aWF0ZSBpbiBhIG11Y2ggc2FuZXIKCSAgZmFzaGlvbi4KCSAgT25lIHN1Y2ggZXhhbXBsZSBpcyB0aGF0IHdoZW4geW91IHBpY2sgbXBlZzJlbmMgZm9yIG1wZWcydmlkZW8sIHRoZQoJICBkZWZhdWx0IHZhbHVlIGZvciB0aGUgJ2Zvcm1hdCcgcHJvcGVydHkgaXMgIkdlbmVyaWMgTVBFRy0xIiwgd2hpY2ggaXMKCSAgY29tcGxldGVseSB3cm9uZyBpZiBkb3duc3RyZWFtIGNhcHMgYXJlIG1wZWcyLiBUaGUgd2hvbGUgbmVnb3RpYXRpb24KCSAgY29kZSBuZWVkcyBzb21lIHNlcmlvdXMgbG92aW5nIGJlZm9yZSB0aGlzIHBsdWdpbiBjYW4gYmUgYnVtcGVkIGJhY2sKCSAgdXAgdG8gYSBoaWdoZXIgcmFuay4KCjIwMTEtMDMtMTYgMDk6NTA6MzQgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGFkZCAiZnJhbWVzLWRyb3BwZWQiIGFuZCAiZnJhbWVzLXJlbmRlcmVkIiBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM0NjkKCjIwMTEtMDMtMTggMDk6MzM6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGluIHRoZSBJNDIwIGJsZW5kaW5nIGZ1bmN0aW9uCgoyMDExLTAzLTE3IDIwOjE5OjI3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IHVzaW5nIGFscGhhIHZhbHVlcyBpbiBibGl0dGluZy4KCSAgVXNlIGVhY2ggcGl4ZWwncyBvd24gYWxwaGEgdmFsdWUgaW5zdGVhZCBvZiBhdmVyYWdlIGFscGhhIHZhbHVlIHdoZW4KCSAgY2FsY3VsYXRpbmcgY29sb3IgY29tcG9uZW50cy4gRml4ZXMgYnVnICM2Mzk3NjMuCgoyMDExLTAzLTE3IDE2OjM0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogZml4IExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMy0xNiAxNTo1MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgRklYTUUgZm9yIG1ha2luZyB0aGUgYmFzZSBjbGFzcyB1c2UgeGluZyBzZWVrIHRhYmxlcyBiZXR0ZXIKCjIwMTEtMDMtMTcgMTY6NDE6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHVzZSAic3VuIiBhcyBhIHZhcmlhYmxlIG5hbWUsIGJyZWFrcyBvbiBTb2xhcmlzCgkgIFNlZW1zIGxpa2UgdGhlIFNvbGFyaXMgY29tcGlsZXIgaGFzIC1Ec3VuPTEsIHNvIGRvbid0IHVzZQoJICBzdW4gYXMgYSB2YXJpYWJsZSBuYW1lCgkgIFBhdGNoIGJ5IFRpbSBNb29uZXkgPG1vb25leUBkb2diZXJ0LmNjLm5kc3Uubm9kYWsuZWR1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MDUzCgoyMDExLTAzLTE3IDE1OjI3OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNobTogQ2hlY2sgZm9yIE1TR19OT1NJR05BTCBtYWNybwoJICBEb24ndCBidWlsZCB0aGUgcGx1Z2luIGlzIE1TR19OT1NJR05BTCBpcyBub3QgZGVmaW5lZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MDUzCgoyMDExLTAzLTE2IDE4OjUyOjI0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBLZWVwIHNobXNpbmsgcmVmZXJlbmNlZCB3aGlsZSB0aGVyZSBhcmUgc3RpbGwgYnVmZmVycyBhcm91bmQKCjIwMTEtMDMtMTYgMTg6NTE6NTAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFsbG93IFNobVBpcGUgdG8gc2F2ZSBhIGRhdGEgcG9pbnRlciBmb3IgYXBwbGljYXRpb25zCgoyMDExLTAzLTE2IDE4OjUxOjAyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEtlZXAgdGhlIFNobVBpcGUgYWxpdmUgYXMgbG9uZyBhcyB0aGVyZSBhcmUgYmxvY2tzIGxlZnQKCjIwMTEtMDMtMDkgMTk6MzQ6MzkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogT25seSBjb25uZWN0IHRvIHNpbmsgaW4gUExBWUlORyBpbiBsaXZlIG1vZGUKCjIwMTEtMDMtMDkgMTk6MzQ6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogS2VlcCBHc3RQb2xsIGZvciB3aG9sZSBzcmMgbGlmZXRpbWUKCjIwMTEtMDMtMTUgMDk6MTU6MzUgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCBhbiBhc3NlcnRpb24gdG8gcHJldmlldyBwaXBlbGluZSBnZW5lcmF0aW9uCgkgIEFkZHMgYW4gYXNzZXJ0aW9uIGluIGNhc2UgdGhlIHByZXZpZXcgcGlwZWxpbmUgaXMgTlVMTCBhbmQgYWxzbwoJICBleHBsaWNpdGx5IGluaXRpYWxpemVzIHByZXZpZXcgY2FwcyB0byBOVUxMIGZvciBjbGFyaXR5LgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAzLTE0IDEyOjM5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGJyb2tlbiBwYWQgY2FwcyByZWZjb3VudCBoYW5kbGluZwoJICBnc3RfY2Fwc19tYWtlX3dyaXRhYmxlKCkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZCBpbiwgYnV0CgkgIHRoZSBjYWxsZXIgZG9lc24ndCBvd24gYSByZWYgdG8gdGhlIGNhcHMgaGVyZSwgYmVjYXVzZSBHU1RfUEFEX0NBUFMKCSAgZG9lc24ndCByZXR1cm4gYSByZWYuIExvb2tzIGxpa2UgdGhlIGNvZGUgcmVsaWVkIG9uIGEgY2FwcyBsZWFrCgkgIGVsc2V3aGVyZSBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LgoKMjAxMS0wMy0xNCAxMjozMzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGVycm9yIG91dCBpZiBkb3duc3RyZWFtIGZhaWxzIHRvIGhhbmRsZSB0aGUgbmV3c2VnbWVudCBldmVudAoJICBJZiBkb3duc3RyZWFtIGRvZXNuJ3QgaGFuZGxlIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBkb24ndCBlcnJvciBvdXQgKGVzcC4KCSAgbm90IHdpdGhvdXQgcG9zdGluZyBhIHByb3BlciBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMpLCBidXQganVzdCBjb250aW51ZS4KCSAgSWYgdGhlcmUncyBhIHByb2JsZW0sIHdlJ2xsIGZpbmQgb3V0IHdoZW4gd2Ugc3RhcnQgcHVzaGluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDExLTAzLTExIDE0OjQwOjQ0ICswMDAwICBBbmRyZWFzIEZyaXNjaCA8YW5kcmVhcy5mcmlzY2hAbXVsdGltZWRpYS1sYWJzLmRlPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTAzLTExIDE4OjIzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHF1ZXVlcyB0byBzaWxlbnQKCSAgT3B0aW1pemUgYSBsaXR0bGUgYnkgc2V0dGluZyBxdWV1ZXMgdG8gc2lsZW50CgoyMDExLTAzLTExIDE2OjIwOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZWZhY3RvcmluZyBlbmNvZGViaW4gdXNhZ2UKCSAgUmVmYWN0b3Igc29tZSBjb21tb24gY29kZSByZWdhcmRpbmcgZW5jb2RlYmluIHVzYWdlIGluIGNhbWVyYWJpbjIKCjIwMTEtMDMtMTEgMTc6MDc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IG51bWJlciBvZiBpdGVyYXRpb24gb2YgdGVzdHMKCSAgVGhlcmUgYXJlIDMgdGFnbGlzdCB0ZXN0cywgbm90IDIKCjIwMTEtMDMtMTEgMTA6MzI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFNvbWUgbWVtbGVhayBmaXhlcwoKMjAxMS0wMy0wOCAwOTo0Mzo1OCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBiYXNlY2FtZXJhc3JjOiB3cmFwcGVyY2FtZXJhYmluc3JjOiBjYW1lcmFiaW4yOiBFeHBvc2UvYWRkIGZsb2F0aW5nIHBvaW50IHpvb20gcHJvcGVydHkKCjIwMTEtMDMtMDQgMTU6NTM6NDIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIGRlYWQgZGVmaW5pdGlvbgoJICBUaGlzIGRlZmluaXRpb24gaXMgdW51c2VkIGluIHRoaXMgY29kZS4KCjIwMTEtMDMtMTAgMTE6Mzg6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBdm9pZCBjbGVhcmluZyByZWNvcmRpbmcgY2FwcwoJICBXaGVuIHJlY29yZGluZyAyIHZpZGVvcyBpbiBzZXF1ZW5jZSB3aXRoIHRoZSBzYW1lIHZpZGVvLWNhcHR1cmUtY2FwcywKCSAgdGhlIHNlY29uZCB2aWRlbyB3b3VsZCBnZXQgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBiZWNhdXNlIHRoZQoJICBzcmMgY2FwcyB3ZXJlIGJlaW5nIGNsZWFyZWQgd2l0aG91dCBhbnkgaW50ZW50aW9uIG9mCgkgIHJlbmVnb3RpYXRpbmcgaXQgYmFjayB0byB0aGUgcmVxdWVzdGVkIGNhcHR1cmUgY2Fwcy4KCSAgVGhpcyBwYXRjaCBhdm9pZHMgdGhpcyBjYXBzIHJlc2V0IHByb2NlZHVyZSB1bmxlc3MgYSBuZXcKCSAgY2FwcyB3YXMgc2V0LgoKMjAxMS0wMy0xMSAxNDozNzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQWRkIGNvcnJlY3QgdGVtcGxhdGUgY2FwcyBhbmQgZWxlbWVudCBkZXRhaWxzCgoyMDExLTAzLTExIDEwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBmaXggTERBREQvTElCUyBwYXRoIG9yZGVyIGZvciBjYW1lcmFiaW4yIGV4YW1wbGUKCjIwMTEtMDMtMTEgMTA6MzQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCBsZWFrIGVsZW1lbnQgbmFtZSBzdHJpbmdzCgkgIERvbid0IGxlYWsgc3RyaW5nIGNvcHkgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfZ2V0X25hbWUoKS4gQWxzbywgY2hlY2sKCSAgZm9yIGNlcnRhaW4gZWxlbWVudHMgYnkgY2hlY2tpbmcgdGhlIHBsdWdpbiBmZWF0dXJlIC8gZmFjdG9yeSBuYW1lLCBub3QKCSAgdGhlIGFzc2lnbmVkIG9iamVjdCBuYW1lLgoKMjAxMS0wMy0xMSAxMDoyNjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiByZW1vdmUgbW9yZSB0YXJraW4vdGhlb3JhZXhwIGJ1aWxkIGNydWZ0CgoyMDExLTAzLTEwIDEzOjM5OjQwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJKiBleHQvdGFya2luL1JFQURNRToKCSogZXh0L3Rhcmtpbi9UT0RPOgoJKiBleHQvdGFya2luL1dIQVRfVEhFX0hFQ0tfSVNfVEhJU19DT0RFX0RPSU5HOgoJKiBleHQvdGFya2luL2JpdGNvZGVyLmg6CgkqIGV4dC90YXJraW4vZ29sb21iLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkqIGV4dC90YXJraW4vaW5mby5jOgoJKiBleHQvdGFya2luL21lbS5jOgoJKiBleHQvdGFya2luL21lbS5oOgoJKiBleHQvdGFya2luL3JsZS5oOgoJKiBleHQvdGFya2luL3Rhcmtpbi5jOgoJKiBleHQvdGFya2luL3Rhcmtpbi5oOgoJKiBleHQvdGFya2luL3dhdmVsZXQuYzoKCSogZXh0L3Rhcmtpbi93YXZlbGV0Lmg6CgkqIGV4dC90YXJraW4vd2F2ZWxldF9jb2VmZi5jOgoJKiBleHQvdGFya2luL3dhdmVsZXRfeGZvcm0uYzoKCSogZXh0L3Rhcmtpbi95dXYuYzoKCSogZXh0L3Rhcmtpbi95dXYuaDoKCSogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB0aGVvcmEsdGFya2luOiBSZW1vdmUgYW5jaWVudCB1bnVzZWQgY29kZQoKMjAxMS0wMy0xMCAxNjowMzo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgZm9yIFBUUyBtZXRhZGF0YSB3aGVuIHNvIGNvbmZpZ3VyZWQKCSAgLi4uIGFuZCBub3Qgb25seSB3aGVuIHNvcnQtb2YgZmVlbGluZyBsaWtlIGl0LgoJICBJbiBhbnkgY2FzZSwgaWYgaXQgdHVybnMgb3V0IGFsbCByZWFsbHkgaXMgaW4gb3JkZXIsCgkgIGFuZCBwcmVzdW1hYmx5IERUUyA9PSBQVFMsIHRoZW4gbm8gY3R0cyB3aWxsIGJlIHByb2R1Y2VkIGFueXdheS4KCjIwMTEtMDMtMTAgMTY6MDI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbHNvIHRyYWNrIG9yaWdpbmFsIFBUUyBidWZmZXIgdGltZXN0YW1wIGluIHJlb3JkZXIgZHRzLW1ldGhvZAoKMjAxMS0wMy0wOSAxNDo1MzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZvcmNlIEVPUyBvbiBhdWRpbyBzcmMKCSAgV2UgY2FuJ3QgcmVseSBvbiBhdWRpbyBzb3VyY2VzIHB1c2hpbmcgRU9TIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBiZWNhdXNlIHRoaXMgaXMgYSBiYXNlc3JjIGJhaGF2aW9yIGFuZCB3aGVuIHVzZWQgaW5zaWRlIGF1dG9hdWRpb3NyYwoJICB0aGUgZ2hvc3RwYWQgZ29lcyBmbHVzaGluZyBiZWZvcmUgdGhlIHJlYWwgc291cmNlIHB1c2hlcyB0aGUgRU9TLAoJICBzbyBpdCBpcyBkcm9wcGVkLgoKMjAxMS0wMy0wNCAwNjowNjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IE5vIG5lZWQgZm9yIHN0YXJ0aW5nIHNlZ21lbnQKCjIwMTEtMDMtMDQgMDY6MDk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGdzdGNhbWVyYWJpbjI6IFNldCBlbmNvZGViaW4ncyB2aWRlb3JhdGUgYW5kIGF1ZGlvcmF0ZSBwcm9wZXJ0aWVzCgkgIExpc3RlbiB0byBlbmNvZGViaW4ncyBlbGVtZW50LWFkZGVkIHNpZ25hbCB0byBiZSBhYmxlIHRvIHNldAoJICBza2lwLXRvLWZpcnN0IG9uIGJvdGggYXVkaW9yYXRlcyBhbmQgdmlkZW9yYXRlcy4KCjIwMTEtMDItMTUgMTQ6NTg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgYXVkaW8gZWxlbWVudHMgc3RhdGVzCgkgIEF1ZGlvIGVsZW1lbnRzIGFyZSBwdXQgaW50byBiaW4gb25seSB3aGVuIG5lZWRlZCwgc28gd2UgbmVlZAoJICB0byBiZSBjYXJlZnVsIHdpdGggdGhlaXIgc3RhdGVzIGFzIGNhbWVyYWJpbjIgd29uJ3QgbWFuYWdlCgkgIHRoZW0gaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgYmluLgoJICBBbHNvIHdlIHNob3VsZCByZXNldCB0aGVpciBwYWQncyBmbHVzaGluZyBzdGF0dXMgYmVmb3JlCgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUuCgoyMDExLTAxLTIxIDEyOjQ3OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdGVzdHM6IFVwZGF0ZSB0ZXN0cyB0byBjaGVjayBmb3IgYXVkaW8gc3RyZWFtcwoJICBBZGQgYSBjaGVjayB0aGF0IHJlc3VsdGluZyByZWNvcmRlZCB2aWRlbyBmaWxlcyBoYXZlIGF1ZGlvIHN0cmVhbXMuCgoyMDExLTAxLTIxIDEwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW46IGFkZGluZyBhdWRpbyByZWxhdGVkIHByb3BlcnRpZXMKCSAgQWRkcyA0IGF1ZGlvIHByb3BlcnRpZXMgcmVsYXRlZCB0byBhdWRpbyByZWNvcmRpbmcKCSAgKiBhdWRpby1zcmMKCSAgKiBtdXRlCgkgICogYXVkaW8tc3VwcG9ydGVkLWNhcHR1cmUtY2FwcwoJICAqIGF1ZGlvLWNhcHR1cmUtY2FwcwoKMjAxMS0wMS0yMCAwOTozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGF1ZGlvIHN1cHBvcnQgZm9yIHZpZGVvIHJlY29yZGluZ3MKCSAgQWRkcyBhbiBhdWRpbyBzb3VyY2UgYW5kIGF1ZGlvIGNhcHNmaWx0ZXIvcXVldWUvY29udmVydCwgY3JlYXRpbmcKCSAgYSBuZXcgYnJhbmNoIG9uIGNhbWVyYWJpbjIgdGhhdCBpcyB1c2VkIHRvIGZlZWQgZW5jb2RlYmluIHdpdGgKCSAgYXVkaW8gYnVmZmVycyBmb3IgdmlkZW8gcmVjb3JkaW5nLgoKMjAxMS0wMi0yOCAxNTo0Mzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBsb2dnaW5nIGZvciBzdG9wLWNhcHR1cmUgc2lnbmFsCgoyMDExLTAyLTI0IDE4OjI4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHZpZXdmaW5kZXIgY2FwcyByZWxhdGVkIHByb3BlcnRpZXMKCSAgQWRkcyBwcm9wZXJ0aWVzIHRvIGNoZWNrIHdoYXQgY2FwcyBhcmUgc3VwcG9ydGVkIG9uIHRoZQoJICB2aWV3ZmluZGVyIChmcm9tIHRoZSBjYW1lcmFzcmMgdmlld2ZpbmRlciBwYWQpIGFuZCBhbm90aGVyCgkgIG9uZSB0byBzZXQgYSBjYXBzIGZvciB0aGUgdmlld2ZpbmRlci4KCjIwMTEtMDItMjQgMTc6NDI6MjEgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogYWRkIHZpcnR1YWwgZnVuY3Rpb24gdG8gbm90aWZ5IHN1YmNsYXNzIG9mIGNoYW5naW5nIHByZXZpZXcgY2FwcwoJICBBZGRzIGEgdmlydHVhbCBmdW5jdGlvbiB0byBiYXNlY2FtZXJhc3JjIGluIGNhc2Ugc3ViY2xhc3NlcyB3YW50IHRvIGJlCgkgIG5vdGlmaWVkIG9mIGNoYW5naW5nIHByZXZpZXcgY2Fwcy4gVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHN1YmNsYXNzIHdhbnRzCgkgIHRvIHBvc3QgdGhlIHByZXZpZXcgaXRzZWxmIG9yIGlmIGl0IHdhbnRzIHRvIHByb3ZpZGUgYSBwcmV2aWV3IGJ1ZmZlcgoJICBhcyBjbG9zZSB0byBhcyBwb3NzaWJsZSB0byB0aGUgdXNlcidzIHJlcXVlc3RlZCByZXNvbHV0aW9uIHRvIHRoZQoJICBwcmV2aWV3IGdlbmVyYXRpb24gcGlwZWxpbmUuCgoyMDExLTAyLTIyIDEzOjEwOjE1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBvcHRpb24gZm9yIHNldHRpbmcgdGhlIHdyYXBwZXIgY2FtZXJhIHNvdXJjZQoKMjAxMS0wMi0yMSAxNzowNDowNiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgZW5jb2RpbmcgcHJvZmlsZSBsb2FkaW5nCgoyMDExLTAyLTE3IDE0OjUxOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IG5ld3NlZ21lbnQgcHVzaGluZwoJICBTZW5kIHVwZGF0ZSBuZXdzZWdtZW50cyBpbnN0ZWFkIG9mIG5vbi11cGRhdGUgb25lcwoJICBmb3IgdGhlIHZpZGVvIGJyYW5jaCB3aGVuIHN0YXJ0aW5nIHJlY29yZGluZ3MKCjIwMTEtMDItMTUgMTQ6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgc29tZSBxdWV1ZSdzIHByb3BlcnRpZXMKCSAgU2V0cyB2aWV3ZmluZGVyIHF1ZXVlIHRvIGxlYWt5IGFuZCB0ZWxsIGltYWdlIGJyYW5jaAoJICBxdWV1ZSB0byBkb24ndCBjYXJlIGFib3V0IGR1cmF0aW9ucwoKMjAxMS0wMi0xMCAxMTo1MDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlYWR5IGlzIGVub3VnaCBmb3IgZm9yY2luZyBhIGNhcHMgY2hhbmdlCgoyMDExLTAyLTA5IDE5OjE0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQ2hlY2sgZm9yIGRvd25zdHJlYW0gY2FwcyBvbiBmaXJzdCBjYXB0dXJlcwoJICBVc2UgdmlkZW9fcmVuZWdvdGlhdGUgYW5kIGltYWdlX3JlbmVnb3RpYXRlIGJvb2xlYW5zIHRvIG1ha2UKCSAgdGhlIHZpZGVvc3JjIG5lZ290aWF0ZSB0aGUgY2FwdHVyZSBjYXBzIG9uIHRoZSBmaXJzdCBjYXB0dXJlIGJlY2F1c2UKCSAgdGhlIGNhcHMgbWlnaHQgYmUgc2V0IGJlZm9yZSB3cmFwcGVyY2FtZXJhYmluc3JjIGdvZXMgaW50byBQTEFZSU5HCgkgIGFuZCBwYWRzIGRyb3AgdGhlIGludGVybmFsIHJlbmVnb3RpYXRlIGV2ZW50LgoJICBUaGlzIGlzIHJlcXVpcmVkIGFzIHRoZSBvdXRwdXQtc2VsZWN0b3IgaXMgdXNpbmcgdGhlICdub25lJyBuZWdvdGlhdGlvbgoJICBtb2RlLgoKMjAxMS0wMi0wOSAxOTowOToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEF2b2lkIGZpeGF0aW5nIGNhcHR1cmUgY2FwcwoJICBXaGVuIHNldHRpbmcgdGhlIGludGVybmFsIGNhcHNmaWx0ZXIgY2FwcyBmb3IgY2FwdHVyZSB3ZSBzaG91bGQgcHV0CgkgIHRoZSBmdWxsIGNhcHMgaW5zdGVhZCBvZiB0cnlpbmcgdG8gZml4YXRlIGl0IG91cnNlbHZlcy4gVGhpcyB3YXkgd2UgbGV0CgkgIHRoZSBlbGVtZW50cyAoYW5kIG1vc3RseSB0aGUgc291cmNlKSBzZWxlY3QgdGhlIGJlc3QgZm9ybWF0IGluc3RlYWQKCSAgb2YgZGVmYXVsdGluZyB0byB3aGF0IHRoZSBwYWQgZml4YXRpb24gZnVuY3Rpb24gcGlja3MuCgoyMDExLTAyLTA5IDA4OjI3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWxsb3cgZnJlZSBpbWFnZSBkaW1lbnNpb25zCgkgIENoYW5nZXMgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0IG9mIGNhcHR1cmVzIHNvIHRoYXQgaXQgd2lsbAoJICBiZSBhdXRvcGlja2VkIGJ5IGNhbWVyYWJpbjIgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGFuIG9wdGlvbgoKMjAxMS0wMi0wOSAwODoxNTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEJhY2twb3J0IGZpeCBmcm9tIGNhbWVyYWJpbiBleGFtcGxlCgkgIFdlIHNob3VsZCBvbmx5IGNoZWNrIGlmIHRoZSB4d2luZG93IHNob3VsZCBiZSBjcmVhdGVkIGlmIHdlIGFscmVhZHkKCSAgcGFyc2VkIHRoZSBhcmd1bWVudHMgb2YgdGhlIHByb2dyYW0KCjIwMTEtMDItMDQgMTQ6NTM6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBNb3ZpbmcgcHJldmlldyBpbWFnZSBwcm9wZXJ0aWVzIHRvIGJhc2VjYW1lcmFzcmMKCSAgTW92ZXMgcHJldmlldyBpbWFnZSByZWxhdGVkIHByb3BlcnRpZXMgdG8gYmFzZWNhbWVyYXNyYyBhcyB0aGF0CgkgIHNob3VsZCBiZSBwcmVzZW50IG9uIGFsbCBjYW1lcmFzcmNzCgoyMDExLTAyLTA4IDE1OjUxOjQyICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IEZpeCBnZXR0aW5nIGVsZW1lbnQgaW1wbGVtZW50aW5nIHBob3RvZ3JhcGh5IGlmYWNlCgoyMDExLTAyLTAzIDEyOjAyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogTW92ZSBwcmV2aWV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYmFzZWNhbWVyYWJpbnNyYwoJICBNb3ZlIHByZXZpZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBiYXNlYWNhbWVyYWJpbnNyYyBzbyB0aGV5IGNhbgoJICBiZSByZXVzZWQgYnkgbXVsdGlwbGUgY2FtZXJhYmluMiBzb3VyY2VzLgoKMjAxMS0wMi0wMyAxNjo1ODozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBnc3QtY2FtZXJhYmluMi10ZXN0IGV4YW1wbGUgYXBwbGljYXRpb24sIHNpbWlsYXIgdG8KCSAgZ3N0LWNhbWVyYWJpbi10ZXN0IGZvciBjYW1lcmFiaW4uCgkgIEl0IGlzIHVzZWZ1bCBmb3IgdGFraW5nIHBpY3R1cmVzIGFuZCByZWNvcmRpbmcgdmlkZW9zIHVzaW5nCgkgIGNhbWVyYWJpbjIgYW5kIHByb3ZpZGluZyBhcmd1bWVudHMgZm9yIG1vc3Qgb2YgY2FtZXJhYmluMgoJICBwcm9wZXJ0aWVzCgoyMDExLTAyLTA0IDEyOjM2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHZpZXdmaW5kZXItc2luayBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0IHRoZSB2aWV3ZmluZGVyJ3Mgc2luayBvZiBjYW1lcmFiaW4yCgoyMDExLTAzLTA5IDEzOjE5OjUwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBmaXggZG91YmxlIGZyZWUoKSBjcmFzaGVzCgoyMDExLTAzLTA4IDE3OjI5OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wOCAxNzowMzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgbWV0YTogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTAzLTA4IDExOjE5OjQxICswMDAwICBCeWVvbmctcnllb2wgS2ltIDxicm9ma2ltc0BnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb2ZpbHRlcnM6IGxpbmsgdG8gbGlibQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0MTc2CgoyMDExLTAzLTA3IDIyOjQxOjMwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHVwZGF0ZSB1cmwgZm9yIHBvcnQtZ3JvdXBzIGV4dGVuc2lvbgoKMjAxMS0wMy0wNyAxMDozNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IFRoZSBwa2ctY29uZmlnIGZpbGUgaW4gdmVyc2lvbiAxLjUgaXMgY2FsbGVkIHNvdW5kdG91Y2gKCjIwMTEtMDItMjYgMTY6MjA6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgemVicmFzdHJpcGU6IE5ldyBlbGVtZW50CgkgIEFkZHMgemVicmEgc3RyaXBlcyB0byBvdmVyZXhwb3NlZCB2aWRlby4KCjIwMTEtMDMtMDQgMTc6Mzc6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBleHQ6IEFsd2F5cyBkaXN0IHRoZSBjdXJsIGRpcmVjdG9yeQoJICBFdmVudCBpZiB3ZSBjYW4ndCBidWlsZCBpdC4gRml4ZXMgbWFrZSBkaXN0CgoyMDExLTAzLTA0IDE3OjI2OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgIHNmc2luazogdXNlIGJhc2VzaW5rIHByZXJvbGwgbG9jawoKMjAxMS0wMy0wNCAxMzozOTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGRpc2FibGUgdW50aWwgc29tZW9uZSBwb3J0cyBpdAoKMjAxMS0wMy0wNCAxMzoyOToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDQgMTI6MTE6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkKCjIwMTEtMDMtMDQgMTI6MTA6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybHNpbms6IEZpeCBwcmludC1yZWxhdGVkIGlzc3VlcwoKMjAxMS0wMy0wNCAxMTo1OTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkuCgoyMDExLTAzLTA0IDA5OjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSAgZmllbGRhbmFseXNpczogYWRkIGJhY2t1cCBmaWxlcyBmb3IgY29tcGlsaW5nIHdpdGhvdXQgb3JjCgoyMDExLTAzLTAzIDAwOjU3OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogYWxsb2NhdGUgSDI2M1BhcmFtcyBzdHJ1Y3Qgb24gdGhlIHN0YWNrCgkgIEl0J3MgZmxhdCBhbmQgbm90IGtlcHQgYXJvdW5kIGZvciBsb25nZXIuCgoyMDExLTAzLTAzIDAwOjQ1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogbWlub3IgY2xlYW4tdXBzCgkgIGNvbnN0LWlmeSBzb21lIGFyZ3VtZW50cyBhbmQgcmUtaW5kZW50IGhlYWRlciBhIGxpdHRsZS4KCjIwMTEtMDItMjggMTE6NTE6NTQgKzAxMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogZml4IHN5bmMgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZQoKMjAxMS0wMy0wMiAyMzo0Mzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBGaXggY29tcGlsYXRpb24gd2l0aCBjZWx0ID49IDAuMTEuMAoJICBGaXhlcyBidWcgIzY0MzYwNy4KCjIwMTAtMDktMTUgMTc6MzI6MDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgZmllbGRhbmFseXNpczogQWRkIGZpZWxkYW5hbHlzaXMgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgYW5hbHlzZXMgdmlkZW8gYnVmZmVycyB0byBpZGVudGlmeSBpZiB0aGV5IGFyZSBwcm9ncmVzc2l2ZSwKCSAgaW50ZXJsYWNlZCBvciB0ZWxlY2luZWQgYW5kIG91dHB1dHMgYnVmZmVycyB3aXRoIGFwcHJvcHJpYXRlIGZsYWdzIGZvciBhCgkgIGRvd25zdHJlYW0gZWxlbWVudCAod2hpY2ggd2lsbCBiZSB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudCwgYWZ0ZXIgc29tZQoJICBmb3J0aGNvbWluZyBtb2RpZmljYXRpb25zKSB0byBiZSBhYmxlIHRvIG91dHB1dCBwcm9ncmVzc2l2ZSBmcmFtZXMgYW5kCgkgIGFkanVzdCB0aW1lc3RhbXBzIHJlc3VsdGluZyBpbiBhIHByb2dyZXNzaXZlIHN0cmVhbS4KCjIwMTEtMDMtMDEgMTE6MjM6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHJlY2VudCBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wMy0wMSAxMToxNjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgZG9jczogYWRkIG5ldyBjdXJsIHBsdWdpbiBhbmQgY3VybHNpbmsgZWxlbWVudCB0byBkb2NzCgoyMDExLTAzLTAxIDEwOjQ5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGNoZWNrIGZvciBwbGF0Zm9ybSBzb2NrZXQgaGVhZGVycyBuZWVkZWQgYnkgY3VybHNpbmsgZWxlbWVudAoKMjAxMS0wMy0wMSAxMDowMzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJICBjdXJsc2luazogbm8gbmVlZCBmb3IgYSBwcml2YXRlIGluc3RhbmNlIHN0cnVjdHVyZQoJICBUaGUgZW50aXJlIGluc3RhbmNlIHN0cnVjdHVyZSBpcyBwcml2YXRlIGFueXdheS4KCjIwMTEtMDMtMDEgMDk6NTY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybHNpbms6IGNsZWFuIHVwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBjb2RlCgkgIEZpeCBzb21lIHR5cG9zLCB1c2Ugc2FtZSBzdHlsZSBhcyBpbiBhbGwgb3RoZXIgcGx1Z2lucywgYXZvaWRpbmcKCSAgdW5uZWNlc3NhcnkgdGVtcG9yYXJ5IEdQYXJhbVNwZWMgdmFyaWFibGVzOyB1c2UgR19QQVJBTV9TUEVDX1NUQVRJQ19TVFJJTkdTLgoKMjAxMS0wMi0yNiAyMDoyMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgY3VybDogYWRkIGNvbmZpZ3VyZSBjaGVjayBhbmQgaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTEtMDItMjYgMjA6MjA6MzMgKzAwMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSAgY3VybDogYWRkIGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50CgkgIFNpbmsgYWN0cyBhcyBhIGNsaWVudCBhbmQgY2FuIGNvbm5lY3QgdG8gc2VydmVycyB0bwoJICB1cGxvYWQgbWVkaWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE0OTYKCjIwMTEtMDItMjUgMTQ6MjQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkgIGpwMmtkZWM6IHBvc3QgcHJvcGVyIGVycm9yIHdoZW4gdGhlIGltYWdlJ3MgY29sb3VyIHNwYWNlIGlzIG5vdCBzdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzExNQoKMjAxMS0wMi0yOCAyMDoxOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY3lnd2luL21pbmd3OyBlbmFibGUgcGx1Z2luIGxpbmtpbmcgdG8gc3RhdGljIGxpYgoJICBVc2VmdWwgZm9yIERpcmVjdFggcGx1Z2luKHMpLgoJICBGaXhlcyAjNjQyNTA3LgoKMjAxMS0wMi0yOCAxOTo1ODo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IHBsdWdpbiBkZXNjcmlwdGlvbiBtb3JlIHBsYXRmb3JtIGluZGVwZW5kZW50CgkgIEZpeGVzICM2NDI1MDQuCgoyMDExLTAyLTI4IDE4OjMzOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWRlN2Y2YSB0byA2YWVjNmI5CgoyMDExLTAyLTI3IDE5OjM5OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgbWV0YTogZml4IGZvciBuZXcgbWV0YWRhdGEgYXBpCgoyMDExLTAyLTI2IDE0OjU0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZjogZml4IGNsYXNzIHN0cnVjdAoJICBGaXggY2xhc3MgcGFyZW50IHN0cnVjdHVyZQoJICBNZXRhZGF0YSBpcyBub3cgR09iamVjdAoKMjAxMS0wMi0yNiAxNDoyMjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgbWluaW9iamVjdDogcG9ydCByc25kdmQKCjIwMTEtMDItMjYgMTM6Mzk6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBtaW5pb2JqZWN0OiBwb3J0IHRvIG5ldyAwLjExIEFQSQoJICBSZW1vdmUgbWluaW9iamVjdCBhbmQgYnVmZmVyIHN1YmNsYXNzZXN1c2luZyBHT2JqZWN0IHN1YmNsYXNzZXMgYW5kCgkgIG1ldGFkYXRhLgoKMjAxMS0wMi0yOCAxMjowNjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yNSAxOTo1OTowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHNldCBkaXRoZXJpbmcgZW51bSBkaXJlY3RseQoKMjAxMS0wMi0yNSAxOTo1Nzo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIHIyMTAKCjIwMTEtMDItMjMgMTc6MjU6MDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZAoKMjAxMS0wMi0yMyAxNzoyNDoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBmaXgKCjIwMTEtMDItMjQgMDk6Mjk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogdGVzdHM6IEluY3JlYXNlIGJ1cyB3YWl0aW5nIHRpbWVvdXQKCSAgRG91YmxlIGJ1cyB3YWl0aW5nIHRpbWVvdXQgYXMgc29tZXRpbWVzIHRoZSB0ZXN0IHdvdWxkIGZhaWwKCSAgYmVjYXVzZSBpdCB3b3VsZCB0aW1lb3V0IGFuZCBnZXQgbm8gbWVzc2FnZXMgZnJvbSB0aGUgYnVzLgoKMjAxMS0wMi0yMSAxMzoyNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbmFtZSBHVHlwZSBmcm9tIEdzdEF1ZGlvQmFzZVBhcnNlQmFkIHRvIEdzdEJhc2VQYXJzZUJhZAoJICBXZSB1c2UgaXQgZm9yIHZpZGVvIGFzIHdlbGwgbm93LgoKMjAxMS0wMi0yMSAxMjoxNDo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ4NzQwNDc2Y2NkM2EzNDk4ZGM0ZjE4YzE5NzMzNjQzODI1YzdiOC4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIwIDIzOjU3OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDItMjAgMjM6MDE6MzAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggWVVWLT5SR0IgbWF0cml4aW5nCgoyMDExLTAyLTIwIDIyOjQzOjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIGRpdGhlcmluZwoJICBEaXRoZXJpbmcgb25seSBoYXBwZW5zIHdoZW4gYSAxNi1iaXQtcGVyLWNoYW5uZWwgZm9ybWF0IGlzCgkgIGludm9sdmVkLgoKMjAxMS0wMS0xMSAxMDozMjo0NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgIHh2aWRkZWM6IGJvZGdlIHRvIGF2b2lkIGNyYXNoZXMKCSAgSXQgc2VlbXMgeHZpZGNvcmUgb3ZlcnJlYWRzIGl0cyBpbnB1dCBidWZmZXIsIHNvIGEgbmFzdHkgd29ya2Fyb3VuZAoJICBpcyB0byBhbGxvY2F0ZSBzb21lIG1vcmUgbWVtb3J5ICgxNiBieXRlcyBzZWVtIHRvIGJlIGVub3VnaCkuCgkgIFRoZXJlIGlzIG5vIGFwcGFyZW50IGltYWdlIGNvcnJ1cHRpb24gd2l0aCB0aGVzZSBleHRyYSBieXRlcyBzZXQgdG8gMCwKCSAgdmFsZ3JpbmQgaXMgbXVjaCBoYXBwaWVyLCBhbmQgdGhlIGNyYXNoZXMgZ28gYXdheS4KCSAgSXQgaXMgdWdseSwgYW5kIHNsb3dlciB0aG91Z2guIEJ1dCB0aGVuLCB4dmlkZGVjIGlzIGN1cnJlbnRseQoJICBub3QgYXV0b3BsdWdnZWQgZm9yIHBsYXliYWNrIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMzNDEwNwoKMjAxMS0wMi0yMCAxNDoxNDoyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBhIGZldyBmb3JtYXRzCgoyMDExLTAyLTE5IDEzOjEyOjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIDE2LWJpdC1wZXItY2hhbm5lbCBoYW5kbGluZwoKMjAxMS0wMi0xOSAxMzoxMzoxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBtZW1sZWFrCgoyMDExLTAyLTE5IDEzOjA3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHBhcnNlciBpbiBmYXZvciBvZiBiYXNlcGFyc2UKCjIwMTEtMDItMTggMTU6MjQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogY2hhbmdlIHBsdWdpbiBmaWxlbmFtZSBmcm9tIGxpYmdzdGgyNjNwYXJzZSogdG8gbGliZ3N0dmlkZW9wYXJzZXJzYmFkKgoJICBEdWUgdG8gYSByZWdpc3RyeSBidWcgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHJlbW92ZSB5b3VyCgkgIHJlZ2lzdHJ5IGZpbGUgdG8gbWFrZSB0aGUgbmV3IHBsdWdpbiBhcHBlYXIgd2l0aCA+MCBmZWF0dXJlcy4KCjIwMTEtMDItMTggMTU6MTc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IGxvZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQKCjIwMTEtMDItMTggMTU6MDU6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDExLTAyLTE4IDE1OjA1OjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBkZWx0YS11bml0IGZsYWdzIGluc3RlYWQgb2Ygbm9uZQoKMjAxMS0wMi0xOCAxNTowMDowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkgIGluZGV4aW5nLWV4YW1wbGU6IHVzZSBwcm9wZXIgc2lnbmFsIG5hbWVzCgoyMDExLTAyLTE4IDA5OjQwOjAwICswMTAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBhbGxvdyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHgveS93aWR0aC9oZWlnaHQKCjIwMTEtMDItMTggMTI6Mzk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggYnVpbGQKCSAgQWRkIGluY2x1ZGVzIGFuZCBsaW5rIGFnYWluc3QgbmV3IGxpYmdzdGJhc2VwYXJzZSBpbiB0aGUKCSAgYnVpbGQgdHJlZS4KCjIwMTEtMDItMTcgMTQ6MzI6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNkZW11eDogRml4IGRpc3Rpbmcgb2YgaGVhZGVycwoKMjAxMS0wMi0xNyAxMzoyMjoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBkb2N1bWVudGF0aW9uIGZvciBBUEkgY2hhbmdlcwoKMjAxMC0xMC0xMyAxNjoxMjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggYmFzZXBhcnNlIHRlc3QKCjIwMTAtMTAtMDkgMTU6MDg6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBBZGQgZGlyYWMgcGFyc2VyCgoyMDExLTAyLTE3IDEzOjIwOjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBkbyB0ZXN0IGJ1aWxkIHdpdGggLWZQSUMKCjIwMTAtMTAtMDkgMTU6MDY6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgYmFzZXBhcnNlIHRlbXBsYXRlCgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBDcmVhdGUgYmFzZXBhcnNlIGxpYnJhcnkKCjIwMTEtMDItMTYgMjE6MTc6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzdWJkZWM6IG1ha2UgdXAgY2x1dCB2YWx1ZXMgaWYgdGhleSB3ZXJlbid0IHNldAoKMjAxMC0xMi0wNCAxOTo1NTozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCByZWxlYXNlX3BhZAoJICBSZW1vdmUgYm9ndXMgZnJlZWluZyBvZiBwYWQgZWxlbWVudF9wcml2YXRlIGRhdGEgdGhhdCB3ZQoJICBuZXZlciBzZXQgKGNvbGxlY3RwYWRzIHVzZXMgaXQsIHdoaWNoIGNhdXNlcyBjb25mdXNpb24gaGVyZSkuCgkgIEFsc28sIGNoZWNrIHRoYXQgb3VyIGNvbGxlY3RwYWRzIGluc3RhbmNlIGV4aXN0cyBiZWZvcmUgdXNpbmcKCSAgaXQuICBQYXJ0aWFsIGZpeCBmb3IgIzYzNjAxMS4KCjIwMTEtMDItMTcgMjE6MzM6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiB1c2UgR19HVUlOVDY0X0ZPUk1BVCBhcyBmb3JtYXQgc3BlY2lmaWVyIGZvciBndWludDY0CgkgIGZpeGVzIGNvbXBpbGF0aW9uIG9uIDMyYml0CgoyMDExLTAyLTE1IDE4OjEyOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG1lbW9yeSBsZWFrCgoyMDExLTAyLTEwIDEyOjM1OjQ3ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVndHNkZW11eDogcmVsaWNlbnNlIGdzdG1wZWdkZWZzLmgsIGdzdG1wZWdkZXNjLmggYW5kIGdzdG1wZWdkZXNjLmMgdG8gTEdQTCBvbmx5CgkgIHdpdGggcGVybWlzc2lvbiBmcm9tIHRoZSBsaWNlbnNlIGhlYWRlcjoKCSAgIiIiCgkgIFRoaXMgbGlicmFyeSBpcyBsaWNlbnNlZCB1bmRlciAyIGRpZmZlcmVudCBsaWNlbnNlcyBhbmQgeW91CgkgIGNhbiBjaG9vc2UgdG8gdXNlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiBlaXRoZXIgb25lIG9mIHRoZW0uIFRoZQoJICB0d28gbGljZW5zZXMgYXJlIHRoZSBNUEwgMS4xIGFuZCB0aGUgTEdQTC4KCSAgIiIiCgoyMDExLTAyLTE2IDE3OjU3OjQyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBhZGQgTVBFRyBUUyBkZW11eGVyIHJld3JpdGUgZnJvbSBFZHdhcmQgSGVydmV5CgkgIHdpdGggY29udHJpYnV0aW9ucyBmcm9tIE1pcXVlbCBBbmdlbCBGYXJyZSBHdWl1IGFuZCBaYWhlZXIgQWJiYXMgTWVyYWxpCgoyMDExLTAyLTE3IDE0OjEyOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMTcgMTI6Mjg6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZW1vdmUgZXh0cmFuZW91cyBidWZmZXIgdW5yZWYKCjIwMTEtMDItMTYgMTU6Mjk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBpY2xlczogQ29tcGxldGVseSByZW1vdmUgZXF1YWxpemVyLXRlc3QgZnJvbSAtYmFkLCBpdCdzIGluIC1nb29kIG5vdwoKMjAxMS0wMi0xNiAxNToyMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBlcXVhbGl6ZXItdGVzdDogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBhZnRlciBnc3RfaW5pdCgpIHRvIGZpeCBzZWdmYXVsdAoKMjAxMS0wMi0xNCAxMjo1Mzo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTRkNzM5IHRvIDFkZTdmNmEKCjIwMTEtMDItMTQgMTI6MTQ6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIGR1cGxpY2F0ZWQgcnVsZSBmcm9tIE1ha2VmaWxlLmFtCgkgIFRoaXMgY2F1c2VzIGEgbWFrZSB3YXJuaW5nIGFuZCBtaWdodCBldmVuIGNhdXNlIGRpc3QtZmFpbHVyZS4gT3RoZXIgbW9kdWxlcwoJICBkb24ndCBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0YXJnZXQgZWl0aGVyIGFuZCBpZiB3ZSBjYW4gZmkgaXQgaW4KCSAgY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWsuCgoyMDExLTAyLTE0IDExOjQ4OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCByc3ZnIHBsdWdpbiB0byB0aGUgZG9jcwoKMjAxMS0wMi0xNCAxMTo0Mjo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhZGQgYmFzaWMgZG9jLWJsb2IKCjIwMTEtMDItMTEgMTc6NTk6MzEgKzAxMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IGltcGxlbWVudCB4L3kvd2lkdGgvaGVpZ2h0IChhYnNvbHV0ZSBhbmQgcmVsYXRpdmUpIHBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25pbmcKCSAgU2lnbmVkLW9mZi1ieTogT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoyMDExLTAyLTEwIDE2OjAwOjAzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBhcHBsaWNhdGlvbiBlbGVtZW50IG1lbW9yeSBsZWFrIGZpeGVzCgkgIElmIHZpZGVvYmluL2ltYWdlYmluIHdhcyBuZXZlciBzZXQgdG8gUkVBRFkgc3RhdGUgdGhlIG93bmVyc2hpcAoJICBvZiBlbGVtZW50cyBjcmVhdGVkIGFuZCBzZXQgYnkgYXBwbGljYXRpb24gd2VyZSBuZXZlciB0YWtlbiBieQoJICBiaW4gYW5kIHRoZXJlZm9yZSBnc3Rfb2JqZWN0X3NpbmsgaXMgY2FsbGVkIGZvciB0aGVzZSBlbGVtZW50cwoJICBiZWZvcmUgdW5yZWZmaW5nICh0aGV5IG1heSBzdGlsbCBiZSBpbiBmbG9hdGluZyBzdGF0ZSBhbmQgbm90CgkgIHVucmVmZmVkIHByb3Blcmx5IHdpdGhvdXQgc2lua2luZyBmaXJzdCkKCjIwMTEtMDItMTAgMTA6MzU6MTggKzA4MDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IHVwZGF0ZSB0aGUgbm9pc2VfcmVkdWN0aW9uIHR5cGUgZnJvbSBndWludCB0byBHc3RQaG90b2dyYXBoeU5vaXNlUmVkdWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY4MTQKCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMS0wMi0wNCAwMTowMDo1NSAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFsd2F5cyB0YWtlIHBob3RvIHdoZW4gcHJldmlldy1jYXBzIGlzIHNldAoJICBXaGVuIGZpbGVuYW1lIGlzIG5vdCBzZXQsIGJ1dCBwcmV2aWV3LWNhcHMgaXMgc2V0LCB0YWtlIHRoZSBwaG90byBhbmQKCSAgc2VuZCBpdHMgcHJldmlldy4KCjIwMTEtMDEtMjYgMTE6NDk6NDggLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGNhbWVyYWJpbjogRXZlbnRzIHdpdGggc2VsZWN0LWFsbCBpbiBpbnB1dC1zZWxlY3RvcgoJICBXaGVuIHNlbGVjdC1hbGwgd2FzIHNldCwgaW5wdXQtc2VsZWN0b3Igd2Fzbid0IGhhbmRsaW5nIHVwc3RyZWFtIGV2ZW50cy4KCSAgTm93IGlucHV0LXNlbGVjdG9yIGZvcndhcmRzIHRoZSBldmVudCB0byBhbGwgb2YgaXRzIHNpbmsgcGFkcy4gVGhpcwoJICBjaGFuZ2VzIHRoZSBpbnB1dC1zZWxlY3RvciBpbnRlcm5hbCB0byBjYW1lcmFiaW4gdW50aWwgaXQgaXMgcmVwbGFjZWQKCSAgd2l0aCBhIGJldHRlciBzb2x1dGlvbi4KCjIwMTEtMDItMDcgMjM6MTc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGF2b2lkIGFzcGVjdC1yYXRpbyBib3JkZXJzIG92ZXJseWluZyBvdGhlciB3aW5kb3dzCgkgIEZpeGVzICM2MzIwNTYuCgoyMDExLTAyLTA3IDIyOjQ3OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBhdm9pZCByZW5kZXJpbmcgdG8gaW52YWxpZCBhcmVhCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCSAgRml4ZXMgIzU5NDI4MC4KCjIwMTEtMDItMDggMTE6MjQ6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBEbyBub3QgcmUtc2V0IHRoZSBjbG9jayBpZiBpdCBpcyBudWxsCgkgIEF2b2lkcyBub3QgbmVlZGVkIHdvcmsgYW5kIGRvZXNuJ3QgYXNzZXJ0IHdoZW4gdHJ5aW5nIHRvCgkgIHVucmVmIHRoZSBudWxsIHJlZmVyZW5jZQoKMjAxMS0wMi0wNyAwOTo1MDoyMiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBmaXggLS1uby14d2luZG93IG9wdGlvbiBoYW5kbGluZyBpbiBnc3QtY2FtZXJhYmluLXRlc3QKCSAgLS1uby13aW5kb3cgZmxhZyBpcyBmYWxzZSBieSBkZWZhdWx0IGFuZCBzZWxlY3Rpb24gYmFzZWQgb24gdGhlIG9wdGlvbiB3aGV0aGVyCgkgIHRvIGNyZWF0ZSBYV2luZG93IGlzIGRvbmUgYmVmb3JlIG9wdGlvbnMgYXJlIHBhcnNlZC4gVGhlcmVmb3JlIFhXaW5kb3cgaXMgbmV2ZXIKCSAgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTcxMgoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDItMDcgMTQ6MDU6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHNldCBHU1RfTElCX0xERkxBR1MKCSAgQWxpZ25zIEdTVF9MSUJfTERGTEFHUyB3aXRoIGUuZy4gLWJhc2UgdG8gYXJyYW5nZSBmb3IgcHJvcGVyIGV4cG9ydHMgaW4gbGlicy4KCjIwMTEtMDEtMTIgMTc6MTM6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4tdGVzdHM6IGZpeCBsb29rdXAgb2YgVUkgZmlsZXMKCSAgVGhlc2UgYXJlIHVuaW5zdGFsbGVkIGV4YW1wbGVzLiBQYXNzICRzcmNkaXIgdG8gY3BwIHRvIGJ1aWxkIHRoZSBjb3JyZWN0CgkgIGxvY2F0aW9uIGZvciB0aGUgVUkgZmlsZS4KCjIwMTEtMDItMDQgMDk6MDg6MjYgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIGRlc2NyaXB0aW9uIGZvciBiaXRyYXRlIHVuaXRzLgoKMjAxMS0wMi0wMyAxNToyMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBGaXggcHJvcGVydHkgc2V0dGluZwoJICBTZXQgdGhlIHByb3BlcnR5IG9uIHRoZSBjaGlsZCBhbmQgbm90IG9uIGl0c2VsZiBjYXVzaW5nIGluZmluaXRlCgkgIGxvb3BpbmcKCjIwMTEtMDItMDEgMTE6MjA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogSW1wcm92ZSBwcmV2aWV3IGNoZWNraW5nCgoyMDExLTAyLTAxIDExOjE5OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggcHJldmlldyBtZXNzYWdlcwoJICBJbWFnZSBwcmV2aWV3cyB3aGVyZSBiZWluZyBwb3N0ZWQgaW4gc3luYyB3aXRoIHRoZSBidWZmZXJzCgkgIHRpbWVzdGFtcHMsIHRoaXMgbWFrZXMgbm8gc2Vuc2UgYXMgcHJldmlld3Mgc2hvdWxkIGJlIHBvc3RlZCBBU0FQLgoJICBBbHNvIGFkZHMgc29tZSBkZWJ1Z2dpbmcgbWVzc2FnZXMuCgoyMDExLTAyLTAxIDExOjE5OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgc3JjIHN0YXRlIGNoYW5nZSB0byBhdm9pZCBsb3NpbmcgdGltZXN0YW1wcwoJICBDYW1lcmFiaW4yIHVzZXMgc3RhdGUgY2hhbmdlcyB0byBmb3JjZSB0aGUgc291cmNlIHRvIHJlbmVnb3RpYXRlIGl0cwoJICBjYXBzIHRvIHRoZSBjYXB0dXJlIGZvcm1hdHMuIFRoZSBzdGF0ZSBjaGFuZ2VzIG1ha2VzIHRoZSBzb3VyY2UgbG9zZQoJICBpdHMgY2xvY2sgYW5kIGJhc2VfdGltZSwgY2F1c2luZyBpdCB0byBzdG9wIHRpbWVzdGFtcGluZyB0aGUgYnVmZmVycy4KCSAgV2Ugc3RpbGwgbmVlZCBhIHByb3BlciB3YXkgdG8gbWFrZSBzb3VyY2VzIHJlbmVnb3RpYXRlIGl0cyBjYXBzLCBzbyB0aGlzCgkgIHBhdGNoIGlzIGEgaGFjayB0byBtYWtlIHRoZSBzb3VyY2UgY29udGludWUgdGltZXN0YW1waW5nIGJ1ZmZlcnMgZXZlbgoJICBhZnRlciBjaGFuZ2luZyBzdGF0ZS4gVGhlIHBhdGNoIHdvcmtzIGJ5IGdldHRpbmcgdGhlIGNsb2NrIGFuZCBiYXNlCgkgIHRpbWUgYmVmb3JlIGRvaW5nIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gTlVMTCBhbmQgc2V0dGluZyB0aGVtIGJhY2sKCSAgYWZ0ZXIgcHV0dGluZyBpdCB0byBQTEFZSU5HIGFnYWluLiBJdCBhbHNvIGNhcmVzIHRvIGRyb3AgdGhlIGZpcnN0CgkgIG5ldyBzZWdtZW50IGFmdGVyIHRoaXMgc3RhdGUgY2hhbmdlLgoKMjAxMS0wMS0yNyAxNTozNToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBwcmV2aWV3IGZpbHRlciB0ZXN0cwoJICBBZGRzIHRlc3RzIHRvIHRoZSBwcmV2aWV3LWZpbHRlciBwcm9wZXJ0eSBvZiBjYW1lcmFiaW4yCgoyMDExLTAxLTI3IDE0OjM5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBwcmV2aWV3LWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IGEgY3VzdG9tIGVsZW1lbnQgZm9yIHByZXZpZXcgcGlwZWxpbmUKCSAgYnVmZmVycyBwcm9jZXNzaW5nCgoyMDExLTAxLTI3IDEwOjE5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCB0ZXN0cyBmb3IgY3VzdG9tIGZpbHRlcnMKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayB0aGF0IGN1c3RvbSBmaWx0ZXJzIGVsZW1lbnRzIHJlY2VpdmUgYnVmZmVycwoKMjAxMS0wMS0yNiAxNToyNzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGN1c3RvbSBmaWx0ZXIgcHJvcGVydGllcwoJICBBZGRzIGN1c3RvbSBmaWx0ZXIgcHJvcGVydGllcyBmb3IgY2FtZXJhYmluMi4gQ3VzdG9tIGZpbHRlcnMKCSAgY2FuIGJlIGFkZGVkIHRvIHZpZGVvL2ltYWdlL3ByZXZpZXcgYnJhbmNoZXMuCgoyMDExLTAyLTAzIDE2OjI0OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEluaXRpYWxpemUgdmFyaWFibGVzCgkgIE1ha2VzIGNvbXBpbGVycyBoYXBweQoKMjAxMS0wMi0wMiAxODo0MTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1cCBlbnVtIG5pY2sgbmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MTY1MQoKMjAxMS0wMS0zMSAxNzoyNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkgIGRjY3A6IHVzZSBzb2NrbGVuX3Qgd2hlcmUgYXBwcm9wcmlhdGUgcmF0aGVyIHRoYW4gc3BlY2lmaWMgdHlwZQoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBDeWd3aW4gYnVpbGQgd2hlcmUgc29ja2xlbl90IGlzIGRlZmluZWQgYXMgaW50CgkgIGluIGxpbmUgd2l0aCBuYXRpdmUgd2luMzIgYXBpIGRlZmluaXRpb24uCgoyMDExLTAyLTAxIDIwOjAxOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogYWxzbyBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZS0wLjEwIGZvciBhZGFwdGVyIGFuZCBiaXQgcmVhZGVyIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMTc4CgoyMDExLTAyLTAxIDE0OjQwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBtYXAgbmV3IEdTVF9UQUdfRU5DT0RFRF9CWSB0byBJRDN2MiBURU5DIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyNjgKCjIwMTEtMDEtMzEgMTc6NDU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBkaXN0IGgyNjRwYXJzZS5oLCBmaXhpbmcgbWFrZSBkaXN0Y2hlY2sKCSAgU3BvdHRlZCBieSBOYXRoYW5hZWwgRC4gTm9ibGV0CgoyMDExLTAxLTE0IDEwOjE5OjI4ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogb3B0aW1pemUgc2V0dGluZyBuZXcgY2FwcyBmb3IgcHJldmlldyBpbWFnZSBwaXBlbGluZQoJICBBdm9pZCByZS1jcmVhdGluZyBhbmQgbGlua2luZyBvZiBwcmV2aWV3IGltYWdlIHBpcGVsaW5lIHdoZW4KCSAgc2V0dGluZyBuZXcgcHJldmlldyBpbWFnZSBjYXBzLiBCYWNrcG9ydGVkIGZyb20gY2FtZXJhYmluMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTUwMgoKMjAxMS0wMS0zMCAxNzowODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IGZpeCBMSUJTIGFuZCBDRkxBR1Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMjMgMTc6MDI6MzggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IEFjY2VwdCBwYWNrZXRzIHdpdGggb25seSBvbmUgYnl0ZSBvZiBkYXRhCgkgIFdoZW4gZnJhZ21lbnRpbmcgcGFydGlvbnMgaXQgY2FuIGhhcHBlbiB0aGF0IGFuIFJUUCBwYWNrZXQgb25seSBjYXJpZXMgMQoJICBieXRlIG9mIFJUUCBkYXRhLgoKMjAxMS0wMS0yMyAxNjo0MjoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4cGF5OiBUcmVhdCB0aGUgZnJhbWUgaGVhZGVyIGp1c3QgbGlrZSBhbnkgb3RoZXIgcGFydGl0aW9uCgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgaW5pdGlhbCBtYXBwaW5nIGp1c3QgYWN0IGFzIGlmIHRoZSBnbG9iYWwgZnJhbWUKCSAgaW5mb3JtYXRpb24gaXMgYW5vdGhlciBwYXJ0aXRpb24uIFRoaXMgc2F2ZXMgc3BlY2lhbC1jYXNpbmcgaXQgbGF0ZXIgaW4KCSAgdGhlIGFjdHVhbCBwYWNrZXRpemluZyBjb2RlLgoKMjAxMC0wNS0xNiAxNzoyMzoxNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBBZGQgc2ltcGxlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyBmb3IgVlA4CgkgIE1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9ydHAvLAoJICB2ZXJzaW9uIDAuMy4yCgoyMDExLTAxLTI4IDEyOjM4OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIGgyNjRwYXJzZQoJICBGdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byAobGVnYWN5KWgyNjRwYXJzZSBhbmQgcmUtdXNlcyB0aGUgbGF0dGVyJ3MgbG93CgkgIGxldmVsIE5BTCBwYXJzaW5nLCBidXQgb3RoZXJ3aXNlIGJhc2VkIG9uIEdzdEJhc2VQYXJzZSwgYW5kIHJlcGxhY2luZwoJICBzb21lIHByb3BlcnR5IGNvbmZpZ3VyYXRpb24gd2l0aCBjYXBzIG5lZ290aWF0aW9uLgoKMjAxMS0wMS0yNyAxODoyMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbmFtZSB0byBsZWdhY3loMjY0cGFyc2UKCjIwMTEtMDEtMjcgMTg6MTY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBoMjYzcGFyc2U6IG1vdmUgdG8gdmlkZW9wYXJzZXJzIGFuZCBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uCgoyMDExLTAxLTI3IDE4OjAzOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogdXBkYXRlIHRvIGxhdGVzdCBiYXNlcGFyc2UKCjIwMTEtMDEtMDYgMTI6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBzaHVmZmxlIGNvZGUgdG8gdW50YW5nbGUgaDI2M3BhcnNlIGFuZCBwYXJhbWV0ZXIgcGFyc2luZwoKMjAxMS0wMS0wNiAxMjozNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHByb3ZpZGUgZm9yIHByb3BlciBkZWJ1ZyBjYXRlZ29yeSwgbWluIGZyYW1lIHNpemUgYW5kIGNvZGUgc3R5bGUKCjIwMTAtMTItMTAgMTY6NDA6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiByZW1vdmUgcmVkdW5kYW50IGdldF9jYXBzCgkgIC4uIGFzIHNyYyBwYWQgYWxyZWFkeSBzZXQgdG8gdXNlIGZpeGVkX2NhcHMKCjIwMTAtMTItMTAgMTY6MjY6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBzaW1wbGlmeSB2YWxpZF9mcmFtZSBwYXJzaW5nCgkgIC4uLiBjb25zaWRlcmluZyB0aGF0IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIHNraXBwaW5nIGV0YwoKMjAxMC0wNS0xNCAwMjowODowMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGFuIGgyNjNwYXJzZSBlbGVtZW50CgkgIFRoaXMgYWRkcyBhbiBoMjYzcGFyc2UgZWxlbWVudCBmb3IgcGFyc2luZyBILjI2MyBzdHJlYW1zLCBicmVha2luZyB0aGVtCgkgIHVwIGludG8gZnJhbWUtc2l6ZWQgYnVmZmVycywgYW5kIGV4cG9ydGluZyBtZXRhZGF0YSBzdWNoIGFzIHByb2ZpbGUgYW5kCgkgIGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDExLTAxLTI3IDE2OjUyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgaGFuZGxpbmcgb2YgZGVwZW5kZW50IHN1YnN0cmVhbSBmcmFtZXMKCSAgSW4gcGFydGljdWxhciwgdGltZXN0YW1wcyBvZiB0aGVzZSBzaG91bGQgdHJhY2sgbWFpbi1zdHJlYW0gdGltZXN0YW1wcy4KCjIwMTEtMDEtMjEgMTQ6NTM6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIGRlZmF1bHQgZHVyYXRpb24gZXN0aW1hdGUgdXBkYXRlIGludGVydmFsCgkgIFJhdGhlciB0aGFuIGEgZml4ZWQgZGVmYXVsdCBmcmFtZSBjb3VudCwgZXN0aW1hdGUgZnJhbWUgY291bnQgdG8gYWltIGZvcgoJICBhbiBpbnRlcnZhbCBkdXJhdGlvbiBkZXBlbmRpbmcgb24gZnBzIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBvbGQKCSAgZml4ZWQgZGVmYXVsdC4KCjIwMTEtMDEtMTQgMTU6MTY6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnNlIHBsYXliYWNrOyBtaW5kIGtleWZyYW1lcyBmb3IgZnJhZ21lbnQgYm91bmRhcnkKCjIwMTEtMDEtMTMgMTU6MjY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogcHJvcGVybHkgY2hlY2sgZm9yIHN1ZmZpY2llbnQgYXZhaWxhYmxlIGRhdGEgcHJpb3IgdG8gYWNjZXNzCgoyMDExLTAxLTEyIDE0OjQwOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIG5vbi1lbXB0eSBjYW5kaWRhdGUgZnJhbWVzCgoyMDExLTAxLTExIDE1OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2xhcmlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDEtMTEgMTU6MjQ6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXJseSB0cmFjayB1cHN0cmVhbSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiB3aXRoIGEgZGVsYXkuCgoyMDExLTAxLTExIDE1OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbmVlZCBwcm9wZXIgZnJhbWUgZHVyYXRpb24gdG8gb2J0YWluIHNlbnNpYmxlIGZyYW1lIGJpdHJhdGUKCjIwMTEtMDEtMTEgMTU6MjI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgaW5pdGlhbCB2YWx1ZXMgZm9yIGluZGV4IHRyYWNraW5nIHZhcmlhYmxlcwoKMjAxMS0wMS0xMSAxMjowNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFycmFuZ2UgZm9yIGNvbnNpc3RlbnQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTY6NTk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBoZWFkZXIgc3R5bGUgY2xlYW5pbmcKCjIwMTEtMDEtMTAgMTc6MDc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIHNvbWUgbW9yZSBpbml0aWFsIGZyYW1lIG1ldGFkYXRhIGluIHBhcnNlX2ZyYW1lCgkgIC4uLiBhbmQgZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgoyMDExLTAxLTEwIDE2OjU2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBwYXNzdGhyb3VnaCBpbnRvIGZvcm1hdCBmbGFncwoJICBBbHNvIGFkZCBhIGZvcm1hdCBmbGFnIHRvIHNpZ25hbCBiYXNlcGFyc2UgdGhhdCBzdWJjbGFzcy9mb3JtYXQgY2FuIHByb3ZpZGUKCSAgKHBhcnNlZCkgdGltZXN0YW1wIHJhdGhlciB0aGFuIGFuIGVzdGltYXRlZCBvbmUuICBJbiBwYXJ0aWN1bGFyLCBzdWNoICJzdHJvbmciCgkgIHRpbWVzdGFtcCB0aGVuIGFsbG93cyB0byBlLmcuIGRldGVybWluZSBkdXJhdGlvbi4KCjIwMTEtMDEtMTAgMTU6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW50cm9kdWNlIGEgYmFzZXBhcnNlIGZyYW1lIHRvIHNlcnZlIGFzIGNvbnRleHQKCSAgLi4uIGFuZCBhZGp1c3Qgc3ViY2xhc3MgcGFyc2VycyBhY2NvcmRpbmdseQoKMjAxMS0wMS0wNyAxNjozOTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlc3RyaWN0IGR1cmF0aW9uIHNjYW5uaW5nIHRvIHB1bGwgbW9kZSBhbmQgYXZvaWQgZXh0cmEgc2V0X2NhcHMgY2FsbAoKMjAxMS0wMS0wNyAxNTo1ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxMS0wMS0wNiAxMTo0MTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFsbG93IGluY3JlYXNpbmcgbWluX3NpemUgZm9yIGN1cnJlbnQgZnJhbWUgcGFyc2luZyBvbmx5CgkgIEFsc28gY2hlY2sgdGhhdCBzdWJjbGFzcyBhY3R1YWxseSBlaXRoZXIgZGlyZWN0cyB0byBza2lwIGJ5dGVzIG9yCgkgIGluY3JlYXNlcyBleHBlY3RlZCBmcmFtZSBzaXplIHRvIGF2b2lkIGdvaW5nIG5vd2hlcmUgaW4gYm9ndXMKCSAgaW5kZWZpbml0ZSBsb29waW5nLgoKMjAxMS0wMS0xNCAxNToyNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYWVzcGFyc2U6IGZpeCByZWZhY3RvciByZWdyZXNzaW9uIGluIGxvb3AgYmFzZWQgcGFyc2luZwoKMjAxMS0wMS0wNiAxMToxNjo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBhc3MgYWxsIGF2YWlsYWJsZSBkYXRhIHRvIHN1YmNsYXNzIHJhdGhlciB0aGFuIG1pbmltdW0KCSAgQWxzbyByZWR1Y2Ugc29tZSBhZGFwdGVyIGNhbGxzIGFuZCBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTItMTAgMTU6NTk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcmV2ZXJzZSBwbGF5YmFjayBoYW5kbGluZwoKMjAxMC0xMi0xMCAxNDo1NjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHR5cG8gYW5kIGRlYnVnIHN0YXRlbWVudCBjbGVhbnVwCgoyMDEwLTEyLTEwIDE0OjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVkdWNlIGxvY2tpbmcKCSAgLi4uIHdoaWNoIGlzIGVpdGhlciBhbHJlYWR5IG11dGUgYW5kL29yIGltcGxpY2l0bHkgaGFuZGxlZCBieSBTVFJFQU1fTE9DSy4KCjIwMTEtMDEtMjcgMTc6MzI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBtYWtlIGdjYyA0LjYgaGFwcHkKCjIwMTEtMDEtMjcgMTc6Mjk6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBtYWtlIGdjYyA0LjYgaGFwcHkKCjIwMTEtMDEtMjYgMTg6NDU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZGVjLCBqcDJrZW5jOiBhZGQgc3VwcG9ydCB2MzA4ICg0OjQ6NCBZVVYpCgkgIEJlY2F1c2Ugd2UgY2FuLgoKMjAxMS0wMS0yNiAxNDoyNzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBVc2UgdGhlIGNvcnJlY3QgZm9yIGxpbWl0CgkgIFRoZXJlIGFyZSAzIHRhZ2xpc3RzIHRvIGJlIHRlc3RlZCwgbm90IDIKCjIwMTEtMDEtMjYgMTE6NDA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgc29tZSBzdHVmZgoJICBDbGVhbnVwIHByb3Blcmx5IGJ5IHVucmVmaW5nIHRoZSBlbmNvZGluZyBwcm9maWxlIGFuZCBwcmV2aWV3IGNhcHMKCjIwMTEtMDEtMjYgMTA6NTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBuYW1lcyB0byBzb21lIGVsZW1lbnRzCgkgIEFkZHMgbmFtZXMgdG8gaW5zdGFuY2VzIG9mIHNvbWUgZWxlbWVudHMgdG8gbWFrZSBkZWJ1Z2dpbmcgZWFzaWVyCgoyMDExLTAxLTI1IDE4OjEwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIHZpZGVvc2luayBzdGF0ZXMgbW9yZSBjYXJlZnVsbHkKCSAgV2hlbiBnb2luZyB0byByZWFkeSwgY2FtZXJhYmluMiBjb3VsZCBjcmVhdGUgYW4gZW1wdHkgZmlsZQoJICBpZiB0aGUgdmlkZW9zaW5rIHdhcyBwdXQgdG8gcmVhZHkuIFRoaXMgcGF0Y2ggb25seSBwdXRzIHZpZGVvc2luawoJICB0byByZWFkeSBvbiB0aGUgUEFVU0VEX1RPX1JFQURZIHN0YXRlIGNoYW5nZSBpZiBpdCBpcyBvbiBQQVVTRUQKCSAgb3IgUExBWUlORy4KCjIwMTEtMDEtMTQgMTQ6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCBsb29wIGluIGZyYW1lIGxvY2F0aW5nIGludGVycG9sYXRpb24KCjIwMTEtMDEtMjQgMjM6MzI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IERvIG5vdCBzZWdmYXVsdCBvbiB1bmV4aXN0ZW50IGZpbGVzCgkgIFdoZW4gcGFzc2luZyBhbiB1bmV4aXN0ZW50IGZpbGUgdG8gcnN2Z292ZXJsYXkgaXQgd291bGQKCSAgY3Jhc2ggYmVjYXVzZSB0aGUgc3ZnIGxvYWRpbmcgd291bGQgZmFpbCB3aXRob3V0IHNldHRpbmcKCSAgYW4gZXJyb3IuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY2hlY2sgaWYgdGhlIGhhbmRsZSB3YXMgYWN0dWFsbHkgY3JlYXRlZAoJICBhbmQgbG9ncyBhbiBlcnJvciBpbiBjYXNlIGl0IGRpZG4ndC4gTWF5YmUgaXQgc2hvdWxkIHBvc3QgYW4KCSAgZXJyb3IgdG8gdGhlIGJ1cywgYnV0IHRoZSBwcmV2aW91cyBlcnJvciBoYW5kbGluZyBkaWRuJ3QsIHNvCgkgIEkganVzdCBmb2xsb3dlZCB0aGUgc2FtZSBsb2dpYy4KCjIwMTEtMDEtMjQgMTg6Mzc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiAgYWRkIHRpbWluZyBwcmludGluZyBmb3IgcHJldmlldyBpbWFnZQoJICBNZWFzdXJlIGFuZCBwcmludCB0aGUgdGltZSB0YWtlbiB0byBnZW5lcmF0ZSBwcmV2aWV3IGltYWdlLiBBbmQKCSAgZml4IGEgdHlwbwoKMjAxMS0wMS0yNCAxODozNjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSB1bnVzZWQgbWFjcm8KCjIwMTEtMDEtMTIgMTY6MjY6MTkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogRG9uJ3Qgc2V0IGRlZmF1bHQgdmFsdWVzIGZvciBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2Ugc2V0dGluZ3MKCSAgRG9uJ3Qgc2V0IGFueSBkZWZhdWx0IHZhbHVlcyBmb3Igc291cmNlIGVsZW1lbnQgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIHNldHRpbmdzLCBzb3VyY2UgZWxlbWVudHMgc2hvdWxkIGhhdmUgc2FuZSBkZWZhdWx0cyB0aGVtc2VsdmVzLgoJICBBbHNvLCBzZXR0aW5nIHNjZW5lLW1vZGUgaXMgdHJpY2t5IGFzIGl0IGlzIGEgc3VwZXJzZXQgb2Ygb3RoZXIgR3N0UGhvdG9ncmFwaHkKCSAgc2V0dGluZ3MuIFRoaXMgbWlnaHQgY2F1c2UgcHJvYmxlbSB3aXRoIGRlZmF1bHRzIGUuZy4gc2V0dGluZyBzY2VuZS1tb2RlIHRvCgkgICduaWdodCcgbWF5IGNvbmZpZ3VyZSBmbGFzaC1tb2RlIGFzICdvbicgYnkgZGVmaW5pdGlvbiwgYW5kIGFmdGVyIHRoYXQKCSAgd2UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSB0aGlzIGZsYXNoLW1vZGUgc2V0dGluZyB3aXRoIGdzdC1jYW1lcmFiaW4tdGVzdCBkZWZhdWx0CgkgIHZhbHVlLiBNb3Jlb3ZlciwgdXNlciBuZWVkcyBoYXZlIGFuIG9wdGlvbiB0byBzZXQgc2NlbmUgbW9kZSBmaXJzdCBhbmQgdGhlbiBmb3JjZQoJICBzb21lIGluZGl2aWR1YWwgc2V0dGluZyB0byBhIGRpZmZlcmVudCB2YWx1ZSBmcm9tIHRoZSBzY2VuZS1tb2RlIGRlZmluaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk4NDEKCjIwMTEtMDEtMjQgMTc6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBDaGVjayB0aGUgc3RhcnQgdGltZSBvZiBidWZmZXJzCgkgIEJlIGNhcmVmdWwgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEgbmV3c2VnbWVudCBldmVudCB0byBhdm9pZAoJICBzdGFydCB0aW1lcyBvZiAtMSBmcm9tIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCjIwMTEtMDEtMTEgMTU6NTI6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGRvbid0IHdyaXRlIGNsaXBwZWQgbGluZXMgdG8gdGhlIG91dHB1dCBidWZmZXIKCSAgV2UgbWF5IG5vdCBpbmNyZW1lbnQgdGhlIG91dHB1dCBwb2ludGVyLCBidXQgaXQnbGwgc3RpbGwgYmUganVzdAoJICBvZmYgdGhlIGVuZCBvZiB0aGUgYWxsb2NhdGVkIGFyZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI4NDcKCjIwMTEtMDEtMTkgMTU6MDc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHBvcnRpbmcgZmlsZQoJICBBZGRzIHBvcnRpbmcgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgZW5jb2RlYmluIG9uIGNhbWVyYWJpbjIKCjIwMTEtMDEtMTQgMDg6MTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkIGltYWdlLWRvbmUgbWVzc2FnZQoJICBQb3N0IGFuIGltYWdlLWRvbmUgbWVzc2FnZSB3aGVuIGEgbmV3IGltYWdlIGlzIHNhdmVkIHRvIGRpc2sKCjIwMTEtMDEtMTEgMTQ6NTA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJbXBsZW1lbnQgdGFnc2V0dGVyIGludGVyZmFjZQoKMjAxMS0wMS0xMSAxMDoyOTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgcHJldmlldyBpbWFnZSB0byB0ZXN0cwoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyB0aGF0IHByZXZpZXcgaW1hZ2VzIGFyZSBwb3N0ZWQgd2l0aAoJICB0aGUgY29ycmVjdCBjYXBzIG9uIHRlc3RzCgoyMDExLTAxLTExIDA5OjEyOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGVuY29kaW5nIHByb2ZpbGUKCSAgQWRkcyBhIHZpZGVvLXByb2ZpbGUgdG8gYWxsb3cgc2VsZWN0aW5nIHdoaWNoIGVuY29kaW5nIHByb2ZpbGUKCSAgdG8gdXNlIGZvciB2aWRlbyByZWNvcmRpbmdzCgoyMDExLTAxLTExIDA4OjQ0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHZpZGVvcmVjb3JkaW5nYmluCgkgIFJlbW92aW5nIHZpZGVvcmVjb3JkaW5nYmluIGFzIHdlIG5vdyB1c2UgZW5jb2RlYmluIGZvciBpdAoKMjAxMC0xMi0yNyAxMToyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgdG8gZW5jb2RlYmluCgoyMDExLTAxLTEwIDE1OjE5OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogU2V0IG91dHB1dC1zZWxlY3RvciBwYWQtbmVnb3RpYXRpb24tbW9kZSB0byBub25lCgkgIFVzZSBvdXRwdXQtc2VsZWN0b3Igbm9uZSBuZWdvdGlhdGlvbiBtb2RlIGFzIGl0IHdhcyB0aGUgZGVmYXVsdCBiZWZvcmUKCSAgdGhlIGxhc3QgY2hhbmdlcy4gVGhpcyBsaWtlbHkgbmVlZHMgdG8gYmUgZml4ZWQgdG8gdXNlICdhY3RpdmUnIG9uCgkgIGNhbWVyYWJpbjIKCjIwMTEtMDEtMTAgMTU6MTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgc3RhdGUgY2hhbmdlIGZhaWx1cmVzCgkgIFdoZW4gaXRzIGludGVybmFsIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlLCBkb24ndCBhY3QgYXMKCSAgaWYgc3VjY2VlZGVkLgoKMjAxMC0xMi0zMCAwMDoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEltcGxlbWVudCBwcmV2aWV3aW5nCgkgIEltcGxlbWVudCBwcmV2aWV3aW5nIGZ1bmN0aW9uYWxpdHkgdXNpbmcgMiBwcm9wZXJ0aWVzLiBBIGJvb2xlYW4KCSAgKHBvc3QtcHJldmlld3MpIHRoYXQgaW5kaWNhdGVzIGlmIHByZXZpZXdzIHNob3VsZCBiZSBwb3N0ZWQsIGFuZCBhCgkgIEdzdENhcHMgKHByZXZpZXctY2FwcykgdG8gcHJvdmlkZSB0aGUgZGVzaXJlZCBwcmV2aWV3IGNhcHMuCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgaW1wbGVtZW50cyBwcmV2aWV3aW5nIGJ5IHN1cHBseWluZyB0aGUgY2FwdHVyZWQKCSAgaW1hZ2UgdG8gYSBwaXBlbGluZSB0byBhZGFwdCBpdCB0byB0aGUgcmVxdWlyZWQgY2FwcyBiZWZvcmUgcG9zdGluZy4KCjIwMTAtMTItMzAgMDA6MjY6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBtZXRob2RzIGZvciBwcmV2aWV3IGltYWdlIG1lc3NhZ2UgcG9zdGluZwoJICBBZGRzIGEgaGVscGVyIHN0cnVjdCBhbmQgZnVuY3Rpb25zIGZvciBpbXBsZW1lbnRpbmcgYSBwcmV2aWV3IG1lc3NhZ2UKCSAgaW4gY2FtZXJhYmluMi4KCjIwMTAtMTItMjkgMjM6NDg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0ZXN0czogVXNlIG1haW5sb29wcwoJICBVc2UgbWFpbmxvb3BzIGluc3RlYWQgb2Ygc2xlZXBzIHRvIHJlYWQgYnVzIG1lc3NhZ2VzIGFuZCBjYXRjaAoJICBlcnJvcnMuCgoyMDEwLTEyLTI5IDE0OjEyOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogVXNlIGRyb3BfZW9zIGZ1bmN0aW9uIGZyb20gY2FtZXJhYmluZ2VuZXJhbAoJICBUaGVyZSB3YXMgYWxyZWFkeSBhIGV2ZW50IHByb2JlIGZ1bmN0aW9uIGZvciBkcm9wcGluZyBFT1Mgb24KCSAgY2FtZXJhYmluZ2VuZXJlYWwsIHNvIHVzZSB0aGF0IGluc3RlYWQgb2YgcmVwbGljYXRpbmcgdGhlIGNvZGUKCjIwMTEtMDEtMjQgMTE6NTU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjI6IGZpeCB3YXJuaW5ncwoJICBXYXJuaW5ncyBwYXNzZWQgbWUgYnkgb24gdGhlIGxhc3QgY29tbWl0cyB0byBjYW1lcmFiaW4yIHRlc3RzLAoJICBmaXhpbmcgdGhlbS4KCjIwMTEtMDEtMjQgMTE6MDU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogT25seSBydW4gYSB0ZXN0IGlmIC1nb29kIDAuMTAuMjcgaXMgcHJlc2VudAoJICBBIGNhbWVyYWJpbjIgdGVzdHMgZGVwZW5kcyBvbiB0aGUgY29tbWl0CgkgIGRjYmJhMDkzMmRjNTc5YWJkNmFhYjQ0NjBmYTFhNDE2Mzc0ZWRhMWIgZm9yIGpwZWdlbmMgb24gLWdvb2QKCSAgdGhhdCB3YXMgcmVsZWFzZWQgb24gMC4xMC4yNy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjaGVjayBmb3IgdGhpcyB2ZXJzaW9uIGJlZm9yZSBydW5uaW5nIHRoZQoJICB0ZXN0LgoKMjAxMS0wMS0yNCAxMDowODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgdGVzdHM6IGltYWdlY2FwdHVyZWJpbjogT25seSBydW4gYSB0ZXN0IGlmIC1nb29kIGlzIDAuMTAuMjcgb3IgbmV3ZXIKCSAgT25lIHRlc3Qgb24gaW1hZ2VjYXB0dXJlYmluIHJlcXVpcmVzIGRjYmJhMDkzMmRjNTc5YWJkNmFhYjQ0NjBmYTFhNDE2Mzc0ZWRhMWIKCSAgb24gZ29vZCB0aGF0IHdhcyByZWxlYXNlZCBvbiAwLjEwLjI3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMjg2CgoyMDExLTAxLTE4IDE3OjMxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBuYW1lcyBmb3IgbW9yZSBlbGVtZW50cwoKMjAxMS0wMS0yNCAxMToxODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMTEtMDEtMjEgMjE6MTM6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMQoKMjAxMS0wMS0xOSAyMDowMDoxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogRml4IGhhbmRsaW5nIG9mIGRlYnVnIGNhdGVnb3J5CgoyMDExLTAxLTE5IDE4OjI2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWluZCBnc3RfYnVmZmVyX3VucmVmIG5vdCBsaWtpbmcgTlVMTAoJICBGaXhlcyAjNjM5OTUwLgoKMjAxMS0wMS0xOCAxODoxODowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoKMjAxMS0wMS0xOCAxMzowMDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC40IHByZS1yZWxlYXNlCgoyMDExLTAxLTE0IDE2OjMwOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYmFzZXBhcnNlOiBCZSBjYXJlZnVsIHRvIG5vdCBsb3NlIHRoZSBldmVudCByZWYKCSAgRG9uJ3QgdW5yZWYgdGhlIGV2ZW50IGlmIGl0IGhhc24ndCBiZWVuIGhhbmRsZWQsIGJlY2F1c2UgdGhlIGNhbGxlcgoJICBhc3N1bWVzIGl0IGlzIHN0aWxsIHZhbGlkIGFuZCBtaWdodCByZXVzZSBpdC4KCSAgSSByYW4gaW50byB0aGlzIHByb2JsZW0gd2hlbiB0cmFuc2NvZGluZyBhbiBBVkkgKHdpdGggbXAzIGluc2lkZSkKCSAgdG8gZ3BwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTU1CgoyMDExLTAxLTEzIDExOjI4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3Q6IHF0bXV4OiBUZXN0cyBxdG11eCByZXVzZQoJICBGb3JjZXMgdGhlIHVzZSBvZiBxdG11eCBhZnRlciBpdCBoYXMgYmVlbiBwdXQgdG8gUExBWUlORyBhbmQgYmFjawoJICB0byBOVUxMIG9uY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMyAxNToyNzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzcmMgcGFkcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgLi4uIHJhdGhlciB0aGFuIGF0IF9pbml0IHRpbWUsIHNvIHRoZXkgYXJlIGFsc28gYXZhaWxhYmxlIGZvbGxvd2luZyBhCgkgIHBhZCAoZGUpYWN0aXZhdGlvbiBjeWNsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMiAxNjozOToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGVuc3VyZSB0aGUga2F0ZSBwYWQgZG9lcyBub3Qgc2hvb3QgYWhlYWQgb2YgdGhlIHZpZGVvIHBhZAoJICBTeW5jIGJvdGggcGFkcyBieSB3YWl0aW5nIGluIHRoZSBrYXRlIGNoYWluIGZ1bmN0aW9uLgoJICBEbyBub3QgcmVzZXQgb3VyIGludGVybmFsIHNlZ21lbnQgZnJvbSBzZWdtZW50IHVwZGF0ZXMsIGluIG9yZGVyCgkgIHRvIGJlIGFibGUgdG8gbWFwIHZpZGVvIHJ1bm5pbmcgdGltZSB0byBrYXRlIHJ1bm5pbmcgdGltZSwgdG8KCSAgZ2l2ZSBsaWJ0aWdlciB0aGUgdGltZXN0YW1wIGl0IGV4cGVjdHMuIFRoaXMgYWxsb3dzIHVzIHRvIHVzZQoJICBydW5uaW5nIHRpbWUgdG8gc3luYyB0byB2aWRlbywgd2hpY2ggaXMgVGhlIFJpZ2h0IFdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMS0wMS0xMyAxODozNToxNSAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEVuYWJsZSBjb252ZXJzaW9uIGZsYWdzCgkgIENhbWVyYWJpbiBkZWZhdWx0IHNob3VsZCBqdXN0IHdvcmssIHNvIHdlIG5lZWQgdG8gZW5hYmxlIGF1ZGlvLCBpbWFnZQoJICBhbmQgdmlkZW8gY29udmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0NTYKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTEzIDEzOjM2OjA5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBwYWQtbmVnb3RpYXRpb24tbW9kZSB0byBhY3RpdmUgZm9yIG91dHB1dC1zZWxlY3RvcgoJICBGaXhlcyAjNjM5NDEzLgoKMjAxMS0wMS0xMiAxNjo1NTowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1c2UgZ19lcnJvcl9mcmVlIGluc3RlYWQgb2YgZ19mcmVlCgoyMDExLTAxLTEyIDE2OjUwOjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBnX2Vycm9yX2ZyZWUgaW5zdGVhZCBvZiBnX2ZyZWUKCjIwMTEtMDEtMTIgMTE6NTc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBEZWZhdWx0IGNvbG9yc3BhY2UgaXMgSTQyMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5Mjk2CgoyMDExLTAxLTExIDIzOjQ0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjMgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTEgMTU6NTA6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTU3MmM4NyB0byBmOTRkNzM5CgoyMDExLTAxLTEwIDE5OjExOjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBmb3JnZXQgdGhlIEdUeXBlIHdoZW4gdXNpbmcgY2Fwc19uZXdfc2ltcGxlKCkKCjIwMTEtMDEtMTAgMTY6MzY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjY2JhYTg1IHRvIGU1NzJjODcKCjIwMTEtMDEtMTAgMTQ6NTQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjQ0NWFkIHRvIGNjYmFhODUKCjIwMTEtMDEtMTAgMTE6MjU6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2lsbHkgd2F5IG9mIGNyZWF0aW5nIGNhcHMKCjIwMTEtMDEtMTAgMTE6MTg6NTIgKzAwMDAgIEthcm9sIFNvYmN6YWsgPG5hcGV3bm90cmFmaUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCByZS1zeW5jaW5nIG9uIGludmFsaWQgZGF0YSBhZnRlciBzZWVrCgkgIE9yIHBvc3NpYmx5IGV2ZW4gYXQgc3RhcnR1cC4gSWYgd2UgY291bGRuJ3QgZmluZCBhIHN5bmMgd2l0aGluCgkgIHRoZSBmaXJzdCBmZXcgYnl0ZXMsIHdlJ2QganVzdCBwdXNoIG1vcmUgZGF0YSBpbnRvIHRoZSBhZGFwdGVyCgkgIGJ1dCBuZXZlciBkaXNjYXJkIGFueSBvZiB0aGUgaW52YWxpZCBkYXRhIGF0IHRoZSBiZWdpbm5pbmcsIHNvCgkgIHdvdWxkIG5ldmVyIGJlIGFibGUgdG8gcmUtc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTA2MwoKMjAxMS0wMS0wOCAwMzoxMjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSAgY29nLCBzY2hyb2VkaW5nZXI6IGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wMS0wOCAwMzoxMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuMiBwcmUtcmVsZWFzZQoKMjAxMS0wMS0wOCAwMjo0OTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0wMS0wOCAwMjo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2phLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0wOCAwMjo0Mzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIGNhbWVyYWJpbjogdXNlIHByaXZhdGUgaW5wdXQtc2VsZWN0b3IgdGhhdCBzdGlsbCBoYXMgInNlbGVjdC1hbGwiIHByb3BlcnR5CgkgIFRoZSAic2VsZWN0LWFsbCIgcHJvcGVydHkgd2FzIHJlbW92ZWQgd2hlbiBpbnB1dC1zZWxlY3RvciB3YXMgbW92ZWQKCSAgdG8gY29yZSwgYnV0IGNhbWVyYWJpbiB1c2VzIHRoaXMsIHNvIG1ha2UgY2FtZXJhYmluIHVzZSBhIHByaXZhdGUKCSAgY29weSB1bnRpbCBhIGJldHRlciBmaXggaXMgZm91bmQuCgoyMDExLTAxLTA4IDAwOjMyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogTWFrZWZpbGUuYW0gY2xlYW4tdXAKCSAgQXZvaWQgZHVwbGljYXRlcyBHU1RfQ0hFQ0tfQ0ZMQUdTIGFuZCBHU1RfT1BUSU9OU19DRkxBR1MgYXJlIGFscmVhZHkgaW4KCSAgQU1fQ0ZMQUdTLiBBZGQgTERBREQgaW5zdGVhZCBvZiBHU1RfQ0hFQ0tfTElCUyBmb3IgY29uc2lzdGVuY3kuCgoyMDExLTAxLTA4IDAwOjE5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkgIHNtb290aHdhdmU6IHJlbW92ZSBvbGQgMC44IGV4YW1wbGUgY29udGFpbmluZyBjb2RlIHdpdGggc2lkZWVmZmVjdHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpCgkgIE1heSBqdXN0IGFzIHdlbGwgcmVtb3ZlIGl0IHJhdGhlciB0aGFuIGZpeCBpdCwgc28gaXQgZG9lc24ndCBzaG93CgkgIHVwIGluIGdyZXBzIGZvciB0aGlzIGFueSBsb25nZXIuCgoyMDExLTAxLTA4IDAwOjE4OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHNjaHJvZW5jIHRlc3QgYmluYXJ5CgoyMDExLTAxLTA4IDAwOjE3OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IENGTEFHUyBhbmQgTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTA4IDAwOjA4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbmV2ZXIgZGlzYWJsZSBnX2Fzc2VydCgpIGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgVGhlIHVuaXQgdGVzdHMgYXJlIHJpZGRsZWQgd2l0aCBnX2Fzc2VydCgpIGFuZCBmcmllbmRzLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgZGlzYWJsZSBhc3NlcnQgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cyBldmVuIGlmCgkgIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWVkIGZvciB0aGUgcmVzdCBvZiB0aGUgY29kZSBiYXNlLCBlLmcuIHZpYQoJICAtLWRpc2FibGUtZ2xpYi1hc3NlcnRzLgoKMjAxMS0wMS0wOCAwMDowMTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSAgZGlyZWN0ZmI6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGludG8gZ19hc3NlcnQoKQoJICBJdCB3aWxsIGFsbCBiZSB0dXJuZWQgaW50byBhIE5PT1AgaWYgLURHX0RJU0FCTEVfQVNTRVJUIGlzIHVzZWQKCSAgKGFzIGl0IGlzIGZvciBwcmUtcmVsZWFzZXMgYW5kIHJlbGVhc2VzKS4KCjIwMTEtMDEtMDcgMjM6NTc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyBpbnRvIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgQW5kIGRvbid0IHVzZSBnX3JldHVybipfaWZfZmFpbCgpIGZvciBlcnJvciBoYW5kbGluZyBpbiBlbGVtZW50cy4KCjIwMTEtMDEtMDcgMTg6NDk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFJldmVydCAibXBlZ3ZpZGVvcGFyc2U6IGZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyMjcxNjA4YzQzMTRkNmQwYTY4NWMxOGM1YzQ3ZDU1NDk1NTg2MTU5LgoJICBUaGlzIHBhdGNoIG5lZWRzIG1vcmUgd29yayBzbyBpdCBkb2Vzbid0IGNhdXNlIGdyYXZlIHBsYXliYWNrCgkgIHJlZ3Jlc3Npb25zIChtdWx0aS1zZWNvbmQgZnJlZXplcykgd2l0aCBzb21lIGZpbGVzIHRoYXQgaGF2ZQoJICBzbGlnaHRseSBicm9rZW4gdGltZXN0YW1wcyBidXQgcGxheSBmaW5lIGV2ZXJ5d2hlcmUgZWxzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjI3OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjIyCgoyMDExLTAxLTA3IDE1OjQ3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDExLTAxLTA3IDE0OjUxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgJExJQk0gaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAtbG0KCjIwMTEtMDEtMDcgMTU6MjI6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3QgbGVhayB0aGUgY2FwcwoKMjAxMS0wMS0wNyAwMjoxMDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggUEFUIGFuZCBQTVQgaW5mby1yZWxhdGVkIG9iamVjdCBsZWFrcwoKMjAxMS0wMS0wNiAxMjo1MToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjUwOjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xNSAxNTo1ODo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IEZpeCBjb3B5cmlnaHQKCjIwMTAtMTItMTcgMTQ6NTA6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgcHVzaHNyYwoKMjAxMS0wMS0wNSAxNjo0Mzo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG06IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDEzOjQ0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHNvbWUgbW9yZSBtaW5vciBjbGVhbi11cHMKCjIwMTEtMDEtMDQgMTY6MDM6MDEgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGxlYWsgb2YgImNsZWFyIHNjcmVlbiIgRFZCU3VidGl0bGVzIHN0cnVjdHMKCjIwMTEtMDEtMDQgMTM6NTE6MjEgKzAwMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggdHdvIG1pbm9yIGRlaW5pdGlhbGl6YXRpb24gbWVtb3J5IGxlYWtzCgoyMDExLTAxLTAzIDIzOjU1OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZGlzdCBjYW1lcmFiaW4yIGV4YW1wbGUgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NjA0CgoyMDExLTAxLTAzIDIzOjQ5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBmaXggY2ZsYWdzIGFuZCBsaWJzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTAzIDIzOjQ3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBmaXggbGlicyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wMyAyMzo0NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggZGlzdGluZyBvZiBleHBlcmltZW50YWwgYmFzZWNhbWVyYWJpbnNyYyBsaWIgdXNlZCBieSBjYW1lcmFiaW4yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg2MDQKCjIwMTEtMDEtMDMgMTc6MTA6MzYgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBmaXggYnVpbGQgZXJyb3JzIG9uIG1hY29zeAoJICBmaXhlcyB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZXJyb3JzOgoJICBjYzE6IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIGNhbXN3Y2xpZW50LmM6IEluIGZ1bmN0aW9uICdjYW1fc3dfY2xpZW50X29wZW4nOgoJICBjYW1zd2NsaWVudC5jOjgxOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RybmNweScKCSAgY2Ftc3djbGllbnQuYzo4MTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJuY3B5JwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RyZXJyb3InCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ3N0cmVycm9yJwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBmb3JtYXQgJyVzJyBleHBlY3RzIHR5cGUgJ2NoYXIgKicsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdpbnQnCgkgIGNhbXN3Y2xpZW50LmM6IEluIGZ1bmN0aW9uICdzZW5kX2NhX3BtdCc6CgkgIGNhbXN3Y2xpZW50LmM6MTI5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbWVtY3B5JwoJICBjYW1zd2NsaWVudC5jOjEyOTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluCgkgIGZ1bmN0aW9uICdtZW1jcHknCgkgIGdzdGR2YnNyYy5jOjQ4OjE5OiBlcnJvcjogZXJyb3IuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICBTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoyMDExLTAxLTAzIDIwOjA1OjUyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHVubmVjZXNzYXJ5IFJHQiAtPiBZVVYgY29udmVyc2lvbiBieSB1c2luZyBZVVYgcGFsZXR0ZXMKCSAgdGhlIGRlZmF1bHQgQ0xVVHMgc3RpbGwgdXNlIFJHQiAtPiBZVVYgY29udmVyc2lvbnMgc2luY2UgdGhlIHN0YW5kYXJkIGRlZmluZXMKCSAgdGhlbSBhcyBSR0JBIHZhbHVlcy4KCjIwMTEtMDEtMDMgMjA6MjE6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2VzZC5tNDoKCSogbTQvZ2xpYi5tNDoKCSogbTQvZ3N0LW1hdHJvc2thLm00OgoJKiBtNC9nc3Qtc2hvdXQyLm00OgoJKiBtNC9ndGsubTQ6CgkqIG00L29nZy5tNDoKCSogbTQvdm9yYmlzLm00OgoJICBtNDogcmVtb3ZlIHNvbWUgY3J1ZnQKCjIwMTEtMDEtMDMgMTc6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRqdXN0IG5hc3R5IGNhc2UgdGltZXN0YW1wIHRyYWNraW5nCgkgIFRoYXQgaXMsIGFsbCBzb3J0cyBvZiBwcm9ibGVtcyBhcmlzZSB3aXRoIHJlLW9yZGVyZWQgaW5wdXQgdGltZXN0YW1wcyB0aGF0CgkgIHRlbmQgdG8gZGVmeSBhdXRvbWFnaWMgaGFuZGxpbmcgZm9yIGV2ZXJ5IGNhc2UsIHNvIGFsbG93IGZvciBhIGZldyB2YXJpYXRpb25zCgkgIHRoYXQgY2FuIGJlIHRyaWVkIGRlcGVuZGluZyBvbiBjaXJjdW1zdGFuY2VzLgoJICBBbHNvIHRyeSB0byBkb2N1bWVudCBhY2NvcmRpbmdseS4KCSAgQWxzbyBmaXhlcyAjNjM4Mjg4LgoKMjAxMC0xMi0zMCAyMTo0ODo0MSArMDIwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdldCByaWQgb2YgdGltZXN0YW1wIG92ZXJwcm90ZWN0aXZlbmVzcwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDEtMDMgMTY6NTY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IGFuZCBmaXggcHRzX29mZnNldCBzdG9yaW5nCgkgIEluIHBhcnRpY3VsYXIsIG9ubHkgd3JpdGUgYSBjdHRzIGF0b20gaWYgYW5kIG9ubHkgaWYgZXZlciBhIG5vbi16ZXJvIG9mZnNldC4KCjIwMTEtMDEtMDMgMTA6NDM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgc29tZSBtb3JlIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTU6MjM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgbGFyZ2UtZmlsZSBwcm9wZXJ0eQoJICBSYXRoZXIsIGF1dG8tZGV0ZXJtaW5lIGlmIDY0LWJpdHMgZmllbGRzIGFyZSBuZWVkZWQgZm9yIGEgdmFsaWQgcmVzdWx0LCBhbmQKCSAgc3RpY2sgdG8gcGxhaW4gMzItYml0cyBpZiBub3QgbmVlZGVkLgoJICBBUEk6IEdzdFFUTXV4OmxhcmdlLWZpbGUgKHJlbW92ZWQpCgoyMDExLTAxLTAzIDE4OjEzOjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZHZiL1JFQURNRToKCSAgUkVBRE1FOiBmaXggdGhlIGV4YW1wbGUgcGlwZWxpbmUKCSAgRml4IHRoZSBvYnZpb3VzIG91dGRhdGVkIHBhcnRzLiBTdGlsbCB0aGlzIFJFQURNRSBsb29rcyBvdXRkYXRlZCBhbmQgc2hvdWxkIGJlCgkgIHVwZGF0ZWQgb3IgcmVtb3ZlZC4KCjIwMTEtMDEtMDIgMTk6Mzg6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMS0wMS0wMiAxNjoxMzo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IERpc2FibGUgbWF0cml4aW5nIG9uIGJpZy1lbmRpYW4KCSAgSXQncyBicm9rZW4gdW50aWwgc29tZW9uZSB3cml0ZXMgYmV0dGVyIE9yYyBjb2RlLiAgRml4ZXMgIzYzMTIzMi4KCjIwMTAtMTItMDUgMDM6Mjk6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IFNldCBhZGFwdGF0aW9uIGZsYWcgd2hlbiBhcHByb3ByaWF0ZQoJICBTcGVjaWZpY2FsbHksIHdoZW4gdGhlcmUncyBzdHVmZiB0byBnbyBpbnRvIHRoZSBhZGFwdGF0aW9uCgkgIGhlYWRlci4KCjIwMTAtMTEtMTcgMTc6NDk6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogU2V0IHJhbmRvbV9hY2Nlc3NfaW5kaWNhdG9yIGZvciBrZXlmcmFtZXMKCjIwMTAtMTItMzEgMTY6MjA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBvdXRsaW5lIHRleHQgYnkgZGVmYXVsdCwgdG8gbWFrZSBpdCBlYXNpZXIgdG8gcmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NTI3CgoyMDExLTAxLTAyIDE1OjExOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svLmdpdGlnbm9yZToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGphY2s6IG1vdmUgcGx1Z2luIHRvIGdzdC1wbHVnaW5zLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTkyOQoKMjAxMS0wMS0wMiAxMzo1MjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggY2FwcyBhbmQgc3RyaW5nIGxlYWtzIGFuZCBzb21lIG1pbm9yIGNsZWFuLXVwcwoJICBEb24ndCBsZWFrIHNvdXJjZSBjYXBzLiBVc2UgR1NUX1BUUl9GT1JNQVQgdG8gbG9nIGNhcHMsIHNvCgkgIHdlIGRvbid0IG5lZWQgdG8gbGVhayBzdHJpbmdzIGZyb20gZ3N0X2NhcHNfdG9fc3RyaW5nKCkuCgkgIE5vIG5lZWQgdG8gdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciB2ZnVuY3Mgd2hlcmUgdGhlIGJhc2UKCSAgY2xhc3Mgd2lsbCBuZXZlciBsb29rIHRoZW0gdXAgKGxpa2UgcHJvcGVydHkgZ2V0dGVycy9zZXR0ZXJzKS4KCSAgRG9uJ3QgdXNlIGdfcmV0dXJuXypfaWZfZmFpbCgpIGZvciB0aGluZ3MgdGhhdCBhcmVuJ3QgZGlyZWN0bHkKCSAgcHJvZ3JhbW1pbmcgZXJyb3JzIChieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyKS4KCSAgRml4ZXMga2F0ZSB1bml0IHRlc3QgdW5kZXIgdmFsZ3JpbmQuCgoyMDEwLTEyLTMxIDE2OjE3OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHJlZW5hYmxlIHRoZSBzZW5kaW5nIG9mIGEgbWVzc2FnZSBmb3IgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NDEyCgoyMDExLTAxLTAyIDEzOjI5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkgIGdhdWRpZWZmZWN0czogZGlzdCBweXRob24gZXhhbXBsZXMKCjIwMTAtMTItMzEgMDA6MDk6MDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSBGU0YgYWRkcmVzcwoKMjAxMC0xMi0zMSAwMDowNzoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgQWRkIGdzdC1hcHAtbWFrZXIKCjIwMTAtMTItMzEgMDA6MTI6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogRml4IGJ1aWxkIGZhaWx1cmUgY2F1c2VkIGJ5IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0xMi0zMCAxOToyMTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJICBjb2c6IFVzZSBtYXRoLWNvbXBhdC5oCgoyMDEwLTEyLTMwIDE5OjIxOjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggYzk5LWlzbQoKMjAxMC0xMi0zMCAxOToxMjoyMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IFVzZSBtYXRoLWNvbXBhdCBoZWFkZXIKCjIwMTAtMTItMzAgMTk6MDM6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgY2hhbmdlIE1fUEkgdG8gR19QSQoKMjAxMC0xMi0zMCAxOTowMzoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJICBmcmVpMHI6IGNvbnZlcnQgdWludDMyX3QgdG8gZ3VpbnQzMgoKMjAxMC0xMi0zMCAxODoyMDo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IGJ1aWxkIGZpeGVzIGZvciBNU1ZDCgkgIFVzZSBnaW50MTYgYW5kIEdfUEkuCgoyMDEwLTEyLTMwIDE4OjE5OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IHJlaW5kZW50CgoyMDEwLTEyLTMwIDE4OjAyOjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogdXNlIGdfYXNjaWlfc3RyY2FzZWNtcCgpCgoyMDEwLTEyLTMxIDAxOjM4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc2VsZWN0b3IvLmdpdGlnbm9yZToKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3Ivc2VsZWN0b3IudmNwcm9qOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgc2VsZWN0b3I6IG1vdmUgaW5wdXQtc2VsZWN0b3IgYW5kIG91dHB1dC1zZWxlY3RvciB0byBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQzMDYKCjIwMTAtMTItMzAgMDE6MTc6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMC0xMi0zMCAwMToxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIHZhbHZlIGVsZW1lbnQvcGx1Z2luIHRvIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDgwOAoKMjAxMC0xMi0yOSAxMzoxODozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFZhcmlvdXMgbGVhayBmaXhlcwoJICBWYXJpb3VzIGxlYWsgZml4ZXMgYW5kIHNvbWUgY29kZSByZW9yZ2FuaXphdGlvbgoKMjAxMC0xMi0yNyAxNzoxODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGU6IGdpdGlnbm9yZSBjYXB0dXJlZCBmaWxlcwoKMjAxMC0xMi0yNiAyMDo1MjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEltcGxlbWVudCB2aWRlbyBjYXB0dXJlIHJlbmVnb3RpYXRlCgkgIEhhbmRsZSBjYXBzIHJlbmVnb3RpYXRpb24gZnJvbSBjYW1lcmFiaW4yJ3MgcmVuZWdvdGlhdGUgZXZlbnQKCSAgdG8gYWxsb3cgdmlkZW8gY2FwdHVyZSB0byBiZSBkb25lIHdpdGggdGhlIHVzZXIncyByZXF1ZXN0ZWQKCSAgcmVzb2x1dGlvbi4KCjIwMTAtMTItMjYgMjA6NDc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdGVzdHMgZm9yIHZpZGVvIGNhcHR1cmUKCSAgQWRkIGEgdGVzdCBmb3IgY2FwdHVyaW5nIG11bHRpcGxlIHZpZGVvcyB3aXRoIGRpZmZlcmVudCByZXNvbHV0aW9ucwoJICBpbiBhIHNlcXVlbmNlLgoKMjAxMC0xMi0yNiAyMDozNTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCByZW5lZ290aWF0ZSBldmVudCBwdXNoaW5nCgkgIFVzZSBhIGhhY2sgdG8gbWFrZSB0aGUgZXZlbnQgdXBzdHJlYW0gdG8gcmVhY2ggdGhlIGNhbWVyYSBzb3VyY2UKCSAgaW5zdGVhZCBvZiBnb2luZyBkb3duc3RyZWFtIGFuZCBiZWluZyB1c2VsZXNzLgoJICBUaGlzIHdhcyBhbHJlYWR5IGZpeGVkIHRoaXMgd2F5IGZvciBpbWFnZSBzcmNwYWQgcmVuZWdvdGlhdGUgYW5kCgkgIHZpZGVvIHNyY3BhZCB3YXMgbGVmdCB1bmZpeGVkLgoKMjAxMC0xMi0yNCAwOToxMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVmYWN0b3IgaW50ZXJuYWwgcGlwZWxpbmUKCSAgSW5zdGVhZCBvZiBsaW5raW5nIDMgc3JjIHBhZHMgZnJvbSB0ZWUgdG8gdGhlIGdob3N0cGFkcywgdXNlIDIKCSAgc3JjcGFkcyBhbmQgYWRkIGFuIG91dHB1dC1zZWxlY3RvciB0byBjb21wbGV0ZWx5IHNwbGl0IGNhcHMKCSAgbmVnb3RpYXRpb24gb2YgdmlkZW8vaW1hZ2UgbW9kZXMuIEkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgYW4KCSAgdXNlIGNhc2UgdGhhdCB3b3VsZCByZXF1aXJlIGltYWdlIGFuZCB2aWRlbyBwYWRzIHRvIGJlIHVzZWQKCSAgYXQgdGhlIHNhbWUgdGltZS4KCjIwMTAtMTItMjIgMTQ6NDI6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAtcHRocmVhZCBmb3IgeHZpZCBjb25maWd1cmUgY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MzA4CgoyMDEwLTEyLTI4IDE3OjE2OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbW9kZSBjYW4gYmUgb25seSBpbWFnZSBvciB2aWRlbwoJICBObyBuZWVkIHRvIGNoZWNrIGlmIGNhbWVyYWJpbiBpcyBvbiB2aWRlbyBtb2RlIGlmIGl0IGlzbid0IG9uCgkgIGltYWdlIG1vZGUgYXMgdGhvc2UgYXJlIHRoZSBvbmx5IDIgbW9kZXMgYXZhaWxhYmxlLgoJICBBZGRpdGlvbmFsbHksIGlmIG1vZGUgZ2V0cyBjb3JydXB0ZWQgc29tZWhvdyBhbmQgd291bGQgYmUgbmVpdGhlcgoJICBpbWFnZSBvciB2aWRlbyBpdCB3b3VsZCBjYXVzZSBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jaW5nIHNvbWUKCSAgbGluZXMgb2YgY29kZSBiZWxvdywgc28gdGhpcyBpcyBzYWZlci4KCjIwMTAtMTItMjggMTY6NTU6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTEyLTI3IDE2OjU4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkgIGFzZm11eDogRml4IHBsdWdpbiBwYWNrYWdlIG5hbWUvb3JpZ2luCgoyMDEwLTEyLTI3IDEzOjIwOjI4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTEyLTI3IDExOjEwOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBhbGxvY2F0ZSBmbGF0IGFycmF5IG9mIHJlY3RhbmdsZXMKCSAgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBwb2ludGVycyB0byBpbmRpdmlkdWFsbHktYWxsb2NhdGVkIHJlY3RhbmdsZXMuCgoyMDEwLTEyLTIzIDE4OjE4OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IGZhbGxiYWNrIG9uIGhlYWRlcnMgaW4gY2FwcyB0byBpbml0aWFsaXplIGlmIGhlYWRlcnMgYXJlIGFic2VudAoJICBXaGVuIFRvdGVtIHN3aXRjaGVzIHN0cmVhbXMsIHRpZ2VyIHdpbGwgYmUgcmVzZXQsIGFuZCBzdGFydCByZWNlaXZpbmcKCSAgYnVmZmVycyBmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbSwgd2l0aG91dCBiZWluZyBzZW50IGhlYWRlcnMuCgkgIElmIHRoaXMgaGFwcGVucywgdHJ5IHRvIGdldCBoZWFkZXJzIGZyb20gdGhlIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgwMDQKCjIwMTAtMTItMjYgMTc6MTk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTEyLTI2IDE3OjA3OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBmaXggZ3RrMyBjb2RlIHBhdGggaW4gY2FtZXJhYmluIGV4YW1wbGUgYXBwCgkgIEp1c3QgYWRkIHJvd3MgdmlhIHRoZSBjb21ib2JveCdzIG1vZGVsLCB3aGljaCBzaG91bGQgd29yayB3aXRoCgkgIGJvdGggZ3RrMiBhbmQgZ3RrMywgaW5zdGVhZCBvZiB1c2luZyB0aGUgZ3RrX2NvbWJvX2JveF9hcHBlbmRfdGV4dCgpCgkgIGNvbnZlbmllbmNlIEFQSSAod2hpY2ggd2FzIHJlbmFtZWQgdG8gZ3RrX2NvbWJvX2JveF90ZXh0X2FwcGVuZF90ZXh0KCkpLgoJICBGaXhlcyBjb21waWxhdGlvbiBhZ2FpbnN0IGd0azMgKHRoZXJlIHdhcyBhIHR5cG8gaW4gdGhlIGxpc3Qgc3RvcmUKCSAgdmFyaWFibGUgbmFtZSwgc3BvdHRlZCBieSBNYXJrdXMgVmFydGlhaW5lbikuCgoyMDEwLTEyLTI1IDE3OjAxOjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBpZiBzZWVraW5nIHdpdGggR1NUX1NFRUtfVFlQRV9DVVIsIGZsdXNoIGV2ZXJ5dGhpbmcKCSAgV2UgZG9uJ3Qga25vdyBob3cgdG8gY2FsY3VsYXRlIHRoZSB0YXJnZXQsIHNvIGJlIHNhZmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTAtMTItMjUgMTY6NDQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBtb3ZlICNpZiAjZWxzZSBiaXRzIG91dHNpZGUgb2YgbWFjcm8KCSAgU29tZSBjb21waWxlcnMvcHJlcHJvY2Vzc29ycyBkb24ndCBsaWtlIGlmL2Vsc2UvZW5kaWYgcHJlcHJvY2Vzc29yCgkgIGRpcmVjdGl2ZXMgaW4gdGhlIG1pZGRsZSBvZiBtYWNyb3MuCgoyMDEwLTEyLTI0IDE0OjQ0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IG1lcmdlIHByaXZhdGUgZGF0YSBzdHJ1Y3QgaW50byBtYWluIHN0cnVjdAoKMjAxMC0xMi0yNCAxNDoyNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogZHZiIHN1YiBwYXJzZXIgaGVscGVyIGRvZXNuJ3QgbmVlZCB0byBiZSBhIEdPYmplY3QKCjIwMTAtMDEtMjUgMTg6MjY6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIHRpZ2VyOiBHaXZlIHRpZ2VyIHByaW1hcnkgcmFuawoKMjAxMC0wMS0yNSAxODo1ODozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IGFkZCBzZWdtZW50IHRyYWNraW5nLCBhbmQgdmFyaW91cyBvdGhlciBpbXByb3ZlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMC0xMi0yNCAxMDoxNTo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgIG12ZTogZG8gbm90IHVzZSB0aGUgcGFkIGJ1ZmZlciBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBpbiBkZW11eGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3OTI5CgoyMDEwLTEyLTI0IDA5OjUwOjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgdXNlIHRoZSBwYWQgYnVmZmVyIGFsbG9jYXRpb24gZnVuY3Rpb25zIGluIGRlbXV4ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc5MzEKCjIwMTAtMTItMjMgMjI6MDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiB0cnkgaGFyZGVyIHRvIG1ha2UgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcKCSAgQWxzbywgY2hlY2sgYnVmZmVyIGZvciBOVUxMLW5lc3MgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjQKCjIwMTAtMTItMjIgMTE6NDQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBOb3RpZnkgZWFybGllcgoJICBOb3RpZnkgYWJvdXQgcmVhZHktZm9yLWNhcHR1cmUgY2hhbmdlcyBlYXJsaWVyIHRvIGFsbG93IGNhbWVyYWJpbjIKCSAgdG8gZG8gdGhlIHZpZGVvYmluIHN0YXRlIHN3aXRjaGluZyBiZWZvcmUgdGhlIGNhcHR1cmUgc3RhcnRzLgoKMjAxMC0xMi0yMSAxOToyMjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICB2aWRlb3JlY29yZGluZ2JpbjogRml4IGxlYWtzCgoyMDEwLTEyLTIxIDExOjA0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVmYWN0b3IgdGVzdHMKCSAgUmVmYWN0b3IgdGVzdHMgY2FzZSBzbyB0aGF0IHRoZSBzYW1lIHRlc3RzIGNhbiBiZSBydW4gZm9yIGRpZmZlcmVudAoJICBjYW1lcmEgc291cmNlcy4KCjIwMTAtMTItMjAgMTg6MzA6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGdpdGlnbm9yZSBjYW1lcmFiaW4yIHRlc3RzCgkgIEFkZHMgbW9yZSBjYW1lcmFiaW4yIGVsZW1lbnRzIHRlc3RzIHRvIGdpdGlnbm9yZQoKMjAxMC0xMi0yMCAxODowOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCBjb252ZXJ0ZXJzIGZvciB2aWV3ZmluZGVyIGJyYW5jaAoJICBWaWV3ZmluZGVyIGJyYW5jaCBzaG91bGQgaGF2ZSBjb252ZXJ0ZXJzIGFzIGl0IGhhcyB0byB3b3JrCgkgIGFsd2F5cyBhbnl3YXkuCgoyMDEwLTEyLTIwIDE0OjIwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBBZGQgYW5vdGhlciB0ZXN0IGNhc2UKCSAgQWRkcyBhIHRlc3QgY2FzZSB0byBjaGVjayBpZiBhIHNlcXVlbmNlIG9mIGJ1ZmZlcnMgd2l0aCBkaWZmZXJlbnQKCSAgY2FwcyBjYW4gYmUgcHVzaGVkIHRvIGltYWdlY2FwdHVyZWJpbiBhbmQgc2F2ZWQgY29ycmVjdGx5CgoyMDEwLTEyLTIwIDAyOjU5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEFkZCBiYXNpYyBjaGVjayB0ZXN0CgkgIEFkZHMgbWluaW11bSBjaGVjayB0ZXN0LiBJdCdzIG5vdCBhIHZlcnkgdXNlZnVsIHRlc3QsIGJ1dCBhdCBsZWFzdAoJICBpdCBhbGxvd3MgdXMgdG8gcnVuIGl0IHVuZGVyIHZhbGdyaW5kIGFuZCBjaGVjayBmb3IgbGVha3MgYXV0b21hdGljYWxseQoKMjAxMC0xMi0yMCAwMjo1ODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IFJlbW92ZSBsZWFrcwoJICBSZW1vdmluZyB2YXJpb3VzIGxlYWtzIGZyb20gdmlld2ZpbmRlcmJpbgoKMjAxMC0xMi0xNyAyMzowNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IG1vcmUgbG9ncwoKMjAxMC0xMi0xNyAyMzowNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNtYWxsIHRlc3RzIHVwZGF0ZQoJICBJbmNyZWFzZXMgdGltZW91dCB2YWx1ZSBzbyB0aGF0IHRlc3RzIHdvbid0IGZhaWwgd2l0aCBmdWxsCgkgIGRlYnVnIG91dHB1dC4KCSAgQWxzbyByZW1vdmVzIGJ1ZmZlciBhbGxvYyBmcm9tIHZpZGVvdGVzdHNyYyBhcyB0aGlzIGZlYXR1cmUKCSAgaXNuJ3QgcmVhZHkgb24gY2FtZXJhYmluMgoKMjAxMC0xMi0xNCAyMjowNjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgdGVzdHMgZm9yIGltYWdlIGNhcHR1cmUgd2l0aCBkaWZmZXJlbnQgY2FwcwoJICBBZGRzIGEgdGVzdCB0aGF0IHRyaWVzIHN1Y2Vzc2l2ZSBjYXB0dXJlcyB3aXRoIGRpZmZlcmVudCBjYXBzCgoyMDEwLTEyLTE2IDAwOjQwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgY2FtZXJhYmluMiBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnRzCgoyMDEwLTEyLTE1IDE0OjA1OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoJICBBZGRzIGEgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50IHRoYXQgaXMgcHVzaGVkIHRvIHRoZSBjYW1lcmFzcmMgcGFkCgkgIHRoYXQgbmVlZHMgcmVuZWdvdGlhdGlvbiBkdWUgdG8gdGhlIHVzZXIgc2VsZWN0aW5nIGEgbmV3IGNhcHR1cmUKCSAgY2FwcyBmb3IgdGhhdCBwYWQuCgkgIFRoaXMgaXMgYSB3YXkgb2Ygbm90aWZ5aW5nIHRoZSBzb3VyY2UgdGhhdCBpdCBzaG91bGQgdXBkYXRlIGl0cyBjYXBzLCBldmVuCgkgIGlmIGl0IGRvZXNuJ3QgdXNlIHBhZCBhbGxvY3MuCgoyMDEwLTEyLTE2IDIyOjQ5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgbG9jYWwgbW9kZQoKMjAxMC0xMi0xNCAxODo0Mjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgcHJvcGVydGllcyBmb3IgY2FwdHVyZSBjYXBzCgkgIEFkZHMgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIGNhcHMgZm9yIHZpZGVvIGFuZCBpbWFnZSBjYXB0dXJlcwoKMjAxMC0xMi0xOSAxOTo0MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEZpeCBtYWtlZmlsZSBidWlsZGluZyBvcmRlcgoJICBiYXNlY2FtZXJhYmluc3JjIG11c3QgYmUgYnVpbHQgYWZ0ZXIgcGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIGFzIGl0IGRlcGVuZHMgb24gaXQuCgoyMDEwLTEyLTEwIDE3OjQ1OjQwICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFicmV2aWF0aW9ucyBmcm9tIGltYWdlY2FwdHVyZWJpbgoKMjAxMC0xMi0xNiAwODo0Nzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IEFkZCBzb21lIG1vcmUgbG9nZ2luZwoJICBBZGRzIHNvbWUgbW9yZSBsb2dnaW5nIGFuZCBhbHdheXMgYXNzdW1lIGNhcHR1cmUgaGFzIHN0YXJ0ZWQgYmVmb3JlCgkgIHN0YXJ0X2NhcHR1cmUgaXMgY2FsbGVkLiBUaGlzIGhlbHBzIG9uIGltYWdlIGNhcHR1cmVzIHRoYXQgbWlnaHQKCSAgY2FsbCBmaW5pc2hfY2FwdHVyZSBkaXJlY3RseSBmcm9tIHN0YXJ0X2NhcHR1cmUgb3IgYmVmb3JlIHN0YXJ0X2NhcHR1cmUKCSAgZmluaXNoZXMuCgoyMDEwLTEyLTE1IDIyOjM1OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE1vcmUgY2xlYW51cAoJICBSZW1vdmUgb2xkIGxlZ2FjeSBjb2RlIGNvcGllZCBmcm9tIGNhbWVyYWJpbigxKSB0aGF0IHNob3VsZCBiZSBoYW5kbGVkCgkgIGJ5IGNhcHMgbmVnb3RpYXRpb24gb24gY2FtZXJhYmluMgoKMjAxMC0xMi0xNSAxNDowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHdhaXRfZm9yX3ByZXBhcmEgdmFyaWFibGUgdGhhdCB3YXNuJ3QgYmVpbmcgdXNlZAoKMjAxMC0xMi0xNCAxNzoyMzoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlbmFtZSB2NGwyY2FtZXJhc3JjIHRvIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgVXNlIGEgYmV0dGVyIG5hbWUgZm9yIHRoZSBlbGVtZW50IHRoYXQgd3JhcHMgc2luZ2xlIHBhZCBzcmMgZWxlbWVudAoJICBpbnRvIGEgM3BhZCBzb3VyY2UgcmVxdWlyZWQgYnkgY2FtZXJhYmluMi4KCjIwMTAtMTItMTQgMTY6NTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IHJlbW92ZSB2aWRlbyBmaWx0ZXIgcHJvcGVydHkgY29kZQoJICBSZW1vdmVzIHNvbWUgdW51c2VkIGN1c3RvbSB2aWRlbyBmaWx0ZXIgZWxlbWVudCBwcm9wZXJ0eSBjb2RlCgoyMDEwLTEyLTE2IDEwOjUxOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogRml4IHZpZGVvLXNpbmsgcHJvcGVydHkgYWdhaW4KCSAgQXZvaWQgc3dpdGNoaW5nIHRoZSBlbGVtZW50IG9uIHRoZSBzZXRfcHJvcGVydHkgZnVuY3Rpb24sIGluc3RlYWQgd2FpdAoJICBmb3IgdGhlIG5leHQgTlVMTCAtPiBSRUFEWSB0cmFuc2l0aW9uLgoKMjAxMC0xMi0xNCAxNDo0ODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSB2aWRlb3Rlc3RzcmMgb24gdGhlIHRlc3RzCgkgIFVzZSB2aWRlb3Rlc3RzcmMgdG8gYXZvaWQgb3Blbm5pbmcgdGhlIGNhbWVyYSBkZXZpY2Ugb24gdGhlIHRlc3RzLgoKMjAxMC0xMi0xNCAxNDo0Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IGFkZCB2aWRlby1zcmMgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgc3JjIGVsZW1lbnQgdG8gYmUgdXNlZCBpbnRlcm5hbGx5CgkgIG9uIHY0bDJjYW1lcmFzcmMuIFllYWgsIEkga25vdywgdGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYmV0dGVyCgkgIG5hbWUuCgoyMDEwLTEyLTEzIDE3OjU2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHRlc3QgZm9yIHN1cHBvcnRlZCBjYXBzIHByb3BlcnRpZXMKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhhdCB0aGUgc3VwcG9ydGVkIGNhcHMgcHJvcGVydGllcyB3b3JrCgkgIGFzIGV4cGVjdGVkICh1c2luZyB0aGUgcmVzcGVjdGl2ZSBwYWRzIGdldCBjYXBzIGZ1bmN0aW9uKQoKMjAxMC0xMi0xNCAwODo0NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBhZGRzIFBPUlRJTkcgZG9jdW1lbnQKCSAgQWRkcyBhIFBPUlRJTkcgZG9jdW1lbnQgdG8gZXhwbGFpbiB0aGUgZGlmZmVyZW5jZXMgZnJvbQoJICBjYW1lcmFiaW4gdG8gY2FtZXJhYmluMiBhbmQgaGVscCBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzIG9uCgkgIHBvcnRpbmcgZnJvbSBvbmUgdG8gYW5vdGhlci4KCjIwMTAtMTItMTMgMTk6MzY6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNb3ZlIGJhc2VjYW1lcmFzcmMgdG8gZ3N0LWxpYnMKCSAgTW92ZSB0aGUgYmFzZSBjYW1lcmEgc3JjIGNsYXNzIHRvIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjIHRvCgkgIGFsbG93IGl0IHRvIGJlIGluY2x1ZGVkIGZyb20gdGhlIHRlc3RzLgoKMjAxMC0xMi0xNCAxNDoyODo0OSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIHZpZGVvcmVjb3JkaW5nYmluOjp2aWRlby1tdXhlciBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAxMjoyMTo1NyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIHZpZGVvcmVjb3JkaW5nYmluOjp2aWRlby1lbmNvZGVyIHByb3BlcnR5CgoyMDEwLTEyLTE0IDA5OjU4OjM1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJicmV2aWF0aW9ucyBmcm9tIHZpZGVvcmVjb3JkaW5nYmluCgoyMDEwLTEyLTE0IDEwOjQ4OjU2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluOiByZWxlYXNlIG9iamVjdHMgYW5kIG1lbW9yeSBhbGxvY2F0aW9ucwoKMjAxMC0xMi0xMyAxNjozNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGNhbWVyYS1zcmMgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgY2FtZXJhIHNvdXJjZSBlbGVtZW50IHRvIGJlIHVzZWQuCgkgIENoYW5naW5nIG9ubHkgaGFwcGVucyBvbiB0aGUgbmV4dCBOVUxMLT5SRUFEWSB0cmFuc2l0aW9uCgoyMDEwLTEyLTEzIDExOjUzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW5hbWUgdmFyaWFibGVzCgkgIFVzZSBiZXR0ZXIgbmFtZSBmb3IgdGhlIHZhcmlhYmxlcywgbWFraW5nIHRoZSBjb2RlIGNsZWFyZXIuIEFsc28KCSAga2VlcCBhIHJlZiBmb3Igc29tZSBpbnRlcm5hbCBlbGVtZW50cyB0byBhdm9pZCBmZXRjaGluZyB0aGVtCgkgIGJ5IG5hbWUgd2hlbiBuZWVkZWQgbGF0ZXIuCgoyMDEwLTEyLTEyIDIzOjAzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgcHJvcGVydGllcyBmb3Igc3VwcG9ydGVkIGNhcHR1cmUgY2FwcwoJICBBZGRzIDIgcHJvcGVydHkgZm9yIGdldHRpbmcgdGhlIHN1cHBvcnRlZCBpbWFnZS92aWRlbyBjYXB0dXJlCgkgIGNhcHMgZnJvbSB0aGUgY2FtZXJhIHNvdXJjZS4KCjIwMTAtMTItMTIgMjA6NDY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFB1dCBlbnVtcyBpbnNpZGUgdGhlaXIgY2xhc3NlcyAuYwoJICBSZW1vdmUgZ2xvYmFsIGxpc3Qgb2YgcHJvcGVydGllcycgZW51bXMgYW5kIHB1dCB0aGVtCgkgIGluc2lkZSB0aGVpciBjbGFzc2VzIC5jCgoyMDEwLTEyLTEyIDE5OjMzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdmlld2ZpbmRlcmJpbjogRml4ZXMgdG8gdmlkZW8tc2luayBoYW5kbGluZwoJICBIYW5kbGUgdmlkZW8tc2luayBtb3JlIGNhcmVmdWxseSwgY2hlY2tpbmcgaWYgaXQgc2hvdWxkCgkgIGJlIGFscmVhZHkgYWRkZWQgdG8gdGhlIGJpbiwgYW5kIHJlbW92aW5nIG9sZCBvbmVzIHdoZW4KCSAgcmVwbGFjaW5nLgoKMjAxMC0xMi0xMyAxNjoyODo1OCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIGltYWdlY2FwdHVyZWJpbjo6aW1hZ2UtbXV4ZXIgcHJvcGVydHkKCjIwMTAtMTItMTMgMTI6MDg6MjIgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBpbWFnZWNhcHR1cmViaW46OmltYWdlLWVuY29kZXIgcHJvcGVydHkKCjIwMTAtMTItMTAgMTc6NDU6NDAgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJyZXZpYXRpb25zIGZyb20gaW1hZ2VjYXB0dXJlYmluCgoyMDEwLTEyLTEwIDEyOjA4OjQ4IC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBpbXBsZW1lbnQgdmlld2ZpbmRlcmJpbjo6dmlkZW8tc2luayBwcm9wZXJ0eSB0byBvdmVycmlkZSBkZWZhdWx0IHZpZGVvIG91dHB1dAoKMjAxMC0xMi0wOSAxNDoxMzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE1ha2UgY29uc3RydWN0X3BpcGVsaW5lIG9wdGlvbmFsCgkgIENvbnN0cnVjdCBwaXBlbGluZSBzaG91bGQgYmUgb3B0aW9uYWwuIFN1YmNsYXNzZXMgdGhhdCBkb24ndAoJICBoYXZlIGludGVybmFsIGVsZW1lbnRzIGRvbid0IG5lZWQgaXQuCgoyMDEwLTEyLTA5IDEyOjIzOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogd3JpdGUgbW9yZSBkZXRhaWxzIG9uIHRoZSBhcGkgZG9jcwoKMjAxMC0xMi0wOSAxMjoyMjoyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiB1c2UgdGhlIGVudW0gdHlwZSBmb3IgbW9kZQoKMjAxMC0xMi0wOSAxMjoyMToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBjb21tZW50IGNsZWFudXBzCgoyMDEwLTEyLTIyIDIxOjQ0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjQKCjIwMTAtMTItMjIgMTg6MTM6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSAgaWQzbXV4OiBTZXQgdG8gR1NUX1JBTktfUFJJTUFSWQoJICBXZSB3YW50IGl0IHRvIHRha2UgcHJlY2VkZW5jZSBvdmVyIGFueSBvdGhlciBpZDMgZm9ybWF0dGVyLgoKMjAxMC0xMi0yMSAxODowMToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBzb21lIG1vcmUgbGVha3MgYW5kIHJlb3JnYW5pemUgdW5yZWYgY29kZQoKMjAxMC0xMi0yMCAxNTozMzoyOCArMDEwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEF2b2lkIHNvbWUgbGVha3MgaW4gYXV0b2NvbnZlcnQKCSAgdW5yZWYgc2luayBhbmQgc3JjIHBhZCBhZnRlciBnc3RfcGFkX2J5X2RpcmVjdGlvbiBjYWxscyB1bnJlZgoJICBlbGVtZW50IGlmIGdzdF9hdXRvX2NvbnZlcnRfYWN0aXZhdGVfZWxlbWVudCBmYWlsZWQuCgkgIFNlZSBidWcgIzYzNzU1My4KCjIwMTAtMTItMjEgMTc6MDM6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRml4IGJ1ZmZlciBsZWFrIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMjAgMDc6MTk6MDQgLTA4MDAgIFNhbGVlbSBBYmR1bHJhc29vbCA8Y29tcG5lcmRAY29tcG5lcmQub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiBmaXggZm9yIGxhdGVzdCBHVEsrIEFQSSBjaGFuZ2VzCgoyMDEwLTEyLTIwIDE3OjQ3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTY5NDYyYSB0byA0NjQ0NWFkCgoyMDEwLTEyLTIwIDExOjA2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjYXBzIGxlYWtzCgkgIEZpeCBzb21lIGNhcHMgbGVha3Mgb24gdW5pdCB0ZXN0cwoKMjAxMC0xMi0yMCAwOTozNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBGaXggbGVha3Mgb24gY2hlY2sgdGVzdAoJICBGaXggbGVha3MgaW4gamlmbXV4IGNoZWNrIHRlc3QKCjIwMTAtMTItMjAgMTM6NTE6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiB1c2UgYSBmbGFncyB0eXBlIGluc3RlYWQgb2YgdGhlIHVpbnQKCSAgQWxzbyB1c2UgMCBhcyBkZWZhdWx0IGFuZCBsZXQgdGhlIGltcGxlbWVudGF0aW9uIHNldCBzb21ldGhpbmcgdGhhdCB0aGV5IHN1cHBvcnQuCgoyMDEwLTEyLTIwIDExOjE0OjQ5ICswMjAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBtaXNzaW5nIHByb3BlcnR5IGFuZCBjYWJhYmlsaXR5IGZsYWcgZm9yIG5vaXNlIHJlZHVjdGlvbgoKMjAxMC0xMi0xOSAxNzoyMzoyNCArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgdGVzdHM6IEZpeCBsZWFrIGluIGF1dG9jb252ZXJ0IHRlc3QKCjIwMTAtMTItMTkgMTc6MTY6MTAgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVXNlIGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoKQoKMjAxMC0xMi0xOSAxMjo1MzozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgQXRvbUluZm8gc3RydWN0cwoKMjAxMC0xMi0xOSAxMjo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgdGFnIHN0cmluZyBhZnRlciB1c2UKCjIwMTAtMTItMTkgMTI6MTI6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IEZpeCBzb21lIG1vcmUgbWVtb3J5IGxlYWtzCgoyMDEwLTEyLTE5IDEyOjEyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgbWVzc2FnZSBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTE5IDEyOjA5OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgcGFkIGFuZCBzaW5rCgoyMDEwLTEyLTE5IDEyOjA1OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlCgoyMDEwLTEyLTE5IDEyOjAzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IERvbid0IGxlYWsgbG9jYXRpb24gc3RyaW5nCgoyMDEwLTEyLTE5IDEyOjAwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERvbid0IGxlYWsgdGFnbGlzdAoKMjAxMC0xMi0xOSAxMTozODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDEwLTEyLTE5IDExOjIwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IEFkZCBhdXRvY29udmVydCBjaGlsZCBiZWZvcmUgY2hhaW5pbmcgdXAgdG8gcGFyZW50IHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICAuLi5hbmQgcmVtb3ZlL3VubGluayBhdXRvY29udmVydCBjaGlsZCB3aGVuIGdvaW5nIGJhY2sgdG8gTlVMTC4KCjIwMTAtMTItMTkgMTE6MTk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHN0YXRlczogSWdub3JlIG1vcmUgdmRwYXUgZWxlbWVudHMgaW4gdGhlIGdlbmVyaWMgc3RhdGVzIHRlc3QKCjIwMTAtMTItMTkgMTE6MTc6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29sb3JzcGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IFJlbmFtZSBhbmQgYWRqdXN0IHVuaXQgdGVzdCB0b28KCjIwMTAtMTItMTggMTI6NDg6NDIgLTA4MDAgIExlbyBTaW5nZXIgPGxlby5zaW5nZXJAbGlnby5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGZpeCBjb21waWxlciB3YXJuaW5nOiByZWR1bmRhbnQgZGVjbGFyYXRpb24gb2YgJ3BhcmVudF9jbGFzcycKCSAgR1NUX0JPSUxFUlBMQVRFX0ZVTEwgZGVjbGFyZXMgcGFyZW50X2NsYXNzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc1MzIKCjIwMTAtMTItMTcgMTk6NDE6MjUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWxsb3cgemVybyBkdXJhdGlvbiB0cmFja3MKCjIwMTAtMTItMTYgMTU6MzE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogdXNlIEdTVF9MT0cgZXRjLiBmb3IgbG9nZ2luZwoJICBUaGUgZHZic3ViIHJvdXRpbmVzIHdlcmUgb3JpZ2luYWxseSBkZXNpZ25lZCBhcyBhIG1pbmkgbGliIHdpdGggYQoJICBsb2cgY2FsbGJhY2sgKHdoaWNoIGZyb20gdGhlIGxvb2tzIG9mIGl0IGluIG91ciBjYXNlIHdvdWxkIGFsd2F5cwoJICBiZSBjYWxsZWQgYW5kIGFsd2F5cyBhc3NlbWJsZSB0aGUgc3RyaW5nIGV2ZW4gd2l0aCBkZWJ1ZyBvdXRwdXQKCSAgZGlzYWJsZWQpLiBTb21lIG9mIHRoZXNlIGRlYnVnIHN0YXRlbWVudHMgY2FuIHByb2JhYmx5IGJlIHJlbW92ZWQKCSAgb3IgY2xlYW5lZCB1cCBzb21lIG1vcmUuCgoyMDEwLTEyLTE2IDAwOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSBzb21lIHVudXNlZCBkZWZpbmVzCgoyMDEwLTEyLTE2IDAwOjEzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGF0b21pYyBhY2Nlc3MKCjIwMTAtMTItMTYgMTU6MzM6NDUgKzAwMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHJlbmRlcmluZyBhcnRlZmFjdHMKCSAgSW5pdGlhbGl6ZSBzb3VyY2UgeCBwb3NpdGlvbiBmb3Igb2RkIGhlaWdodCBzcGVjaWFsIGNhc2UuCgoyMDEwLTEyLTE2IDExOjI5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVGhlIGVuYWJsZSBwcm9wZXJ0eSBpcyBhIGJvb2xlYW4gYW5kIG5vdCBhbiBpbnRlZ2VyCgoyMDEwLTEyLTE2IDA5OjU2OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkgIGF1dG9jb252ZXJ0OiBSZW5hbWUgYXV0b2NvbG9yc3BhY2UgdG8gYXV0b3ZpZGVvY29udmVydAoJICBUaGlzIGRvZXNuJ3QganVzdCBjb252ZXJ0IGJldHdlZW4gY29sb3Igc3BhY2VzLgoKMjAxMC0xMi0xNSAxMjo0NTozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNpbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9zaW5rOgoJKiB0b29scy9nb2JqZWN0LmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJKiB0b29scy9zaW5rcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zaW5rcGFkLmM6CgkqIHRvb2xzL3NyY3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc3JjcGFkLmM6CgkgIGVsZW1lbnQtbWFrZXI6IENsZWFuIHVwIGRpcmVjdG9yeQoKMjAxMC0xMi0xNSAyMToyODowNiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEFkZCBmcmFtZXJhdGUgdG8gdGhlIHNpbmsgY2FwcwoJICBGaXhlcyBidWcgIzYzNzIyNC4KCjIwMTAtMTItMTUgMjE6MTk6NTUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29sb3JzcGFjZS5jOgoJICBhdXRvY29sb3JzcGFjZTogQWRkIHVuaXQgdGVzdAoKMjAxMC0xMi0xNSAyMToxNDozOCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkgIGF1dG9jb2xvcnNwYWNlOiBBZGQgYXV0b2NvbnZlcnQgYmFzZWQgdmlkZW8gZm9ybWF0IGNvbnZlcnQgZWxlbWVudAoJICBGaXhlcyBidWcgIzYzNjEwNi4KCjIwMTAtMTItMTUgMjE6MTE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW5hbWUgRFZCIHN1YnRpdGxpbmcgbWVkaWEgdHlwZSB0byBzdWJwaWN0dXJlL3gtZHZiCgoyMDEwLTEyLTE1IDIxOjExOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbmFtZSBEVkIgc3VidGl0bGluZyBtZWRpYSB0eXBlIHRvIHN1YnBpY3R1cmUveC1kdmIKCjIwMTAtMTItMTUgMjA6NTQ6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEb24ndCBkcmF3IGFueXRoaW5nIG9uIHRoZSB2aWRlbyBpZiB0aGUgZW5hYmxlIHByb3BlcnR5IGlzIHNldCB0byBGQUxTRQoKMjAxMC0xMi0xNSAyMDo1MzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEFkZCAjZGVmaW5lcyBmb3IgdGhlIHByb3BlcnR5IGRlZmF1bHQgdmFsdWVzCgoyMDEwLTEyLTE1IDIwOjUxOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVXNlIGdfYXRvbWljX2ludF9nZXQoKSBmb3IgcmVhZGluZyB0aGUgbWF4X3BhZ2VfdGltZW91dCBmaWVsZAoKMjAxMC0xMi0xNSAyMDo0OTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBNYXJrIGFycmF5IHN0YXRpYyBjb25zdCBhbmQgdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIHNpemVvZgoKMjAxMC0xMi0xNSAxNDozOTo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIERFU0NfRFZCX1NVQlRJVExJTkcgZGVzY3JpcHRvciBmb3IgbGFuZ3VhZ2UgcGFyc2luZwoKMjAxMC0xMi0xNSAxNDoyMzo1OCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZW5hYmxlIGdhdGhlcl9wZXMgb25seSBmb3IgRFZCIHN1YnRpdGxlIHByaXZhdGUgc3RyZWFtcwoKMjAxMC0xMi0xNCAxNDozNDo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgYXRvbWljIGluc3RydWN0aW9ucyB0byBzZXQvZ2V0IGVuYWJsZSBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAxNDoyODo0NSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkZCBwcm9wZXJ0eSB0byBsaW1pdCBwYWdlX3RpbWVfb3V0IHRvIGEgc2V0YWJsZSBtYXhpbXVtCgoyMDEwLTEyLTE0IDExOjExOjA4ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcGxlbWVudCBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBzdWJ0aXRsZSB3aW5kb3dzCgkgIHNpbXBsaWZpZXMgc3VidGl0bGUgc2NhbGluZyBpbiBibGl0X2k0MjAoKQoKMjAxMC0xMi0xMSAxNzoyNToyOSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBzY2FsZSBzdWJ0aXRsZXMgYWNjb3JkaW5nIHRvIHRoZSBkaXNwbGF5IHNpemUKCSAgRGlzcGxheSBzaXplIGlzIGVpdGhlciB0cmFuc21pdHRlZCBpbiB0aGUgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgb3IKCSAgaW1wbGljaXRseSBkZWZpbmVkIHRvIDcyMHg1NzYuIFRoZSBzdWJ0aXRsZSB3aW5kb3cgaW5mb3JtYXRpb24gYWxzbyBwcmVzZW50IGluCgkgIHRoZSBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBpcyBub3QgeWV0IHVzZWQuCgoyMDEwLTEyLTExIDE3OjEwOjI1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogaW1wbGVtZW50IGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHBhcnNpbmcKCjIwMTAtMTItMTAgMTI6Mjc6NTQgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGx1bWEgc3RyaWRlIGZvciBzY2FsZWQgc3VidGl0bGVzIChkaXNwbGF5IHdpZHRoICE9IHdpZHRoKQoKMjAxMC0xMi0xNSAxNjo0ODoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogRG9uJ3Qgc2V0IHVpbnQgb24gYW4gaW50IHByb3BlcnR5CgoyMDEwLTEyLTE1IDE0OjU2OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIwNzQyYWUgdG8gMTY5NDYyYQoKMjAxMC0xMi0xNCAxOTowMzowOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSogdG9vbHMvc2lua3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc2lua3BhZC5jOgoJKiB0b29scy9zcmNwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NyY3BhZC5jOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIGdlbmVyYXRpb24gb2Ygc2V2ZXJhbCBjbGFzc2VzCgkgIEJldHRlciBjcmVhdGlvbiBvZiBwYWRzLCB0ZXN0IGFuZCBmaXggbWFueSBvdGhlciBjbGFzc2VzLiAgTW9zdAoJICBjbGFzc2VzIHdvcmsgbm93LCBhbHRob3VnaCBtaWdodCBub3QgY3JlYXRlIGZ1bmN0aW9uYWwgZWxlbWVudHMuCgoyMDEwLTEyLTEzIDIzOjMyOjMwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBBZGQgeTRtZGVjCgkgIEZlZWwgdGhlIHk0bSBsb3ZlLiAgSXQgc2Vla3MuICBJdCB3b3JrcyBpbiBwaXRpdmkuCgoyMDEwLTEyLTEzIDIzOjE1OjA1ICswMDAwICBGcmFuY2lzIFJhbW1lbG9vIDxmcmFuY2lzLnJhbW1lbG9vQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdkaXNjcmVlbmNhcHNyYzogZml4IG1lbW9yeSBsZWFrCgkgIFN0cnVjdHVyZSBtZW1iZXJzIG9mIElDT05JTkZPIHN0cnVjdCBmaWxsZWQgYnkgR2V0SWNvbkluZm8oKSBtdXN0CgkgIGJlIGRlbGV0ZWQgd2hlbiBubyBsb25nZXIgbmVlZGVkIGFjY29yZGluZyB0byB0aGUgQVBJIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTQyOAoKMjAxMC0xMi0xMyAxNjoyMzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBsZWFraW5nIHRhZyBldmVudAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTEzIDE2OjIzOjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAxMWJjYzggdG8gMjA3NDJhZQoKMjAxMC0xMi0xMiAyMzozNDowMiArMDAwMCAgTWF0dGhldyBJZmUgPG1hdHRoZXcuaWZlQHVrZmFzdC5jby51az4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBmYWlsIG1vcmUgZ3JhY2VmdWxseSBpZiBzb3VyY2UgZ2V0cyBkaXNjb25uZWN0ZWQgb3IgZ2VvbWV0cnkgY2hhbmdlcwoJICBEb24ndCBnZXQgY2F1Z2h0IGluIGFuIGluZmluaXRlIGxvb3AgaWYgdGhlIHNvdXJjZSBnZXRzIGRpc2Nvbm5lY3RlZCBhbmQgYWxzbwoJICBzdXBwb3J0IGdyYWNlZnVsbHkgZmFpbGluZyB1cG9uIGRldGVjdGluZyB0aGUgZnJhbWUgZ2VvbWV0cnkgaGFzIGluY3JlYXNlZAoJICAocmF0aGVyIHRoYW4gc2VnZmF1bHRpbmcpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Mzk3CgoyMDEwLTEyLTEyIDIyOjEzOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGxlYWtpbmcgY29udmVydGVkIGNvbW1lbnQgc3RyaW5nCgoyMDEwLTEyLTEyIDEyOjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgc3NpbTogU2V0IGNsYXNzaWZpY2F0aW9uIHRvIEZpbHRlci9BbmFseXplci9WaWRlbyBpbnN0ZWFkIG9mIEZpbHRlci9Db252ZXJ0ZXIvVmlkZW8KCSAgRml4ZXMgYnVnICM2MzYxMDkuCgoyMDEwLTEyLTEyIDAyOjI0OjAwICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkgIGdhdWRpZWZmZWN0czogQXZvaWQgZGl2aWRlIGJ5IDAgaW4gYnVybiBlbGVtZW50CgoyMDEwLTEyLTEyIDAyOjE2OjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBEZWZlciBwdXNoaW5nIHRhZyB1cGRhdGVzIHVudGlsIHN0cmVhbWluZy4KCSAgUHVzaCB0YWcvdGl0bGUgaW5mbyB1cGRhdGVzIGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBhdm9pZGluZwoJICBzcHVyaW91cyBsb3NzZXMgb2YgdGhlIGRvd25zdHJlYW0gZXZlbnRzIHdoZW4gZmx1c2hpbmcuCgkgIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NDIyMgoKMjAxMC0xMS0xNiAxNzoxODozMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBdHRlbXB0IHRvIHVzZSBnbGliIGxhbmd1YWdlIHNldHRpbmcgZm9yIERWRCBtZW51cy9hdWRpbwoKMjAxMC0xMS0xNiAxNzowOTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggc2lsbHkgdHlwbyBpbiBidXR0b24gc3RhdGUgdHJhY2tpbmcuCgoyMDEwLTEyLTEwIDAwOjU4OjU4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogb25seSBlbnF1ZXVlIGJ1ZmZlcnMgaW4gdGhlIFZpZGVvVG9vbGJveCBjYWxsYmFja3MKCSAgVGhlc2UgY2FsbGJhY2tzIG1heSBmaXJlIGZyb20gYW55IHRocmVhZCwgaGVuY2Ugd2Ugc2hvdWxkIG9ubHkgZW5xdWV1ZQoJICBidWZmZXJzIGFuZCBsZXQgdGhlIHN0cmVhbWluZyB0aHJlYWQgdGFrZSBjYXJlIG9mIHRoZSByZXN0IGFzIHNvb24gYXMKCSAgdGhlIGJsb2NraW5nIGVuY29kZSBvciBkZWNvZGUgb3BlcmF0aW9uIGhhcyBmaW5pc2hlZC4KCjIwMTAtMTEtMTkgMTU6NTM6NTUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSAgYXBwbGVtZWRpYTogYnJpbmcgYmFjayBMZW9wYXJkIGNvbXBhdGliaWxpdHkKCSAgQXQgbGVhc3QgYXMgZmFyIGFzIG1pb3ZpZGVvc3JjIGlzIGNvbmNlcm5lZC4gVHVybnMgb3V0IHRoYXQgQ29yZVZpZGVvJ3MKCSAgQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFjZSBpcyBub3QgcHJlc2VudCBpbiBMZW9wYXJkJ3MgdmVyc2lvbiBvZiBDb3JlVmlkZW8uCgkgIFdlIHNvbHZlIHRoaXMgYnkgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBzeW1ib2xzIHRvIGJlIG1hcmtlZCBhcyBvcHRpb25hbC4KCjIwMTAtMTEtMjkgMTM6NDc6MTEgKzAxMDAgIENocmlzdGlhbiBCZXJlbnRzZW4gPGNocmlzdGlhbi5iZXJlbnRzZW5AY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZnJhbWVyYXRlIGZyYWN0aW9uIHJhbmdlIG1hcHBpbmcKCSAgTWluIGFuZCBtYXggbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBidXQgY29tcHJlc3MgdG8gdGhlIHNhbWUgZnJhY3Rpb24uCgoyMDEwLTEyLTA5IDE4OjA2OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkgIGphc3BlcmRlYzogZG9uJ3QgZmFpbCBoYXJkIG9uIGRlY29kaW5nIGVycm9yCgkgIGRvbid0IHBvc3QgYW4gZXJyb3IgYW5kIHJldHVybiBHU1RfRkxPV19FUlJPUiBvbiBhIHNpbXBsZSBkZWNvZGluZyBlcnJvci4gV2UgY2FuCgkgIGp1c3QgcmVzdW1lIGFuZCBjb250aW51ZSBkZWNvZGluZyB0aGUgbmV4dCBpbWFnZS4KCjIwMTAtMTItMDkgMTE6NTQ6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHJlc2V0IHRoZSBxdWV1ZSBjb25kaXRpb24gdG8gTk9fRlJBTUVTIGluIHVubG9ja1N0b3AuCgkgIEZpeGVzIGEgc2VnZmF1bHQgaW4gY3JlYXRlOiB3aGVuIGdvaW5nIFBMQVlJTkcgLT4gUEFVU0VEIC0+IFBMQVlJTkcuCgoyMDEwLTEyLTA5IDExOjA0OjE5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBydW4gdGhlIG1haW5SdW5Mb29wIGZvciBhIHdoaWxlIGlmIG5vdCBydW5uaW5nLgoJICBRVENhcHR1cmVTZXNzaW9uOjphZGRJbnB1dCBhbmQgUVRDYXB0dXJlU2Vzc2lvbjo6YWRkT3V0cHV0IGNhbGwKCSAgTlNPYmplY3Q6OnBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpbnRlcm5hbGx5IHNvIHRoZXkgbmVlZCB0aGUgbWFpblJ1bkxvb3AgdG8KCSAgcnVuIGF0IGxlYXN0IGZvciBhIHdoaWxlIHRvIGNvbXBsZXRlLgoKMjAxMC0xMi0wNyAxOTo0MDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IFJlbW92ZSBnaG9zdHBhZHMKCSAgUmVtb3ZlIGdob3N0IHBhZHMgZnJvbSBiYXNlY2FtZXJhc3JjLiBEaWZmZXJlbnQgaW1wbGVtZW50YXRpb25zCgkgIG9mIGNhbWVyYSBzb3VyY2VzIG1pZ2h0IG5vdCB1c2UgZ2hvc3RwYWRzIGFuZCB1c2UgZGVmYXVsdCBwYWRzLgoKMjAxMC0xMi0wNyAxOToxMjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBSZW1vdmluZyB1bnVuc2VkIG1ldGhvZHMKCSAgUmVtb3ZlIG9uZSB1bnVzZWQgbWV0aG9kIF9maW5pc2hfaW1hZ2VfY2FwdHVyZSgpCgoyMDEwLTEyLTA2IDExOjA1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogT25seSBydW4gdGVzdHMgaWYgZXhwZXJpbWVudGFsIGlzIGVuYWJsZWQKCSAgT25seSBydW4gY2FtZXJhYmluMiB0ZXN0cyBhbmQgYnVpbGQgZXhhbXBsZXMgaWYgZXhwZXJpbWVudGFsCgkgIHBsdWdpbnMgYXJlIGVuYWJsZWQKCjIwMTAtMTItMDYgMTA6MDY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IENsZWFudXAKCSAgUmVtb3ZpbmcgY29tbWVudGVkIGNvZGUKCjIwMTAtMTItMDUgMTE6MTg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBNb3ZlIHN0YXJ0L3N0b3AgY2FwdHVyZSBzaWduYWxzIHRvIGJhc2VjYW1lcmFzcmMKCSAgTW92ZSBzdGFydC9zdG9wIHNpZ25hbHMgYW5kIHJlYWR5LWZvci1jYXB0dXJlIHRvIGJhc2VjYW1lcmFzcmMKCSAgYXMgdGhpcyBzaG91bGQgYmUgcHJlc2VudCBvbiBhbGwgY2FtZXJhIHNvdXJjZXMKCjIwMTAtMTItMDQgMTA6MTU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBBZGQgbW9kZSBwcm9wZXJ0eQoJICBNb3ZlIG1vZGUgcHJvcGVydHkgZnJvbSB2NGwyY2FtZXJhc3JjIHRvIGJhc2VjYW1lcmFzcmMsIGFzIGFsbAoJICBjYW1lcmEgc291cmNlcyBzaG91bGQgaGFuZGxlIGl0LgoKMjAxMC0xMi0wNCAwMDoyNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVzZXQgYWxsIGVsZW1lbnRzIG9uIHZpZGVvIHJlY29yZGluZyBicmFuY2ggYmVmb3JlIGNhcHR1cmUKCSAgV2UgbmVlZCB0byByZXNldCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgdmlkZW8gcmVjb3JkaW5nIGJyYW5jaCwgaW5jbHVkaW5nCgkgIHRoZSBxdWV1ZSBhbmQgY2Fwc2ZpbHRlciBpbiBvcmRlciB0byBjbGVhciB0aGUgZW9zIHN0YXRlIGFuZCBhY3RpdmF0ZQoJICB0aGUgcGFkcy4KCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byByZWNvcmQgbXVsdGlwbGUgdmlkZW9zIHdpdGggY2FtZXJhYmluMiBpbiBhCgkgIHNlcXVlbmNlLCBvdGhlcndpc2UgdGhlIHNvdXJjZSB3b3VsZCBnZXQgYSB1bmV4cGVjdGVkIHJldHVybiBhbmQKCSAgcHVzaCBFT1MsIHN0b3BwaW5nIHRoZSB3aG9sZSBwaXBlbGluZS4KCjIwMTAtMTItMDMgMTI6MTM6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggdGVzdHMgY2FwdHVyZSBsb2NhdGlvbiBjcmVhdGlvbgoJICBGaXhlcyBjYXB0dXJlIGxvY2F0aW9uIGNyZWF0aW9uIHRvIHVzZSBtdWx0aWZpbGVzaW5rIGxvY2F0aW9uCgkgIGxpa2Ugc3RyaW5ncy4gRS5nLiB1c2luZyBjYXB0dXJlXyVkIGluc3RlYWQgb2YgY2FwdHVyZV8wIHRvIGxldAoJICBjYW1lcmFiaW4yIGhhbmRsZSB0aGUgJWQgcmVwbGFjaW5nCgoyMDEwLTEyLTAzIDEyOjEyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBNb3JlIGRlYnVnIGxvZ3MKCSAgU3ByaW5rbGUgc29tZSBtb3JlIGRlYnVnZ2luZyBsb2dzCgoyMDEwLTEyLTAzIDEyOjExOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IFByaW50IG1vcmUgaW5mbwoJICBBZGQgc29tZSBwcmludGluZyBmb3IgZXJyb3IvZW9zIGNhc2VzLgoKMjAxMC0xMi0wMiAwMzo0NDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFZhcmlvdXMgZml4ZXMKCSAgQXMgdmlkZW8gcmVjb3JkaW5nIGJpbidzIHN0YXRlIGlzIGxvY2tlZCwgd2Ugc2hvdWxkIGFsd2F5cwoJICByZW1lbWJlciBvZiBzZXR0aW5nIGl0IHRvIE5VTEwgd2hlbiBjYW1lcmFiaW4yIGdvZXMgdG8gTlVMTAoJICBCZSBtb3JlIGNhcmVmdWwgd2hlbiB1c2luZyBlbGVtZW50cyB0aGF0IG1pZ2h0IG5vdAoJICBoYXZlIGJlZW4gY3JlYXRlZCB5ZXQKCSAgQW5kIGRvIG5vdCBzZXQgbG9jYXRpb24gcHJvcGVydHkgcmVjdXJzaXZlbHkgb24gdmlkZW9yZWNvcmRpbmdiaW4KCjIwMTAtMTItMDIgMDM6MDg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHRlc3RzIGZvciBjYW1lcmFiaW4yCgkgIEFkZHMgc29tZSBiYXNpYyB0ZXN0cyBmb3IgY2FtZXJhYmluMgoKMjAxMC0xMi0wMiAwMjoyMTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBhZGRzIHRlc3RzIGZvciBlbGVtZW50cwoJICBBZGRzIGJhc2ljIHRlc3RzIGZvciBib3RoIGltYWdlY2FwdHVyZWJpbiBhbmQgZm9yCgkgIHZpZGVvcmVjb3JkaW5nYmluIGVsZW1lbnRzCgoyMDEwLTEyLTAyIDAxOjMzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogSW1wcm92ZSBlbGVtZW50cyBjcmVhdGlvbgoJICBCZSBtb3JlIGNhcmVmdWwgd2l0aCBjbGVhbnVwIG9mIGVsZW1lbnRzLiBBbHNvIGFkZCBzb21lIGxvZ3MgYW5kCgkgIGltcHJvdmUgZG9jcyBhIGxpdHRsZS4KCjIwMTAtMTItMDIgMDA6MTk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIEdlbmVyYWwgY2xlYW51cCwgcmVtb3ZpbmcgdW51c2VkIGJpdHMKCjIwMTAtMTEtMzAgMjA6MTM6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJICBjYW1lcmFiaW4yOiBhZGRzIGxvY2F0aW9uIHByb3BlcnR5CgkgIEFkZHMgYSBsb2NhdGlvbiBwcm9wZXJ0eSB0byBlbmFibGUgYXBwbGljYXRpb25zIHRvIHNlbGVjdAoJICB0aGUgY2FwdHVyZWQgZmlsZXMgbmFtZXMuIExvY2F0aW9ucyBhcmUgaGFuZGxlZCBqdXN0IGxpa2UKCSAgbXVsdGlmaWxlc2luayBvbmVzCgkgIEFsc28gZGlzYWJsZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCB0byBhbGxvdyB0byB1c2Ugbm9uLWxpdGVyYWxzCgkgIG9uIGdfc3RyZHVwX3ByaW50ZiBvbiBjYW1lcmFiaW4gYW5kIGdlbmVyYXRlIGEgc2VxdWVuY2Ugb2YKCSAgbG9jYXRpb25zIGZvciBjYXB0dXJlcy4KCjIwMTAtMTEtMzAgMjA6MTU6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggc2V0L2dldCBwcm9wZXJ0eSBmdW5jdGlvbiBuYW1lcwoJICBBZGQgbW9yZSBjb25zaXN0ZW5jeSB0byB0aGUgZnVuY3Rpb24gbmFtZXMgYnkgdXNpbmcKCSAgZ3N0X2NhbWVyYV9iaW4gYXMgdGhlIG90aGVyIGZ1bmN0aW9ucy4KCjIwMTAtMTEtMzAgMTg6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSB2aWRiaW4gc3RhdGUgY2hhbmdlIGluZGl2aWR1YWxseQoJICBLZWVwIHZpZGJpbiBzdGF0ZSBsb2NrZWQgdG8gYXZvaWQgaXQgZ29pbmcgdG8gcGxheWluZyB3aXRob3V0CgkgIGJlaW5nIHVzZWQgYW5kIGxlYXZpbmcgYW4gZW1wdHkgZmlsZSBjcmVhdGVkLgoJICBDaGVjayB0aGUgZG9jcyBvbiB0aGUgY29kZSBmb3IgZGV0YWlscyBvbiB0aGUgaGFuZGxpbmcuCgoyMDEwLTExLTMwIDExOjQwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBLZWVwIGl0IHVuZGVyIC0tZW5hYmxlLWV4cGVyaW1lbnRhbAoJICBjYW1lcmFiaW4yIGlzIHN0aWxsIHVuZGVyIGhlYXZ5IGRldmVsb3BtZW50LCBhY3RpdmF0ZSBpdCBvbmx5IGlmCgkgIHRoZSAtLWVuYWJsZS1leHBlcmltZW50YWwgZmxhZyBpcyBvbi4KCSAgQWxzbyBhZGQgYSBub3RlIHRvIHRoZSBkb2NzLgoKMjAxMC0xMS0zMCAxMTowNjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEFkZCByZWFkeS1mb3ItY2FwdHVyZSBwcm9wZXJ0eQoJICBBZGRzIHByb3BlcnR5IHRoYXQgaW5mb3JtcyBpZiB2NGwyY2FtZXJhc3JjIGlzIGF2YWlsYWJsZQoJICBmb3Igc3RhcnRpbmcgYSBuZXcgY2FwdHVyZS4KCSAgSXQgaXMgdXNlZnVsIGZvciBhcHBsaWNhdGlvbnMgdG8ga25vdyAodmlhIGRlZXAtbm90aWZ5KSB3aGVuIHRoZQoJICBwcm9wZXJ0eSBjaGFuZ2VzIGFuZCBhIG5ldyBjYXB0dXJlIGlzIHBvc3NpYmxlLiBOb3RlLCBob3dldmVyLCB0aGF0CgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUgZnJvbSB0aGUgbm90aWZ5IGNhbGxiYWNrIHdpbGwgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTAtMTEtMzAgMDk6Mjg6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgdjRsMmNhbWVyYXNyYyB0byB1c2Ugc3RhcnQvc3RvcCBzaWduYWxzCgkgIFJlbW92ZXMgdGhlIG9sZCBsb2dpYyBmb3IgdjRsMmNhbWVyYXNyYyB0aGF0IHVzZWQgdGhlIG1vZGUKCSAgcHJvcGVydHkgc3dpdGNoaW5nIHRvIHN0YXJ0L3N0b3AgY2FwdHVyZXMgdG8gbWFrZSBpdCBpZGVudGljYWwKCSAgdG8gY2FtZXJhYmluMiBiZWhhdmlvciBhbmQgdG8gYWxsb3cgdGhlIGZ1dHVyZSBhZGRpdGlvbiBvZgoJICBwYXVzaW5nIGEgdmlkZW8gcmVjb3JkaW5nLgoJICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgTU9ERV9QUkVWSUVXIGFzIGl0IGJlY2FtZSB1c2VsZXNzLgoKMjAxMC0xMS0yOSAxODo1MzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQ2xlYW51cCBjYXB0dXJpbmcgZmxhZwoJICBDbGVhbnVwIGNhcHR1cmluZyBmbGFnIHdoZW4gdGhlIHNvdXJjZSBzd2l0Y2hlcyBiYWNrIHRvIHRoZQoJICB2aWV3ZmluZGVyIG1vZGUKCjIwMTAtMTEtMjkgMTg6MjQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgcGFkZGluZwoKMjAxMC0xMS0yOSAxNTo0OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogSW1wbGVtZW50IHZpZGVvIGNhcHR1cmUKCSAgSW1wbGVtZW50cyB2aWRlbyBjYXB0dXJlIG9uIHY0bDJjYW1lcmFzcmMgYnkgdXNpbmcgdGhlIG1vZGUgcHJvcGVydHksCgkgIHdoZW4gbW9kZSBpcyBzZXQgdG8gdmlkZW8sIHRoZSBwYWQgcHJvYmUgcHVzaGVzIGEgbmV3IHNlZ21lbnQKCSAgYW5kIHN0YXJ0cyBwdXNoaW5nIGJ1ZmZlcnMgb24gdGhlIHBhZCwgd2hlbiBpdCB0aGUgcHJvcGVydHkgaXMKCSAgc2VudCBiYWNrIHRvIHByZXZpZXcsIHRoZSBwYWQgcHJvYmUgcHVzaGVzIGFuIEVPUyBhbmQgc3RvcHMKCSAgcHVzaGluZyBidWZmZXJzLgoJICBUaGlzIGlzIGNvbnRyb2xsZWQgYnkgYSBSZWNvcmRpbmcgU3RhdGUgdmFyaWFibGUsIHRoYXQgaXMgcHJvdGVjdGVkCgkgIGJ5IHRoZSBHU1RfT0JKRUNUX0xPQ0suIEkgZG9uJ3QgdGhpbmsgbG9ja2luZyBmb3IgZXZlcnkgYnVmZmVyIGlzCgkgIG5pY2UsIHNvIHdlIGNvdWxkIGZpbmQgYW4gYWx0ZXJuYXRpdmUgbG9ja2xlc3Mgd2F5IGhlcmUuCgoyMDEwLTExLTI5IDEyOjU3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogRml4IGltYWdlIGNhcHR1cmUKCSAgT25jZSBhIGltYWdlIGlzIGNhcHR1cmVkLCB2NGwyY2FtZXJhc3JjIHNob3VsZCByZXR1cm4gdG8gdGhlCgkgIHByZXZpZXcgbW9kZSBhbmQgc3RvcCBjYXB0dXJpbmcuCgoyMDEwLTExLTI5IDExOjMxOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogS2VlcCBtb2RlIGRlZmluaXRpb24gYXQgLWVudW0gZmlsZQoJICBVc2UgJ21vZGUnIGVudW0gZGVmaW5pdGlvbiBmcm9tIGdzdGNhbWVyYWJpbi1lbnVtIGZpbGUgdG8gYXZvaWQKCSAgY29uZmxpY3RzIGJldHdlZW4gdjRsMmNhbWVyYXNyYyBhbmQgZ3N0Y2FtZXJhYmluMiBtb2Rlcy4KCSAgRm9yIG5vdyB0aGVyZSBpcyBhIE1PREVfUFJFVklFVyB0aGVyZSB0aGF0IGlzIG9ubHkgdXNlZCBvbiB0aGUKCSAgY2FtZXJhc3JjLCBub3Qgc3VyZSBpZiB3ZSBhcmUga2VlcGluZyBpdCBhdCB0aGUgZnV0dXJlLCBidXQgZm9yCgkgIG5vdyB0aGlzIHdvcmtzLgoKMjAxMC0xMS0yOSAxMDo0NjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEFkZHMgbW9kZSBwcm9wZXJ0eQoJICBBZGRzIG1vZGUgcHJvcGVydHkgdG8gdjRsMmNhbWVyYXNyYwoKMjAxMC0xMS0yOSAxMDo0NTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBkZWJ1ZyBjYXRlZ29yaWVzCgkgIEFkZGluZyBkZWJ1ZyBjYXRlZ29yaWVzIHRvIHY0bDJjYW1lcmFzcmMgYW5kIGNhbWVyYWJpbjIsIGFsc28KCSAgcmVtb3ZpbmcgZ2VuZXJpYyBjYXRlZ29yeSBmcm9tIGNhbWVyYWJpbmdlbmVyYWwuCgoyMDEwLTExLTI2IDIzOjU1OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBBZGRzIGNhbWVyYWJpbjIgZXhhbXBsZQoJICBBZGRzIGd0ayBjYW1lcmFiaW4yIGV4YW1wbGUgYXBwCgoyMDEwLTExLTI2IDE3OjI0OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYmFzaWMgcHJvcGVydHkgYW5kIHNpZ25hbHMKCSAgQWRkcyBtb2RlIHByb3BlcnR5IHRvIGNhbWVyYWJpbjIsIGFsbG93aW5nIHVzZXJzIHRvCgkgIHNlbGVjdCBiZXR3ZWVuIHZpZGVvIGFuZCBzdGlsbHMgY2FwdHVyZS4gQWxzbyBhZGRzCgkgIHN0YXJ0L3N0b3AgY2FwdHVyZSBhY3Rpb25zIHRvIHRyaWdnZXIgYW5kIHN0b3AKCSAgY2FwdHVyaW5nCgoyMDEwLTExLTI2IDE1OjU1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgZmlsZXNpbmsncyBhc3luYyB0byBGQUxTRQoJICBJbiBvcmRlciB0byBwcmVyb2xsLCBjYW1lcmFiaW4yIHNob3VsZCBoYXZlIGl0cyBmaWxlc2lua3MgaW4KCSAgdGhlIGltYWdlY2FwdHVyZWJpbiBhbmQgdmlkZW9yZWNvcmRpbmdiaW4gd2l0aCBhc3luYz1GQUxTRS4KCjIwMTAtMTEtMjYgMTQ6NTE6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYmFzaWMgZWxlbWVudHMKCSAgSW5zdGFudGlhdGluZyBhbmQgbGlua2luZyBiYXNpYyBlbGVtZW50cyBvbiBjYW1lcmFiaW4yCgkgIHNvIGl0IGF0IGxlYXN0IHNob3dzIHRoZSB2aWV3ZmluZGVyIHdoZW4gcnVubmluZy4KCjIwMTAtMTEtMjYgMTA6MTQ6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkcyBhIHN0dWIgZWxlbWVudCBmb3IgY2FtZXJhYmluMgoJICBBZGRzIGNhbWVyYWJpbjIgZWxlbWVudCwgaXQgaXMgbm93IGEgcGlsZSBvZiBzdHVicy4KCjIwMTAtMTEtMjUgMjI6MDU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZQoJICBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZQoKMjAxMC0xMS0yNSAyMTo0OTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZpbmcgdW5lZWRlZCBwcm9wZXJ0aWVzCgkgIFJlbW92aW5nIHVuZWVkZWQgYW5kIHVucmVnaXN0ZXJlZCBwcm9wZXJ0aWVzLgoKMjAxMC0xMS0yNSAyMDo1NTozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IEZpeCBwcm9wZXJ0eSB3YXJuaW5nCgkgIEF2b2lkIHNldHRpbmcgYSBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTExLTI1IDIwOjUzOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZWQgdW51c2VkIGxlZnRvdmVyIHZhcmlhYmxlCgoyMDEwLTExLTI1IDE0OjU3OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSAgY2FtZXJhYmluMjogQWRkcyB2aWRlbyByZWNvcmRpbmcgYmluCgkgIEFkZHMgYW4gYmluIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGVuY29kaW5nIGFuZCBzYXZpbmcgdmlkZW8KCSAgc3RyZWFtcyB0byBmaWxlcy4KCSAgRm9yIG5vdyBpdCBpcyBzaW1wbHkgYSBmZm1wZWdjb2xvcnNwYWNlICEgdGhlb3JhZW5jICEgb2dnbXV4ICEKCSAgZmlsZXNpbmsgYmluLgoJICBTdGlsbCB1bmNhcGFibGUgb2YgcmVjb3JkaW5nIGF1ZGlvLgoKMjAxMC0xMS0yNSAxMzowMDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB2NGwyY2FtZXJhc3JjIGZyb20gcm9iY2xhcmsncyBicmFuY2gKCSAgQWRkcyAzLXBhZCB2NGwyIGNhbWVyYSBzb3VyY2UgZnJvbSBSb2IgQ2xhcmsncyBjYW1lcmFiaW4KCSAgYnJhbmNoIG9uIGh0dHA6Ly9naXRvcmlvdXMub3JnL3JvYmNsYXJrLWdzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMTAtMTEtMjQgMjA6MzE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgbmV3IGltYWdlY2FwdHVyZWJpbgoJICBBZGRzIGFuIGJpbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBpbWFnZSBjYXB0dXJlcy4KCSAgSXQgaXMgYSBzaW1wbGUgZmZtcGVnY29sb3JzcGFjZSAhIGpwZWdlbmMgISBqaWZtdXggISBtdWx0aWZpbGVzaW5rCgkgIGZvciBub3cuCgoyMDEwLTExLTI0IDIwOjE1OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgcGx1Z2luIGluaXQgdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIE1vdmVzIHBsdWdpbiBpbml0IHRvIGdzdHBsdWdpbi5jIHRvIGFsbG93IG11bHRpcGxlCgkgIGVsZW1lbnRzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMuCgoyMDEwLTExLTI0IDE3OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBBZGRzIHZpZXdmaW5kZXJiaW4gZWxlbWVudAoJICBBZGRzIHZpZXdmaW5kZXIgYmluIGVsZW1lbnQsIG9uZSBvZiB0aGUgbW9kdWxlcyBvZiBjYW1lcmFiaW4yCgkgIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgdGhlIHZpZGVvIGZyb20gdGhlIGNhbWVyYS4KCSAgRm9yIG5vdyBpdCBpcyBvbmx5IGEgYmluIHdpdGggZmZtcGVnY29sb3JzcGFjZSAhIHZpZGVvc2NhbGUgIQoJICBhdXRvdmlkZW9zaW5rCgoyMDEwLTEyLTA4IDE5OjM2OjQ4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWC4KCjIwMTAtMTEtMjQgMTI6MjI6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIG91dHB1dC1zZWxlY3Rvci10ZXN0OiBkb24ndCBoYXJkY29kZSB2aWRlb3NpbmtzIGFuZCB1c2UgbW9yZSBjb2xvcnNwYWNlIGNvbnYuCgkgIFVzZSBhdXRvdmlkZW9zaW5rIGluc3RlYWQgb2YgaGFyZGNvZGVkIHNpbmtzLiBVc2UgYW4gYWRkaXRpb25hbCBjb2xvcnNwYWNlCgkgIGNvbnZlcnRlciBiZXR3ZWVuIHZpZGVvdGVzdHNyYyBhbmQgdGltZW92ZXJsYXkuCgoyMDEwLTEyLTA4IDE1OjE4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUvYmFzZSBpbnN0ZWFkIG9mIG9sZCBnaXQKCjIwMTAtMTItMDcgMTU6NDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiByZS11c2UgY2xlYW51cCgpIGluIGZpbmFsaXplKCkKCSAgLi4uIGFuZCBhbHNvIGZhdm9yIGZpbmFsaXplKCkgcmF0aGVyIHRoYW4gZGlzcG9zZSgpLgoKMjAxMC0xMS0xOCAxMzozOToyMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFNldCBzcmNwYWQgY2FwcyBiZWZvcmUgZm9yd2FyZGluZyBuZXdzZWdtZW50CgkgIFRoaXMgaG9sZHMgYWxsIG5ld3NlZ2VtZW50IGFuZCBtb3N0IG90aGVyIGV2ZW50cyB0aWxsIHRoZXJlIGlzIGVub3VnaAoJICBkYXRhIHRvIHNldCBzcmNwYWQgY2Fwcywgc28gdGhhdCB0aGUgZG93bnN0cmVhbSBsaW5rIGlzIHByb3Blcmx5CgkgIG5lZ290aWF0ZWQgYmVmb3JlIGRhdGEgc3RhcnRzIGZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDQKCjIwMTAtMTEtMTggMjM6Mjk6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2Ugc2lua3BhZCBjYXBzIGFzIGJhc2UgZm9yIHNyY3BhZCBjYXBzCgkgIFRoaXMgd2F5LCB3ZSBkb24ndCBsb3NlIGFkZGl0aW9uYWwgZmllbGRzIHRoYXQgY29tZSBmcm9tIHVwc3RyZWFtIChsaWtlCgkgIHByb2ZpbGUvbGV2ZWwgZm9yIG5vdykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDIKCjIwMTAtMTItMDcgMTU6MjA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBtaW5vciBmaXggdG8gZXJyb3IgaGFuZGxpbmcKCSAgV2Ugd2VyZW4ndCBoYW5kbGluZyB1bnBhcnNlYWJsZSBjb2RlY19kYXRhIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDIKCjIwMTAtMTItMDcgMTc6MTc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgbmVhcmVzdCBuZWlnaGJvdXIgc2NhbGluZyBmb3IgdGhlIHN1YnBpY3R1cmVzCgkgIFRoaXMgYmVjb21lcyBuZWNlc3Nhcnkgd2hlbiBTRFRWIHN1YnRpdGxlcyBhcmUgdXNlZCBmb3IgSERUViB2aWRlb3MuCgoyMDEwLTEyLTA3IDE0OjU1OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxpZ24gY29kZSB3aXRoIGNvbW1lbnQKCjIwMTAtMTItMDcgMTQ6NTU6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZS11c2UgcmVzZXQoKSBpbiBmaW5hbGl6ZSgpCgoyMDEwLTExLTE3IDE5OjE2OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU2V0IHNyY3BhZCBjYXBzIGJlZm9yZSBmb3J3YXJkaW5nIG5ld3NlZ21lbnQKCSAgVGhpcyBob2xkcyBhbGwgbmV3c2VnZW1lbnQgYW5kIG1vc3Qgb3RoZXIgZXZlbnRzIHRpbGwgdGhlcmUgaXMgZW5vdWdoCgkgIGRhdGEgdG8gc2V0IHNyY3BhZCBjYXBzLCBzbyB0aGF0IHRoZSBkb3duc3RyZWFtIGxpbmsgaXMgcHJvcGVybHkKCSAgbmVnb3RpYXRlZCBiZWZvcmUgZGF0YSBzdGFydHMgZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwNQoKMjAxMC0xMi0wNiAxOTowMDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB0cnkgdG8gY29udmVydCBjb21tZW50IHRhZyB0byBVVEYtOAoKMjAxMC0xMi0wNiAxODoxOToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBkaXNjYXJkIGluY29tcGxldGUgaW1hZ2UKCSAgLi4uIGFzIGRldGVybWluZWQgd2hlbiBmaW5kaW5nIFNPSSBuZXh0IGltYWdlIGJlZm9yZSBhbiBFT0kuCgoyMDEwLTEyLTA2IDE4OjE4OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiByZXN5bmNpbmcKCjIwMTAtMTItMDYgMjI6NDg6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogQWxsb3cgaW1wbGljaXQgY2hhbm5lbCBtYXAgZm9yIDEtLzItY2hhbm5lbCBhdWRpbwoJICBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3Qgc2V0IGFuIGVtcHR5IGNoYW5uZWwgbWFwIGFycmF5IGZvciAxLS8yLWNoYW5uZWwKCSAgYXVkaW8sIGNhdXNpbmcgYW4gYXNzZXJ0IGxhdGVyIG9uLgoKMjAxMC0xMi0wNiAxNzowODo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJldmVydCBzb21lIHBhcnRzIG9mIGxhc3QgY29tbWl0IHRoYXQgc2hvdWxkbid0IGJlIGNvbW1pdHRlZAoKMjAxMC0xMi0wNiAxNzowNToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlYWxseSBjaG9vc2UgdGhlIGxhdGVzdCBwb3NzaWJsZSBzdWJwaWN0dXJlcwoJICBBbmQgbm90IHRoZSBmaXJzdCBzdWJwaWN0dXJlcyB0aGF0IGFyZSBzdGlsbCB2YWxpZCBhY2NvcmRpbmcgdG8gdGhlCgkgIHBhZ2UgdGltZW91dC4KCjIwMTAtMTItMDYgMTY6NDQ6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZWZhY3RvciBibGVuZGluZyBmdW5jdGlvbiBhbmQgdGFrZSBhdmVyYWdlIG9mIGFsbCBjaHJvbWEgdmFsdWVzCgoyMDEwLTEyLTAzIDE3OjM1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wcm92ZSBzZWxlY3Rpb24gb2YgY3VycmVudCB0byBiZSBkaXNwbGF5ZWQgc3VicGljdHVyZXMKCSAgRHJvcCBhbGwgc3VicGljdHVyZXMgdGhhdCBhcmUgdG9vIG9sZCBhbnl3YXkgYW5kIGNsZWFyIHRoZSBjdXJyZW50bHkKCSAgZGlzcGxheWVkIHN1YnBpY3R1cmVzIGlmIG51bV9yZWN0cz09MCBoYXBwZW5zLgoKMjAxMC0xMi0wMyAxNjoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBjbGlwcGluZyBvZiB2aWRlbyBidWZmZXJzCgkgIEFsc28gZG9uJ3QgY2xpcCBzdWJwaWN0dXJlIGJ1ZmZlcnMsIHRoZXkgaGF2ZSBubyBkdXJhdGlvbiBhbmQKCSAgY2xpcHBpbmcgdGhlbSBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSBoZXJlLgoKMjAxMC0xMi0wMyAxNjowODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogQ2xlYW4gdXAgbG9ja2luZyBzb21lIG1vcmUKCjIwMTAtMTItMDMgMTY6MDU6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGbHVzaCBzdWJ0aXRsZXMgYW5kIGFsbCBpbnRlcm5hbCBzdGF0ZSB3aGVuIG5lZWRlZAoKMjAxMC0xMi0wMyAxNTo1MjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFNldCB0aGUgZ2xvYmFsIGxpYnJhcnkgbG9nIGZ1bmN0aW9uIGV4YWN0bHkgb25jZQoJICBBbmQgZG9uJ3QgdXNlIG9uZSBvZiB0aGUgcG9zc2libHkgbWFueSByZW5kZXJlciBpbnN0YW5jZXMsIHRoaXMgaXMgb25seQoJICBjYWxsaW5nIGZvciBjcmFzaGVzLgoKMjAxMC0xMi0wMyAxNTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIGxvdHMgb2YgY29tbWVudGVkIG91dCBhbmQgdW51c2VkIGNvZGUgYW5kIGNsZWFuIHVwIGxvY2tpbmcKCjIwMTAtMTItMDEgMDk6NTk6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggbW9yZSBvZiB0aGUgYmxlbmRpbmcsIHNvIGl0IGxvb2tzIHF1aXRlIGdvb2Qgbm93CgkgICogbGliZHZic3ViIGdpdmVzIHVzIGFscGhhIGNoYW5uZWwgYWxyZWFkeSwgbm90IHRyYW5zcGFyZW5jeSBsZXZlbCwgc28KCSAgZG9uJ3QgZG8gYW5vdGhlciAiYWxwaGEgPSAyNTUgLSBhbHBoYSIsIHRoaXMgaXMgZG9uZSBieSBsaWJkdmJzdWIuCgkgICogRml4IGFscGhhIGNoYW5uZWwgaGFuZGxpbmcgaW4gaW50ZXJwb2xhdGlvbiAtIGFzc3JlbmRlciBoYWQgYW4gYWRkaXRpb25hbAoJICAxYnBwIGFscGhhIGJpdG1hcCBhcyBhIHBvc3NpYmxlIG1hc2ssIHdlIGRvbid0LiBTbyBkb24ndCB1c2UgdGhlIHBhbGV0dGUKCSAgaW5kZXggYXJyYXkgYXMgYWxwaGEgdmFsdWVzOyBidWcgZnJvbSBxdWljayBjb2RlIHBvcnRpbmcgbG9uZyBhZ28gdG8KCSAgY2hhbmdpbmcgcGl4ZWwgY29sb3JzIChhc3NyZW5kZXIgaGFzIGEgc2luZ2xlIHBpeGVsIGNvbG9yIGZvciB3aG9sZQoJICByZWdpb25zIG9yIHNvbWV0aGluZywgdW5saWtlIGR2YnN1Yiwgd2hpY2ggaGFzIGluZGV4ZWQgY29sb3JzKS4KCSAgKiBEb24ndCBmb3JnZXQgdG8gcmVhc3NpZ24gb3VyIFlVViBhbmQgb3RoZXIgbG9jYWwgcGl4ZWwgY29sb3IgdmFyaWFibGVzCgkgIGFmdGVyIHNoaWZ0aW5nIHRvIHdvcmsgb24gdGhlIGJvdHRvbSBwYXJ0IG9mIGEgMngyIHN1YnNhbXBsZSBibG9jaywgb3IKCSAgaXQncyBvYnZpb3VzbHkgdmVyeSBibG9ja3kuCgkgIFJlbWFpbmluZyBpc3N1ZXMgaW4gYmxlbmRpbmc6CgkgICogU2hvdWxkIHByb2JhYmx5IGJlIGludGVycG9sYXRpbmcgb3IgZG9pbmcgc29tZXRoaW5nIGVsc2UgdXNlZnVsIHdpdGggdGhlCgkgIHJlc3VsdGluZyBVIGFuZCBWIGNoYW5uZWxzLCBzbyB0aGF0IG1vc3Qgb2YgdGhlIHNvdXJjZSBwaXhlbCBVViB2YWx1ZXMgd291bGQKCSAgYWN0dWFsbHkgYmUgYWN0dWFsbHkgY2FyZWQgYWJvdXQsIGV4Y2VwdCBmb3IganVzdCBvbmUgb3V0IG9mIHBvc3NpYmx5IGZvdXIuCgkgICogRG9uJ3QgY29udmVydCBBWVVWIHRvIEFSR0IgaW4gbGliZHZic3ViLCBhbmQgdGhlbiBiYWNrIGZyb20gQVJHQiB0byBBWVVWIGluCgkgIGR2YnN1Ym92ZXJsYXkgZm9yIG5vIHJlYXNvbgoJICAqIFJlLWZhY3RvciB0aGUgd2hvbGUgdGhpbmcgdG8gc29tZXRoaW5nIG1vcmUgbGlrZSB0ZXh0b3ZlcmxheSBibGVuZGluZwoJICAqIFJlbGF0ZWQgdG8gdGhhdCwgcGVyaGFwcyBjYWNoZSB0aGUgY3VycmVudCBzcHUgaW4gYSBnb29kIGZvcm1hdCBmb3IgcXVpY2sKCSAgYmxlbmRpbmcgb24gZWFjaCBmcmFtZSwgYWZ0ZXIgd2hpY2ggdGhlIG1vcmUgb2Z0ZW4gY2FsbGVkIGJsZW5kaW5nIHBhcnRzCgkgIG1pZ2h0IGJlY29tZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZAoKMjAxMC0xMi0wMSAwNzoyNjowMyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBibGVuZGluZyBidWcgcmVnYXJkaW5nIGNvbG9yIGNoYW5uZWwgYWRkcmVzc2luZy4KCSAgbGliZHZic3ViIGdpdmVzIHVzIEFSR0Igb3JkZXJlZCBwaXhlbHMgcmlnaHQgbm93LCBub3QgUkdCQS4KCjIwMTAtMTItMDEgMDc6MjA6MDcgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEbyBibGVuZGluZyBjYWxscyB3aGVuIGFwcHJvcHJpYXRlCgkgIFRoaXMgZ2l2ZXMgdXMgYWN0dWFsbHkgc2hvd24gc3VidGl0bGVzLCBob3dldmVyIHdpdGggYnVncyBpbiB0aGUKCSAgY3VycmVudCBibGl0dGluZyBjb2RlLCByZXN1bHRpbmcgaW4gdmVyeSB0cmFuc3BhcmVudCBzdWJ0aXRsZXMuCgoyMDEwLTEyLTAxIDA3OjA2OjM1ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IGZhbGxiYWNrIHBhZ2VfdGltZV9vdXQgaG9ub3JpbmcKCSAgVGhlIHNwZWMgaGFzIGEgcGFnZV90aW1lX291dCBpbiB0aGUgcGFnZSBjb21wb3NpdGlvbiBzZWdtZW50IHRvIGVuc3VyZQoJICBzdWJ0aXRsZXMgZG9uJ3QgZ2V0IHN0dWNrIG9uIHNjcmVlbiBmb3IgdG9vIG11Y2ggbG9uZ2VyIHRoYW4gaW50ZW5kZWQsCgkgIHdoZW4gZnV0dXJlIHBhZ2UgY29tcG9zaXRpb24gc2VnbWVudHMgZ2V0IGxvc3Qgb24gYmFkIHJlY2VwdGlvbiwgb3Igb3RoZXIKCSAgcHJvYmxlbXMuIEhvbm9yIGl0IGluIHRoZSBnc3QgcGx1Z2luIHNpZGUuCgoyMDEwLTEyLTAxIDA2OjAxOjE1ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgc3VidGl0bGUgcXVldWVpbmcgYW5kIHN5bmNpbmcgd2l0aCB2aWRlbwoJICBQdXNoIGluY29taW5nIHN1YnRpdGxlIHBhZ2VzIGluIGEgRklGTyBxdWV1ZSAocGVuZGluZ19zdWJ0aXRsZXMpCgkgIGFuZCBkZXF1ZXVlIHRoZSBoZWFkIHdoZW4gaXQncyB0aW1lIHRvIHNob3cgaXQgKHdoZW4gdmlkZW8gcnVubmluZwoJICB0aW1lIHJlYWNoZXMgdGhlIHN1YnRpdGxlIHBhZ2UgcnVubmluZyB0aW1lKS4KCSAgS2VlcCB0aGUgc3VidGl0bGUgcGFnZSwgdGhhdCBpcyBzdXBwb3NlZCB0byBiZSBibGVuZGVkIG9uIHRvcCBvZiB2aWRlbwoJICBjdXJyZW50bHksIGluIGEgc2VwYXJhdGUgb2JqZWN0IHZhcmlhYmxlIChjdXJyZW50X3N1YnRpdGxlKS4gQXMgYQoJICBuZXh0IHN0ZXAgd2UgY2FuIHRoZW4gcHJlLXJlbmRlciBjdXJyZW50X3N1YnRpdGxlIHRvIGEgYmV0dGVyIHRvIGJsZW5kCgkgIGZvcm1hdC4KCjIwMTAtMTItMDEgMDU6NDk6MjIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBNYWtlIHRoZSBuZXcgZHZiX3N1YnRpdGxlc19mcmVlKCkgYWNjZXB0IE5VTEwKCSAgRG9uJ3QgY3Jhc2ggaWYgZHZiX3N1YnRpdGxlc19mcmVlKE5VTEwpIGdldHMgcGFzc2VkLCBsaWtlIG1vc3Qgb3RoZXIKCSAgKl9mcmVlIGZ1bmN0aW9ucyBhcmUgaGFwcHkgd2l0aC4KCjIwMTAtMTItMDEgMDU6MjY6MDIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUGFzcyBwYWdlX3RpbWVfb3V0IGFuZCBwdHMgd2l0aCB0aGUgRFZCU3VidGl0bGVzIHN0cnVjdHVyZQoJICBFYXNlcyBob2xkaW5nIG9udG8gdGhlIGluZm9ybWF0aW9uIGluIGdzdCBwbHVnaW5zIHNpZGUgcXVldWUgb2YKCSAgRFZCU3VidGl0bGVzLCBzbyB3ZSB3b24ndCBuZWVkIHRvIGNyZWF0ZSB5ZXQgYW5vdGhlciB0ZW1wb3Jhcnkgc3RydWN0CgkgIHRvIGtlZXAgdGhlIHB0cyBhbmQgcGFnZV90aW1lX291dCB0b28uCgkgIEFuZCB0aGlzIHJlYWxseSBsb2dpY2FsbHkgYmVsb25ncyBhdCB0aGUgdG9wbGV2ZWwgaW5mb3JtYXRpb24gc2V0IGFueXdheQoJICBhbmQgaW4gdGhhdCBzdHJ1Y3QuLi4KCjIwMTAtMTItMDEgMDQ6Mjg6MDIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IE1ha2UgdGhlIGxpYmR2YnN1YiBjYWxsYmFjayBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBtZW1vcnkgY2xlYW51cAoJICBXZSB3YW50IHRvIGFsbG93IHF1ZXVlaW5nIG9mIHJhdyByZWdpb24gaW1hZ2UgZGF0YSBpbiB0aGUgZ3N0IHBsdWdpbiBzaWRlLAoJICBhbmQga2VlcCB0aGUgZGF0YSBhcm91bmQgdW50aWwgd2UgcG9wIHRoZSBpdGVtIGZyb20gdGhlIHF1ZXVlLiBTbyBtYWtlCgkgIHRoZSBjYWxsYmFjayBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBtZW1vcnkgY2xlYW51cCwgaWYgb25lIGlzIGluc3RhbGxlZC4KCjIwMTAtMTEtMzAgMDQ6NDU6NTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBXb3JrIHdpdGggR3N0Q2xvY2tUaW1lIGluc3RlYWQgb2YgUFRTIGZvciBzdWJ0aXRsZSB0aW1pbmcKCSAgQWJ1c2UgbGliZHZic3ViIFBUUyB0cmFja2luZyB0byBqdXN0IHN0b3JlIG91ciBydW5uaW5nIHRpbWUgaW4gaXQsIHRvIGdldAoJICBpdCBiYWNrIGluIHRoZSBjYWxsYmFja3MuIEFzIEdTdHJlYW1lciBkb2VzIGl0cyBvd24gUFRTIGhhbmRsaW5nIGJlaGluZCBvdXIKCSAgYmFjayAoZXNwZWNpYWxseSBmb3IgdmlkZW8pLCB3ZSBzaG91bGQganVzdCBzeW5jIHdpdGggdmlkZW8gcGVyIHJ1bm5pbmcgdGltZSwKCSAgbm90IHRyeSB0byBkbyBpdCB3aXRoIFBUUywgd2hpY2ggZG9lc24ndCBzZWVtIHdlbGwgYWNjZXNzaWJsZSBmb3IgdmlkZW8gY2hhaW4uCgkgIFdlIGNhbiBsYXRlciByZWxhYmVsIGR2Yi1zdWIuYyBwdHMgbmFtaW5nIGNvbnZlbnRpb24gaWYgd2FudGVkLCBpdCdzIGp1c3QKCSAgcGFzc2luZyBhbG9uZyBndWludDY0IHZhbHVlcywgd2hpY2ggR3N0Q2xvY2tUaW1lIGZvcnR1bmF0ZWx5IGlzIHRvby4KCSAgVGhlIGN1cnJlbnQgaWRlYSBpcyB0byBjb2xsZWN0IHRoZSByZWdpb25zIHJldHVybmVkIGJ5IHRoZSBjYWxsYmFjayBpbnRvCgkgIGEgRklGTyBidWZmZXIgYW5kIHBvcCBhbmQgcHJlLXJlbmRlciB0aGUgdG9wIG9uZSBpbnRvIGEgc2VwYXJhdGUKCSAgcXVpY2stdG8tYmxlbmQgY2FjaGVkIGZvcm1hdCwgd2hpY2ggaXMgdGhlbiBhcHByb3ByaWF0ZWx5IGJsZW5kZWQgaW4gdGhlCgkgIHZpZGVvIGNoYWluIHVudGlsIHRoZSBuZXh0IG9uZSBvbiB0b3Agb2YgdGhlIHN0YWNrIHJlYWNoZXMgdGhlIHZpZGVvIGNoYWlucwoJICBydW5uaW5nIHRpbWUgKG9yIHRoZSBmYWxsYmFjayB0aW1lciBoaXRzKS4KCjIwMTAtMTEtMzAgMDM6NTY6MzIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBBZGQgRklYTUUgbm90ZSBhYm91dCBub24tY29uc3RhbnQgUFRTIGZvciBhIGRpc3BsYXkgc2V0IGhhbmRsaW5nLgoKMjAxMC0xMS0zMCAwMzo0Nzo0NiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIGR2Yl9zdWJfZmVlZCgpIEFQSQoJICBHU3RyZWFtZXIgd2lsbCBvbmx5IHVzZSBkdmJfc3ViX2ZlZWRfd2l0aF9wdHMsIGFzIGl0IGhhcyBpdHMgb3duIFBFUyBmaWx0ZXIKCSAgdG8gZG8gdGhlIGhlYWRlciBwYXJzaW5nLgoKMjAxMC0xMS0yOSAyMDo1NTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9UT0RPOgoJICBkdmJzdWJvdmVybGF5OiBtb3JlIFRPRE8KCjIwMTAtMTEtMjkgMjA6MTA6MTcgKzAwMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBnc3RtcGVndHNkZW11eDogYWRkIHRlbXBvcmFyeSAqKkhBQ0sqKiBmb3IgZHZiIHN1YnMgdGVzdGluZyBzbyBkdmJzdWJvdmVybGF5IGdldHMgd2hvbGUgcGFja2V0cwoJICA8dHBtPiBsZWlvLCB3aGF0J3MgdGhlIG1wZWd0cyBkZW11eCBoYWNrIGFib3V0PwoJICA8bGVpbz4gbXkgbGliZHZic3ViIGNvZGUgY2FuJ3QgaGFuZGxlIGN1dCBwYWNrZXRzCgkgIDxsZWlvPiBzbyB0aGUgaGFjayBpbnN0cnVjdHMgdGhlIGRlbXV4ZXIgdG8gZ2F0aGVyIGZ1bGwgcGFja2V0cyBiZWZvcmUgcHVzaGluZyBkb3duLCBidXQgaXQgYXBwbGllcyB0aGF0IHRvIG1vcmUgUEVTIHBhY2tldCB0eXBlcyB0aGFuIGp1c3QgZHZic3ViLCBidXQgSSdtIG5vdCBzdXJlIGlmIHRoYXQncyBhIGJhZCB0aGluZwoJICA8bGVpbz4gZWl0aGVyIHdheSwgbmVlZHMgYSBjbGVhbmVyIHNvbHV0aW9uLCBlaXRoZXIgaW4gZGVtdXhlciwgb3IgSSBuZWVkIHRvIGhhbmRsZSBjdXQgcGFja2V0cwoJICA8dHBtPiBvaywgYnV0IHJlYWxseSBpdCBzaG91bGQgYmUgZml4ZWQgaW4gdGhlIG92ZXJsYXksIHJpZ2h0PwoJICA8dHBtPiBvciBhIHBhcnNlciBiZSBpbnNlcnRlZAoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXMgdGhhdCBJIGRvbid0IGtub3cgZnJvbSB0aGUgZmlyc3QgcGFja2V0IGJlZm9yZWhhbmQgaWYgaXQgaXMgYSBjdXQgb25lIG9yIG5vCgkgIDxsZWlvPiBub3QKCSAgPGxlaW8+IGVyciwgZmlyc3QgYnVmZmVyCgkgIDxsZWlvPiBqdXN0IHdoZW4gSSByZWNlaXZlIHRoZSBuZXh0IG9uZSBJIHNlZSBpZiBpdCBoYXMgYSB2YWxpZCB0aW1lc3RhbXAgb24gaXQgb3Igbm90CgkgIDxsZWlvPiBzbyBJIGNhbid0IHZlcnkgd2VsbCBxdWV1ZSBpdCB1cCBpbiB0aGUgY2hhaW4gZWl0aGVyLCBJIG1pZ2h0IGJlIGJsb2NraW5nIHRoZSB2ZXJ5IGxhc3Qgc3VidGl0bGUgZm9yIG5vIHJlYXNvbiBvciBzb21ldGhpbmcKCSAgPHRwbT4gYnV0IHlvdSBjb3VsZCBqdXN0IGRyb3AvaWdub3JlIHBhY2tldHMgdW50aWwgeW91IGZpbmQgb25lLCByaWdodD8KCSAgPGxlaW8+IGZpbmQgd2hhdD8KCSAgPHRwbT4gYSBjb21wbGV0ZSBwYWNrZXQ/CgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpc24ndCB0aGF0IHRoZXkgYXJlbid0IGNvbXBsZXRlCgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZXkgYXJlIGN1dCBhY3Jvc3MgbXVsdGlwbGUgR3N0QnVmZmVycyBieSB0aGUgZGVtdXhlciB3aXRob3V0IHRoZSBoYWNrCgkgIDx0cG0+IHN1cmUsIEkgdW5kZXJzdGFuZCB0aGF0CgkgIDx0cG0+IGJ1dCB5b3UgY2FuJ3QgZWFzaWx5IGRldGVybWluZSBpZiBhIEdzdEJ1ZmZlciBjb250YWlucyBoZSBzdGFydCBmcmFnbWVudCBvZiBhIHBhY2tldCBvciBub3Q/CgkgIDxsZWlvPiBJIGd1ZXNzIEkgY291bGQgcGFyc2UgdGhlIHBhY2tldCBhbmQgc2VlIGlmIGl0cyBsZW5ndGggaXMgZW5vdWdoLCBqdXN0IGxpa2UgdGhlIGxpYmR2YnN1YiBjb2RlIGV2ZW50dWFsbHkgZG9lcyB0b28KCSAgPGxlaW8+IEkgY2FuLCBpdCBoYXMgYSB0aW1lc3RhbXAgaWYgaXQncyB0aGUgZmlyc3QgY2h1bmsKCSAgPGxlaW8+IEkganVzdCBuZXZlciBrbm93IGlmIEkgbmVlZCB0byB3YWl0IGZvciBtb3JlLCB3aXRob3V0IHNvbWUgcGFyc2luZwoJICA8dHBtPiBhaCBvawoJICA8bGVpbz4gd2hpbGUgdGhlIGRlbXV4ZXIgY291bGQganVzdCBnaXZlIG1lIGFuIHVuY3V0IG9uZSBpbiB0aGUgZmlyc3QgcGxhY2UKCSAgPGxlaW8+IGxpa2UgaXQgYWx3YXlzIGRvZXMgZm9yIHByb2dyYW0gc3RyZWFtcwoJICA8bGVpbz4gdGhhdCBnYXRoZXJfcGVzIGlzIGFsd2F5cyBzZXQgaW4gZ3N0bXBlZ2RlbXV4LCBidXQgbm90IGluIGdzdG1wZWd0c2RlbXV4CgoyMDEwLTExLTI5IDIwOjA2OjA3ICswMDAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L1RPRE86CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogaW5pdGlhbCB2ZXJzaW9uLCB3b3JrIGluIHByb2dyZXNzCgoyMDEwLTEyLTA2IDE4OjAxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSAgYW5kcm9pZDogdXBkYXRlIGZvciAwLjExCgoyMDEwLTEyLTA2IDE3OjU0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBjb25maWc6IHVwZGF0ZSBjb25maWcKCjIwMTAtMTItMDYgMTI6MjU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb3BlbiAwLjExIGJyYW5jaAoKMjAxMC0xMi0wMyAxODoxMTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjA5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDMgMTc6NDY6MjcgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0dzdEFuZHJvaWQuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnJpbmdidWZmZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5jOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmg6CgkgIHN5czogQWRkIGFuZHJvaWQgYXVkaW9mbGluZ2Vyc2luawoKMjAxMC0xMi0wMyAxNzo0Mjo0NiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkgIEFkZCBidWlsZCBzeXN0ZW0gZm9yIEFuZHJvaWQKCjIwMTAtMTItMDIgMTU6NDU6MDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc21hbCBhcGkgZG9jIHVwZGF0ZQoKMjAxMC0xMi0wMiAwNTozOToxNCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBdm9pZCBhc3NlcnRpb24gb24gaW1hZ2UgZmluaXNoaW5nCgkgIEFzIGltZ2Jpbl9maW5pc2hlZCgpIGlzIHNjaGVkdWxlZCBmcm9tIGdfaWRsZV9hZGQsIGl0IG1pZ2h0CgkgIGJlIHJ1biBhIGxpdHRsZSBsYXRlciB0aGFuIGV4cGVjdGVkLCB0aGlzIGNhbiBsZWFkIHRvIHRoZSBhcHBsaWNhdGlvbgoJICBzZXR0aW5nIGNhbWVyYWJpbiB0byByZWFkeSBiZWZvcmUgaW1nYmluX2ZpbmlzaGVkKCkgcnVucy4gSW4gdGhpcyBjYXNlLAoJICB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGdvZXMgdG8gMCBhbmQgYW4gYXNzZXJ0aW9uIGhhcHBlbnMuCgkgIFRoaXMgcGF0Y2ggcmVsYXhlcyB0aGUgaW1nYmluX2ZpbmlzaGVkKCkgY2hlY2sgb24gdGhlIHByb2Nlc3NpbmcKCSAgY291bnRlci4KCjIwMTAtMTItMDEgMjM6MTQ6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogSGFuZGxlIG5hbWVzIHdpdGggbXVsdGlwbGUgdW5kZXJzY29yZXMKCjIwMTAtMTItMDEgMjM6MDQ6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmg6CgkgIGNob3BteWRhdGE6IEFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgc3BsaXRzIHVwIGEgc3RyZWFtIGludG8gcmFuZG9tbHktc2l6ZWQgYnVmZmVycy4KCSAgVXNlZnVsIChtYXliZSkgZm9yIHRlc3RpbmcgcGFyc2Vycy4KCjIwMTAtMTItMDIgMDM6MDk6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBSZW1vdmUgbGVmdG92ZXIgY29tbWVudAoJICBSZW1vdmUgY29tbWVudCB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZSBhbnltb3JlCgoyMDEwLTEyLTAxIDIzOjIxOjMzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAgZnVuY3Rpb24uCgkgIFJlcGxhY2UgZ19zdHJjYXNlY21wIHdpdGggZ19hc2NpaV9zdHJjYXNlY21wLgoKMjAxMC0xMi0wMSAyMzoyMDozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIDQuMi4xIG9uIE9TWC4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTItMDEgMTA6NDU6NDkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXN2YyBmdHJ1bmNhdGUgaW5jb21wYXRpYmlsaXR5CgkgIEZpeGVzICM2MzYxODUuCgoyMDEwLTEwLTA5IDE3OjM5OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICBBZGQgYSBzY2hyb2VuYyB0ZXN0CgoyMDEwLTExLTI3IDIwOjEzOjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgRml4IHBhZCB0ZW1wbGF0ZSBtZW1sZWFrcwoJICBQYWQgdGVtcGxhdGVzIHJldHVybmVkIGJ5IGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpIHdlcmUgbm90CgkgIGJlaW5nIHVucmVmZmVkLgoKMjAxMC0xMS0zMCAxODo0MzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlYWRkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcwoJICBSZXZlcnQgcGFydHMgb2YgbGFzdCBwYXRjaCB0aGF0IHJlbW92ZWQgc2V0dGluZyBvZiBncmFudWxlcG9zLgoJICBvZ2dtdXggc3RpbGwgcmVxdWlyZXMgY29ycmVjdCBncmFudWxlcG9zIGluIGluY29taW5nIHBhY2tldC4KCjIwMTAtMTEtMjkgMjA6MjE6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBvdmVycmlkZSB0aW1lc3RhbXBzIHNldCBieSBiYXNlIGNsYXNzCgkgIEJlY2F1c2UgdGhlIGJhc2UgY2xhc3MgZG9lcyBpdCBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNjM1NzIwLCAjNjI1NTU4LgoKMjAxMC0xMS0zMCAxNTo0MTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIHVuZXhwZWN0ZWQgc3RyYXkgbWV0YWRhdGEKCjIwMTAtMTEtMzAgMTU6NDA6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgcHJvcGVyIF9OT05FIG91dHB1dCB2YWx1ZSB3aGVuIGFwcGxpY2FibGUKCjIwMTAtMTEtMTUgMjA6MDM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmg6CgkgIGpwMmtkZWNpbWF0b3I6IEFkZCBhIEpQRUcyMDAwIGRlY2ltYXRvciBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBkcm9wcyBpbmZvcm1hdGlvbiBmcm9tIEpQRUcyMDAwIGltYWdlcyB3aXRob3V0IHJlZW5jb2RpbmcuCgoyMDEwLTExLTIzIDIxOjQ1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBFbWl0IFNPUCBtYXJrZXJzIGluIGV2ZXJ5IGNvZGVzdHJlYW0gcGFja2V0CgkgIFRoaXMgbWFrZXMgcGFyc2luZyBtdWNoIGVhc2llciwgZmFzdGVyIGFuZCBtb3JlIHJlbGlhYmxlLgoKMjAxMC0xMS0yNyAxNjowNzoxOSAtMDYwMCAgQWxlamFuZHJvIEdvbnphbGV6IDxhZ29uemFsZXpAZGV4dHJhdGVjaC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdzdF9xdG11eF9jaGVja19kaWZmZXJlbmNlIHZlcmlmeSBiZWZvcmUgc3VidHJhY3QKCSAgQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgYnkgY2hlY2tpbmcgdGhlIG9yZGVyIG9mIG9wZXJhbmRzCgkgIG9uIHN1YnRyYWN0aW9uIG9mIHVuc2lnbmVkIGludGVnZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODc4CgoyMDEwLTExLTI3IDE4OjU4OjA3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IHNvbWUgbWVtbGVha3MKCjIwMTAtMTEtMTUgMTE6Mzc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogbWlub3IgbWVtbGVhayBmaXgKCjIwMTAtMTEtMjUgMTk6MzE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjMxOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyNToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgdXNlbGVzcyB2YXJpYWJsZQoKMjAxMC0xMS0yNSAxOToyNDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjE6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzCgoyMDEwLTExLTI1IDE5OjIxOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMTowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgcmVhbDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjA6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgZnJlZXplOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDE6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NTI6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQ5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgc2RsYXVkaW9zaW5rOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0NzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm9lZGluZ2VyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0MzozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjQzOjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkgIGNvZ2Rvd25zYW1wbGU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6NDI6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJICBvcGVuY3Y6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgkgIC4uLiBhbmQgZml4IGluZGVudGF0aW9uCgoyMDEwLTExLTI1IDE4OjMzOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6MzA6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkgIGNvZ2ZyYW1lOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODoyOTozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogSW5pdGlhbGl6ZSB2YXJpYWJsZQoJICBJbiB0aGUgY2FzZSB0aGUgdGFnX3NldHRlciByZXR1cm5zIHNvbWV0aGluZywgZW1wdHlfdGFncyB3b3VsZCBiZQoJICBnYXJiYWdlIHZhbHVlLgoKMjAxMC0xMS0yNSAxODoyOToyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODoyNjoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTAtMjMgMDE6NTY6MDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHBhc3MgdGhlIFNobVBpcGUgdG8gdGhlIGZ1bmN0aW9uIGNsb3NpbmcgdGhlIHNobSBhcmVhCgoyMDEwLTEwLTIzIDAxOjIyOjQzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgdGhlIHJpZ2h0IGNvdW50ZXIgd2hlbiBmcmVlaW5nIGJ1ZmZlcnMKCjIwMTAtMTAtMjMgMDE6MTI6NDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSAgc2htYWxsb2M6IE1hbnVhbGx5IGRlY2lkZSB0byB1c2UgR0xpYiBvciBub3QgaW4gdGhlIHNobWFsbG9jCgkgIFNvIG1ha2UgaXQgZWFzaWVyIGZvciBlbWJlZGRlcnMgdG8gdXNlIGl0IHdpdGggb3Igd2l0aG91dCBHbGliCgoyMDEwLTEwLTIwIDIyOjQ5OjU5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBSZW1vdmUgZHVwbGljYXRlZCBhcmd1ZW1lbnQKCjIwMTAtMTAtMjAgMjI6Mzk6MjEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEZpeCBzb2NrZXQgbGVhayBvbiBjb25uZWN0KCkgZXJyb3IKCjIwMTAtMTAtMjAgMjI6Mjg6MTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBzcF9jbGllbnRfcmVjdiByZXR1cm5zIG5lZ2F0aXZlIG9uIGVycm9yLCBzbyBtYWtlIHRoZSByZXR2YWwgc2lnbmVkCgoyMDEwLTEwLTIwIDIyOjE3OjMwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBSZW5hbWUgY29uZnVzaW5nbHkgbmFtZWQgdmFyaWFibGUKCjIwMTAtMTAtMjAgMjI6MTQ6MDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IENoYW5nZSBwZXJtaXNzaW9ucyBvbiBvbGQgc2htIGFyZWFzIHRvbwoJICBDaGFuZ2UgdGhlIHBlcm1pc3Npb25zIG9uIG9sZCBzaG0gYXJlYXMKCjIwMTAtMTAtMjAgMjI6MDE6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSB0aGUgbWFjcm8gZm9yIHRoZSBsYXN0IGVycm9yIHRvbwoKMjAxMC0xMC0yMCAyMTo1MjozMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlICJhYmxvY2siIGZvciBhbGwgU2htQWxsb2NCbG9jayB2YXJpYWJsZXMKCSAgVXNlIHRoZSBhYmxvY2sgdmFyaWFibGUgbmFtZSBmb3IgU2htQWxsb2NCbG9ja3MgYW5kIGJsb2NrIGZvcgoJICBTaG1CbG9jawoKMjAxMC0xMC0yMCAyMTo1MjoyNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIG1vcmUgY29tbWVudHMKCjIwMTAtMTAtMjAgMjE6NDE6MTUgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBzdHlsaXN0IGltcHJvdmVtZW50cwoKMjAxMC0xMC0yMCAyMTozMzoyNCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSAgc2htOiBFeHBsYWluIHNvbWUgZmllbGRzCgkgIEV4cGxhaW4gd2hhdCBzb21lIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGFsbG9jYXRvciBhY3R1YWxseSBtZWFuCgoyMDEwLTExLTIyIDE1OjI2OjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEZpeCBidWZmZXIgdGltZXN0YW1wIGFuZCBkdXJhdGlvbgoJICBUaGUgZmllbGQgcmF0ZSBpcyB0d2ljZSB0aGUgZnJhbWUgcmF0ZSBvZiB0aGUgc3JjIHBhZCBhbmQgc28gdGhlIGR1cmF0aW9uIG9mCgkgIG9uZSBvdXRwdXQgYnVmZmVyIGlzIHNyY19mcHNfZCAvICgyICogc3JjX2Zwc19uKS4KCjIwMTAtMTEtMjIgMTA6Mjk6NTYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogUmVuYW1lIHBhdHRlcm4gcHJvcGVydHkgdG8gZmllbGQtcGF0dGVybgoJICBUaGlzIGlzIG1vc3RseSBmb3IgY2xhcml0eSBvZiB3aGF0IHRoZSBwcm9wZXJ0eSBtZWFucyBhbmQsIEkgYmVsaWV2ZSwgbWFrZXMgdGhlCgkgIHBhdHRlcm4tb2Zmc2V0IHByb3BlcnR5IG1vcmUgY29tcHJlaGVuc2libGUuCgoyMDEwLTExLTIyIDEwOjI3OjIyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBwYXR0ZXJuIG9mZnNldCBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyBvbmUgdG8gc3RhcnQgYXQgYW55IHBvaW50IHdpdGhpbiB0aGUgZmllbGQgcGF0dGVybiBhZnRlcgoJICBhIGRpc2NvbnRpbnVpdHkgKHdoZW5ldmVyIGdzdF9pbnRlcmxhY2VfcmVzZXQgKCkgaXMgY2FsbGVkKS4gVGh1cyB3aXRoIHRoZQoJICAyOjM6MzoyIHBhdHRlcm4sIGZvciBleGFtcGxlLCBvbmUgY2FuIHN0YXJ0IGF0IG9mZnNldCAyIGFuZCBhY2hpZXZlIDM6MjoyOjMKCSAgb3Igb2Zmc2V0IDEgYW5kIGFjaGlldmUgMzozOjI6Mi4KCjIwMTAtMTEtMTkgMTc6MDE6NDEgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IENyZWF0ZSBpbWFnZWJpbiBlbGVtZW50cyB3aGVuIGltYWdlIG1vZGUgaXMgc2V0IGluIGNhbWVyYWJpbiBOVUxMIHN0YXRlCgkgIFRoaXMgcGF0Y2ggcmVmYWN0b3JzIGltYWdlYmluIGVsZW1lbnQgY3JlYXRpb24gYW5kIGxpbmtpbmcgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMsCgkgIGFuZCBhZGRzIHJlLXVzaW5nIGFsc28gZm9yIGltYWdlYmluIGludGVybmFsbHkgY3JlYXRlZCBlbGVtZW50cy4KCSAgU28gdGhpcyByZWZhY3RvcmluZyBhbGxvd3MgY3JlYXRpbmcgaW1hZ2ViaW4gZWxlbWVudHMgYWxyZWFkeSBpbiBOVUxMIHN0YXRlIHdoZW4KCSAgYXBwbGljYXRpb24gc2V0cyB0aGUgaW1hZ2UgbW9kZSwgYW5kIG5leHQgc3RhdGUgY2hhbmdlIGZyb20gTlVMTCB0byBSRUFEWSB3aWxsIGJlIGZhc3Rlci4KCSAgVGhpcyByZWR1Y2VzIGZpcnN0IGNhcHR1cmUgbGF0ZW5jeS4KCSAgRWFybGllciB0aGUgZWxlbWVudHMgd2VyZSBib3RoIGNyZWF0ZWQgYW5kIGxpbmtlZCBpbiBOVUxMIHRvIFJFQURZIHN0YXRlIGNoYW5nZS4KCjIwMTAtMTEtMjIgMTI6MjM6MzAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogQ3JlYXRlIGEgc3ViLWJ1ZmZlciB3aXRoIHRoZSBzZWN0aW9uIGxlbmd0aAoKMjAxMC0xMS0xOSAxNToyMzo0MSAtMDUwMCAgSm9zaCBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSAgb3BlbmN2OiBmaXggY2FwcyBpc3N1ZXMgYW5kIGV4dGVuZCBzdXBwb3J0ZWQgY2FwcyBmb3Igc29tZSBlbGVtZW50cwoJICBTb21lIGVsZW1lbnRzIGhhZCB2YWd1ZSBjYXBzLCBzdWNoIGFzICJ2aWRlby94LXJhdy1yZ2IiLCB3aGljaCBjYXVzZWQgcHJvYmxlbXMKCSAgYXQgbGVhc3Qgd2l0aCB0ZXh0d3JpdGUuIEZvciBvdGhlciBlbGVtZW50cywgdGhlIHVuZGVybHlpbmcgT3BlbkNWIGZ1bmN0aW9ucwoJICBzdXBwb3J0IG1vcmUgdGhhbiBqdXN0IG9uZSBpbWFnZSB0eXBlLCBzbyBJIGluY3JlYXNlZCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZAoJICBjYXBzLgoJICBJIGNyZWF0ZWQgYSB1dGlsaXR5IGZ1bmN0aW9uICJnc3Rfb3BlbmN2X2NhcHNfZnJvbV9jdl9pbWFnZV90eXBlIiwgc28gZWFjaAoJICBlbGVtZW50IGNyZWF0ZXMgY2FwcyBkaXJlY3RseSBmcm9tIE9wZW5DViBpbWFnZSB0eXBlcywgc3VjaCBhcyBDVl84VUMxIGZvcgoJICA4LWJpdCBncmF5c2NhbGUuIFRoaXMgZnVuY3Rpb24gdXNlcyBnc3R2aWRlbyB0byBjcmVhdGUgdW5pZm9ybSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MzA0CgoyMDEwLTExLTIyIDE3OjQzOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IFNtYWxsIG9wdGltaXphdGlvbiBvbiB0YWdzIHBhcnNpbmcKCSAgT3B0aW1pemUgYSBsaXR0bGUgYXZvaWRpbmcgY29weWluZyBhIHRhZ2xpc3Qgd2hlbiBwYXJzaW5nIHhtcC9leGlmCgkgIGRhdGEuCgoyMDEwLTA5LTE3IDA5OjUyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogQXZvaWQgbG9zaW5nIHRoZSBsYXN0X2J1ZmZlciB3aGVuIHN3aXRjaGluZwoJICBUaGlzIHBhdGNoIG1ha2VzIG91dHB1dHNlbGVjdG9yIHRha2UgYW4gZXh0cmEgcmVmIHdoZW4gcHVzaGluZwoJICB0aGUgbGFzdF9idWZmZXIgdG8gYXZvaWQgaXQgbG9zaW5nIGl0IGR1cmluZyB0aGUgc3dpdGNoIGZ1bmN0aW9uLgoJICBUaGlzIG1ha2VzIHJlc2VuZC1sYXRlc3QgcHJvcGVybHkgd29yayBpZiB0aGUgYWN0aXZlLXBhZCBpcyBjaGFuZ2VkCgkgIGR1cmluZyB0aGUgc3dpdGNoIGZ1bmN0aW9uIGJ1ZmZlciBwdXNoaW5nIChvbiBhIHBhZCBwcm9iZSwgZm9yIGV4YW1wbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTE3CgoyMDEwLTA5LTE3IDA5OjQ0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogUmVjaGVjayBwZW5kaW5nIHN3aXRjaCBhZnRlciBwdXNoaW5nIGJ1ZmZlcgoJICBUaGlzIHBhdGNoIG1ha2VzIG91dHB1dC1zZWxlY3RvciBhbHdheXMgcmVjaGVjayBpZiB0aGVyZSdzIGEKCSAgcGVuZGluZyBwYWQgc3dpdGNoIGFmdGVyIHB1c2hpbmcgYSBidWZmZXIsIHByZXZlbnRpbmcgdGhhdAoJICBpdCBwdXNoZXMgYSBidWZmZXIgb24gdGhlICd3cm9uZycgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTE3CgoyMDEwLTExLTIyIDE1OjEwOjI2ICswMjAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnQlNDBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IHNjYWxhYmxlIGFuZCByZWxhdGl2ZSBzdmcgb3ZlcmxheSB3aXRoIGNhaXJvCgkgIEFkZCBhIGNhaXJvK2xpYnJzdmcgYmFzZWQgb3ZlcmxheSBlbGVtZW50IHRvIHRoZSByc3ZnIHBsdWdpbi4KCjIwMTAtMTEtMjIgMTc6MDY6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtYWtlOiByZW1vdmUgdHJhY2VzIG9yIG1vdmVkL3JlbW92ZWQgcGx1Z2lucwoKMjAxMC0xMS0yMiAxNzowNToyMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIG1ha2U6IGFkZCBtaXNzaW5mIHRyYWlsaW5nIFwgdG8gZml4IHRoZSBidWlsZAoKMjAxMC0xMS0yMSAyMzoxMToxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHJlbW92ZSBpbmNvcnJlY3QgY2hlY2sKCjIwMTAtMTEtMTkgMTc6NTU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgcmVtbmFudCBvZiBvYnNvbGV0ZSBwcm9wZXJ0eQoKMjAxMC0xMS0xOSAxNToxODo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFsc28gdW5pdCB0ZXN0IGZyYWdtZW50ZWQgZmlsZSBjYXNlcwoKMjAxMC0wNy0zMCAxMjo0ODoyOSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbGxvdyBzcGVjaWZ5aW5nIHRyYWsgdGltZXNjYWxlCgkgIFRoaXMgaXMgbWFpbmx5IGJlY2F1c2UgU21vb3Roc3RyZWFtaW5nIGNsaWVudCBhcmUgYnJva2VuIGFuZCBkb24ndAoJICB0YWtlIHRoZSBUaW1lU2NhbGUgcHJvcGVydHkgaW50byBhY2NvdW50LgoKMjAxMC0xMS0xOSAxNzo0MTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSBzZHRwIGF0b21zIGZvciBpc212IGZyYWdtZW50ZWQgZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE5IDE5OjE3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5hYmxlIGRlZmF1bHQgZnJhZ21lbnRlZCBmaWxlIGZvciBpc21sbXV4CgoyMDEwLTA5LTAyIDEzOjU4OjA1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBpc21sbXV4LCBmb3IgZnJhZ21lbnRlZCBpc21sIG1ham9yIGJyYW5kCgoyMDEwLTExLTE5IDE0OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZmluYWxpemUgc2lua3BhZHMgbGlzdAoKMjAxMC0wNy0yMiAxOTo0MDowNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtb292IGluIHN0cmVhbWhlYWRlcgoKMjAxMC0wOC0wNiAxMzoyNjoyNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgc3RyZWFtYWJsZSBwcm9wZXJ0eSB0byBhdm9pZCBidWlsZGluZyBmcmFnbWVudGVkIG1mcmEgaW5kZXgKCjIwMTAtMTEtMTggMTY6NDg6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgbWZyYSB0byBmcmFnbWVudGVkIGZpbGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE1IDE1OjE3OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogb3B0aW9uYWxseSBjcmVhdGUgZnJhZ21lbnRlZCBmaWxlCgkgIEluIHRoaXMgbW9kZSwgYW4gaW5pdGlhbCBlbXB0eSBtb292IChjb250YWluaW5nIG9ubHkgc3RyZWFtIG1ldGFkYXRhKSBpcyB3cml0dGVuLAoJICBmb2xsb3dlZCBieSBmcmFnbWVudHMgY29udGFpbmluZyBhY3R1YWwgZGF0YSAoYWxvbmcgd2l0aCByZXF1aXJlZCBtZXRhZGF0YSkuCgkgIE5ldyBmcmFnbWVudHMgYXJlIHN0YXJ0ZWQgZWl0aGVyIGF0IGtleWZyYW1lIChpZiBzdWNoIGFyZSBzcGFyc2UpIG9yIHdoZW4KCSAgcHJvcGVydHkgY29uZmlndXJlZCBkdXJhdGlvbiBleGNlZWRlZC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIEZpeGVzICM2MzI5MTEuCgoyMDEwLTExLTE1IDE1OjEyOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogdXNlIGhlbHBlciB0byBzZXQgYXRvbSBmbGFncyBmcm9tIGdpdmVuIHVpbnQKCjIwMTAtMTEtMDkgMTY6NDk6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBjb25maWd1cmluZyBhbmQgc2VuZGluZyBvZiBtb292CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0wOSAxNTo1NDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGV4dHJhIHRvcC1sZXZlbCBhdG9tIGhhbmRsaW5nCgkgIEFsc28gY2hlY2sgYSBiaXQgbW9yZSBmb3IgcG9zc2libGUgZXJyb3JzLCBhbmQgZnJlZSBwcm9wZXIgaXRlbXMgaW4gc3VjaCBjYXNlLgoKMjAxMC0xMS0wOSAxNTowMToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIHNsaWdodGx5IHVzaW5nIGJ1ZmZlciBoZWxwZXIKCjIwMTAtMTEtMDUgMTM6NDg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGNvbW1lbnQKCjIwMTAtMTEtMDUgMTI6MDg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlbGVnYXRlIG12ZXggaGFuZGxpbmcgdG8gYXRvbXMKCSAgLi4uIHdoaWNoIGtlZXBzIHF0bXV4IHNpbXBsZXIuCgoyMDA5LTA5LTI4IDE2OjExOjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbXZleC90cmV4IGluIGhlYWRlciBpZiBmcmFnbWVudGVkCgkgIE9uZSAidHJleCIgaXMgYWRkZWQgcGVyICJ0cmFrIi4gV2UgZG9uJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcywKCSAgYnV0IHRoZSAidHJleCIgYm94IGlzIG1hbmRhdG9yeS4KCjIwMDktMDktMjggMTM6MDE6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIGEgY291cGxlIG9mIGZvdXJjYyBmb3IgZnJhZ21lbnRlZCBtcDQKCjIwMTAtMTEtMDUgMTE6MDg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCByZW1vdmluZyB0ZW1wIGZpbGUgd2hlbiBlcnJvciBvY2N1cnJlZAoKMjAwOS0wOS0zMCAxNzoxNjozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHRydW5jYXRlIGJ1ZmZlciBmaWxlIGFmdGVyIGVhY2ggc2VuZAoKMjAwOS0wOS0yOCAxNjo1Mzo1MSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB0ZW1wIGZpbGUgd2hlbiByZXNldC9maW5hbGl6ZQoKMjAxMC0wOC0xOCAwMjowMDoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogUHVzaCB0YWdzIGFmdGVyIHNldHRpbmcgc3JjcGFkIGNhcHMKCSAgVGhpcyBwYXRjaCBkZWZlcnMgZW1pc3Npb24gb2YgdGFnIGV2ZW50cyB0aWxsIGNhcHMgYXJlIHNldCBvbiB0aGUgc291cmNlCgkgIHBhZCBvZiBqcGVncGFyc2UsIHNvIHRoYXQgdGhlc2UgdGFncyBjYW4gYmUgc2VlbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjExCgoyMDEwLTExLTE5IDE4OjUxOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTExLTE5IDE4OjI2OjU5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCB0aGlua28KCjIwMTAtMTEtMTkgMTc6MjU6MDEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IGhhbmRsaW5nIG9mIFRPVCBhbmQgVERUIHNlY3Rpb25zLiBGaXhlcyAjNjM1MjgxLgoJICBURFQgYW5kIFRPVCBzZWN0aW9ucywgd2l0aCBQSUQ9MHgxNCwgZG9lc24ndCBleHRlbmQgdG8gc2V2ZXJhbCBwYWNrZXRzCgkgIGFuZCB0aGUgc2VjdGlvbiBmaWx0ZXIgaXMgbm90IG5lZWRlZCBoZXJlIGFuZCBzaG91bGRuJ3QgYmUgdXNlZCBhdCBhbGwKCSAgZm9yIHRoZXNlIHRhYmxlcyBiZWNhdXNlIHRoZSBoYXZlIGEgZGlmZmVyZW50IHN0cnVjdHVyZS4KCSAgRm9yIGV4YW1wbGUsIFREVCB0YWJsZXMgd2VyZSBub3QgcGFyc2VkIGZvciBvZGQgaG91cnMgYmVjYXVzZSB0aGlzIGJpdAoJICBpcyB0aGUgJ2N1cnJlbnRfbmV4dF9pbmRpY2F0b3InIGJpdCBmb3IgdGhlIG90aGVyIHNlY3Rpb25zLCBhbmQgdGhlIHRhYmxlCgkgIHdhcyBkaXNjYXJkZWQuCgoyMDEwLTExLTE5IDE3OjIyOjA2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBkb24ndCBjYWxjdWxhdGUgdGhlIENSQyBmb3IgVE9UIHRhYmxlcy4gRml4ZXMgIzYzNTI4MS4KCSAgVE9UIHRhYmxlcywgd2l0aCB0YWJsZV9pZD0weDczLCBkb24ndCBoYXZlIGEgQ1JDLCBzbyBkb24ndCBjYWxjdXRlIGl0CgoyMDEwLTExLTE4IDE4OjQyOjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogQWRkIFREVCB0byB0aGUgaW5pdGlhbCBwaWRzIGZpbHRlciBmb3IgZHZic3JjLiBGaXhlcyAjNjM1MjAwLgoKMjAxMC0xMS0xNiAxNzozNTozNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ3N0X2pwZWdfcGFyc2Vfc2tpcF9tYXJrZXIgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0wOC0xMyAxMzoxNDozMCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB1c2UgYnl0ZSByZWFkZXIgYWNjZXNzb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTcgMTA6NDk6MzAgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW5saW5lIGdzdF9qcGVnX3BhcnNlX3NvZiAoKQoJICBObyBmdW5jdGlvbmFsIGNoYW5nZXMgKGhvcGVmdWxseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTc6MjM6MzUgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xOCAxMDo1ODowNiAtMDMwMCAgQWxla3NleSBMaW0gPGFsc3Jvb3RAbWVtYmVyLmZzZi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IHVzZSBhdWRpbyBjbG9jayBhZnRlciBzdG9wcGluZyB2aWRlbyBjYXB0dXJlCgkgIEFkZGEgcHJvdmlkZSBjbG9jayBmdW5jdGlvbiB0byBjYW1lcmFiaW4gdG8gbWFrZSBpdCBub3QKCSAgcHJvdmlkZSB0aGUgYXVkaW8gY2xvY2sgb2YgdGhlIHJlY29yZCBiaW4gd2hlbiBubyB2aWRlbwoJICByZWNvcmRpbmcgaXMgaGFwcGVuaW5nCgkgIEZpeGVzICM2MTMzNzkKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0xMiAwMDo0MDozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBmaXggbmFzdHkgZGVhZGxvY2sKCSAgV2UgY2Fubm90IGNhbGwgYW55IENNQnVmZmVyUXVldWUgZnVuY3Rpb25zIHdoaWxlIGhvbGRpbmcgdGhlIGxvY2sgdGhhdAoJICBvdXIgY2FsbGJhY2sgYWxzbyBkZXBlbmRzIG9uLiBTbyBub3cgd2UgbWFrZSB1c2Ugb2YgQ01CdWZmZXJRdWV1ZSdzCgkgIHRyaWdnZXIgQVBJIGluIG9yZGVyIHRvIGdldCBub3RpZmllZCB3aGVuIHRoZSBxdWV1ZSBoYXMgZGF0YS4KCjIwMTAtMTEtMTEgMjM6NDE6NDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBjbWFwaTogY292ZXIgQ01CdWZmZXJRdWV1ZSdzIHRyaWdnZXIgQVBJCgoyMDEwLTExLTExIDIxOjQyOjAzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IHVubG9jayBzaG91bGQgYWxzbyBub3RpZnkKCSAgT3RoZXJ3aXNlIHdlIGRlcGVuZCBvbiBiZWluZyB3b2tlbiB1cCBieSB0aGUgQ29yZU1lZGlhIHF1ZXVlIGdldHRpbmcKCSAgaXRzIG5leHQgYnVmZmVyLgoKMjAxMC0xMS0xMCAyMzoxNjo1MSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHB1c2ggc3luY2hyb25vdXNseSBmcm9tIGNhbGxiYWNrCgkgIFRoZSBjb2RlYyB0aGF0IGNhbGxlZCB1cyBtaWdodCBiZSBob2xkaW5nIGxvY2tzIHRvIHNoYXJlZCByZXNvdXJjZXMsIHNvCgkgIHdlIHNob3VsZCBuZXZlciBwdXNoIGRvd25zdHJlYW0gZnJvbSB3aXRoaW4gaXRzIGJ1ZmZlciBjYWxsYmFjay4KCSAgTm90ZSB0aGF0IGEgR3N0QnVmZmVyTGlzdCBpcyBub3QgdXNlZCBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byBwcmVzZXJ2ZQoJICB0aGUgYnVmZmVyIG1ldGFkYXRhIGhlbGQgYnkgb3VyIEdzdEJ1ZmZlciBzdWJjbGFzc2VzLgoKMjAxMC0xMS0xMCAyMDo1Mjo0NyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBidW1wIEguMjY0IGxldmVsIGZyb20gMS4zIHRvIDMuMAoJICBUaGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhIHByb3BlcnR5LgoKMjAxMC0xMS0xMCAyMDo0NDoxNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBhZGQgYmFzaWMgZGV2aWNlIHNlbGVjdGlvbiBzdXBwb3J0CgoyMDEwLTExLTEwIDIwOjUxOjI3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgY3ZhcGk6IGFkZCB3cmFwcGVyIGZvciBJTyBzdXJmYWNlIGFjY2VzcwoJICBUbyBiZSB1c2VkIGluIGEgZnV0dXJlIHZpZGVvIHNpbmsgZm9yIHplcm8tY29weSByZW5kZXJpbmcuCgoyMDEwLTExLTEwIDIwOjI1OjI4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJICBjZWxhcGk6IGFkZCBjYXB0dXJlIHBvcnQgdHlwZSBjb25zdGFudHMKCjIwMTAtMTEtMDkgMjI6NDM6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgdW51c2VkIHNyY19zdHJpZGUgdmFyaWFibGUgZnJvbSBibGl0IGZ1bmN0aW9ucwoKMjAxMC0xMS0wOSAxODoxMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2xpYmdzdHBob3RvZ3JhcGh5LmRlZjoKCSAgd2luMzI6IEFkZGluZyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgLmRlZiBmaWxlCgkgIEFkZHMgY2hlY2stZXhwb3J0cyB0byAtYmFkIHRvIGhhdmUgcGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIC5kZWYgZmlsZSBjcmVhdGVkCgkgIEZpeGVzICM1Nzg2MjkKCjIwMTAtMTEtMDkgMTk6Mzg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHNpbGx5IGxlYWsgaW4gX3Jlc2V0CgoyMDEwLTExLTA4IDIzOjU0OjMxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBiaXBsYW5hciBpcyBhY3R1YWxseSBOVjEyLCBub3QgSTQyMAoJICBEJ29oIQoKMjAxMC0xMS0wOCAyMToyMjoxMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiByZW1vdmUga2V5ZnJhbWUgZW5mb3JjZW1lbnQgd29ya2Fyb3VuZAoJICBXYXMgb25seSBuZWVkZWQgZm9yIG9sZCBpT1Mgd2hlcmUgdGhlIEguMjY0IGVuY29kZXIgZGlkbid0IHN1cHBvcnQKCSAga1ZURW5jb2RlRnJhbWVPcHRpb25LZXlfRm9yY2VLZXlGcmFtZS4KCjIwMTAtMTEtMDggMTg6NTY6NTIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBjdmFwaTogYWRkIGEgZmV3IGV4dHJhIGJpdHMgb2Ygd3JhcHBpbmcKCjIwMTAtMTEtMDggMTU6MDg6MTkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGFwcGxlbWVkaWE6IGxvY2sgQ1ZQaXhlbEJ1ZmZlciByZWFkLW9ubHkKCSAgQXMgcGVyIEFwcGxlJ3MgZG9jcywgdGhpcyBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyByZWR1bmRhbnQKCSAgaW52YWxpZGF0aW9ucyBvZiBleGlzdGluZyBjYWNoZXMgb2YgdGhlIGJ1ZmZlciBjb250ZW50cy4KCjIwMTAtMTEtMDggMTA6MzM6NTggLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogUmVtb3ZlIGdzdHJpbmcgbGVhawoJICBTaW1wbGlmeSBnc3QtY2FtZXJhYmluLXRlc3QgYnkgcmVtb3ZpbmcgR1N0cmluZyBhbmQgcmVwbGFjaW5nCgkgIHdpdGggZ2NoYXIgZm9yIHRoZSBmaWxlbmFtZSBoYW5kbGluZy4gQWxzbyByZW1vdmVzIGEgbGVhayBvZgoJICB0aGUgR1N0cmluZyBkYXRhLgoKMjAxMC0xMS0wOCAxNjowMDoyMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhdm9pZCByZWZmaW5nIHRoZSBlbGVtZW50IGluIGNoYWluCgoyMDEwLTExLTA4IDE1OjQ1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGFkZCBzb21lIG1pbmltYWwgbG9nZ2luZyB0byB0cmFjayB3aGF0IGl0IGlzIGRvaW5nCgoyMDEwLTExLTA4IDEzOjUyOjQ5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IHB1dCBwbGFuYXIgZmlyc3QgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMC0xMS0wOCAxMzo0OTowNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSAgYXBwbGVtZWRpYTogaW1wcm92ZSB2dGVuYy92dGRlYyBwZXJmb3JtYW5jZQoJICBQcm9maWxpbmcgb2YgSC4yNjQgZW5jb2RlIGFuZCBkZWNvZGUgcmV2ZWFsZWQgdGhhdCBjb252ZXJzaW9ucwoJICBiZXR3ZWVuIHBhY2tlZCBhbmQgcGxhbmFyIHdlcmUgaGFwcGVuaW5nIGJlaGluZCB0aGUgc2NlbmVzLgoJICBIZW5jZSB3ZSBub3cgY2hvb3NlIEk0MjAgaW5zdGVhZCBvZiBZVVkyLgoKMjAxMC0xMC0yMiAxODowNzowMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogYWRkIGFzeW5jIGJ1cyBoYW5kbGVyIHRvIGdzdC1jYW1lcmFiaW4tdGVzdAoJICBTcGxpdHMgdGhlIGJ1cyBoYW5kbGVyIGludG8gc3luYyBhbmQgYXN5bmMsIGtlZXBpbmcgdGhlCgkgIHByZXBhcmUteHdpbmRvdyBoYW5kbGluZyBhdCB0aGUgc3luYyBmb3IgZmFzdGVyIGhhbmRsaW5nIGFuZAoJICBtb3ZpbmcgdGhlIG90aGVycyB0byB0aGUgYXN5bmMgaGFuZGxlcgoKMjAxMC0xMS0wNiAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogd2Ugc3RpbGwgcmVxdWlyZSBHdGsrID49IDIuMTQuMCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IDIuMAoJICBUaGUgY2hlY2sgZm9yIHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBkcm9wcGVkIGluIG9uZSBvZiB0aGUgcHJldmlvdXMKCSAgY29tbWl0cy4KCjIwMTAtMTEtMDUgMTY6NTE6NTcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogbWVhc3VyZSBmcHMgd2hlbiBzdGF0aXN0aWNzIGlzIGVuYWJsZWQKCSAgQWxzbyByZWZhY3RvciB0aW1lc3RhbXBpbmcgc2xpZ2h0bHkuCgoyMDEwLTExLTA1IDE1OjE0OjA4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IHVwZGF0ZSB0byBuZXcgQ2VsZXN0aWFsIGFuZCBNZWRpYVRvb2xib3ggQVBJcwoJICBUaGlzIG1lYW5zIGNlbHZpZGVvc3JjIGlzIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggaU9TIDMueC4KCjIwMTAtMTEtMDUgMTU6MDg6NTYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogZml4IGRlYnVnIGNhdGVnb3J5IGRlc2NyaXB0aW9uCgoyMDEwLTExLTA1IDE1OjA4OjAyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJICBjZWxhcGk6IHVwZGF0ZSB0byByZWZsZWN0IG5ldyBBUEkgb24gaU9TIDQueAoJICBBbHNvIGFkZCByZW1haW5pbmcgcHJvcGVydHkgY29uc3RhbnRzIGZvciBkZXZpY2UgYW5kIHN0cmVhbS4KCjIwMTAtMTEtMDUgMTU6MDc6MzggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJICBtdGFwaTogdXBkYXRlIHRvIHJlZmxlY3QgbmV3IEFQSSBvbiBpT1MgNC54CgkgIEFsc28gYWRkIHJlbWFpbmluZyBwcm9wZXJ0eSBjb25zdGFudHMgZm9yIGRldmljZSBhbmQgc3RyZWFtLgoKMjAxMC0xMS0wNSAxMDo1Njo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvbG9yc3BhY2U6IFVwZGF0ZSBnZW5lcmF0ZWQgT1JDIHNvdXJjZXMKCjIwMTAtMDgtMjYgMTc6MDg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzICdpZGxlJyBwcm9wZXJ0eQoJICBBZGRzICdpZGxlJywgYSByZWFkLW9ubHkgYm9vbGVhbiBwcm9wZXJ0eSB0aGF0IHRlbGxzIGFwcGxpY2F0aW9ucwoJICBpZiB0aGVyZSBpcyBhbnkgY2FwdHVyaW5nL3NhdmluZy9lbmNvZGluZyBnb2luZyBvbiBpbiBjYW1lcmFiaW4uIElmCgkgIG5vdCwgaXQgaXMgc2FmZSB0byBzZXQgaXQgdG8gTlVMTCBhbmQgcmVsZWFzZSByZXNvdXJjZXMgd2l0aG91dAoJICBsb3NpbmcgZGF0YS4KCjIwMTAtMDUtMDUgMTM6NTg6MDcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkICJyZWFkeS1mb3ItY2FwdHVyZSIgcHJvcGVydHkKCSAgQWRkICJyZWFkeS1mb3ItY2FwdHVyZSIgcHJvcGVydHkgdG8gaW5kaWNhdGUgaWYgcHJlcGFyaW5nIGEgbmV3CgkgIGNhcHR1cmUgaXMgcG9zc2libGUuCgkgICJyZWFkeS1mb3ItY2FwdHVyZSIgY2hhbmdlcyBiZWZvcmUgdGhlICdpbWFnZS1kb25lJyBzaWduYWwsIHNvCgkgIHRoZSBhcHBsaWNhdGlvbiBjYW4gYmUgbm90aWZpZWQgdGhhdCBpdCBjYW4gZG8gYSBuZXcgY2FwdHVyZQoJICBldmVuIGJlZm9yZSB0aGUgcHJldmlvdXMgb25lIGhhcyBmaW5pc2hlZCBlbmNvZGluZy9zYXZpbmcuCgoyMDEwLTExLTA1IDAwOjMyOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkb24ndCBldmVuIGNoZWNrIGZvciBHdGsrIGlmIC0tZGlzYWJsZS1leGFtcGxlcyBpcyBzcGVjaWZpZWQKCSAgVGhlcmUgYXJlIEd0aystYmFzZWQgZXhhbXBsZXMgaW4gcGx1Z2luIGRpcnMgYW5kIHRlc3RzL2ljbGVzLyB0b28sIGFuZAoJICB3ZSB3YW50IHRvIGRpc2FibGUgdGhvc2UgYXMgd2VsbCB0aGVuLgoKMjAxMC0xMS0wNSAwMDoyNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIC0td2l0aC1ndGsgb3B0aW9uIGFuZCBkZWZhdWx0IHRvIEd0aysgMi4wIHdoaWxlIHRoZSAzLjAgQVBJIGlzIHN0aWxsIGluIGZsdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDAxNAoKMjAxMC0xMS0wMyAwMDowNDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYmFyY29kZS5wbmc6CgkgIHRlc3RzOiBhZGQgdmVyeSBzaW1wbGUgemJhciB1bml0IHRlc3QKCSAgTm90IHZhbGdyaW5kIGNsZWFuIHlldCAoY291bGQgYmUgemJhcidzIGZhdWx0IHRob3VnaCkuCgoyMDEwLTExLTA0IDE5OjI1OjI0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBtYWtlIHZpZGVvIHNvdXJjZSBlbGVtZW50IGRldGFpbHMgY29uc2lzdGVudAoJICBJbnNwaXJlZCBieSB0aGUgdjRsMnNyYyBlbGVtZW50IGRldGFpbHMuCgoyMDEwLTExLTA0IDE5OjExOjA0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBjb25zaXN0ZW50bHkgdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0xMS0wNCAxOTowMjo1MCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiB1cGRhdGUgZS1tYWlsIGFkZHJlc3MKCjIwMTAtMTEtMDQgMTg6NTk6NDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogcmVuYW1lIGlwaG9uZWNhbWVyYXNyYyB0byBjZWx2aWRlb3NyYwoJICBUaGlzIGlzIGluIG9yZGVyIHRvIGltcHJvdmUgY29uc2lzdGVuY3kgd2l0aCB0aGUgb3RoZXIgdGhyZWUgc291cmNlcy4KCjIwMTAtMTEtMDQgMTc6NTg6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZG9uJ3QgZXhwbGljaXRseSBlbXB0eSB0aGUgYnVmZmVyIHF1ZXVlCgkgIFdlJ3JlIGhvbGRpbmcgdGhlIG9ubHkgcmVmZXJlbmNlIHRvIGl0IHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsaWNpdGx5CgkgIGVtcHR5IGl0IHJpZ2h0IGJlZm9yZSBsZXR0aW5nIGdvIG9mIG91ciByZWZlcmVuY2UuCgoyMDEwLTExLTA0IDE3OjUwOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG1ha2UgYnVmZmVyIG9mZnNldCBzdGFydCBmcm9tIHplcm8KCjIwMTAtMTEtMDQgMTc6NDc6MjUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGltcGxlbWVudCB6ZXJvLWNvcHkgYnkgdXNpbmcgYnVmZmVyLWZhY3RvcnkKCSAgVGhpcyBtZWFucyB3ZSdsbCB3cmFwIGVhY2ggQ29yZVZpZGVvIGJ1ZmZlciBpbnNpZGUgYSBHc3RCdWZmZXIgaW5zdGVhZCBvZgoJICBtYWtpbmcgYSBjb3B5LgoKMjAxMC0xMS0wNCAxNzo0NDoxMiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJICBidWZmZXJmYWN0b3J5OiBhZGQgc3VwcG9ydCBmb3Igd3JhcHBpbmcgQ1ZCdWZmZXIKCjIwMTAtMTEtMDQgMTc6MjQ6MDMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGZpeCB1cCByZWZjb3VudGluZwoJICBTaG91bGQga2VlcCBhIHN0cm9uZyByZWZlcmVuY2UgdG8gdGhlIGRldmljZSwgYnV0IHdlIGRvbid0IG5lZWQgdG8gbWFuYWdlCgkgIHRoZSByZWZlcmVuY2UgY291bnQgb2YgZWxlbWVudHMgb2YgYW4gTlNNdXRhYmxlQXJyYXkgYXMgaXQgdGFrZXMgY2FyZSBvZgoJICB0aGF0IGZvciB1cy4KCjIwMTAtMTEtMDQgMTc6MTY6MDUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHNpbXBsaWZ5IHRpbWVzdGFtcGluZyBhbGdvcml0aG0KCSAgQWxpZ25pbmcgdGltZXN0YW1wcyBvbiBkdXJhdGlvbiBib3VuZGFyaWVzLCBza2lwcGluZyBmcmFtZXMgYW5kIHNvIGZvcnRoCgkgIGFyZSBjbGVhcmx5IHRoaW5ncyB0aGF0IGZhbGwgb3V0c2lkZSB0aGUgc2NvcGUgb2YgYSB2aWRlbyBzb3VyY2UuCgoyMDEwLTExLTA0IDE0OjE0OjA5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIG5ldyBpT1MgdmlkZW8gc291cmNlIGJhc2VkIG9uIEFWRm91bmRhdGlvbgoJICBUaGlzIGVsZW1lbnQgbWFrZXMgdXNlIG9mIHRoZSBkb2N1bWVudGVkIEFWRm91bmRhdGlvbiBmcmFtZXdvcmsgbWFkZQoJICBhdmFpbGFibGUgc3RhcnRpbmcgd2l0aCBpT1MgNC4wLCBhbmQgaGVuY2UgdGhpcyBtZWFucyB3ZSBjYW4gZmluYWxseQoJICBjYXB0dXJlIHZpZGVvIHVzaW5nIGEgcHVibGljIEFQSS4KCjIwMTAtMTEtMDQgMTQ6MjQ6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSAgYXBwbGVtZWRpYTogZml4IHN0cmVhbS1mb3JtYXQgY2FwcyB1c2VkIGZvciBILjI2NAoJICBUaGUgc3RyZWFtLWZvcm1hdCdzICJhdmMtc2FtcGxlIiBtZW1iZXIgaXMgbm93IGNhbGxlZCBqdXN0ICJhdmMiLgoKMjAxMC0xMS0wNCAxNDoyOTozNyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBlLW1haWwgYWRkcmVzc2VzCgoyMDEwLTExLTA0IDE0OjE4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogSW52ZXJzZSAtYmFzZSB2ZXJzaW9uIGNoZWNrIGxvZ2ljIHRvIGFjdHVhbGx5IG1ha2Ugc2Vuc2UKCjIwMTAtMTEtMDMgMTg6MzQ6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogQWRkIHN1cHBvcnQgZm9yIExpbnV4IENvb2tlZCBDYXB0dXJlIChTTEwpIGZyYW1lcwoKMjAxMC0xMS0wMyAxODoyMzoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGYWlsIG9uIHVua25vd24gdmVyc2lvbiBvciBsaW5rdHlwZQoJICBUaGUgZWxlbWVudCBvbmx5IGtub3dzIGFib3V0IG1ham9yIHZlcnNpb24gMiBhbmQgb25seSBkZWNvZGVzIGxpbmt0eXBlIGV0aGVybmV0CgoyMDEwLTExLTAzIDE4OjAyOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFNlbmQgZXJyb3IgR3N0TWVzc2FnZSBpZiBzdHJlYW0gZG9lc24ndCBoYXZlIHRoZSBleHBlY3RlZCBtYWdpYwoKMjAxMC0xMS0wMyAxNjoxNjoyNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogc2VuZCBURFQgdGFibGVzIG1lc3NhZ2VzIGluIGEgc2VyaWFsaXplZCBldmVudCBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzM5MTcKCjIwMTAtMTEtMDMgMTU6Mzc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgSVlVMQoKMjAxMC0xMS0wMyAxNToxMjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBGaXJzdCB2ZXJzaW9uIG9mIFlVVjkgYW5kIFlWVTkgaW1wbGVtZW50YXRpb24KCjIwMTAtMTEtMDMgMDk6MjA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IFVzZSBHU1RfQ0hFQ0tfUExVR0lOU19CQVNFX1ZFUlNJT04oKSBpbnN0ZWFkIG9mIG90aGVyIGhhY2tzCgoyMDEwLTEwLTE4IDE1OjMyOjE0ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggdGltZXN0YW1wIGdlbmVyYXRpb24KCSAgVXNlIGluZm9ybWF0aW9uIGZyb20gdGhlIGdvcCBoZWFkZXIgYW5kIHBpY3R1cmUKCSAgaGVhZGVyIHRvIGNhbGN1bGF0ZSB0aGUgcGljdHVyZSB0aW1lc3RhbXAuICh0aW1lX2NvZGUKCSAgYW5kIHRlbXBvcmFsX3JlZmVyZW5jZSkgYW5kIGFkYXB0IHRvIHVwc3RyZWFtIHRpbWVzdGFtcHMgaWYKCSAgcHJvdmlkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMjIKCjIwMTAtMTEtMDIgMjM6MDg6MzAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICBhcHBsZW1lZGlhOiBzd2l0Y2ggdnRhcGkgdG8gQ0ZUeXBlUmVmIHN0eWxlIHR5cGVkZWZzCgoyMDEwLTExLTAyIDIyOjUzOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogc3VwcG9ydCBwdWJsaWMgdmVyc2lvbiBvZiBDb3JlTWVkaWEKCSAgQWxzbyByZW5hbWUgdGhlIHJlbGV2YW50IEFQSSBzbyB3ZSBtaXJyb3IgdGhlIHB1YmxpYyBBUEkgbW9yZSBjbG9zZWx5LCBhbmQKCSAgc3dpdGNoIHRvIENvcmVGb3VuZGF0aW9uIENGVHlwZVJlZiBzdHlsZSB0eXBlZGVmcy4gV2Ugc3RpbGwgc3VwcG9ydCB0aGUgb2xkCgkgIHByaXZhdGUgQ29yZU1lZGlhIGluIG9yZGVyIHRvIG5vdCBicmVhayBPUyBYIHN1cHBvcnQuCgkgIFRoaXMgbWVhbnMgdGhhdCB2dGVuYyBhbmQgdnRkZWMgYXJlIG5vdyBjb21wYXRpYmxlIHdpdGggaU9TIDQueCwgYW5kIGluCgkgIHRoZW9yeSBhbHNvIGZ1dHVyZSB2ZXJzaW9ucyBvZiBPUyBYLCB3aGVyZSB0aGlzIEFQSSBtYXkgdHVybiBwdWJsaWMgbGlrZQoJICBpdCBoYXMgb24gaU9TLgoKMjAxMC0xMS0wMiAxNzo0NjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGhhbmRsZSBtb3JlIGZvcm1hdHMgdGhhdCBzdGFydCB3aXRoIGFuIDgtYml0IFkgcGxhbmUKCSAgV2UgY2FuIGhhbmRsZSBtb3N0IHBsYW5hciBZVVYgbGF5b3V0cyB0b28sIGFzIGxvbmcgYXMgd2UgZG9uJ3QKCSAgdGVsbCB6YmFyIGFib3V0IHRoZSBjaHJvbWEgcGxhbmVzLgoKMjAxMC0xMS0wMiAxNzoxODo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogdXNlIGNvcnJlY3Qgc3RyaWRlCgkgIEZpeGVzIGRldGVjdGlvbiBmb3IgaW1hZ2VzIHdpdGggYSB3aWR0aCB0aGF0J3Mgbm90IGEgbXVsdGlwbGUgb2YgZm91ci4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwODMwCgoyMDEwLTExLTAyIDE2OjU0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IGJ1aWxkIHdpdGggY3VycmVudCBnaXQgb2YgZ3N0LXBsdWdpbnMtYmFzZQoJICBpZmRlZiB0ZXN0cyBkb24ndCB3b3JrIHNvIHdlbGwgaWYgd2UgZGVmaW5lIHRoZW0gaW4gdGhlIGNvZGUKCSAgYWJvdmUgaW4gY2FzZSB0aGV5IGFyZW4ndCBkZWZpbmVkLgoKMjAxMC0xMS0wMiAxNjozNTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IG1pbm9yIGNsZWFuLXVwCgkgIEZpeCB0eXBvIGFuZCB1c2UgREVGQVVMVF9GT08gZGVmaW5lIGZvciBwcm9wZXJ0eSBkZWZhdWx0LgoKMjAxMC0xMS0wMiAxNjozMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGRpc2FibGUgY2FjaGUgYnkgZGVmYXVsdAoJICBTaW5jZSBpdCBicmVha3Mgc3RpbGwgaW1hZ2UgYmFyIGNvZGUgZGV0ZWN0aW9uLgoKMjAxMC0xMS0wMiAxNjowNTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciA4IGJpdCBwYWxldHRlZCBSR0IKCSAgVGhpcyBuZWVkcyB0aGUgOCBiaXQgcGFsZXR0ZWQgc3VwcG9ydCBmcm9tIC1iYXNlCgkgIHdoaWNoIHdpbGwgYmUgY29tbWl0dGVkIGFmdGVyIHJlbGVhc2UuIFdpdGhvdXQgdGhpcwoJICB0aGUgOCBiaXQgcGFydHMgYXJlIGRpc2FibGVkLgoKMjAxMC0xMS0wMiAxMDoyNDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBBZGQgbWlzc2luZyBjaGFuZ2UgdG8gcHJldmlvdXMgY29tbWl0cwoJICBGb3Jnb3QgdG8gYWRkIHRoaXMgY2hhbmdlIHRvIHRoZSBsYXRlc3QgY29tbWl0cy4gVGhpcyBmaXhlcyB0aGUgYnVpbGQuCgoyMDEwLTExLTAyIDA5OjM5OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEZpeCBsZWFrcyBpbiB0aGUgcHJldmlldyBoYW5kbGluZwoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgYnVzIGFmdGVyIGFkZGluZyB0aGUgd2F0Y2guCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBlbGVtZW50IGFmdGVyIGdldHRpbmcgaXQgd2l0aAoJICBnc3RfYmluX2dldF9ieV9uYW1lLgoKMjAxMC0xMS0wMiAwOTozODoyMCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgbGVhayBhIGNhcHMKCSAgZ3N0X2NhcHNfcmVwbGFjZSBkb2Vzbid0IHRha2Ugb3duZXJzaGlwLCBidXQgcmVmcyB0aGUgY2Fwcy4gU28gd2UKCSAgdW5yZWYgdGhlIHJlbWFpbmluZyBjYXBzLgoKMjAxMC0wOS0yNCAxNjoyODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlc2V0IHByZS1uaWdodC1tb2RlIHN0b3JlZCBmcHMgd2hlbiBtb2RlIGNoYW5nZXMKCSAgV2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiB2aWRlby9zdGlsbCBtb2RlcyB0aGUgcHJlLW5pZ2h0LW1vZGUgZnBzCgkgIHNob3VsZCBiZSByZXNldCB0byBwcmV2ZW50IGl0IGJlaW5nIHVzZWQgaW4gdGhlIGluY29ycmVjdCBtb2RlLCBjYXVzaW5nCgkgIHRoZSB2aWRlb3NvdXJjZSB0byBmYWlsIGNvbmZpZ3VyaW5nIGl0c2VsZgoKMjAxMC0wOS0yMSAxNjoyMzo0NyArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgbWFueSBwb3N0LXByb2Nlc3NpbmcgZWxlbWVudHMKCSAgSW5zdGVhZCBvZiB0YWtpbmcgYSBzaW5nbGUgZWxlbWVudCBhcyBpbnB1dCBmb3IgdGhlIGltYWdlIHBvc3QKCSAgcHJvY2Vzc2luZyBvcHRpb24sIHRha2UgYSBsaXN0IG9mIGNvbW1hIHNlcGFyYXRlZCBlbGVtZW50cwoJICB0aGF0IHdpbGwgYmUgdXNlZC4KCjIwMTAtMDktMjAgMTE6NTQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBTdG9yZSBhcHAgcHJlZmVycmVkIGNhcHR1cmUgcGFyYW1ldGVycyBzZXBhcmF0ZWx5CgkgIFN0b3JlIHdpZHRoL2hlaWdodC9mcHMgZm9yIHZpZGVvIGNhcHR1cmVzIGluIGEgc2VwYXJhdGUgdmFyaWFibGUKCSAgdGhhbiB0aGUgb25lIHRoYXQgc3RvcmVzIHRoZSBjdXJyZW50bHkgdXNlZCB2YWx1ZS4KCSAgVGhpcyBwcmV2ZW50cyB0aGUgdXNlciBwcmVmZXJlbmNlcyB0byBiZSBsb3N0IHdoZW4gcmVzZXR0aW5nCgkgIHRoZSBjdXJyZW50bHkgdXNlZCBkaW1lbnNpb25zIGZvciBuaWdodCBtb2RlLCBmb3IgZXhhbXBsZQoKMjAxMC0wOS0yMCAwODo0Mjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFudXAgdXNlZCBjYXBzIHdoZW4gZ29pbmcgdG8gTlVMTAoJICBSZXNldHMgdXNlZCBjYXBzIHNvIHRoYXQgY2FtZXJhYmluIGRvZXNuJ3QgdHJ5IHRvIHVzZSB0aGVtCgkgIHdoZW4gcmVzdGFydGluZywgd2hlcmUgZWxlbWVudHMvcHJvcGVydGllcyBtaWdodCBoYXZlIGNoYW5nZWQKCSAgYW5kIHRoZSBvbGQgY2FwcyBiZSBpbmNvbXBhdGlibGUKCjIwMTAtMDktMDkgMTA6NTA6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBwcmlvcml0eSBmb3IgaWRsZV9hZGQgZnVuY3Rpb24KCSAgQWRkcyBhIGhpZ2hlciBwcmlvcml0eSB0byB0aGUgaWRsZV9hZGQgZnVuY3Rpb24gZm9yIHdoZW4KCSAgdGhlIGltYWdlIGJpbiBmaW5pc2hlZCB0aGUgaW1hZ2UgY2FwdHVyZS4gVGhpcyByZWR1Y2VzIHRoZQoJICBkZWxheSBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGJlIG5vdGlmaWVkIGFib3V0IHRoaXMuCgoyMDEwLTExLTAxIDIzOjA0OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBsb2cgdGltZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybQoKMjAxMC0xMS0wMSAyMjo0MDozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogbW92ZSByZW9jY3VyaW5nIGxvZ3MgdG8gTE9HIGFuZCByZW1vdmUgYSBkb3VibGUgaW5mbwoJICBMZXNzIGRlYnVnIHNwZXcgaW4gREVCVUcgY2F0ZWdvcnkuIE5vIG5lZWQgdG8gbG9nIHBhZCBhZ2FpbiBpZiB3ZSB1c2UKCSAgR1NUX0xPR19PQkpFQ1QocGFkLC4uLikuCgoyMDEwLTExLTAxIDE1OjUzOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2csIGNvbG9yc3BhY2U6IHVwZGF0ZSBvcmMgYmFja3VwIGZ1bmN0aW9ucyBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgU2hvdWxkIGZpeCBidWlsZCBvbiBzeXN0ZW1zIHdpdGhvdXQgdGhlIGxhdGVzdCBvcmMuCgoyMDEwLTExLTAxIDE1OjUzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSBmb3IgbmV3IHRyYW5zbGF0aW9ucwoKMjAxMC0xMC0zMSAyMzo0NjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFJHQjE1IGFuZCBCR1IxNQoKMjAxMC0xMC0zMSAyMzo0NDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFJHQjE2IGFuZCBCR1IxNgoKMjAxMC0xMC0zMSAyMzoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTE2CgoyMDEwLTEwLTMxIDIzOjI1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBGaXggWTgwMCBPUkMgZ2V0bGluZSBpbXBsZW1lbnRhdGlvbgoKMjAxMC0xMC0zMSAyMzowNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBBNDIwCgoyMDEwLTEwLTMxIDIzOjAwOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFk0MUIKCjIwMTAtMTAtMzEgMjI6Mzk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgU0RUVi9IRFRWIFlVViBjb252ZXJzaW9ucwoKMjAxMC0xMC0zMSAyMjoyMTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb21tZW50IGZvciB0aGUgQTQyMCBnZXRsaW5lL3B1dGxpbmUgdGFibGUgcm93CgoyMDEwLTEwLTMxIDIwOjQwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgY29uc3QgdG8gdGhlIHNvdXJjZSBhcnJheXMgYW5kIHRoZSBnZXRsaW5lL3B1dGxpbmUgdGFibGUKCjIwMTAtMTAtMzEgMTk6NDI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBNYWtlIGZhc3QtcGF0aCB0cmFuc2Zvcm0gdGFibGUgY29uc3QKCjIwMTAtMTAtMzEgMTk6Mzk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBPbmx5IGRvIHRoZSBJNDIwLT5ZVVkyIGNvbnZlcnNpb24gb25jZSBwZXIgc2NhbmxpbmUgaW4gdGhlIGZhc3QgcGF0aAoKMjAxMC0xMC0yOSAxNDowODo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBvbmx5IHVwc3RyZWFtIGR1cmF0aW9uIGlmIGl0IHByb3ZpZGVzIG9uZQoKMjAxMC0xMC0yNSAxNDoxNTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmxvdyB1cGRhdGVfYml0cmF0ZSBjb2RlCgkgIC4uLiB3aGljaCBtYWtlcyBsb2NhbCB2YXJpYWJsZXMgcmVwcmVzZW50IHJlYWwgc3RhdGUgYmV0dGVyLCBhbmQgYXZvaWRzCgkgIHRyaWdnZXJpbmcgdW5uZWVkZWQgdXBkYXRlcy9hY3Rpb25zLgoKMjAxMC0xMC0yNSAxNDoxMzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTAtMTAtMjggMTg6NTE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgZ2F1ZGllZmZlY3RzOiBJbmNsdWRlIGdzdGNvbnRyb2xsZXIgaGVhZGVyIGFuZCBhZGQgdGhlIHJlcXVpcmVkIENGTEFHUwoKMjAxMC0xMC0yNyAxNDo1NzozNiArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogbWFkZSBmaWx0ZXIgcGFyYW1ldGVycyBkeW5hbWljIGFuZCBjb250cm9sbGFibGUKCjIwMTAtMDctMDEgMTU6MDc6NDEgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogd29yayBhcm91bmQgc2h1dGRvd24gZGVhZGxvY2sKCSAgR2V0T3ZlcmxhcHBlZFJlc3VsdCgpIG1pZ2h0IG5ldmVyIHJldHVybiB3aXRoIHNvbWUgZHJpdmVycy4gVGltZSBvdXQKCSAgYWZ0ZXIgMTAwMCBtcy4gV2UgY2Fubm90IHJlYWxseSBmaXggdGhpcyB3aXRob3V0IGVpdGhlcjoKCSAgMSkgQ29udHJvbGxpbmcgdGhlIHN0cmVhbWluZyB0aHJlYWQgc28gd2UgY2FuIGRvIENhbmNlbElvKCkgZnJvbSB0aGF0CgkgIHRocmVhZC4KCSAgMikgU3dpdGNoIHRvIHVzaW5nIElPIGNvbXBsZXRpb24gcG9ydHMuCgoyMDEwLTA2LTExIDE4OjA0OjU4ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHJlbW92ZSBKUEVHIHZhbGlkYXRpb24gaGFjawoJICBUaGlzIHNob3VsZCBjbGVhcmx5IG5vdCBiZSBkb25lIGluIGEgdmlkZW8gc291cmNlLgoKMjAxMC0wNC0yMCAxMjowNTo0NSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogc2V0IFByaW9yaXR5U3ViQ2xhc3MgdG8gS1NQUklPUklUWV9OT1JNQUwgaW5zdGVhZCBvZiAxCgkgIEluIG9yZGVyIHRvIG1hdGNoIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCgoyMDEwLTA0LTIwIDExOjU5OjIzICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHJldHJ5IHdoZW4gS3NDcmVhdGVQaW4gZmFpbHMgd2l0aCBFUlJPUl9OT1RfUkVBRFkKCSAgVHVybnMgb3V0IHRoYXQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBkb2VzIHRoaXMsIGhlbmNlIHdlIG5lZWQgdG8KCSAgbWlycm9yIHRoaXMgYmVoYXZpb3VyLiBUaGlzIHR5cGljYWxseSBoYXBwZW5zIHdpdGggaGFyZHdhcmUgdGhhdCB0YWtlcwoJICBzb21lIHRpbWUgdG8gaW5pdGlhbGl6ZS4KCjIwMDktMTAtMjYgMTY6MDk6MDAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGltcHJvdmUgZnJhbWVyYXRlIGZyYWN0aW9uIGNvbnZlcnNpb25zCgkgICogRm9yIGluc3RhbmNlIDcuNSBmcHMgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGFzIDE1LzIgaW5zdGVhZCBvZiA3LzEuCgkgICogQ2xhbXAgQXZnVGltZVBlckZyYW1lIGFuZCBkd0JpdFJhdGUgdG8gYWNjb3VudCBmb3Igcm91bmRpbmcgZXJyb3JzLgoKMjAwOS0xMC0xMiAxNzoyNjoxNSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGltcHJvdmUgZXJyb3ItaGFuZGxpbmcKCSAgTW9zdCBpbXBvcnRhbnQgcGFydCBoZXJlIGlzIHNwZWNpYWwtY2FzaW5nICJkZXZpY2UgYnVzeSIgc28gdGhlIGFwcGxpY2F0aW9uCgkgIGlzIGFibGUgdG8gcHJvdmlkZSBiZXR0ZXIgZmVlZGJhY2sgd2hlbiBhbm90aGVyIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHRoZQoJICBkZXZpY2UuCgoyMDA5LTA5LTA3IDE2OjQ1OjU3ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoJICAqIE1ha2UgdGhlIGRyaXZlciB3cml0ZSBkaXJlY3RseSBpbnRvIGVhY2ggR3N0QnVmZmVyIHRvIGF2b2lkIG1lbWNweSgpLgoJICAqIERvbid0IG1lbXNldCgpIHRoZSBidWZmZXIgYmVmb3JlIHJldXNpbmcgaXQuCgkgICogUmVjeWNsZSBtZW1vcnkgYnkga2VlcGluZyB0d28gc3BhcmUgYnVmZmVycy4gVHdvIGJlY2F1c2UgdGhlIHNpbmsKCSAgZG93bnN0cmVhbSBtYXkga2VlcCBhIHJlZiB0byB0aGUgcHJldmlvdXMgYnVmZmVyLgoJICBOb3RlIHRoYXQgd2UgYWxpZ24gYnVmZmVycyBvbiBoaWdoZXN0IHBvc3NpYmxlIGJ5dGUgYm91bmRhcnkgKDQwOTYpIHNvIHdlCgkgIGRvbid0IGhhdmUgdG8gdGFrZSBpbnRvIGFjY291bnQgd2hhdCBraW5kIG9mIGFsaWdubWVudCB0aGUgZHJpdmVyIHJlcXVpcmVzLgoKMjAwOS0wOS0wNyAxNjowOTozNCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgIHdpbmtzOiBzdG9yZSBwcml2IHBvaW50ZXIgaW5zdGVhZCBvZiBsb29raW5nIGl0IHVwCgoyMDA5LTA4LTMxIDE5OjMzOjMwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IHBvc3QgZXJyb3IgbWVzc2FnZSBvbiBmbG93LXVuZXhwZWN0ZWQKCjIwMDktMDgtMzEgMTk6Mjg6NTAgKzAyMDAgIEFuZHJlcyBDb2x1YnJpIDxhbmRyZXMuY29sdWJyaUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICB3aW5rczogYWRkIHByb3BlcnR5IHByb2Jpbmcgc3VwcG9ydAoKMjAwOS0wOC0zMSAxOToyNjozNiArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAgd2lua3M6IHNvcnQgZGV2aWNlcyB0aGF0IGxvb2sgbGlrZSBjYW1lcmFzIGZpcnN0CgoyMDA5LTA4LTMxIDE5OjI1OjAyICswMjAwICBLbnV0IEluZ2UgSHZpZHN0ZW4gPGtudXQuaW5nZS5odmlkc3RlbkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHByb3ZpZGUgZ3Vlc3NlZCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcwoKMjAwOS0wOC0zMSAxOToyMzo0MCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkgIHdpbmtzOiBvbmx5IHRyeSB0byBjaGFuZ2Ugc3RhdGUgd2hlbiBhY3R1YWxseSBvcGVuCgoyMDA5LTA4LTMxIDE5OjIyOjQwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaWdub3JlIHVuc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTAtMTAtMjggMTY6MTQ6MzQgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogYWRqdXN0IGEgY291cGxlIG9mIGxvZ2dpbmcgc2V2ZXJpdGllcwoJICBTaG91bGQgY2xlYXJseSBub3QgYmUgY29uc2lkZXJlZCB3YXJuaW5ncywgYXMgdGhleSdyZSBxdWl0ZSBjb21tb24uCgoyMDEwLTEwLTI3IDE4OjMwOjExICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IE5ldyBwbHVnaW4gZm9yIEFwcGxlIG11bHRpbWVkaWEgQVBJcwoJICBQcm92aWRlcyB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJICBxdGtpdHZpZGVvc3JjOiBPUyBYIHZpZGVvIHNvdXJjZSByZWx5aW5nIG9uIHRoZSBRVEtpdCBBUEkuIENvbWVzIHdpdGgKCSAgaGFyZC1jb2RlZCBjYXBzIGFzIHRoZSBBUEkgZG9lcyBub3QgcHJvdmlkZSBhbnkgd2F5IG9mIHF1ZXJ5aW5nIGZvcgoJICBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUuIEhhc24ndCBiZWVuIHRlc3RlZCBhIGxvdCwgYnV0IHNlZW1zCgkgIHRvIHdvcmsuCgkgIG1pb3ZpZGVvc3JjOiBPUyBYIHZpZGVvIHNvdXJjZSB3aGljaCB1c2VzIHRoZSB1bmRvY3VtZW50ZWQvcHJpdmF0ZQoJICBDb3JlTWVkaWFJT1NlcnZpY2VzIEFQSSwgd2hpY2ggaXMgYWxzbyB0aGUgb25lIHVzZWQgYnkgaUNoYXQuCgkgIFByZXNlbnQgb24gbGF0ZXN0IHZlcnNpb24gb2YgTGVvcGFyZCBhbmQgYWxsIHZlcnNpb25zIG9mIFNub3cgTGVvcGFyZC4KCSAgSGFzIGJlZW4gdGVzdGVkIGV4dGVuc2l2ZWx5IHdpdGggYnVpbHQtaW4gY2FtZXJhcyBhbmQgVEFOREJFUkcncwoJICBQcmVjaXNpb25IRCBVU0IgY2FtZXJhLgoJICB2dGVuYywgdnRkZWM6IEdlbmVyaWMgY29kZWMgd3JhcHBlcnMgd2hpY2ggbWFrZSB1c2Ugb2YgdGhlIHVuZG9jdW1lbnRlZC8KCSAgcHJpdmF0ZSBWaWRlb1Rvb2xib3ggQVBJIG9uIE9TIFggYW5kIGlPUy4gTGlzdCBvZiBjb2RlY3MgYXJlIGN1cnJlbnRseQoJICBoYXJkLWNvZGVkIHRvIEguMjY0IGZvciB2dGVuYywgYW5kIEguMjY0ICsgSlBFRyBmb3IgdnRkZWMuIENhbiBlYXNpbHkgYmUKCSAgZXhwYW5kZWQgYnkgYWRkaW5nIG5ldyBlbnRyaWVzIHRvIHRoZSBsaXN0cywgYnV0IGhhdmVuJ3QgeWV0IGhhZCB0aW1lIHRvCgkgIGRvIHRoYXQuIFNob3VsZCBwcm9iYWJseSBhbHNvIGltcGxlbWVudCBwcm9iaW5nIGFzIGF2YWlsYWJsZSBjb2RlY3MgZGVwZW5kCgkgIG9uIHRoZSBPUyBhbmQgaXRzIHZlcnNpb24sIGFuZCB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYW55IHdheSB0bwoJICBlbnVtZXJhdGUgdGhlIGF2YWlsYWJsZSBjb2RlY3MuCgkgIHZ0aDI2NGRlY2JpbiwgdnRoMjY0ZW5jYmluOiBXcmFwcGVyIGJpbnMgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdXNlCgkgIHZ0ZGVjX2gyNjQvdnRlbmNfaDI2NCBpbiBsaXZlIHNjZW5hcmlvcy4KCSAgaXBob25lY2FtZXJhc3JjOiBpUGhvbmUgY2FtZXJhIHNvdXJjZSByZWx5aW5nIG9uIHRoZSB1bmRvY3VtZW50ZWQvcHJpdmF0ZQoJICBDZWxlc3RpYWwgQVBJLiBUZXN0ZWQgb24gaU9TIDMuMSBydW5uaW5nIG9uIGFuIGlQaG9uZSAzR1MuIFN0b3BzIHdvcmtpbmcKCSAgYWZ0ZXIgYSBmZXcgbWludXRlcywgcHJlc3VtYWJseSBiZWNhdXNlIG9mIGEgcmVzb3VyY2UgbGVhay4gTmVlZHMgc29tZQoJICBsb3ZlLgoJICBOb3RlIHRoYXQgdGhlIGlPUyBwYXJ0cyBoYXZlbid0IHlldCBiZWVuIHBvcnRlZCB0byBpT1MgNC54LgoKMjAxMC0xMC0yOCAxMTo0MzozNCArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBBZGQgdGFnIGV2ZW50IGVtaXNzaW9uLiBGaXhlcyAjNjI3MjUzCgoyMDEwLTEwLTI3IDEzOjE3OjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYmQ3MDggdG8gMDExYmNjOAoKMjAxMC0xMC0yMSAxNjowNjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IENoZWNrIHRoZSBzb3VyY2Ugc2NlbmUgbW9kZSB3aGVuIGNyZWF0aW5nIGl0CgkgIEFzIGNhbWVyYWJpbiBvbmx5IGdldHMgbm90aWZpZWQgb2YgdGhlIGNoYW5nZXMgZnJvbSB0aGUKCSAgdmlkZW8gc291cmNlIGVsZW1lbnQsIGl0IHNob3VsZCBxdWVyeSB0aGUgaW5pdGlhbCB2YWx1ZQoJICBvbmNlIHRoZSBzb3VyY2UgaXMgY3JlYXRlZCBzbyBpdCBpbml0aWFsaXplcyBpdHNlbGYKCSAgY29ycmVjdGx5LgoKMjAxMC0xMC0yMCAwMDowNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBkaXN0Y2hlY2sgYSBiaXQgbW9yZQoJICBEaXN0IGVsZW1lbnRzL3BhcnNlci5oIGhlYWRlciBmaWxlLCB3aGljaCBmaXhlcyB0aGUgJ21ha2UgY2hlY2snIGJ1aWxkLgoKMjAxMC0xMC0xOSAyMzo0MDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB0ZXN0czogZml4IHZhbHZlIHVuaXQgdGVzdAoJICBnc3RfYnVmZmVyX3BhZF9hbGxvYygpIG5lZWRzIHNpbXBsZSBjYXBzIG9yIE5VTEwgY2FwcywKCSAgQU5ZIGNhcHMgYXJlIG5vdCBhbGxvd2VkLgoKMjAxMC0xMC0xOSAyMzoyNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0IHZhcmlhYmxlIHRvIG1ha2Ugb3N4IGJ1aWxkIGJvdCBoYXBweQoJICBnc3RkY2FwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RjYV9wYXJzZV9jaGVja192YWxpZF9mcmFtZSc6CgkgIGdzdGRjYXBhcnNlLmM6MjQ2OiB3YXJuaW5nOiAnYmVzdF9zeW5jJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTAtMTAtMTkgMDA6MTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHZlcnkgYmFzaWMgZHRzL2RjYSBwYXJzZXIKCSAgU3RpbGwgc29tZSBpc3N1ZXMsIGUuZy4gd2l0aCBzZWVrYWJsZSBxdWVyaWVzIGluIHRvdGVtLCBidXQgYWxzbwoJICBwcm9jZXNzaW5nIGFscmVhZHktY2h1bmtlZCBpbnB1dCAoY3JlYXRlZCB3aXRoIG1hdHJvc2thZGVtdXggISBnZHBwYXkpLgoKMjAxMC0xMC0xOSAxNjoyMzoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxNjoyNDoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IGZpeCBjb3B5J24ncGFzdGUgb2ZmIGJ5IG9uZSBmb3IgcGFyYW0gc3BlYyBmbGFncyBjaGFuZ2UKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxNTozMDowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgdmFyaW91czogd3JhcCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gYW5kIGFkZCBhIHNpbmdsZSBmaXhtZSBmb3IgbG9uZyBkZXNjLgoKMjAxMC0xMC0xOSAxNTowNjozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiByZW1vdmUgc3RyYXkgIiBpbiBkb2MgY29tbWVudAoKMjAxMC0xMC0xOSAxMzo0NDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiByZW1vdmUgREVCVUdfRlVOQ1BUUiBmcm9tIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMTAtMDggMTk6MzM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdHMgZm9yIHRoZSBuZXcgdGFncwoJICBBZGRzIHRlc3RzIGZvciB0aGUgbmV3IGV4aWYgdGFncyBpbiAtYmFzZQoKMjAxMC0xMC0wOSAxNzozNjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW86IE1vdmUgY29tbW9uIGZpZWxkcy9mdW5jdGlvbnMgdG8gYmFzZWNvZGVjCgoyMDEwLTA5LTI4IDE4OjIxOjU3ICswMzAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBNYWtlIHNjYW5uZXIgY2FjaGUgb3B0aW9uYWwKCjIwMTAtMTAtMTQgMjM6MDQ6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhY3R1YWx5IHVzZSB0aGUgZW51bSBpbiB0aGUgdm1ldGhvZHMKCSAgSWYgd2UgaW50cm9kdWNlIGEgbmV3IEdzdFBob3RvZ3JhcGh5Tm9pc2VSZWR1Y3Rpb24sIGxldHMgYWxzbyB1c2UgaXQKCSAgaW4gdGhlIHZtZXRob2RzCgoyMDEwLTEwLTE0IDIzOjAzOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogcmV0YWIgaW50ZXJmYWNlIHN0cnVjdCBmaWVsZHMKCjIwMTAtMTAtMTQgMTI6MzI6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YTY2OGJmIHRvIDdiYmQ3MDgKCjIwMTAtMTAtMTQgMTQ6MDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1bnVzZWQgZW50cnkKCSAgUmVtb3ZlIGNhbWVyYWJpbiB1bnVzZWQgZW51bSBlbnRyeQoKMjAxMC0xMC0xNCAxMzo0MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQXZvaWQgYnJlYWtpbmcgQUJJCgkgIE1vdmUgdGhlIG5ld2x5IGFkZGVkIGZ1bmN0aW9ucy9maWVsZHMgdG8gdGhlIGVuZCBvZiB0aGUgc3RydWN0cwoKMjAxMC0xMC0xNCAxMTo0NTo1NSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogYWNjZWxlcmF0ZSBzZWFyY2ggZm9yIHN0YXJ0IGNvZGUKCSAgQXMgdGhlIHN0YXJ0Y29kZSBhbHdheXMgc3RhcnRzIHdpdGggMHgwMDAwMDEgc29tZSBpdGVyYXRpb25zCgkgIGNhbiBiZSBza2lwcGVkIGlmIHZhbHVlcyA+IDEgYXJlIGRldGVjdGVkLgoJICB+IDcwJSBmYXN0ZXIgb24gSEQgdmlkZW8gc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMTMwCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xNCAxMToyNDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmxvdyBvcGVuaW5nIGFuZCBjbG9zaW5nIGRlY29kZXIKCSAgSW4gcGFydGljdWxhciwgdGhpcyByZWNvbmZpZ3VyZXMgcXVpdGUgZm9yY2VmdWxseSB3aGVuIHJlbmVnb3RpYXRpb24gaXMgbmVlZGVkLgoJICBGaXhlcyAjNjMxNTAxLgoKMjAxMC0xMC0xMyAxNzo0NzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGFkanVzdGluZyBmcmFtZXJhdGUKCSAgRml4ZXMgIzYzMjA3MC4KCjIwMTAtMTAtMTIgMjE6NDY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IHVwZGF0ZSB0ZXN0cyB0byB0aGUgbmV3IGRhdGV0aW1lIGFwaQoJICBVcGRhdGUgamlmbXV4IHRlc3RzIHRvIHVzZSBuZXcgZ3N0ZGF0ZXRpbWUgQVBJIGluIGNvcmUKCjIwMTAtMTAtMTIgMDk6Mzc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIHJvdGF0ZSBlbGVtZW50CgkgIEFkZHMgYSBuZXcgcm90YXRlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLiBJdCBzdGlsbAoJICBuZWVkcyBzb21lIHdvcmsuIEJ1dCB0aGlzIGlzIGEgZ29vZCBzdGFydGluZyBwb2ludC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBCZXJ0IERvdWdsYXMgPGJlcnRkIHRwbG9naWMgY29tPgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjE3OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBjYXRlciBmb3IgcmVuZWdvdGlhdGlvbgoJICBBdCBsZWFzdCwgd2hlbmV2ZXIgZWl0aGVyIHN0cmVhbSAoZS5nLiBBRFRTKSBvciB1cHN0cmVhbSBwcm92aWRlcyBuZWNlc3NhcnkKCSAgaW5mbyBmb3IgZG9pbmcgc28uCgkgIEZpeGVzICM2MzE1MDEuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDE2OjEzOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBwb3J0IEdzdFhPdmVybGF5IGJpdHMgdG8gbmV3IEFQSQoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBBUEkuCgoyMDEwLTEwLTEyIDE2OjM1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogYWRqdXN0IHVuaXQgdGVzdCB0byBmYWFjIG1vZGlmaWVkIG91dHB1dAoKMjAxMC0xMC0xMCAxMjozMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiByZW1vdmUgdmFyaWFibGVzIGZyb20gTWFrZWZpbGUuYW0gdGhhdCBhcmVuJ3Qgc2V0CgkgIFJlbW92ZSBzb21lIHN0dWZmIHRoYXQgd2FzIGNvcHknbidwYXN0ZWQgZnJvbSBjb3JlIGJ1dAoJICBkb2Vzbid0IGFwcGx5IGhlcmUuIFRoZSBmb2xsb3dpbmcgdmFycyBhcmVuJ3Qgc2V0OgoJICBDSEVDS19DRkxBR1MsIENIRUNLX0xJQlMsIEdTVF9PQkpfQ0ZMQUdTLCBHU1RfT0JKX0xJQlMsCgkgIHNvIHdlIG1heSBqdXN0IGFzIHdlbGwgcmVtb3ZlIHRoZW0uCgoyMDEwLTEwLTEyIDEyOjExOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBGaXggY29tcGlsYXRpb24gd2l0aCBHVEsrIDMuMAoKMjAxMC0xMC0xMiAxMDoyODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGp1c3QgdW5pdCB0ZXN0cyB0byBuZXcgZmxhY3BhcnNlIGJlaGF2aW91cgoJICBHYXJiYWdlIGFmdGVyIGZyYW1lcyBpcyBub3cgaW5jbHVkZWQgaW4gdGhlIGZyYW1lcyBiZWNhdXNlIGZsYWNwYXJzZQoJICBoYXMgbm8gZWFzeSB3YXkgdG8gZGV0ZWN0IHRoZSByZWFsIGVuZCBvZiBhIGZyYW1lLiBEZWNvZGVycyBhcmUKCSAgZXhwZWN0ZWQgdG8gZXZlcnl0aGluZyBhZnRlciB0aGUgZnJhbWUgYmVjYXVzZSBvbmx5IGRlY29kaW5nIHRoZQoJICBiaXRzdHJlYW0gd2lsbCByZXZlYWwgdGhlIHJlYWwgZW5kIG9mIHRoZSBmcmFtZS4KCSAgRml4ZXMgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTEyIDEwOjI3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRG9uJ3QgZHJvcCB0aGUgbGFzdCBmcmFtZSBpZiBpdCBpcyBmb2xsb3dlZCBieSBnYXJiYWdlCgkgIFNlZSBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTEgMTc6NDk6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwZXJmb3JtIGJpdHJhdGUgaGFuZGxpbmcgYW5kIHBvc3RpbmcgYWZ0ZXIgbmV3c2VnbWVudCBzZW5kaW5nCgoyMDEwLTEwLTExIDE3OjM2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1tZWRpYXRlbHkgcG9zdCBzdWJjbGFzcyBwcm92aWRlZCBiaXRyYXRlCgoyMDEwLTEwLTExIDE3OjA2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBhcnNpbmcgd2l0aCB1bmtub3duIGZyYW1lc2l6ZXMKCSAgRml4ZXMgIzYzMTgxNCAobW9zdGx5KS4KCjIwMTAtMTAtMTEgMTc6MDU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IGhhbmRsZSB0cmFpbGluZyBlbmNvZGVyIG91dHB1dAoKMjAxMC0xMC0xMSAxNDoyNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJICBzd2l0Y2hzcmM6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcKCjIwMTAtMDktMTMgMTk6MDc6NTUgKzAxMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEZpeCBleGFtcGxlIHVzYWdlLCBiYW5kd2lkdGg9OCBub3QgOE1IegoJICBUaGUgYmFuZHdpZHRoIHByb3BlcnR5IGlzIGVudW0gdGhhdCB0YWtlcyB0aGUgdmFsdWVzIDgsIDcsIDYsIEFVVE8gbm90CgkgIDhNSHouCgoyMDEwLTEwLTA4IDE3OjAxOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkgIHNobTogQWRkIEMrKyBwcm90ZWN0aW9uCgkgIEFkZCBjKysgcHJvdGVjdGlvbiBpbiB0aGUgcmVsZXZhbnQgcGxhY2VzCgoyMDEwLTEwLTA4IDEyOjQ0OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzRhOGFkYyB0byA1YTY2OGJmCgoyMDEwLTEwLTA4IDEyOjU1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWUzYzliZiB0byBjNGE4YWRjCgoyMDEwLTEwLTA3IDIzOjM3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogU2ltcGxpZnkgZnJhbWUgaGVhZGVyIHBhcnNpbmcgYnkgdXNpbmcgbG9va3VwIHRhYmxlcwoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEZlbGlwZSBDb250cmVyYXMuCgkgIFNlZSBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMjM6Mjg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBEb24ndCBwYXJzZSB0aGUgY29tcGxldGUgRkxBQyBmcmFtZXMgYnV0IG9ubHkgbG9vayBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycwoJICBUaGFua3MgdG8gRmVsaXBlIENvbnRyZXJhcyBmb3IgdGhlIHN1Z2dlc3Rpb24uIFRoaXMgaXMgcGFydGlhbGx5CgkgIGJhc2VkIG9uIGhpcyBwYXRjaGVzIGFuZCBtYWtlcyBmbGFjcGFyc2UgbW9yZSB0aGFuIDMuNSB0aW1lcyBmYXN0ZXIuCgkgIExvb2tpbmcgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMgaXMgdW5saWtlbHkgdG8gZ2l2ZSBmYWxzZSBwb3NpdGl2ZXMKCSAgYmVjYXVzZSBldmVyeSBmcmFtZSBoZWFkZXIgaXMgYXQgbGVhc3QgOSBieXRlcyBsb25nLCBjb250YWlucyBhCgkgIDE0IGJpdCBzeW5jIGNvZGUgYW5kIGEgOCBiaXQgY2hlY2tzdW0gb3ZlciB0aGUgZmlyc3QgOCBieXRlcy4KCSAgRml4ZXMgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDExOjU5OjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHdvcmthcm91bmQgaW50ZXJuYWwgcnRzcHNyYyBmYWlsaW5nIHN0YXRlIGNoYW5nZQoJICBGaXhlcyAjNjMwMDQ2LgoKMjAxMC0xMC0wNyAxMDozNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBjaGFubmVsLXBvc2l0aW9ucwoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA2IDE2OjU0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJICBjaHJvbWFob2xkOiBGaXggaHVlIGNhbGN1bGF0aW9uIGZvciByZWQgY29sb3JzCgkgIEFsc28gbWFrZSB0aGUgY2FsY3VsYXRpb24gbXVjaCBtb3JlIGFjY3VyYXRlLi4uCgoyMDEwLTEwLTA2IDE1OjIxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJICBjaHJvbWFob2xkOiBNYWtlIGV2ZXJ5dGhpbmcgZ3JleXNjYWxlIGlmIHRoZSB0YXJnZXQgY29sb3IgaXMgZ3JleQoKMjAxMC0xMC0wNiAxMTo1NTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNocm9tYWhvbGQ6IEFkZCBjaHJvbWFob2xkIGNvbG9yIGVmZmVjdAoJICBUaGlzIGVmZmVjdCBjb252ZXJ0cyBhbGwgY29sb3JzIGV4Y2VwdCBhIHNpbmdsZSBvbmUgdG8KCSAgZ3JleS4gVGhlIGNvbG9yIGlzIHNlbGVjdGVkIGJ5IGFuIFJHQiB0cmlwbGUgYW5kIGEKCSAgdG9sZXJhbmNlIGZvciB0aGUgY29sb3IgbWF0Y2hpbmcgaW4gaHVlIGRlZ3JlZSBjYW4gYmUgc3BlY2lmaWVkLgoKMjAxMC0xMC0wNSAxNzowNDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBmaXggYW5kIHJlZmxvdyBzb21lIGV4aXRzCgoyMDEwLTEwLTA1IDE2OjU2OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGVycm9yIG91dCBpZiBubyBzdHJlYW1zIGZvdW5kIGluIHNkcCBtZXNzYWdlCgoyMDEwLTEwLTA1IDE2OjQ3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHVuYnJlYWsgc3RhbmRhcmQgbWFuYWdlciBzZXR1cAoKMjAxMC0xMC0wNSAxMTo0NDo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTAtMTAtMDUgMTE6NDI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2dzdC1hbHNhLm00OgoJICBhbHNhc3BkaWY6IHJlbW92ZSBhbHNhc3BkaWZzaW5rIGVsZW1lbnQKCSAgUmVtb3ZlIGFsc2FzcGRpZnNpbmssIGl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLiBhbHNhc2luayBpbiAtYmFzZQoJICBoYXMgYmVlbiBhYmxlIHRvIGhhbmRsZSBTUERJRiBmb3IgYSB3aGlsZSBub3cuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHF0bXV4IHByb3BlcnRpZXMKCjIwMTAtMTAtMDMgMjM6MTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB2YWx2ZTogRml4IHRlc3RzIGJ1aWxkCgkgIEFkZHMgbWlzc2luZyBjZmxhZ3MvbGlicyB0byB2YWx2ZSBjaGVjayB0ZXN0IHRvCgkgIGZpeCBidWlsZAoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogQ2hlY2sgcmV0dXJuIHZhbHVlcyBvZiB0aGUgYml0cmVhZGVyIGZ1bmN0aW9ucwoKMjAxMC0xMC0wMyAxNTo0MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBVc2UgdW5jaGVja2VkIHZlcnNpb25zIG9mIHRoZSBiaXRyZWFkZXIgZ2V0IGZ1bmN0aW9ucwoJICBXZSBkaWRuJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZXMgYW55d2F5Li4uCgoyMDEwLTA5LTI4IDEzOjUyOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG5vIG5lZWQgdG8gcmVmIHRoZSBvYmplY3QgaW4gX2NoYWluCgkgIERvbid0IHJlZiB0aGUgcGFkIGluIGNoYWluLCBsaWtlIGVsc2V3aGVyZQoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgZmxhY3BhcnNlIHVuaXQgdGVzdAoJICAuLi4gYW5kIHR3ZWFrIHBhcnNlciB0ZXN0IGhlbHBlciBpbiB0aGUgcHJvY2Vzcy4KCjIwMTAtMDktMjkgMTY6MTI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdXBwb3J0IHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGluIHB1bGwgbW9kZSBvciB1cHN0cmVhbSBkcml2ZW4uCgoyMDEwLTA5LTI3IDEyOjE2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGRvbmUgVE9ET3MgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTI1IDE0OjQwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRldGVybWluZWQgc2Vla2FiaWxpdHkgaW4gYW5zd2VyaW5nIFNFRUtJTkcgcXVlcnkKCjIwMTAtMDktMjUgMTQ6MzI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eQoKMjAxMC0wOS0yNSAxMzo1OTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYWMzcGFyc2UgYW5kIG1wZWdhdWRpb3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wOS0yNSAxMzo1OToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICAuLi4gYWRlcXVhdGVseSBlcXVpdmFsZW50IHRvIG1wM3BhcnNlLCBzbyBsZXRzIGJvbGRseSBzZXQgaXQKCSAgdG8gaGlnaGVyIHJhbmsuCgoyMDEwLTA5LTI1IDE0OjAxOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBtaW5pbXVtIGZyYW1lIHNpemUgYXQgX3N0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBvbmUgdGltZSBhdCBfaW5pdC4KCjIwMTAtMDktMjUgMTM6NTA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlX2RhdGEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2VfZGF0YS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgZXhpc3RpbmcgdW5pdCB0ZXN0cyB1c2luZyBjb21tb24gaGVscGVyCgoyMDEwLTA5LTIyIDE1OjA3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZnJhbWVfcHJvcHMgdG8gY29uZmlndXJlIGZyYW1lIGxlYWRfaW4gYW5kIGxlYWRfb3V0CgkgIC4uLiBwcm92aWRlZCBhIGNvcnJlc3BvbmRpbmcgZGVjb2RlciB3aXRoIHN1ZmZpY2llbnQgbGVhZGluZyBhbmQgZm9sbG93aW5nCgkgIGZyYW1lcyB0byBjYXJyeSBvdXQgZnVsbCBkZWNvZGluZyBmb3IgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuCgoyMDEwLTA5LTIyIDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZHVyYXRpb24gdG8gY29uZmlndXJlIGR1cmF0aW9uIHVwZGF0ZSBpbnRlcnZhbAoJICAuLi4gYXMgaXQgbG9naWNhbGx5IGJlbG9uZ3MgdGhlcmUgYXMgb25lIG9yIHRoZSBvdGhlcjsgZWl0aGVyIHN1YmNsYXNzCgkgIGNhbiBwcm92aWRlIGEgZHVyYXRpb24sIG9yIGFuIGVzdGltYXRlIG11c3QgYmUgbWFkZSAocmVndWFybHkgdXBkYXRlZCkuCgoyMDEwLTA5LTIyIDEzOjU1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbG9jYWxpemUgdXNlIG9mIHByb3ZpZGVkIGZwcyBpbmZvcm1hdGlvbgoKMjAxMC0wOS0yMiAxMjoxMzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNlZWsgdGFibGUgYW5kIGFjY3VyYXRlIHNlZWsgc3VwcG9ydAoKMjAxMC0wOS0yMSAxMzo1NzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBhbmQgbW9yZSBleHRlbmRlZCBzZWdtZW50IGFuZCBzZWVrIGhhbmRsaW5nCgkgIFRoYXQgaXMsIGxvb3AgcGF1c2UgaGFuZGxpbmcsIHNlZ21lbnQgc2VlayBzdXBwb3J0LCBuZXdzZWdtZW50IGZvciBnYXBzLCBldGMKCjIwMTAtMDktMjEgMTA6NTc6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgaW5kZXggc3VwcG9ydAoKMjAxMC0wOS0yMSAwOTo1OTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHN0YXRlIHJlc2V0CgoyMDEwLTA5LTIwIDE2OjM5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmRlZmluaXRlIHJlc3luY2luZwoKMjAxMC0wOS0yMCAxMzo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNwZWNpZmljIEVPUyBoYW5kbGluZyBpZiBubyBvdXRwdXQgc28gZmFyCgoyMDEwLTA5LTIwIDEzOjMxOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IF9zZXRfZnJhbWVfcHJvcCBkb2N1bWVudGF0aW9uIGFuZCBzZXQgZGVmYXVsdCBhcyBjbGFpbWVkCgoyMDEwLTA5LTIwIDEzOjMwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGJpdHJhdGUgY29weS1hbmQtcGFzdGUgYW5kIHVwZGF0ZSBoZXVyaXN0aWMKCjIwMTAtMDktMTcgMTg6MzM6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwb3N0IGR1cmF0aW9uIG1lc3NhZ2UgaWYgYXZlcmFnZSBiaXRyYXRlcyBpcyB1cGRhdGVkCgoyMDEwLTA5LTE3IDE4OjI0OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZW1vdmUgaXNfc2Vla2FibGUgdm1ldGhvZCBhbmQgdXNlIGEgc2V0X3NlZWsgaW5zdGVhZAoJICBTZWVrYWJpbGl0eSwgbGlrZSBkdXJhdGlvbiwgZXRjIGlzIHVubGlrZWx5IHRvIGNoYW5nZSAoZnJlcXVlbnRseSksIGFuZAoJICB0aGUgZGVmYXVsdCBhc3N1bXB0aW9uIGNvdmVycyBtb3N0IGNhc2VzLCBzbyBsZXQgc3ViY2xhc3Mgc2V0IHdoZW4gbmVlZGVkLgoJICBBdCB0aGUgc2FtZSB0aW1lLCBhbGxvdyBzdWJjbGFzcyB0byBpbmRpY2F0ZSBpZiBpdCBoYXMgc2Vlay1tZXRhZGF0YSAodGFibGUpCgkgIGF2YWlsYWJsZSwgYW5kIHBvc3NpYmx5IGhhdmUgaXQgcHJvdmlkZSBhbiBhdmVyYWdlIGJpdHJhdGUuCgoyMDEwLTA5LTE3IDE3OjM1OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZGVmYXVsdCBpc19zZWVrYWJsZQoKMjAxMC0wOS0xNyAxNzoyMTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBhbm90aGVyIGhvb2sgZm9yIHN1YmNsYXNzIHByaW9yIHRvIHB1c2hpbmcgYnVmZmVyCgkgIC4uLiBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcGVyZm9ybSBjdXN0b20gc2VnbWVudCBjbGlwcGluZywgb3IgdG8KCSAgZW1pdCB0YWdzIG9yIG1lc3NhZ2VzIGF0IHRoaXMgdGltZS4KCjIwMTAtMDktMTcgMTc6MTk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiAwIGNvbnZlcnRzIHRvIDAgYnkgZGVmYXVsdAoKMjAxMC0wOS0xNiAxODo1Njo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFzZTogcmVmYWN0b3IgY29udmVyc2lvbiB1c2luZyBoZWxwZXIgZnVuY3Rpb24gYW5kIGV4cG9ydCBkZWZhdWx0IGNvbnZlcnQKCjIwMTAtMDktMTYgMTg6MzU6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdHJlYW1saW5lIHF1ZXJ5IGhhbmRsaW5nCgoyMDEwLTA5LTE2IDExOjUxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY2xlYW51cCBzdHJ1Y3QgYW5kIHJlbW92ZSB1bnVzZWQgbWVtYmVyCgoyMDEwLTA4LTE2IDExOjA0OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaW5jcmVhc2UgcmFua3MgdG8gZW5hYmxlIGF1dG8tcGx1Z2dpbmcKCSAgQmVjYXVzZSB3ZSBjYW4sIGFuZCBzaG91bGQsIGhhdmUgc29tZSBzaGFrZWRvd24gdGVzdGluZyBiZWZvcmUgaGF2aW5nCgkgIHRoZXNlIG1ha2UgaXQgaW50byAtZ29vZCBsYXRlciBvbiAuLi4KCjIwMTAtMDktMjIgMTY6MDc6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBBbGxvdyBjaGFpbmluZyBvZiBzdWJjbGFzcyBldmVudCBoYW5kbGVycwoJICBUaGlzIGFsbG93cyB0aGUgY2hpbGQgY2xhc3MgdG8gY2hhaW4gaXRzIGV2ZW50IGhhbmRsZXIgd2l0aAoJICBHc3RCYXNlUGFyc2UsIHNvIHRoYXQgc3ViY2xhc3NlcyBkb24ndCBoYXZlIHRvIGR1cGxpY2F0ZSBhbGwgdGhlIGRlZmF1bHQKCSAgZXZlbnQgaGFuZGxpbmcgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMDktMzAgMTc6NDg6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHRlc3RzOiBGaXggY2FwcyBsZWFrIGluIHRoZSB2YWx2ZSB0ZXN0CgoyMDEwLTA5LTMwIDE3OjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdmFsdmU6IEFkZCB1bml0IHRlc3RzCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgdGhlIHZhbHZlIGVsZW1lbnQuCgoyMDEwLTA5LTMwIDE2OjI2OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIHZhbHZlOiBNYWtlIHRoZSBkcm9wIHZhcmlhYmxlIGludG8gYW4gYXRvbWljLgoJICBVc2luZyBhbiBhdG9taWMgYWxsb3dzIHVzIHRvIGF2b2lkIGxvY2tpbmcgdGhlIHdob2xlIG9iamVjdCBhbGwgdGltZSB0aW1lLgoJICBBcyBzdWdnZXN0ZWQgYnkgU3RlZmFuIEtvc3QuCgoyMDEwLTA5LTMwIDE2OjIyOjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IENvcnJlY3RseSBzZXQgdGhlIERJU0NPTlQgZmxhZyBhZnRlciBkcm9wcGluZyBidWZmZXJzCgoyMDEwLTA5LTMwIDE2OjE2OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IFJlbW92ZSBzdXBlcmZsb3VzIGNoZWNraW5nIGNhc3RzCgoyMDEwLTA5LTMwIDE2OjEzOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IEZpeCBzdHlsZSwgaW1wcm92ZSBjb21tZW50cwoJICBNaW5vciBpbXByb3ZlbWVudHMgdG8gdGhlIGNvbW1lbnRzIGFuZCBicmVhayBhIGZldyBvdmVybHkgbG9uZyBsaW5lcwoKMjAxMC0wOS0zMCAxNjowNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgIEFkZCBhbiBleGFtcGxlIHBpcGVsaW5lLCBhbmQgdHJ5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGl0IGRvZXMuCgoyMDEwLTA5LTI5IDE3OjM0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IHdyb25nbHkgZmFpbCB3aGVuIHN0YXJ0aW5nIGEgY2FwdHVyZQoJICBJZiB0aGUgZWxlbWVudHMgYXJlIGluIE5VTEwvUkVBRFkgYW5kIGNoYW5naW5nIHN0YXRlIHRvCgkgIFBBVVNFRC9QTEFZSU5HIHdoaWxlIGEgY2FwdHVyZSBpcyBzdGFydGVkCgkgIGNhbWVyYWJpbiBtaWdodCBub3Qgc2V0IHRoZSBhY3RpdmVfYmluIHByb3Blcmx5IGNhdXNpbmcgdGhlCgkgIGNhcHR1cmUgc3RhcnQgdG8gZmFpbC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBjaGVja2luZyB0aGUgY3VycmVudCBhbmQgcGVuZGluZyBzdGF0ZQoJICBvZiB0aGUgYnJhbmNoZXMgaW5zdGVhZCBvZiBvbmx5IHRoZSBjdXJyZW50IG9uZQoKMjAxMC0wOS0yOSAxMDoxMzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJldmVyc2UgcGxheWJhY2s7IGNhdGVyIGZvciBkZWNvZGVyIGRlbGF5CgkgIC4uLiB0aGVyZWJ5IGFjdHVhbGx5IHVzaW5nIHRoZSBnYXRoZXIgYW5kIGRlY29kZSBxdWV1ZXMuCgoyMDEwLTA5LTI5IDEwOjA4OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdHdlYWsgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCSAgSW4gcGFydGljdWxhciwgYXZvaWQgcGFja2V0aXNlZCBpbnB1dCBsZWFkaW5nIHRvIGluaXRpYWwgdG8gbm9uLTAgb3V0cHV0IHRzLgoKMjAxMC0wOS0yOCAxNjoyMDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFVzZSBzdGF0aWMgY2FwcyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgc3RyaW5ncyB0byBjYXBzIGFsbCB0aGUgdGltZQoKMjAxMC0wOS0yOCAxNjoxNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEZpeCBjcmFzaGVzIGlmIHBsdWdpbnMgZG9uJ3QgcHJvdmlkZSBjb3JyZWN0IHByb3BlcnR5IGluZm9ybWF0aW9uCgkgIFRoZSB2ZXJ0aWdvIHBsdWdpbiBmb3IgZXhhbXBsZSBjbGFpbXMgdG8gaGF2ZSAzIHByb3BlcnRpZXMgYnV0CgkgIHRoZSAzcmQgcHJvcGVydHkgZG9lcyBub3RoaW5nIGFuZCBoYXMgYSBOVUxMIG5hbWUuCgkgIEZpeGVzIGJ1ZyAjNjMwNzgzLgoJICBUaGFua3MgdG8gTWFydHRpIEvDvGhuZSBmb3IgZGVidWdnaW5nIHRoaXMuCgoyMDEwLTA5LTI4IDE0OjI2OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgZGVmYXVsdDogcGFyc3QgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQgdG8gdGhlIGVuZAoJICBOb3cgc3VyZSBpZiBpdCBtYXR0ZXJzLCBidXQgdGhlIHByZXZpb3VzIGZvcm0gbG9va3Mgd2VpcmVkLgoKMjAxMC0wOS0yOCAxNDoyMzowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIGRlYnVnLWNhdGVnb3J5IHJlZ2lzdHJhdGlvbiB0byB0eXBlIGluaXQKCjIwMTAtMDktMjggMTQ6MjI6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogbW92ZSBkZWJ1Zy1jYXRlZ29yeSByZWdpc3RyYXRpb24gdG8gdHlwZSBpbml0CgoyMDEwLTA5LTI4IDE0OjE3OjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDE0OjE2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHVzZSBiYXNlX2luaXQgZm9yIHBhZF90ZW1wbGF0ZXMgYW5kIGVsZW1lbnRfZGV0YWlscwoKMjAxMC0wOS0yOCAxNDoxNTo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvbiBwcm9wZXJ0aWVzCgoyMDEwLTA5LTI4IDE0OjE1OjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG9uIHByb3BlcnRpZXMKCjIwMTAtMDktMjggMTQ6MDc6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTQ6MDg6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJICB2aWRlb21lYXNzdXJlOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxMTozNTo1MyArMDMwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgcGhvdG9ncmFwaHk6IGV4dGVuZCBwaG90b2dyYXBoeSBpZmFjZQoJICBBZGQgbW9yZSBjb2xvciB0b25lIG1vZGVzIGFuZCBhZGQgTm9zZVJlZHVjdGlvbiBzZXR0aW5ncy4KCSAgRml4ZXMgIzYxNjgxNC4KCjIwMTAtMDktMjYgMjA6NDE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBpbXByb3ZlIGVycm9yIG1lc3NhZ2VzIG9uIHJlYWQgZXJyb3MKCSAgUHJvdmlkZSBpMThuLWVkIGVycm9yIG1lc3NhZ2VzIHdoZW4gYSByZWFkIGVycm9yIGhhcHBlbnMsCgkgIGFuZCBwb2ludCBvdXQgdGhhdCB0aGUgZXJyb3IgY291bGQgYmUgaGFwcGVuaW5nIGJlY2F1c2UgdGhlCgkgIERWRCBpcyBzY3JhbWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2MzMKCjIwMTAtMDktMjQgMDA6MDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNldCBwbHVnaW4gcmVsZWFzZSBkYXRldGltZQoKMjAxMC0wOS0yNSAxMjozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IENhbGwgZ19vYmplY3Rfbm90aWZ5KCkgYWZ0ZXIgdGhlIGZpbmdlcnByaW50IHdhcyBjcmVhdGVkCgoyMDEwLTA5LTI1IDEwOjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IEZpeCBzY2FubmluZyBvZiBwbHVnaW4gc3ViZGlyZWN0b3JpZXMgYW5kIHN1cHBvcnQgZGlmZmVyZW50IHZlbmRvcnMKCSAgVGhlIGZyZWkwciBzcGVjIHNwZWNpZmllcywgdGhhdCBwbHVnaW5zIGNhbiBiZSBpbiBzdWJkaXJlY3RvcmllcyBpbnNpZGUKCSAgdGhlIG1haW4gcGx1Z2luIGRpcmVjdG9yaWVzIHRvIGludHJvZHVjZSBuZXcgbmFtZXNwYWNlcyBjYWxsZWQgdmVuZG9ycy4KCjIwMTAtMDktMjQgMjI6NDc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSAgZnJlaTByOiBVcGRhdGUgZnJlaTByIGludGVyZmFjZSBzcGVjaWZpY2F0aW9uIHRvIDEuMgoKMjAxMC0wOS0yNCAyMjo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEFkZCBzdXBwb3J0IGZvciB0aGUgRlJFSTBSX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgVGhpcyB3YXMgYWRkZWQgaW4gdmVyc2lvbiAxLjIgb2YgdGhlIHNwZWMgYW5kIHJlcGxhY2VzIHRoZSBkZWZhdWx0CgkgIGxpc3Qgb2YgZGlyZWN0b3JpZXMuCgoyMDEwLTA5LTIzIDE0OjE1OjA4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogaW5pdGlhbGl6ZSBpbnRlcnZhbF90cyBhbmQgbGFzdF9mcmFtZXNfKiBjb3VudGVycwoJICBJbml0aWFsaXplIGludGVydmFsX3RzIHRvIGZpcnN0IFFPUyBldmVudCB0aW1lc3RhbXAsIG90aGVyd2lzZSB0aGUKCSAgZnBzIHN0YXRpc3RpY3MgYXJlIHByaW50ZWQgYWx3YXlzIGFmdGVyIG9uZSByZW5kZXJlZCBmcmFtZS4KCSAgQWxzbywgaW5pdGlhbGl6ZSBsYXN0X2ZyYW1lc18qIGNvdW50ZXJzLCB0aGUgdmFsdWVzIGFyZSBib2d1cyBlLmcuIGFmdGVyCgkgIFBMQVlJTkctTlVMTC1QTEFZSU5HIHN0YXRlIGNoYW5nZS4KCjIwMTAtMDktMjQgMTM6Mjk6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTA5LTI0IDEzOjI1OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCBzaWduYWwgYm9pbGVycGxhdGUKCjIwMTAtMDktMjQgMTM6MjQ6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbm8gbmVlZCB0byByZWYgcGFkIGluIF9jaGFpbigpCgoyMDEwLTA5LTIyIDIzOjQxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZTogbWFrZSBnc3QtY2FtZXJhIHVzZSBmbGFncwoJICBFbmFibGUgYWxsIGNvbnZlcnRpb24gZmxhZ3MgaW4gZ3N0LWNhbWVyYSBleGFtcGxlIGFwcAoJICBmb3Igc2FmZXR5LgoJICBGaXhlcyAjNjAzMDYzCgoyMDEwLTA5LTIyIDIzOjM5OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjogQWRkcyBuZXcgdmlkZW8tY29sb3JzcGFjZS1mbGFnIHRvIGZsYWdzCgkgIEFkZHMgYSBuZXcgZmxhZyB0byBhbGxvdyBhIGNvbG9yc3BhY2UgY29udmVydGlvbiBiZWZvcmUKCSAgdGhlIHZpZGVvIGVuY29kZXIgZWxlbWVudC4KCSAgRml4ZXMgIzYwMzA2MwoKMjAxMC0wOS0yMiAyMjozOTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgbGlua19mdWxsIHZlcnNpb24gZm9yIGRpc2FibGluZyBoaWVyYXJjaHkgY2hlY2sKCSAgRGlzYWJsZSBoaWVyYXJjaHkgY2hlY2tzIHdoZW4gbGlua2luZyBiZWNhdXNlIHdlIGFyZSBhbHJlYWR5CgkgIGhhbmRsaW5nIHRoZSBlbGVtZW50IGFkZGluZyB0byBiaW5zIGFuZCBpdCBzaG91bGQgYmUgZG9uZQoJICBjb3JyZWN0bHkuCgoyMDEwLTA5LTIyIDIxOjAzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgcXVldWVzIHRvIHNpbGVudAoJICBXZSBjdXJyZW50bHkgZG9uJ3QgdXNlIHF1ZXVlcycgc2lnbmFscywgc28gc2V0IHRoZW0KCSAgdG8gc2lsZW50LgoKMjAxMC0wOS0yMiAxMTo1NzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBGaXggY2xhc3MgZGVmaW5pdGlvbgoJICBDbGFzcyBzdHJ1Y3R1cmVzIHNob3VsZCBpbmNsdWRlIHBhcmVudCBjbGFzcywgbm90IHRoZSBwYXJlbnQKCSAgaW5zdGFuY2Ugc3RydWN0dXJlLgoKMjAxMC0wOS0yMiAxNjo0MTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogZml4IHdlaXJkIGNhcHMgY29kZQoJICBSZW1vdmUgdGhlIHdlaXJkIChmYWlsaW5nKSBjb2RlIHRvIGZpZ3VyZSBvdXQgY2FwcyBvbiB0aGUgc3JjcGFkLgoJICBBZGQgYSBjYXBzIHByb3BlcnR5IHRvIGRlY2lkZSB3aGF0IGNhcHMgdG8gcHV0IG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoJICBGaXggYW4gZXZlbnQgbGVhay4KCjIwMTAtMDktMjEgMTg6MTM6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBxdWlldCBhIEdTVF9FUlJPUgoKMjAxMC0wOS0yMSAxOTowNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogYWRkIHByb3BlcnR5IHRvIGRpc2FibGUgcmVkaXJlY3QKCSAgQWRkIGEgcHJvcGVydHkgdG8gYXZvaWQgcmVkaXJlY3Rpb24gdG8gdGhlIHJ0c3Atc2RwOi8vIHVybCBidXQgaW5zdGVhZCBlbWJlZHMgYW4KCSAgcnRzcHNyYyBlbGVtZW50IGluc2lkZSBzZHBkZW11eCBhcyB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjbyBCYWxsZXNpby4KCSAgRml4ZXMgIzYzMDA0NgoKMjAxMC0wOS0yMSAxODo0NTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luazogRml4IGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IgdG91Y2h5IGNvbXBpbGVycwoKMjAxMC0wOS0yMSAxODozNDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwZTAyNSB0byA1ZTNjOWJmCgoyMDEwLTA5LTIxIDE2OjMxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsOiBQb3J0IHRvIG5ldyBYT3ZlcmxheSBBUEkKCSAgRml4ZXMgIzYzMDI1MwoKMjAxMC0wOS0yMSAxNjoyNjozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBVc2UgdGhlIG5ldyBYT3ZlcmxheSBBUEkKCSAgRml4ZXMgIzYzMDI1NAoKMjAxMC0wOS0yMSAxMDo1OTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBHc3RYT3ZlcmxheSBmdW5jdGlvbnMKCSAgUmVwbGFjZSB0aGUgZGVwcmVjYXRlZCBnc3RfeF9vdmVybGF5X3NldF94d2luZG93X2lkIHdpdGgKCSAgZ3N0X3hfb3ZlcmxheV9zZXRfd2luZG93X2hhbmRsZQoJICBGaXhlcyAjNjMwMjU1CgoyMDEwLTA5LTIxIDEyOjMzOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGFnYWluIGZvciBHSVQgdmVyc2lvbnMKCjIwMTAtMDktMjEgMTI6Mjk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgZXJyb3Igb3V0IG9uIFVORVhQRUNURUQKCjIwMTAtMDktMjEgMTI6Mjc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOS0yMSAxMjoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE5OjE3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgcGl0Y2gtdGVzdDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR3N0Q29udHJvbGxlciBBUEkKCjIwMTAtMDgtMjcgMTk6MDA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgVU5FWFBFQ1RFRAoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE5OjAwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZmF0YWwgZXJyb3JzCgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkuCgoyMDEwLTA4LTI3IDE4OjU2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICBzZnNpbms6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhcGFyc2U6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiBVTkVYUEVDVEVECgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxODo1MToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgV1JPTkdfU1RBVEUgb3IgVU5FWFBFQ1RFRC4KCjIwMTAtMDgtMjcgMTg6NDk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkgIG5zZjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NDg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NDc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkgIG12ZWRlbXV4OiBBZGQgcHJvcGVyIGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgkgIE5PVF9MSU5LRUQgc2hvdWxkIG9ubHkgYmUgcmV0dXJuZWQgaWYgYWxsIHN0cmVhbXMgcmV0dXJuZWQgTk9UX0xJTktFRC4KCjIwMTAtMDgtMjcgMTg6NDE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWdkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGZpeCBzb21lIG1pbm9yIGlzc3VlcyByZWxhdGVkIHRvIGl0cyB1c2FnZS4KCjIwMTAtMDgtMjcgMTg6MzY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDgtMjcgMTg6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwdXNoIEVPUyBkb3duc3RyZWFtIG9uIFdST05HX1NUQVRFLCBpdCB3aWxsIGJlIGRyb3BwZWQgYW55d2F5LgoKMjAxMC0wOC0yNyAxODozMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE4OjMyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA5LTIwIDIxOjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTWVudGlvbiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgaW4gZG9jcwoJICBBZGQgYSBub3RlIHRvIGRvY3MgYWJvdXQgZ2V0dGluZyB0aGUgdmlkZW9zb3VyY2UgYW5kIGFjY2Vzc2luZwoJICBpdHMgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIChpbiBjYXNlIGl0IGhhcyBpdCkKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wOC0yNSAxNDowNDo1OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzIG1pc3NpbmcgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCSAgQWRkcyBtaXNzaW5nIGFwcF9zcmNfdmlkIGluaXRpYWxpemF0aW9uCgoyMDEwLTA4LTI2IDE1OjMzOjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjaGVjayBzdGF0ZSBjaGFuZ2UgdG8gcGxheWluZyBmb3IgaW1hZ2ViaW4gYW5kIHZpZGVvYmluCgkgIFByb3Blcmx5IGNoZWNrIGFuZCBoYW5kbGUgZXJyb3IgY2FzZXMgcmVsYXRlZCB0byBpbWFnZWJpbiBhbmQKCSAgdmlkZW9iaW4gc3RhdGUgY2hhbmdlcy4KCjIwMTAtMDYtMjggMjE6NDg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1c2VsZXNzIHNyYyB0ZW1wbGF0ZSBwYWQKCSAgY2FtZXJhYmluIGltYWdlYmluIGRvZXNuJ3QgbmVlZCBhIHNyYyB0ZW1wbGF0ZSBwYWQuCgoyMDEwLTA2LTIxIDA5OjM0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGb3J3YXJkIHRhZyBldmVudHMgdG8gcHJldmlldyBwaXBlbGluZQoJICBGb3J3YXJkIHRhZyBldmVudHMgZnJvbSBpbWFnZSBwaXBlbGluZSB0byBwcmV2aWV3IHBpcGVsaW5lIHNvCgkgIHRoYXQgcHJldmlldyBlbGVtZW50cyBjYW4gdXNlIGNhcHR1cmUgdGFncyBpbmZvcm1hdGlvbgoKMjAxMC0wNi0yMSAxNjoxNzoyNCArMDMwMCAgSG9zZW9rIENoYW5nIDxob3Nlb2suY2hhbmdAbm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkICJwcmV2aWV3LXNvdXJjZS1maWx0ZXIiIHByb3BlcnR5CgkgIEFkZHMgJ3ByZXZpZXctc291cmNlLWZpbHRlcicgZm9yIGFkZGluZyBhbiBlbGVtZW50IHRvIHByb2NjZXNzCgkgIHRoZSBwcmV2aWV3IGltYWdlcyBiZWZvcmUgcG9zdGluZyB0aGVtIHRvIHRoZSBidXMuCgoyMDEwLTA1LTI1IDE1OjM5OjQzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHRhZyBuYW1lcyBpbiB0ZXN0IGFwcGxpY2F0aW9uIHRvIGxhdGVzdCBnc3QgZGVmaW5pdGlvbnMKCjIwMTAtMDUtMTcgMTM6NDQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBNYWtlIGJsb2NrLWFmdGVyLWNhcHR1cmUgcmVzZXR0aW5nIG1vcmUgY29uc2lzdGVudAoJICBBZGRzIGFub3RoZXIgYm9vbGVhbiB0byBoZWxwIGNvbnRyb2xsaW5nIHZpZXdmaW5kZXIgYmxvY2tpbmcsCgkgIG1ha2luZyBpdCBwb3NzaWJsZSBmb3IgdGhlIGFwcGxpY2F0aW9ucyB0byByZXNldCB0aGUgdmlld2ZpbmRlcgoJICBibG9ja2luZyBhZnRlciBjYXB0dXJlIHdhcyBzdGFydGVkIGJ1dCBiZWZvcmUgdGhlIGJsb2NraW5nCgkgIGFjdHVhbGx5IGhhcHBlbnMuCgoyMDEwLTA1LTEyIDIxOjExOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVW5ibG9jayB0aGUgdmlld2ZpbmRlciB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFVuYmxvY2sgdGhlIHZpZXdmaW5kZXIgd2hlbiBnb2luZyB0byByZWFkeSB0byBhdm9pZAoJICBibG9ja2luZyB3aGVuIHNldHRpbmcgY2FtZXJhYmluIHRvIHBsYXlpbmcgYWdhaW4gYW5kCgkgIGF0dGVtcGluZyB0byBjYXB0dXJlLiBLZWVwIHRoZSBwcm9wZXJ0eSBhcyBpcy4KCjIwMTAtMDktMjAgMTc6MTk6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbW9uaXRvcmluZyBhbmQgc3VwcG9ydCBmb3IgcGhvdG9pZmFjZSB6b29tIGZvciB2aWRlby1zb3VyY2UKCSAgTWFrZXMgY2FtZXJhYmluIGF3YXJlIG9mIGNoYW5nZXMgaW4gaXRzIHZpZGVvc291cmNlIHpvb20gcHJvcGVydHkuCgoyMDEwLTA5LTIwIDE2OjIyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogQ2hhbmdlIHpvb20gcHJvcGVydHkgZnJvbSBpbnQgdG8gZmxvYXQKCSAgVXBkYXRlcyB6b29tIHByb3BlcnR5IGZvciBhIG1vcmUgbmF0dXJhbCB0eXBlIGFuZAoJICBtYWtlcyBpdCBjb25zaXN0ZW50IHdpdGggdGhlIHBob3RvZ3JhcGh5IEFQSQoKMjAxMC0wOS0xOSAxODo1MTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIHpvb20gcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldC9nZXQgdGhlIHpvb20gYXMgYSBmbG9hdAoKMjAxMC0wNi0wOCAxMDowNDo1MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgY2FjaGluZyBwaG90b2dyYXBoeSBpbnRlcmZhY2Ugc2V0dGluZ3MKCSAgQ2FtZXJhYmluIGRvZXNuJ3QgaW1wbGVtZW50IHBob3RvZ3JhcGh5IGludGVyZmFjZSwgc28gd2UKCSAgZG9uJ3QgbmVlZCBjYWNoaW5nIHRoZSB2aWRlbyBzb3VyY2UgcHJvcGVydGllcyBhbnltb3JlLgoKMjAxMC0wNC0yMiAxNzo0Njo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiB1c2UgcGhvdG9pZmFjZSBwcm9wZXJ0aWVzIHRocm91Z2ggdmlkZW8tc291cmNlCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDQtMjIgMTQ6MDM6MzQgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVtb3ZlIHBob3RvaWZhY2UgcHJvcGVydHkvc2V0dGluZ3MgdGVzdHMKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wOC0zMSAxODowNjoxNSAtMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gZnJvbSBjYW1lcmFiaW4KCSAgUmVtb3ZlIG5vdGlmeSBzaWduYWwgcHJveHkgZm9yIHZpZGVvLXNvdXJjZS4gQXBwbGljYXRpb24gY2FuIHVzZQoJICB2aWRlby1zb3VyY2UgZGlyZWN0bHkgZnJvbSBub3cgb24gdG8gZ2V0IG5vdGlmaWVkIG9mIHByb3BlcnR5IGNoYW5nZXMuCgkgIEFkZCBtb25pdG9yaW5nIHNjZW5lLW1vZGUgcHJvcGVydHkgY2hhbmdlIHRvIHNlbGVjdCBsb3dlc3QgcG9zc2libGUKCSAgZnJhbWVyYXRlIGZvciB2aWRlbyBjYXB0dXJlIHdoZW4gbmlnaHQgbW9kZSBpcyBzZWxlY3RlZC4KCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wNC0yOSAxMjo0NDoyOSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIC0tbm8teHdpbmRvdyBvcHRpb24gYW5kIGZpeCBvcHRpb24gaGFuZGxpbmcKCSAgQWRkIC0tbm8teHdpbmRvdyBvcHRpb24gdG8gbm90IHRvIGNyZWF0ZSB4d2luZG93LiBBbHNvIGZpeCB6b29tIGFuZAoJICBtdXRlIG9wdGlvbiB0eXBlcyBhbmQgZmlsZW5hbWUgc3RyaW5nIGhhbmRsaW5nLgoKMjAxMC0wNC0yOSAxMzoyNDoxOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCBpbWFnZS1wcmV2aWV3LXN1cHBvcnRlZC1jYXBzIGludGVyZmFjZSBwcm9wZXJ0eQoJICBBZGRzIGEgcmVhZGFibGUgcHJvcGVydHkgdG8gZ3N0cGhvdG9ncmFwaHkgaW50ZXJmYWNlIHRvIHF1ZXJ5CgkgIHdoYXQgYXJlIHRoZSBhbGxvd2VkIHByZXZpZXcgY2FwcyBzdXBwb3J0ZWQuCgkgIFBhdGNoIGJ5IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCjIwMTAtMDktMjAgMTI6MzQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTAtMDktMjAgMTE6MjY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgY2hlY2sgZm9yIG9sZCAtYmFzZQoKMjAxMC0wOS0xOSAxOTozMzo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBBZGQgaGFuZGxpbmcgb2YgR3N0Rm9yY2VLZXlVbml0IGV2ZW50cwoKMjAxMC0wOS0xOCAxOToyNTo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEZpeCBuYW1lIG9mIDMwcC82MGkgcGF0dGVybgoKMjAxMC0wOS0xOCAxOToyMTo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBjYXB0dXJlIHBhdHRlcm4gaGFuZGxpbmcKCSAgTW92ZSB0eXBpY2FsIHNjYW5fZm9yX3N5bmMoKSB1c2FnZSBpbnRvIGJhc2UgY2xhc3MsIHdoaWNoIGp1c3QKCSAgY2FsbHMgZ3N0X2FkYXB0ZXJfbWFza2VkX3NjYW5fdWludDMyKCkuCgoyMDEwLTA5LTE4IDE5OjE0OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IGJsb3cgYXdheSBmaWVsZCBpbmZvcm1hdGlvbgoJICBBbHNvLCBzZXQgZmllbGQgZmxhZ3MgY29ycmVjdGx5LgoKMjAxMC0wOS0xOCAxNzoyODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgZGVhZGxpbmUgdG8gZnJhbWUgc3RydWN0dXJlCgoyMDEwLTA5LTE4IDE0OjU3OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIGFsbG93LXJmZiBwcm9wZXJ0eS4gIEZpeCB0aW1lc3RhbXBpbmcKCjIwMTAtMDktMTggMTM6MzI6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBtZXJnZSB0ZWxlY2luZSBpbnRvIG5vcm1hbCBvcGVyYXRpb24KCjIwMTAtMDktMDggMTU6MDg6NTAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHRlbGVjaW5lIHN1cHBvcnQKCjIwMTAtMDktMTcgMDg6NDM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2c6IEFsbG93IGNvbXBpbGF0aW9uIHdpdGhvdXQgb3JjCgkgIEFsc28gZG9uJ3QgaWdub3JlIC0tZGlzYWJsZS1vcmMuIEZpeGVzIGJ1ZyAjNjI5ODk3LgoKMjAxMC0wOS0xNCAxNjoxNzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzIGEgbmV3IHRlc3QgdG8gY2hlY2sgc2VxdWVudGlhbCBjYXB0dXJlIG9mIGltYWdlcwoJICBBZGRzIGEgbmV3IHRlc3QgY2FzZSB0aGF0IHNob290cyBhIHNlcXVlbmNlIG9mIGltYWdlIGNhcHR1cmUKCSAgYW5kIGNoZWNrIHRoYXQgdGhlIGZpbGVzIGFyZSB2YWxpZC4KCSAgQWxzbyBhZGRzIHRhZ2xpc3QgY2hlY2tpbmcgY2FwYWJpbGl0aWVzIHRvIHRlc3RzLgoKMjAxMC0wOS0xNSAxNzo1NDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogRm9sbG93IHhtcCBzZXJpYWxpemF0aW9uIGd1aWRlbGluZXMgY2xvc2VyCgkgIHF0IGFuZCBpc29tIHZhcmlhbnRzIGhhdmUgZGlmZmVyZW50IHdheXMgb2Ygc2VyaWFsaXppbmcKCSAgeG1wLCBmb2xsb3cgdGhlc2UgZ3VpZGVsaW5lcy4KCSAgVGhvc2UgY2FuIGJlIGZvdW5kIGluIEFkb2JlJ3MgeG1wIGRvY3MuCgoyMDEwLTA5LTE1IDIxOjQ3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29sb3JzcGFjZTogYWRkIG9yYy1kaXN0IGZpbGVzCgkgIFNob3VsZCBmaXggYnVpbGQgd2l0aG91dCBvcmMgb3IgdG9vIG9sZCBvcmMuCgoyMDEwLTA5LTE1IDE3OjUxOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IGZpeCB1cCBjb3B5cmlnaHQgaW4gaGVhZGVyIGZpbGUKCjIwMTAtMDktMTIgMTQ6NTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1saWJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWxpYnMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLnBjLmluOgoJICBwa2djb25maWc6IHJlbW92ZSBzb21lIG9sZCB1bnVzZWQgZmlsZXMgZnJvbSAwLjggZGF5cwoKMjAxMC0wOS0xNSAxODozODowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiBhZGQgcmVtb3ZlZCBmaWxlcyB0byBjcnVmdCB2YXJzCgoyMDEwLTA5LTE1IDE4OjEzOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGFkZCBtaXNzaW5nIHN0ZGlvIGluY2x1ZGUKCjIwMTAtMDktMTUgMTg6MTA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS8uZ2l0aWdub3JlOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogcmVtb3ZlIG1ldGFkYXRhIHBsdWdpbgoJICBUaGlzIHBsdWdpbnMgZnVuY3Rpb25hbGl0eSBpcyByZXBsYWNlZCBieSB1dGlsaXR5IGxpYnJhcmllcyBpbiBiYXNlIGZvciBleGlmCgkgIGFuZCB4bXAuIEpwZWcgaW1hZ2VzIGNhbiB1c2UgdGhpcyB2aWEganBlZ2Zvcm1hdCBwbHVnaW4uCgkgIEZpeGVzICM0ODY2NTkKCjIwMTAtMDktMTQgMTE6Mjg6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEFkZCBmb3JtYXQ9Ymdnci9ldGMuIHRvIGNhcHMKCjIwMTAtMDktMTMgMTg6NDk6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb252ZXJzaW9uIGNvZGUKCSAgV29yayBpbiBwcm9ncmVzcy4gIENvbG9yc3BhY2UgaGFuZGxlcyBtb3N0IGZvcm1hdCBjb252ZXJzaW9uIHVzaW5nCgkgIDMtc3RhZ2UgZ2V0bGluZS9tYXRyaXgvcHV0bGluZSBwcm9jZXNzIHVzaW5nIGFuIEFZVVYgb3IgQVJHQgoJICBpbnRlcm1lZGlhdGUsIHdpdGggbW9zdCBmdW5jdGlvbnMgaGFuZGxlZCBieSBPcmMuICBUaGVyZSBpcyBhbHNvCgkgIGEgdGFibGUgb2Ygc2luZ2xlLXBhc3MgY29udmVyc2lvbnMsIGFsbCBoYW5kbGVkIGJ5IE9yYy4gIFRoZSBwbGFuCgkgIGlzIHRvIGFkZCBvcHRpb25hbCBzdGFnZXMgZm9yIHZhcmlvdXMgY2hyb21hIHVwc2FtcGxpbmcvZG93bnNhbXBsaW5nCgkgIGFsZ29yaXRobXMsIGRpdGhlcmluZywgYW5kIGZsb2F0L2ludDE2IGludGVybWVkaWF0ZXMsIGFuZCB0aGVuIGhhdmUKCSAgT3JjIGNyZWF0ZSBtdWx0aS1zdGFnZSBmdW5jdGlvbnMgYXQgcnVudGltZS4KCjIwMTAtMDktMTMgMTI6NDg6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuaDoKCSAgY29sb3JzcGFjZTogUmV2aXZlIGVsZW1lbnQKCSAgTm93IGJhc2VkIG9uIE9yYy4KCjIwMTAtMDktMDkgMTQ6NDk6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGRlZCB0cmFuc2xhdGFibGUgdGV4dCBmb3Igc2VydmVyIG5vdCBmb3VuZCBlcnJvcgoKMjAxMC0wOC0wOSAxNDozMjo1NyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBDaGFuZ2UgYml0cmF0ZSB0byBiaXRzL3NlYwoKMjAxMC0wOS0xMCAxMzozNjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBSZXNldCB0YWdzIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUmVzZXQgdGhlIHRhZ3NldHRlciB0YWdzIHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUKCjIwMTAtMDktMTAgMTM6MzM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoJICBVc2Ugc2FuZXIgY2F0ZWdvcmllcyBmb3IgamlmbXV4L2pwZWdwYXJzZSBlbGVtZW50cwoKMjAxMC0wOS0xMCAxMTozMTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCB0YWdzIHRvIG1vcmUgZWxlbWVudHMKCSAgUmVtb3ZlIGNoZWNrIGZvciAnTXV4ZXInIGNhdGVnb3J5IHdoZW4gc2V0dGluZyB0YWdzCgkgIGZvciB0YWdzZXR0ZXJzLiBTZXQgdGhlbSB0byBhbGwgdGFnc2V0dGVycyBpbiB0aGUKCSAgcGlwZWxpbmVzLgoKMjAxMC0wOS0xMCAxODozNToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZWRpcmVjdCBTRFAgd2l0aCBhbiBydHNwIGNvbnRyb2wgVVJMCgkgIFdoZW4gd2UgZmluZCBhbiBTRFAgd2l0aCBhbiBydHNwOi8vIHVybCBhcyB0aGUgZ2xvYmFsIGNvbnRyb2wgYXR0cmlidXRlIG9yIHdoZW4KCSAgYWxsIHN0cmVhbXMgaGF2ZSBhbiBydHNwOi8vIGNvbnRyb2wgYXR0cmlidXRlLCBwb3N0IGFuIHJlZGlyZWN0IG1lc3NhZ2Ugd2l0aCBhbgoJICBydHNwLXNkcDovLyB1cmwgY29udGFpbmluZyB0aGUgU0RQLgoJICBGaXhlcyAjNjI4MjE0CgoyMDEwLTA5LTEwIDEwOjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEZpeCBidWlsZCB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoJICBBZGQgc29tZSBpZmRlZnMgdG8gcHJldmVudCBidWlsZCBmYWlsdXJlcyBkdWUgdG8gdW51c2VkCgkgIHZhcmlhYmxlcwoKMjAxMC0wOS0wOSAyMzo1OToxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBhbGxvdyBydW5uaW5nIHN0YXRlIHRlc3RzIGZvciBhbGwgZWxlbWVudHMKCSAgTm93IG9uZSBjYW4gdXNlIEdTVF9OT19TVEFURV9JR05PUkVfRUxFTUVOVFM9MSBtYWtlIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgkgIHRvIHRyeSBlbGVtZW50cyB0aGF0IHdvdWxkIG5vcm1hbHkgYmUgc2tpcHBlZC4KCjIwMTAtMDktMDkgMTc6MTg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGRlcGVuZGVuY3kgb24gbGlic3dzY2FsZQoJICBJdCdzIG5vdCB1c2VkIGluIHRoZSBnc3Qgb3BlbmN2IHBsdWdpbi4KCjIwMTAtMDktMDkgMTU6MDM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGRlZmluZSBDVl9OT19CQUNLV0FSRF9DT01QQVRJQklMSVRZIHRvIHN1cHByZXNzIHdhcm5pbmdzIGNhdXNlZCBieSBjb21wYXQgaGVhZGVyCgkgIENvbXBpbGUgd2l0aCAtRENWX05PX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgZm9yIG5vdywgc28gdGhhdCB0aGUgY29tcGF0IGhlYWRlcgoJICBkb2Vzbid0IGdldCBpbmNsdWRlZCwgd2hpY2ggY2F1c2VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQgKGl0IHNlZW1zKSBjYW4ndCBiZQoJICBzd2l0Y2hlZCBvZmYgZWFzaWx5LiBBcyBhIHJlc3VsdCwgd2UgYWxzbyBzcGVjaWZ5IGEgbWF4LiB2ZXJzaW9uIGluIGNvbmZpZ3VyZSwKCSAgc28gdGhlIGJ1aWxkIGRvZXNuJ3QgYnJlYWsgaWYgb3VyIGNvZGUgZG9lc24ndCBjb21waWxlIGFnYWluc3QgbmV3ZXIgb3BlbmN2CgkgIHZlcnNpb25zIGFueSBtb3JlIHdpdGggdGhhdCBmbGFnLgoKMjAxMC0wOS0wOSAxMTowNzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGF2b2lkICd1bnVzZWQnIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggaW5saW5lIGZ1bmN0aW9ucyBpbiBvcGVuY3YgaGVhZGVycwoJICBPdmVycmlkZSBDVl9JTkxJTkUgdG8gYXZvaWQgJ3VudXNlZCcgZ2NjIHdhcm5pbmdzLiBHTGliIHdpbGwgdGFrZSBjYXJlIG9mIGRlZmluaW5nCgkgICdpbmxpbmUnIHN1ZmZpY2llbnRseSBhbmQgT3BlbkNWJ3MgZGVmaW5lIGlzbid0IGdvb2QgZW5vdWdoIHRvIGF2b2lkICd1bnVzZWQnCgkgIGNvbXBpbGVyIHdhcm5pbmdzIChhdCBsZWFzdCBpbiB2ZXJzaW9uIDIuMS4wKS4KCjIwMTAtMDktMDkgMTA6Mjc6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgb3BlbmN2OiB1cGRhdGUgcGx1Z2luIHNvdXJjZSBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbgoKMjAxMC0wOS0wOCAyMzo1OTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEFkZCBtb3JlIHBhcmFtZXRlcnMKCSAgRXhwb3NlIHRoZSBwYXJhbWV0ZXJzIG9mIGN2SGFhckRldGVjdE9iamVjdHMgaW4gZmFjZWRldGVjdAoJICBlbGVtZW50LgoKMjAxMC0wOS0wOCAxNDo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBvcGVuY3Y6IFJlZmFjdG9yIGZpbGVzIHN0cnVjdHVyZQoJICBSZW1vdmUgaW50ZXJuYWwgZm9sZGVycyBhbmQgcHV0IGFsbCBjb2RlIGluc2lkZSB0aGUgbWFpbiBwbHVnaW4KCSAgZm9sZGVyLiBBbHNvIGZpeGVzIHNvbWUgYnVpbGRpbmcgd2FybmluZ3MuCgoyMDEwLTA5LTA4IDAwOjA4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IEFkZHMgbmV3IHBsdWdpbiBvcGVuY3YKCSAgTW92ZXMgb3BlbmN2IHBsdWdpbiBmcm9tIGh0dHA6Ly9naXRodWIuY29tL0VsbGVvL2dzdC1vcGVuY3YKCSAgaW50byAtYmFkIG1vZHVsZS4KCjIwMTAtMDktMDUgMjM6MDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogUG9zdCBhbiB1c2VmdWwgbWVzc2FnZQoJICBBZGQgYSBtZXNzYWdlIHRvIGJlIHBvc3Qgd2hlbiBmYWNlcyBhcmUgZm91bmQgb24gYSBmcmFtZSB0aGF0CgkgIGNvbnRhaW5zIGFsbCBmYWNlcyBvbiBhIHNpbmdsZSBtZXNzYWdlIGFuZCBhbHNvIGhhcwoJICB0aW1lc3RhbXAvcnVubmluZy9zZWdtZW50IHRpbWVzIGZvciB0aGF0IGJ1ZmZlciBzbyBpdAoJICBjYW4gYmUgaWRlbnRpZmllZC4KCSAgVGhpcyBtZXNzYWdlIGlzIGNhbGxlZCAnZmFjZWRldGVjdCcgYW5kIGhhcyBhICdmYWNlcycgbGlzdAoJICBvZiBzdHJ1Y3R1cmVzIHdpdGggYWxsIGZhY2VzLgoJICBUaGUgb2xkICdmYWNlJyBtZXNzYWdlIGlzIHN0aWxsIHBvc3RlZCBmb3IgZWFjaCBmYWNlIGZvdW5kLCBidXQKCSAgaXQgaXMgbm90IHJlYWxseSB1c2VmdWwgYXMgaXQgZG9lc24ndCBoYXZlIGFueSByZWZlcmVuY2UgdG8gdGhlCgkgIGJ1ZmZlciB0aGF0IGdlbmVyYXRlZCBpdC4KCjIwMTAtMDktMDUgMTc6NTM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBVc2UgR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgUG9ydCBmYWNlZGV0ZWN0IHRvIHVzZSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICB0byBpbmhlcml0IGFsbCB0aGUgZ29vZG5lc3MgdGhhdCBHc3RCYXNlVHJhbnNmb3JtL0dzdFZpZGVvRmlsdGVyCgkgIGFscmVhZHkgaGFuZGxlcy4KCjIwMTAtMDktMDMgMjA6Mjc6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJICBvcGVuY3ZiYXNldHJhbnM6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICBQb3J0IGZyb20gR3N0QmFzZVRyYW5zZm9ybSB0byBHc3RWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcy4KCjIwMTAtMDUtMjQgMTk6Mjg6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSAgY3ZsYXBsYWNlOiBhZGRzIG5ldyBjdmxhcGxhY2UgZWxlbWVudAoJICBBZGRzIG5ldyBjdmxhcGxhY2UgZWxlbWVudC4KCSAgQWxzbyBhZGRzIGEgbmV3IG9wZW5jdmJhc2V0cmFuc2Zvcm0gZnVuY3Rpb24gdG8gYmUgb3ZlcnJpZGVuCgkgIGJ5IGNoaWxkcmVuIGNsYXNzZXM6IHRoZSBjdl9zZXRfY2FwcywgaXQgYWxsb3dzIGNoaWxkcmVuIGNsYXNzZXMKCSAgdG8ga25vdyB3aGF0IGFyZSB0aGV5IGdvaW5nIHRvIGhhbmRsZSBhbmQgcHJlcGFyZSBwcm9wZXJseS4KCjIwMTAtMDUtMTkgMjA6MTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkgIEFkZHMgbmV3IGVsZW1lbnQgY3Zzb2JlbAoKMjAxMC0wNS0xNyAxOTowNDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkcyBuZXcgZWxlbWVudCBjdmVxdWFsaXplaGlzdAoKMjAxMC0wNS0xNiAxOToxNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGRzIG5ldyBlbGVtZW50cyBjdmRpbGF0ZSBhbmQgY3Zlcm9kZQoJICBBZGRzIDIgc2ltaWxhciBlbGVtZW50cyAoc28gc2ltaWxhciB0aGV5IGhhdmUgdGhlaXIgb3duIGJhc2VjbGFzcyksCgkgIGN2ZGlsYXRlIGFuZCBjdmVyb2RlLgoKMjAxMC0wNS0xNiAxNzowMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJICBjdnNtb290aDogSW1wcm92ZSBwYXJhbWV0ZXJzIGRvY3MKCjIwMTAtMDUtMTYgMTY6Mzc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSAgY3ZzbW9vdGg6IERlYWN0aXZhdGluZyBibHVyLW5vLXNjYWxlCgkgIERlYWN0aXZhdGUgYmx1ci1uby1zY2FsZSBiZWNhdXNlIGJhc2V0cmFuc2Zvcm0gZG9lc24ndCBwcm92aWRlIGEgd2F5CgkgIHRvIG92ZXJyaWRlIGdldGNhcHMgZm9yIHBhZHMsIGFsd2F5cyB1c2luZyB0ZW1wbGF0ZWNhcHMgaW5kZXBlbmRlbnQKCSAgb2YgcHJvcGVydGllcy4KCjIwMTAtMDUtMTYgMTE6NDI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIGN2c21vb3RoOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctZ3JheQoKMjAxMC0wNS0xNiAwMDo0NjowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgQWRkaW5nIGdzdG9wZW5jdnV0aWxzCgkgIEFkZHMgYSBmaWxlIHRvIGtlZXAgdXRpbGl0YXJ5IGZ1bmN0aW9ucyB0b2dldGhlcgoKMjAxMC0wNS0xMSAyMDoxMTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBjdnNtb290aDogQWRkcyBuZXcgZWxlbWVudCBjdnNtb290aAoJICBBZGRzIG5ldyBjdnNtb290aCBlbGVtZW50CgoyMDEwLTA1LTA1IDAxOjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJICBnc3RvcGVuY3ZiYXNldHJhbnM6IEFkZHMgdGhpcyBuZXcgYmFzZSBjbGFzcwoJICBBZGRzIEdzdE9wZW5jdkJhc2VUcmFuc2Zvcm0gYXMgYmFzZSBjbGFzcyBmb3Igc2ltcGxlIDE6MQoJICBvcGVuY3YgZmlsdGVycwoKMjAxMC0wNC0yNiAxNzoxODo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBBbGxvY2F0ZSBhIG5ldyBidWZmZXIgZm9yIG91dHB1dAoJICBVc2UgYSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIGZvciBvdXRwdXQsIGFuZCByZWxlYXNlIHRoZSBpbnRlcm1lZGlhcnkKCSAgaW1hZ2UgdXNlZC4KCSAgQWxzbyBhZGQgYSBUT0RPIGZvciBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudAoKMjAxMC0wNC0yNiAxNzozNDoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJICBmYWNlYmx1cjogZmFjZWRldGVjdDogdGVtcGxhdGVtYXRjaDogdGV4dHdyaXRlOiBTZXQgYnVmZmVyIHRvIHdyaXRhYmxlCgkgIFRoZXNlIGVsZW1lbnRzIG9wZXJhdGVzIGluIHBsYWNlLCBzZXQgYnVmZmVyIHRvIHdyaXRhYmxlIGJlZm9yZQoJICBvcGVyYXRpbmcuCgoyMDEwLTA0LTI2IDE2OjE3OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IEZpeCBjaGFpbiBidWZmZXIgaGFuZGxpbmcKCSAgQWxsb2NhdGUgYSBuZXcgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBpbnB1dCBidWZmZXIKCSAgcG9pbnRpbmcgdG8gdGhlIGludGVybmFsIGN2Q0VkZ2Ugb3BlbmN2J3MgSXBsSW1hZ2UgZGF0YSwgd2hpY2gKCSAgbWlnaHQgY2hhbmdlLCBjb25zZXF1ZW50bHkgY2hhbmdpbmcgdGhlIGJ1ZmZlci4KCjIwMTAtMDQtMjUgMTY6Mjc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJICBjb25maWd1cmU6IGVuYWJsZSAtV2Vycm9yIHRvIGltcHJvdmUgY29kZQoJICAtV2Vycm9yIG9uIGdpdCB2ZXJzaW9uIGlzIHVzZWZ1bCB0byBrZWVwIGNvZGUgY2xlYW4uCgoyMDEwLTAzLTAyIDEzOjU1OjA1ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBSR0IgY29sb3Vycy4gCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMzoxODoxOSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgInRoaWNrbmVzcyIgb2YgZm9udCAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEyOjQ1OjU4ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHggYW5kIHkgY28tb3JkaW5hdGVzIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTI6NDE6MjUgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBhZGRlZCB0aGUgcHJvcGVyeSBmb3Igc2V0dGluZyB4IGFuZCB5IGNvLW9yZGluYXRlcyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAyLTI4IDE0OjM2OjM1ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIEFwcGx5IFN0ZWZhbidzIGZhY2VibHVyIGZpeGVzIHRvIGZhY2VkZXRlY3QKCjIwMTAtMDItMjggMTQ6MzI6MDAgKzAwMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZCBzaW1wbGUgdGV4dCBvdmVybGF5IHBsdWdpbgoKMjAxMC0wMi0xOSAyMjo1MDoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogZml4IGhhbmRsaW5nIG9mIHByb2ZpbGUgcHJvcGVydHkuCgkgIER1cCBhbmQgZnJlZSB0aGUgc3RyaW5nLiBGaXhlcyBsZWFraW5nIG5ldyB2YWx1ZXMgYW5kIGF2b2lkcyBjcmFzaGluZwoJICBnc3QtaW5zcGVjdC4KCjIwMDktMTItMTggMTE6MjM6NTkgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgRml4IGluY2x1ZGVzIGluIHRlbXBsYXRlIG1hdGNoaW5nIGVsZW1lbnQKCjIwMDktMDUtMjYgMTI6NTk6MDQgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBCcmluZyBjb2RlIGluIHRvIGxpbmUgd2l0aCBnZW5lcmFsIEdzdHJlYW1lciBzdGFuZGFyZHMKCjIwMDktMDUtMjUgMTI6NTc6MTEgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgRml4IHNlZ2ZhdWx0IGluIHRlbXBsYXRlIG1hdGNoIGVsZW1lbnQgaWYgbm8gdGVtcGxhdGUgaGFzIGJlZW4gc2V0IEFkZCB0ZW1wbGF0ZSBtYXRjaGluZyBweXRob24gZXhhbXBsZSBBZGQgYXV0b3Rvb2wsIGxpYnRvb2wgYW5kIHBrZ2NvbmZpZyBkZXBlbmRlbmNpZXMgdG8gZGViaWFuIGNvbnRyb2wgZmlsZQoKMjAwOS0wNS0yNSAxMToyNjoyOCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkIGEgcGx1Z2luIGZvciBhdXRvbWF0aWNhbGx5IGJsdXJyaW5nIGZhY2VzIGluIHZpZGVvcyBhbmQgaW1hZ2VzCgoyMDA5LTA1LTEzIDEyOjE5OjQzICswMzAwICBOb2FtIDxub2FtQGR1YXBvdi4obm9uZSk+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBBZGRlZCBjb250cm9sIGZvciBjaGFuZ2luZyBtZXRob2QKCjIwMDktMDUtMTMgMTE6NTU6MzEgKzAzMDAgIE5vYW0gPG5vYW1AZHVhcG92Lihub25lKT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQWRkZWQgdGVtcGxhdGVtYXRjaCBlbGVtZW50CgoyMDA5LTA1LTA4IDExOjU1OjIwICswNTMwICBrYXBpbCA8a2FwaWxAa2FwaWwtbGFwdG9wLihub25lKT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgUmVnaXN0ZXJpbmcgYWxsIGVsZW1lbnRzIHVuZGVyIG9wZW5jdiBwbHVnaW4KCjIwMDktMDUtMDYgMTU6NDk6NDIgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgRml4IHRoZSBwcm9maWxlIHBhcmFtZXRlciBpbiB0aGUgZmFjZWRldGVjdCBlbGVtZW50IHRvIGFjY2VwdCBhIHN0cmluZyBjb3JyZWN0bHkKCjIwMDktMDUtMDYgMTU6MzM6NDggKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBSZWxlYXNlIE9wZW5DViBpbWFnZXMgd2hlbiBmaW5hbGl6aW5nIGVsZW1lbnRzCgoyMDA5LTA1LTA2IDE2OjM4OjE1ICswNTMwICBrYXBpbCA8a2FwaWxAa2FwaWwtbGFwdG9wLihub25lKT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgRml4ZWQgY29tcGlsZSBlcnJvcnMKCjIwMDktMDQtMjAgMTg6NDA6MTMgKzAzMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgTWFrZSBmYWNlIGRldGVjdCBzZW5kIGEgYnVzIG1lc3NhZ2Ugd2hlbiBhIGZhY2UgaXMgZGV0ZWN0ZWQgV3JpdGUgYSBzaW1wbGUgcHl0aG9uIGV4YW1wbGUgZm9yIGZhY2UgZGV0ZWN0aW9uCgoyMDA5LTA0LTE4IDIzOjQzOjM3ICswMzAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIEFkZCBmYWNlIGRldGVjdGlvbiBlbGVtZW50IENsZWFuIHVwIHNvbWUgZ2VuZXJhdGVkIGZpbGVzIFVwZGF0ZSBhIGZldyBvbGQgY29tbWVudHMKCjIwMDgtMTItMTggMjM6NDg6NDAgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuaW46CgkgICogUmVtb3ZlIHNvbWUgYXV0b3Rvb2xzIGdlbmVyYXRlZCBmaWxlcwoKMjAwOC0xMi0xOCAyMzo0MzozNiArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgKiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCB0aHJlc2hvbGQyIGF0IHJ1bnRpbWUgKiBJbXBsZW1lbnQgcHlyYW1pZCBzZWdtZW50YXRpb24gZWxlbWVudCAqIE1ha2UgbWFza2luZyBvcHRpb25hbCBvbiBlZGdlZGV0ZWN0ICogQ2xlYW4gdXAgZWRnZWRldGVjdCwgYWRkIGVsZW1lbnQgZGV0YWlscyAqIEltcGxlbWVudGVkIGVkZ2UgZGV0ZWN0IGVsZW1lbnQKCjIwMTAtMDktMDggMTY6NTc6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBNYXAgR1NUX1RBR19BTEJVTV9BUlRJU1QKCSAgTWFwIEdTVF9UQUdfQUxCVU1fQVJUSVNUIHRvIFRQRTIgYXMgaXQgaXMgZG9uZSBpbgoJICAtYmFzZSBpZDN0YWcgbWFwcGluZ3MuCgoyMDEwLTA4LTA5IDAwOjE1OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgVXNlIEFHX0dTVF9DSEVDS19HU1RfUExVR0lOU197R09PRCxVR0xZLEJBRCxGRk1QRUd9IG1hY3JvcyBmcm9tIGNvbW1vbgoJICB0byBmaW5kIHBsdWdpbiBkaXJlY3RvcmllcyBmb3IgdGhlIHZhcmlvdXMgbW9kdWxlcyBvdXIgdW5pdCB0ZXN0cyBkZXBlbmQKCSAgb24gaW4gYW4gdW5pbnN0YWxsZWQgZW52aXJvbm1lbnQuIFRoaXMgbWFrZXMgc3VyZSB0aGVzZSBwbHVnaW5zIGFyZSBmb3VuZAoJICBldmVuIHdoZW4gZGlzdGNoZWNraW5nICh3aGljaCBoYXBwZW5zIGZyb20gYSBzdWJkaXJlY3RvcnksIHdoaWNoIG1lYW5zCgkgIHRoYXQgdGhlIGN1cnJlbnRseSB1c2VkIHRyaWNrIHRvIGZpbmQgdGhlIHVuaW5zdGFsbGVkIGRpcmVjdG9yaWVzIG9mCgkgIHRoZXNlIG1vZHVsZXMgZG9lc24ndCB3b3JrIGluIHRoYXQgY2FzZSkuCgoyMDEwLTA5LTA3IDE5OjE2OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyBzZ21sIGZpbGUgYSBiaXQKCjIwMTAtMDktMDcgMTU6MjI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGRvY3M6IGFkZCAyIG5ldyBmaWxlcyB0byBnaXRpZ25vcmUKCSAgQWRkcyBnc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldyBhbmQKCSAgZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXcgdG8gLmdpdGlnbm9yZQoKMjAxMC0wOS0wNyAxNDo0NToxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBNYWtlIGl0IG1vcmUgY29sb3JzcGFjZSBzbWFydAoJICBUaGlzIG1ha2VzIGl0IGFibGUgdG8gcmVjb21iaW5lIHJnYiBpbWFnZXMsIG1ha2luZyBpdCBwb3NzaWJsZQoJICB0byBhZGQgdGFncyB0byByZ2IganBlZ3MgYXMgd2VsbC4KCSAgVXNlcyBhIHNpbXBsZSBzdHJhdGVneSB0byBjaGVjayB3aGF0IGFyZSB0aGUgcG9zc2libGUgY29sb3JzcGFjZXMKCSAgYW5kIGF2b2lkIGFkZGluZyBqZmlmIHRvIG9uZXMgdGhhdCBhcmVuJ3QgWVVWL0dyYXkuCgoyMDEwLTA5LTA3IDEwOjI2OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3RzIGZvciBuZXcgcHBpIHRhZ3MKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayBpZiBsaWJleGlmIGNhbiByZWFkIG91cgoJICBFWElGX1RBR19YL1lfUkVTT0xVVElPTiB0YWdzLgoKMjAxMC0wOS0wNyAxMzoyODoyMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBGaXggZWxlbWVudCBkZXRhaWxzCgoyMDEwLTA5LTA3IDExOjQyOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzJlMTBiZiB0byBhYTBkMWQwCgoyMDEwLTA5LTA3IDExOjM0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YSBmb3IgcmVjZW50IGNoYW5nZXMKCjIwMTAtMDktMDcgMTE6Mjg6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgIGRvY3M6IHJlbW92ZSBpbnRyb3NwZWN0aW9uIGZpbGVzIGZvciBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1lcmdlZCwgbW92ZWQgb3IgcmVuYW1lZAoJICBUaGUgYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UgcGx1Z2lucyBoYXZlIGJlZW4gbWVyZ2VkIGludG8gdGhlIGF1ZGlvcGFyc2Vyc2JhZAoJICBwbHVnaW4uIFRoZSBhaWZmcGFyc2UgcGx1Z2luIGhhcyBiZWVuIHJlbmFtZWQgdG8gYWlmZiBzaW5jZSBpdCBhbHNvIGNvbnRhaW5zIGFuCgkgIGFpZmYgbXV4ZXIgbm93LiBUaGUgYW1yd2IgcGx1Z2luIGhhcyBiZWVuIHJlbmFtZWQgdG8gYW1yd2JlbmMuIFRoZSBkdmJzcmMgcGx1Z2luCgkgIGhhcyBiZWVuIHJlbmFtZWQgdG8gZHZiLiBUaGUgZ3N0cnRwbWFuYWdlciBwbHVnaW4gaGFzIG1vdmVkIHRvIC1nb29kLiBUaGUgeDI2NAoJICBwbHVnaW4gaGFzIG1vdmVkIHRvIC11Z2x5LiBBbmQgdGhlIG1wZWd0c3BhcnNlIHBsdWdpbiBoYXMgYmVlbiBtZXJnZWQgaW50byB0aGUKCSAgbXBlZ2RlbXV4MiBwbHVnaW4uCgoyMDEwLTA5LTA3IDAwOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGRpc3RjaGVjayBieSBkaXN0aW5nIG5ldyBqYWNrIGV4YW1wbGUgZGlyZWN0b3J5CgkgIEFsc28gYWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDEwLTA5LTA2IDE3OjE3OjU0IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGV4YW1wbGVzOiBhZGQgdGVzdCB0byBkZW1vbnN0cmF0ZSBqYWNrX2NsaWVudF90IHVzYWdlCgoyMDEwLTA5LTA2IDE2OjExOjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGRlZCBjbGllbnQgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6MjY6MDcgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBqYWNrOiByZW1vdmVkIHVudXNlZCBmaWxlIGdzdGphY2tiaW4uYwoJICBUaGlzIGlzIGEgMC44IGxlZnRvdmVyLgoKMjAxMC0wOS0wNiAxNDoxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5vbi1USU1FIHNlZWsgZXZlbnQgaXMgc2ltcGx5IG5vdCBoYW5kbGVkCgoyMDEwLTA5LTA2IDA5OjI4OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBCdW1wIC1jb3JlLy1iYXNlIHJlcXVpcmVtZW50cyB0byAwLjEwLjMwLjEKCSAgV2UgbmVlZCAwLjEwLjMwLjEgdG8gaGF2ZSBsYXRlc3QgdGFncyBpbiBjb3JlL2Jhc2UgZm9yIGppZm11eAoJICB0ZXN0cy4KCjIwMTAtMDgtMjYgMDI6NTQ6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IE1ha2UgdGhlIGR0bWZzcmMgYWNjZXB0IGV2ZW50cyBzZW50IHdpdGggZ3N0X2VsZW1lbnRfc2VuZF9ldmVudAoJICBUaGUgZG9jIHNheXMgdG8gdXNlIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQgb24gdGhlIHBpcGVsaW5lLCBidXQgaWYKCSAgd2UgYXJlIHRvIGNhbGwgaXQgb24gdGhlIGVsZW1lbnQgaXRzZWxmLCBpdCdzIGEgbm9vcC4gVGhpcyBzaG91bGQgbWFrZSBpdAoJICBoYW5kbGUgdGhlIGV2ZW50IHByb3Blcmx5IGJlZm9yZSBkZWxlZ2F0aW5nIGl0IHRvIGJhc2VzcmMuCgoyMDEwLTA5LTA1IDE2OjMwOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzZXQgbmV3IGZyYW1lcmF0ZSBvbiBvdXRwdXQgY2FwcyBpbnN0ZWFkIG9mIGlucHV0IGNhcHMKCSAgSXQncyBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIGNhcHMgcHJvdmlkZWQgYnkgdGhlIHNldGNhcHMgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjgzMjYKCjIwMTAtMDktMDYgMDM6MjM6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVGFrZSBwYXJhbWV0ZXJzIG9uIGNvbW1hbmQgbGluZQoJICBOb3cgaXQncyBhY3R1YWxseSB1c2VmdWwuCgoyMDEwLTA5LTA2IDAzOjA0OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMDYgMTA6Mjk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogVXNlIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiAlbGx1CgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzLgoKMjAxMC0wOS0wNiAxMTowMzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3Rvcjogc3luYyB3aXRoIGNvcHkgaW4gLWJhc2UKCSAgVXNlIF9nZXRfY2Fwc19yZWZmZWQgdG8gYXZvaWQgY29waWVzLgoKMjAxMC0wOC0yNCAxMTo1MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBtb3ZlIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMC0wOC0yNCAxMTo1MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0yNCAxMToyNjo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGRvbid0IGFkZCBhIGdfbWFpbmxvb3AgZGVwZW5kZW5jeQoJICBKdXN0IHVwZGF0ZSB0aGUgZnBzLW1lc3NhZ2UgZnJvbSB0aGUgcHJvYmUgaGFuZGxlci4KCjIwMTAtMDgtMTggMTE6MzU6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBzbWFsbCBjbGVhbnVwCgkgIEFkZCBvbmUgb25lIGV4YW1wbGUgYW5kIGxvd2VyIHRoZSBmb24ndCBzaXplIGZvciB0aGUgb3ZlcmxheS4KCjIwMTAtMDgtMjMgMDk6NTE6MjUgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBtZWFzdXJlIGZwcyBpbiB0ZXJtcyBvZiB3YWxsIGNsb2NrIHRpbWUKCSAgTWVhc3VyZSBmcHMgaW4gdGVybXMgb2Ygc3lzdGVtIGNsb2NrLCByYXRoZXIgdGhhbiBwaXBlbGluZSBjbG9jaywgdG8gZ2V0CgkgIGFuIGFjY3VyYXRlIG1lYXVyZSBvZiBmcHMuCgoyMDEwLTA5LTA1IDIyOjQxOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSAgY2hlY2tzdW1zaW5rOiBBZGQgbmV3IGVsZW1lbnQKCjIwMTAtMDktMDUgMjI6MzA6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBzc2ltOiBBZGQgSTQyMCBzdXBwb3J0CgoyMDEwLTA5LTA1IDIxOjM0OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIG1vcmUgZm9ybWF0cwoKMjAxMC0wOS0wNSAxODo1ODozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzZDlhY2YgdG8gYzJlMTBiZgoKMjAxMC0wOS0wNSAyMzo0MDowOCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXc6CgkgIFJlbW92ZSAubmV3IGRvY3MgZmlsZXMgZnJvbSB0aGUgcmVwb3NpdG9yeQoKMjAxMC0wOS0wNSAxNTozNDoxMyAtMDcwMCAgSm9uYXRoYW4gUm9zc2VyIDxqb25hdGhhbi5yb3NzZXJAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggY29nX3ZpcnRfZnJhbWVfbmV3X2NvbnZlcnRfdTgoKQoJICBDb252ZXJzaW9uIHdhcyB1c2luZyB1bmluaXRpYWxpemVkIGRhdGEgaW5zdGVhZCBvZiBzb3VyY2UgZnJhbWUuCgkgIEZpeGVzICM2MjY0MjUuCgoyMDEwLTA5LTA1IDEyOjA2OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJICBjb2c6IEZpeCBnZW5lcmF0ZWQgT3JjIGNvZGUKCSAgQWxzbyBkcm9wIHJlcXVpcmVkIE9yYyBiYWNrIGRvd24gdG8gMC40LjcuCgoyMDEwLTA4LTMwIDIxOjIyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgamlmbXV4IGluc3RlYWQgb2YgbWV0YWRhdGFtdXgKCSAgVXNlIGppZm11eCBlbGVtZW50IHRvIHdyaXRlIGV4aWYveG1wIHRhZ3MgaW5zdGVhZCBvZiBtZXRhZGF0YW11eAoKMjAxMC0wOC0zMCAyMToyMTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBuZXcgdGFncyBmcm9tIC1iYXNlCgkgIFJlcGxhY2UgcHJpdmF0ZSB0YWdzIGZyb20gbWV0YWRhdGEgcGx1Z2luIHdpdGggdGhlIG5ldyBnZW5lcmljIHRhZ3MKCSAgZnJvbSAtYmFzZS4KCjIwMTAtMDktMDMgMTQ6MTI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVmYWN0b3IgdGVzdHMKCSAgVGhlIHRlc3RzIHdlcmUgZG9uZSBpbiAyIHN0ZXBzLCBmaXJzdCB0aGVyZSB3YXMgYSBzdWl0ZQoJICB0aGF0IGdlbmVyYXRlZCB0aGUgZmlsZXMgKHdoaWxlIGNoZWNraW5nIHRoYXQgY2FtZXJhYmluCgkgIHdhcyBvcGVyYXRpbmcgY29ycmVjdGx5KS4gVGhlbiB0aGVyZSB3YXMgYSBzZWNvbmQgc3VpdGUKCSAgdGhhdCB3YXMgcnVuIHRvIGNoZWNrIHRoYXQgYWxsIGZpbGVzIHdlcmUgcGxheWFibGUgd2l0aAoJICBwbGF5YmluMi4gVGhvc2Ugc2Vjb25kIHRlc3RzIHdlcmUgbm90IGJlaW5nIHJ1biBiZWNhdXNlCgkgIHRoZXkgd2VyZSBjaGVja2luZyBpZiBjYW1lcmFiaW4gd2FzIGluaXRpYWxpemVkLCBhbmQgaXQKCSAgbmV2ZXIgd2FzIGFzIHRob3NlIHRlc3RzIGRpZG4ndCB1c2UgYSAnc2V0dXAnIGZ1bmN0aW9uLgoJICBUaGlzIGNvbW1pdCByZWZhY3RvcnMgdGhlIHRlc3RzIGJ5IHJlbW92aW5nIHRoaXMgc2Vjb25kCgkgIHN1aXRlIGFuZCBtZXJnaW5nIGl0cyB2YWxpZGF0aW9uIHdpdGggdGhlIGZpcnN0IHN1aXRlJ3MKCSAgZnVuY3Rpb25zLgoKMjAxMC0wOC0yNCAxNDo0Mzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyBnZW8gbG9jYXRpb24gdGFncyB0ZXN0cwoJICBBZGRzIHNvbWUgbW9yZSB0ZXN0cyBmb3IgZ2VvIGxvY2F0aW9uIHRhZ3MuCgkgIEFsc28gdXNlIGxpYmV4aWYgY29uc3RhbnRzIGZvciB0aGUgZXhpZiB0YWdzJyBpZHMuCgoyMDEwLTA4LTI0IDA5OjAyOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBSZWZhY3RvciB0ZXN0aW5nIGNvZGUgYSBsaXR0bGUKCSAgUmVmYWN0b3IgdGVzdGluZyBjb2RlIHRvIGFsbG93IHRlc3RpbmcgZm9yIGNhc2VzIHdoZXJlIHRoZQoJICBzYW1lIGdzdHJlYW1lciB0YWcgaXMgbWFwcGVkIHRvIG11bHRpcGxlIGV4aWYgdGFncy4KCjIwMTAtMDgtMjMgMTE6NTc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IE1vcmUgdGVzdHMgZm9yIGV4aWYgdGFncwoJICBSZWZhY3RvcnMgc29tZSBjb2RlIGFuZCBhZGQgc29tZSBtb3JlIHRlc3RzIGZvciBleGlmIHRhZ3MKCjIwMTAtMDktMDIgMTE6MTg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRG8gbm90IGxpbWl0IHRoZSBzaXplIG9mIHRoZSBpbWFnZSBvbiAxNmJpdHMKCSAgVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQxNiB0byByZXByZXNlbnQgdGhlIHNpemUgb2YgdGhlIGVuY29kZWQgaW1hZ2UsCgkgIHRoaXMgd291bGQgbWFrZSBzb21lIHJlY29tYmluZWQgaW1hZ2VzIGxvc2UgbW9zdCBvZiB0aGVpciBkYXRhIGFuZAoJICBzaG93IGxpa2UgYSBiaWcgYmxhY2sgaW1hZ2Ugd2l0aCBhIHNtYWxsIGxpbmUgb2YgY29udGVudCBvbiB0b3AuCgkgIEFsc28gYWRkcyBhIG1pbm9yIGxvZyBtZXNzYWdlLgoKMjAxMC0wOC0yMSAxNzowMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkgIGppZm11eDogU2V0IG91dHB1dCBwYWQgY2FwcwoJICBTZXQgb3V0cHV0IHBhZCBjYXBzIHRvIGd1YXJhbnRlZSBjYXBzIG9uIHRoZSBidWZmZXJzIGJlaW5nCgkgIHB1c2hlZCBkb3duc3RyZWFtLgoKMjAxMC0wOC0yMCAwODozNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEZXRlY3QgRU9JIGNvcnJlY3RseQoJICBFT0kgYXJlIG5vdCBhbHdheXMgYXQgdGhlIGxhc3QgNCBieXRlcy4gV2UgbmVlZCB0byBzZWFyY2gKCSAgdGhlIGxhc3QgNSBieXRlcyB0byBmaW5kIHRoZSAweEZGRDkgc2VxdWVuY2UgYXMganBlZ2VuYyBzZWVtcwoJICB0byByb3VuZCB0aGUgYnVmZmVyIHNpemUgdG8gdGhlIG5leHQgNCBtdWx0aXBsZS4KCjIwMTAtMDgtMTkgMjI6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUHV0IEFQUDAgZmlyc3QgYWx3YXlzCgkgIEZpeGVzIHRoZSBvcmRlciBvZiB0aGUgQVBQMC9BUFAxIG1hcmtlcnMuIEFQUDAgc2hvdWxkCgkgIGJlIGZpcnN0LgoKMjAxMC0wOS0wMiAwMTozMjoxMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBwYXJzZSAicGl4ZWwtYXNwZWN0LXJhdGlvIiBmcm9tIHN0cmVhbQoKMjAxMC0wOS0wMiAwMTowNDoxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIG5vbiB3b3JraW5nIHVudXNlZCBjb2RlIGZyb20gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wOS0wMiAwMDoxNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IEdzdEJhc2VWaWRlb0RlY29kZXIgc2V0IGRlZmF1bHQgcGFyIHRvIDEvMQoKMjAxMC0wOS0wMSAyMzo0NzoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2dldF9jdXJyZW50X2ZyYW1lCgkgIHdlIG5vdyBwYXNzIHRoZSBjdXJyZW50IGZyYW1lIHRvIEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhcnNlX2RhdGEKCSAgYWxzbyBmaXh1cCBzb21lIGVycm9ycyBpbiB2ZHBhdW1wZWc0ZGVjIHNvIHRoYXQgaXQgbm93IGdpdmVzIGNvcnJlY3Qgb3V0cHV0CgoyMDEwLTA5LTAxIDIyOjAzOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJICB2ZHBhdTogcmV3b3JrIEdzdEJhc2VWaWRlb0RlY29kZXIgdGltZXN0YW1waW5nCgkgIHRpbWVzdGFtcHMgYXJlIG5vdyBjaG9zZW4gaW4gdGhlIGZvbGxvd2luZyBvcmRlcjoKCSAgdXBzdHJlYW0gLT4gcGFyc2VkIGJ5IGRlY29kZXIgLT4gY2FsY3VsYXRlZCBmcm9tIHRpbWVzdGFtcCBvZmZzZXQKCSAgd2UgYWxzbyBjaGVjayB0aGUgdGltZXN0YW1wcyBzdXBwbGllZCBmcm9tIHVwc3RyZWFtL2RlY29kZXIgdG8gc2VlIGlmIHRoZXkKCSAgYXRsZWFzdCBpcyBpbmNyZWFzaW5nLgoKMjAxMC0wOS0wMSAxNzo0NToxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IGludmFsaWQgdW5yZWYKCjIwMTAtMDktMDUgMTI6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzYwMjE3IHRvIGQzZDlhY2YKCjIwMTAtMDktMDUgMTE6NDU6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjguMQoJICAwLjQuNyBjcmVhdGVzIGNvZGUgd2l0aCB1bmF2YWlsYWJsZSBzeW1ib2xzCgkgIDAuNC44IGNyZWF0ZXMgYnVnZ3kgY29kZQoJICBMZXQncyB1c2UgZ2l0IGhlYWQgb2Ygb3JjICh3aGljaCBzdGlsbCB3b24ndCB3b3JrIGJlY2F1c2UgZ2l0IGhlYWQKCSAgb2Ygb3JjIHN0aWxsIGNsYWltcyB0byBiZSAwLjQuOCkKCSAgVGhpcyBhbGxvd3MgYWxsIHRoZSByZXN0IG9mIC1iYWQgdG8gYnVpbGQgcHJvcGVybHkuCgoyMDEwLTA3LTE0IDIxOjAwOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIChnY2MgNC40LjQpCgoyMDEwLTA5LTA0IDExOjM1OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJICBjb2c6IHVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDEwLTA4LTI2IDIyOjAzOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luazogUmUtZW5hYmxlIFlWWVUgYW5kIFVZVlkKCSAgWVZZVSBvbiBteSBtYWNoaW5lIGFwcGVhcnMgdG8gYmUgZG9pbmcgc29mdHdhcmUgY29udmVyc2lvbgoJICAoYW5kIGRvaW5nIGl0IGluY29ycmVjdGx5KS4KCjIwMTAtMDgtMjYgMjA6MTU6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBjb25zdHJ1Y3QgZWxlbWVudCBuYW1lcwoKMjAxMC0wOC0yMiAyMTo0MzoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogbmV3IGVsZW1lbnQKCjIwMTAtMDgtMjAgMTc6MjQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiBBZGQgZmFzdCBwYXRocyBmb3IgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDEwLTA4LTIwIDE3OjIzOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIE9yYyAwLjQuNwoKMjAxMC0wOC0xMyAyMTo1ODowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkgIGVsZW1lbnQtbWFrZXI6IEZpeCB1cCBHc3RFbGVtZW50CgoyMDEwLTA4LTEzIDIxOjU0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogSW1wcm92ZW1lbnRzIGluIGNvbG9yc3BhY2UgYW5kIHNjYWxlcgoJICBBZGQgZmFzdCBwYXRocyBmb3IgWVVWLT5ZVVYgY29udmVyc2lvbnMgYW5kIE9yYyBjb2RlIGZvciBhbGwuCgkgIFVzZSBPcmMgZm9yIGhvcml6b250YWwgcmVzYW1wbGluZy4KCjIwMTAtMDYtMTEgMTQ6Mzk6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogbWlub3IgY2xlYW51cHMKCSAgSW1wcm92ZSBlbGVtZW50IGRlc2NyaXB0aW9ucywgcmVtb3ZlIHVudXNlZCBmaWxlcywgY29kZSBjbGVhbnVwLgoKMjAxMC0wOS0wMyAxMDowMzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKMjAxMC0wOS0wMSAyMjowNTo0MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogSW5pdGlhbGl6ZSBQRVMgcGFja2V0IGJlZm9yZSBnZXR0aW5nIHRoZSBoZWFkZXIgc2l6ZS4KCSAgVGhlIFBFUyBoZWFkZXIgbGVuZ3RoIGlzIGNhbGN1bGF0ZWQgYmVmb3JlIHNldHRpbmcgdGhlIGR5bmFtaWMgZmxhZ3MsIHJldHVybmluZwoJICBhIHdyb25nIHZhbHVlLiBTbWFsbCBmcmFtZXMgdGhhdCBzaG91bGQgYmUgc2VudCBpbiBhIHNpbmdsZSBUUyBwYWNrZXQgYXJlCgkgIHNwYXduZWQgdG8gYSBuZXcgcGFja2V0IGJlY2F1c2Ugb2YgdGhhdCBlcnJvci4gRm9yIGF1ZGlvIHN0cmVhbXMgd2hlcmUgYSBzaW5nbGUKCSAgZnJhbWUgY2FuIGNvcGUgaW4gb25lIFRTIHBhY2tldCBpdCBpbnRyb2R1Y2VzIGEgaHVnZSBvdmVyaGVhZC4KCSAgRm9yIGEgMTAwQiBwYWNrZXQsIHdlIHByZXBhcmUgYSBUUyBwYWNrZXQgd2l0aCBhIHBheWxvYWQgb2YoMTAwKzkpQi4gVGhlbiwgd2UKCSAgd3JpdGUgdGhlIFRTIGhlYWRlciB1c2luZyB0aGlzIHZhbHVlIGluIHRzbXV4X3dyaXRlX3RzX2hlYWRlciwgYW5kIGNhbGwKCSAgdHNtdXhfc3RyZWFtX2dldF9kYXRhKCkuIFRoZSBkeW5hbWljIGZsYWdzIHdoZXJlIG5vdCBzZXQgeWV0IGFuZCBub3cKCSAgdHNtdXhfc3RyZWFtX3Blc19oZWFkZXJfbGVuZ3RoKCkgcmV0dXJucyAxNEIgaW5zdGVhZCBvZiA5Qi4gVGhlIHBheWxvYWQgb2YgdGhlCgkgIFRTIHBhY2tldCBpcyAxMTRCLCA1QiBtb3JlIHRoYW4gd2hhdCB3YXMgY2FsY3VsYXRlZC4gMTA5QiBhcmUgc2VudCBpbiBhIGZpcnN0CgkgIHBhY2tldCBhbmQgdGhlIHJlbWFpbmluZyA1QiBhcmUgc2VudCBpbiBhbm90aGVyIG9uZS4KCSAgRml4ZXMgYnVnICM2Mjg1NDguCgoyMDEwLTA5LTAyIDEwOjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBDbGFzc2lmeSBhcyBGaWx0ZXIvQ29udmVydGVyL1ZpZGVvIGluc3RlYWQgb2YgZWZmZWN0CgkgIEZpeGVzIGJ1ZyAjNjI4NTcwLgoKMjAxMC0wOS0wMSAxODozMDoxNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IFVzZSBjb3JyZWN0IGVsZW1lbnQgY2xhc3NpZmljYXRpb24KCSAgVGhpcyBpcyBubyBlZmZlY3QgYnV0IGFuIGFuYWx5emVyLiBGaXhlcyBidWcgIzYyODUyNy4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDEwLTA5LTAzIDAwOjIzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIwCgoyMDEwLTA5LTAzIDAwOjIxOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciByZWxlYXNlCgoyMDEwLTA5LTAzIDAwOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3NsLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOS0wMyAwMDowMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgZG9hcDogcmVmZXJlbmNlIGdpdCByZXBvc2l0b3J5IGluc3RlYWQgb2YgQ1ZTIHJlcG9zaXRvcnkKCjIwMTAtMDktMDIgMjI6Mzk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBmaXggd3JvbmcgdXNlIG9mIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDEwLTA4LTMwIDE2OjAxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS41IHByZS1yZWxlYXNlCgoyMDEwLTA4LTMwIDE1OjIwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBEb24ndCBpbnN0YWxsIGdzdC1jYW1lcmEudWkKCSAgVGhlIGV4YW1wbGVzIGFyZSBub3QgbWVhbnQgdG8gYmUgaW5zdGFsbGVkIGFuZCB0aGUgZXhlY3V0YWJsZXMgb2YKCSAgdGhlbSBhcmUgbm90IGluc3RhbGxlZCBhbnl3YXkuCgkgIEZpeGVzIGJ1ZyAjNjI3OTE4LgoKMjAxMC0wOC0yNSAyMjo1NjowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5sb2NrIHRoZSByaWdodCBtdXRleAoJICBUaGUgbXV0ZXggbG9ja2VkIGlzIGZvciB0aGUgJ211eCcgb2JqZWN0LCBidXQgd2UgdW5sb2NrIHRoZQoJICBwYWQsIHdoaWNoIG1lYW5zIHRoYXQgaWYgdGhlIHJ0cG11eCBnZXRzIGEgZmx1c2gsIHRoZW4gdGhlCgkgIG9iamVjdCBsb2NrIHdpbGwgc3RheSBsb2NrZWQgZm9yZXZlciwgY2F1c2luZyBpdCB0byBmcmVlemUKCSAgdGhlIG5leHQgdGltZSBpdCB0cmllcyB0byB0YWtlIGl0LgoJICBGaXhlcyBidWcgIzYyNzk5MQoKMjAxMC0wOC0yNyAxNTo0OTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEJ1bXAgbmVvbiByZXF1aXJlbWVudCB0byAwLjI3LjAKCSAgTmVlZGVkIGluIG9yZGVyIHRvIGhhdmUgbmVfc2V0X2Nvbm5lY3RfdGltZW91dAoJICBGaXhlcyBidWcgIzYyNTA3NgoKMjAxMC0wOC0yMSAyMTo0MjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTYgMTI6MzY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdXRvZGV0ZWN0IG91dC1vZi1vcmRlciBpbnB1dCB0aW1lc3RhbXBzIGFuZCBkZXRlcm1pbmUgRFRTIGFjY29yZGluZ2x5CgkgIEZhdm91ciB1c2luZyBpbnB1dCBidWZmZXIgdGltZXN0YW1wcyBmb3IgRFRTLCBidXQgZmFsbGJhY2sgdG8gdXNpbmcgYnVmZmVyCgkgIGR1cmF0aW9uIChhY2N1bXVsYXRpb24pIGlmIGlucHV0IHRzIGRldGVjdGVkIG91dC1vZi1vcmRlci4KCSAgRml4ZXMgIzYyNDIxMi4KCjIwMTAtMDgtMjAgMTE6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQXZvaWQgcmVjb21iaW5pbmcgUkdCIGpwZWdzCgkgIEpGSUYgb25seSBhbGxvd3MgWVVWIGFzIGNvbG9yc3BhY2UsIHdoZW4gd2UgcmVjZWl2ZSBhbiBSR0IganBlZywKCSAgd2Ugc2hvdWxkIGp1c3QgcHVzaCBpdCBmb3J3YXJkIHdpdGhvdXQgYWRkaW5nIHRoZSBKRklGIG1hcmtlci4KCSAgRml4ZXMgIzYyNzQxMwoKMjAxMC0wOC0xMyAxNDozNDoyMSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2V0IEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhY2tldGl6ZWQgdG8gVFJVRSBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFRoaXMgZml4ZXMgYW4gaW5maW5pdGUgbG9vcCBpZiBhbiBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgYmVmb3JlCgkgIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0KCkgaXMgY2FsbGVkLCBlLmcuIGltbWVkaWF0ZWx5IHdoZW4gdGhlCgkgIHBhZHMgYXJlIGFjdGl2YXRlZC4KCSAgRml4ZXMgYnVnICM2MjY4MTUuCgoyMDEwLTA4LTEzIDE3OjI0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNlOGRiMWQgdG8gZWM2MDIxNwoKMjAxMC0wOC0xMSAyMjowMzowNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IE1hcmsgaW5saW5lIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lCgkgIE90aGVyd2lzZSBpdCBmYWlscyB0byBjb3JyZWN0bHkgbGluayB0aGVtIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2NzAKCjIwMTAtMDgtMTEgMTc6MTk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDE3OjE5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkgIGdzZXR0aW5nczogZml4IG1ha2UgZGlzdGNoZWNrCgkgIENsZWFuIHVwIGZpbGUgd2UgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUuCgoyMDEwLTA4LTExIDEyOjA5OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGJsYWNrbGlzdCBnc2V0dGluZ3MqIGVsZW1lbnRzIGZvciBnZW5lcmljL3N0YXRlcyB0ZXN0CgkgIFdoZW4gdGhlIHRlc3QgaXMgcnVuLCB0aGUgc2NoZW1hIGZpbGUgd29uJ3QgYmUgaW5zdGFsbGVkIHlldCwKCSAgYW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBzZXQKCSAgdG8gZm9yY2UgR1NldHRpbmdzIHRvIGxvb2sgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjAzCgoyMDEwLTA4LTExIDAwOjIzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS4yIHByZS1yZWxlYXNlCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA5IDAwOjQyOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudCB0byByZWxlYXNlZCB2ZXJzaW9ucwoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOSAwMDo0MjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOCAxNzowOToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgY2hlY2tzOiBza2lwIGppZm11eCB0ZXN0cyBpZiByZXF1aXJlZCBlbGVtZW50cyBhcmVuJ3QgYXZhaWxhYmxlCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTExIDExOjUyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgbGVnYWN5cmVzYW1wbGU6IExpbmsgYWdhaW5zdCAkKExJQk0pIGZvciByaW50KCkgYW5kIGZyaWVuZHMKCjIwMTAtMDgtMTEgMTE6NTE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvZ3NldHRpbmdzLm00OgoJICBnc2V0dGluZ3M6IEFkZCBnc2V0dGluZ3MubTQgZm9yIHRoZSBnc2V0dGluZ3MgbWFjcm9zCgoyMDEwLTA4LTExIDExOjUwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSAgaW52dGVsZWNpbmU6IExpbmsgYWdhaW5zdCAkKExJQk0pIGZvciBzcXJ0KCkgYW5kIGZyaWVuZHMKCjIwMTAtMDgtMTEgMTE6Mzk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVjayB0byBhY3R1YWxseSBzdWNjZWVkIGlmIENFTFQgPj0gMC41IGlzIGF2YWlsYWJsZQoJICBBbHNvIHJlbW92ZSB0aGUgQUNfTVNHX1JFU1VMVFMoW25vXSksIHBrZy1jb25maWcgZG9lcyB0aGlzIGZvciB1cyBhbHJlYWR5LgoKMjAxMC0wOC0xMCAxMDo1ODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAxNzoyMDoxMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJ6b29tIiBwYXJhbWV0ZXIgdG8gc3F1YXJlIGZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDE2OjU1OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzcXVhcmUgIndpZHRoIiBhbmQgImhlaWdodCIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMTA6MDM6MjAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAibW9kZSIgcHJvcGVydHkgdG8gbWlycm9yIGZpbHRlcgoJICBBZGQgYSAibW9kZSIgZW51bSBwcm9wZXJ0eSB0byBtaXJyb3IgdGhhdCBkZWZpbmVzIGhvdyB0byBzcGxpdCB0aGUgZnJhbWUKCSAgYW5kIHdpdGggc2lkZSByZWZsZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDA4OjUyOjUxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJ6b29tIiBwYXJhbWV0ZXIgdG8gYnVsZ2UgZmlsdGVyCgkgIFJld29yayBidWxnZSBtYXBwaW5nIGZ1bmN0aW9uIHRvIGdpdmUgbW9yZSBwcmVkaWN0YWJsZSByZXN1bHRzLgoJICBOb3cgdGhlIGJ1bGdlIGlzIGRvbmUgZGl2aWRpbmcgYnkgYSBzY2FsZSBmYWN0b3IgdGhhdCBzbW9vdGhzdGVwcyBmcm9tCgkgICJ6b29tIiBhdCB0aGUgY2VudGVyIHRvIDEuMCBhdCAicmFkaXVzIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxNjoxNjozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGFuICJpbnRlbnNpdHkiIHBhcmFtZXRlciB0byBzdHJldGNoIGZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjQzOjE1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSB0dW5uZWwgInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6Mjk6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgYnVsZ2UgInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6MjU6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzdHJldGNoICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA4IDIzOjU2OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJICB2ZHBhdW1wZWc0ZGVjOiBmaXggdHlwbyBpbiBkZWZhdWx0X25vbl9pbnRyYV9xdWFudF9tYXRyaXgKCjIwMTAtMDctMTQgMTE6MDM6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5oOgoJICB2ZHBhdTogYWRkIG1wZWc0IHBhcnQyIGRlY29kZXIKCjIwMTAtMDgtMDggMTI6NDY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIGNoZWNrczogc2tpcCBpZDNtdXggdW5pdCB0ZXN0cyB0aGF0IG5lZWQgaWQzZGVtdXggaWYgaWQzZGVtdXggaXMgbm90IGF2YWlsYWJsZQoKMjAxMC0wOC0wOCAxMjoyNjo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVpbGQgYW5kIGRpc3QgbmV3IGNvbG9yZWZmZWN0cyBwbHVnaW4KCSAgRml4ZXMgbWFrZSBkaXN0Y2hlY2suCgoyMDEwLTA4LTA4IDEyOjAxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogT25seSBjaGVjayB0aGUgcGx1Z2luIGZpbGVuYW1lcywgbm90IHRoZSBkaXJlY3RvcnkgbmFtZXMKCjIwMTAtMDgtMDggMTE6NTY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBEb24ndCB0cnkgdG8gcmVnaXN0ZXIvbG9hZCB0aGUgc2FtZSBmcmVpMHIgcGx1Z2luIGF0IGRpZmZlcmVudCBsb2NhdGlvbnMgdHdpY2UKCSAgVGhpcyBjb3VsZCBoYXBwZW4gYmVjYXVzZSBmb3IgZXhhbXBsZSAvdXNyL2xpYiBpcyBsaW5rZWQKCSAgdG8gL3Vzci9saWI2NCBhbmQgYm90aCBhcmUgbG9hZGVkLiBUaGUgZnJlaTByIHNwZWNpZmljYXRpb24KCSAgc2F5cyB0aGF0IHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBtdXN0IG9ubHkgYmUgY2FsbGVkIG9uY2UKCSAgYW5kIGZvciBzb21lIHBsdWdpbiB3ZWlyZCB0aGluZ3MgKGluY2x1ZGluZyBjcmFzaGVzKSBhcmUKCSAgaGFwcGVuaW5nLgoJICBGaXhlcyBidWcgIzYyMzcxMC4KCjIwMTAtMDgtMDYgMDE6NTY6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhbGlnbiBhY3R1YWwgZGVmYXVsdCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgd2l0aCBkZWZhdWx0cyBpbiBwYXJhbSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE0MDQKCjIwMTAtMDgtMDYgMTI6MTQ6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJICB2ZHBhdTogZml4IGRlc3RydWN0aW9uIG9mIEdzdFZkcERldmljZSB3aGVuIGl0IGZhaWxlZCB0byBvcGVuCgkgIG9ubHkgY2xvc2UgZGlzcGxheSBpbiBmaW5hbGl6ZSBhbmQgY2hlY2sgaWYgdmRwX2RlY29kZXJfZGVzdHJveSBpcyBhdmFpbGFibGUKCSAgYmVmb3JlIHdlIHVzZSBpdAoKMjAxMC0wOC0wNSAyMzo1NTowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogdXNlIHNlcGFyYXRlIG11dGV4IGZvciBkZXZpY2UgbG9ja2luZwoJICB3ZSBjYW4ndCB1c2UgR1NUX09CSkVDVF9MT0NLIHNpbmNlIHRoYXQgY2F1c2UgcHJvYmxlbXMgd2hlbiB3ZSB0cnkgdG8gcG9zdAoJICBlcnJvcnMsIGR1ZSB0byBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgYWxzbyB0YWtpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSwoKMjAxMC0wOC0wNiAxMTowNDo1NyArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogYWRkIGNvbm5lY3QtdGltZW91dCBhbmQgcmVhZC10aW1lb3V0IHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTA3NgoKMjAxMC0wOC0wNiAxMDo0NDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogYWRkICJjb29raWVzIiBwcm9wZXJ0eQoJICBCYXNlZCBvbiBwYXRjaCBieTogU2FtZWVyIE5haWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTE3NAoKMjAxMC0wNy0yNSAxNzowNDoxMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBjbG9zZSBvdXIgb3duIHdpbmRvdyB3aGVuIGNoYW5naW5nIHRoZSB3aW5kb3cgaWQKCSAgSWYgd2UgY3JlYXRlZCB0aGUgd2luZG93LCBpdCBuZWVkcyB0byBiZSBjbG9zZWQgYWZ0ZXIgc2V0dGluZyBhIG5ldwoJICB3aW5kb3cgaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQyOTAKCjIwMTAtMDctMjUgMTc6MDE6MTkgKzAyMDAgIFJhaW1vIEphcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogYWxsb3cgY2hhbmdpbmcgd2luZG93IElEIHdoaWxzdCBpbiBQTEFZSU5HIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQyOTAKCjIwMTAtMDgtMDYgMDM6MTk6MTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTG9hZCBwbHVnaW5zIGluIC91c3Ive2xvY2FsLyx9bGliezMyLDY0fS9mcmVpMHItMSB0b28KCSAgTG9hZHMgdGhlIHBsdWdpbnMgaW4gbW9yZSBwYXRocyB3aGVyZSB0aGV5IGNvdWxkIGJlIGluc3RhbGxlZCBieQoJICBtdWx0aWxpYiBkaXN0cmlidXRpb25zLgoJICBGaXhlcyAjNjIzNzEwCgoyMDEwLTA4LTA1IDEzOjU3OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE1MTk1NzEgdG8gYmQyMDU0YgoKMjAxMC0wOC0wMyAxMDowODozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIGNpY2xlZ3QgInJhZGl1cyIgcHJvcGVydHkgcmVsYXRpdmUKCSAgTWFrZSB0aGUgInJhZGl1cyIgcHJvcGVydHkgb2YgQ2lyY2xlR2VvbWV0cmljVHJhbnNmb3JtIHJlbGF0aXZlLgoJICBUaGlzIGlzIG1vcmUgY29oZXJlbnQgd2l0aCB0aGUgd2F5IFt4LHldLWNlbnRlciBwcm9wZXJ0aWVzIGFyZSBoYW5kbGVkCgkgIGFuZCBhbGxvdyB0byBzZXQgYSByYWRpdXMgd2l0aG91dCBrbm93aW5nIHRoZSB2aWRlbyBzaXplLgoJICBSYWRpdXMgaXMgZGVmaW5lZCB3aXRoIHJlc3BlY3QgdG8gdGhlIGNpcmNsZSBjaXJjdW1zY3JpYmVkIGFib3V0IHRoZQoJICB2aWRlbyByZWN0YW5nbGUgc28gdGhhdCBhIHBvaW50IGluIHRoZSBjZW50ZXIgaGFzIHJhZGl1cyAwLjAgYW5kIG9uZSBpbgoJICBhIHZlcnRleCBoYXMgcmFkaXVzIDEuMC4KCSAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGEgcmVncmVzc2lvbiBmcm9tIHRoZSBwcmV2aW91cyBhYnNvbHV0ZSB3YXkgb2YKCSAgZGVmaW5pbmcgdGhlIHJhZGl1cyBhcyBhIHVzZXIgd2hvIGtub3dzIHRoZSB2aWRlbyBzaXplIGNhbiBlYXNpbHkKCSAgY2FsY3VsYXRlIHRoZSByZWxhdGl2ZSByYWRpdXMgYW5kIHNldCB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTU5CgoyMDEwLTA4LTA0IDIzOjUwOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogbWlub3IgY29kZSBjbGVhbi11cAoJICBBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIHdyaXRlIHRleHQgZnJhbWVzIHdpdGgganVzdCBvbmUgc3RyaW5nLgoKMjAxMC0wOC0wNCAyMzo0NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTAtMDYtMTQgMjA6MDc6MzMgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJICBpZDNtdXg6IGFkZCBzdXBwb3J0IGZvciBiZWF0cy1wZXItbWludXRlIHRhZwoJICBXcml0ZSBiZWF0cyBwZXIgbWludXRlIGludG8gdGhlIFRCUE0gZnJhbWUsIGFuZCBhZGQgdW5pdAoJICB0ZXN0IGZvciBpZDNtdXgsIGJhc2VkIG9uIGlkM3YybXV4IHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMwoKMjAxMC0wOC0wNCAxOToyNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA4LTA0IDEwOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJICBjb2xvcmVmZmVjdHM6IEFkZCB0byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOC0wNCAxMDoxMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjb2xvcmVmZmVjdHM6IE1pbm9yIGNsZWFudXAKCjIwMTAtMDgtMDQgMTA6MDk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSAgY29sb3JlZmZlY3RzOiBJbXByb3ZlIHByb3BlcnR5IGRlc2NyaXB0aW9uIGEgYml0CgoyMDEwLTA4LTA0IDEwOjA4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkgIGNvbG9yZWZmZWN0czogRG9uJ3QgdXNlIHRoZSBmaXhlZF9jYXBzIGZ1bmMgb24gdGhlIHBhZHMKCSAgY29sb3JlZmZlY3RzIGNhbiByZW5lZ290aWF0ZSBkdXJpbmcgcGxheWJhY2sgd2l0aG91dCBhbnkgcHJvYmxlbXMuCgoyMDEwLTA4LTAzIDE0OjM5OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogYWRkIGF5dXYgc3VwcG9ydAoJICBDdXJyZW50bHkgaW1wbGVtZW50ZWQgc3dpdGNoaW5nIGZyb20geXV2IHRvIHJnYiwgbG9va2luZyB1cCByZ2IgZnJvbSB0aGUKCSAgdGFibGUgaW4gdGhlIHVzdWFsIHdheSwgZ2V0dGluZyBiYWNrIHRvIHl1di4gV2l0aCBsdW1hIGxvb2t1cCBwcmVzZXRzCgkgIChzZXBpYSwgaGVhdCwgeHJheSkgYSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIGlzIHNhdmVkIGRpcmVjdGx5IGxvb2tpbmcKCSAgdXAgcmdiIGZvciBhIGdpdmVuIFkgYW5kIGNvbnZlcnRpbmcgdG8geXV2LgoJICBQcm9iYWJseSB0aGlzIGxhdHRlciBzdGVwIGNhbiBldmVuIGJlIG1hZGUgZmFzdGVyIHByZWNhbGN1bGF0aW5nIGEgbHVtYQoJICB0byB5dXYgdGFibGUgaW4gYW4gb3V0ZXIgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTgxNwoKMjAxMC0wOC0wMSAyMzowMzoyNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNvbG9yZWZmZWN0czogbmV3IHBsdWdpbiBmb3IgbG9va3VwIHRhYmxlIGNvbG9yIG1hcHBpbmcKCSAgSW1wbGVtZW50cyBhIGNvbG9yIGxvb2t1cCB0YWJsZSBmaWx0ZXIgd2l0aCA0IHByZXNldHM6CgkgIC0gaGVhdDogZmFrZSBoZWF0IGNhbWVyYSBlZmZlY3QKCSAgLSBzZXBpYTogc2VwaWEgdG9uaW5nCgkgIC0geHJheTogaW52ZXJ0ICsgc2hhZGUgdG8gYmx1ZQoJICAtIHhwcm86IGNyb3NzIHByb2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTgxNwoKMjAxMC0wOC0wMyAxMDoyOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgZG9jczogQWRkIGxvdHMgb2YgZ2F1ZGllZmZlY3RzL2dlb21ldHJpY3RyYW5zZm9ybSBzeW1ib2xzIHRvIHRoZSBkb2NzCgoyMDEwLTA4LTAyIDExOjMwOjUwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJmaXNoZXllIgoJICBQb3J0cyBnbGVmZmVjdHMgImZpc2hleWUiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIEZha2UgZmlzaGV5ZSBsZW5zIGZpbHRlci4gU29tZXdoYXQgZW1waXJpYyBpbXBsZW1lbnRhdGlvbiBiZWNhdXNlIEkKCSAgZGlkbid0IGZpbmQgYW55IGdvb2QgYWxnb3JpdGhtIHRoYXQgZG9lcyBpdCB3aXRoIG5pY2UgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMToxMjo0MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgIm1pcnJvciIKCSAgUG9ydHMgZ2xlZmZlY3RzICJtaXJyb3IiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIFNpbXBsZSB5ZXQgZWZmZWN0aXZlIG1pcnJvciBlZmZlY3QsIHNwbGl0cyB0aGUgaW1hZ2UgaW50byBoYWx2ZXMgYW5kCgkgIHJlZmxlY3QgdGhlIGZpcnN0IGludG8gdGhlIHNlY29uZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMTowMTozMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInNxdWFyZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJzcXVhcmUiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIE1hcHMgYSByZWdpb24gYXJvdW5kIHRoZSBjZW50ZXIgaW50byBhIHpvb21lZCBzcXVhcmUgYW5kIHNtb290aGx5IGdldAoJICBiYWNrIHRvIG5vcm1hbCB6b29tLiBXaXRoIGZhY2VzIGl0IG1ha2VzIGEgZnVubnkgImN1YmUtZmFjZSIgZWZmZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDEwOjQ2OjQ0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAidHVubmVsIgoJICBQb3J0cyBnbGVmZmVjdHMgInR1bm5lbCIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgRG8gbm90aGluZyBpbiBhIGNpcmNsZSBhcm91bmQgdGhlIGNlbnRlciBhbmQgem9vbSBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDA5OjM5OjUxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgImJ1bGdlIgoJICBQb3J0cyBnbGVmZmVjdHMgImJ1bGdlIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBBZGRzIGEgcHJvdHViZXJhbmNlIGFyb3VuZCB0aGUgY2VudGVyIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDA5OjE3OjAzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInN0cmV0Y2giCgkgIFBvcnRzIGdsZWZmZWN0cyAic3RyZXRjaCIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgU2hyaW5rcyB0aGUgaW1hZ2UgYXJvdW5kIHRoZSBjZW50ZXIgYW5kIGdyYWR1YWxseSByZXR1cm4gdG8gbm9ybWFsIHpvb20KCSAgY3JlYXRpbmcgZnVubnkgY2FyaWNhdHVyZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTg6MzM6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IHNldCBiYWNrIHBsdWdpbiByYW5rcyB0byBHU1RfUkFOS19OT05FCgkgIHRoZSBwcmV2aW91cyBjaGFuZ2Ugd2FzIG5vdCBtZWFudCB0byBzbGlwIGluCgoyMDEwLTA4LTAyIDE4OjIzOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogc2xpZ2h0bHkgZml4IEdzdEJhc2VWaWRlb0RlY29kZXIgdGltZXN0YW1waW5nCgkgIGNsZWFyIHRpbWVzdGFtcHMgb24gZmx1c2ggYW5kIHByb3Blcmx5IGNhbGN1bGF0ZSB0aGUgZnJhbWUncyBlbmQgb2Zmc2V0CgoyMDEwLTA4LTAxIDEyOjMyOjMxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJICB2ZHBhdTogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBpbiBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfdHlwZQoKMjAxMC0wOC0wMiAyMDo0MToxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJICBnYXVkaWVmZmVjdHM6IEFkZCBHYXVzc2lhbiBCbHVyIGVmZmVjdCwgYW5kIGJyaWVmIGV4YW1wbGUuCgoyMDEwLTA3LTMwIDIzOjU5OjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZml4IHdhcm5pbmcgb24gb3N4LgoKMjAxMC0wNy0zMCAyMjoyNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGFkZCBlcnJvciByZXBvcnRpbmcgdG8gZGV2aWNlIGNyZWF0aW9uCgoyMDEwLTA3LTMwIDE2OjU0OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IHNtYWxsIHR5cG8gaW4gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNy0zMCAxNDo0Nzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHVzZSBnc3RfdmRwX3l1dl90b192aWRlb19jYXBzIGluIEdzdFZkcFZpZGVvU3JjUGFkIHRvIHRyYW5zZm9ybSBzZXQgY2FwcwoJICB0aGlzIHdheSB3ZSdsbCBrZWVwIG90aGVyIGFsbCBvdGhlciBmaWVsZHMgaW4gdGhlIGNhcHMgd2hpY2ggd2UgZGlkbid0IHRha2UgaW4KCSAgYWNjb3VudCB3aGVuIHdlIG1hbnVhbGx5IGNyZWF0ZWQgdGhlICJ2aWRlby94LXZkcGF1LXZpZGVvIiBjYXBzCgoyMDEwLTA3LTMwIDE0OjQ0OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVuYW1lIGdzdF92ZHBfdmlkZW9fYnVmZmVyX3BhcnNlX3l1dl9jYXBzIGFuZCBtb3ZlIGl0IHRvIGdzdHZkcHV0aWxzLmgKCjIwMTAtMDctMzAgMTQ6MDc6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdTogR3N0VmRwT3V0cHV0U3JjUGFkIHVzZSBnc3RfcGFkX2FsbG9jIHdoZW4gb3V0cHV0dGluZyB2aWRlby94LXJhdy1yZ2IKCSAgd2UgaW1wbGVtZW50ICJhY2NlcHRjYXBzIiB0byBwcmV2ZW50IHVzIGZyb20gZ2V0dGluZyBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudAoJICB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gd2hhdCB3ZSByZXF1ZXN0ZWQuCgoyMDEwLTA3LTMwIDExOjI5OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdTogcHJvcGVybHkgcmVtb3ZlICJjaHJvbWEtdHlwZSIgZmllbGQgZnJvbSB0cmFuc2Zvcm1lZCBjYXBzCgoyMDEwLTA3LTMwIDExOjI3OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiB1c2UgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJQb29sIHRvIGNhY2hlIG91ciBidWZmZXJzCgkgIFRoaXMgd2F5IHdlJ2xsIHJldXNlIHRoZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlcnMgaWYgdGhleSdyZSBvZiB0aGUgc2FtZQoJICBzaXplIGFuZCBjaHJvbWEtdHlwZS9yZ2JhLWZvcm1hdC4KCSAgQWxzbyByZW1vdmUgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9uZWdvdGlhdGUgYW5kIHNldCBhICJzZXRjYXBzIiBmdW5jdGlvbiBvbgoJICBHc3RWZHBPdXRwdXRTcmNQYWQgaW5zdGVhZCwgbGVhdmluZyBuZWdvdGlhdGlvbiB0byBHc3RWZHBWaWRlb1Bvc3RQcm9jZXNzLgoKMjAxMC0wNy0zMCAxMToyMDozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogdXNlIEdzdFZkcE91dHB1dEJ1ZmZlclBvb2wgdG8gYWxsb2Mgb3VyIGJ1ZmZlcnMKCSAgVGhpcyB3YXkgd2UnbGwgcmV1c2Ugb3VyIEdzdFZkcE91dHB1dEJ1ZmZlcnMgaWYgdGhleSdyZSBvZiB0aGUgc2FtZSBzaXplIGFuZAoJICByZ2JhLWZvcm1hdAoKMjAxMC0wNy0zMCAxMToxNjowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHVzZSBHc3RWZHBWaWRlb0J1ZmZlclBvb2wgaW4gR3N0VmRwVmlkZW9TcmNQYWQKCSAgV2UgYWxzbyBkb24ndCBwYWRfYWxsb2Mgb3VyIEdzdFZkcFZpZGVvQnVmZmVycyBhbnltb3JlIHNpbmNlIHdlIGRvbid0IHN1cHBvcnQKCSAgZG93bnN0cmVhbSBuZWdvdGF0aW9uIGFueXdheS4KCjIwMTAtMDctMzAgMTE6MDY6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBhZGQgR3N0VmRwT3V0cHV0QnVmZmVyUG9vbAoJICBHc3RWZHBWaWRlb091dHB1dFBvb2wgaXMgYSBzdWJjbGFzcyBvZiBHc3RWZHBCdWZmZXJQb29sIHRoYXQgY2FjaGVzCgkgIEdzdFZkcE91dHB1dEJ1ZmZlcnMKCjIwMTAtMDctMzAgMTE6MDE6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogYWRkIEdzdFZkcFZpZGVvQnVmZmVyUG9vbAoJICBHc3RWZHBWaWRlb0J1ZmZlclBvb2wgaXMgYSBzdWJjbGFzcyBvZiBHc3RWZHBCdWZmZXIgdGhhdCBjYWNoZXMKCSAgR3N0VmRwVmlkZW9CdWZmZXJzCgoyMDEwLTA3LTMwIDEwOjU1OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJICB2ZHBhdTogYWRkIEdzdFZkcEJ1ZmZlclBvb2wgYmFzZSBjbGFzcwoJICBHc3RWZHBCdWZmZXJQb29sIHdpbGwgYmUgdXNlZCB0byBjYWNoZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlcnMgc2luY2UKCSAgY3JlYXRpbmcgdGhlc2UgY2FuIGJlIGEgY29zdGx5IG9wZXJhdGlvbiBvbiBzb21lIGhhcmR3YXJlLgoKMjAxMC0wNy0yOCAyMTozOToxMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbW92ZSBHc3RWZHBPdXRwdXRTcmNQYWQgInRlbXBsYXRlLWNhcHMiIHByb3BlcnR5CgkgIGluc3RlYWQgd2UgZG8gYXMgR3N0VmRwVmlkZW9TcmNQYWQgYW5kIHVzZSB0aGUgInRlbXBsIiBwcm9wZXJ0eSBvZiBHc3RQYWQsCgkgIHdoaWNoIGVuYWJsZSB1cyB0byBjaGFuZ2UgdGhlIHNpZ25hdHVyZSBvZiBnc3RfdmRwX291dHB1dF9zcmNfcGFkX25ldyB0byBtYXRjaAoJICBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlCgoyMDEwLTA3LTI4IDIxOjE1OjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbW92ZSBHc3RWZHBPdXRwdXRTcmNQYWQgY29kZSB0byByZXRyaWV2ZSB0aGUgZGV2aWNlIGZyb20gZG93bnN0cmVhbQoJICB3ZSBub3cgbm8gbG9uZ2VyIHRyeSB0byBnZXQgdGhlIEdzdFZkcERldmljZSBmcm9tIGRvd25zdHJlYW0gc2luY2UgaXQgaW4KCSAgcHJhY3RpY2UgZGlkbid0IGdpdmUgdXMgYW55dGhpbmcgYW5kIGNvbXBsaWNhdGVzIHRoZSBjb2RlIGFsb3QuIE5ldmVydGhlbGVzcyBpZiBkZXZpY2UKCSAgZGlzdHJpYnV0aW9uIHNob3VsZCBiZSBkb25lIHRoZXJlJ3MgcHJvYmFibHkgYSBsb3QgYmV0dGVyIHdheXMgdG8gZG8gaXQuCgkgIEluc3RlYWQgd2Ugbm93IHNpbXBseSBhcXVpcmUgdGhlIGRldmljZSBpbiB2ZHBhdXZpZGVvcG9zdHByb2Nlc3Mgd2hlbiB3ZSdyZQoJICBnb2luZyBpbnRvIFBBVVNFRC4KCjIwMTAtMDctMjcgMjM6MjQ6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNsZWFudXAgR3N0VmRwRGVjb2RlciBvcGVuaW5nIG9mIGl0J3MgR3N0VmRwRGV2aWNlCgkgIHdlIG5vdyBubyBsb25nZXIgdHJ5IHRvIGdldCB0aGUgR3N0VmRwRGV2aWNlIGZyb20gZG93bnN0cmVhbSBzaW5jZSBpdCBpbgoJICBwcmFjdGljZSBkaWRuJ3QgZ2l2ZSB1cyBhbnl0aGluZyBhbmQgY29tcGxpY2F0ZXMgdGhlIGNvZGUgYWxvdC4gTmV2ZXJ0aGVsZXNzIGlmIGRldmljZQoJICBkaXN0cmlidXRpb24gc2hvdWxkIGJlIGRvbmUgdGhlcmUncyBwcm9iYWJseSBhIGxvdCBiZXR0ZXIgd2F5cyB0byBkbyBpdC4KCjIwMTAtMDctMjcgMjM6MTc6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggR3N0QmFzZVZpZGVvRGVjb2RlciByZXR1cm5pbmcgd3JvbmcgR3N0U3RhdGVDaGFuZ2VSZXR1cm4KCSAgd2hlbiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX1tzdGFydHxzdG9wXSBmYWlscyB3ZSBub3cgcmV0dXJuCgkgIEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSBpbnN0ZWFkIG9mIHJldHVybmluZyB3aGF0IHRoZSBwYXJlbnQgY2xhc3MgcmV0dXJucwoKMjAxMC0wNy0yNyAxNTozMzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWVkZWQgc2V0dGluZyBvZiBidWZmZXIgZmxhZ3MKCSAgR3N0QmFzZVZpZGVvRGVjb2RlciBzZXRzIEdTVF9WSURFT19CVUZGRVJfVEZGIGZvciB1cyBhbmQKCSAgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciBkZWNvZGVkIGZyYW1lcy4KCjIwMTAtMDctMjkgMTY6MDg6MDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBkb24ndCBtYWtlIGEgcmFuZ2UgaWYgbWluPT1tYXgKCSAgRml4ZXMgYnVnICM2MjUxMzgKCjIwMTAtMDctMjkgMTA6Mzg6NTggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFjdHVhbGx5IHdvcmsgd2hlbiB3ZSBoYXZlIHNtYWxsIGJ1ZmZlcnMgY29taW5nIGluCgkgIGF2YWlsYWJsZV9mYXN0IGlzIG5vdCB3aGF0IHdlIHdhbnQgYW5kIGl0IHdpbGwgbmV2ZXIgZ2V0IHRvIGRpc2NvdmVyIHBhY2tldAoJICBzaXplIGlmIDE4OCBieXRlIGJ1ZmZlcnMgYXJlIGJlaW5nIHBpY2tlZCB1cC4KCjIwMTAtMDctMjggMTg6MzY6NTMgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdzZXR0aW5ncyB4bWwgc2NoZW1hIGZpbGUKCjIwMTAtMDctMjggMTg6MzQ6MTUgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSAgZG9jczogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gdGhlIGRvY3MKCjIwMTAtMDctMjggMTc6NDY6NTMgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogZml4IHVwIG1hY3JvcyBhbmQgZnVuY3Rpb24gbmFtZXMgdG8gbWF0Y2ggZ3VpZGVsaW5lcwoKMjAxMC0wNy0yOCAxNzozNDowMiArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogZml4IHN0cnVjdHVyZSBuYW1lcyB0byBjb21wbHkgd2l0aCB0aGUgcGx1Z2luIG1vdmluZyBndWlkZWxpbmVzCgoyMDEwLTA3LTI4IDE2OjE1OjUzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNhcHMgYml0cmF0ZSBhdCBsYXN0IGNoYW5jZQoJICBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBzdHJlYW0ncyBiaXRyYXRlIGZyb20gb25lIG9mIHRoZSBhdG9tcywKCSAgdHJ5IGdldHRpbmcgaXQgZnJvbSB0aGUgY2FwcyBhcyBhIGxhc3QgcmVzb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI4IDE2OjEyOjExICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogYnRydCAtIG1heCBiaXRyYXRlIGJlZm9yZSBhdmVyYWdlCgkgIEFjY29yZGluZyB0byBpc28gYmFzZSBtZWRpYSBmaWxlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlCgkgIGlzIGJlZm9yZSB0aGUgYXZnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjcgMTg6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgdGhlIHNlZ21lbnQgb24gRkxVU0hfU1RPUCBhbmQgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZCgoyMDEwLTA3LTI3IDE4OjA3OjAwICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBkaXN0IG5ldyBoZWFkZXIgZmlsZQoJICBGaXggbWFrZSBkaXN0Y2hlY2suCgoyMDEwLTA3LTIzIDE5OjQxOjI5ICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IEltcHJvdmVtZW50cyBjb250cmlidXRlZCBmcm9tIHRoZSBNb292aWRhIHByb2pldC4KCSAgKiBJbmhlcml0IGZyb20gR3N0VmlkZW9TaW5rCgkgICogSW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgICogUHJvcGVyIENPTSBpbml0aWFsaXphdGlvbiBmb3IgdGhyZWFkZWQgZW52aXJvbm1lbnRzCgkgICogRml4IFdpbmRvdyByZXNvdXJjZSBsZWFrCgkgICogQWRkIEVWUiBzdXBwb3J0IGZvciBiZXR0ZXIgdmlkZW8gc2NhbGluZyBvbiBXaW5kb3dzIFZpc3RhIGFuZCBhYm92ZQoJICAqIE9ubHkgYXBwbHkgUEFSIHNjYWxpbmcgd2hlbiB0aGUga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkgaXMgc2V0IHRvIHN0YXkKCSAgY29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBMaW51eCBzaW5rcwoJICAqIFByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCB3aXRoIHRoZSB3bmRwcm9jIGNoYWluCgkgICogRml4IGRlYnVnZ2luZyBtZXNzYWdlcyB0byB1c2UgdGhlIG9iamVjdCBpbnN0YW5jZQoKMjAxMC0wNy0yMyAwMDoyODo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZ3N0X3ZkcF9kZWNvZGVyX3JlbmRlciBhbmQgZ3N0X3ZkcF9kZWNvZGVyX2luaXRfZGVjb2RlcgoKMjAxMC0wNy0yMiAwOToyMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZXhhbXBsZXM6IFVzZSBjYWlybyBpbnN0ZWFkIG9mIGdka19kcmF3XyogQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAzLgoKMjAxMC0wNy0xMiAyMjozNzo0NyAtMDMwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IEFkZHMgbmV3IHBsdWdpbiAnZ2F1ZGllZmZlY3RzJwoJICBBZGRzIHRoZSBuZXcgJ2dhdWRpZWZmZWN0cycgcGx1Z2luLCBvcmlnaW5hbGx5IGZvdW5kCgkgIGhlcmU6IGh0dHA6Ly9naXRodWIuY29tL2x1aXNiZy9nYXVkaV9lZmZlY3RzCgkgIENvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdmlkZW8gZWZmZWN0IGVsZW1lbnRzOiBidXJuLCBjaHJvbWl1bSwgZGlsYXRlLAoJICBkb2RnZSwgZXhjbHVzaW9uIGFuZCBzb2xhcml6ZS4KCSAgVGhhbmtzIHRvIEphbiBTY2htaWR0IGZvciB0aGUgcmV2aWV3aW5nIGFuZCByZWZhY3RvcmluZwoKMjAxMC0wNy0xOSAyMTo1MzozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHRyeSB0byBjYWxjdWxhdGUgZnJhbWVyYXRlIGlmIHdlIGRvbid0IGdldCBvbmUgZnJvbSB1cHN0cmVhbQoKMjAxMC0wNy0xOSAxMTozNDozOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBmaXggc2VnZmF1bHQgd2hlbiB2ZHBhdSBkZXZpY2UgY291bGQgbm90IGJlIGNyZWF0ZWQKCjIwMTAtMDctMTggMjE6MTU6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHByb2JsZW0gd2hlbiBlbmNvdW50ZXJpbmcgR1NUX05BTF9BVV9ERUxJTUlURVIKCjIwMTAtMDctMDggMDk6NTY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpc3JjOiBVc2UgbmV3IGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpCgoyMDEwLTA3LTA4IDA5OjU1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBhbHNhc3BkaWZzaW5rOiBVc2UgbmV3IGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpCgoyMDEwLTA3LTE1IDEzOjIzOjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGNhbGN1bGF0ZSB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gYml0c3RyZWFtIGluZm8KCjIwMTAtMDctMTUgMTE6MTA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHVzYWdlIG9mIGdfYml0X3N0b3JhZ2UKCjIwMTAtMDctMTQgMTE6MTk6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSB6aWd6YWcgbWF0cml4CgoyMDEwLTA3LTE0IDExOjE3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogdXNlIGdfYml0X3N0b3JhZ2UgaW5zdGVhZCBvZiBsb2cyCgkgIGxvZzIgY2F1c2VkIGNvbXBpbGUgaXNzdWVzIG9uIGNlcnRhaW4gcGxhdGZvcm1zCgoyMDEwLTA3LTEzIDAwOjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkgIGdzZXR0aW5nczogRml4IG1haW50YWluZXItY2xlYW4gd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlCgkgIERvIG5vdCB1c2UgQEdTRVRUSU5HU19SVUxFU0AgaWYgZ3NldHRpbmdzIGlzIG5vdCBhdmFpbGFibGUKCSAgdG8gYXZvaWQgbWFpbnRhaW5lci1jbGVhbiBmYWlsaW5nLgoKMjAxMC0wNy0xMSAxMDo0NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBVc2UgY29ycmVjdCBvcmRlciBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIHBsdWdpbnMKCSAgQW5kIGRvbid0IGZhaWwgaWYgYSBwbHVnaW4gd2FzIGFscmVhZHkgcmVnaXN0ZXJlZC4gRnJlaTByIGFsbG93cwoJICBwbHVnaW5zIGluIGRpcmVjdG9yaWVzIHdpdGggaGlnaGVyIGltcG9ydGFuY2UgdG8gb3ZlcnJpZGUgcGx1Z2lucwoJICBmcm9tIGRpcmVjdG9yaWVzIHdpdGggbG93ZXIgaW1wb3J0YW5jZS4KCjIwMTAtMDctMTAgMTY6NTI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5hYmxpbmcgYXV0b21hdGljIGluc2VydGlvbiBvZiBhbHQtcmVmIGZyYW1lcyBieSB0aGUgZW5jb2RlcgoKMjAxMC0wNy0xMCAxNjo1MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBoYW5kbGluZyBvZiBpbnZpc2libGUvYWx0IHJlZiBmcmFtZXMKCjIwMTAtMDctMTAgMTU6NTA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRml4IG1lbW9yeSBsZWFrCgkgIFRoZSB0aW1lc3RhbXBzIGFyZSBvbmx5IHVzZWQgaWYgdGhlIG91dHB1dCBhZGFwdGVyIGlzIHVzZWQsIG5vdAoJICBpZiBjb21wbGV0ZSBmcmFtZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBkZWNvZGVyIGFuZCBmaW5pc2hfZnJhbWUoKSBpcwoJICBjYWxsZWQgYW5kIGV2ZW4gaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIG91dHB1dCBhZGFwdGVyIGlzIHVzZWQgdGhleQoJICBtaWdodCBub3QgYmUgdXNlZCBhbmQgYXJlIGxlYWtlZC4KCjIwMTAtMDctMTAgMTU6NDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB2cDhkZWMKCjIwMTAtMDctMTAgMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wcm92ZSB1bml0IHRlc3QgYSBiaXQKCjIwMTAtMDctMTAgMTU6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxzbyBjaGVjayB0aGUgb3V0cHV0IGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0wNy0xMCAxNToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTAtMDctMDkgMTc6NDQ6NTYgKzAzMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZtbXV4OiB1c2UgYWx0ZXJuYXRpdmUgd2F5IHRvIGNoZWNrIGZvciBpbmYKCSAgTVNWQyBlbWl0cyBhIGRpdmlkZS1ieS16ZXJvIGVycm9yIHdoZW4gY29tcGlsaW5nIGFpZmZtdXguYyBvbiBsaW5lIDIwNS4KCSAgRml4ZXMgIzYyMzg4MS4KCjIwMTAtMDctMDggMjE6NTM6MzUgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGZpeCBjb21waWxhdGlvbiBieSB1c2luZyB0aGUgcmlnaHQgZnVuY3Rpb24KCSAgRml4ZXMgIzYyMzg4My4KCjIwMTAtMDctMDggMTc6NTg6MTYgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IGV4aWYgZnJhbWUgc2l6ZQoJICBTa2lwIHRoZSBjb3JyZWN0IG51bWJlciBvZiBieXRlcyB3aGVuIHJlYWRpbmcgZXhpZgoJICBkYXRhCgkgIEZpeGVzICM2MjM4NTQKCjIwMTAtMDctMDggMTU6MDc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBwcm9wZXJ0aWVzIHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIGFnYWluCgoyMDEwLTA3LTA4IDA3OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgcHJvcGVydHkgZW51bXMgYW5kIHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFsc28gZG9uJ3QgdXNlIEdfUEFSQU1fQ09OU1RSVUNULCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGZvciBlbGVtZW50cy4KCjIwMTAtMDctMDcgMjM6MDY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggdmlld2ZpbmVyLXNpbmsgcHJvcGVydHkgZm9yIGJpbnMKCSAgQ29ycmVjdGx5IGl0ZXJhdGUgdmlld2ZpbmRlci1zaW5rIGNoaWxkcmVuIHdoZW4KCSAgaXQgaXMgYSBiaW4uCgkgIEZpeGVzICM2MjM4MDIKCjIwMTAtMDctMDYgMTQ6NDg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlICdidHJ0JyBhdG9tIGZvciBILjI2NCBtZWRpYSBpZiBwb3NzaWJsZQoJICBUaGlzIHdyaXRlcyBvdXQgdGhlIG9wdGlvbmFsICdidHJ0JyBhdG9tIChNUEVHNEJpdHJhdGVCb3gpIGZvciBILjI2NAoJICBtZWRpYSBpZiBlaXRoZXIgb3IgYm90aCBvZiBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUgYXJlIGF2YWlsYWJsZSBmb3IKCSAgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNSAxNDowOTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFdyaXRlIGF2Zy9tYXggYml0cmF0ZSB0byBFU0RTIGlmIGF2YWlsYWJsZQoJICBUaGlzIGNvbGxlY3RzIHRoZSAnYml0cmF0ZScgYW5kICdtYXhpbXVtLWJpdHJhdGUnIHRhZ3Mgb24gdGhlCgkgIGNvcnJlc3BvbmRpbmcgcGFkIGFuZCB1c2VzIHRoZXNlIHRvIHBvcHVsYXRlIHRoZXNlIGZpZWxkcyBpbiB0aGUgRVNEUwoJICB3aGVyZSBhcHBsaWNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA3IDEwOjMzOjE4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogcmVzZXQgZmxvdyByZXR1cm4gc3RhdGUgdHJhY2tlciBhZnRlciBmbHVzaCB0byBhdm9pZCBzcHVyaW91cyBlcnJvcnMgYWZ0ZXIgZmx1c2hpbmcgaW4gc29tZSBjYXNlcy4KCjIwMTAtMDctMDcgMDg6Mzc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IEFkZCBzdXBwb3J0IGZvciB3aWxkbWlkaSAwLjIuMwoJICBGaXhlcyBidWcgIzYyMzcyMi4KCjIwMTAtMDctMDEgMTA6NTY6MTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IFVwZGF0ZSByZW5kZXJlciBhc3BlY3QgcmF0aW8gYWZ0ZXIgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHVwZGF0ZS4KCSAgQSBuZXcgdmlydHVhbCBtZXRob2QgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIFJlbmRlcmVyU3VwcG9ydCBjbGFzcy4gSXQKCSAgaXMgY2FsbGVkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXJlciBjb25maWd1cmF0aW9uIGFuZCBlYWNoIHRpbWUgdGhlCgkgIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvZiB0aGUgc2luayBpcyB1cGRhdGVkLgoJICBGaXhlcyBidWcgIzYyMzI3Mi4KCjIwMTAtMDctMDcgMDA6MTU6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2F1ZGlvZGVjOiBGaXggY29tcGlsYXRpb24gZXJyb3IKCSAgQ2xvc2VzICM2MjM3MTMKCjIwMTAtMDctMDYgMTM6MTU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBvbmx5IHVzZSBnX3dhcm5pbmcoKSB3aGVuIHNldHRpbmcgdGhlIG9sZCBpcy1saXZlIHByb3BlcnR5LCBub3Qgd2hlbiByZWFkaW5nIGl0CgkgIERvbid0IHdhbnQgd2FybmluZ3MgaW4gZS5nLiBnc3QtaW5zcGVjdC4KCjIwMTAtMDctMDYgMTA6NTM6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFVzZSBwcm9wZXIgZ3NldHRpbmdzIHNjaGVtYSBmaWxlCgoyMDEwLTA3LTA1IDExOjUyOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiBqcGVncGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA3LTA1IDExOjQ4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgSW4gcGFydGljdWxhciwgdGhpcyBtYWtlcyB0aGUganBlZ3BhcnNlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBBbHNvIGFkZCBhIGRlYnVnIHN0YXRlbWVudC4KCSAgRml4ZXMgIzYyMjY5MC4KCjIwMTAtMDctMDUgMTA6MDk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEltcHJvdmUgZGVidWdnaW5nCgoyMDEwLTA3LTA1IDEwOjA4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgcHJlZGljdGlvbiBtb2RlIGFuZCB0aGUgc3RhcnQgYmFuZAoKMjAxMC0wNy0wNSAwOTo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNlbHQ6IEFkZCBjaGVjayBmb3IgY2VsdCAwLjgKCjIwMTAtMDctMDUgMDk6NTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IFJlbW92ZSBzdXBwb3J0IGZvciBjZWx0IDwgMC41CgkgIGNlbHQgMC41IHdhcyByZWxlYXNlZCBtb3JlIHRoYW4gYSB5ZWFyIGFnbyBhbmQgdGhlIGJpdHN0cmVhbSBpcwoJICBpbmNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBvbmUgYW55d2F5LgoKMjAxMC0wNy0wNSAwOTo0NzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogRml4IGNvbXBpbGF0aW9uIHdpdGggY2VsdCAwLjgKCSAgRml4ZXMgYnVnICM2MjM1NTAuCgoyMDEwLTA3LTA1IDA5OjMyOjMwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJICBnc2V0dGluZ3M6IGZpeCBzb21lIG1vcmUgd2FybmluZ3MKCjIwMTAtMDctMDUgMDk6Mjg6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSAgZ3NldHRpbmdzOiBmaXggYSBjb21waWxlciB3YXJuaW5nCgoyMDEwLTA3LTAzIDE2OjE1OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBnc2V0dGluZ3M6IEluaXRpYWwgdmVyc2lvbiBvZiBHU2V0dGluZ3MgcGx1Z2luCgkgIFRoaXMgcHJvdmlkZXMgYXVkaW8vdmlkZW8gc291cmNlcyBhbmQgc2lua3MuCgkgIEZpeGVzIGJ1ZyAjNjE2MjY1LgoKMjAxMC0wNy0wMyAxNzo0ODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkgIGRvY3M6IEludGVncmF0ZSBWUDggZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzo0NzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24sIGJhc2VkIG9uIHRoZSB0aGVvcmFkZWMvdGhlb3JhZW5jIGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6MzQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBNb3ZlIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgZXRjIHRvIHB1YmxpYyBoZWFkZXIgZmlsZXMgZm9yIGd0ay1kb2MKCjIwMTAtMDctMDIgMTI6NDU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHVzZSBib2d1cyBjb2RlYy9mb3JtYXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY1CgoyMDEwLTA3LTAxIDE1OjE5OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBZGQgc3VwcG9ydCBmb3IgR3N0QnVmZmVyTGlzdAoJICBGYWN0b3Igb3V0IG1vc3Qgb2YgdGhlIGJ1ZmZlciBoYW5kbGluZyBhbmQgaW1wbGVtZW50IGEgY2hhaW5fbGlzdAoJICBmdW5jdGlvbi4gQWxzbywgdGhlIERUTUYgbXV4ZXIgaGFzIGJlZW4gbW9kaWZpZWQgdG8ganVzdCBoYXZlIGEKCSAgZnVuY3Rpb24gdG8gYWNjZXB0IG9yIHJlamVjdCBhIGJ1ZmZlciBpbnN0ZWFkIG9mIGhhdmluZyB0byBzdWJjbGFzcwoJICBib3RoIGNoYWluIGFuZCBjaGFpbl9saXN0LgoKMjAxMC0wNy0wMSAxNToxNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGludmFsaWQgYnVmZmVycwoKMjAxMC0wNi0xNCAxNToxNTowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IEFkZCB0byBkb2NzCgoyMDEwLTA2LTExIDE4OjMxOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IEFkZCBmaXhhdGVzX2NhcHMKCjIwMTAtMDYtMTAgMjA6MzY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogQWNjZXB0IHdpZGVyIGNhcHMKCjIwMTAtMDYtMTAgMjA6MjU6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogTWFrZSBwZXJpb2Qgb3ZlciB3aGljaCB0byBhdmVyYWdlIGNvbmZpZ3VyYWJsZQoKMjAxMC0wNi0xMCAyMDo0MzoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBTaW1wbGlmeSB0cmFuc2Zvcm1fY2FwcwoKMjAxMC0wNi0xMCAyMDoxNDowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBVc2UgYmFzZXRyYW5zZm9ybSBjb3JyZWN0bHkKCjIwMTAtMDYtMTAgMjA6MDg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogTWFrZSBwbHVnaW4gYWN0dWFsbHkgd29yayBieSB1c2luZyBhbiBhdmVyYWdlCgoyMDEwLTA2LTEwIDE5OjE3OjAwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogSW1wb3J0IHBsdWdpbgoJICBJbXBvcnQgcGx1Z2luIGZyb20gUHNpTWVkaWEsIGJhc2VkIG9uIG15IHdvcmsKCjIwMTAtMDctMDEgMTY6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIGlzIHdyaXRhYmxlCgkgIHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIGlzIGEgcmVhZHdyaXRlIHByb3BlcnR5LCBub3QgcmVhZC1vbmx5LgoJICBBbHNvIGFkZHMgc29tZSBtb3JlIGRlYnVnZ2luZyBsb2dzLgoKMjAxMC0wNi0zMCAxODo1OToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBnc3QtZmZtcGVnIHRvIHdoaXRlbGlzdCBhcyB3ZWxsCgkgIFRoZSBteGYgdGVzdHMgdXNlIHNvbWUgZmZtcGVnIGVsZW1lbnRzIGlmIHRoZXkncmUgYXZhaWxhYmxlLgoKMjAxMC0wNi0zMCAxODo1MjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlLy1iYXNlLy1nb29kLy11Z2x5Ly1iYWQgcGx1Z2lucyBoZXJlLgoKMjAxMC0wNi0zMCAxODoyMDoxMyArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBkb24ndCBmcmVlIFBBVCBzdHJ1Y3R1cmUgd2hpY2ggbWF5IHN0aWxsIGJlIG5lZWRlZCBsYXRlcgoJICBUaGlzIGlzIGEgcHJvYmxlbSBpZiB5b3UgdHVuZSB0byBhIGNoYW5uZWwgd2hpY2ggdXNlcyBwaWQgWCBhbmQgbGF0ZXIgdHVuZSB0bwoJICBhbm90aGVyIGNoYW5uZWwgd2hlcmUgWCBpcyB1c2VkIGZvciBhbm90aGVyIHRhYmxlIChlLmcuIFBNVCkuCgkgIFRoZSBjb2RlIHRoYXQgZG9lcyB0aGF0IHdhcyBhY3R1YWxseSBhbHJlYWR5IHRoZXJlIGJ1dCBuZXZlciB1c2VkIGJlY2F1c2UgdGhlCgkgIHBhdCBzdHJ1Y3R1cmUgd2FzIGZyZWVkIGJlZm9yZS4gVGhlIGNvbW1pdCB0aGF0IGludHJvZHVjZWQgdGhvc2UgbGluZXMgaW50ZW5kZWQKCSAgdG8gZml4IGEgbWVtb3J5IGxlYWssIGJ1dCB3ZSBjbGVhbiB0aGluZ3MgdXAgZWxzZXdoZXJlLgoJICBGaXhlcyAjNjIyNzI1LgoKMjAxMC0wNi0zMCAxODoxOTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGluc3BlY3QgaW5mbywgbm93IHNvcnRlZCBhbmQgZXNjYXBlZAoKMjAxMC0wNi0zMCAxNzo1NDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgdGVtcG9yYXJ5IG9yYyBmaWxlcwoKMjAxMC0wNi0yOSAxMToyMTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXU6IENoZWNrIGZvciBsb2cyIGFuZCBvbmx5IHVzZSBpdCBpZiBpdCdzIGF2YWlsYWJsZQoKMjAxMC0wNi0yOCAxNjoyMDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xMCBhbmQgYXV0b2NvbmYgdG8gMi42MAoJICBGb3IgbWFpbnRhaW5hYmlsaXR5IHJlYXNvbnMsICQoYnVpbGRkaXIpIGFuZCBvdGhlciB0aGluZ3MuCgkgIFNlZSAjNjIyOTQ0IGFuZCAjNTcwNDI4LgoKMjAxMC0wNi0yOCAxMjowMDo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdWgyNjRkZWM6IGRvbid0IHVzZSBkZXByZWNhdGVkIGdfcHRyX2FycmF5X2ZyZWUgaW5jYXNlIGdsaWIgPj0gMi4yMgoKMjAxMC0wNi0yOCAxMToxOToyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IHJlc2l6aW5nIG9mIG91dHB1dAoKMjAxMC0wNi0yOCAxMTowODo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdWgyNjRkZWM6IGRvbid0IHVzZSBnbGliIDIuMjIgZnVuY3Rpb25zCgoyMDEwLTA2LTI3IDIwOjI5OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2hhbmdlIEdzdEJhc2VWaWRlb0RlY29kZXIgc3RhdGUgYXBpCgoyMDEwLTA2LTI3IDEwOjUyOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJICB2ZHBhdWgyNjRkZWM6IGZyZWUgZnJhbWVzIG9uIGZpbmFsaXplIGluIEdzdEgyNjREUEIKCjIwMTAtMDYtMjcgMDk6NTU6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBkaXNwbGF5IHByb3BlcnR5IHRvIEdzdFZkcERlY29kZXIKCjIwMTAtMDYtMjcgMDE6Mjc6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdWgyNjRkZWM6IHJlbmFtZSBHc3RWZHBIMjY0RnJhbWUgdG8gR3N0SDI2NEZyYW1lCgoyMDEwLTA2LTI3IDAwOjM2OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGZpeCBlcnJvciBoYW5kbGluZyB3aGVuIHBsdWdnaW5nICJ2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgISBmYWtlc2luayIKCjIwMTAtMDYtMjcgMDA6MzU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBlcnJvciBwYXJhbWV0ZXIgdG8gZ3N0X3ZkcF92aWRlb19zcmNfcGFkX2dldF9kZXZpY2UKCjIwMTAtMDYtMjggMTA6NDc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogTGluayB0byAkKExJQk0pIGZvciBsb2cyIGFuZCBmcmllbmRzCgoyMDEwLTA2LTI3IDE5OjIyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogSW5jbHVkZSBfc3RkaW50LmggZm9yIGludDE2X3QgYW5kIGZyaWVuZHMKCjIwMTAtMDYtMjcgMTc6NDY6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBVc2UgZ19tYWxsb2MoKSBpbnN0ZWFkIG9mIG1hbGxvYygpCgkgIG1hbGxvYygpIG5lZWRzIHN0ZGxpYi5oLCB3aGljaCBpc24ndCBpbmNsdWRlZCBoZXJlIGFuZCB0aGUKCSAgbWVtb3J5IGlzIGZyZWVkIGxhdGVyIHdpdGggZ19mcmVlKCkgYW55d2F5LgoKMjAxMC0wNi0yNyAxMToyNDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGFzc3JlbmRlciwgaXZmcGFyc2UsIGpwZWdmb3JtYXQ6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZCBpbiBjb3JlCgoyMDEwLTA2LTI3IDEwOjQxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICB0ZXN0czogRml4IGJ1aWxkIHdpdGggR1RLKyA8IDIuMTcuNwoJICBndGtfd2lkZ2V0X2dldF9hbGxvY2F0aW9uKCkgd2FzIGFkZGVkIGluIHRoYXQgdmVyc2lvbi4KCjIwMTAtMDYtMjcgMTA6MzY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTQgZm9yIHRoZSBleGFtcGxlCgoyMDEwLTA2LTI3IDA3OjQwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICB0ZXN0czogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1RLIEFQSSB0byBmaXggdGhlIGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6MDI6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdTogYWRkIEdzdFZkcERlY29kZXIgYmFzZSBjbGFzcwoKMjAxMC0wNi0yNiAxOTowMjowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogYWRkIGdzdF9oMjY0X2RwYl9zZXRfb3V0cHV0X2Z1bmMgZnVuY3Rpb24KCjIwMTAtMDYtMjUgMjA6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB1aW50IHRhZ3MgdGhhdCBkb24ndCBoYXZlIGEgY29tcGxlbWVudAoJICBXcml0ZSB1aW50IHRhZ3MgdGhhdCBoYXZlIGNvbXBsZW1lbnRzIChlLmcuIHRyYWNrLW51bWJlci8KCSAgdHJhY2stY291bnQpIGV2ZW4gd2hlbiB3ZSBvbmx5IGhhdmUgb25lIG9mIHRoZW0gYXZhaWxhYmxlCgkgIGFuZCBzZXQgdGhlIG90aGVyIG9uZSB0byAwLgoJICBGaXhlcyAjNjIyNDg0CgoyMDEwLTA2LTI1IDExOjAyOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBJbmNsdWRlIGNvbmZpZy5oIGluIG1ldGFkYXRhKi5jIGZpbGVzCgkgIEluY2x1ZGUgY29uZmlnLmggaW4gbWV0YWRhdGFleGlmLmMgaW4gbWV0YWRhdGEgcGx1Z2luIHNvCgkgIHRoYXQgSEFWRV9FWElGIGdldHMgZGVmaW5lZCBhbmQgZXhpZiBtZXRhZGF0YSBpcyBwcm9wZXJseQoJICBnZW5lcmF0ZWQuCgkgIEFsc28gYWRkcyBjb25maWcuaCB0byBhbGwgLmMgZmlsZXMgbWlzc2luZyBpdCBpbiBtZXRhZGF0YSBwbHVnaW4KCSAgRml4ZXMgIzYyMjY5MgoKMjAxMC0wNi0yNCAyMDoyMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFdhcm4gaWYgcHJlcm9sbCB2YWx1ZSBpcyB0b28gYmlnCgkgIFBvc3QgYSB3YXJuaW5nIHdoZW4gdGhlIHByZXJvbGwgdmFsdWUgaXMgZ3JlYXRlciB0aGFuCgkgIHRoZSBzdHJlYW1zIGR1cmF0aW9uCgoyMDEwLTA2LTI0IDIzOjU3OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJICB2ZHBheTogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1Mgc28gaXQgZmluZHMgdGhlIGdzdC92aWRlby92aWRlby5oCgkgIGhlYWRlcnMgaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuIEFsc28gcmVzaHVmZmxlIG9yZGVyLgoKMjAxMC0wNi0yNCAxODozMjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBNYWtlIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGl0CgkgIEJlZm9yZSBjb3B5aW5nIG1ldGFkYXRhIGZyb20gb25lIGJ1ZmZlciB0byBhbm90aGVyLCBtYWtlIHN1cmUKCSAgdGhlIGRlc3RpbmF0aW9uIGlzIG1ldGFkYXRhLXdyaXRhYmxlLgoKMjAxMC0wNi0yNCAyMjoxNDozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMjQgMjI6MDY6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkgIHZkcGF1aDI2NGRlYzogZml4IGluaXRhbGl6YXRpb24gb2YgR3N0TmFsUmVhZGVyIGNhY2hlCgoyMDEwLTA2LTI0IDEyOjM3OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzLy5naXRpZ25vcmU6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzLW1hcnNoYWwubGlzdDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZHMgYSBzaWduYWwgdG8gaW5mb3JtIG1lYXN1cmVtZW50cyB0byBhcHBzCgkgIEFkZHMgYSBzaWduYWwgZm9yIGFwcGxpY2F0aW9ucyB0byByZWNlaXZlIHRoZSBmcHMgbWVhc3VyZW1lbnRzIG1hZGUKCSAgaW5zdGVhZCBvZiBvbmx5IHByaW50aW5nIHRoZW0gdG8gdGhlIGZyYW1lL3N0ZG91dC4KCSAgVGhpcyBzaWduYWwgaXMgb25seSBlbWl0ZWQgaWYgdGhlIHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIHByb3BlcnR5CgkgIGlzIHNldCB0byBUUlVFCgoyMDEwLTA2LTI0IDEwOjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGRzIG1heC1mcHMgYW5kIG1pbi1mcHMgcHJvcGVydHkKCSAgQWRkcyAyIHByb3BlcnRpZXMgZm9yIGdldHRpbmcgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gZnBzCgkgIHZhbHVlcyBtZWFzdXJlZAoKMjAxMC0wNi0yNCAxMDoyNDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgaW4gYWxsIHByb3BlcnRpZXMKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUKCSAgbWlzc2luZyBpdAoKMjAxMC0wNi0yNCAxMDoyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkIGZwcy11cGRhdGUtaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIGEgcHJvcGVydHkgdG8gc2V0L2dldCB0aGUgZnBzIHVwZGF0ZSBpbnRlcnZhbCBpbnN0ZWFkCgkgIG9mIGhhdmluZyBhIGhhcmRjb2RlZCB2YWx1ZS4KCjIwMTAtMDYtMjQgMTY6MjA6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIgdXNpbmcgQ0ZMQUdTCgoyMDEwLTA2LTI0IDE1OjIzOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSAgUmV2ZXJ0ICJ2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhYTA0NDRmMjA0MTU3YzIyYzExYTc0MjU0N2M5ZTY4YTllYWVjYzgwLgoKMjAxMC0wNi0yNCAxNTowOTozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTYxN2MyIHRvIGE1MTk1NzEKCjIwMTAtMDYtMjQgMTM6MTg6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJICB2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0yMyAyMjozMzowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiB1c2UgYml0c2hpZnRzIGluc3RlYWQgb2YgcG93CgoyMDEwLTA2LTIzIDIyOjIxOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGFkZCBpbnRlcmxhY2VkID0gZmFsc2UgdG8gc2luayBjYXBzCgkgIHdlIGRvbid0IHN1cHBvcnQgaW50ZXJsYWNlZCBjb250ZW50IHlldAoKMjAxMC0wNi0yMyAyMjoxODo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IEFsbCByZWFkIHJldHVybiB2YWx1ZXMgc21hbGxlciB0aGFuIHplcm8gYXJlIGZhaWx1cmVzCgoyMDEwLTA2LTIzIDIxOjEwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBwYXJzaW5nIG9mIHNjYWxpbmcgbGlzdHMKCjIwMTAtMDYtMjMgMjE6MDk6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcmVhZGluZyBvZiBzaWduZWQgZXhwIGdvbG9tYgoKMjAxMC0wNi0yMiAxNTo0OToxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGZpeHVwIGRlY29kZXIgdGltZXN0YW1waW5nCgoyMDEwLTA2LTIyIDE0OjUyOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgcGFyc2VfY29kZWNfZGF0YSBmcm9tIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMjIgMTQ6MjU6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IGluaXRpYWxpemF0aW9uIG9mIGZhbGxiYWNrIHNjYWxpbmcgbWF0cml4CgoyMDEwLTA2LTIyIDE0OjE3OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdWgyNjRkZWM6IGltcHJvdmUgZnVydGhlcgoKMjAxMC0wNi0xNyAxNToyMDo1MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogbm93IHdvcmtzIGZvciBzaW1wbGUgc3RyZWFtcwoKMjAxMC0wNi0xNyAxNToyMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjaGFuZ2UgZ3N0X3ZkcF92aWRlb19zcmNfcGFkX2dldF9kZXZpY2UgYmVoYXZpb3VyCgkgIGl0IG5vdyBjcmVhdGVzIHRoZSBkZXZpY2UgaWYgaXQncyBub3QgYXZhaWxhYmxlCgoyMDEwLTA2LTE2IDIzOjEyOjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1OiBtb3JlIHdvcmsgb24gaDI2NCBkZWNvZGVyCgoyMDEwLTA2LTEwIDEyOjEzOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1OiBhZGQgYmVnaW5uaW5nIG9mIGgyNjQgZGVjb2RlcgoKMjAxMC0wNi0wOSAxNTo0Mzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGJhc2UgdmRwYXVtcGVnZGVjIG9uIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMDggMTM6MzY6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBzbWFsbCBidWcKCjIwMTAtMDUtMTUgMjI6NDc6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgUkVBRF9VSU5UWzh8MTZ8MzJdIG1hY3JvcwoKMjAxMC0wNi0wNCAxMjoyNDoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfc2V0X2NhcHMKCjIwMTAtMDYtMjMgMjE6NDY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBEbyBzb21lIHNhbml0eSBjaGVja3MgYmVmb3JlIGFjY2VwdGluZyBhbiBVUkkKCSAgRml4ZXMgYnVnICM2MjIzNjkuCgoyMDEwLTA2LTE3IDEwOjU4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEFkZHMgaW1hZ2Ugb3JpZW50YXRpb24gdGFncyB0ZXN0cwoJICBBZGRzIHRlc3RzIGZvciBpbWFnZSBvcmllbnRhdGlvbiB0YWdzIHRvIGppZm11eAoKMjAxMC0wNi0yMyAxMDozODo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9idGFpbiBjb3JyZWN0IHVwc3RyZWFtIHRpbWVzdGFtcAoJICAuLi4gZm9yIG9wdGlvbmFsIGRvd25zdHJlYW0gdXNlLgoKMjAxMC0wNi0yMiAxMjoyODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBuZXcgaDI2NCBjYXBzIGF0dHJpYnV0ZSBhbGlnbm1lbnQKCSAgU2VlICM2MDY2NjIuCgoyMDEwLTA2LTIxIDIzOjQ4OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBwcmV2aW91cyBjb21taXQKCSAgV2Ugd2VyZSBsZWFraW5nIHRoZSBlbGVtZW50IHJlZmNvdW50IGFuZCBub3QgdGhlIHBhZCBvbmUuCgoyMDEwLTA2LTIxIDIyOjMzOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGRvbid0IGxlYWsgdGhlIGVsZW1lbnQgcmVmY291bnQKCjIwMTAtMDYtMjEgMTk6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSB0aGUgcGFkIGZyb20gb3VyIGludGVybmFsIGxpc3QgYmVmb3JlIGNhbGxpbmcgY29sbGVjdHBhZHMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgY29sbGVjdHBhZGRhdGEgc3RydWN0dXJlIGFscmVhZHkgZnJlZWQuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgYm9ndXMgaXRlcmF0aW9uIG9mIG11eC0+c2lua3BhZHMgKGFsbCB0aGUKCSAgR3N0UVRQYWQgYmVpbmcgZnJlZWQpIGFuZCBpdCB3b3VsZG4ndCBiZSByZW1vdmVkIGZyb20gdGhhdCBsaXN0LgoJICBGaW5hbGx5LCBkdWUgdG8gaXQgbm90IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QsIHdlIHdvdWxkIGVuZCB1cAoJICBjYWxsaW5nIGEgYm9ndXMgZ3N0X3F0X211eF9wYWRfcmVzZXQgb24gdGhvc2Ugc3RydWN0dXJlcyA9PiBTRUdGQVVMVAoKMjAxMC0wNi0yMSAxMDoyMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmRlYnVnLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTW92ZSBkZWJ1ZyBjYXRlZ29yeSBkZWNsYXJhdGlvbiB0byBhIHNlcGFyYXRlIGZpbGUKCSAgSGF2aW5nIEdTVF9ERUJVR19DQVRFR09SWSBhbmQgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0b2dldGhlcgoJICBtaWdodCBsZWFkIHRvICd1bmRlZmluZWQgc3ltYm9sJyBwcm9ibGVtcy4gVGhpcyBjb21taXQgbW92ZXMKCSAgdGhlIF9FWFRFUk4gdG8gYSBzZXBhcmF0ZSBuZXcgZmlsZS4KCjIwMTAtMDYtMjEgMTE6MTM6MjAgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBSZXZlcnQgImgyNjRwYXJzZTogYWRkIHBhcnNlZCBmaWVsZCB0byBzcmMgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NGVkYWU0ZjFmMjExOWNmNDkyZmZlNDRmOTM2Zjk5ZTEzM2FmN2RjLgoJICBTZWUgdGhpcyBidWcgZm9yIG1vcmUgaW5mb3JtYXRpb246CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTAtMDYtMTcgMDg6NDI6NTMgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJlbW92ZSByZWR1bmRhbnQgbG9nIG1lc3NhZ2UKCjIwMTAtMDYtMjAgMTA6Mzk6MzkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBwYXJzZWQgZmllbGQgdG8gc3JjIGNhcHMKCjIwMTAtMDYtMTggMTQ6Mzc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBVc2UgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgX2dldF9zdHJpbmdfaW5kZXggd2l0aCBfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQKCSAgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxODo0MTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gaGFuZGxlIDMtYnl0ZSBieXRlc3RyZWFtIHN5bmMgY29kZQoKMjAxMC0wNi0xNyAxMDo1MjozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEwLTA2LTE2IDEwOjMxOjE5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IERvbid0IGNyYXNoIGlmIG5vIHZhbGlkIGlucHV0IHdhcyBwYXJzZWQgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NjAzNzcxCgoyMDEwLTA2LTExIDEwOjUzOjI2ICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQWRkZWQgZGVidWdnaW5nIG91dHB1dCBmb3IgbXBlZ3BhY2tldGlzZXIKCjIwMTAtMDYtMTUgMTY6NTA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTU6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBldmVudCByZWYgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzM6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGFyaXRobWV0aWMgb3ZlcmZsb3dzIGluIHB1bGwgbW9kZSBidWZmZXIgY2FjaGUgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBoYW5kbGluZwoJICBBbGxvdyBhIGZldyBtb3JlIHNlZWsgZXZlbnQgdHlwZSBjb21iaW5hdGlvbnMsIGFuZCByZWFsbHkgdXNlIHRoZSByZXN1bHQKCSAgb2YgZ3N0X3NlZ21lbnRfc2V0X3NlZWsgdG8gcGVyZm9ybSB0aGUgc2Vlay4gIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA2LTE1IDE2OjM1OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3Yzg5YjcgdG8gNWFkYjFjYQoKMjAxMC0wNi0xNSAxNTo0OToyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDYtMTIgMDk6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXBsZW1lbnQgbXVsdGlwYXNzIGVuY29kaW5nCgkgIEZpeGVzIGJ1ZyAjNjIxMzQ4LgoKMjAxMC0wNi0xNSAxMToyMDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNwcmlua2xlIHNvbWUgYnJhbmNoIHByZWRpY3Rpb24KCjIwMTAtMDYtMTUgMTE6MTY6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgRkxVU0hfU1RPUCBldmVudAoKMjAxMC0wNi0xNSAxMToxNjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBhcnNlciB0byBpbnNlcnQKCSAgY29uZmlnIChWT1NILCBWT1MsIGV0YykgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBHT1Agb3IgVk9QLUkgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjIxMjA1LgoKMjAxMC0wNi0xNSAxNzoxNjoxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBcHBseSBwcmV2aW91cyB0aW1lc3RhbXAgd2hlbiB0aGVyZSBpc24ndCBhbnkgbmV3ZXIuCgkgIElmIHRoZSBjdXJyZW50IGluY29taW5nIHBhY2tldCBkaWRuJ3QgY2FycnkgYSB0aW1lc3RhbXAsIGJ1dCBhCgkgIHByZXZpb3VzIHBhY2tldCBoYWQgb25lIHdlIGRpZG4ndCB5ZXQgdXNlLCB0aGVuIGFwcGx5IHRoYXQgdGltZXN0YW1wCgkgIHRvIHRoZSBuZXh0IHBpY3R1cmUuCgkgIEZpeGVzOiAjNjE4MzM2CgoyMDEwLTA2LTE0IDE3OjAxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0xpYiAyLjIwCgoyMDEwLTA2LTE0IDE1OjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IFZQOEVfU0VUX0NQVVVTRUQgdG8gMAoJICBUaGlzIHNldHRpbmcgY29udHJvbHMgaG93IG11Y2ggQ1BVIGNhbiBiZSB1c2VkIGJ5IHRoZSBlbmNvZGVyLCBzcGVjaWZpZWQKCSAgaW4gZnJhY3Rpb25zIG9mIDE2LiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiBzdHJpY3QgZW5mb3JjZW1lbnQgb2YgdGhpcwoJICB3aGlsZSBwb3NpdGl2ZSB2YWx1ZXMgYXJlIGFkYXB0aXZlLgoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtNCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSdyZSBub3QgcnVubmluZyBhcyBmYXN0CgkgIGFzIHBvc3NpYmxlIGFuZCBwcm9iYWJseSBhcmUgd2FzdGluZyBzb21lIHF1YWxpdHkuIDAgaXMgdGhlIHJlY29tbWVuZGVkCgkgIGRlZmF1bHQgYnkgbGlidnB4IHVwc3RyZWFtLgoKMjAxMC0wNi0xNCAxNTo1MTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBWUFggZGVmaW5lcyBmb3IgUkVBTFRJTUUsIEdPT0QvQkVTVCBxdWFsaXR5IGRlYWRsaW5lcyBpbnN0ZWFkIG9mIG91ciBvd24KCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgdXNlZCBmb3IgdGhlIHNwZWVkIHByb3BlcnR5LgoKMjAxMC0wNi0xNCAxNTo0Njo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IHByZXZlbnQgY29tcGlsZXIgd2FybmluZyBpZiBvcmMgbm90IHByZXNlbnQKCjIwMTAtMDUtMzEgMTg6MzA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaGFuZGxlIEZMVVNIX1NUT1Agc2luayBldmVudAoKMjAxMC0wNS0zMSAxODozMDoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBvcHRpbWl6ZSBpbWFnZSBwYXJzaW5nCgkgIFVzZSBhZGFwdGVyIEFQSSBmb3Igc2Nhbm5pbmcgYW5kIHBlZWtpbmcgdG8gcmVkdWNlIGJ1ZmZlciBjb3B5aW5nLgoJICBTZWUgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTU6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE0OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3Igb3JjIGluc3RlYWQgb2YgbGlib2lsCgoyMDEwLTA2LTE0IDE0OjUxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogVXNlIG9yYyBmb3IgQ1BVIGZlYXR1cmUgZGV0ZWN0aW9uCgoyMDEwLTA2LTE0IDE0OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHVzZSBsaWJvaWwgZnVuY3Rpb25zCgkgIGdsaWJjIG1lbWNweSgpIHdpbGwgYmUgZmFzdGVyIHRoYW4gbGlib2lsJ3Mvb3JjJ3MgZm9yIG5vdyBhbnl3YXkKCSAgYW5kIHdlIGNhbiB1c2Ugb3JjJ3MgbGF0ZXIsIGFmdGVyIG9yYyBoYXMgc3VwcG9ydCBmb3IgbG9vcCB1bnJvbGxpbmcuCgoyMDEwLTA2LTE0IDE0OjQ3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogRG9uJ3QgaW5jbHVkZSBsaWJvaWwgaGVhZGVycywgdGhleSdyZSBub3QgdXNlZCBhbnl3YXkKCjIwMTAtMDYtMTQgMTM6MjY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBHTElCX0VYVFJBX0NGTEFHUwoKMjAxMC0wNi0xNCAxMzowNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhMGZkZjUgdG8gYzgwNDk4OAoKMjAxMC0wNi0xNCAxMjo0OTo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGFkZCBvcHRpb24gdG8gaW5zZXJ0IFNQUy9QUFMgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zZXJ0IFNQUyBhbmQgUFBTIGF0IHBlcmlvZGljIGludGVydmFscwoJICBpbiB0aGUgc3RyZWFtICh3aGVuIGFuIElEUiBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MjA5NzguCgoyMDEwLTA2LTA5IDE1OjMyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBjb2xsZWN0IFNQUyBhbmQgUFBTIG5hbHUgaW4gY29kZWNfZGF0YQoKMjAxMC0wNi0xNCAxMTozNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYTNiYWIgdG8gN2EwZmRmNQoKMjAxMC0wNi0xMyAwODoyODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IERvbid0IHVzZSBkZXByZWNhdGVkIDE1LzE2IGJpdCBSR0IgbWFza3MKCjIwMTAtMDYtMTIgMDg6Mjg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDUtMjIgMTA6MzU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBtaW5vciBjbGVhbi11cAoJICBVc2UgZ3N0X3VyaV9oYXNfcHJvdG9jb2woKS4KCjIwMTAtMDYtMTEgMTU6Mjk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogRml4IHRlc3RzIGJ1aWxkaW5nCgkgIE9ubHkgYnVpbGQgamlmbXV4IHRlc3RzIGlmIGxpYmV4aWYgaGVhZGVycyBhcmUgcHJlc2VudAoKMjAxMC0wNi0wOSAxOToxNjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IHVzZSBnbGliIGluc3RlYWQgb2Ygc3RkaW50IHR5cGVzCgoyMDEwLTA2LTA5IDE4OjM5OjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gZm9yIE9yYyBjaGVjawoKMjAxMC0wNi0wNSAxNjowMjo0MSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSBzcHVyaW91cyB3YXJuaW5nCgoyMDEwLTA2LTEwIDE0OjE3OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGNvcmUvYmFzZSBnaXQgZm9yIHRoZSBuZXcgaW1hZ2UgdGFncyBhbmQgaGVscGVyIGZ1bmN0aW9ucwoKMjAxMC0wNS0xMCAxMDo0NzowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgamlmbXV4IGV4aWYgdGFncyB0ZXN0cwoJICBBZGRzIGEgYmFzaWMgdW5pdCB0ZXN0IGZvciBqaWZtdXggdG8gdGVzdCB0aGF0IGV4aWYgdGFncwoJICBhcmUgd3JpdGVuIHByb3Blcmx5LgoJICBUaGlzIHRlc3QgdXNlcyBsaWJleGlmLgoJICBGaXhlcyAjNjE0ODcyCgoyMDEwLTA0LTI4IDIzOjUyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogQWRkIGV4aWYgc3VwcG9ydAoJICBBZGRzIGV4aWYgd3JpdGluZyBzdXBwb3J0IHRvIGppZm11eC4KCSAgQWRkcyBwYXJzaW5nIHN1cHBvcnQgdG8ganBlZ3BhcnNlLgoJICBGaXhlcyAjNjE0ODcyCgoyMDEwLTA2LTA5IDEyOjQwOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjQ5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IHRpbWVzdGFtcHMgYWZ0ZXIgYSBzZWVrCgoyMDEwLTA2LTA4IDE0OjMzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogRGVwcmVjYXRlICdpcy1saXZlJyBhbmQgYWRkICdzdHJlYW1hYmxlJyBwcm9wZXJ0eQoJICBGb2xsb3dpbmcgdGhlIHNpbWlsYXIgY2hhbmdlIGluIGZsdm11eCwgdGhpcyBjb21taXQgYWRkcwoJICAnc3RyZWFtYWJsZScgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZWQgJ2lzLWxpdmUnIGZvciBhIGJldHRlci9sZXNzIHdyb25nCgkgIG5hbWUuCgoyMDEwLTA1LTEzIDEyOjE1OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGRvbid0IHNldCB0aGUgJ3NlZWthYmxlJyBmbGFnIGlmIHdlIGFyZSBzdHJlYW1pbmcKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNC0yOSAxMDo0Njo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB3cml0ZSBwcmVyb2xsIGluZm8gaW4gdGhlIGhlYWRlciBhdCBpbml0aWFsaXphdGlvbgoJICBUaGlzIHZhbHVlIGRvZXNuJ3QgbmVlZCB0byBiZSB1cGRhdGVkIGFuZCBpcyB1c2VmdWxsIGluIGEgc3RyZWFtaW5nIGNvbnRleHQKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNC0yNiAxMzozMzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBwdXQgaGVhZGVycyBpbiBzdHJlYW1oZWFkZXIgZm9yIHN0cmVhbWluZwoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA2LTA4IDEzOjU5OjQ1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBzdGFydCBwbXQgYXQgMHgwMjAgYXMgc3VnZ2VzdGVkIGJ5IFphaGVlcgoKMjAxMC0wNi0wOCAxMzo1OTowOCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB0YWtlIGFsbCB0aGUgcG10IGluIHRoZSBzdHJlYW1oZWFkZXJzCgoyMDEwLTA2LTA4IDA5OjE0OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGFzc2VydCBvbiBzZXRfcHJvcGVydHkgdG8gTlVMTCBmb3IgZWxlbWVudHMKCSAgQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIE5VTEwgYmVmb3JlIHJlZmZpbmcgdGhlbSBpbiBzZXRfcHJvcGVydHkKCSAgZm9yICdHc3RFbGVtZW50JyBwcm9wZXJ0aWVzCgoyMDEwLTA2LTA4IDA4OjQxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGFzc2VydCBvbiBudWxsIGNhcHMgcHJvcGVydHkKCSAgSWYgY2FtZXJhYmluIHJlY2VpdmVzIGEgbnVsbCBjYXBzIGFzICdmaWx0ZXItY2FwcycgYXJndW1lbnQsCgkgIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZQoKMjAxMC0wNi0wNyAyMjo1NjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFVzZSBfQ0FTVCBtYWNybwoJICBSZXBsYWNlIGRlZmF1bHQgdHlwZSBjYXN0aW5nIG1hY3JvIHdpdGggdGhlIGZhc3RlciBkaXJlY3QgX0NBU1QgbWFjcm8KCjIwMTAtMDYtMDcgMjI6MjE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoJICBNYWtlcyB0aGUgZWxlbWVudCdzIHByb3BlcnRpZXMgY29udHJvbGxhYmxlIGFuZCB0aHJlYWRzYWZlLgoJICBGaXhlcyAjNjIwODI1CgoyMDEwLTA2LTA3IDE3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogUmVtb3ZlIHBhZ2UtdXJsIGFuZCBzd2YtdXJsIHByb3BlcnRpZXMKCSAgSXQncyBwb3NzaWJsZSB0byBpbmNsdWRlIGFsbCB0aG9zZSBvcHRpb25zIGluIHRoZSBVUkwgYWxyZWFkeQoJICBieSBhcHBlbmRpbmcgdGhlIG9wdGlvbnMgYW5kIHNlcGFyYXRpbmcgdGhlbSBieSBzcGFjZXMsIGUuZy4KCSAgcnRtcDovL3NvbWV3aGVyZS9zb21ldGhpbmcgb3B0MT12YWwxIG9wdDI9dmFsMgoKMjAxMC0wNi0wNyAxNzozMDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBtZW1vcnkgbGVha3MKCjIwMTAtMDYtMDcgMTE6MTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IE9ubHkgd29ya3Mgd2l0aCByYXRlPTgwMDAsIGZpeCBpbiBjYXBzCgoyMDEwLTA2LTA3IDA3OjU4OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNyYXNoIGluICdmaWxlbmFtZScgcHJvcGVydHkKCSAgRG8gbm90IGNyYXNoIHdoZW4gZmlsZW5hbWUgcHJvcGVydHkgaXMgc2V0IHRvIE5VTEwsIHVzZSBhbgoJICBlbXB0eSBzdHJpbmcgaW5zdGVhZC4KCjIwMTAtMDYtMDcgMDc6Mzg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IFJ1biBnc3QtaW5kZW50IG9uIC5jIGZpbGVzCgkgIGthdGUgcGx1Z2luIGhhcyBzb21lIGluZGVudGF0aW9uIHByb2JsZW1zLCBydW4gZ3N0LWluZGVudCBvbiB0aGVtCgkgIGFuZCBmaXggaXQKCjIwMTAtMDYtMDYgMjI6MzQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBtYXJibGU6IEFkZHMgJ21hcmJsZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRoYXQgZG9lcyBhIG1hcmJsaW5nIGVmZmVjdCB0bwoJICBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTA2IDE0OjM1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogVXNlIGV4cGxpY2l0IGZvcm1hdHMgZnJvbSBnc3R2aWRlbwoJICBVc2UgZXhwbGljaXQgZm9ybWF0IG1hY3JvcyBmcm9tIGdzdHZpZGVvIHRvIGF2b2lkIGV4cG9zaW5nCgkgIHVuc3VwcG9ydGVkIGZvcm1hdHMgb24gdGVtcGxhdGUgcGFkcy4gVXNpbmcgdGhlIG1hY3JvcwoJICBhbHNvIGdpdmUgdXMgY29tcGxldGUgY2FwcyAod2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZSkuCgkgIEFuZCBhZGQgc3VwcG9ydCBmb3IgQVlVVi4KCSAgRml4ZXMgIzYyMDcxNwoKMjAxMC0wNi0wNSAxOTozODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGRpZmZ1c2U6IEFkZHMgZGlmZnVzZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIHRoZSAnZGlmZnVzZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uIEl0IG1vdmVzCgkgIHRoZSBwaXhlbHMgb2YgdGhlIGltYWdlIGluIHJhbmRvbSBkaXJlY3Rpb25zCgoyMDEwLTA2LTA1IDE5OjIwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTWFrZSBtYXAgcHJlY2FsY3VsYXRpb24gb3B0aW9uYWwKCSAgQWRkcyBhIHZhcmlhYmxlIHRvIGJlIHNldCB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIGVuYWJsZQoJICBvciBkaXNhYmxlIHByZWNhbGN1bGF0aW9uIG9mIHRoZSBwaXhlbHMgbWFwcGluZwoKMjAxMC0wNi0wNiAxNTozMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEFkZCBzb21lIGJyYWNlcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTA2IDE1OjI5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogSW1wcm92ZSB0aW1lc3RhbXAgaGFuZGxpbmcgYSBiaXQKCjIwMTAtMDYtMDYgMTU6MjQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nCgoyMDEwLTA2LTA2IDEzOjU3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBIYW5kbGUgdGltZXN0YW1wcyBhbmQgdGhlIHBvc2l0aW9uIHF1ZXJ5CgkgIFRoaXMgaXMgbm90IHZlcnkgYWNjdXJhdGUgYnV0IGJldHRlciB0aGFuIG5vdGhpbmcuIFRoZSBkZW11eGVyCgkgIGFmdGVyIHRoZSBzb3VyY2Uga25vd3MgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzLgoKMjAxMC0wNi0wNiAwODozMDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEFsbG9jYXRlIGFuZCBmcmVlIHRoZSBSVE1QIGluc3RhbmNlIGluIHN0YXJ0L3N0b3AKCjIwMTAtMDYtMDQgMjI6MzY6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEFkZCBwcm9wZXJ0aWVzIGZvciBzZXR0aW5nIHRoZSBzd2ZVcmwgYW5kIHBhZ2VVcmwgcHJvcGVydGllcwoJICBUaGVzZSBhcmUgcmVxdWlyZWQgZm9yIHNvbWUgc3RyZWFtcyB1bmZvcnR1bmF0ZWx5LgoKMjAxMC0wNi0wNCAyMjowNDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogTWFqb3IgY2xlYW51cCBhbmQgcmVvcmdhbml6YXRpb24KCjIwMTAtMDYtMDQgMDg6MTQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9SRUFETUU6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0bXAvYW1mLmM6CgkqIGdzdC9ydG1wL2FtZi5oOgoJKiBnc3QvcnRtcC9ieXRlcy5oOgoJKiBnc3QvcnRtcC9kaC5oOgoJKiBnc3QvcnRtcC9kaGdyb3Vwcy5oOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZ3N0L3J0bXAvaGFuZHNoYWtlLmg6CgkqIGdzdC9ydG1wL2hhc2hzd2YuYzoKCSogZ3N0L3J0bXAvaHR0cC5oOgoJKiBnc3QvcnRtcC9sb2cuYzoKCSogZ3N0L3J0bXAvbG9nLmg6CgkqIGdzdC9ydG1wL3BhcnNldXJsLmM6CgkqIGdzdC9ydG1wL3J0bXAuYzoKCSogZ3N0L3J0bXAvcnRtcC5oOgoJKiBnc3QvcnRtcC9ydG1wX3N5cy5oOgoJICBydG1wOiBNb3ZlIHRvIGV4dCBhbmQgZHJvcCBpbnRlcm5hbCBsaWJydG1wIGNvcHkKCSAgV2UgcmVhbGx5IGRvbid0IHdhbnQgdGhpcyBpbiBnc3QtcGx1Z2lucy1iYWQgYmVjYXVzZSBvZgoJICBsZWdhbCBjb21wbGV4aXRpZXMgYXJvdW5kIFJUTVAgYW5kIHBvc3NpYmxlIHByb2JsZW1zCgkgIGZvciBkaXN0cmlidXRpb25zLgoJICBBZGQgUkVBRE1FIHRoYXQgZXhwbGFpbnMgaG93IHRvIGJ1aWxkIGxpYnJ0bXAgdG8gYmUgc3VpdGFibGUKCSAgZm9yIGxpbmtpbmcgdG8gdGhlIEdTdHJlYW1lciBwbHVnaW4uCgoyMDEwLTA2LTAyIDAwOjQ1OjA2ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRtcC9hbWYuYzoKCSogZ3N0L3J0bXAvYW1mLmg6CgkqIGdzdC9ydG1wL2J5dGVzLmg6CgkqIGdzdC9ydG1wL2RoLmg6CgkqIGdzdC9ydG1wL2RoZ3JvdXBzLmg6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9oYW5kc2hha2UuaDoKCSogZ3N0L3J0bXAvaGFzaHN3Zi5jOgoJKiBnc3QvcnRtcC9odHRwLmg6CgkqIGdzdC9ydG1wL2xvZy5jOgoJKiBnc3QvcnRtcC9sb2cuaDoKCSogZ3N0L3J0bXAvcGFyc2V1cmwuYzoKCSogZ3N0L3J0bXAvcnRtcC5jOgoJKiBnc3QvcnRtcC9ydG1wLmg6CgkqIGdzdC9ydG1wL3J0bXBfc3lzLmg6CgkgIHJ0bXA6IEFkZCBSVE1QIHNvdXJjZSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2NjYwNAoKMjAxMC0wNi0wNSAxMTowNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFNldCBvdXRwdXQgYnVmZmVyIGRhdGEgdG8gMAoJICBJbml0aWFsaXplIG91dHB1dCBidWZmZXIgZGF0YSB0byAwIGJlZm9yZSBkb2luZyB0aGUKCSAgdHJhbnNmb3JtLgoKMjAxMC0wNi0wNSAxMDo1ODowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IERlc2NyaXB0aW9ucyBhbmQgZGVmYXVsdCB2YWx1ZXMKCSAgSW1wcm92ZSBzb21lIHByb3BlcnRpZXMgYW5kIGVsZW1lbnQgZGVzY3JpcHRpb25zIGFuZCBjaGFuZ2VzCgkgIHNvbWUgZGVmYXVsdCBwcm9wZXJ0aWVzIHZhbHVlcy4KCjIwMTAtMDYtMDQgMTY6MTQ6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBWZXJpZnkgdGhhdCBwaXBlIGV4aXN0cyBiZWZvcmUgcmVzaXppbmcgaXQKCjIwMTAtMDYtMDQgMTU6NTQ6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIGNvcHlyaWdodCBub3RpY2VzIHRvIHNobWFsbG9jLltjaF0gYW5kIHNobXBpcGUuW2NoXQoKMjAxMC0wNi0wNCAxNTo1MzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UKCSAgUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSBnZW9tZXRyaWN0cmFuc2Zvcm0gZmlsZXMKCjIwMTAtMDYtMDMgMDA6MjQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIHdhdGVycmlwcGxlOiBBZGRzIG5ldyB3YXRlcnJpcHBsZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zb2ZtcgoJICBBZGRzIGFuIHdhdGVyIHJpcHBsZSBkaXN0b3J0aW9uIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgoyMDEwLTA2LTAyIDIzOjU1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIHNwaGVyZTogQWRkcyBuZXcgJ3NwaGVyZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRvIGRvICdzcGhlcmUnIGVmZmVjdCBpbnRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBwbHVnaW4KCjIwMTAtMDYtMDIgMjI6MDE6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkcyBzb21lIHByb3BlcnRpZXMgdG8gYmFzZSBjbGFzcwoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoYXQgdG8gZG8gd2l0aCBwaXhlbHMgdGhhdCBhcmUgbWFwcGVkIG91dCBvZgoJICBlZGdlczogaWdub3JlLCBjbGFtcCBvciB3cmFwLgoKMjAxMC0wNi0wMiAxODo1ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGNpcmNsZTogQWRkcyBjaXJjbGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgkgIEFkZHMgdGhlIG5ldyAnY2lyY2xlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDIgMDE6MjE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBrYWxlaWRvc2NvcGU6IEFkZHMgbmV3IGVsZW1lbnQgJ2thbGVpZG9zY29wZScKCSAgQWRkcyBuZXcga2FsZWlkb3Njb3BlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wMiAwMDo0ODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ3N0dHdpcmw6IEFkZHMgbmV3IGVsZW1lbnQgdHdpcmwKCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW46IHR3aXJsCgoyMDEwLTA2LTAyIDAwOjM0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgYSBpbnRlcm1lZGlhcnkgYmFzZWNsYXNzIGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGFuIGludGVybWVkaWFyeSBiYXNlY2xhc3MgbmFtZWQgZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtCgkgIHRvIGtlZXAgY29tbW9uIHByb3BlcnRpZXMgY29kZSBmb3IgZmlsdGVycyB0aGF0IG9wZXJhdGUgb24KCSAgYSBjaXJjdWxhciBhcmVhLgoKMjAxMC0wNS0zMCAxMjo1MDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSAgcGluY2g6IFNvbWUgb3B0aW1pemF0aW9uIHVzaW5nIHRoZSBwcmVwYXJlIGZ1bmMKCSAgU21hbGwgb3B0aW1pemF0aW9uIGJ5IHByZWNhbGN1bGF0aW5nIHRoZSBjZW50ZXIgb2YgdGhlIGVmZmVjdCwKCSAgYWxzbyB1c2UgbmV3bHkgYWRkZWQgX0NBU1QgbWFjcm8uCgoyMDEwLTA1LTMwIDEyOjM2OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyBwcmVwYXJlIGZ1bmN0aW9uIGFuZCBjbGVhbnVwCgkgIEFkZHMgYSBwcmVwYXJlIGZ1bmN0aW9uIHRvIG1ha2Ugc3ViY2xhc3NlcyBwcmVjYWxjdWxhdGUgdmFsdWVzCgkgIHRoYXQgd2lsbCBiZSB1c2VkIHRocm91Z2hvdXQgdGhlIG1hcHBpbmcgZnVuY3Rpb25zLgoJICBBbHNvIGFkZHMgYSBtaXNzaW5nIGNsZWFudXAgdG8gZml4IGEgbWVtbGVhawoKMjAxMC0wNS0yNiAyMTozOToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFByZWNhbGN1bGF0ZSBtYXBwaW5nIGFycmF5CgkgIFByZWNhbGN1bGF0ZSB3aGVuIHNldHRpbmcgY2FwcyB0aGUgd2FycGluZyBtYXAgdG8gYXZvaWQKCSAgcmVjYWxjdWxhdGluZyBpdCBldmVyeSBidWZmZXIKCjIwMTAtMDUtMjYgMTg6Mjk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBY2NlcHQgYW55IHJnYiBvciBncmF5CgkgIFVzaW5nIGdzdHZpZGVvIGZ1bmN0aW9ucyBnZW9tZXRyaWN0cmFuc2Zvcm0gY2FuIGhhbmRsZQoJICByZ2Igb3IgZ3JheSwgcHV0IHRoYXQgb24gdGVtcGxhdGUgY2FwcwoKMjAxMC0wNS0yNiAxODoyMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVuYW1lIHNvbWUgdmFyaWFibGVzIGZvciBjbGFyaXR5CgkgIFJlbmFtZXMgc29tZSB2YXJpYWJsZXMgYW5kIGFkZHMgYSBtaW5pbXVtIGRvYyB0byB0aGUKCSAgbWFwcGluZyBmdW5jdGlvbiBmb3IgYSBsaXR0bGUgY2xhcml0eS4KCSAgQWxzbyB1c2VzIGdzdHZpZGVvIGZ1bmN0aW9ucyBmb3IgdGhlIHJvdyBhbmQgcGl4ZWwgc3RyaWRlcwoJICBpbnN0ZWFkIG9mIGhhcmRjb2RlZCB2YWx1ZXMKCjIwMTAtMDUtMjQgMjM6NTc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBOZXcgcGx1Z2luIGZvciBnZW9tZXRyaWMgdHJhbnNmb3JtcwoJICBBZGRzIGEgbmV3IHBsdWdpbiB0aGF0IGhhcyBlbGVtZW50cyB0aGF0IHBlcmZvcm0gZ2VvbWV0cmljCgkgIHRyYW5zZm9ybWF0aW9ucyB0byBpbWFnZXMuIEJ5IGdlb21ldHJpYyB0cmFuc2Zvcm1hdGlvbnMgSSBtZWFuCgkgIHRoYXQgdGhlIG9wZXJhdGlvbnMgYXJlIGZ1bmN0aW9ucyB0aGF0IGdpdmVuIHRoZSBvdXRwdXQgcGl4ZWwKCSAgcG9zaXRpb24sIGdldCB0aGUgcGl4ZWwgcG9zaXRpb24gaW4gdGhlIGlucHV0IGltYWdlLiBUaGlzIHBpeGVsCgkgIGlzIHRoZW4gY29waWVkIGZyb20gaW5wdXQgdG8gb3V0cHV0LgoJICBUaGUgZ3N0Z2VvbWV0cmljdHJhbnNmb3JtIGJhc2VjbGFzcyBtYWtlcyBpdCBlYXN5IHRvIHdyaXRlCgkgIHN1Y2ggZWxlbWVudHMuIEl0IGJvaWxzIGRvd24gdG8gd3JpdGUgdGhlIG1hcHBpbmcgZnVuY3Rpb24KCSAgYW5kIGV4cG9zaW5nIHByb3BlcnRpZXMKCSAgQWxyZWFkeSBhZGRlZCB0aGUgZmlyc3Qgb2YgdGhlIGVsZW1lbnRzLCAncGluY2gnLiBJdCdzIGEgY29tbW9uCgkgIGVmZmVjdCBpbiBpbWFnZSBlZGl0b3JzLCBsaWtlIGdpbXAgKGRpc3RvcnQgLT4gcGluY2gpCgoyMDEwLTA2LTAzIDIzOjE5OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJICB0b29sczogZmxlc2ggb3V0IGVsZW1lbnQtbWFrZXIgdGVtcGxhdGVzCgoyMDEwLTA2LTAzIDE4OjE0OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBoYW5kbGUgb3RoZXIgYmF5ZXIgZm9ybWF0cwoKMjAxMC0wNi0wMyAxODoxNDo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgcmdiMmJheWVyOiBoYW5kbGUgbXVsdGlwbGUgYmF5ZXIgZm9ybWF0cwoKMjAxMC0wNi0wMyAxNTo1MzowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgYmF5ZXI6IEFkZCByZ2IyYmF5ZXIgZWxlbWVudAoJICBNb3N0bHkgZm9yIHRlc3RpbmcvY29tcGxldGVuZXNzLgoKMjAxMC0wNi0wMyAyMDo1MTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBmaXggZGVidWcgbWVzc2FnZXMKCSAgTWlzYy4gcHJpbnRmIGZvcm1hdCBmaXhlcyBhbmQgbWlzc2luZyBhcmd1bWVudHMuCgoyMDEwLTA2LTAzIDE1OjI3OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogTWFrZSBzdGF0aWMgZnVuY3Rpb24gc3RhdGljCgoyMDEwLTA2LTAzIDE1OjI2OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTA2LTAzIDE0OjQyOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vZ3N0c2htLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSogZ3N0L3NobS9zaG1hbGxvYy5jOgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmg6CgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogTW92ZSB0byBzeXMvIHNpbmNlIGl0IGRvZXNuJ3QgZXhpc3Qgb24gd2luZG93cwoKMjAxMC0wNi0wMyAxNDo0MTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBGaXggaW5kZW50YXRpb24KCjIwMTAtMDYtMDMgMTQ6MjI6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IFByaW50IGVycm9ycyBpZiBmY2htb2QgZmFpbHMKCjIwMTAtMDQtMDcgMTk6MDU6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBGaXggY3Jhc2ggd2hlbiBzcF9jbG9zZV9zaG0gaXMgY2FsbGVkIHdpdGggc2VsZiA9PSBOVUxMLgoJICBJZiBzcF9vcGVuX3NobSBlcnJvcnMgb3V0IHRyeWluZyB0byBvcGVuIGEgc2htIGFyZWEsIGl0IHdvdWxkIGNyYXNoCgkgIHdoZW4gdHJ5aW5nIHRvIGZyZWUgdGhlIGFyZWEuIFRoZSBSRVRVUk5fRVJST1IgbWFjcm8gY2FsbHMKCSAgc3Bfc2htX2FyZWFfZGVjIHdpdGggc2VsZiA9PSBOVUxMLiBzcF9zaG1fYXJlYV9kZWMgY2FsbHMKCSAgc3Bfc2htX2Nsb3NlLCB3aXRoIHNlbGYgPT0gTlVMTCwgd2hpY2ggaXQgdGhlbiB0cmllcyB0byBhY2Nlc3MgYQoJICBwYXJhbWV0ZXIgb2Ygd2l0aG91dCBjaGVja2luZy4gVGhpcyBwYXRjaCBjaGVja3MgdG8gbWFrZSBzdXJlCgkgIHNlbGYgIT0gTlVMTCBiZWZvcmUgYWNjZXNzaW5nIHRoYXQgcGFyYW1ldGVyLgoKMjAxMC0wNC0wNyAxOTowNToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFVwZGF0ZSBjb2RlIHN0YW5kYXJkCgoyMDEwLTAyLTAzIDEzOjUwOjEzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEFkZCBzb2NrZXQgcGF0aCB0byBlcnJvciBtZXNzYWdlCgoyMDEwLTAyLTAyIDE3OjQwOjA5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogUmVtb3ZlIHdyb25nIHRlc3QgaW52ZXJzaW9uCgoyMDEwLTAyLTAyIDE3OjM1OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogVmVyaWZ5IHRoYXQgYWNjZXB0IHN1Y2NlZWRzCgoyMDEwLTAyLTAyIDE3OjM1OjE1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRml4IG9uZSBieXRlIG92ZXJmbG93CgoyMDEwLTAyLTAyIDExOjExOjA2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBJbXByb3ZlIGRlYnVnIHByaW50cwoKMjAxMC0wMS0yNiAxMjozNDozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEdldCBwb3RlbnRpYWxseSBtb2RpZmllZCBhZnRlciBvcGVuaW5nIHNobXBpcGUKCjIwMTAtMDEtMjYgMTI6MzI6NTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htOiBUcnkgYWx0ZXJuYXRlIHBhdGhzIGZvciB0aGUgc29ja2V0CgoyMDEwLTAxLTI5IDExOjA2OjQ0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRG9uJ3QgcHJldGVuZCB0aGUgcGF0aCBpcyByYW5kb20KCjIwMTAtMDEtMjkgMTA6NTc6MjcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBDcmVhdGUgc2htIGFyZWEgZXhjbHVzaXZlbHkKCjIwMTAtMDEtMjggMTU6MzQ6NDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG1hbGxvYzogTWFrZSBpdCBidWlsZCBpbiBub24tZ2xpYiB3b3JsZAoKMjAxMC0wMS0yOCAxMjoxOTowNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htc3JjOiBNYWtlIHRoZSBzaG1waXBlIGxpZmUgaW5kZXBlbmRhbnQgb2YgdGhlIGVsZW1lbnQgc3RhdGVzCgoyMDEwLTAxLTI4IDExOjU3OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogU2ltcGxpZnkgaGFuZGxpbmcgb2YgcmFuZG9tIHBhdGhzCgoyMDEwLTAxLTI4IDExOjM2OjAxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1waXBlOiBSZW1vdmUgdXNlbGVzcyBhdHRyaWIKCjIwMTAtMDEtMjggMTE6MzE6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBSZWYgY2xpZW50IHNobWFyZWEgd2hlbiBhIGJ1ZmZlciBpcyByZWNlaXZlZCBpbiBpdAoKMjAxMC0wMS0yOCAxMTozMDoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IERvbid0IGRlYyBvbGQgc2htIGFyZWEgd2hlbiBuZXcgb25lIGlzIGFkZGVkCgkgIEl0cyByZWYgd2lsbCBiZSBkcm9wcGVkIHdoZW4gdGhlICJjbG9zZSIgbWVzc2FnZSBhcnJpdmVzCgoyMDEwLTAxLTI3IDExOjQ5OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IExvY2sgdXNlcyBvZiBzaG1waXBlCgoyMDEwLTAxLTI2IDE0OjIwOjM1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEFkZCBpcy1saXZlIHByb3BlcnR5CgoyMDA5LTExLTAzIDIwOjAzOjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBQcmludCBkZXRhaWxzIG9uIGVycm9ycwoKMjAwOS0xMS0wMyAxODozMzozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2UgdmFsZ3JpbmQgaGFwcHkKCjIwMDktMTEtMDMgMTY6MzE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBEb24ndCBibG9jayBvbiBFT1MgaW4gbm9uLWJsb2NraW5nIG1vZGUKCjIwMDktMTEtMDMgMTY6MDk6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IEJsb2NrIGlmIHJlcXVpcmVkCgoyMDA5LTEwLTMwIDE4OjI0OjU4ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobS5oOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IFBvcnQgdG8gU2htUGlwZQoKMjAwOS0xMC0zMCAxMjozNzo1MCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htc3JjOiBQb3J0IHRvIFNobVBpcGUKCjIwMDktMTAtMjkgMTk6MTg6MjUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vc2htYWxsb2MuYzoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIHNobXBpcGUgaW1wbGVtZW50YXRpb24KCjIwMDktMDQtMjkgMTY6MzM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9nc3RzaG0uYzoKCSogZ3N0L3NobS9nc3RzaG0uaDoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG06IEFkZCBzaG0gYmFzZWQgc2luayBhbmQgc3JjCgkgIFRoZXNlIHR3byBlbGVtZW50cyAoc2htc2luayBhbmQgc2htc3JjKSBjb21tdW5pY2F0ZSBidWZmZXJzIHVzaW5nIFBPU0lYCgkgIHNoYXJlZCBtZW1vcnkuIFRoZXkgYWxzbyBjb21tdW5pY2F0ZSB0aGUgY2Fwcy4gVGhlIHNvdXJjZSBjdXJyZW50bHkgYWN0cyBhcwoJICBhIGxpdmUgc291cmNlIGFuZCBpZ25vcmVzIHRoZSB0aW1lc3RhbXBzIGNvbWluZyBmcm9tIHRoZSBzaW5rLiBJdCBhbHNvIGRvZXMKCSAgbm90IHRyYW5zZmVyIHRoZSB0YWdzLgoKMjAxMC0wNi0wMyAxNTo1MToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTb21lIGNoZWNrcyB0byBhdm9pZCBhc3NlcnRzCgkgIGdzdF9tcGVnX2Rlc2NyaXB0b3JfZmluZCgpIGV4cGVjdHMgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHRvIGJlIG5vbi1OVUxMLgoJICBUaGlzIGZpeGVzIGEgY291cGxlIG9mIGNhbGxzIHdoZXJlIHRoZSB2YWx1ZSBiZWluZyBwYXNzZWQgaXMgbm90CgkgIHZlcmlmaWVkIHRvIGJlIG5vbi1OVUxMIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwNDU2CgoyMDEwLTA2LTAzIDEwOjQ5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBpbiBsb2cgbWVzc2FnZQoJICBnc3R2cDhlbmMuYzo1NjQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgkgIGdzdHZwOGVuYy5jOjc0NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCjIwMTAtMDYtMDMgMTA6NDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogZml4IG1pc3NpbmcgZGVidWcgbG9nIG1lc3NhZ2UgYXJndW1lbnQKCjIwMTAtMDYtMDIgMjI6MDc6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBhZGQgYW4gYXNzZXJ0IHRvIHBsYWNhdGUgZ2NjLTQuNQoKMjAxMC0wNi0wMiAxOTo0Njo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvcGFyc2U6IGZpeCB3YXJuaW5nCgoyMDEwLTA2LTAyIDE5OjM4OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW9wYXJzZTogcmVtb3ZlIGJvZ3VzIGFwaQoKMjAxMC0wNi0wMiAxNzo1NDo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogcmVtb3ZlIGdzdF9iYXNlX3ZpZGVvX3N0YXRlX2Zyb21fY2FwcwoKMjAxMC0wNi0wMiAxNzo0MDoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiByZW1vdmUgY29tcGF0aWJpbGl0eSBjb2RlCgoyMDEwLTA2LTAyIDE2OjA2OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBPcmMgaXMgbm90IHJlcXVpcmVkCgoyMDEwLTA2LTAyIDE2OjAxOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogdXNlIGRlYnVnIGNhdGVnb3J5IGZvciBlYWNoIGNsYXNzCgoyMDA5LTEwLTA1IDE1OjQ3OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBGYWlsIGlmIGNhcHMgZG9uJ3QgY29udGFpbiBhIGZyYW1lcmF0ZSBmaWVsZAoJICBSZXR1cm4gZmFsc2UgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGZ1bmN0aW9uIGlmIHRoZXJlIGlzIG5vIGZyYW1lcmF0ZQoJICBmaWVsZCBpbiB0aGUgcHJvdmlkZWQgY2FwcwoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAyIDEzOjMxOjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGNyZWF0ZSBuZXcgc2VnbWVudHMgaWYgbWlzc2luZwoKMjAwOS0wOS0xNyAxMDo1MDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBhIHdhcm5pbmcKCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbywgdnA4OiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMiAxOTo1MjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IENsZWFyIGFkYXB0ZXIgd2hlbiBmbHVzaGluZwoKMjAxMC0wNi0wMiAxOTo0NToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFN0b3AgZGVjb2RpbmcgaWYgY2FuJ3QgcHVzaAoKMjAxMC0wNi0wMiAxOTo0NDozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IEZsdXNoIGFkYXB0ZXIgcmlnaHQgYXRlciB1c2luZyBpdAoKMjAwOS0xMS0xOCAxMToxNDoyOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IE5vIG5lZWQgdG8gZG8gYSB0cnkgYWxsb2NhdGlvbgoKMjAwOS0xMS0xOCAxMTowODoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IERvY3VtZW50IHBhdXNlZC1tb2RlIHByb3BlcnR5CgoyMDA5LTEwLTEyIDIwOjE5OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFVzZSBsb2cgbG9nbGV2ZWwgZm9yIG1lc3NhZ2VzIHRoYXQgYXJlIHNob3duIG9uIGV2ZXJ5IGZyYW1lCgoyMDA5LTEwLTEyIDIwOjA5OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBSZW1vdmUgb2JqZWN0IGxvY2sgdXNhZ2UsIHN0cmVhbSBsb2NrIGlzIGVub3VnaAoKMjAwOS0xMC0xMiAyMDowODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IE91dHB1dCBmcmFtZXJhdGUgaXMgdW5rbm93bgoKMjAwOS0xMC0xMiAyMDowNjoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogUmVtb3ZlIGxvY2FsIHN0YXRlIHZhcmlhYmxlIGZyb20gaW5zdGFuY2UKCjIwMDktMTAtMTIgMTk6NTc6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZQoKMjAwOS0xMC0xMiAxOTo1Njo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IE1ha2UgY2FwcyBhIGxvdCBzdHJpY3RlcgoKMjAwOS0xMC0xMiAxOTo1MjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFNldCBkZWx0YV91bml0IGZsYWcgb24gaW50cmEgZnJhbWVzCgoyMDA5LTEwLTEyIDE5OjUwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEluaXRpYWxpemUgZW5jb2Rlci9kZWNvZGVycyBpbiBzdGF0ZSBjaGFuZ2UgYW5kIHNldGNhcHMgd2hlcmUgcG9zc2libGUKCjIwMDktMTAtMTIgMTk6MzY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogRml4IGVsZW1lbnQgZGV0YWlscwoKMjAwOS0xMC0xMiAxOTozMTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogSG9sZCBlbGVtZW50IGxvY2sgd2hpbGUgYWNjZXNzaW5nIHRoZSBjbG9jawoKMjAwOS0xMC0xMiAxOToyOToxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogUmVmYWN0b3IgdGNwIGhlYWRlciBjcmVhdGlvbiB0byBub3QgbWFrZSBhIHNlcGFyYXRlIGJ1ZmZlcgoKMjAwOS0xMC0xMiAxOToxODoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogRnVuY3Rpb24gY2FuJ3QgZmFpbAoKMjAwOS0xMC0xMiAxOToxNzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBSZW1vdmUgQysrIHN0eWxlIGNvbW1lbnRzCgoyMDA5LTEwLTEyIDE5OjE2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFVzZSBHU1RfRUxFTUVOVF9FUlJPUiB3aGVuIHJldHVybmluZyBhIGZsb3cgZXJyb3IKCjIwMDktMTAtMTIgMTg6NTQ6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogRml4IEdTVF9NSU1fKl9DTEFTUyBtYWNyb3MKCjIwMDktMTAtMTIgMTg6NDc6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFdhcm4gaWYgcGF1c2VkLW1vZGUgaXMgdG9nZ2xlZCB3aGlsZSBwbGF5aW5nCgoyMDA5LTEwLTEyIDE4OjM5OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSBhcHByb3ByaWF0ZQoKMjAwOS0xMC0xMiAxODozNjo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgbWltaWM6IFJlbmFtZSBmdW5jdGlvbnMvbWFjcm9zIHRvIG1hdGNoIGNsYXNzIG5hbWVzCgoyMDEwLTA1LTEwIDE4OjM3OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQWRkIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDcgMTg6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogUmVtb3ZlIHN0cmVhbS1sb2NrIGV2ZW50IGhhbmRsaW5nCgoyMDEwLTA1LTA3IDE4OjU0OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvYyBmb3Igc2ltcGxpZmljYXRpb24KCjIwMTAtMDUtMDcgMTg6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgcnRwZHRtZm11eCBzdHJlYW0tbG9jayBjb2RlCgoyMDEwLTA1LTA3IDE4OjQwOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IENoYW5nZSB0ZXN0cyB0byBub3QgdXNlIHRoZSBwcmlvcml0eSBwYWRzIGluc3RlYWQgb2YgdGhlIGV2ZW50cwoKMjAxMC0wNS0wNiAxOTo1MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBkdG1mbXV4OiBEcm9wIGJ1ZmZlcnMgb24gbm9uLXByaW9yaXR5IHNpbmtzIHdoZW4gc29tZXRoaW5nIGlzIGluY29taW5nIG9uIHRoZSBwcmlvcml0eSBzaW5rCgoyMDEwLTA1LTA2IDE4OjExOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIHByaW9yaXR5IHNpbmsgcGFkcwoKMjAxMC0wNS0wNyAxNzoxNTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IENsZWFudXAgZXZlbnQgZnVuY3Rpb24KCjIwMTAtMDUtMDcgMTY6NDI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFnZ3JlZ2F0ZSBpbmNvbWluZyBzZWdtZW50cwoKMjAxMC0wNS0wNiAxOTowOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA1LTA2IDE4OjEwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFNpbXBsaWZ5IHJlcXVlc3QgcGFkIGNyZWF0aW9uCgoyMDEwLTA2LTAyIDEyOjE2OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvOiBtYWtlIHByaW50ZiBmb3JtYXRzIHBvcnRhYmxlCgoyMDEwLTA2LTAyIDExOjQxOjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIE9yYyByZXF1aXJlbWVudCB0byAwLjQuNC4xCgoyMDEwLTA2LTAyIDExOjMxOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnaGFja2luZycKCjIwMTAtMDUtMjIgMTg6MTQ6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgdmVyaWZ5LWZpZWxkLWZsYWdzIHByb3BlcnR5CgkgIFdoZW4gZW5hYmxlZCwgY2hlY2sgdGhhdCB0aGUgdmlkZW8gbWF0Y2hlcyB0aGUgZmllbGQgZmxhZ3Mgb24gdGhlCgkgIGluY29taW5nIGJ1ZmZlcnMuCgoyMDEwLTA1LTIyIDExOjM2OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogcmVtb3ZlIG9sZCBjb2RlCgoyMDEwLTA1LTIyIDExOjMwOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIDQ6MjoyIGZvcm1hdHMKCjIwMTAtMDUtMjIgMDA6NDQ6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBDaGFuZ2UgZm9ybWF0IHRhYmxlCgkgIEFkZCBmb3JtYXQgbmFtZSwgcGhhc2UgdGFibGUuCgoyMDEwLTAzLTA5IDEyOjMyOjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIG11bHRpcGxlIHB1bGxkb3duIGZvcm1hdHMKCjIwMTAtMDUtMjEgMjM6Mzk6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGhhbmRsZSBkaWZmZXJlbnQgZnJhbWUgc2l6ZXMKCjIwMTAtMDUtMjQgMTI6NTU6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogKGluIHZwOCkgTWFyayBkaXNjb250IGJ1ZmZlcnMKCjIwMTAtMDYtMDIgMDU6NTE6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBGaXggZm9ybWF0IHN0cmluZyB3YXJuaW5nCgkgIEZpeGVzICM2MjAzMjQKCjIwMTAtMDYtMDEgMjM6NTA6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGNvZzogcmVtb3ZlIG9sZCB0ZXN0cwoKMjAxMC0wNi0wMSAyMzozNDowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBvcmMgdGVzdHMgdG8gY2hlY2sgTWFrZWZpbGUKCjIwMTAtMDYtMDEgMTY6NTU6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiB1c2UgY29tbW9uL29yYy5tYWsKCjIwMTAtMDUtMTYgMTA6MjQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hybzogRml4IHNlZ2ZhdWx0IG9uIEVPUwoKMjAxMC0wNS0xNCAwMToyMTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvOiBmaXggZm9yIGJhc2UgdmlkZW8gdXBkYXRlcwoKMjAxMC0wNS0xNiAxMDoxNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBGaXhlcyBmb3IgYmFzZSB2aWRlbyBlbmNvZGVyIGNoYW5nZXMKCjIwMTAtMDYtMDEgMTU6NTQ6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgYmFzZSB2aWRlbyBmcm9tIHZwOCB0byBnc3QtbGlicwoKMjAxMC0wNi0wMSAyMzo0OTozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE3Zjg5ZTUgdG8gNDc2ODNjMQoKMjAxMC0wNi0wMSAyMjo1NToxMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkN2NhMDQgdG8gMTdmODllNQoKMjAxMC0wNS0yNiAwNjo1MjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogVXNlIFZQWF9QTEFORV8qIGluc3RlYWQgb2YgUExBTkVfKgoKMjAxMC0wNS0yNCAxMTowNDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogQWRkIGNvbXBhdGlsaWJpdHkgZGVmaW5lcyB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgbGlidnB4IHRvbwoKMjAxMC0wNS0yMyAwOToyODoxMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGRlYzogcy9JTUdfRk1UX0k0MjAvVlBYX0lNR19GTVRfSTQyMC8KCSAgVGhpcyBjb3JyZXNwb25kcyB0byB1cHN0cmVhbSBsaWJ2cHggY29tbWl0IDZjZDRhMTBlMTY3MjAzZDFkZWI3OWFiZjYwZWU3MjU5OWU5Nzg5MWIKCjIwMTAtMDUtMjIgMTI6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBhIG1heGltdW0ga2V5ZnJhbWUgZGlzdGFuY2Ugb2YgMCwgaS5lLiBhbGwgZnJhbWVzIGFyZSBrZXlmcmFtZXMKCjIwMTAtMDUtMjIgMDk6MDg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBTZW5kIGFuIGluaXRpYWwgTkVXU0VHTUVOVCBldmVudAoKMjAxMC0wNS0yMiAwOTowMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDEwLTA1LTIyIDA4OjU2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IEFkZCBzaW1wbGUgSVZGIHBhcnNlcgoJICBUaGlzIG9ubHkgc3VwcG9ydHMgVlA4IHNvIGZhci4KCSAgRml4ZXMgYnVnICM2MTkxNTguCgoyMDEwLTA1LTIyIDA4OjQ1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2V0IGRlY29kZXIgZGVhZGxpbmUgZnJvbSB0aGUgUW9TIGluZm9ybWF0aW9uCgoyMDEwLTA2LTAxIDEwOjE4OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDEwLTA1LTMxIDAyOjEwOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOQoKMjAxMC0wNS0zMSAwMjoxMDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNS0zMSAwMTo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCBzb21lIGRpc3RjbGVhbiBydWxlcyB0byBmaXggZGlzdGNoZWNrCgkgIFN0b2xlbiBmcm9tIGd0ay1kb2MubTQgYW5kIG5vdCBmb3VuZCBpbiBndGstZG9jLXBsdWdpbi5tNC4gV2UgbmVlZAoJICB0aGVtIGJlY2F1c2Ugd2UgZG8gaGF2ZSBsaWJzL2ludGVyZmFjZXMgc3R1ZmYgYXMgd2VsbCBub3cgKG5hbWVseQoJICBHc3RQaG90b2dyYXBoeSkuCgoyMDEwLTA1LTMxIDAwOjMzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGJ1aWxkIG9mIGd0ay1kb2Mgc2Nhbm5lcgoKMjAxMC0wNS0yOCAxNjozNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE1vdmUgZGVidWcgb3V0cHV0IG9uZSBsaW5lIGFib3ZlIHdoZXJlIHRoZSBwYWNrZXQgaXMgc3RpbGwgdmFsaWQKCjIwMTAtMDUtMjggMTU6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgaWdub3JlIG5vbi1mcmFtZSBwYWNrZXRzIGZyb20gdGhlIGVuY29kZXIKCSAgRml4ZXMgYnVnICM2MTk5MTYuCgoyMDEwLTA1LTIxIDE0OjAxOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hhbmdlIHByb2ZpbGUgYW5kIGxldmVsIHN0cmluZ3MgdG8gc29tZXRoaW5nIG5pY2VyLWxvb2tpbmcKCSAgVGhpcyBpcyBtb3JlIGluIGxpbmUgd2l0aCB3aGF0IHdlIGRvIGVsc2V3aGVyZSwgZXZlbiBpZiBpdCBkb2Vzbid0CgkgIHJlc2VtYmxlIHRoZSBvZmZpY2FsIGFiYnJldmlhdGlvbnMgZXhhY3RseS4KCSAgU2VlICM2MTYwNzguCgoyMDEwLTA1LTI1IDE2OjM3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGx1ZyBhIGZldyBtZW1vcnkgbGVha3MKCSAgRml4ZXMgIzYxOTYxNy4KCjIwMTAtMDUtMjYgMTQ6MTE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMyBwcmUtcmVsZWFzZQoKMjAxMC0wNS0yNiAxNDowMzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2NhbWVyYWJpbi5kb3Q6CgkqIGRvY3MvcGx1Z2lucy9jYW1lcmFiaW4ucG5nOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLnBuZzoKCSAgZG9jczogZml4IGRpc3QvZGlzdGNoZWNrIGlzc3VlcyB3aXRoIGNhbWVyYWJpbiBmaWd1cmVzCgkgIE1vdmUgZmlndXJlcyBpbnRvIGRvY3MvcGx1Z2lucyBhcyB3ZWxsLCB0byBhdm9pZCBpc3N1ZXMgd2l0aAoJICBtYWtlIGRpc3QgYW5kIG1ha2UgZGlzdGNoZWNrIChtYWtlIGRpc3RkaXIgd2lsbCBub3QgZmlyc3QgZGVzY2VuZAoJICBpbnRvIGNoaWxkIGRpcmVjdG9yaWVzKS4gT3V0LW9mLXNvdXJjZSBidWlsZCBzZWVtcyB0byBzdGlsbCB3b3JrCgkgIGFzIHdlbGwuCgoyMDEwLTA1LTI2IDEyOjM2OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNS0yNiAxMTo1NTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1N2IwZGIgdG8gZmQ3Y2EwNAoKMjAxMC0wNS0wNyAxNjo0MjoxMiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgbXBsZXg6IGFkZCBNUExFWF9MREZMQUdTIHZhcmlhYmxlCgkgIFNvIG1pbmd3MzIgdXNlcnMgY2FuIGhhY2sgYXJvdW5kIGEgY29tcGlsZXIvbGlua2VyIGJ1Zy4KCSAgRml4ZXMgIzYxNzE0NQoKMjAxMC0wNS0yNSAwMDoyNzoxNyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBjcmFzaCBpZiBkb3duc3RyZWFtIGlzIHVubGlrZWQKCSAgbXBlZ19wYWNrZXRpemVyX2dldF9ibG9jaygpIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyAoaGVyZTogaWYKCSAgZG93bnN0cmVhbSB3YXMgdW5saW5rZWQpIHJldHVybnMgYSBibG9jayBidXQgZG9lcyBub3Qgc2V0IHRoZQoJICBidWZmZXIgY2F1c2luZyBtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCgpIHRvIGNhdXNlIGludmFsaWQgbWVtb3J5CgkgIGFjY2Vzcy4KCSAgRml4ZXMgIzYxOTUwMi4KCjIwMTAtMDUtMjQgMTc6NDE6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBnc3QtbGlicy9nc3QvYXBwLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBSZW1vdmluZyByZW1haW5pbmcgZ3N0YXBwKgoJICBUaGVyZSBhcmUgc29tZSByZW1haW5pbmcgZ3N0YXBwKiBsaXZpbmcgdW5saW5rZWQgZnJvbSB0aGUgYnVpbGQgc2NyaXB0cy4KCSAgUmVtb3ZlIHRoZW0uCgoyMDEwLTA1LTI0IDE5OjIxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IEZpeCB0ZXN0IGJ1aWxkCgkgIEFkZHMgbWlzc2luZyAtYmFkIGNmbGFncyB0byBjYW1lcmFiaW4gdGVzdHMuCgoyMDEwLTA1LTIzIDE5OjE3OjQxICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCSAgRG9uJ3QgbGVhayBsYW5ndWFnZSBjb2RlLgoJICBGaXhlcyAjNjE5NDQ0LgoKMjAxMC0wNS0yMSAyMDo0ODozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogcmVzYW1wbGUgWVVWLT5ZVVYgY29udmVyc2lvbnMKCSAgRml4ZXMgYSBzZWdmYXVsdCAoYnVnICM2MTgwNDQpLgoKMjAxMC0wNC0wOCAxNjowNToxMSArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBjaGFuZ2UgVkNEIFVSSSBoYW5kbGVyIHRvIHRoZSBEVkQgc2NoZW1lCgkgIFRoZSBjdXJyZW50IFVSSSBwYXJzaW5nIGNvZGUgZG9lc24ndCBhbGxvdyBzZXR0aW5nIHRoZSAiZGV2aWNlIgoJICBmcm9tIHdoaWNoIHRoZSBWQ0Qgc2hvdWxkIGJlIHJlYWQuCgkgIFVzZSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhlIERWRCBVUkkgaGFuZGxpbmcgaW5zdGVhZCwgc28gdGhhdAoJICBkZXZpY2VzIGNhbiBiZSBwYXNzZWQgaW4gdGhlIFVSSSwgYXMgd2VsbCBhcyB0cmFjayBudW1iZXIuCgkgIFVwIHRoZSByYW5rIG9mIHRoZSBWQ0QgcGx1Z2luIHNvIHRoYXQgaXQgY2FuIGJlIGF1dG8tcGx1Z2dlZCBhbmQKCSAgdXNlZCBieSBUb3RlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MDk4NgoKMjAxMC0wNS0yMiAwNzo0NDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFRha2UgdGhlIGZyYW1lIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBlYXJsaWVzdCB0aW1lCgkgIFRoaXMgZm9ybXVsYSBpcyB1c2VkIGluIG1hbnkgb3RoZXIgZWxlbWVudHMgdG9vLgoJICBGaXhlcyBidWcgIzYxOTMxOC4KCjIwMTAtMDUtMjIgMDc6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCBRb1MgdmFsdWVzIHdoZW4gbmVjZXNzYXJ5CgoyMDEwLTA1LTIyIDA5OjM1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIEdTVF9WSURFT19DQVBTX1lVVihJNDIwKSBpbnN0ZWFkIG9mIGhhbmR3cml0dGVuIEk0MjAgY2FwcyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGaXhlcyBidWcgIzYxOTM0NC4KCjIwMTAtMDUtMjEgMjA6NTM6MzYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBkcm9wIGxhdGUgZnJhbWVzIGFmdGVyIGRlY29kaW5nIHRoZW0KCSAgVGhpcyBzYXZlcyBhIG1lbWNweSwgd2hpY2ggaXMgYWx3YXlzIHNvbWV0aGluZy4KCjIwMTAtMDUtMjEgMjE6Mjg6MjkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHRocmVhZHMgcHJvcGVydHkKCSAgSW5jcmVhc2luZyBmcm9tIDEgdG8gMiB0aHJlYWRzIG9uIGFuIFRoaW5rcGFkIFg2MHMgZGVjcmVhc2VkIGVuY29kZSB0aW1lCgkgIGluIGEgdGVzdCBmcm9tIH4yNCBzIHRvIH4xOSBzLCBzbyB0aGlzIGlzIHF1aXRlIHVzZWZ1bC4KCSAgSWRlYWxseSB3ZSBzaG91bGQgbGV0IDAgYmUgdGhlIGRlZmF1bHQgYW5kIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIG51bWJlcgoJICBvZiBDUFUgY29yZXMgKG9yIHNvbWV0aGluZykuCgoyMDEwLTA1LTIxIDE1OjE3OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBhZGQgbW9kZSBwcm9wZXJ0eSB0byBzd2l0Y2ggYmV0d2VlbiBDQlIvVkJSCgkgIEFsd2F5cyB1c2luZyBDQlIgd2hlbiBiaXRyYXRlIGlzIHVzZWQgaXNuJ3QgdGhhdCBncmVhdCwgVkJSIG1vZGUKCSAgY2FuIHByb2R1Y2UgbWVhbmluZ2Z1bCByZXN1bHRzIHRvby4KCjIwMTAtMDUtMjEgMTA6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBPbmx5IGVuYWJsZSBwb3N0cHJvY2Vzc2luZyBpZiB0aGUgZGVjb2RlciBzdXBwb3J0cyBpdAoKMjAxMC0wNS0yMSAwODoyMzo1OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogdHlwbzogcy9IQVZFX1ZQOF9ERUNPREVSL0hBVkVfVlA4X0VOQ09ERVIvCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjEgMDg6MTM6MDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IG1vdmUgI2lmZGVmIEhBVkVfVlA4X0VOQ09ERVIvREVDT0RFUgoJICBPdGhlcndpc2Ugd2UnbGwgdHJ5IGluY2x1ZGluZyBlLmcuIDx2cHgvdnA4Y3guaD4gd2hpY2ggZG9lc24ndCBleGlzdC4KCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZwODogbGluayB3aXRoIC1sbSAtbHB0aHJlYWQgd2hlbiB0ZXN0aW5nIGZvciB2cDggZW5jb2Rlci9kZWNvZGVyCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMjA6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBXcml0ZSBHU3RyZWFtZXIgZWxlbWVudCBhbmQgdmVyc2lvbiBpbiB0aGUgdm9yYmlzY29tbWVudCB2ZW5kb3Igc3RyaW5nCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBPbmx5IGVuYWJsZSB0aGUgZW5jb2RlciBvciBkZWNvZGVyIGlmIGl0J3MgYXZhaWxhYmxlIGluIGxpYnZweAoJICBGaXhlcyBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMTA6MTk6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IGV4bGN1ZGUgZGVjL2VuYyBiYXNlZCBvbiBDT05GSUdfVlA4X0RFQ09ERVIvRU5DT0RFUgoJICBUaGlzIG1heSBub3QgYmUgdmVyeSBhdXRvdG9vbGlzaCwgYnV0IHdvcmtzIHdpdGggbGlidnB4IGluIHRoZSBzdGF0ZQoJICB0aGF0IGxpYnZweCBpcyBhY3R1YWxseSBpbi4gTW92ZWQgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGVsZW1lbnRzCgkgIHRoZW1zZWx2ZXMgdG8gbWluaW1pemUgYW1vdW50IG9mICNpZmRlZnMKCjIwMTAtMDUtMjAgMTU6NTk6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggaHRtbCBpbWFnZSBsb2NhdGlvbiBmb3Igb3V0LW9mLXNvdXJjZSBidWlsZAoKMjAxMC0wNS0yMCAwOToyNDo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTGltaXQgbWF4LWxhdGVuY3kgdG8gMjUgdG8gbWF0Y2ggbGlidnB4CgkgIEZyb20gbGlidnB4L3ZwOC9lbmNvZGVyL29ueXhfaW50Lmg6CgkgICNkZWZpbmUgTUFYX0xBR19CVUZGRVJTIChDT05GSUdfUkVBTFRJTUVfT05MWT8gMSA6IDI1KQoJICBXaGlsZSB3ZSBkb24ndCBuZWVkIHRvIGJlIHRpZWQgdG8gd2hhdCBsaWJ2cHggZG9lcyBpbnRlcm5hbGx5LCBpdAoJICBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJldGVuZCB0byBzdXBwb3J0IGxvbmdlciBmcmFtZSBsYWdzIHRoYW4gYXJlCgkgIGFjdHVhbGx5IHBvc3NpYmxlLgoKMjAxMC0wNS0yMCAwOTo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkgIHZwODogVW5kZWYgSEFWRV9DT05GSUdfSCBiZWZvcmUgaW5jbHVkaW5nIGxpYnZweCBoZWFkZXJzCgkgIEEgcHVibGljIGxpYnZweCBoZWFkZXIgaW5jbHVkZXMgcHJpdmF0ZSBoZWFkZXJzIGlmIHRoaXMgaXMKCSAgZGVmaW5lZCwgY2F1c2luZyBjb21waWxhdGlvbiBmYWlsdXJlcyBiZWNhdXNlIHRoZSBwcml2YXRlIGhlYWRlcnMKCSAgYXJlIG5vdCBpbnN0YWxsZWQgb2YgY291cnNlLgoKMjAxMC0wNS0yMCAwODo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNvbWUgbW9yZSBtaW5vciBhZGp1c3RtZW50cyBmb3IgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE5IDE3OjEyOjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIFNwbGl0IG91dCBHU1RfUExVR0lOU19CQURfQ0ZMQUdTIGZyb20gR1NUX0NGTEFHUwoJICBNb3ZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmb3IgZ3N0LWxpYnMgaW50byBHU1RfUExVR0lOU19CQURfQ0ZMQUdTLAoJICBhbmQgZml4IGFsbCB0aGUgTWFrZWZpbGVzIHRoYXQgdXNlIGl0LiAgVGhpcyBpcyBzbyB0aGF0IGFsbCB0aGUKCSAgaW5jbHVkZSBkaXJlY3RvcmllcyBhcmUgYWRkZWQgaW4gdGhlIHByb3BlciBvcmRlcjogZmlyc3QgdGhlCgkgIGRpcmVjdG9yaWVzIGluIHNyY2Rpci9idWlsZGRpciwgdGhlbiBnc3QtcGx1Z2lucy1iYXNlIGRpcnMsIHRoZW4KCSAgZ3N0cmVhbWVyIGRpcnMuICBJZiB0aGUgb3JkZXIgaXMgd3JvbmcsIGluc3RhbGxlZCBoZWFkZXJzIG1heSBiZQoJICB1c2VkIGluc3RlYWQgb2YgbG9jYWwgaGVhZGVycyBhbmQvb3IgdW5pbnN0YWxsZWQgaGVhZGVycyBmcm9tIC1iYXNlLgoKMjAxMC0wNS0xOSAyMzowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBtZW1vcnkgbGVhawoKMjAxMC0wNS0xOSAyMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkanVzdCBPZ2cgbWFwcGluZyBmb3IgdGhlIGNoYW5nZXMKCjIwMTAtMDUtMTIgMTg6NTA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgVlA4CgoyMDEwLTA1LTE5IDE4OjEyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgVlA4IGRlY29kZXIgcG9zdCBwcm9jZXNzaW5nIGZlYXR1cmUKCSAgVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBub3cuCgoyMDEwLTA1LTE5IDE3OjE2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVuYW1lIGtleWZyYW1lLWludGVydmFsIHRvIG1heC1rZXlmcmFtZS1kaXN0YW5jZQoJICBBbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGJ1ZmZlciBzaXplcyB1bnRpbCB3ZSBleHBvc2UgdGhpcwoJICBzb21laG93LgoKMjAxMC0wNS0xOSAxNzoxMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDUtMTkgMTQ6NDY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBVc2UgY29ycmVjdCBzdHJpZGVzIGFuZCBwbGFuZSBvZmZzZXRzIGZvciBHU3RyZWFtZXIKCjIwMTAtMDUtMTggMTQ6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXBsZW1lbnQgR3N0VGFnU2V0dGVyIGludGVyZmFjZQoKMjAxMC0wNS0xOCAxNDozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBrZXlmcmFtZSBmbGFnIG9uIGVuY29kZWQgZnJhbWVzCgoyMDEwLTA1LTE4IDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZW5jb2RlciBpbml0aWFsaXphdGlvbiBmYWlscwoKMjAxMC0wNS0xOCAxNDoyODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIGZhaWwgaWYgaW5pdGlhbGl6aW5nIHRoZSBkZWNvZGVyIGZhaWxzCgoyMDEwLTA1LTE4IDAyOjQ0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IHRpbWViYXNlCgkgIEFsc28gbWlzYyBjbGVhbnVwLgoKMjAxMC0wNS0xNiAxMDozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBkZWNvZGluZyBvZiBpbnZpc2libGUgZnJhbWVzCgoyMDEwLTA1LTE0IDE0OjI2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHRoZSBsYXRlbmN5IHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTE0IDE0OjAyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQ29ycmVjdGx5IGluaXRpYWxpemUgc3RyZWFtIGluZm8gYmVmb3JlIHBlZWtpbmcgYXQgdGhlIHN0cmVhbQoJICBPdGhlcndpc2UgcGVla2luZyB3aWxsIGZhaWwgYW5kIHdlJ2xsIGdldCBpbnZhbGlkIHZhbHVlcwoKMjAxMC0wNS0xNCAxMTowMToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IE1ha2Ugc3VyZSB0byBwYXNzIGEga2V5ZnJhbWUgYXMgZmlyc3QgZnJhbWUgdG8gdGhlIGRlY29kZXIsIGNvcHkgb3V0cHV0IGZyYW1lcyBvbmx5IG9uY2UgYW5kIHJlcXVpcmUgd2lkdGgvaGVpZ2h0L2V0YyBvbiB0aGUgaW5wdXQgY2FwcwoKMjAxMC0wNS0xNCAxMDozMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBpbnZpc2libGUgZnJhbWVzIGFuZCB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTQgMDE6MTQ6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggcmVzZXQgYWZ0ZXIgc2Vla2luZwoJICBBbHNvIHJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAxMC0wNS0xMyAyMToxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCBmcmFtZSBudW1iZXJzIGFzIGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTA1LTEzIDIxOjE4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWx3YXlzIGdldCBhcyBtYW55IGZyYW1lcyBhcyBwb3NzaWJsZSBmcm9tIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTEzIDIxOjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRmlsbCB0aGUgb2xkZXN0IHBlbmRpbmcgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbmV3ZXN0CgoyMDEwLTA1LTEzIDIwOjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IHNldCBkZWx0YSB1bml0IGZsYWcgZm9yIG5vbi1rZXlmcmFtZXMKCjIwMTAtMDUtMTMgMDE6MDQ6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBBZGQgZW5jb2Rlci9kZWNvZGVyCgoyMDEwLTA1LTE4IDIxOjMyOjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHdyb25nIHRpbWVzdGFtcHMgaW4gc29tZSBjYXNlcyBhZnRlciBzZWVraW5nLgoJICBSZXNldCAtPmxhc3Rfb3V0YnVmX2R0cyBvbiBmbHVzaC1zdG9wLiBGaXhlcyAjNjE5MDY0LgoKMjAxMC0wNS0xNyAxNjoyNjowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIHBhcnNpbmcgYWRhcHRhdGlvbiBmaWVsZAoKMjAxMC0wNS0xNyAxMTo1Mjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSogZXh0L3BvbHlwL3BsdWdpbi5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgUmVtb3ZlIHVudXNlZCBwb2x5cCBhdWRpbyBwbHVnaW4gY29kZQoJICBwb2x5cGF1ZGlvIHdhcyByZW5hbWVkIHRvIHB1bHNlYXVkaW8gYWdlcyBhZ28uCgkgIEZpeGVzICM2MTg4NjcuCgoyMDEwLTA1LTE1IDE1OjM3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZDogQ2hlY2sgZm9yIGR2ZG5hdiBhbmQgZHZkcmVhZCBsaWJyYXJpZXMKCjIwMTAtMDUtMTUgMDE6MTg6NTIgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IERvbid0IGluc3RhbGwgY2FtZXJhYmluIGV4YW1wbGVzCgoyMDEwLTA1LTE1IDAwOjE5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMTQgMTg6MzE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBkb2NzOiByZW1vdmUgbW9yZSBjcnVmdCByZWxhdGVkIHRvIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQgdG8gLWdvb2QKCjIwMTAtMDUtMTQgMTg6MjU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0ZDY3YmQ2IHRvIDM1N2IwZGIKCjIwMTAtMDUtMTQgMTY6NTM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDUtMTQgMDE6NTU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIHNoYXZlIGZpbGVzIGluIGNvbW1vbiB0byAnY3J1ZnQnIGZpbGVzCgoyMDEwLTA1LTEzIDE0OjQyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogT25seSBjbG9zZSB0aGUgY29ubmVjdGlvbiBpZiBpdCdzIG9wZW5lZAoKMjAxMC0wNS0xMyAxNDo0MTowOCArMDIwMCAgSXZhbiBaZGVyYWRpY2thIDxpdmFuLnpkZXJhZGlja2FAZ21haWwuY29tPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBEb24ndCBvcGVuIGFuIGluZmluaXRlIG51bWJlciBvZiBjb25uZWN0aW9ucyB0byB0aGUgc2VydmVyIGFuZCBjbG9zZSBjb25uZWN0aW9ucwoJICBGaXhlcyBidWcgIzYxODUyNy4KCjIwMTAtMDUtMTMgMTI6NTU6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja3NyYzogbWFrZSBzdXJlIHdlIGFsd2F5cyByZWFkIG5mcmFtZXMKCSAgRXJyb3Igb3V0IHdoZW4gd2UgYXJlIGFza2VkIHRvIHJlYWQgYSBkaWZmZXJlbnQgc2l6ZSB0aGF0IHdoYXQgd2FzIGNvbmZpZ3VyZWQgYXMKCSAgdGhlIGphY2sgcGVyaW9kIHNpemUgYmVjYXVzZSB0aGF0IHdvdWxkIG1lYW4gc29tZXRoaW5nIGVsc2UgaXMgd3JvbmcuCgkgIEZpeGVzICM2MTg0MDkKCjIwMTAtMDUtMTEgMTc6NTY6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBpbXByb3ZlIHByb2Nlc3NfY2IKCjIwMTAtMDUtMTEgMTM6NTI6NTEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPGpvc2h1YS5kb2VAdXMuYXJteS5taWw+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJICBmcmVpMHI6IEZpeCBzZXR0aW5nIG9mIGJvb2xlYW4gdmFsdWVzCgkgIFNldHRpbmcgYm9vbGVhbiB0eXBlIHBhcmFtZXRlcnMgZnJvbSBnc3QtbGF1bmNoIGZhaWxlZCBiZWNhdXNlIG9mIGltcHJvcGVyIGhhbmRsaW5nIG9mIHR5cGUgY29udmVyc2lvbnMuCgkgIEZpeGVzIGJ1ZyAjNjE4Mzg4LgoKMjAxMC0wNS0xMiAxMzowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgVERUIHRhYmxlIGluIG1wZWd0cy4KCSAgU29tZSB0YWJsZXMgaW4gTVBFRy1UUyBkbyBub3QgaGF2ZSBhIGNyYyBpbiB0aGUgc3BlYywgc28gYWxzbyBtcGVndHNwYXJzZQoJICBpcyBub3QgY2FsY3VsYXRpbmcgY3JjIGZvciBzZWN0aW9ucyB3aXRoIHRhYmxlX2lkIDB4NzAgLSAweDcyIGJlY2F1c2UgdGhleQoJICBkbyBub3QgaGF2ZSBhIENSQyBpbiB0aGUgc3BlYy4gU2VlIEVOMzAwNDY4LiBQYXJzZSBUaW1lIGFuZCBEYXRlIHRhYmxlIGFuZAoJICBvdXRwdXQgYnVzIG1lc3NhZ2UuCgoyMDEwLTA1LTExIDE2OjAzOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogcmVtb3ZlIG9zczQgc3RyaW5ncwoKMjAxMC0wNS0xMSAxNTozMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgUmVtb3ZlIG9zczQgcGx1Z2luCgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjE0MzA1LgoKMjAxMC0wNS0xMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgUmVtb3ZlIGltYWdlZnJlZXplIHBsdWdpbi9lbGVtZW50LgoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxMzc4Ni4KCjIwMTAtMDUtMTEgMTM6MTU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZG9uJ3QgZmFpbCB0YWdzY2hlY2tpbmcgdGVzdCBpZiBxdGRlbXV4IGlzIG5vdCBhdmFpbGFibGUgb3IgdG9vIG9sZAoKMjAxMC0wNS0xMSAxMzowODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBSZW1vdmUgY2Fwc3NldHRlciBlbGVtZW50CgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjE3NzM5LgoKMjAxMC0wNS0xMSAxMDowNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdUSysgMy4wIGFuZCBpZiBpdCdzIG5vdCBhdmFpbGFibGUgZm9yIEdUSysgMi4wCgoyMDEwLTA1LTExIDEwOjAxOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgc2NhbGV0ZW1wbzogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1RLIHN5bWJvbHMgaW4gdGhlIGRlbW8KCjIwMTAtMDUtMDcgMTk6MTU6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCB0cnkgdG8gcmUtc2VuZCB0aGUgc2FtZSBldmVudCBtb3JlIHRoYW4gb25jZQoKMjAxMC0wNS0wNyAyMjo1MzoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBtYWtlIHRoZSBpbnRlbnRpb24gb2YgdGhlIGVsZW1lbnRzIG1vcmUgY2xlYXIKCjIwMTAtMDUtMDcgMTM6NTc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIFJldmVydCAiamlmbXV4OiBNZXJnZSB4bXAgYW5kIHRhZ3NldHRlciB0YWdzLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0ZTVjNDEyMjM0OTAzMTI2NGJmNDdlNmFmOTMzOGY4YWUwMjM2ZDVmLgoJICBqaWZtdXggc2hvdWxkbid0IGJlIGFibGUgdG8gaGFuZGxlIGppZiBhbmQgc2hvdWxkbid0IGV4cGVjdAoJICBhbnkgeG1wIG9uIGl0cyBkYXRhLiBTbywgbm8gbmVlZCB0byBoYW5kbGUgdGhlbS4KCjIwMTAtMDUtMDcgMTI6NDI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogTWVyZ2UgeG1wIGFuZCB0YWdzZXR0ZXIgdGFncy4KCSAgV2hlbiB0aGUgY3VycmVudCBmaWxlIGFscmVhZHkgaGFzIHRhZ3MsIHRoZXkgc2hvdWxkbid0IGJlIGlnbm9yZWQsCgkgIHBhcnNlIHRoZW0gYW5kIG1lcmdlIHdpdGggdGhlIHRhZ3NldHRlciBvbmVzLgoKMjAxMC0wNS0wNyAxMTowNzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBSZWplY3QgYnVmZmVycyB3aXRob3V0IGNhcHMKCSAgamlmbXV4IGV4cGVjdHMgd2hvbGUganBlZyBwaWN0dXJlcyBpbiBidWZmZXJzLCBzbyBpdCBzaG91bGQKCSAgcmVqZWN0IGJ1ZmZlcnMgd2l0aG91dCBjYXBzLgoKMjAxMC0wNS0wNyAxMDo1OToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBCZSBzYWZlIGFuZCBjaGVjayBieXRld3JpdGVyIHJldHVybnMKCSAgQ2hlY2sgR3N0Qnl0ZVdyaXRlciByZXR1cm5zIHRvIGtub3cgd2hlbiByZWNvbWJpbmluZyB0aGUgaW1hZ2UKCSAgZmFpbGVkIGFuZCBsb2cgYSB3YXJuaW5nLgoKMjAxMC0wNS0wNyAxMDoxMzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBdm9pZCBhZGRpbmcgMiB4bXAgcGFja2V0cwoJICBqaWZtdXggd2FzIG9ubHkgYXBwZW5kaW5nIGEgbmV3IHhtcCBwYWNrZXQgdG8gdGhlIHN0cmVhbSwKCSAgaXQgc2hvdWxkIHJlcGxhY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBvbmUuCgoyMDEwLTA1LTA3IDEwOjU4OjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmcmVlemUgdG8gcGx1Z2luIGRvY3MKCjIwMTAtMDUtMDcgMDg6MTI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXhhbXBsZXMvbXB0c190ZXN0Mi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHNtdXgvbXB0c190ZXN0Mi5jOgoJICBtcGVndHNtdXg6IE1vdmUgbXVsdGktcHJvZ3JhbSBtdXhpbmcgZXhhbXBsZSBhdCBsZWFzdCB0byB0aGUgY29ycmVjdCBkaXJlY3RvcnkKCSAgQnV0IGl0IGRvZXNuJ3Qgd29yayBvdXQgb2YgdGhlIGJveCBiZWNhdXNlIG9mIGhhcmRjb2RlZCBwYXRocy4KCjIwMTAtMDUtMDYgMTM6NTE6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltaWM6IFB1c2ggb3V0IG5ld3NlZ21lbnQgZnJvbSBjdXJyZW50IHRpbWVzdGFtcCBpZiB0aGUgaW5jb21pbmcgdHMgaXMgdmFsaWQKCSAgUHVzaCBvdXQgbmV3c2VnbWVudCBldmVudCB3aXRoIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgaW5jb21pbmcgYnVmZmVyIGlmCgkgIHRoZSBpbmNvbWluZyBidWZmZXJzIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAgYnV0IG5vIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnQKCSAgaGFzIGJlZW4gdGhyb3VnaC4KCjIwMTAtMDUtMDYgMjI6Mzg6MjIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXBwbHkgY2FwcyB0byBnZW5lcmF0ZWQgYnVmZmVycwoJICBBdm9pZCB0aGUgbmV3IHdhcm5pbmcgZnJvbSB0aGUgY29yZSBhYm91dCBub3QgYmVpbmcgYWJsZSB0byBhcHBseSBjYXBzCgkgIHRvIE5BViBwYWNrZXQgYnVmZmVycywgd2hlcmUgcmVzaW5kdmRzcmMgaG9sZHMgYSByZWYuCgoyMDEwLTA1LTA2IDEzOjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDUtMDYgMDk6NTE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBVc2UgdGhlIGVzY2FwZWQgbG9jYXRpb24gZm9yIHRoZSBSVFNQIHJlZGlyZWN0IG1lc3NhZ2UKCSAgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSB1bmVzY2FwZXMgdGhlIGxvY2F0aW9uLCB3aGljaCBjb3VsZCByZXN1bHQgaW4KCSAgYW4gaW52YWxpZCBSVFNQIFVSSS4KCjIwMTAtMDUtMDYgMDk6NDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBDaGVjayBVUkkgZm9yIHZhbGlkaXR5IGFuZCB3b3JrIGFyb3VuZCBVUkkgcGFyc2luZyBidWdzIGluIGxpYm1tcwoJICBGaXhlcyBidWcgIzYxNzY1MC4KCjIwMTAtMDUtMDYgMDg6MDg6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA1LTA1IDEyOjIzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IGZpeGVkIGNhcHMgb24gdGhlIGNvcnJlY3QgcGFkCgkgIFRoaXMgbWFrZXMgdGhlIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbiBhY3R1YWxseSB1c2VkIGluc3RlYWQgb2YgdXNpbmcKCSAgdGhlIGZpeGVkIGNhcHMgZnVuY3Rpb24gZm9yIGl0LgoKMjAxMC0wNS0wMSAxMjozMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgQWRkIG5ldyBjYW1lcmFiaW4gdGVzdCBiaW5hcnkgdG8gLmdpdGlnbm9yZQoKMjAxMC0wNS0wMSAxNTowMDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSAgdmRwYXU6IGZpeCBzbWFsbCB0eXBvCgoyMDEwLTA1LTAxIDE0OjU4OjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmg6CgkgIHZkcGF1OiBhZGQgbGVmdG92ZXIgZ3N0dmRwLmgKCjIwMTAtMDUtMDEgMTQ6NDU6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBjcmFzaGVyIG9uIHNldHRpbmcgcHJvcGVydGllcyBiZWZvcmUgd2UncmUgaW4gUkVBRFkKCjIwMTAtMDQtMjkgMjI6NDM6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1OiByZW1vdmUgZGVidWcgY29kZQoKMjAxMC0wNC0yOSAyMjoyNDozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiBzbWFsbCBhcGkgY2xlYW51cAoJICBtZXJnZSBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfYWxsb3dlZF9bdmlkZW98eXV2XV9jYXBzIGludG8KCSAgZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X2FsbG93ZWRfY2FwcwoKMjAxMC0wNC0yMiAxMjo1NzozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogc21hbGwgZml4ZXMKCjIwMTAtMDQtMjIgMTI6NTI6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IGFkZCBiYWNrIGdzdHZkcGF1LmMKCjIwMTAtMDMtMTcgMjE6MDI6MDcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogYWRkIGdzdF92ZHBfaW5pdCBmdW5jdGlvbiB3aGVyZSB3ZSByZWdpc3RlciB0eXBlcwoKMjAxMC0wMy0xNyAyMDo1OTowOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdTogYWRkIGJldHRlciBlcnJvciBoYW5kbGluZyB0byBHc3RWZHBPdXRwdXRTcmNQYWQKCSAgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9wdXNoLCBnc3RfdmRwX291dHB1dF9zcmNfcGFkX2FsbG9jX2J1ZmZlciBhbmQKCSAgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9nZXRfZGV2aWNlIG5vdyB0YWtlIGEgR0Vycm9yIHBhcmFtZXRlciB0byBiZSBhYmxlIHRvCgkgIHNpZ25hbCBlcnJvcnMgdG8gdGhlIGNhbGxlcgoKMjAwOS0xMS0yOCAyMzo1ODo1NyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9TcmNQYWQoQ2xhc3MpPyBwcml2YXRlCgoyMDA5LTExLTI4IDIzOjU1OjA5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmb2xsb3cgR3N0VmRwVmlkZW9TcmNQYWQgY2hhbmdlcwoKMjAwOS0xMS0yOCAyMzo1MjoxNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IHJlbW92ZSB0ZW1wbGF0ZS1jYXBzIHByb3BlcnkgZm9ybSBHc3RWZHBWaWRlb1NyY1BhZAoJICBHc3RWZHBWaWRlb1NyY1BhZCBub3cgdXNlIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eSBvZiBHc3RQYWQgaW5zdGVhZC4gQWxzbyBjaGFuZ2VkCgkgIHRoZSBfbmV3IGZ1bmN0aW9uIHRvIGJlIGxpa2UgZ3N0X3BhZF9uZXdfZnJvbV90ZW1wbGF0ZS4KCjIwMTAtMDUtMDEgMDE6MTY6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIEZpeCB3YXJuaW5ncyBpbiBkaXJlY3RkcmF3c2luayBhbmQgZGlyZWN0c291bmRzcmMKCSAgRml4ZXMgIzYxNzMzMQoKMjAxMC0wNC0zMCAxOTowMzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAxMC0wNC0yOSAxNjozMzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbXByb3ZlIGJ1ZmZlciBzY2FubmluZwoJICBTcGVjaWZpY2FsbHksIHdoZW4gc2Nhbm5pbmcgZm9yIGVudHJvcHkgZGF0YSBzZWdtZW50IGxlbmd0aCBhbmQgbmVlZGluZwoJICBtb3JlIGRhdGEsIGRvIG5vdCByZXNjYW4gZnJvbSBzdGFydCBuZXh0IHRpbWUgYXJvdW5kLCBidXQgcmVzdW1lIGF0CgkgIGxhc3QgcG9zaXRpb24uCgkgIFNlZSBhbHNvICM1ODMwNDcuCgoyMDEwLTA0LTI3IDEwOjQ4OjMyIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHRyaXN0YW4tbGFwdG9wLihub25lKT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFjazogaW1wbGVtZW50IG11bHRpY2hhbm5lbCBzdXBwb3J0IGNvcnJlY3RseSBmb3IgamFja2F1ZGlvc3JjCgkgIEZpeGVzIHBhcnRzIG9mIGJ1ZyAjNjE2NTQxLgoKMjAxMC0wNC0yOSAxMzoxODo1OCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICBvc3M0c2luazogaW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UgYW5kIGFkZCBtdXRlIGFuZCB2b2x1bWUgcHJvcGVydGllcwoJICBPU1M0IHN1cHBvcnRzIHBlci1zdHJlYW0gdm9sdW1lIGNvbnRyb2wsIHNvIGV4cG9zZSB0aGlzIHVzaW5nIHRoZSByaWdodAoJICBBUEksIHNvIHRoYXQgcGxheWJpbjIgYW5kIGFwcGxpY2F0aW9ucyBsaWtlIHRvdGVtIGNhbiBtYWtlIHVzZSBvZiBpdAoJICAoaW5zdGVhZCBvZiB1c2luZyBhIHZvbHVtZSBlbGVtZW50IGZvciB2b2x1bWUgY29udHJvbCkuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTI5IDA0OjQyOjIxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IHN0cmluZ3MgZm9yIGdjYyA0LjUKCSAgRG9uZSBvbiBXaW5kb3dzL01pbkdXLgoJICBGaXhlcyAjNjE3MTQ2CgoyMDEwLTA0LTI3IDExOjIxOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBqYWNrOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBhbmQgZmluYWxpemUgbWV0aG9kcwoKMjAxMC0wNC0yNyAxMDo1OTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjYXBzCgkgIEFkZCBkaXNwb3NlIG1ldGhvZHMgdG8gY2xlYXIgY2Fwcy4KCjIwMTAtMDQtMjcgMTA6MzQ6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0wNC0yNiAxNTowNjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbGFkc3BhLGx2MjogZG9uJ3QgZmFpbCBpbiBwbHVnaW5faW5pdCB3aGVuIGhhdmluZyAwIGVsZW1lbnRzCgkgIElmIHdlIGZhaWwsIHRoZSBwbHVnaW4gc2Nhbm5lciB3aWxsIGJsYWNrbGlzdCB1cy4KCjIwMTAtMDQtMjMgMTQ6NDE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYzg1ODY3IHRvIDRkNjdiZDYKCjIwMTAtMDQtMjAgMTY6NTg6MzMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbWVhbmluZ2Z1bCBuYW1lcyBmb3IgcXVldWUgZWxlbWVudHMgaW5zaWRlIGNhbWVyYWJpbgoKMjAxMC0wNC0yMCAxNTozNzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFsc28gc2V0IHNob3J0IGNvbmZpZ3VyYXRpb24gZGF0YSBpbiBjb2RlY19kYXRhCgkgIFRoYXQgaXMsIGhlYWRlciBjb25maWd1cmF0aW9uIG1heSBzdGFydCBhdCBWaWRlbyBPYmplY3QgKHN0YXJ0Y29kZSksCgkgIHJhdGhlciB0aGFuIGF0IFZpc3VhbCBPYmplY3QgU2VxdWVuY2UsIHdoaWNoIGlzIGNhdGVyZWQgZm9yIGFuZCBwYXJzZWQsCgkgIHNvIGxldCdzIGFsc28gdGFrZSBpdCBhcyBjb2RlY19kYXRhIGlmIG5vIG1vcmUgYXZhaWxhYmxlLgoJICBGaXhlcyAocmVtYWluZGVyIG9mKSAjNTcyNTUxLgoKMjAxMC0wNC0xOSAxOTowNDoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEF2b2lkIGNyYXNoaW5nIHdoZW4gc2V0dGluZyB6b29tIGluIE5VTEwKCSAgQXZvaWQgc2V0dGluZyB6b29tIGluIE5VTEwgc3RhdGUgYmVjYXVzZSB0aGUgc291cmNlIGlzIG5vdAoJICBzZXQgeWV0IGFuZCB0aGlzIGxlYWRzIHRvIGEgY3Jhc2guIEl0IGlzIHNldCBvbiBSRUFEWSA+IFBBVVNFRAoJICBhbnl3YXkuCgoyMDEwLTA0LTE4IDE0OjUxOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBFeHBvcnQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcyBmb3IgTVBFRyAyIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTYwNzgKCjIwMTAtMDQtMTYgMTk6NDU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkgIHJlc2luZHZkYmluOiBVc2UgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MgaW5zdGVhZCBvZiBzb21lIGludGVnZXIKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgNC41LgoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIGNvbW1pdCA1YTUxZGJkLgoKMjAxMC0wNC0xNiAxOTo0Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZW11eDogVXNlIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTIGluc3RlYWQgb2Ygc29tZSBpbnRlZ2VyCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MgNC41LgoKMjAxMC0wNC0xNiAxOTo0MjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBSZXZlcnQgIm1wZWdwc2RlbXV4OiBXb3JrYXJvdW5kIG5ldyBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTMzMTIyOGVjY2ZiOGM2NjQ5M2ZhM2M4YzQ5MzM4Yzc5Y2Y0NjQyYy4KCjIwMTAtMDQtMTYgMTk6NDE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBSZXZlcnQgInJlc2luZHZkYmluOiBBcHBseSBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcgd29ya2Fyb3VuZCB0byB0aGUgbXBlZ3BzZGVtdXggY29weSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2NWIwZjc1ZDFiMzExOTMxNmIyZGNhZjViZmY0ZGZkMmJkODI0Y2MxLgoKMjAxMC0wNC0xNSAyMTo0NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBBbm90aGVyIHdvcmthcm91bmQgZm9yIGVudW0gdmFsdWVzIHRoYXQgYXJlIG5vdCBhY3R1YWxseSBtZW1iZXIgb2YgdGhlIGVudW0KCjIwMTAtMDQtMTUgMjE6NDA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZGJpbjogQXBwbHkgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIHdvcmthcm91bmQgdG8gdGhlIG1wZWdwc2RlbXV4IGNvcHkKCSAgU2FtZSBhcyBhMzMxMjI4ZWNjZmI4YzY2NDkzZmEzYzhjNDkzMzhjNzljZjQ2NDJjLgoKMjAxMC0wNC0xNSAyMTozODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogSW5pdGlhbGl6ZSBwb3NzaWJseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA0LTE1IDIxOjM1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWN0dWFsbHkgY29tcGFyZSB0aGUgc3RhdGUgYW5kIG5vdCB0aGUgc3RhdGUgY2hhbmdlIHJldHVybiBmcm9tIF9nZXRfc3RhdGUoKQoKMjAxMC0wNC0xNSAyMToyNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogV29ya2Fyb3VuZCBuZXcgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nCgkgIGdjYyA0LjUgd2FybnMgd2hlbiBjb21wYXJpbmcgc29tZSBpbnRlZ2VyIHdpdGggYW4gZW51bSB2YWx1ZSwgaW4KCSAgdGhlIGNhc2Ugb2YgR3N0Rmxvd1JldHVybiB0aGlzIGlzIHZhbGlkIHRob3VnaC4gV2Ugc2hvdWxkIGxhdGVyCgkgIGFkZCBHU1RfRkxPV19DVVNUT01fT0sxLCBHU1RfRkxPV19DVVNUT01fT0syLCBldGMuIGFmdGVyIG5ldyBjb3JlCgkgIGlzIHJlbGVhc2VkLgoKMjAxMC0wNC0xNSAyMDo1MDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICBjZHhhcGFyc2U6IENvbXBhcmUgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gR1NUX1NFRUtfVFlQRV9TRVQKCjIwMTAtMDQtMTUgMDc6MjQ6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERyb3AgLVdjYXN0LWFsaWduCgkgIENvbW1pdCBtZXNzYWdlIGNvcGllZCBmcm9tIGNvcmUncyBjb21taXQgZnJvbSBCZW5qYW1pbiBPdHRlOgoJICAyNDZmNWRiYTk2YTViNTBiYjc0NjIxYWY2N2IzMDk0MmNjYTcyYWY1CgkgIEFwcGFyZW50bHkgZ2NjIHdhcm5zIHRoYXQgR3N0TWluaU9iamVjdCBpcyBub3QgY2FzdGFibGUgdG8KCSAgR3N0RXZlbnQvTWVzc2FnZS9CdWZmZXIgZHVlIHRvIHRoZW0gY29udGFpbmluZyA2NGJpdCB2YXJpYWJsZXMsIGV2ZW4KCSAgdGhvdWdoIEFSTSBoYWNrZXJzIGNsYWltIHRoYXQgdGhvc2Ugb25seSBuZWVkIDRieXRlIGFsaWdubWVudC4gQW5kIGFzCgkgIGxvbmcgYXMgZ2NjIGJlaGF2ZXMgdGhhdCB3YXksIHRoaXMgd2FybmluZyBpcyBub3QgdmVyeSB1c2VmdWwuCgkgIFNvIHdlJ2xsIHJlbW92ZSB0aGUgd2FybmluZyB1bnRpbCB0aGlzIHByb2JsZW0gaXMgZml4ZWQuCgkgIEZpeGVzICM2MTU2OTgKCjIwMTAtMDQtMTUgMTM6MjA6NDIgKzAzMDAgIEFkYW0gRW5kcm9kaSA8YWRhbS5lbmRyb2RpQGJsdW1zb2Z0LmV1PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXNldCBzb2Z0d2FyZSB6b29taW5nIGlmIG5vdCBzZXQgYnkgdGhlIHBob3RvIGludGVyZmFjZQoJICBPdGhlcndpc2UgYm90aCBzb2Z0d2FyZSAodmlkZW9zY2FsK3ZpZGVvY3JvcCkgYW5kIGhhcmR3YXJlIHpvb21pbmcgd291bGQgYmUgdXNlZC4KCjIwMTAtMDQtMTQgMTY6NDI6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBGaXggdXAgZWxlbWVudCBkZXRhaWxzCgoyMDEwLTA0LTE0IDE2OjMyOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSAgdG9vbHM6IEFkZCBlbGVtZW50LW1ha2VyCgkgIEFkZCBhIHNjcmlwdCB0aGF0IGNyZWF0ZXMgZWxlbWVudHMgYmFzZWQgb24gYW55IG9mIHRoZSBHU3RyZWFtZXIKCSAgYmFzZSBjbGFzc2VzLiAgSXQgaXNuJ3QgdmVyeSB1c2VyIGZyaWVuZGx5IGF0IHRoZSBtb21lbnQsIG9uZQoJICBuZWVkcyB0byBlZGl0IHRoZSBzY3JpcHQgdG8gbWFrZSBpdCB3b3JrIHByb3Blcmx5LiAgRWFjaCBiYXNlIGNsYXNzCgkgIGhhcyBhIHRlbXBsYXRlIGZpbGUgZGVzY3JpYmluZyB3aGF0IHRvIHB1dCBpbnRvIHRoZSBjb25zdHJ1Y3RlZAoJICBlbGVtZW50LiAgRXZlbnR1YWxseSwgdGhlc2UgdGVtcGxhdGVzIHNob3VsZCBiZSBtb3ZlZCB0byByZXNpZGUKCSAgd2l0aCB0aGUgYmFzZSBjbGFzcyBzb3VyY2UgYW5kIGluc3RhbGxlZCB0byBhIHdlbGwta25vd24gZGlyZWN0b3J5LAoJICB3aGVyZSBhbiBpbnN0YWxsZWQgc2NyaXB0IGNvdWxkIGZpbmQgdGhlbS4KCSAgVGhlIHRlbXBsYXRlIGZpbGVzIHVzZSB0aGUgLmMgZW5kaW5nIHNvIGVkaXRvcnMga25vdyB0aGV5IGFyZSBDCgkgIHNvdXJjZSwgYnV0IGdzdC1pbmRlbnQgZG9lc24ndCBoYW5kbGUgdGhlbSBjb3JyZWN0bHkuICBTbyB0aGV5CgkgIG5lZWQgdG8gYmUgY29tbWl0dGVkIHdpdGggLW4uICBVZ2guICBJJ2xsIHRyeSB0byBmaWd1cmUgb3V0IGEgZml4CgkgIGZvciB0aGF0IHNvb24uCgoyMDEwLTA0LTEzIDIwOjMyOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IEFkZCB2aWRlby1jYXB0dXJlLXdpZHRoL2hlaWdodC9mcmFtZXJhdGUgcHJvcGVydGllcwoJICBBZGRzIHZpZGVvLWNhcHR1cmUtd2lkdGgsIHZpZGVvLWNhcHR1cmUtaGVpZ2h0IGFuZAoJICB2aWRlby1jYXB0dXJlLWZyYW1lcmF0ZSBwcm9wZXJ0aWVzIHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0bwoJICBnZXQvc2V0IHRob3NlIHZhbHVlcy4gR2V0dGluZyB3YXMgbm90IHBvc3NpYmxlIGJlZm9yZSB0aGlzIHBhdGNoLAoJICBhbmQgc2V0dGluZyB3YXMgZG9uZSB0aHJvdWdoIHRoZSBzZXQtdmlkZW8tcmVzb2x1dGlvbi1mcHMKCSAgYWN0aW9uLCB3aGljaCBzZXRzIHRoZSBwcm9wZXJ0aWVzIGFuZCBwcm9tcHRseSByZXNldHMgdGhlCgkgIHZpZGVvIHNvdXJjZSB0byB1c2UgdGhlbS4KCSAgRml4ZXMgIzYxNDk1OAoKMjAxMC0wNC0xMyAxODozMzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogQWRkcyBpbWFnZS1jYXB0dXJlLXdpZHRoL2hlaWdodCBwcm9wZXJ0aWVzCgkgIEFkZHMgaW1hZ2UtY2FwdHVyZS13aWR0aCBhbmQgaW1hZ2UtY2FwdHVyZS1oZWlnaHQgcHJvcGVydGllcwoJICB0byBjYW1lcmFiaW4sIGFsbG93aW5nIHRoZSB1c2VyIHRvIGdldC9zZXQgdGhlbS4gR2V0dGluZyB3YXMKCSAgbm90IHBvc3NpYmxlIGJlZm9yZSBhbmQgc2V0dGluZyB3YXMgZG9uZSB0aHJvdWdoIHRoZQoJICBzZXQtaW1hZ2UtcmVzb2x1dGlvbiBhY3Rpb24sIHdoaWNoIHNob3VsZG4ndCBub3cganVzdCBzZXQKCSAgdGhlIHByb3BlcnRpZXMuCgkgIEZpeGVzICM2MTQ5NTgKCjIwMTAtMDQtMTMgMTU6NTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwaG90b2dyYXBoeTogU3ByaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG92ZXIgdGhlIHByb3BlcnRpZXMKCSAgaW4gR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBpbiBjYW1lcmFiaW4KCjIwMTAtMDMtMDIgMTQ6MDQ6NDQgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIGJsb2NrLWFmdGVyLWNhcHR1cmUgcHJvcGVydHkgZm9yIHZpZXdmaW5kZXIgYmxvY2tpbmcKCSAgQWRkcyBibG9jay1hZnRlci1jYXB0dXJlIHByb3BlcnR5IHRvIGJsb2NrIHJ1bm5pbmcgdmlld2ZpbmRlciBhZnRlciBjYXB0dXJpbmcuCgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZnVsIGlmIGFwcGxpY2F0aW9uIHdhbnRzIHRvIGRpc3BsYXkgY2FwdHVyZSBwcmV2aWV3IGFuZCBhdm9pZAoJICBydW5uaW5nIHZpZXdmaW5kZXIgb24gYmFja2dyb3VuZC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoyMDEwLTAyLTA5IDE0OjUyOjQ5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCB2aWV3ZmluZGVyLWZpbHRlciBhbmQgZmlsdGVyIGNhcHMgcHJvcGVydGllcwoJICBBZGRzIHN1cHBvcnQgZm9yIHNldHRpbmcgZmlsdGVyLWNhcHMgYW5kIHZpZXdmaW5kZXItZmlsdGVyCgkgIHByb3BlcnRpZXMgaW4gdGhlIGdzdC1jYW1lcmFiaW4tdGVzdCBhcHBsaWNhdGlvbgoKMjAxMC0wMS0yNiAxNToxODoyNCArMDIwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBHc3RQaG90b2dyYXBoeTogQWRkIGZsaWNrZXIgYW5kIGZvY3VzIG1vZGUgc2V0dGluZ3MgdG8gcGhvdG9ncmFwaHkgQVBJCgkgIEFkZHMgZmxpY2tlciBhbmQgZm9jdXMgbW9kZSBzZXR0aW5ncyB0byBwaG90b2dyYXBoeSBBUEkgYW5kIGFsc28KCSAgaW1wbGVtZW50IGl0IGluIGNhbWVyYWJpbi4KCjIwMDktMTEtMjYgMTI6MTI6MDYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBhZGQgZ3N0LWNhbWVyYWJpbi10ZXN0IGNvbW1hbmQgbGluZSB0ZXN0IHRvb2wKCSAgZ3N0LWNhbWVyYWJpbi10ZXN0IHRvb2wgY2FuIGJlIHVzZWQgdG8gY2FwdHVyZSBzdGlsbCBpbWFnZXMgYW5kCgkgIHZpZGVvIGNsaXBzIHVzaW5nIGNhbWVyYWJpbiBlbGVtZW50LgoKMjAwOS0xMS0xNiAxNTowMjowMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBkbyBub3Qgc2V0IGltYWdlYmluIHNpbmtwYWQgdHdpY2UKCSAgSWYgd2UgYWxyZWFkeSBoYXZlIGEgc2lua3BhZCwgZG8gbm90IGdldCBhIG5ldyBvbmUKCjIwMDktMTEtMTYgMTU6MTM6MzEgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdW5pdCB0ZXN0cwoJICBBZGQgdGVzdGluZyBvZiBzZXR0aW5nIGFuZCBnZXR0aW5nIG9mIGNhbWVyYWJpbiBwcm9wZXJ0eSBlbGVtZW50cyBhbmQKCSAgYWRkIHBvc3QtcHJvY2Vzc2luZyBlbGVtZW50cyB0byBwaXBlbGluZS4KCjIwMDktMTEtMTMgMTY6NDI6NDQgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgdW5pdCB0ZXN0cyBmb3Igc2V0dGluZyBkaWZmZXJlbnQgZmxhZ3Mgd2hlbiBjYXB0dXJpbmcKCSAgQWRkcyBzb21lIHRlc3RzIHRoYXQgdXNlIGZsYWdzIGZvciBjYXB0dXJpbmcgdG8gYXN1cmUgaXQgd29ya3MKCSAgd2l0aCBmbGFncyBzZXQgb3Igbm90LgoKMjAwOS0xMC0yOCAxNzozNzo1NiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBwYXVzZWQgdmlkZW8gY2FwdHVyZSBmaWxlIHZhbGlkaXR5IGNoZWNrIGluIHVuaXQgdGVzdAoJICBBbHNvIGNoZWNrIHRoYXQgdGhlIGZpbGUgY2FwdHVyZWQgaW4gdGhlIHBhdXNlZCBjYXB0dXJlIHVuaXQgdGVzdCBpcwoJICBwbGF5YWJsZS4KCjIwMDktMTAtMTkgMTQ6MzE6NTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHZpZXdmaW5kZXItZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgY2FsbGVkIHZpZXdmaW5kZXItZmlsdGVyIHRvIGNhbWVyYWJpbi4KCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIHRvIGFkZCBhIGZpbHRlciB0byBwcm9jZXNzIHRoZSB2aWRlbwoJICBmbG93IHJpZ2h0IGJlZm9yZSB0aGUgdmlld2ZpbmRlciBzaW5rLgoJICBBbHNvIHVwZGF0ZXMgdGVzdCB0byBjaGVjayBwcm9wZXJ0eSBleGlzdHMuCgoyMDA5LTEwLTIxIDE4OjAyOjI3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgdmlkZW90ZXN0c3JjIHBhdHRlcm4gdG8gd2hpdGUgaW4gdW5pdCB0ZXN0CgkgIExvd2VyIGNvbXBsZXhpdHkgb2YgZW5jb2RpbmcgYW5kIHZpZGVvdGVzdHNyYyByZWRyYXdpbmcgaW4gb3JkZXIKCSAgdG8gcHJldmVudCB1bml0IHRlc3QgdGltZW91dHMuCgoyMDA5LTEwLTE0IDE0OjAxOjM0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHByb3h5IHZpZGVvIHNvdXJjZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydHkgbm90aWZ5IHNpZ25hbHMKCSAgSWYgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnRpZXMgY2hhbmdlIGluIHZpZGVvIHNvdXJjZSwgbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiBieSBlbWl0dGluZyBub3RpZnkgZm9yIHJlc3BlY3RpdmUgY2FtZXJhYmluIHByb3BlcnRpZXMuCgoyMDA5LTEwLTE0IDE0OjQyOjAxICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTmV3IHVuaXQgdGVzdHMKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNhbWVyYWJpbiBwcm9wZXJ0aWVzIHNldHRpbmcgYW5kIGdldHRpbmcsCgkgIGFkZHMgb25lIGZvciB2aWRlbyBjYXB0dXJpbmcgd2l0aCBwYXVzZS4KCSAgQWxzbyBkb2VzIHNvbWUgYzk5IHZhcmlhYmxlIGRlY2xhcmF0aW9uIGZpeGVzLgoKMjAwOS0xMC0xNCAxNDowMTowNSArMDMwMCAgU2hlbmdodWEgTGl1IDxFWFQtTGl1LnNoZW5naHVhQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB1bml0IHRlc3QgdG8gaGF2ZSB0ZXN0IG9uIHJlY29yZGluZyBzbmFwc2hvdCBwcmV2aWV3CgkgIEFkZHMgYSBzbWFsbCBjaGVjayB0byB2ZXJpZnkgdGhhdCB0aGUgcHJldmlldyBpbWFnZSBtZXNzYWdlIGlzCgkgIGJlaW5nIHNlbnQgb24gdmlkZW8gcmVjb3JkaW5nLgoKMjAwOS0wOS0yMSAxNzo0NzoyMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogYWRkIGFwaSB0byBxdWVyeSBzdXBwb3J0ZWQgaW1hZ2UgY2FwdHVyZSByZXNvbHV0aW9uCgkgIEFkZHMgbmV3IHByb3BlcnR5ICdpbWFnZS1jYXB0dXJlLXN1cHBvcnRlZC1jYXBzJyB0byBHc3RQaG90b2dyYXBoeQoJICB0byBxdWVyeSB0aGUgc3VwcG9ydGVkIGltYWdlIGNhcHR1cmUgY2Fwcy4KCSAgQWxzbyBpbXBsZW1lbnQgaXQgaW4gY2FtZXJhYmluLgoKMjAwOS0wNy0wMiAxODowMzo1NyArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZW5hbWUgZnVuY3Rpb24gYW5kIHZhcmlhYmxlIG5hbWVzLCB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBHZXQgcmlkIG9mIHVzZXJfKiBwcmVmaXggaW50ZXJuYWxseSwgdXNlIGFwcF8qIGluc3RlYWQuCgoyMDA5LTA5LTE2IDE1OjExOjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkKCSAgQWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkgdGhhdCBjYW4gYmUgdXNlZCB0byBpbmplY3QgYXBwbGljYXRpb24KCSAgc3BlY2lmaWMgZ3N0cmVhbWVyIGVsZW1lbnQgdG8gY2FtZXJhYmluIHBpcGVsaW5lLiBUaGUgdmlkZW8tc291cmNlLWZpbHRlcgoJICBlbGVtZW50IHdpbGwgcHJvY2VzcyBhbGwgZnJhbWVzIGNvbWluZyBmcm9tIHZpZGVvIHNvdXJjZS4KCSAgT25lIGNvdWxkIGFkZCBpbWFnZSBhbmFseXplcnMgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtLAoJICBvciBhZGQgaW1hZ2UgZW5oYW5jZXJzIHRvIGltcHJvdmUgY2FwdHVyZSBxdWFsaXR5LCBmb3IgZXhhbXBsZS4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMi0xOCAxODoxOTo1MCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCB0cnkgYWRhcHRpbmcgaW1hZ2UgY2FwdHVyZSByZXNvbHV0aW9uIGlmIG5vIHNvdXJjZS1yZXNpemUgZmxhZwoJICBJZiBzb3VyY2UtcmVzaXplIGZsYWcgaXMgZGlzYWJsZWQgdGhlbiBzZXQgcmVzb2x1dGlvbiB0byBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgYWNjb3JkaW5nIHRvIGNhcHR1cmUgcmVzb2x1dGlvbiB2aWRlbyBzb3VyY2UgZWxlbWVudCBwcm9kdWNlcy4gT3RoZXJ3aXNlIHdlCgkgIHdyaXRlIHdyb25nIHJlc29sdXRpb24gdG8gaW1hZ2UgbWV0YWRhdGEuCgoyMDEwLTAxLTA1IDE1OjEzOjAyICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjYXB0dXJpbmcgZmxhZyBoYW5kbGluZyBhZnRlciBpbWFnZSBoYXMgYmVlbiBjYXB0dXJlZAoJICBNYWtlIHN1cmUgY2FwdHVyaW5nIGZsYWcgaXMgdW5zZXQgYW5kIGltYWdlLWNhcHR1cmVkIG1lc3NhZ2UgaXMgc2VudAoJICBiZWZvcmUgc2VuZGluZyBlb3MgZXZlbnQgdG8gaW1hZ2UgYmluIGFuZCBzYXZpbmcgdGhlIGltYWdlIHRvIGEgZmlsZS4KCjIwMDktMTEtMDQgMTM6MjQ6MTMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHNldHRpbmcgZmlsdGVyLWNhcHMgcHJvcGVydHkgaW4gTlVMTCBzdGF0ZQoJICBTcGxpdCBfc2V0X2NhcHNmaWx0ZXJfY2FwcygpIGludG8gdHdvIHBhcnRzIHNvIHRoYXQgd2UgY2FuIGNhbGwgb25lIHBhcnQKCSAgcmVnYXJkbGVzcyBvZiB0aGUgZWxlbWVudCBzdGF0ZS4KCjIwMDktMDktMTEgMDk6Mzg6NTEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBpbWFnZSBkb25lIHNpZ25hbCBlbWlzc2lvbgoJICBVc2UgZ19pZGxlX2FkZF9mdWxsKCkgd2l0aCBHX1BSSU9SSVRZX0hJR0ggdG8gZW1pdCBpbWFnZSBkb25lIHNpZ25hbCwKCSAgZ19pZGxlX2FkZCgpIGlzIG1vcmUgbGlrZWx5IHRvIHN0YXJ2ZSB3aXRoIGhpZ2hlciBwcmlvcml0eSBldmVudHMuCgoyMDEwLTA0LTEyIDEyOjQyOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSAtV3VuZGVmIGZsYWcKCSAgU2FtZSBmaXggYXMgZm9yICM2MTUxNjEKCjIwMTAtMDQtMTIgMDk6MTY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogQ29ycmVjdGx5IGxpbmsgdG8gdGhlIGxvY2FsIGxpYmdzdHZkcC0wLjEwIGJ5IHVzaW5nIHRoZSBsaWJ0b29sIGFyY2hpdmUKCjIwMTAtMDQtMDkgMDk6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjYW1lcmFiaW46IGVuYWJsZSBjYW1lcmFiaW4gdGVzdHMKCSAgUmUtZW5hYmxpbmcgY2FtZXJhYmluIHRlc3RzLCB0aGV5IGFyZSBwYXNzaW5nLgoKMjAxMC0wNC0wOSAxMToyMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkZjAyM2QgdG8gZmM4NTg2NwoKMjAxMC0wNC0wOCAxMjowMDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogRml4IGNvbXBpbGF0aW9uIGVycm9yIG9uIG1hY29zeAoKMjAxMC0wNC0wOCAxMDo0NTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IDgtYml0IFBDTSBhdWRpbyBjYXBzIGRvbid0IG5lZWQgYW4gZW5kaWFubmVzcyBmaWVsZAoKMjAxMC0wNC0wOCAxMDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGRvbid0IGl0ZXJhdGUgdGhlIGZvcm1hdHMgdGFibGUgdHdpY2UgZm9yIGVhY2ggZW50cnkKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIGZvcm1hdHMgdGFibGUsIHdlIGNhbiBqdXN0IHBhc3MgdGhlIHdob2xlCgkgIGVudHJ5IHRvIG91ciBoZWxwZXIgZnVuY3Rpb24sIHdoaWNoIGF2b2lkcyBpdGVyYXRpbmcgdGhlIHRhYmxlCgkgIGFnYWluIHRvIGZpbmQgdGhlIGVudHJ5IHN0cnVjdHVyZSBmcm9tIHRoZSBwYXNzZWQgZm9ybWF0IGlkLgoKMjAxMC0wMy0zMCAxMTo0MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGFsc28gYWNjZXB0IGZvcm1hdHMgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZAoJICBBbHNvIGFjY2VwdCBmb3JtYXRzIHRoYXQgYXJlIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlCgkgIGhhcmR3YXJlLCBPU1M0IGNhbiBjb252ZXJ0IHRoZW0gaW50ZXJuYWxseS4gTGlzdCB0aGUgbmF0aXZlCgkgIGZvcm1hdHMgZmlyc3QgaW4gdGhlIGNhcHMgdGhvdWdoLCB0byBleHByZXNzIG91ciBwcmVmZXJlbmNlCgkgIGZvciB0aGUgbmF0aXZlIGZvcm1hdHMuIFdlIG5lZWQgdGhpcyBpbiBvcmRlciB0byBzdXBwb3J0IHRoZQoJICBjYXNlIHByb3Blcmx5IHdoZXJlIHRoZSBhdWRpbyBoYXJkd2FyZSBzdXBwb3J0cyBvbmx5IGUuZy4KCSAgbGl0dGxlIGVuZGlhbiBQQ00sIGJ1dCB0aGUgaG9zdCBpcyBiaWcgZW5kaWFuLCBzaW5jZSBtYW55CgkgIGF1ZGlvIGVsZW1lbnRzIG9ubHkgc3VwcG9ydCBuYXRpdmUgZW5kaWFubmVzcyBhbmQgbWFrZSB0aGUKCSAgcmVhc29uYWJsZSBhc3N1bXB0aW9uIHRoYXQgYW55IGF1ZGlvc2luayB3aWxsIGJlIGFibGUgdG8KCSAgaGFuZGxlIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBCYXNlZCBvbiBwYXRjaCBieSBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoJICBGaXhlcyAjNjE0MzE3LgoKMjAxMC0wNC0wOCAwODo0ODozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgc291bmR0b3VjaDogdXNlICQoTElCTSkgaW4gTWFrZWZpbGUuYW0gaW5zdGVhZCBvZiAtbG0KCjIwMTAtMDQtMDggMDE6NDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBmaXggcHJpbnQgZm9ybWF0IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDQtMDggMDE6NDE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwYXNzIGNvbnN0YW50IHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nIHRvIHByaW50ZgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBub24tc3RyaW5nIGxpdGVyYWwgYmVpbmcgcGFzc2VkIGFzCgkgIGZpcnN0IGFyZ3VtZW50IHRvIHByaW50LgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTA0LTA3IDExOjIyOjQzICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBmaXggY3Jhc2ggd2hlbiBjb252ZXJ0aW5nIHVuaXRzCgkgIHgveS1yZXNvbHV0aW9uIGFyZSBmcmFjdGlvbnMsIHNvIHNldHRpbmcgdGhlbSB1c2luZyBmbG9hdCB2YWx1ZXMgaXMgbm90CgkgIGEgZ29vZCBpZGVhLgoJICBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTU3NzY1NQoKMjAxMC0wNC0wNSAxMDozMzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQmx1ZVJheSBzdHlsZSBEVFMKCSAgRml4ZXMgYnVnICM2MTQyNTkuCgoyMDEwLTA0LTA0IDIwOjIzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSB0d28gRFRTIEhEIHN0cmVhbSB0eXBlcwoJICBGaXhlcyBidWcgIzYxNDI1OS4KCjIwMTAtMDQtMDIgMTk6NTI6MjUgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBZGRpdGlvbmFsbHkgdXNlIHRoZSBDUkMgdG8gY2hlY2sgaWYgdGFibGVzIGFyZSBkdXBsaWNhdGVzCgkgIFRoZSBjdXJyZW50IGNvZGUganVzdCB1c2VzIHRhYmxlIGlkLCBzdWJ0YWJsZSBleHRlbnNpb24gYW5kIHZlcnNpb24gbnVtYmVyIHRvCgkgIGNoZWNrIGlmIHRoZSBzZWN0aW9uIGhhcyBiZWVuIHNlZW4gYmVmb3JlLiBIb3dldmVyLCB0aGlzIGNvbXBhcmlzb24gaXMgbm90CgkgIHN1ZmZpY2llbnQsIGNhdXNpbmcgYWN0dWFsbHkgbmV3IHRhYmxlcyBiZWluZyBkaXNtaXNzZWQuCgkgIEZpeGVzIGJ1ZyAjNjE0NDc5LgoKMjAxMC0wNC0wMiAxOTo0ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvcnJlY3RseSBjbGVhbiB1cCBpbnRlcm5hbCBzdGF0ZSBmb3IgcmV1c2UKCSAgRml4ZXMgYnVnICM2MTQ1OTEuCgoyMDEwLTA0LTAyIDE5OjE5OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IE1ha2Ugc3VyZSB0aGF0IHRoZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBGaXhlcyBidWcgIzYxNDM0OS4KCjIwMTAtMDQtMDIgMTk6MDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBVc2UgdWludCBpbnN0ZWFkIG9mIGludCBmb3IgZnJlcXVlbmN5IGFuZCBzeW1ib2wtcmF0ZSBwcm9wZXJ0aWVzCgkgIFRoZSBrZXJuZWwgQVBJIHNwZWNpZmllcyB0aGVtIGFzIHVpbnQzMiBhbmQgZnJlcXVlbmNpZXMvc3ltYm9sLXJhdGVzIGdyZWF0ZXIKCSAgdGhhbiAyXjMxIGFyZSBhY3R1YWxseSBuZWVkZWQgc29tZXRpbWVzLgoJICBGaXhlcyBidWcgIzYxNDQ3NS4KCjIwMTAtMDMtMzAgMDE6MTc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC9NYWtlZmlsZS5hbToKCSogc3lzL01ha2VmaWxlLmFtOgoJICBidWlsZDogYnVpbGQgcGx1Z2lucyBhbmQgZXhhbXBsZXMgaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUsIGlmIG1ha2UgLWpOIGlzIHVzZWQKCjIwMTAtMDMtMzAgMDE6MTY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgZm9yIHN0cmluZyBjaGFuZ2VzIGFuZCBuZXcgY29tbWVudAoKMjAxMC0wMy0zMCAwMToxNDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycwoJICBOb3QgdGhhdCB0aGF0IHdpbGwgbWFrZSB0aGVzZSBzdHJpbmdzIG11Y2ggYmV0dGVyLiBBbHNvIHJlbW92ZSBpMThuCgkgIG1hcmtlciB3aGVyZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgoyMDEwLTAzLTI3IDA5OjQ2OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogdXNlIEdTdHJlYW1lciBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbiBpbiB0aGUgcGx1Z2luIGluZm8KCjIwMTAtMDMtMjkgMTQ6NDk6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggd3JpdGluZyBOQUxVIHByZWZpeCBmb3IgYnl0ZS1zdHJlYW0gb3V0cHV0IGZvcm1hdAoJICBTcGVjaWZpY2FsbHksIGlucHV0IG1heSBhbHJlYWR5IGJlIGluIGJ5dGUtc3RyZWFtIGZvcm1hdCwgc28gc3luYwoJICBieXRlcyBzaG91bGQgbm90IGJlIG1pc2ludGVycHJldGVkIGFzIE5BTFUgc2l6ZS4KCjIwMTAtMDMtMjkgMTA6MDA6NTcgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIG9wZW5zcGM6IEZpeCBidWlsZCB3YXJuaW5nCgkgIEFkZCBhIHByb3RvdHlwZSBmb3IgZ3N0X3NwY19kZWNfZ2V0X3R5cGUKCjIwMTAtMDMtMjYgMTg6NTg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBPcHRpb25hbGx5IGNoZWNrIHRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyB0b28gYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgaXMgb3B0aW9uYWwgYmVjYXVzZSBpdCdzIGEgcXVpdGUgZXhwZW5zaXZlIG9wZXJhdGlvbiBhbmQgaXQncyB2ZXJ5CgkgIHVubGlrZWx5IHRoYXQgYSBub24tZnJhbWUgaXMgZGV0ZWN0ZWQgYXMgZnJhbWUgYWZ0ZXIgdGhlIGhlYWRlciBDUkMgY2hlY2sKCSAgYW5kIGNoZWNraW5nIGFsbCBiaXRzIGZvciB2YWxpZCB2YWx1ZXMuIFRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyBhcmUKCSAgbWFpbmx5IHVzZWZ1bCB0byBkZXRlY3QgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBlbmNvZGVkIHBheWxvYWQuCgoyMDEwLTAzLTI2IDE4OjQyOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQ2hlY2sgdGhlIENSQy04IG9mIHRoZSBoZWFkZXJzIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIG1ha2VzIGZhbHNlLXBvc2l0aXZlcyBkdXJpbmcgc2Vla2luZyBtdWNoIGxlc3MgbGlrZWx5IGFuZCBkZXRlY3Rpb24gb2YKCSAgdGhlbSBtdWNoIGZhc3Rlci4KCjIwMTAtMDMtMjYgMTg6MjA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZXQgdGhlIGxhc3Qgc3RvcCB0byB0aGUgYnVmZmVyIHN0YXJ0dGltZSBpZiB0aGUgZHVyYXRpb24gaXMgaW52YWxpZAoJICAuLi5pbnN0ZWFkIG9mIG5vdCBzZXR0aW5nIGl0IGF0IGFsbC4KCjIwMTAtMDMtMjYgMTg6MTk6MDAgKzAxMDAgIEpvc2h1YSBNLiBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNlbmQgTkVXU0VHTUVOVCBldmVudCB3aXRoIGNvcnJlY3Qgc3RhcnQgYW5kIHBvc2l0aW9uCgkgIEluc3RlYWQgb2YgdGFraW5nIHRoZSBsYXN0IHN0b3AgKHdoaWNoIGNvdWxkIGJlIGJ1ZmZlciBlbmR0aW1lIGluc3RlYWQKCSAgb2Ygc3RhcnR0aW1lKSBhbHdheXMgdGFrZSB0aGUgYnVmZmVyIHN0YXJ0dGltZS4KCSAgRml4ZXMgYnVnICM2MTQwMTYuCgoyMDEwLTAzLTI2IDE2OjQ5OjAxICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IGJ1ZmZlciByZWZjb3VudCBpc3N1ZQoJICBXaGVuIGNhbGxlZCBmcm9tIHRoZSBHU1RfRkxBQ19QQVJTRV9TVEFURV9IRUFERVJTIGNhc2UsCgkgIGdzdF9mbGFjX3BhcnNlX2hhbmRfaGVhZGVycygpIGRvZXMgYSBnc3RfYnVmZmVyX3NldF9jYXBzKCkgb24gYSBidWZmZXIKCSAgd2l0aCByZWZjb3VudCA+IDEuIFRoaXMgY2hhbmdlIGhhbmRsZXMgdGhpcyBjYXNlIGJ5IG1ha2luZyB0aGUgYnVmZmVyCgkgIG1ldGFkYXRhX1dyaXRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0MDM3CgoyMDEwLTAzLTI2IDEyOjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBtaXNzaW5nIHNwYWNlIHRvIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDMtMjYgMDg6NDE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCB1c2UgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0CgkgIEZpeGVzIHRoZSBidWlsZC4KCjIwMTAtMDMtMjUgMjM6NDg6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICBkaXZ4OiBhZGQgY29uc3QgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTI1IDIzOjMwOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCBib29sZWFuIHJldHVybiB0byBfcHJvY2VzcwoJICBBdm9pZCB0cnlpbmcgdG8gcHVzaCByZXN1bHRzIGlmIHByb2Nlc3NpbmcgZmFpbGVkIGFueXdheS4KCjIwMTAtMDMtMjUgMjM6Mjg6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVtb3ZlIHVzZWxlc3MgZ19hc3NlcnQKCSAgZ19tYWxsb2MgYW5kIGNvIHdvdWxkIHRlcm1pbmF0ZSB3aGVuIG91dCBvZiBtZW1vcnkuIE5vIG5lZWQgdG8gY2hlY2sgYWZ0ZXIgaXQuCgoyMDEwLTAzLTI1IDIzOjI0OjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCBtb3JlIGxvZ2dpbmcKCjIwMTAtMDMtMjUgMjM6MTI6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVnaXN0ZXIgZnVuY3Rpb24gcG9pbnRlcnMganVzdCBvbmNlCgkgIEF2b2lkIHJlLXJlZ2lzdGVyaW5nIHRob3NlIGZvciBlYWNoIHdyYXBwZWQgbGFkcHNhL2x2MiBlbGVtZW50LgoKMjAxMC0wMy0yNSAyMzowNzo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgcmF0ZSB0byBjYXBzCgoyMDEwLTAzLTI1IDIzOjA0OjQxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbmFtZSBsb2cgY2F0ZWdvcnkgdG8gYmUgbGVzcyBhbWJpZ291cwoKMjAxMC0wMy0yNSAyMjo1OToxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIGx2MjogYWRkIG1vcmUgZXhhbXBsZXMKCjIwMTAtMDMtMjUgMjI6NTg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogaWYgd2UgdGVsbCB0aGF0IHdlIGhhbmRsZSBnYXAgZmxhZ3MsIHRoZW4gZG8gc28KCjIwMTAtMDMtMjUgMjI6NTU6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogdXNlIGdsaWIgdHlwZXMKCjIwMTAtMDMtMjUgMjI6NTQ6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDEwLTAzLTI1IDIyOjUzOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHJlZm9ybWF0IG1lc3NhZ2UgZG9jcwoJICBVc2UgYSBsaXN0IGxpa2UgaW4gb3RoZXIgZWxlbWVudCBkb2NzIGFzIGFuIHVudHdlYWtlZCBkb2Nib29rIHRhYmxlIGxvb2sgdWdseS4KCjIwMTAtMDMtMjUgMTc6MDk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgdW51c2VkIEdzdEJhc2VQYXJzZUNsYXNzUHJpdmF0ZSBzdHJ1Y3R1cmUKCjIwMTAtMDMtMjUgMTI6NTU6MDIgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIGJpdHJhdGUgZXN0aW1hdGlvbiBtb3JlIGFjY3VyYXRlCgkgIFRoaXMgaW1wbGVtZW50cyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIG1ha2UgbW9yZSBhY2N1cmF0ZSBiaXRyYXRlIGVzdGltYXRlcy4KCjIwMTAtMDMtMjUgMTE6NDg6NDYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIG1pbi9hdmcvbWF4IGJpdHJhdGVzIGZvciBhYWNwYXJzZS4KCSAgTm90ZTogVGhlIGJpdHJhdGUgd2FzIGJlaW5nIGluY29ycmVjdGx5IGNhbGN1bGF0ZWQgZm9yIEFEVFMgc3RyZWFtcwoJICAoaXQncyBub3QgaW4gdGhlIGhlYWRlciBhcyB0aGUgY29kZSBzdWdnZXN0cykuCgoyMDEwLTAzLTI1IDExOjIyOjU4ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogQWRkIGJpdHJhdGUgY2FsY3VsYXRpb24gdG8gYmFzZXBhcnNlCgkgIFRoaXMgbWFrZXMgYmFzZXBhcnNlIGtlZXAgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHN0cmVhbSBiaXRyYXRlLCBhcwoJICB3ZWxsIGFzIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGJpdHJhdGVzLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSBhCgkgIHZmdW5jIHRvIG1ha2Ugc3VyZSB0aGF0IHBlci1mcmFtZSBvdmVyaGVhZCBmcm9tIHRoZSBjb250YWluZXIgaXMgbm90CgkgIGFjY291bnRlZCBmb3IgaW4gdGhlIGJpdHJhdGUgY2FsY3VsYXRpb24uCgkgIFdlIHRha2UgY2FyZSBub3QgdG8gb3ZlcnJpZGUgdGhlIGJpdHJhdGUsIG1pbmltdW0tYml0cmF0ZSwgYW5kCgkgIG1heGltdW0tYml0cmF0ZSB0YWdzIGlmIHRoZXkgaGF2ZSBiZWVuIHBvc3RlZCB1cHN0cmVhbS4gV2UgYWxzbwoJICByYXRlLWxpbWl0IHRoZSBlbWlzc2lvbiBvZiBiaXRyYXRlIHNvIHRoYXQgaXQgaXMgb25seSB0cmlnZ2VyZWQgYnkgYQoJICBjaGFuZ2Ugb2YgPjEwIGticHMuCgoyMDEwLTAzLTIzIDE3OjM0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogTmV3IHRhZ3MgdGVzdHMKCSAgQWRkcyBuZXcgdGFncyBjaGVja2luZyB0ZXN0cy4KCjIwMTAtMDMtMjUgMDA6MjA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wMy0yNCAxODo1NDo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTVjZDUxNCB0byBjMWQwN2RkCgoyMDEwLTAzLTI0IDE3OjA1OjE0ICswMTAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogQWRkIHN1cHBvcnQgZm9yIFlVWTIgaW5wdXQgZm9ybWF0CgkgIEZpeCBidWcgIzYxMzcwOAoKMjAxMC0wMy0yNCAxNjoxNTozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIGRvY3M6IGFkZCBwaG90b2dyYXBoeSBpZmFjZSB0byBkb2NzCgkgIFdlIG5vcm1hbHkgaGF2ZSBzZXBhcmF0ZSBsaWJzIGRvY3MsIG5vdCBkb25lIGJlY2FzdWUgb2YgbGF6eW5lc3MgaGVyZSB5ZXQuCgoyMDEwLTAzLTI0IDE2OjA1OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogYWRkIGJsYW5rIGxpbmUgdG8gZml4IGdlbmVyYXRlZCB4bWwKCjIwMTAtMDMtMjQgMTU6NTk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggZWxlbWVudCBuYW1lIGluIHNlY3Rpb24gZG9jIGJsb2IKCjIwMTAtMDMtMjQgMTU6MDU6NTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IERlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gYXZvaWQgdW5kZWZpbmVkIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzc5NQoKMjAxMC0wMy0yNCAxMjoxNjowNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnY29uZmlnIHRvIGRldGVjdCBkdmRuYXYKCSAgVGhlIHByZXZpb3VzbHkgdXNlZCBkdmRuYXYtY29uZmlnIHNjcmlwdCB3YXMgYnJva2VuIGluIGEgbG90IG9mIGRpc3Ryb3MuCgoyMDEwLTAzLTI0IDAwOjI3OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggeWV0IGFub3RoZXIgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMyAxOTo1Njo0OCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgb3N4OiBtb3JlIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMKCSAgQXZvaWQgbmV3IHdhcm5pbmdzLgoJICBGaXhlcyAjNjEzNzU4LgoKMjAxMC0wMy0yMyAxNDoxNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIHRlc3RzOiBmYWFjOiBGaXggYnVpbGQKCSAgRml4ZXMgYnVpbGQgb2YgZmFhYyBkdWUgdG8gZnVuY3Rpb25zIG5vdCBiZWluZyBzdGF0aWMgbm9yCgkgIGhhdmluZyBiZWluZyBkZWNsYXJlZCBpbiBoZWFkZXJzLiAoTm8gcHJldmlvdXMgcHJvdG90eXBlIGVycm9yKQoJICBQcm9iYWJseSBkdWUgdG8gYWRkZWQgLVdtaXNzaW5nLXByb3RvdHlwZXMKCjIwMTAtMDMtMjMgMTE6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMyAwOToxNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkgIGNvZzogdG91Y2ggY29nLm9yYyB0byBmb3JjZSByZWdlbmVyYXRpb24gb2YgY29nb3JjLltjaF0KCSAgLi4gd2l0aCBuZXcgTWFrZWZpbGUuYW0gcnVsZXMsIHdoaWNoIHNob3VsZCBmaXggdGhlIGJ1aWxkCgkgIHdpdGhvdXQgdGhlIG5lZWQgdG8gZG8gYSAnbWFudWFsJyBtYWtlIGNsZWFuIGFmdGVyIHVwZGF0aW5nLgoKMjAxMC0wMy0yMyAwMTo0MTozMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjMgMDE6MzA6NTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMyAwMToxNToyNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgLVd1bmRlZiBmb3IgV2luZG93cwoJICBXaW5kb3dzIGhlYWRlcnMgdGVuZCB0byBjaGVjayBfTVNDX1ZFUiB1bmNvbmR0aW9uYWxseSBpbiBzb21lIHBsYWNlcywKCSAgYnV0IHVzZSAjaWZkZWYgX01TQ19WRVIgaW4gb3RoZXIgcGxhY2VzLgoKMjAxMC0wMy0yMyAwMToxNDozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBidW5jaCBvZiB3YXJuaW5nIGZsYWdzCgkgIE5vbmUgb2YgdGhlbSB0cmlnZ2VyIGFueSB3YXJuaW5nCgoyMDEwLTAzLTIzIDAxOjExOjQyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXhlcyBmb3IgLVdhZ2dyZWdhdGUtcmV0dXJuCgkgIFRoZSBmbGFnIHdhc24ndCBhZGRlZCBkdWUgdG8gbGliZXhpZiB1c2luZyBhZ2dyZWdhdGUgcmV0dXJuIHZhbHVlcy4KCjIwMTAtMDMtMjIgMTg6MDI6MzkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkgIGkxOG46IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmIGZvciBFTkFCTEVfTkxTCgoyMDEwLTAzLTIyIDE4OjAxOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGkxOG46IGZpeCB0aGUgYnVpbGQKCSAgRG9uJ3QgaW5jbHVkZSBsb2NhbGUuaCB3aGljaCB3ZSBpbmNsdWRlIGluIGdldHRleHQuaCBpZiBuZWVkZWQuIEd1YXJkIHRoZQoJICBpbmNsdWRlIGxpa2Ugd2UgZG8gaW4gdGhlIHNpbWlsbGFyIGhlYWRlcnMgaW4gY29yZS4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDE2OjIxOjMxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIEFkZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IGZsYWdzCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDE2OjEzOjEyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFJlZmFjdG9yIGNvZGUgdG8gbWFrZSBpdCBsb29rIG1vcmUgbW9kZXJuCgkgIEEgc2lkZSBlZmZlY3QgaXMgdGhhdCBpdCBwYXNzZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCBhbmQgZG9lc24ndCByZWFkCgkgIGludmFsaWQgbWVtb3J5IGluIHNvbWUgY2FzZXMsIGxpa2Ugd2hlbiB0aGUgbWl4ZXIgdHJhY2sgY29udGFpbnMKCSAgYSAlIHNpZ24gb3IgdGhlcmUgaXMgYSBudW1iZXIgYnV0IG5vdCBhIGtub3duIG1peGVyIG5hbWUuCgoyMDEwLTAzLTIyIDE0OjA5OjI0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF2b2lkIGdfcXVhcmtfdG9fc3RyaW5nIChnX3F1YXJrX2Zyb21fc3RyaW5nICgpKSBtYWRuZXNzCgkgIFdlIHRvIHRoZSBzdHJkdXAgaW5zaWRlIGdzdF9vc3M0X21peGVyX2NvbnRyb2xfZ2V0X3RyYW5zbGF0ZWRfbmFtZSgpCgkgIGluc3RlYWQgb2YgaW4gdGhlIG9ubHkgY2FsbGVyLgoKMjAxMC0wMy0yMiAxMzo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMi0wMiAxNTo0OToyOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUGFyc2UgYml0cmF0ZSBhbmQgZW1pdCBhcyB0YWcKCSAgVGhpcyBwYXRjaCBwaWNrcyB1cCB0aGUgYml0cmF0ZSBmb3IgdGhlIHN0cmVhbSBmcm9tIHRoZSBNUEVHIHNlcXVlbmNlCgkgIGhlYWRlciBhbmQgZW1pdHMgaXQgYXMgYSB0YWcgb24gdGhlIHNvdXJjZSBwYWQuCgkgIEZpeGVzICM1OTkyOTguCgoyMDEwLTAzLTIyIDEyOjM4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgc291bmR0b3VjaDogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYKCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjozMDowMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBnc3QvbnNmL2Ztb3BsLmg6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBBZGQgLVd1bmRlZgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjowMzo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDEwLTAzLTIyIDEyOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyBmbGFnCgkgIGFuZCBmaXggd2FybmluZ3MgZnJvbSBpdAoKMjAxMC0wMy0yMiAwODo0Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWU6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIyIDA4OjQ1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMzoxMDowOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJICBvcmM6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMzowMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBleGFtcGxlczogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIyOjQ4OjEzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjI6NDY6MDAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSAgZ3N0LWNhbWVyYTogQWRkIGEgaGVhZGVyIGRlY2xhcmluZyB0aGUgZnVuY3Rpb25zIGZyb20gdGhlIHVpIGZpbGUKCjIwMTAtMDMtMjEgMjI6MTA6NDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuaDoKCSAgdGVzdHM6IEFkZCBmaWxlIEkgZm9yZ290IHRvIGNoZWNrIGluCgoyMDEwLTAzLTIxIDIyOjA5OjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21tcDNkZWM6IGZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTo1Mzo0NCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgRml4IGFjbWVuYyBmb3Igd2FybmluZyBmbGFncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJKiBnc3QvbXZlL212ZWF1ZGlvZGVjLmM6CgkqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBzeXMvZHZiL2NhbS5jOgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM3OjM3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkgIHNpcmVuOiBSdW4gZ3N0LWluZGVudCBzY3JpcHQKCSAgSW5jbHVkZXMgcnVubmluZyBkb3MydW5peCBvbiBkZWNvZGVyLmMKCjIwMTAtMDMtMjEgMjE6Mjk6NDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IEZpeCBrYXRlIHRlc3QKCSAgSXQgd2FzIGZhaWxpbmcgZHVlIHRvIHRoZSBuZXcgYnVmZmVyX21ldGFkYXRhX3dyaXRhYmxlIGNoZWNrcyBhZGRlZCB0bwoJICB0aGUgY29yZSByZWNlbnRseS4KCjIwMTAtMDMtMjEgMTg6NTk6MzAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiByZW1vdmUgdW51c2VkIGZpbGUKCjIwMTAtMDMtMjEgMTc6NTQ6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzL0dTVF9DVlMvR1NUX0dJVC8KCjIwMTAtMDMtMTkgMTY6NDc6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSAgY29nOiBHZW5lcmF0ZSBjb3JyZWN0IFlVVi0+UkdCIHRhYmxlcwoJICBGaXhlczogIzYxMzMzMi4KCjIwMTAtMDMtMTkgMTE6MTA6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBkaXNhYmxlIGxvb3AgYW5kIGF1dG8gbXVsdGljYXN0IGpvaW4KCSAgRGlzYWJsZSBsb29wYmFjayBvZiBwYWNrZXRzLgoJICBEaXNhYmxlIGF1dG9qb2luIG9mIG11bHRpY2FzdCBncm91cHMgaW4gdGhlIHNpbmsgYmVjYXVzZSB0aGUgc291cmNlIGFscmVhZHkKCSAgZG9lcyB0aGF0IG9uIHRoZSBzaGFyZWQgc29ja2V0LgoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xOCAxNzoxMTo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3ZpcnR1YWxkdWIvTElDRU5TRToKCSogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuYzoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5oOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJKiBnc3QvdmlydHVhbGR1Yi92aXJ0dWFsZHViLnZjcHJvajoKCSAgdmlydHVhbGR1YjogUmVtb3ZlCgkgIFRIZSBwbHVnaW4gaXMgc28gaG9wZWxlc3NseSBvdXRkYXRlZCwgaXQncyBqdXN0IG5vdCB3b3J0aCBrZWVwaW5nLgoKMjAxMC0wMy0xOCAxNzowNDo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5lY2Fwcy5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgUmVtb3ZlIHhpbmUgcGx1Z2luIGNvZGUKCSAgVGhlIHBsdWdpbiBpcyB1bm1haW50YWluZWQgKGV2ZW4gd29yc2UgdGhhbiBYaW5lIDspKQoKMjAxMC0wMy0xOCAxNjoxNzoxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkgIFJlbW92ZSBnb2IgZXhhbXBsZXMKCSAgVGhleSB3ZXJlIG91dGRhdGVkIGFuZCB3b3VsZG4ndCBoYXZlIGNvbXBpbGVkIGFueW1vcmUuCgoyMDEwLTAzLTE3IDExOjMwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IG9mZi1ieS1vbmUgaW4gNDQ0LT40MjAgY29udmVyc2lvbgoJICBGaXhlcyAjNjEzMTYwLgoKMjAxMC0wMy0xNyAxNDoyOTozMSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBVc2UgIihwbmdfaW5mb3BwKSBOVUxMIiBpbnN0ZWFkIG9mIHBuZ19pbmZvcHBfTlVMTAoKMjAxMC0wMy0xNyAxNDoyMzo0MSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBVc2UgcG5nX2dldF9pb19wdHIoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBpb19wdHIgZGlyZWN0bHkKCjIwMTAtMDMtMTcgMTQ6MjE6NTMgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb2c6IENoZWNrIGZvciBsaWJwbmcgPj0gMS4yIGluc3RlYWQgb2YgbGlicG5nMTIKCjIwMTAtMDMtMTYgMjM6NDY6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSAgZG9jczogdGhlIHhkZ21pbWUgcGx1Z2luIHdhcyBtZXJnZWQgaW50byB0eXBlZmluZGVycwoKMjAxMC0wMy0xNiAyMzo0MzowMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbixkdmQ6IGFsc28gdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSBoZXJlIGZvciBzdGF0aWMgc3RyaW5ncwoKMjAxMC0wMy0xNSAxMDoxMzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWlub3IgbWVtb3J5IGxlYWsgaW4gcHJvcGVydHkgZ2V0dGVyCgkgIERvbid0IGxlYWsgdGhlIHN0cmluZyByZXR1cm5lZCBieSBnX3N0cmpvaW52KCkuIFdoaWxlIHdlJ3JlIGF0IGl0LAoJICB1c2UgR1N0cmluZyB0byBhc3NlbWJsZSB0aGUgc3RyaW5nIHRvIGJlIHJldHVybmVkLgoKMjAxMC0wMy0xNSAwOToyNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgd2hlcmUgcG9zc2libGUKCjIwMTAtMDMtMTUgMTI6MTc6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGRpc2FibGUgY29kZSB0aGF0IGNhdXNlcyBhbiBvcmNjIGNyYXNoCgkgIFJldmVydCB0aGlzIGFmdGVyIG9yYyByZWxlYXNlIGFuZCB2ZXJzaW9uIGJ1bXAuCgoyMDEwLTAzLTE1IDExOjU0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogT25seSBzdGFydCB0aGUgdGFzayBhZnRlciBhIHNlZWsgaWYgYSBidWZmZXIgd2FzIHJlY2VpdmVkIGFscmVhZHkKCjIwMTAtMDMtMTUgMDE6NDY6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogY29tbWVudCBvbiBwcmV2aW91cyBiYWQgY29tbWl0IG1lc3NhZ2UKCSAgVGhlIHJlY2VudCBjb21taXQgImxvZ29pbnNlcnQgY2hlY2twb2ludCBGSVhNRSIgc2hvdWxkCgkgIGFjdHVhbGx5IHJlYWQ6ICBGaXggbG9nb2luc2VydCB2YXJpYWJsZSBuYW1lcy4KCjIwMTAtMDMtMTUgMDE6MjY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGltcGxlbWVudCBjaHJvbWEtc2l0ZQoJICBEZXRlcm1pbmUgY2hyb21hIHNpdGUgcG9zaXRpb24gZnJvbSB0aGUgY2FwcyBhbmQgdXNlIGl0IHdoZW4KCSAgdXBzYW1wbGluZy9kb3duc2FtcGxpbmcgY2hyb21hLgoKMjAxMC0wMy0xNCAxODo1NjowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBpbXBsZW1lbnQgY29sb3ItbWF0cml4IGhhbmRsaW5nCgoyMDA5LTEwLTA4IDE1OjE4OjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGxvZ29pbnNlcnQgY2hlY2twb2ludCBGSVhNRQoKMjAwOS0xMC0zMCAxNTozNTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgbl90YXBzIHRvIGNocm9tYSB1cHNhbXBsaW5nCgoyMDEwLTAzLTEzIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMDMtMTMgMDY6MDM6MzIgKzAxMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVcGRhdGUgY2FwcyB3aGVuIHRoZSBzZXF1ZW5jZSBoZWFkZXIgY2hhbmdlcwoJICBGaXhlcyBidWcgIzYxMjY4Ny4KCjIwMTAtMDMtMTIgMTk6MzA6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhY3RpdmF0ZSB2aWRlbyBiaW4gYmVmb3JlIGZlZWRpbmcgZGF0YSB0byBpdAoJICBGaXhlcyAjNjEyNjE1LgoKMjAxMC0wMy0xMiAxMToyODo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IEltcHJvdmVtZW50cyBhbmQgbmV3IGdlby1sb2NhdGlvbiB0ZXN0cwoJICBNYWtlcyBzb21lIGltcHJvdmVtZW50cyB0byB0YWdzY2hlY2tpbmcuYywgbWFraW5nIGl0IHVzZQoJICBmYWtlc3JjIGluc3RlYWQgb2YgdmlkZW90ZXN0c3JjIGFuZCBhbGxvd2luZyB0byBzZXQgaW5wdXQKCSAgY2FwcyBzbyB0aGF0IG1vcmUgbXV4ZXJzIGNhbiBiZSB1c2VkLiBQcmV2aW91c2x5IHdlIGNvdWxkCgkgIG9ubHkgdXNlIHRob3NlIHRoYXQgYWNjZXB0ZWQgcmF3IHZpZGVvIGNhcHMuCgkgIEFsc28gYWRkcyBzb21lIHRlc3RzIGZvciBnZW8tbG9jYXRpb24gdGFncwoKMjAxMC0wMy0xMiAxMDo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSB4bXAgb24gbXA0bXV4IGFuZCBncHBtdXggdG9vCgkgIERvIG5vdCByZXN0cmljdCB4bXAgdG8gcXRtdXgsIGJ1dCB1c2UgaXQgdG9vCgkgIG9uIG1wNG11eCBhbmQgZ3BwbXV4CgoyMDEwLTAzLTEyIDEzOjU5OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlMjcyZjcxIHRvIDU1Y2Q1MTQKCjIwMTAtMDMtMTIgMDk6NTI6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4IDEwLjUKCjIwMTAtMDMtMTEgMjE6MzI6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogYWRkIHhtcCByZWFkaW5nIGFuZCB3cml0aW5nIHN1cHBvcnQKCSAgQnVtcCBuZWVkZWQgYmFzZSB2ZXJzaW9uIGZvciBuZXcgeG1wIGhlbHBlciBsaWJyYXJ5LiBVc2UgeG1wIGhlbHBlcnMgaW4KCSAganBlZ3BhcnNlIGFuZCBqaWZtdXguCgoyMDEwLTAzLTEyIDA4OjIzOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbWVyZ2UgbWlzdGFrZQoKMjAxMC0wMi0yOCAxOTo0MTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkgIHNlZ21lbnRjbGlwOiBBZGQgYXVkaW8vdmlkZW8gYnVmZmVyIHNlZ21lbnQgY2xpcCBlbGVtZW50cwoJICBUaGVzZSBlbGVtZW50cyBjbGlwIHRoZSBhdWRpby92aWRlbyBidWZmZXJzIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQKCSAgZm9yIHRoZSBjYXNlIHdoZW4gdGhlIHVwc3RyZWFtIGVsZW1lbnRzIGRvbid0IGRvIHRoaXMgY29ycmVjdGx5LgoKMjAxMC0wMi0yOCAxNjowODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzb21lIHVuaXQgdGVzdHMKCjIwMTAtMDItMjggMTY6MDQ6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgdW5kZWZpbmVkIGZyYW1lcmF0ZSBpbiBzaW5rIGdldGNhcHMgZnVuY3Rpb24KCjIwMTAtMDItMjggMTU6MDI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBhbmQgc2V0IGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTAyLTI3IDE3OjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0byB0aGUgZG9jcwoKMjAxMC0wMi0yNyAxNzozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogQWRkIHN0aWxsIGZyYW1lIHN0cmVhbSBnZW5lcmF0b3IgZWxlbWVudAoKMjAxMC0wMy0wNSAxMzozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBjaGVjazogdGFnc2NoZWNraW5nOiB0ZXN0cyBmb3IgdGFncyBzZXJpYWxpemF0aW9uIGluIG11eGVycwoJICBBZGRzIGEgY2hlY2sgdW5pdCB0ZXN0IHRoYXQgYWltcyB0byB0ZXN0IHRhZ3Mgc2VyaWFsaXphdGlvbgoJICBhbmQgZGVzZXJpYWxpemF0aW9uIGNvbnNpc3RlbmN5IChpbiBtdXhlcnMpLiBJdCBwcm92aWRlcyBhCgkgIGJhc2ljIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG9uZSB0byBlYXNpbHkgc3BlY2lmeSB0YWdzLCBhCgkgIG11eGVyIGFuZCBhIGRlbXV4ZXIgYW5kIGEgdGVzdCB3aWxsIGJlIGRvbmUgdG8gY2hlY2sgaWYKCSAgdGhlIHRhZ3MgaGF2ZSBiZWVuIGNvbnNpc3RlbnRseSBtdXhlZCBhbmQgZGVtdXhlZAoKMjAxMC0wMi0yMiAxNjo0NTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCB4bXAgc3VwcG9ydAoJICBBZGRzIHhtcCBtZXRhdGFncyBhZGRpbmcgdG8gcXRtdXguCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMDk6Mjk6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBSZW1vdmUgX1hNUF9HRU9fKiB0YWdzCgkgIFJlbW92ZXMgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX0NPVU5UUlksCgkgIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9DSVRZIGFuZAoJICBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fU1VCTE9DQVRJT04gZnJvbSBtZXRhZGF0YSdzCgkgIHByaXZhdGUgdGFncyBhcyB0aG9zZSBhcmUgbm93IHByZXNlbnQgYXQgLWNvcmUgdGFncy4KCSAgRml4ZXMgIzYxMjQxMAoKMjAxMC0wMy0xMSAxNzoxNzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIFdlIG5lZWQgdG8gcGFzcyAoTlVMTCkgcmF0aGVyIHRoYW4gTlVMTCBmb3IgZW1wdHkgYXJndW1lbnRzLgoKMjAxMC0wMy0xMSAxNzo1ODoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMCAxMTo1MDo0NyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBmaXggY29tcGlsZSBlcnJvciB3aXRoIHRyYWNlIG1hY3JvCgkgIE5vdGUgdGhhdCB0aGlzIG9uZSBpc24ndCBhIHByb2JsZW0gd2l0aCBub3JtYWwgdHJhY2UgbWFjcm9zLCBidXQgY2F1c2VzIHByb2JsZW1zIHdpdGgKCSAgc29tZSByZXBsYWNlbWVudCB0cmFjZSBtYWNyb3MgdGhhdCBJIHVzZSwgd2hpY2ggZXhwZWN0IHRoZSBmb3JtYXQgc3RyaW5nIHRvIGJlCgkgIGFwcGVuZGFibGUgKGllICJmb28gImZtdCBpbiB0aGUgbWFjcm8pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTE6NDk6MjIgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBmaXggdHJhY2UgbWFjcm8gdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDEwOjI2OjI3IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6Njg5OiB3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkIHJhbmdlIG9mIGRhdGEgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDEwOjIzOjIzIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoyNjg6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTExIDExOjIxOjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRmOGE3YzggdG8gZTI3MmY3MQoKMjAxMC0wMy0xMSAxMToyOToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogZG9uJ3QgY2hlY2sgZm9yIE5VTEwgd2hlbiBjYWxsaW5nIGdfZnJlZS4KCSAgZ19mcmVlIGRvZXMgdGhlIGNoZWNrIGFscmVhZHkuIEFsc28gc21hbGwgY29kZSBsb2dpYyBjbGVhbnVwIGFuZCB3aGl0ZXNwYWNlIGZpeC4KCjIwMTAtMDMtMTEgMTE6Mjg6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBtZXRhZGF0YTogcmVtb3ZlIGVtcHR5IHNldHRlci9nZXR0ZXIgdm1ldGhvZCBpbXBsZW1lbnRhdGlvbnMKCjIwMTAtMDMtMTEgMTE6MTQ6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogaW5sY3VkZSBzdGRsaWIuaCBmb3IgYWJzKCkKCjIwMTAtMDItMTcgMTM6MTE6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJICBtZXRhZGF0YTogdXBkYXRlIGJ1ZyBzdGF0dXMKCjIwMDktMDktMDggMDk6MTM6MDcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVmYWN0b3IgY3JvcHBpbmcgYW5kIGFkYXB0aW5nIGNhcHR1cmVkIGltYWdlcwoKMjAwOS0wOS0xMCAxMzo0MTo0MCArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBOVUxMIC0+IFJFQURZIHN0YXRlIGNoYW5nZSBmYWlsdXJlIGhhbmRsaW5nLgoJICBJbiBzb21lIGVycm9yIHNpdHVhdGlvbnMgdGhlIE5VTEwgLT4gUkVBRFkgc3RhdGUgY2hhbmdlIGZhaWxlZAoJICBhbmQgY2FtZXJhYmluIGVsZW1lbnRzIHdlcmUgbm90IGRlc3Ryb3llZC4KCjIwMTAtMDItMTcgMTE6NTE6MjYgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGRvbid0IHVzZSBnc3RfYnVzX3BvbGwoKSB3aGVuIGNyZWF0aW5nIHByZXZpZXcgaW1hZ2UKCSAgQXZvaWQgdXNpbmcgZ3N0X2J1c19wb2xsKCkgYXMgdGhlIGRvY3MgcmVjb21tZW5kLiBVc2UKCSAgZ3N0X2J1c190aW1lZF9wb3BfZmlsdGVyZWQoKSBpbnN0ZWFkLgoKMjAxMC0wMy0xMCAyMTowMToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgZm9yIHJlY2VudCBjaGFuZ2VzIHRvIGNvbW1vbiBzdWJtb2R1bGUKCSAgVGhpcyBqdXN0IHJlcGxhY2VzIGV2ZXJ5ICIkRVJST1JfQ0ZMQUdTIiB1c2FnZSB3aXRoIGEgdXNhZ2Ugb2YKCSAgIiRXQVJOSU5HX0NGTEFHUyAkRVJST1JfQ0ZMQUdTIiB0byBnZXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBhcwoJICBwcmV2aW91c2x5LgoJICBBY3R1YWxseSB1c2luZyB0aGF0IHNlcGFyYXRpb24gd2lsbCBoYXBwZW4gbGF0ZXIuCgoyMDEwLTAzLTEwIDIxOjUyOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk3MjBhN2QgdG8gZGY4YTdjOAoKMjAxMC0wMy0xMCAyMDo0NDowNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwYjZlMDcyIHRvIDk3MjBhN2QKCjIwMTAtMDMtMTAgMTY6MTA6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2NjNWViNCB0byAwYjZlMDcyCgoyMDEwLTAzLTEwIDExOjMzOjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSB0byBtYXRjaCByZWNlbnQgY29tbWl0cwoKMjAxMC0wMy0xMCAwMToxMDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhYTY1YjUgdG8gN2NjNWViNAoKMjAwOS0xMi0wOCAxNjozNjoxNiAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTQ6IGxpc3QgdmFsaWQgaXNvLXNwZWVkcyBpbiBoZWxwIGFuZCB2YWxpZGF0ZSBzcGVlZHMgaW4gc2V0X3Byb3BlcnR5LgoKMjAwOS0xMi0wOCAxNjowNToxNCAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTQ6IGNoZWNrIGlzby1zcGVlZCB2YWx1ZXMgaW4gc2V0X3Byb3BlcnR5LCBpZ25vcmUgaWYgaW52YWxpZAoKMjAwOS0xMi0wOCAxNTozNzowMyAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBkYzEzOTQ6IGFkZCBpc28tc3BlZWQgcHJvcGVydHkKCSAgQWRkIGlzby1zcGVlZCBwcm9wZXJ0eSB3aGljaCBhbGxvd3MgZm9yIGhpZ2hlciBiYW5kd2lkdGggZGMgdmlkZW8uCgkgIEF1dG9tYXRpY2FsbHkgc2V0IHRvIGItbW9kZSBhcyBuZWVkZWQuCgkgIEZpeGVzICM2MDM3NDUuCgoyMDEwLTAzLTA5IDE5OjQ4OjQ0ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgaW5wdXRzZWxlY3RvcjogZml4IHRoZSBMREZMQUdTCgoyMDEwLTAzLTA5IDIxOjM4OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDRlY2NlNyB0byA3YWE2NWI1CgoyMDEwLTAzLTA5IDIxOjI2OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IE9ubHkgZW5hYmxlIGZyYW1lc3RhdHMgY29kZSB3aXRoIHNjaHJvID49IDEuMC45CgoyMDEwLTAyLTI4IDEwOjQyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgb25lIHdhcyBzZXQKCjIwMTAtMDItMjcgMTk6MDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IFByb3RlY3Qgc2V0L2dldCBwcm9wZXJ0eSBhbmQgcHJvY2Vzc2luZyBmdW5jdGlvbnMgZnJvbSBjb25jdXJyZW50IGFjY2VzcwoJICBUaGUgZnJlaTByIGRvY3VtZW50YXRpb24gc2F5cyB0aGF0IHRoZXNlIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSBjYWxsZWQKCSAgb24gdGhlIHNhbWUgaW5zdGFuY2UgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyBhdCB0aGUgc2FtZSB0aW1lLiBBbGwKCSAgb3RoZXIgZnVuY3Rpb25zIGFyZSBndWFyYW50ZWVkIHRvIGJlIHRocmVhZHNhZmUuCgoyMDEwLTAyLTI2IDE2OjQwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlIHNvbWUgbW9yZSBydWxlcyBzaWxlbnQgaWYgcmVxdWVzdGVkCgoyMDEwLTAyLTI2IDE1OjQ1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgYXV0b21ha2UgMS4xMSBzaWxlbnQgcnVsZXMgaW5zdGVhZCBvZiBzaGF2ZSBpZiBhdmFpbGFibGUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXNlIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsIG1haW50YWluZWQgYW5kCgkgIGFsc28gYnJpbmdzIGJhY2sgbGlidG9vbCAxLjUgc3VwcG9ydC4KCjIwMTAtMDItMjYgMTU6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHRlc3QgZm9yIGNvcnJlY3QgSTQyMCByZW5kZXJpbmcKCjIwMTAtMDMtMDkgMTI6MzM6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogQWRkIGZyYW1lLXN0YXRzIG1lc3NhZ2UKCjIwMTAtMDMtMDggMjE6MDA6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIGludnRlbGVjaW5lIGVsZW1lbnQKCSAgQXV0b21hdGljIGludmVyc2UgdGVsZWNpbmUgZWxlbWVudC4gIFJpZ2h0IG5vdywgaXQgY2x1bXNpbHkgYXR0ZW1wdHMKCSAgdG8gcmVhcnJhbmdlIHZpZGVvIGZpZWxkcyBpbnRvIGZyYW1lcyB0aGF0IGRvbid0IGhhdmUgY29tYmluZyBlZmZlY3RzLAoJICBhbmQgb25seSB3b3JrcyB3aXRoIDYwaS8yNHAgY29udGVudCBhdCA3MjB4NDgwLiAgTGF0ZXIsIGl0IHdpbGwgaGFuZGxlCgkgIG90aGVyIHB1bGxkb3duIHZhcmlhdGlvbnMsIGNoYW5nZSBjYXBzIGFuZCBzbW9vdGggdGltZXN0YW1wcwoJICBhcHByb3ByaWF0ZWx5LgoKMjAxMC0wMy0wMSAxMzo0OTozOSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSAgYXBleHNpbms6IFVzZSAiYXBleHNpbmsiIGZvciBwbHVnaW4gbmFtZQoKMjAxMC0wMy0wMSAxMzo0NzozMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB3bW5jOiBVcGRhdGUgZGVzY3JpcHRpb24KCjIwMTAtMDMtMDEgMTM6MjI6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogVXBkYXRlIHBsdWdpbiBkZXNjcmlwdGlvbgoKMjAxMC0wMy0wMSAxMzoxODo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgbnNmOiBOYW1lIHRoZSBwbHVnaW4gbnNmLCBub3QgbnNmZGVjCgkgIFRoZSBwbHVnaW4gaW4gZ3N0bnNmLnNvIHNob3VsZCBiZSBuYW1lZCBuc2YsIG5vdCBuc2ZkZWMuCgoyMDEwLTAzLTA4IDEyOjIzOjQ4IC0wMzAwICBUaWFnbyBLYXRjaXBpcyA8dGlhZ29rYXRjaXBpc0BnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogcmVtb3ZpbmcgdmVyeSBhbm5veWluZyBnX3ByaW50KCkgaW4gcGl0Y2ggZWxlbWVudAoJICBGaXhlcyAjNjEyMjA4LgoKMjAxMC0wMy0wOSAxNzo1MDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4xOCA9PT0KCjIwMTAtMDMtMDYgMDE6NDk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOAoKMjAxMC0wMy0wNiAwMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wMyAyMzo0MjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy40IHByZS1yZWxlYXNlCgoyMDEwLTAyLTIyIDE5OjM4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogUmVuYW1lICdhdmMtc2FtcGxlJyB0byAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjIgMTk6MjQ6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZXBsYWNlICdhdmMtc2FtcGxlJyB3aXRoICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yOCAyMzoxNDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgZG9jczogcmVtb3ZlIGJpdHMgdGhhdCByZWZlciB0byBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1vdmVkCgoyMDEwLTAyLTI2IDE4OjA2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRHJvcCB0ZXh0IGJ1ZmZlcnMgYmVmb3JlIHRoZSBzZWdtZW50IHN0YXJ0IGFuZCBjbGlwIHJ1bm5pbmcgdGltZSBlbmQgdG8gdGhlIHNlZ21lbnQgc3RvcAoKMjAxMC0wMi0yNyAxMToyMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IENvbnN1bWUgdGV4dCBidWZmZXJzIGlmIHRoZXkncmUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBuZXh0IDUwMG1zCgkgIEluc3RlYWQgb2Ygb25seSBjb25zdW1pbmcgdGhlbSBpZiB0aGV5J3JlIHRvIGJlIGRpc3BsYXkgbm93LiBDb25zdW1pbmcKCSAgdGhlbSB0aGVuIG1pZ2h0IG1ha2UgZm9sbG93aW5nIGJ1ZmZlcnMgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAgdG8KCSAgYmUgdG9vIGxhdGUuCgoyMDEwLTAyLTI2IDExOjUwOjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogVGFrZSBsb2NrIGFyb3VuZCB1c2Ugb2YgKG5vbi10aHJlYWRzYWZlKSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAxMC0wMi0yNCAwMjowMzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTIzIDE4OjE2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUHJvdGVjdCBsaWJhc3Mgc3RydWN0dXJlcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIGZyb20gbXVsdGlwbGUgdGhyZWFkcwoJICBGaXhlcyBidWcgIzYwODc1MS4KCjIwMTAtMDItMjMgMTc6Mjg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgJFBLR19DT05GSUcgaW5zdGVhZCBvZiBwa2ctY29uZmlnIHRvIGZpeCBjcm9zcyBjb21waWxhdGlvbgoKMjAxMC0wMi0yMiAxNjo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHdyaXRlIGFsbCB1ZHRhIGNoaWxkcmVuIGF0b21zCgkgIFVEVEEgbWlnaHQgaGF2ZSBNRVRBIGFuZCBvdGhlciBjaGlsZHJlbiBhdG9tcwoJICB0b2dldGhlciwgd3JpdGUgdGhlbSBhbGwuCgoyMDEwLTAyLTIyIDEwOjQ4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBpbnRlcm5hbCBzaW5rIHBhZHMgbGlzdAoJICBEdWUgdG8gR3N0Q29sbGVjdFBhZHMgc2luayBwYWRzIGxpc3QgYmVpbmcgbm90IHJlbGlhYmx5CgkgIGl0ZXJhdGFibGUgKHdoZW4gbm90IGluc2lkZSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uKSB0aGlzCgkgIHBhdGNoIGFkZHMgYSBzaW5rIHBhZHMgbGlzdCB0byBxdG11eCB0byBiZSB1c2VkIHdoZW4gaXRlcmF0aW5nCgkgIHNpbmsgcGFkcyBvbiByZXNldCBmdW5jdGlvbi4KCSAgRml4ZXMgIzYwOTA1NQoKMjAxMC0wMi0yMSAxOTo1NzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgZmFhZDogZml4IE1ha2VmaWxlLmFtIHNvbWUgbW9yZQoJICBGQUFEX0NGTEFHUyBhbmQgX0xJQlMgc2hvdWxkIGJlIGF0IHRoZSBlbmQsIGFuZCAtbGdzdGF1ZGlvLTAuMTAKCSAgc2hvdWxkIGdvIHJpZ2h0IGFmdGVyIEdTVF9QTFVHSU5TX0JBU0VfTElCUy4KCjIwMTAtMDItMTkgMTU6MTc6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgIGZhYWQ6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIEFsc28gZml4IG9yZGVyIG9mIENGTEFHUyBhbmQgTElCUwoKMjAxMC0wMi0xOSAwODo1ODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDItMTkgMDg6NTg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdlbmVyYXRlZCBjb2cgZmlsZXMKCjIwMTAtMDItMTkgMTA6MzI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCBOVUxMIHJlZiBhbmQgZXJyb3IgaGFuZGxpbmcgaWYgbm8gdmlkZW8gc2luayBpcyBmb3VuZAoJICBJZiBubyB2aWRlbyBzaW5rIGlzIHNldCBhbmQgYXV0b3ZpZGVvc2luayBpcyBub3QgYXZhaWxhYmxlIGZvciBzb21lCgkgIHJlYXNvbiwgcG9zdCBhIHByb3BlciBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgd2hlbiBmYWlsaW5nIHRvCgkgIGNoYW5nZSBzdGF0ZSwgYW5kIGRvbid0IHRyeSB0byBnc3Rfb2JqZWN0X3JlZigpIE5VTEwgcG9pbnRlcnMuIEZpeGVzCgkgIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdCB3aGVuIGRpc3RjaGVja2luZy4KCjIwMDktMTItMTAgMTY6MzA6MjYgLTA1MDAgIFN0ZXBoZW4gRGVwb290ZXIgPHN0ZXBoZW5kQHhhbmRyb3MuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBmaXggY29tcGlsZSBhZ2FpbnN0IGVhcmxpZXIgQ0VMVCB2ZXJzaW9ucwoJICBDaGVjayB0aGUgZXhpc3RlbmNlIG9mIHRoZSBDRUxUX1NFVF9DT01QTEVYSVRZIHN5bWJvbAoJICBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4gRml4ZXMgY29tcGlsYXRpb24gYWdhaW5zdAoJICBsaWJjZWx0IDAuNC4wLgoJICBGaXhlcyAjNjA0MzExLgoKMjAxMC0wMi0xNyAxMjozNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmV0dXJuIG9mZnNldCtsZW5ndGggZnJvbSBfZ2V0X2ltYWdlX2xlbmd0aCgpLgoJICBfZmluZF9lbmRfbWFya2VyKCkgZmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIG1hcmtlci4gRU9JIGhhcyBhIGZpeGVkIGxlbmd0aCBvZiAyCgkgIGJ5dGVzIHRoYXQgd2hlcmUgbWlzc2luZy4gRml4ZXMgIzYwODk5OAoKMjAxMC0wMi0xNyAwMTozNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IGZhYWQgdW5pdCB0ZXN0CgoyMDEwLTAyLTE3IDAxOjI5OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MKCSAgU2VlIGJ1ZyAjNjA4OTk4LgoKMjAxMC0wMi0xNiAyMjoyMzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggdW5pdCB0ZXN0IHRvIGFjdHVhbGx5IGNoZWNrIGZvciBldmVyeXRoaW5nIHRvIHdvcmsgY29ycmVjdGx5CgoyMDEwLTAyLTE2IDIyOjIyOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgbm8gY29kZWMgZGF0YSBpcyBzZXQsIHN0aWxsIGluaXRpYWxpemUgdGhlIGFzcyB0cmFjawoKMjAxMC0wMi0xNiAyMTo0MTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHNpbXBsZSB1bml0IHRlc3QKCSAgVGhpcyByZW5kZXJzIGEgdGVzdCBzdHJpbmcgb24gdG9wIG9mIGEgcmVkIHZpZGVvIHN0cmVhbSBhbmQgY2hlY2tzCgkgIGlmIHRoZSB0ZXh0IGlzIG9ubHkgcmVuZGVyZWQgYXQgdGhlIGNvcnJlY3QgdGltZXN0YW1wcy4KCjIwMTAtMDItMTYgMjA6Mzg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogRml4IHdhcm5pbmcgbWVzc2FnZSBwYXJzaW5nCgoyMDEwLTAyLTE2IDE2OjQ5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZ3VhcmQgYWdhaW5zdCBjb2RlY19kYXRhIGZpZWxkIHdpdGggYSBOVUxMIGJ1ZmZlciBpbiBjYXBzCgkgIEZpeGVzICM2MDk0NzguCgoyMDEwLTAyLTE2IDE3OjEzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogcHJldmVudCBsZWFraW5nIGhkbHIgbmFtZQoKMjAxMC0wMi0xNiAxNjoyNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIEFMQUMKCSAgRml4ZXMgIzU4MDczMS4KCjIwMTAtMDItMTYgMTQ6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiByZWZhY3RvciBidWlsZGluZyBzdHNkIGVudHJ5ICd3YXZlJyBleHRlbnNpb24KCjIwMTAtMDItMTYgMTA6MDA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSAuc3BlYyBmaWxlOiBzaGFwZXdpcGUgYW5kIGl2b3JiaXNkZWMgaGF2ZSBiZWVuIG1vdmVkIGVsc2V3aGVyZQoKMjAxMC0wMi0xNiAwOTo0OTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGRvY3M6IHVuaWZ5IGRvYyBzdHlsZQoJICBVc2UgZ3RrZG9jIHN5bnRheCBhbmQgYWRkIHNob3J0IGRlc2MgZm9yIHRoZSBleGFtcGxlcy4KCjIwMTAtMDItMTUgMjM6NDM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1cCBHU1RfQ1hYRkxBR1MgcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBDIHNwZWNpZmljIGZsYWdzIGluIEdTVF9DWFhGTEFHUywgc28gYmFzZSBpdCBvbiB0aGUKCSAgR1NUX0NGTEFHUyB0aGF0IG9ubHkgY29udGFpbnMgdGhlIHBrZy1jb25maWcgQ0ZMQUdTIGJ1dCBub25lIG9mCgkgIHRoZSBHU1RfT1BUSU9OX0NGTEFHUy4gQWxzbywgd2Ugb25seSBuZWVkIHRoZSBsb2NhbCBpbmNsdWRlcyBvbmNlLgoKMjAxMC0wMi0xNSAyMzoxNzo1NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhc2UgR1NUX0NYWEZMQUdTIG9uIC0tY2ZsYWdzIGZyb20gcGtnLWNvbmZpZwoJICBwa2ctY29uZmlnIHNldHMgR1NUX0NGTEFHUyBhbmQgR1NUX0xJQlMuIFdlIG5lZWQgdG8gdXNlIENGTEFHUyBhcyBhIHN0YXJ0aW5nCgkgIHBvaW50IGZvciBmb3IgYm90aCBDIGFuZCBDWFggc2V0dGluZ3MuCgoyMDEwLTAyLTE1IDEyOjU3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHByaW50ZiBmb3JtYXQgYW5kIGEgZmV3IHJlZiBsZWFrcwoKMjAxMC0wMi0xNSAxMjo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nc3QtaXZvcmJpcy5tNDoKCSAgYnVpbGQ6IHJlbW92ZSBzb21lbSBtb3JlIGl2b3JiaXMgY3J1ZnQKCjIwMTAtMDItMTUgMTE6NTU6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgTW92ZWQgJ2l2b3JiaXMoZGVjKScgZnJvbSAtYmFkIHRvIC1iYXNlLgoJICBGaXhlcyAjNjA5MDYzLgoKMjAxMC0wMi0xNSAwOTozNjowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRml4IGZpZWxkIGVycm9yLgoJICBTcG90dGVkIGJ5IEJ1cmtoYXJkIFBsYXVtCgoyMDEwLTAyLTE1IDAxOjI2OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiBqcGVncGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTAyLTEzIDE1OjI4OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGRhdGF1cmlzcmMKCSAgUmVxdWlyZXMgZml4ZXMgZnJvbSBjb3JlIGdpdCwgc28gYnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIGdpdCBhcyB3ZWxsLgoKMjAxMC0wMi0xNCAyMzoxODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk2ZGM3OTMgdG8gNDRlY2NlNwoKMjAxMC0wMi0xNCAxNToyMjowNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkgIGV4YW1wbGVzOiBDYWxsIGdzdF9lbnN1cmVfbmF0aXZlX3dpbmRvdygpIGZvciBnc3QtY2FtZXJhCgkgIEZpeGVzIHNwdXJpb3VzIFNFR1ZzIGR1ZSB0byBtdWx0aXRocmVhZGluZyBjb25mbGljdHMgaW4KCSAgY2xpZW50LXNpZGUtd2luZG93IEd0ayB2ZXJzaW9ucy4KCjIwMTAtMDItMTQgMTM6NDM6MDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBVc2UgZ3RrIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGxpYlgxMSBmdW5jdGlvbnMgaW4gY2FtZXJhYmluCgkgIEdldHMgYXJvdW5kIHRoZSBuZWVkIHRvIGxpbmsgdG8gbGliWDExIGRpcmVjdGx5IGFuZCBwcm92aWRlcyB0aGUgc2FtZQoJICBmdW5jdGlvbmFsaXR5LgoJICBUbyBib29zdCwgaXQncyBtb3JlIHBvcnRhYmxlLCB0b28hCgoyMDEwLTAyLTE0IDEzOjQxOjU3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IFByb3Blcmx5IGxpbmsgdG8gbGlibQoKMjAxMC0wMi0xMyAxMTowMDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgQWRkIHNoYXBld2lwZSBleGFtcGxlcyBkaXJlY3RvcnkgdG8gQ1JVRlRfRElSUwoKMjAxMC0wMi0xMiAxMTozNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJICBkb2NzOiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMiAxMToyMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBNb3ZlZCAnc2hhcGV3aXBlJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgRml4ZXMgYnVnICM1ODQ1MzYuCgoyMDEwLTAyLTExIDIxOjU3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMSAyMDozNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICBmYWFkOiBhZGQgdW5pdCB0ZXN0CgoyMDEwLTAyLTExIDIwOjIxOjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IGRvY3VtZW50YXRpb24gdHlwbwoKMjAxMC0wMi0xMSAyMDoyMToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlCgkgIC4uLiBhbmQgbW92ZSBhbmQgbW9kaWZ5IHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMTAtMDItMTAgMjM6Mjk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkcmFpbiBzeW5jIHBlbmRpbmcgZnJhbWVzIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTAtMDItMTAgMjM6MTQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBzZW5kIHRhZ3MgZXhhY3RseSBvbmNlIHdoZW4gaW5pdCdlZAoKMjAxMC0wMi0xMCAyMzoxNDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHNvbWUgcGFydGlhbCBzdHJlYW0gcmVzZXQKCjIwMTAtMDItMTAgMjI6MTQ6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBjb3JyZWN0bHkgZXN0aW1hdGUgYXZlcmFnZSBicHMKCSAgQ291bnQgY29uc3VtZWQgYnl0ZXMgYW5kIGNvcnJlc3BvbmRpbmcgZHVyYXRpb24gYXRvbWljYWxseSwKCSAgcmF0aGVyIHRoYW4gbGV0dGluZyBieXRlY291bnQgcnVuIGFoZWFkIG9mIHdoYXQgaGFzIGJlZW4gZGVjb2RlZC4KCSAgRml4ZXMgIzQ0MDQ3Ni4KCjIwMTAtMDItMTAgMjE6NDk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBnaXZlIHVwIGFmdGVyIHNvbWUgbnVtYmVyIG9mIGRlY29kaW5nIGZhaWx1cmVzCgoyMDEwLTAyLTEwIDIxOjM3OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBkbyBub3QgYXR0ZW1wdCB0byBzeW5jIGluZGVmaW5pdGVseQoKMjAxMC0wMi0xMCAyMToxMjowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogdXNlIGFkYXB0ZXIgcmF0aGVyIHRoYW4gdGVtcG9yYXJ5IGJ1ZmZlcgoKMjAxMC0wMi0xMCAxOToxNDoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IG9iamVjdGlmeSBkZWJ1ZyBzdGF0ZW1lbnRzIGFuZCBhZGp1c3Qgc29tZSBsZXZlbHMKCjIwMTAtMDItMTAgMTg6NDY6MTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciBzcmMgY2FwcyAocmUpbmVnb3RpYXRpb24gYW5kIHJlZmxvdyBzb21lIGVycm9yIGV4aXRzCgoyMDEwLTAyLTA5IDIzOjM1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiByZW1vdmUgZGVmdW5jdCBhbmQgb3RoZXJ3aXNlIG9ic29sZXRlIGNvZGUKCjIwMTAtMDItMDkgMjM6MjU6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciByZXNldAoKMjAxMC0wMi0wOSAyMjo0NjozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogdXNlIGFuIGluIHN0cnVjdCBzZWdtZW50IHJhdGhlciB0aGFuIGEgc2VwYXJhdGVseSBhbGxvY2F0ZWQgb25lCgoyMDEwLTAyLTEwIDEwOjUyOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJlc2VydmUgdGhlIGlucHV0IGNvbG9yIHZhbHVlcyBpbiBhbGwgY2FzZXMKCjIwMTAtMDItMTAgMTA6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBTY2FsZSBtYXNrIGFscGhhIHZhbHVlcyBieSB0aGUgc291cmNlIGFscGhhIHZhbHVlcwoKMjAxMC0wMi0xMCAxMDo0MjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBBUkdCIHByb2Nlc3NpbmcKCjIwMTAtMDItMTAgMTA6MzQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogUHJpbnQgc29tZSBtb3JlIGRldGFpbHMgb24gZXJyb3Ivd2FybmluZyBtZXNzYWdlcwoKMjAxMC0wMi0wOSAxNToyMDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBOZXZlciBmbHVzaCBtb3JlIGJ5dGVzIHRoYW4gYXZhaWxhYmxlCgkgIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBpbnB1dCBkb2Vzbid0IGNvbnRhaW4gYW55IE1QRUcgVFMKCSAgZGF0YSBhbmQgdGhlIGNvbXBsZXRlIGFkYXB0ZXIgY29udGVudCBzaG91bGQgYmUgc2tpcHBlZC4KCjIwMTAtMDItMDggMTE6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IGF0b21zcmVjb3Zlcnk6IEZpeCBjb21waWxhdGlvbiBwcm9ibGVtCgkgIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3IgZHVlIHRvIHVudXNlZCBmdW5jdGlvbiByZXN1bHQuCgoyMDEwLTAyLTA4IDA4OjI2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZS9hZGQgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjIwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWx3YXlzIGhvbGQgdGhlIG1hc2sgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIEdDb25kCgoyMDEwLTAyLTA4IDA4OjE5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogTW92ZSBjaGFpbiBmdW5jdGlvbiBlcnJvciBjYXNlcyBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiBhbmQgYWRkIHVzZWZ1bCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBGaXggcmFjZSBjb25kaXRpb24gZHVyaW5nIHNodXRkb3duIHRoYXQgY2FuIGxlYWQgdG8gYSBkZWFkbG9jawoKMjAxMC0wMi0wOCAwODoxMTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERyb3AgbWFzayBidWZmZXIgb24gRkxVU0ggZXZlbnRzCgoyMDEwLTAyLTA4IDA4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogVXBkYXRlIGNvcHlyaWdodCB5ZWFyCgoyMDEwLTAyLTA4IDA4OjA4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRG9uJ3QgcmVzZXQgcHJvcGVydGllcyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgQWxzbyB1c2UgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMC0wMi0wNyAxMTowOTo0NSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMKCSAgTVNWQyBkb2Vzbid0IGxpa2UgI2lmICNlbHNlIHdpdGhpbiBzdGF0ZW1lbnRzLgoJICBGaXhlcyAjNjA5MjE1LgoKMjAxMC0wMS0yNiAxNzowODowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogZG9uJ3QgZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycwoJICBEb24ndCBlc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzLCBhcyB3ZSdsbCBzZW5kIHRoZSBidWZmZXIgYXMKCSAgdGV4dC9wbGFpbiByYXRoZXIgdGhhbiB0ZXh0L3gtcGFuZ28tbWFya3VwOyB0aGlzIGF2b2lkcyBlLmcuCgkgIHF1b3RlcyBmcm9tIGFwcGVhcmluZyBhcyAmcXVvdDsgaW4gdGhlIHJlbmRlcmVkIHN1YnRpdGxlcy4KCSAgU2VlIGJ1ZyAjNjAwOTI5LgoKMjAxMC0wMS0yNCAxMToxNDoxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiByZW5hbWUgdGhlIHRpZ2VyIG92ZXJsYXkgZWxlbWVudCdzIHNpbmsgcGFkIHRvICdzdWJ0aXRsZV9zaW5rJwoJICBBcyB0aGlzIGlzIHdoYXQgcGxheWJpbjIgZXhwZWN0cy4gU2VlIGJ1ZyAjNjAwOTI5LgoKMjAxMC0wMi0wNyAxMDoxOTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkgIGpwZWdwYXJzZTogbG93ZXIgcmFuayB0byBOT05FIHNvIGl0IGlzIG5vdCBhdXRvcGx1Z2dlZCBmb3IgZGVjb2RpbmcKCSAgVGhpcyBlbGVtZW50IGlzIHRvbyBuZXcgYW5kIHRvbyB1bnRlc3RlZCB0byBoYXZlIGl0IGF1dG9wbHVnZ2VkLgoKMjAxMC0wMi0wNSAxNzoyNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdCB0ZXN0CgkgIFRoZSBwYXJzZWQgYnVmZmVycyBoYXZlIGEgZnJhbWVyYXRlIG9mIDEvMS4KCSAgRml4ZXMgYnVnICM2MDg5OTguCgoyMDEwLTAyLTA1IDEwOjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkgIG1ldGFkYXRhOiBhcHBlbmRfc29ydGVkIHNob3VsZCByZWFsbHkgYXBwZW5kIHNvcnRlZAoJICAuLi4gd2hpY2ggbWVhbnMgdGhhdCBpZGVudGljYWwgb2Zmc2V0X29yaWcgc2hvdWxkIHByZXNlcnZlIHRoZSBvcmRlcgoJICBpbiB3aGljaCB0aGV5IGFyZSBhcHBlbmRlZC4KCjIwMTAtMDItMDUgMTA6MTY6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSAgbWV0YWRhdGE6IHVzZSBhIG5vbi1ERUZBVUxUIHByb3BlciBkZWJ1ZyBjYXRlZ29yeSBpbiBoZWxwZXIgZmlsZXMKCjIwMTAtMDItMDQgMTk6NDU6NDIgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBGaXggYSBwb3RlbnRpYWwgdW5yZWYgb2YgYSBOVUxMIHBvaW50ZXIuCgkgIEF0IGZpcnN0IGl0ZXJhdGlvbiB3ZSBkb24ndCBoYXZlIGFueSBjYWNoZWQgU1BTL1BQUyBidWZmZXIgdG8gZnJlZS4KCjIwMTAtMDItMDIgMTE6NDM6MjIgLTA1MDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhZGQgUEFUL1BNVCBpbiBzdHJlYW1oZWFkZXIKCSAgVGhlIGNoZWNrIGZvciBQQVQvUE1UIGJ1ZmZlcnMgd2FzIHN1Z2dlc3RlZCBieQoJICBaYWhlZXIgQWJiYXMgTWVyYWxpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAyLTAzIDEzOjMxOjIyICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IGFkZCBwYXQtaW50ZXJ2YWwgYW5kIHBtdC1pbnRlcnZhbCBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDItMDMgMTM6NDE6MjcgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogZml4IFBBVC9QTVQgaW5zZXJ0aW9uIGZyZXF1ZW5jeQoJICBUaGUgY3VycmVudCBjb2RlIGlzIGNvbXBhcmluZyB0aW1lc3RhbXBzIHdpdGggZGlmZmVyZW50IGNsb2NrLgoJICBMZXQncyB1c2Ugb25seSB0aGUgY2xvY2sgZm9yIFBUUyB2YWx1ZXMuCgkgIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBpbnRlcnZhbCwgdG8gYXZvaWQgY29uZnVzaW9uLiBBbmQgcmVtb3ZlCgkgIGRvY3VtZW50YXRpb24gYWJvdXQgdmFsdWUgMCwgd2hpY2ggd29uJ3Qgd29yayBsaWtlIGRvY3VtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDEtMjcgMTY6Mjk6MDAgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbWFya2luZyBub24tZGVsdGEgdW5pdCwgaW5jbHVkaW5nIHByZS1zZWN0aW9ucwoJICBUaGlzIHBhdGNoIGFkZHJlc3MgdGhlIGlzc3VlIG9ic2VydmVkIHdpdGggS0YgdGltZXN0YW1wcwoJICBhbmQgZGVsdGEgZmxhZy4gV2hlbiBhIHNlY3Rpb24gaXMgYXBwZW5kZWQgYmVmb3JlIHRoZSBrZXlmcmFtZSwKCSAgaXQgaXMgbm90IG1hcmtlZCBhcyBub24tZGVsdGEuIEl0J3MgcHJlZmVyYWJsZSB0byBtYXJrIHRoZQoJICBmaXJzdCBidWZmZXIgbm9uLWRlbHRhLgoJICBUaGlzIHBhdGNoIGFsc28gc2ltcGxpZnkgdGhlIGluaXRpYWwgcGF0Y2ggd3JpdHRlbiBieSB0aG9tYXMsCgkgIHNpbmNlIGl0IGRvZXMgbm90IGNsdXR0ZXIgdHNtdXgvIHdpdGggYSBkZWx0YSBmbGFnIHBhc3NlZAoJICBhcm91bmQgb25seSBmb3IgR1N0cmVhbWVyIGNvbnZlbmllbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA0OTA4CgoyMDEwLTAyLTAzIDE1OjA3OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSAganBlZ2Zvcm1hdDogYWRkIGEgYmFzaWMgamlmbXV4ZXIKCSAgVGhlIG5ldyBlbGVtZW50IGNhbiBjaG9wIGFuZCByZWFzc2VtYmxlIHRoZSBtYXJrZXJzLiBJIGltcGxlbWVudHMgdGhlIHRhZ3NldHRlcgoJICBhbmQgZm9yIG5vdyBjYW4gc2VyaWFsaXplIHNvbWUgdGFncyB0byBqcGVnIGNvbW1lbnRzLgoKMjAwOS0xMi0xMiAxNjowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogQWRkcyBtb292IHJlY292ZXJ5IGZlYXR1cmUKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBxdG11eCB0aGF0IHNldHMgYSBwYXRoIHRvIGEgZmlsZSB0byB3cml0ZQoJICBhbmQgdXBkYXRlIGRhdGEgYWJvdXQgdGhlIG1vb3YgYXRvbSAodGhhdCBpcyBub3Qgd3JpdGVuIHRpbGwgdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSkuIElmIHRoZSBwaXBlbGluZS9hcHAgY3Jhc2hlcyBkdXJpbmcgZXhlY3V0aW9uIGl0CgkgIG1pZ2h0IGJlIHBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIG1vdmllIHVzaW5nIHRoZSBxdG1vb3ZyZWNvdmVyIGVsZW1lbnQuCgkgIHF0bW9vdnJlY292ZXIgaXMgYW4gZWxlbWVudCB0aGF0IGlzIGFsc28gYSBwaXBlbGluZS4gSXQgaXMgbm90CgkgIG1lYW50IHRvIGJlIHVzZWQgd2l0aCBvdGhlciBlbGVtZW50cyAoaXQgaGFzIG5vIHBhZHMpLiBJdCBpcyBtZXJlbHkKCSAgYSB0b29sL3V0aWxpdGFyeSB0byByZWNvdmVyIHVuZmluaXNoZWQgcXRtdXggZmlsZXMuCgkgIEZpeGVzICM2MDE1NzYKCjIwMTAtMDItMDIgMTE6MjI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW1wcm92ZSBwYXJzaW5nCgkgIEhhbmRsZSBtb3JlIGFwcCBtYWtlci4gUHJpbnQgYXBwIG1hcmtlciBuYW1lcyB0byBkZWJ1ZyBsb2cuIFJlbWVtYmVyIGxhc3RfbWFya2VyCgkgIHdoZW4gcGFyc2luZyB0byBhdm9pZCByZXBhcnNpbmcgZnJvbSB0aGUgdmVyeSBiZWdpbi4KCjIwMTAtMDItMDIgMTI6MjM6MjQgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJICBtcGVndHNtdXg6IGdlbmVyYXRlIFNQUy9QUFMgaGVhZGVyIG9uY2UgYW5kIGZpeCBvdmVyZmxvdwoJICBTb21lIEgyNjQgcGFja2V0cyBjYW4gYmUgYXMgc21hbGwgYXMgNSBieXRlcyBmb3IgcmVwZWF0ZWQgZnJhbWVzLgoJICBJbiBzdWNoIGEgc2l0dWF0aW9uIHRoZSBvdXRwdXQgYnVmZmVyIHNpemUgd2FzIG5vdCBiaWcgZW5vdWdoICg1KjIpIHRvIGZpdCB0aGUKCSAgU1BTL1BQUyBoZWFkZXIgYW5kIHRoZSBzdGFydCBjb2Rlcy4gVGhpcyBjb3JydXB0cyB0aGUgRVMgc3RyZWFtLgoJICBXZSBub3cgZ2VuZXJhdGUgdGhlIFNQUy9QUFMgb25seSBvbmNlIHdoaWNoIGlzIG11Y2ggbW9yZSBvcHRpbWFsIGFuZCB3ZSBub3cKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIHRvIGNhbGN1bGF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzaXplIG1vcmUgc2FmZWx5LgoKMjAxMC0wMi0wMiAwMTo0NDoyMCArMDEwMCAgR3JpZ29yaSBHb3Jvbnp5IDxncmVnQGJsYWNrYm94PgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBpbnN0cnVjdCBsaWJhc3MgdG8gdXNlIGxpZ2h0IGF1dG9oaW50aW5nCgkgIEZpeGVzIGJ1ZyAjNjA4NzUzLgoKMjAxMC0wMi0wMiAwODo1Mzo1MyArMDEwMCAgRXJpYyBBcHBsZW1hbiA8ZXJhcHBsZW1hbkBnbWFpbC5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IHNjYW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSByZWN1cnNpdmVseSBmb3IgZm9udHMKCSAgVGhpcyBjYW4gdGFrZSBhIHZlcnkgbG9uZyB0aW1lIGFuZCBhbHNvIGxpYmFzcyB3aWxsIG92ZXJ3cml0ZSBmaWxlcwoJICBpZiB0aGVyZSdzIGFuIGVtYmVkZGVkIGZvbnQgd2l0aCB0aGUgc2FtZSBmaWxlbmFtZSBhcyBhbiBleGlzdGluZyBmaWxlLgoJICBGaXhlcyBidWcgIzU3NTg3OCBhbmQgIzYwODcwNi4KCjIwMTAtMDItMDEgMTY6MjY6MzYgLTA4MDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGRvbid0IGNyYXNoIG9uIGludmFsaWQgQU1fTUVESUFfVFlQRQoKMjAxMC0wMS0yNyAxOTowNjo1MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGZvciBmaXhlZC1zYW1wbGUgc2l6ZSBzdHJlYW1zIChQQ00gYXVkaW8sIGV0YykgZG9uJ3QgYWxsb2NhdGUgYW4gZW5vcm1vdXMgYnVmZmVyIHRoYXQgd2UgdGhlbiB3b24ndCB1c2UgYXQgYWxsLgoKMjAxMC0wMS0yNyAxNTozNzozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtdXhpbmcgYWRwY20gY29ycmVjdGx5LgoKMjAxMC0wMS0yMiAxMzozNjowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IFNldCB0aGUgbWRpYSBoZGxyIG5hbWUgZmllbGQgdG8gd2hhdCBxdWlja3RpbWUgdXNlcy4gRml4IHdyaXRpbmcgaXQgc2luY2UgaXQncyBub3QgbnVsbC10ZXJtaW5hdGVkLiBJbXByb3ZlcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBoYXJkd2FyZSBwbGF5ZXJzLgoKMjAxMC0wMS0yMiAxMzozMDowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuZGlhbm5lc3MgaW4gZ3N0cmVhbWVyIGlzIGFuIGludCwgbm90IGJvb2xlYW4uCgoyMDEwLTAxLTE2IDEzOjE3OjA4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcGFyc2UgbW9yZSBmb3JtcyBvZiBjb2RlY19kYXRhCgoyMDEwLTAyLTAxIDIyOjM3OjM5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGNvZGUgY2xlYW51cHMKCSAgTW9yZSBsb2dnaW5nIGFuZCBjb21tZW50cy4gUmVuYW1lIHNvbWUgdmFycyBmb3IgY29uc2lzdGVuY3kuIEZ1bGx5IGluaXQgcG9ydAoJICBzdHJ1Y3QuCgoyMDEwLTAyLTAxIDIyOjMyOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3IsbHYyLGxhZHNwYTogbW92ZSBzYW1wbGUtcmF0ZSB0byBiYXNlY2xhc3MKCSAgV2UgbmVlZCB0aGUgc2FtcGxlLXJhdGUgaW4gYmFzZWNsYXNzIGZvciB1cGNvbW1pbmcgdGltZXN0YW1wIGNoYW5nZXMuCgoyMDEwLTAyLTAxIDIyOjI0OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzaG9ydGVyIGVsZW1lbnQgbmFtZXMKCSAgQ3V0IG9mZiB0aGUgcHJvdG9jb2wgcGFydCBmcm9tIHRoZSB1cmkuIEFsc28ganVzdCBnX1N0cmR1cCwgaW5zdGVhZCBvZiBwcmludGYKCSAgdGhlIG5hbWUuCgoyMDEwLTAyLTAxIDE3OjQ2OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBwcm92aWRlIGEgZ2V0Y2FwcyBmdW5jdGlvbiBmb3Igc3JjIHBhZCBhbmQgaW1wcm92ZSBzZXRjYXBzCgkgIFByZXZpb3VzbHkganBlZ3BhcnNlIHdhcyBmYWlsaW5nIGluIGRlY29kZWJpbiBhcyB0aGUgY2FwcyB3ZSB3ZXJlIHNldHRpbmcgd2hlcmUgbm90CgkgIHNldHRpbmcgYWxsIGNhcHMgZmllbGRzLiBXZSBuZWVkIHRoZSBvd24gZ2V0Y2FwcyBmdW5jdGlvbiB0byByZXBvcnQgd2hhdCB3ZSBhY3R1YWx5CgkgIGFjY2VwdC4KCjIwMTAtMDItMDEgMTc6MTY6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGV4dHJhY3QgY29tbWVudCBhbmQgcG9zdCBhcyBtZXRhZGF0YQoKMjAxMC0wMi0wMSAxNTowNDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJICBqcGVnZm9ybWF0OiBjb2RlIGNsZWFudXBzCgkgIE1vdmUgdGhlIGpwZWcgbWFya2VyIGRlZmluZXMgdG8gYSBoZWFkZXIgKHRvIGJlIHVzZWQgZm9yIGppZm11eCkuIFJld3JpdGUgc29tZQoJICBjb21tZW50cy4gVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMC0wMS0zMSAyMjoyMTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzaW1waWZ5IHByb3BlcnR5IHJlZ2lzdHJhdGlvbgoJICBBdm9pZCB0eXBlIGNoZWtpbmcgY2FzdHMgZm9yIGVhY2ggcHJvcGVydHkuIFVzZSBhIHJ1bm5pbmcgaW5kZXguCgoyMDEwLTAxLTMxIDIyOjE2OjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSB0aGUgZ3N0LWNvbnRyb2xsZXIsIGFkZCBzb21lIGJhc2ljIHRpbWVzdGFtcGluZwoJICBBdGxlYXN0IGZvciBGWCB3ZSBub3cgaGF2ZSB0aW1lc3RhbXBzIGFuZCBjYW4gc3luYyB0aGUgY29udHJvbGxlci4gU3RpbGwgbmVlZAoJICB0aW1lc3RhbXBzIGZvciBzb3VyY2VzLgoKMjAxMC0wMS0zMSAyMjoxNDowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBzaW1wbGlmeSBwcm9wZXJ0eSByZWdpc3RyYXRpb24KCSAgRG9uJ3QgZG8gY2hlY2tpbmcgY2FzdCBmb3IgZWFjaCBwYXJhbWV0ZXIuIFVzZSBhIHJ1bm5pbmcgaW5kZXguCgoyMDEwLTAxLTMxIDIyOjEzOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHVzZSBwbHVnaW4gZGVwZW5kZW5jeSByZWdpc3RyeSBhcGkKCjIwMTAtMDEtMzEgMjI6MTE6NDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogbG9va3VwIEdRdWFyayBqdXN0IG9uY2UgaW5zdGVhZCBmb3IgZWFjaCBwbHVnaW4rMQoKMjAxMC0wMS0zMSAyMjowODozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBsb29rdXAgR1F1YXJrIGp1c3Qgb25jZSBhbmQgbm90IGZvciBlYWNoIHBsdWdpbisxCgoyMDEwLTAxLTMxIDIyOjA3OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHRoZXNlIGFyZSBub3QgZ3RrLWRvYyBjb21tZW50cwoKMjAxMC0wMS0zMSAyMjowNTozMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbGFkc3BhL2x2MjogbGluayBhbmQgaW5pdCB0byBnc3QtY29udHJvbGxlcgoKMjAxMC0wMS0zMSAxNTo1MzoyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBuZXcgaXMgYSBjKysga2V5d29yZCwgYmV0dGVyIGxvZ2dpbmcKCSAgVXNlIHBhZCBpbnN0ZWFkIG9mIG5ldyBmb3IgdGhlIHBhZCB2YXIuIEFsc28gdXNlIHBhZCBhcyBvYmplY3QgaW4gdG8gZGVidWcKCSAgbG9nZ2luZy4KCjIwMTAtMDEtMzAgMTU6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNWQ0N2E2IHRvIDk2ZGM3OTMKCjIwMTAtMDEtMjkgMTI6MjU6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBtb3ZlIHBsdWdpbiBwYXJ0IHRvIHNwZXBhcmF0ZSBmaWxlLCBzbyB0aGF0IHdlIGNhbiBhZGQgdGhlIGppZm11eAoKMjAxMC0wMS0yOSAxMTozOTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJICBkb2NzOiB1cGRhdGUgb2YgdGhlIHBsdWdpbiBkb2NzLCBhZGRpbmcgbmV3IGludHJvc3BlY3QgZGF0YQoKMjAwOS0wOC0xOSAxMjoyMjozMCArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBuZXcganBlZyBwYXJzZXIgZWxlbWVudC4gRkl4ZXMgIzU4MzA5OAoJICBQYXJzZSBKUEVHIGltYWdlcywgZXh0cmFjdHMgaXRzIG1ldGFkYXRhLCBzZXQgY2FwcyBhbmQKCSAgcGFja2V0aXplIGFuIGltYWdlIHBlciBidWZmZXIuCgoyMDEwLTAxLTI4IDE1OjAwOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW4tZXhhbXBsZTogY2xlYW51cHMgZm9yIG1haW5sb29wIGFuZCBzdGF0ZS1jaGFuZ2VzLiBGaXhlcyAjNjA4MDQyCgkgIFN0YXJ0IGNhbWVyYWJpbiB2aWEgaWRsZSBoYW5kbGVyIHRvIGhhdmUgdGhlIG1haW5sb29wIGFscmVhZHkgcnVubmluZy4gQXZvaWQKCSAgc29tZSB1bm5lY2Vzc2FyeSBzdGF0ZSBjaGFuZ2VzLiBDbGVhbnVwIHRoZSBidXMgdXNhZ2Ugd2hlbiByZXN0YXJ0aW5nLgoKMjAxMC0wMS0yOCAxNDo1NzowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb2cgTlVMTCBjYXBzLCBhbHNvIGRvd25ncmFkZSB0byBERUJVRyBhcyBpdCBpcyB2ZXJ5IHZlcmJvc2UKCSAgVGhpcyBkZWJ1ZyBsb2cgZW50cnkgd2FzIGFsc28gbm90IG1lbnQgdG8gYmUgdXNlZCBpbiB0aGUgZmFpbHVyZSBjYXNlLgoKMjAxMC0wMS0yOCAwMDowNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGFkZCBzdGFydCBmdW5jdGlvbiBzbyB3ZSBjYW4gZXJyb3Igb3V0IHByb3Blcmx5IGlmIG5vIHVyaSBpcyBzZXQKCSAgQWxzbyBzYXZlIGEgc2V0IFVSSSBhZnRlciBpdCBoYXMgYmVlbiBwYXJzZWQgc3VjY2Vzc2Z1bGx5LCBzbyB0aGF0IF9nZXRfdXJpKCkKCSAgYWN0dWFsbHkgd29ya3MuCgoyMDEwLTAxLTI3IDIzOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZG9uJ3QgcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gc2V0dGluZyB0aGUgVVJJIGZhaWxlZAoJICBUaGVyZSdzIGEgZ2Jvb2xlYW4gcmV0dXJuIGZvciB0aGF0LCBhbmQgdGhlIG1lc3NhZ2VzIGRvbid0IHJlYWxseQoJICBhZGQgYW55dGhpbmcgdXNlZnVsLgoKMjAxMC0wMS0yNyAyMzozOToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IG11c3QgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgYmVmb3JlIHVzaW5nIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDEwLTAxLTI3IDIzOjM0OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGFkZCBtb3JlIGRlYnVnIGFuZCByZW1vdmUgIlxuIiBmcm9tIGRlYnVnIGxvZ2dpbmcKCjIwMTAtMDEtMjcgMjM6Mjk6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogYmV0dGVyIGdvYmplY3QgcHJvcGVydGllcwoJICBVc2UgbHYyOnN5bWJvbCBhcyBhIGJhc2UgZm9yIHRoZSBwcm9wZXJ0eSBuYW1lIGFuZCBsdjI6bmFtZSBmb3IgbmljayBhbmQgYmx1cmIuCgoyMDEwLTAxLTI2IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgcXRtdXg6IHN0cmVhbWxpbmUgbW9vdiBkYXRhIG1lbW9yeSBzdG9yYWdlCgkgIEluIHBhcnRpY3VsYXIsIHVzZSBhcnJheXMgcmF0aGVyIHRoYW4gKGRvdWJsZSkgbGlua2VkIGxpc3RzLgoKMjAxMC0wMS0xNCAxMTo1MDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSBiYXNlcGFyc2UgR1R5cGUgbmFtZSB0byBhdm9pZCBwb3NzaWJsZSBjb25mbGljdHMKCjIwMTAtMDEtMTQgMTI6MDY6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgY29ycmVjdCBoMjY0X3BhcnNlIHByZWZpeCBpbiBmdW5jdGlvbiBuYW1lCgoyMDEwLTAxLTI3IDEyOjA4OjQ4ICswMTAwICBWaW5jZW50IEdFTklFVVggPHZnZW5pZXV4IGF0IGZyZWUuZnI+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGZpeCBlbGVtZW50IHNodXRkb3duIG9uIGJhZCByZWNlcHRpb24KCSAgV2hlbiB3ZSBoYXZlIGEgYmFkIHJlY2VwdGlvbiwgYXZvaWQgZ29pbmcgaW50byBhbiBpbmZpbml0ZSBsb29wIGJ5IHNldHRpbmcgYQoJICBzaHV0ZG93biBmbGFnIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzYwNzc0NwoKMjAxMC0wMS0yNiAxMzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMjUgMTk6MDY6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogRml4IHBhY2tldCBsZW5ndGggc2VtYW50aWNzCgkgIEZvbGxvd2luZyB0aGUgZWQ0ZDA4MTg5ZWE2ZTE5YTUwZTAyOWU2MGRhNTJkMzU4M2MzOWZiYgoJICBjb21taXQsIHRoaXMgb25lIGZpeGVzIHJ0cGFzZnBheSB0byB1c2UgcGFja2V0IGxlbmd0aAoJICBhcyB0aGUgcGF5bG9hZGVkIGRhdGEgbGVuZ3RoLCBidXQgYWxzbyBhY2NlcHRpbmcgaXQKCSAgYXMgdGhlIGZ1bGwgcGFja2V0IHNpemUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aAoJICBvdGhlciBpbXBsZW1lbnRhdGlvbnMgZHVlIHRvIHRoZSBsYWNrIG9mIGNsYXJpdHkgb2YgdGhlCgkgIHNwZWMgaW4gdGhpcyBwYXJ0LgoKMjAxMC0wMS0yMSAxMDo1MToxNiAtMDMwMCAgSMOla29uIFNramVsdGVuIDxza2plbHRlbkBwdnYub3JnPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkgIGFzZm11eDogQ29tcGF0aWJpbGl0eSB3aXRoIFdNU1AgaW4gV01QCgkgIE1ha2VzIHRoZSBhc2ZtdXggY29udGVudCBjb21wYXRpYmxlIHdpdGggV01TUCBhbmQgZG9lcwoJICBzb21lIGhhY2tzIHRvIG1ha2UgaXQgcGxheWFibGUgaW4gV01QLCBpdCBkb2Vzbid0IGFjY2VwdAoJICBkYXRhIG9iamVjdHMgd2l0aCAwIHNpemUgaW5kaWNhdGluZyB0aGF0IHdlIGRvbid0IGtub3cKCSAgaXRzIHNpemUsIHRob3VnaCB0aGUgc3BlYyBzYXlzIGl0IHNob3VsZCBiZSBwb3NzaWJsZS4KCSAgRml4ZXMgIzYwNzU1NQoKMjAxMC0wMS0yNSAyMzowNjo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluLWV4YW1wbGU6IHJlbW92ZSBtYWVtbyBjb21tZW50IGFuZCBsb2cgZmlsZW5hbWUKCSAgVGhlIG1hZW1vIGZpeG1lIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4gTG9nIHRoZSBjaG9vc2VuIGZpbGVuYW1lIHRvIGhlbHAKCSAgcGVvcGxlIGZpbmRpbmcgdGhlIGZpbGVzLgoKMjAxMC0wMS0yNSAyMzowNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjogcmVmIGVsZW1lbnQgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbiB0byByZXN1cnJlY3QKCSAgVGhpcyBmdW5jdGlvbiBpcyBub3Qgc3VwcG9zZWQgdG8gZGlzcG9zZSB0aGUgZWxlbWVudCBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlCgkgIGFzIHRoZSBjYWxsZXIgaXMgdXNpbmcgdGhlIGVsZW1lbnRzIG5hbWUgaW4gdGhlIGVycm9yIG1lc3NhZ2UuIEFsc28gYWRkCgkgIHNvbWUgbW9yZSBpbnB1dCBwYXJhbWV0ZXIgY2hlY2tzIGluIHRoZSBmb3JtIG9mIGdfcmV0dXJuX3ZhbF9pZl9mYWlsCgoyMDEwLTAxLTI1IDEyOjIxOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJldmVydCAiaW5wdXRzZWxlY3RvcjogUHJvdGVjdCBnX29iamVjdF9ub3RpZnkoKSB3aXRoIHRoZSBvYmplY3QncyBtdXRleCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3ZTA2NzYxNWZmYjU2MTRmMDY4Zjc3NTNjMTBkZGU5OWFmZTQ5YzNjLCBpdCdzIGNhdXNpbmcKCSAgZGVhZGxvY2tzIHdpdGggcGxheWJpbjIuCgoyMDEwLTAxLTI1IDEyOjEyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogUmVtb3ZlIHJvbGUgYXR0cmlidXRlIGZyb20gbGlua3MKCjIwMTAtMDEtMjUgMTE6NTY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBBZGQgZG9jcyBhbmQgaW50ZWdyYXRlIGludG8gYnVpbGQgc3lzdGVtCgkgIEZpeGVzIGFnYWluIGJ1ZyAjNTk2ODg1LgoKMjAxMC0wMS0yNSAxMToxMjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmg6CgkgIGRhdGF1cmlzcmM6IEFkZCBkYXRhOiBVUkkgc291cmNlIGVsZW1lbnQKCSAgVGhpcyBpcyBzbGlnaHRseSBiYXNlZCBvbiB0aGUgV2ViS2l0IGRhdGE6IFVSSSBzb3VyY2UKCSAgYnV0IHN1cHBvcnRzIG1vcmUgcGFydHMgb2YgUkZDIDIzOTcuCgkgIEZpeGVzIGJ1ZyAjNTk2ODg1LgoKMjAxMC0wMS0yNSAwNzo0Mjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJICBkYXRhdXJpc3JjOiBBZGQgZGlyZWN0b3J5IGZvciBkYXRhOiBVUkkgc291cmNlCgoyMDEwLTAxLTI1IDExOjM2OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGNyZWF0ZSB2YWxpZCBnb2JqZWN0IHByb3BlcnR5IG5hbWVzLiBGaXhlcyAjNjAyNTI4CgkgIFdlIGNhbm5vdCB1c2UgdGhlIG5hbWVzIGFzIHdlIGdldCB0aGVtIGZyb20gbHYyIGZvciB0aGUgZ3BhcmFtc3BlYyBuYW1lLCBvbmx5CgkgIGZvciBuaWNrL2JsdXJiLiBBcHBseSBzYW1lIGFsZ29yaXRobXMgbGlrZSBlbHNld2hlcmUgKGxhZHNwYSkgZm9yIG5hbWUuCgoyMDEwLTAxLTI1IDExOjQ5OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYKCjIwMTAtMDEtMjUgMTE6NDg6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmV2ZXJ0ICJteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY4Y2E2MmIzNjlmYzFiNzdhZGFlODVkOWQ4MDU0NTdmZTRlM2I1NjIuCgoyMDEwLTAxLTIyIDE3OjQ1OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIG14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYKCjIwMTAtMDEtMjQgMjA6NTM6MDAgKzAxMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBQcm90ZWN0IGdfb2JqZWN0X25vdGlmeSgpIHdpdGggdGhlIG9iamVjdCdzIG11dGV4CgkgIFRoaXMgd29ya3MgYXJvdW5kIHRoZSB0aHJlYWQgdW5zYWZldHkgb2YgZ19vYmplY3Rfbm90aWZ5KCkKCSAgRml4ZXMgYnVnICM2MDc1MTMuCgoyMDEwLTAxLTIyIDEwOjQ4OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IHdhcm5pbmdzIHVuZGVyIE9TIFguLgoKMjAxMC0wMS0yMiAxMDo0Njo1MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGJ1aWxkIG9zeHZpZGVvc3JjIGFuZCBxdHdyYXBwZXIgaW4gU25vdyBMZW9wYXJkLgoJICBRdWlja1RpbWUgaXNuJ3QgYXZhaWxhYmxlIGFueW1vcmUgaW4gT1MgWCBTbm93IExlb3BhcmQuCgoyMDEwLTAxLTIyIDAyOjIzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiB1c2Ugc2FtZSBtZWRpYSB0eXBlIGFzIG90aGVyIGVsZW1lbnRzCgkgIGdka3BpeGJ1ZiBhbmQgb3VyIG5ldyB0eXBlZmluZGVyIGluIC1iYXNlIHVzZSBpbWFnZS94LXBvcnRhYmxlLSouCgoyMDEwLTAxLTIyIDAyOjIyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogbWFrZSBlbGVtZW50IGRldGFpbHMgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZQoKMjAxMC0wMS0yMiAwMjoxOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBhZGQgY29weXJpZ2h0IG5vdGljZQoKMjAxMC0wMS0yMiAwMjoxMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJICBwbm06IG1vdmUgdHlwZWZpbmRpbmcgaW50byAtYmFzZQoKMjAxMC0wMS0xMSAwMToxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICB0ZXN0czogcmVmYWN0b3Igd2VpcmQgYnVzIHN5bmMgaGFuZGxlciBjb2RlIGluIGNhbWVyYWJpbiBleGFtcGxlCgoyMDEwLTAxLTIxIDE4OjExOjM0ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmbGl0ZTogYnVpbGQgYW5kIGRpc3QgZmxpdGUgcGx1Z2luCgkgIGZpeGluZyAibWFrZSBkaXN0IgoKMjAxMC0wMS0yMSAxNTo1ODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogQ29ycmVjdGx5IGluaXRpYWxpemUgbWVtb3J5CgoyMDEwLTAxLTIwIDEzOjMwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICBbY2xlYW51cF0gVmFyaW91cyBzdHlsZSBhbmQgY2xlYW51cHMKCSAgVmFyaW91cyBmaXhlcyBmb3IgZ3RrLWRvYyB3YXJuaW5ncyBhbmQgbWFraW5nIGZ1bmN0aW9ucyB3aXRob3V0CgkgIGFyZ3VtZW50cyB0YWtlIHZvaWQgYXMgcGFyYW1ldGVyLgoKMjAxMC0wMS0yMCAxMzoyOTo1MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBbb3NzNF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHJldHVybiB2YWx1ZQoKMjAxMC0wMS0yMCAwMDo1NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1OGNmNWMgdG8gMTVkNDdhNgoKMjAxMC0wMS0xOCAxMDo1Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICBjZHhhcGFyc2U6IEZpeCBidWZmZXIgbGVhawoJICBGaXhlcyBidWcgIzYwNzI4NS4KCjIwMTAtMDEtMTYgMTU6MzI6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBGaXggY2hhbm5lbCBsYXlvdXQKCSAgQWRqdXN0ZWQgdGhlIGNoYW5uZWwgbWFwcGluZ3MgdG8gYWdyZWUgd2l0aCB0aGUgZGVmYXVsdCBjaGFubmVsIG1hcHBpbmdzCgkgIGluIHRoZSBzcGVjLCB3aGljaCBpcyBwcmVzdW1hYmx5IHdoYXQgZmFhYyBpcyB1c2luZy4gIEZpeGVzICM2MDcxMDUuCgoyMDEwLTAxLTE2IDE1OjMyOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGhhbmRsZSBzYW1wbGVzcGVyYnVmZmVyCgoyMDEwLTAxLTE2IDEyOjQzOjQzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBBZGQgZmxpdGV0ZXN0c3JjCgkgIEZsaXRlIGlzIGEgc3BlZWNoIHN5bnRoZXNpemVyIGxpYnJhcnkgKEJTRC1pc2ggbGljZW5zZSkuICBUaGlzIGVsZW1lbnQKCSAgbmVnb3RpYXRlcyBhIChwb3NzaWJseSkgbXVsdGljaGFubmVsIGF1ZGlvIHN0cmVhbSwgYW5kIHRoZW4gY29udGludWFsbHkKCSAgb3V0cHV0cyBidWZmZXJzIG5hbWluZyB0aGUgbnVtYmVyIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbC4gIEl0J3MKCSAga2luZGEgY3JhcHB5LCBidXQgSSBuZWVkZWQgaXQgZm9yIHRlc3RpbmcgcHVycG9zZXMuCgoyMDEwLTAxLTE2IDE3OjAyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTWFrZSBzdXJlIHRoYXQgcHJvcGVydHkgbmFtZXMgYWx3YXlzIHN0YXJ0IHdpdGggYSBsZXR0ZXIKCSAgT3RoZXJ3aXNlIEdMaWIgdGhyb3dzIGFzc2VydGlvbnMKCjIwMTAtMDEtMTYgMTY6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBSZXBsYWNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcHMgYnkgaW50ZWdlciBhcml0aG1ldGljCgoyMDEwLTAxLTE2IDEzOjA1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogT25seSBhY2NlcHQgc3BlY2lmaWMgY2hhbm5lbCBsYXlvdXRzIGFzIHJlcXVpcmVkIGJ5IEFBQwoJICBGaXhlcyBidWcgIzYwNzEwNS4KCjIwMTAtMDEtMTYgMTE6NDE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEZpeCBidWlsZCBhbmQgc2lnbmFsIGNvbm5lY3Rpb24gZm9yIEd0a0J1aWxkZXIgc3R1ZmYKCjIwMTAtMDEtMTYgMTE6MjY6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBnbW9kdWxlLWV4cG9ydC0yLjAgZm9yIEd0a0J1aWxkZXIKCjIwMTAtMDEtMTYgMTE6MjM6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBpY2xlczogTGluayB3aXRoIEdUSysKCjIwMTAtMDEtMTYgMTE6MTY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjEyIGZvciBHdGtCdWlsZGVyCgkgIEdUSysgMi4xMiBpcyBhbHJlYWR5IG9sZGVyIHRoYW4gMiB5ZWFycyBzbyB0aGlzIHNob3VsZG4ndAoJICBiZSBhIHByb2JsZW0gZm9yIGFueWJvZHkuIEFsc28gaXQncyBvbmx5IHVzZWQgaW4gZXhhbXBsZXMuCgoyMDEwLTAxLTE2IDA2OjU3OjI2ICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci51aToKCSAgdGVzdHM6IFBvcnQgZnJvbSBsaWJnbGFkZSB0byBHdGtCdWlsZGVyCgkgIEZpeGVzIGJ1ZyAjNjAxMTA4LgoKMjAxMC0wMS0xNSAyMTozNDowMiArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8ZG9scGh5QGltYWMuKG5vbmUpPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkb24ndCBzZXQgYW4gaW52YWxpZCBmcmFtZXJhdGUuCgkgIFdoZW4gZml4ZWRfdm9wX3JhdGUgaXMgbm90IHNldCB3ZSBjYW4gbm90IHNldCBhIGZyYW1lcmF0ZSBiYXNlZCBvbgoJICB2b3BfdGltZV9pbmNyZW1lbnRfcmVzb2x1dGlvbiBhcyBpdCB3b3VsZCBtb3N0IGxpa2VseSBiZSB3cm9uZy4KCSAgRG9uJ3Qgc2V0IGFueSBmcmFtZXJhdGUgb24gdGhlIGNhcHMgaW4gdGhhdCBjYXNlLgoKMjAxMC0wMS0xNCAwODowOTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY3R1YWxseSB1c2UgbmV3IGNhcHMgaW5mbyBvbiByZW5lZ290aWF0aW9uCgkgIEZvbGxvd2luZyB0aGUgcHJldmlvdXMgcXRtdXggY29tbWl0LCB0aGlzIHBhdGNoIHRyaWVzCgkgIHRvIHVzZSB0aGUgbmV3IGluZm8gYWRkZWQgdG8gdGhlIGNhcHMgdG8gZmlsbCB0aGUgJ3RyYWsnCgkgIGF0b20ncyBmaWVsZHMgYW5kIGNoaWxkcmVuIGF0b21zLiBUaGlzIHdheSBxdG11eCB3aWxsCgkgIHVzZSB0aGUgbGF0ZSBhZGRlZCAnY29kZWNfZGF0YScgd2hlbiBoMjY0cGFyc2UgYWRkcwoJICBpdCBpbiB0aGUgZm9sbG93aW5nIHBpcGVsaW5lOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDIzOjMzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIGl0IG9ubHkgYWRkcyBmaWVsZHMKCSAgUXRtdXggY2FuIGFjY2VwdCBjYXBzIHJlbmVnb3RpYXRpb24gaWYgdGhlIG5ldyBjYXBzIGlzIGEKCSAgc3VwZXJzZXQgb2YgdGhlIG9sZCBvbmUsIG1lYW5pbmcgdXBzdHJlYW0gYWRkZWQgbmV3IGluZm8gdG8KCSAgdGhlIGNhcHMuIFRoaXMgcGF0Y2ggc3RpbGwgZG9lc24ndCBtYWtlIHF0bXV4IHVwZGF0ZSBhbnkKCSAgYXRvbXMgaW5mbyBmcm9tIHRoZSBuZXcgaW5mbywgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QKCSAgcmVqZWN0IHRoZSBuZXcgY2FwcyBhbnltb3JlLgoJICBBIHBpcGVsaW5lIHRoYXQgcmVwcm9kdWNlcyB0aGlzIHVzZSBjYXNlIGlzOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTE0IDEyOjU5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgYW5kIHNpbXBsaWZ5IGNvZGUKCjIwMTAtMDEtMTQgMTI6NTY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIHN1cmUgdGhhdCB0aGUgdmlkZW8gYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIHRvIGl0CgoyMDEwLTAxLTE0IDEyOjQ3OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIGFwZXhzaW5rOiBjaGFuZ2Ugdm9sdW1lIHByb3BlcnR5IHRvIGEgZG91YmxlCgkgIENoYW5nZSB0aGUgdm9sdW1lIHByb3BlcnR5IGZyb20gaW50IHRvIGEgZG91YmxlIHNvIHRoYXQgcGxheWJpbjIgY2FuIHVzZSBpdC4KCSAgS2VlcCB0aGUgdm9sdW1lIGludGVybmFsbHkgYXMgYSBwZXJjZW50IGZvciBub3cgd2l0aCB0aGUgZGVmYXVsdCA3NSUgbWFwcGVkIHRvCgkgIGEgdm9sdW1lIG9mIDEuMC4KCSAgc29tZSBjbGVhbnVwcywgYWRkIHNvbWUgRklYTUUgYW5kIGNvbW1lbnRzLgoJICBGaXhlcyAjNjA2ODc4CgoyMDEwLTAxLTEzIDE5OjMwOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSByZXF1ZXN0IHBhZHMgdW5kZXIgd2lkZXIgY29uZGl0aW9ucwoJICBGaXhlcyAjNjA2ODU5LgoKMjAxMC0wMS0xMyAxMDozNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IGF2Yy1zYW1wbGUgaDI2NAoJICBxdG11eCBhbmQgbXA0bXV4IHNob3VsZCBvbmx5IGFjY2VwdCBoMjY0IGluIGF2Yy1zYW1wbGUKCSAgZm9ybWF0CgoyMDEwLTAxLTEzIDA5OjQyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gY2FwcwoJICBBZGRzIHRoZSBuZXcgc3RyZWFtLWZvcm1hdCBmaWVsZCB0byBoMjY0cGFyc2UgY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAxLTEzIDAwOjM4OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGJ1aWxkOiBpbmNsdWRlIGNydWZ0Lm1hayBhbmQgYWRkIHJlY2VudGx5LW1lcmdlZCBwbHVnaW5zIHRvIGNydWZ0IGxpc3QKCjIwMTAtMDEtMTIgMjM6NTM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBwb3N0IGVycm9yIG1lc3NhZ2UgaW4gYWRkaXRpb24gdG8gcmVkaXJlY3Qgd2hlbiBjb25uZWN0IGZhaWxzCgkgIFdoZW4gd2UgY2FuJ3QgY29ubmVjdCB0byB0aGUgc2VydmVyLCB3ZSBzaG91bGQgc3RpbGwgcG9zdCBhIHByb3BlcgoJICBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMsIHNvIHRoYXQgYXBwbGljYXRpb25zIHRoYXQgZG9uJ3QgaGFuZGxlIHRoZQoJICByZWRpcmVjdCBtZXNzc2FnZSBnZXQgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSAoYW5kIGEgaGludCB0byBsb29rIGZvcgoJICB0aGUgcmVkaXJlY3QpLgoJICBGaXhlcyAjNjA2NjM2LgoKMjAxMC0wMS0xMiAxNTo0NToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvcnJlY3RseSByZXdyaXRlIGFsbCBuYWwgcHJlZml4ZXMKCSAgV2hlbiBjb252ZXJ0aW5nIHRvIGJ5dGUtc3RyZWFtIGRvIG5vdCBmb3JnZXQgdG8gcmV3cml0ZQoJICBhbGwgbmFsIHByZWZpeGVzIGluc3RlYWQgb2Ygb25seSB0aGUgZmlyc3Qgb25lLgoKMjAxMC0wMS0xMiAxOTozMzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGltcHJvdmUgZmFhYyBjb25maWd1cmF0aW9uCgkgIEluIHBhcnRpY3VsYXIsIGFsaWduIGNvbmZpZ3VyYXRpb24gc29tZSBtb3JlIHdpdGggcmVmZXJlbmNlIGJpbmFyeSBmYWFjLgoJICBGaXhlcyAjNjA2NzI2LgoKMjAxMC0wMS0xMiAxNDo1MTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRml4IG1pc3Rha2Ugb24gcHJldmlvdXMgY29tbWl0CgkgIFVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlIGZvcm1hdCBpbiB0aGUgd2FybmluZwoJICBtZXNzYWdlCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTEyIDE3OjA1OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgbmVvbmh0dHBzcmMgdG8gdGhlIGxpc3Qgb2YgZWxlbWVudHMgaWdub3JlZCBmb3Igc3RhdGUtY2hhbmdlCgkgIFNldHRpbmcgbmVvbmh0dHBzcmMgdG8gUEFVU0VEL1BMQVlJTkcgcmVxdWlyZXMgYSBydW5uaW5nIGh0dHAgc2VydmVyIG9uCgkgIGxvY2FsaG9zdC4KCjIwMTAtMDEtMTIgMDk6NTg6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgY29kZWNfZGF0YSBpZiBvdXRwdXQgaXMgYnl0ZXN0cmVhbQoJICBjb2RlY19kYXRhIHNob3VsZCBiZSByZW1vdmVkIGZyb20gdGhlIHNyYyBwYWQgY2FwcyBpZiB0aGUKCSAgb3V0cHV0IGlzIGluIGJ5dGVzdHJlYW0gZm9ybWF0CgkgIEZpeGVzICM2MDY2NTcKCjIwMTAtMDEtMTIgMDk6MzU6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IERvIG5vdCBjcmFzaCBvbiBtaXNpbnRlcnByZXRlZCBoMjY0CgkgIEF2b2lkIGNyYXNoaW5nIHdoZW4gYnl0ZXN0cmVhbSBoMjY0IGlzIGludGVycHJldGVkIGFzIGF2YyBmb3JtYXQKCSAgaDI2NAoJICBGaXhlcyAjNjA2NjU3CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTIgMDA6NDY6MjcgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogcG9ydCByZmJzcmMgdG8gTWluR1cKCSAgRml4ZXMgIzYwNjY3NwoKMjAxMC0wMS0xMSAxMzoyMDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHNvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgRG8gbm90IGZvcmdldCB0byBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIG9mZiBhYWNwYXJzZQoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDE2OjA5OjM4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbmNsdWRlIDx3aW5kb3dzLmg+IGludG8gbXNhY20uaCBjb25mdGVzdAoKMjAxMC0wMS0xMSAxMjoxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogdXBkYXRlIHRlc3RzIHRvIHN0cmVhbS1mb3JtYXQgY2hhbmdlcwoJICBVcGRhdGVzIGFhY3BhcnNlIHVuaXQgdGVzdHMgdG8gY2hlY2sgZm9yIHN0cmVhbS1mb3JtYXQKCSAgY29ycmVjdG5lc3MgYXMgd2VsbC4KCjIwMTAtMDEtMTEgMTA6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIG91dHB1dCBjYXBzCgoyMDEwLTAxLTExIDEwOjM0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IHN0cmVhbS1mb3JtYXQ9J25vbmUnIGFhYwoJICBPbmx5IGFjY2VwdCByYXcgYWFjIHN0cmVhbXMgKHN0cmVhbS1mb3JtYXQ9bm9uZSkgdG8gYXZvaWQKCSAgZ2VuZXJhdGluZyBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyAjNjA0OTI1CgoyMDEwLTAxLTExIDA5OjQ4OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWRkIGZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzICdzdHJlYW0tZm9ybWF0JyB0byBvdXRwdXQgY2FwcyB0byBpbmZvcm0gaWYgdGhlIHN0cmVhbSBpcwoJICBhZHRzIG9yIHJhdy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgbXV4ZXJzIHRvIHJlamVjdAoJICBpbnB1dCBzdHJlYW1zIG9uIGNhcHMgaWYgdGhleSBkb24ndCBzdXBwb3J0IGFkdHMgaW5zdGVhZCBvZgoJICBnZW5lcmF0aW5nIGEgaW52YWxpZCBmaWxlLgoJICBGaXhlcyAjNjA0OTI1CgoyMDEwLTAxLTExIDAxOjAyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IGZpeCB1bmFsaWduZWQgYWNjZXNzIGluIHRoaXMgY29weSBvZiBtcGVnZGVtdXggYXMgd2VsbAoJICBTZWUgIzYwNjM3MS4KCjIwMTAtMDEtMTEgMDA6NTk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jOiB1c2UgZXhpc3RpbmcgbWFjcm9zIHRvIGF2b2lkIGFsaWdubWVudCBpc3N1ZXMKCjIwMTAtMDEtMTEgMDA6NTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogdXNlIGV4aXN0aW5nIG1hY3JvcyB0byBhdm9pZCBhbGlnbm1lbnQgaXNzdWVzCgoyMDEwLTAxLTExIDAwOjI0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IGZpeCBhbGlnbm1lbnQgYW5kIGVuZGlhbm5lc3MgaXNzdWUKCjIwMTAtMDEtMTEgMDA6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiB1c2UgR1NUX01BS0VfRk9VUkNDIHRvIGNyZWF0ZSBGT1VSQ0MKCjIwMTAtMDEtMTAgMTA6MDY6NTUgLTAzMDAgIExpbnFpYW5nIFB1IDxwdWxxLnVzdGNAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggYWxsaWdubWVudCBpc3N1ZQoJICBVc2UgR1NUX1JFQURfVUlOVDMyX0JFIGluc3RlYWQgb2YgR1VJTlQzMl9GUk9NX0JFIHRvCgkgIGZpeCBpbnQgYWxsaWdubWVudCBpc3N1ZXMgb24gQVJNCgkgIEZpeGVzICM2MDYzNzEKCjIwMTAtMDEtMDggMTY6MDY6MzggKzAwMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBvbmx5IHZpZGVvIGNhbiBoYXZlIG5vbi1kZWx0YS11bml0CgoyMDA5LTEyLTE4IDE0OjE0OjE3ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IG1hcmsgZGVsdGEtdW5pdCBvbiBvdXRnb2luZyBidWZmZXJzCgkgIFNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0wMS0wNyAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9wdGltaXplIHNyYyBjYXBzIHVwZGF0aW5nCgoyMDEwLTAxLTA3IDE3OjQ3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbgoJICAuLi4gYW5kIGFsc28gcmVtb3ZlIGEgc3VwZXJmbHVvdXMgZHVwbGljYXRlIGRlYnVnIHN0YXRlbWVudC4KCjIwMTAtMDEtMDcgMTc6NDI6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoJICBTcGVjaWZpY2FsbHksIHByb3Blcmx5IG1hcmsgYSBidWZmZXIgKE5BTFUgb3IgQVUpIHRvIHN0YXJ0IGEgZnJhbWUgb3Igbm90LgoKMjAxMC0wMS0wNiAxMToyMDowNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGF2b2lkIGNyYXNoIGlmIHZvcyA8IDUgYnl0ZXMuCgoyMDA5LTEyLTEzIDEzOjUzOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAwOS0xMi0xMyAxMzo0OTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbGFuZ3VhZ2UgZXh0cmFjdGlvbgoJICBUaGUgZGVzY3JpcHRvciBjb250YWlucyBJU08gNjM5LTIgbGFuZ3VhZ2UgY29kZXMsIGJ1dCB3ZSB3YW50CgkgIHR3by1sZXR0ZXIgSVNPIDYzOS0xIGNvZGVzIGluIEdTVF9UQUdfTEFOR1VBR0UuCgoyMDA5LTEyLTA1IDE4OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBtYWtlIGNhbWVyYWJpbiB0ZXN0IGFwcGxpY2F0aW9uIGhhbmRsZSBlcnJvcnMgd2hlbiBzdGFydGluZyB1cAoJICBJbnN0ZWFkIG9mIGhhbmdpbmcgZm9yZXZlciBpbiBhIF9nZXRfc3RhdGUoKSBpbiBjYXNlIGFuIGVycm9yIG9jY3VycyB3aGVuCgkgIHN0YXJ0aW5nIHVwIGNhbWVyYWJpbiwgYmFpbCBvdXQgYW5kIHByaW50IGFuIGVycm9yIG1lc3NhZ2UuIEFsc28gcmVtb3ZlCgkgIHVubmVjZXNzYXJ5IF9nZXRfc3RhdGUoKSB3aGVuIHNodXR0aW5nIGRvd24gdGhlIHBpcGVsaW5lLgoKMjAxMC0wMS0wNSAxODo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgc29tZSBtaXNzaW5nIGRvY3VtZW50YXRpb24gcGllY2VzCgoyMDEwLTAxLTA1IDE2OjEwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBkb2N1bWVudGF0aW9uIGZpeAoKMjAxMC0wMS0wNSAxNTowNTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDEwLTAxLTA1IDE1OjA0OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDUgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnZmxhY3BhcnNlJyBpbnRvIGl0CgoyMDA5LTEyLTE2IDE4OjM4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBkZWZhdWx0IGNvbnZlcnNpb24gdXNpbmcgYnBzIGlmIG5vIGZwcyBhdmFpbGFibGUKCSAgQWxzbyBzdG9yZSBlc3RpbWF0ZWQgZHVyYXRpb24gYXMgc3VjaCwgcmF0aGVyIHRoYW4gcHJldGVuZGluZyBvdGhlcndpc2UKCSAgKGUuZy4gc2V0IGJ5IHN1YmNsYXNzKS4KCjIwMTAtMDEtMDQgMTA6MjM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRml4IGluZGVudGlvbgoKMjAwOS0xMi0yOSAxNzoyODowNiArMDIwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBBbGxvdyAxLTIgY2hhbm5lbHMgZm9yIDE2IGFuZCAzMiBiaXQgZGVwdGhzLCBub3Qgb25seSBmb3IgOCBiaXRzLgoJICBGaXhlcyBidWcgIzYwNTcyMS4KCjIwMDktMTItMjkgMTY6MDc6NTkgKzAyMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICBtb2RwbHVnOiBBbGxvdyAzMiBiaXQgZGVwdGgsIG1vZHBsdWdzIG5hdGl2ZSBmb3JtYXQuCgkgIEZpeGVzIGJ1ZyAjNjA1NzIwLgoKMjAxMC0wMS0wMiAxNzozMzo1NyArMDEwMCAgQXJuYXVkIFBhdGFyZCA8YXJuYXVkLnBhdGFyZEBydHAtbmV0Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSBlYWMzIGluIFBNVAoJICBXaGVuIHRoZSBzdHJlYW0gdHlwZSBpcyBzZXQgdG8gcHJpdmF0ZSBkYXRhLCBnc3QtbXBlZ3RzZGVtdXggaXMgdHJ5aW5nIHRvIGZpbmQKCSAgYXVkaW8gZGVzY3JpcHRvcnMgaW4gUE1UIGFuZCBsb29rIGZvciBBQzMgKHRhZyAweDZhKSBidXQgZG9lc24ndCBsb29rIGZvciBFQUMzCgkgICh0YWcgMHg3YSkuIEhhbmRsZSB0aGlzIGNhc2UgdG9vLgoJICBGaXhlcyBidWcgIzYwNTkwNC4KCjIwMDktMTItMzAgMjE6NTA6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2FwcyBoYW5kbGluZyBpbiBfdXBkYXRlX3NyY19jYXBzLgoKMjAwOS0xMi0yOCAxMTozNDozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbHNvIGFkZCAuaCBmaWxlIGNoYW5nZXMgdG8gdW5icmVhayB0aGUgYnVpbGQKCjIwMDktMTItMjcgMjM6NTE6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNvcnJlY3QgbmFtZXMgZnJvbSB0ZW1wbGF0ZSBmb3IgcmVxdWVzdCBwYWRzCgkgIFRoZSBwYWRzIHdoZXJlIG5hbWVzIHBhZDAsIHBhZDEsIC4uLgoKMjAwOS0xMi0yNyAyMzozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3ZlIGVycm9ycyBfbmV3X3BhZCB0byB0aGUgZW5kCgoyMDA5LTEyLTIxIDE5OjEyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDdjYjIzYSB0byAxNGNlYzg5CgoyMDA5LTEyLTIxIDEzOjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWNjZXB0IG5vbi1wYWlyZWQgdWludCB0YWdzCgkgIEFkZHMgc3VwcG9ydCBmb3IgdW5wYWlyZWQgdW5zaWduZWQgaW50ZXJnZXIgdGFncwoKMjAwOS0xMi0yMSAxMjowNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkcyBuZXcgdGFncwoJICBNYXBzIG1vcmUgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHBvc3RlZCBieSBxdGRlbXV4CgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMTggMTY6MTY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBvbmx5IHJhdyBvdXRwdXQgbmVlZHMgY29kZWNfZGF0YSBpbiBjYXBzCgoyMDA5LTEyLTE4IDEzOjMwOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2hlY2sgZm9yIHJlbWFpbmluZyBkYXRhIHdoZW4gZHJhaW5pbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTEyLTE4IDEzOjMwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHB1bGwgbW9kZSBjYWNoZSBzaXplIGNvbXBhcmlzb24KCjIwMDktMTItMTggMTM6MDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA5LTEyLTE3IDExOjA0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBJbnRlcm5hbCBzaW5rIGltcHJvdmVtZW50cwoJICBEb2VzIHNvbWUgZ2VuZXJhbCBpbXByb3ZlbWVudHMgd2l0aCB0aGUgaW50ZXJuYWwgc2luayBoYW5kbGluZy4KCSAgMSkgRG8gbm90IHJlbW92ZSBhbmQgcmUtYWRkIHRoZSBnaG9zdHBhZCB3aGVuIGNoYW5naW5nCgkgIGludGVybmFsIHNpbmsKCSAgMikgT25seSBpbnN0YW50aWF0ZSB0aGUgZGVmYXVsdCBzaW5rIHdoZW4gY2hhbmdpbmcgZnJvbSBOVUxMCgkgIHRvIFJFQURZIGlmIHRoZXJlIGlzIG5vIG90aGVyIGF2YWlsYWJsZQoJICAzKSBBdm9pZCBjaGFuZ2luZyB0aGUgaW50ZXJuYWwgc2luayBpZiBub3Qgb24gTlVMTCBzdGF0ZQoJICBGaXhlcyAjNTk4NjgyCgoyMDA5LTEyLTE3IDA3OjU0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBNaW5vciBmaXhlcwoJICBEb3duZ3JhZGUgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gZGVidWcuIFJlbW92ZSBhbgoJICBhbHJlYWR5IGZpeGVkIEZJWE1FIGFuZCBhZGQgYSBub3RlIGFib3V0IChub3QtKXVzaW5nCgkgIGZwc2Rpc3BsYXlzaW5rIGluIGF1dG92aWRlb3NpbmsuIENoYW5nZSB0aGUgY3JlYXRlZAoJICBnaG9zdHBhZCB0byB1c2UgdGhlIG5hbWUgInNpbmsiIGFzIGl0IGlzIGFkdmVydGlzZWQgaW4KCSAgdGhlIHBhZCB0ZW1wbGF0ZS4KCjIwMDktMTItMTcgMTQ6NDY6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgc3BlYyBmaWxlIGFuZCBmaXggYWMzcGFyc2VyIGhlYWRlciBsaXN0aW5nIGluIE1ha2VmaWxlLmFtCgoyMDA5LTEyLTE3IDAxOjA1OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdHJ5IHRvIGZpeCAnbWFrZSBkaXN0JyB3aGVuIGNvZyBpcyBub3QgaW5zdGFsbGVkCgoyMDA5LTEyLTE2IDE4OjMyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggc2V0dGluZyBzeW5jIG9uIGNoaWxkIGJpbgoJICBVc2UgR1NUX0lTX0JJTiBpbnN0ZWFkIG9mIEdfT0JKRUNUX1RZUEUgdG8gY2hlY2sgaWYgdGhlCgkgIGludGVybmFsIHNpbmsgaXMgYSBiaW4uIFVzaW5nIHRoZSBsYXRlciB3b24ndCB3b3JrIHdoZW4KCSAgdGhlIHNpbmsgaXMgbm90IGEgYmluIGRpcmVjdGx5IChidXQgaW5oZXJpdHMgZnJvbSBvbmUsIGxpa2UKCSAgYXV0b3ZpZGVvc2luaykuCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTUgMTM6MDg6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGNoZWNrIHRoZSBzeW5jIHByb3BlcnR5IGV4aXN0cyBvbiBlbWJlZGRlZCBzaW5rKHMpCgkgIEZvbGxvdy11cCBvbiA0MTExZDYzMjFmMTQwZWI3NzkwNjIwYWI0MmU1Y2YxZDk0MTNiNTZhLCB0aGUgdmlkZW8KCSAgc2luayhzKSB1c2VkIGJ5IGZwc2Rpc3BsYXlzaW5rIG1pZ2h0IG5vdCBoYXZlIHRoZSBzeW5jIHByb3BlcnR5LiBTbyB3ZQoJICBjaGVjayBpdHMgZXhpc3RlbmNlIHRvIGF2b2lkIHdhcm5pbmcgZnJvbSBnX29iamVjdF9zZXQoKSBhdCBydW50aW1lLgoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTEwIDIyOjIwOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBtb3JlIG9mIGoyawoJICBSZWFkcyB0aGUgbmV3IGNhcHMgYWRkZWQgdG8gcXRkZW11eCBieSBjb21taXQKCSAgYzkxN2Q2NWU2ZGYwYjVkNTg1ZjkwNWM3YWQ3OGE4YTBhNDRiMmNiMAoJICBhbmQgYWRkcyBpdHMgY29ycmVzcG9uZGluZyBhdG9tcy4KCSAgQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGltYWdlL3gtanBjIGFzIGl0IGlzIHRoZSBzYW1lCgkgIGFzIGltYWdlL3gtanAyLCBleGNlcHQgdGhhdCB0aGUgYnVmZmVycyBuZWVkIHRvIGJlCgkgIGJveGVkIGluc2lkZSBhIGpwMmMgaXNvbSBib3ggYmVmb3JlIG11eGluZy4gVG8gc29sdmUKCSAgdGhpcyB0aGUgUVRQYWRzIG5vdyBoYXZlIGEgZnVuY3Rpb24gdGhhdCAoaWYKCSAgbm90IE5VTEwpIGlzIGNhbGxlZCB3aGVuIGEgYnVmZmVyIGlzIGNvbGxlY3RlZC4gVGhpcwoJICBmdW5jdGlvbiByZXR1cm5zIGEgcmVwbGFjZW1lbnQgdG8gdGhlIGN1cnJlbnQgY29sbGVjdGVkCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzU5ODkxNgoKMjAwOS0xMi0xNCAxNjoxNjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IFRhYmxlIGdlbmVyYXRpb24gdXRpbGl0eSBuZWVkcyB0byBsaW5rIHRvIC1sbSB0b28KCjIwMDktMTItMTQgMTY6MDg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2NvZy5vcmM6CgkgIGNvZzogRG9uJ3QgYnVpbGQgb3JjX21lbWNweSgpIGFuZCBkZXBlbmQgb24gb3JjID49IDAuNC4zIGZvciBvcmNfbWVtY3B5KCkKCSAgSW4gdGhlIGxhdGVzdCByZWxlYXNlIHRoaXMgZnVuY3Rpb24gaXMgYWxyZWFkeSBkZWZpbmVkLgoKMjAwOS0xMi0xMCAxNjo1MzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IE1hcHMgJ2NsYXNzaWZpY2F0aW9uJyB0YWcgZm9yIDNncHAgZmlsZXMKCSAgQWRkcyB0aGUgbWFwcGluZyBvZiAnY2xhc3NpZmljYXRpb24nIHRhZ3MgdG8gd3JpdGluZyBvZgoJICAnY2xzZicgYXRvbXMgZm9yIGdwcG11eC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKMjAwOS0xMi0xMCAyMjo0OToxMyAtMDMwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogZXhwb3NlIHZpZGVvIHNpbmsgdXNpbmcgYSBwcm9wZXJ0eQoJICBFeHBvc2VzIHRoZSBpbnRlcm5hbGx5IHVzZWQgc2luayBhcyB2aWRlby1zaW5rIHByb3BlcnR5IGFuZAoJICBtYWtlcyB0aGUgZGVmYXVsdCBvbmUgdG8gYmUgYXV0b3ZpZGVvc2luayBpbnN0ZWFkIG9mCgkgIHRoZSBoYXJkY29kZWQgeHZpbWFnZXNpbmsKCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xMSAxNjozMjo0OCAtMDgwMCAgUGV0ZXIgdmFuIEhhcmRlbmJlcmcgPHB2aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IGFkZCBuZXcgYWRwY20gZW5jb2RlciBlbGVtZW50LgoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTItMTAgMTA6MTA6MTUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBtYWtlIHBvd2VyIG9mIDIgbW9yZSBhY2N1cmF0ZS4KCjIwMDktMTItMTAgMTI6NTY6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2FwcyBwYXJhbWV0ZXJzIHNldHRpbmcKCSAgQWxzbyBjb25zaWRlciBQUFMgd2hlbiBzZWxlY3RpbmcgU1BTIHRvIHBpY2sgcGFyYW1ldGVycyBmcm9tLgoJICBPbmx5IHVwZGF0ZSBjYXBzIHdoZW4gc2V0dGluZ3MgYWN0dWFsbHkgY2hhbmdlZCwgYW5kIHdoZW4gdGhlc2UgYXJlIHZhbGlkLgoKMjAwOS0xMi0wOCAxODo1Nzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIGl2b3JiaXM6IGFsc28gY2F0ZXIgZm9yIHRyYWRpdGlvbmFsIDE2LWJpdCB3aWR0aCBzYW1wbGUgb3V0cHV0CgoyMDA5LTEyLTEwIDEwOjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRG9uJ3QgZG8gcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gdGhlIHByb2Nlc3NpbmcgbG9vcAoJICBMb3dlcnMgdGhlIHRpbWUgdGFrZW4gdGhlcmUgaW4gbXkgdGVzdGNhc2UgZnJvbSA2LjkxJSB0byA2LjIwJQoJICBhcyBtZWFzdXJlZCBieSBjYWxsZ3JpbmQuCgoyMDA5LTExLTE4IDE2OjM4OjMzICswMTAwICB1bmtub3duIDxoYXZhcmQuZ3JhZmZALmV1LnRhbmRiZXJnLmludD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIHRoZSBjdXJyZW50X3NzcmMgZnJvbSB0aGUgY2FwcwoJICBGaXhlcyAjNjA0MTAxCgoyMDA5LTEyLTA5IDE0OjQyOjIxICswMTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZWxlYXNlIHBhZHMgd2hlbiBkaXNwb3NpbmcKCSAgQmVjYXVzZSBvZiBhbiBhbGxvY2F0ZWQgcHJpdiAoR3N0UlRQTXV4UGFkUHJpdmF0ZSksIHRoZSBlbGVtZW50IHdpbGwKCSAgbGVhayBtZW1vcnkgaWYgbm90IGdzdF9ydHBfbXV4X3JlbGVhc2VfcGFkKCkgaXMgY2FsbGVkLiBUaGlzIHdvdWxkCgkgIHByZXZpb3VzbHkgb25seSBoYXBwZW4gaWYgcmVsZWFzZV9yZXF1ZXN0X3BhZCgpIHdhcyBjYWxsZWQgZXhwbGljaXRseSwKCSAgc29tdGhpbmcgdGhhdCBzaG91bGQgbm90IGJlIG5lY2Nlc2FyeS4KCSAgRml4ZXMgIzYwNDA5OQoKMjAwOS0xMi0wOSAxMzo0MDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBkdG1mbXV4OiBtZXRob2QgbmFtZSBjbGVhbnVwcwoKMjAwOS0xMi0wOSAwOTo1Nzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcGxlbWVudCBzcmNwYWQgcXVlcnkgZnVuY3Rpb24gdG8gYWx3YXlzIGZvcndhcmQgdG8gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMTItMDkgMDk6NTU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBQcm94eSBidWZmZXIgYWxsb2NhdGlvbiBvbiB2aWRlbyBzaW5rcGFkIHRvIHRoZSBzcmNwYWQKCSAgLi4uYW5kIGFkZCBnZXRjYXBzIGZ1bmN0aW9uIHRvIHRoZSB2aWRlbyBzaW5rcGFkLgoKMjAwOS0xMi0wOSAwOTo1MToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcGxlbWVudCBzcmNwYWQgZXZlbnQgZnVuY3Rpb25zIGZvciBzZWVraW5nIGFuZCBjb3JyZWN0IGV2ZW50IGZvcndhcmRpbmcKCSAgQ29waWVkIGZyb20gdGV4dG92ZXJsYXkuCgoyMDA5LTEyLTA4IDE3OjU5OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBjKysgY29tbWVudHMgYW5kIGFkZCBzb21lIG1vcmUgY29tbWVudHMuCgoyMDA5LTEyLTA4IDE3OjU1OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgaW1hIGFkcGNtIHN1cHBvcnQKCjIwMDktMTItMDggMTc6NTU6MTMgLTA4MDAgIFN0ZXBoZW4gTWNOYW1hcmEgPHN0ZXZlLm1jbmFtYXJhQHVsdHJhLXNtbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogZG9uJ3QgbGVhayBmaWx0ZXJfbWVkaWFfZXZlbnQKCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lICdhYWNwYXJzZScgcGx1Z2luIHRvIGdlbmVyaWMgJ2F1ZGlvcGFyc2VycycgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSAgYWFjcGFyc2U6IHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24gYW5kIHJlbmFtZSBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBiZWZvcmUgYWNjZXNzaW5nCgoyMDA5LTExLTA1IDE0OjMxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTEwLTI5IDE1OjE5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4dXAgY29tbWVudHMgdG8gQy1zdHlsZQoKMjAwOS0xMC0yOSAxNjowNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVzZXQgcGFzc3Rocm91Z2ggbW9kZSB0byBkZWZhdWx0IChkaXNhYmxlZCkgb24gYWN0aXZhdGlvbgoKMjAwOS0xMC0yOSAxNToxNjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZQoKMjAwOS0xMC0yOCAxNDowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBmaXgvZW5oYW5jZSBESVNDT05UIG1hcmtpbmcKCSAgSW4gcGFydGljdWxhciwgY29uc2lkZXIgRElTQ09OVCA9PSAhc3luYywgYW5kIGFsbG93IHN1YmNsYXNzIHRvIHF1ZXJ5CgkgIHN5bmMgc3RhdGUsIGFzIGl0IG1heSB3YW50IHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgc3luYyB3YXMgYWNoaWV2ZWQgZWFybGllciBvbi4KCSAgQWxzbyBhcnJhbmdlIGZvciBzdWJjbGFzcyB0byBxdWVyeSB3aGV0aGVyIGxlZnRvdmVyIGRhdGEgaXMgYmVpbmcgZHJhaW5lZC4KCjIwMDktMTEtMjMgMTU6NDg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIHRpbWVzdGFtcCBoYW5kbGluZywgYW5kIGRlZmF1bHQgY29udmVyc2lvbgoJICBJbiBwYXJ0aWN1bGFyLCAob3B0aW9uYWxseSkgcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBhIG5vdGlvbiBvZiBmcmFtZXMgcGVyIHNlY29uZAoJICAoYW5kIHRoZXJlZm9yZSBhbHNvIGZyYW1lIGR1cmF0aW9uKSBhbmQgaGF2ZSBpdCB0cmFjayBmcmFtZSBhbmQgYnl0ZSBjb3VudHMuCgkgIFRoaXMgd2F5LCBzdWJjbGFzcyBjYW4gcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBmcHMgYW5kIGhhdmUgaXQgcHJvdmlkZSBkZWZhdWx0CgkgIGJ1ZmZlciB0aW1lIG1ldGFkYXRhIGFuZCBjb252ZXJzaW9ucywgdGhvdWdoIHN1YmNsYXNzIGNhbiBzdGlsbCBpbnN0YWxsCgkgIGNhbGxiYWNrcyB0byBoYW5kbGUgc3VjaCBpdHNlbGYuCgoyMDA5LTEwLTI4IDEyOjAyOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDA5LTEwLTI4IDEyOjAwOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2VfZml4ZWRfY2FwcyBmb3Igc3JjIHBhZAoJICBBZnRlciBhbGwsIHN0cmVhbSBpcyBhcy1pcywgYW5kIHRoZXJlIGlzIGxpdHRsZSBtb2xkaW5nIHRvIGRvd25zdHJlYW0ncwoJICB0YXN0ZSB0aGF0IGNhbiBiZSBkb25lLiAgSWYgc3ViY2xhc3MgY2FuIGFuZCB3YW50cyB0byBkbyBzbywgaXQgY2FuCgkgIHN0aWxsIG92ZXJyaWRlIGFzIHN1Y2guCgoyMDA5LTEyLTA4IDE0OjQ2OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBBZGQgZG9jcyBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGRvY3MgYnVpbGQgc3lzdGVtCgoyMDA5LTEyLTA4IDE0OjA2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogRm9yIHN5bmNocm9uaXppbmcgdGhlIHRleHQsIHRha2UgdGhlIHZpZGVvIHJ1bm5pbmcgdGltZSBvZiB0aGUgbmV4dCBmcmFtZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBsaWJhc3MgYWxyZWFkeSBoYXMgYWxsIHRleHQgYnVmZmVycyBmb3IgdGhlIG5leHQgZnJhbWUKCSAgYXQgdGhlIHRpbWUgd2hlbiB0aGUgbmV4dCBmcmFtZSBpcyBwcm9jZXNzZWQuIFdpdGhvdXQgdGhpcyB0ZXh0IGJ1ZmZlcnMKCSAgbWlnaHQgYmUgb25lIGZyYW1lIGxhdGUgb3Igbm90IHNob3duIGF0IGFsbCBpZiB0aGV5J3JlIG9ubHkgc2hvd24gZm9yIGEKCSAgc2luZ2xlIGZyYW1lLgoKMjAwOS0xMi0wOCAxMToyNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBJNDIwIG1vZGUgYW5kIGVuYWJsZSBpdAoKMjAwOS0xMi0wOCAxMToyNTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGxpYmFzcyB2ZXJzaW9ucwoKMjAwOS0xMi0wNyAxMDoyMTozMiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IHNwZWxsIHRoaW5ncyBtb3JlIGJldHRlcmVyLgoKMjAwOS0xMi0wNyAxMDowOToxOSAtMDgwMCAgU3RlcGhlbiBNY05hbWFyYSA8c3RldmUubWNuYW1hcmFAdWx0cmEtc21sLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogYWRkIHZpcnR1YWwgZGVzdHJ1Y3RvciBmb3IgaW50ZXJuYWwgaGVscGVyIGNsYXNzLgoKMjAwOS0xMi0wNyAxODozNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IHVucmVmIGJ1ZmZlcnMgdHdpY2UKCjIwMDktMTItMDcgMTg6MzA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGVtYmVkZGVkIGZvbnQgdXNhZ2UKCSAgRm9yIHRoaXMgYWRkIHNvbWUgbmV3IG1pbWV0eXBlcyBhbmQgYWxzbyBjaGVjayB0aGUgZmlsZW5hbWUgZXh0ZW5zaW9uLgoJICBGaXhlcyBidWcgIzYwMzkzOC4KCjIwMDktMTItMDcgMTg6MDM6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEaXNhYmxlIEk0MjAgc3VwcG9ydCBmb3Igbm93LCBpdCBkb2Vzbid0IHdvcmsgcmVsaWFibGUgeWV0CgoyMDA5LTEyLTA3IDE3OjA0OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHN1cHBvcnQgZm9yIEk0MjAKCjIwMDktMTItMDcgMTU6MzE6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBPcHRpbWl6ZSBibGl0IGZ1bmN0aW9uIGFuZCBhZGQgc3VwcG9ydCBmb3IgYWxsIG90aGVyIG5vbi1hbHBoYSBSR0IgZm9ybWF0cwoJICBBbHNvIG1ha2Ugc3VyZSB0byBub3Qgd3JpdGUgYmVoaW5kIGFycmF5IGJvdW5kcy4KCjIwMDktMTItMDcgMTQ6MzU6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggYXR0YWNobWVudCB0YWcgaGFuZGxpbmcgYW5kIG1vdmUgaXQgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uCgkgIC4uLnRvIHByZXZlbnQgY29kZSBkdXBsaWNhdGlvbi4KCjIwMDktMTItMDcgMTQ6MjY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVcGRhdGUgdGV4dCBsYXN0IHN0b3AgYWZ0ZXIgY2hlY2tpbmcgaWYgdGltZXN0YW1wL2R1cmF0aW9uIGlzIHZhbGlkCgoyMDA5LTEyLTA3IDE0OjIzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgYW4gQVNTIHRyYWNrIHdhcyBhbGxvY2F0ZWQgYWxyZWFkeSBvbmx5IGZlZWQgbmV3IGNvZGVjX2RhdGEgdG8gaXQgaW5zdGVhZCBvZiByZWNyZWF0aW5nCgoyMDA5LTEyLTA3IDE0OjA1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogTG90cyBvZiByYW5kb20gY2xlYW51cCBhbmQgc29tZSBtaW5vciBtZW1sZWFrIGZpeGVzCgoyMDA5LTEyLTA3IDEzOjQwOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRXh0cmFjdCBlbWJlZGRlZCBmb250cyBmcm9tIHRoZSBzdWJ0aXRsZSBzdHJlYW1zIGlmIHJlcXVlc3RlZAoKMjAwOS0xMi0wNyAxMzoyNjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IGxldCBsaWJhc3MgcHJpbnQgc3R1ZmYgb24gc3RkZXJyIGJ1dCBwcm94eSB0aGUgbWVzc2FnZXMgdG8gdGhlIEdTdHJlYW1lciBkZWJ1Z2dpbmcgc3lzdGVtCgoyMDA5LTEyLTA1IDExOjI1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBhcGV4c2luazogY2xlYW4gdXAgYW5kIGZpeCBjb25maWd1cmUgbG9naWMgYW5kIE1ha2VmaWxlLmFtCgkgIENoZWNrIGZvciBvcGVuc3NsIGFuZCBsaWJjcnlwdG8gdXNpbmcgcGtnLWNvbmZpZyBhbmQgZG9uJ3QgYnVpbGQgdGhlCgkgIHBsdWdpbiBpZiB0aG9zZSBhcmUgbm90IGF2YWlsYWJsZS4gQWxzbywgZml4IHRoZSBDRkxBR1MvTElCUyBvcmRlcgoJICBpbiBNYWtlZmlsZS5hbSBhbmQgdXNlIHRoZSBkZXRlY3RlZCBMSUJTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcKCSAgLWxjcnlwdG8gaW4gdGhlIE1ha2VmaWxlLmFtLiBTaG91bGQgZml4ICM2MDE0MTcuCgoyMDA5LTEyLTAxIDE1OjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODdiZjQyOCB0byA0N2NiMjNhCgoyMDA5LTEyLTAxIDE0OjA5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDYWxsIEFHX0dTVF9QTEFURk9STSBmb3IgR1NUX0VYVFJBX01PRFVMRV9TVUZGSVgKCSAgVGhpcyBpcyB1c2VkIGluIHRoZSBmcmVpMHIgcGx1Z2luIGFscmVhZHkgYnV0IG5ldmVyIGRlZmluZWQgYW55d2hlcmUuCgkgIEZpeGVzIGJ1ZyAjNjAyNTI0LgoKMjAwOS0xMi0wMSAxNDoxNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRhNGM3NWMgdG8gODdiZjQyOAoKMjAwOS0xMS0yNyAxODo1NTo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTNhMjQ4NSB0byBkYTRjNzVjCgoyMDA5LTExLTI3IDE0OjM4OjA0ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSAgY2FtZXJhYmluOiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydGllcy4gRml4ZXMgIzU3MzM3MCAocGFydGlhbGx5KQoJICBBZGRlZCBHT2JqZWN0IHByb3BlcnRpZXMgdG8gcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnRlZAoJICB0aGVtIGluIGNhbWVyYWJpbi4gQ2hhbmdlZCB6b29taW5nIHRvIGNoZWNrIGlmIHZpZGVvLXNvdXJjZSBoYXMKCSAgem9vbSBwcm9wZXJ0eS4KCjIwMDktMDItMjMgMjM6MTg6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIEFkZCBwa2djb25maWcgZmlsZXMgZm9yIHBob3RvZ3JhcGh5IGludGVyZmFjZSBsaWJyYXJ5LgoKMjAwOS0xMC0yOCAxMjo0NzoxOSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkIGZsYWdzIHByb3BlcnR5LiBGaXhlcyAjNTczMzcwIChwYXJ0aWFsbHkpCgkgIEFkZHMgZmxhZ3MgcHJvcGVydHkgdG8gZW5hYmxlIHJ1bnRpbWUgY29uZmlndXJhdGlvbiBvZgoJICBjb252ZXJzaW9uIGFuZCBzY2FsaW5nIGVsZW1lbnRzLiBBbHNvIGFkZHMgZmxhZyBmb3IgZGlzYWJsaW5nCgkgIGF1ZGlvIGNvbXBsZXRlbHkuCgoyMDA5LTEwLTI3IDE2OjI4OjI1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHRpbWVvdmVybGF5IGJ1aWxkLXRpbWUgZGVmaW5pdGlvbgoKMjAwOS0xMS0yNiAxNTozMzozMiAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGZpeCBidWlsZAoKMjAwOS0xMS0yNSAyMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcGxhY2UgX3NjYWxlIHdpdGggX3NjYWxlX3JvdW5kCgkgIFVzZSB0aGUgcm91bmRpbmcgdmVyc2lvbiBmb3IgaW1wcm92ZWQgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgkgIFNtYWxsIHZhcmlhdGlvbnMgaW4gdGhlIGR1cmF0aW9uIHdoZW4gbXV4aW5nIG1pZ2h0IGxlYWQgdG8KCSAgY3VtdWxsYXRpdmUgd3JvbmcgdGltZXN0YW1waW5nIHdoZW4gZGVtdXhpbmcuCgkgIEZpeGVzICM2MDI5MzYKCjIwMDktMTEtMjQgMTY6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wcyBmb3IgbXV4aW5nCgkgIFRyeSB0byB1c2UgdGltZXN0YW1wcyBldmVuIHdoZW4gdGhlIHN0cmVhbSBoYXMgb3V0IG9mIG9yZGVyCgkgIHRpbWVzdGFtcHMsIG9ubHkgZmFsbCBiYWNrIHRvIGR1cmF0aW9ucyB3aGVuIHdlIGRldGVjdCBhbgoJICBvdXQgb2Ygb3JkZXIgYnVmZmVyLiBJbXByb3ZlcyBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCjIwMDktMTEtMjQgMTQ6MzQ6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBtZXRhZGF0YTogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDA5LTExLTE4IDExOjM4OjUwICswMTAwICBYYXZpZXIgUXVlcmFsdCBNYXRldSA8eHF1ZXJhbHRAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBFeHBvc2UgbGFuZyBjb2RlcyBpbiBwbXQKCjIwMDktMTEtMjIgMTk6MzA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBvcHRpb25hbCB0cmFuc2Zvcm1pbmcgZnJvbSBieXRlc3RyZWFtIHRvIHNhbXBsZSBmb3JtYXQgKG9yIHZpY2UgdmVyc2EpCgoyMDA5LTExLTIwIDE4OjMxOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVmYWN0b3IgYSBiaXQgaW50byBhIHJlc2V0IGZ1bmN0aW9uCgoyMDA5LTExLTIwIDE4OjQ5OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcHJvdmlkZSB3L2ggZnJvbSBzdHJlYW0gaW4gc3JjIGNhcHMgaWYgbm90IGluIHNpbmsgY2FwcwoKMjAwOS0xMS0wNiAxMjo1ODozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBhcnNlIFNQUyBzb21lIG1vcmUgKGUuZy4gZm9yIHdpZHRoL2hlaWdodCkKCjIwMDktMTEtMjIgMTk6MzQ6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBvcHRpb25hbGx5IG91dHB1dCBBVXMgcmF0aGVyIHRoYW4gTkFMVXMKCSAgVGhhdCBpcywgQWNjZXNzIFVuaXRzIChmcmFtZXMvZmllbGRzKSBpbnN0ZWFkIG9mIChwb3NzaWJseSkgcGFydHMgdGhlcmVvZi4KCjIwMDktMTEtMjMgMTA6MzI6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiByZW1vdmUgZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYwoKMjAwOS0xMS0yMyAwOTozNTozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHByZS1yZWxlYXNlPT5naXQKCjIwMDktMTEtMjMgMDk6MTc6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkgIHZkcGF1OiBGaXggaW5jbHVkZXMKCjIwMDktMTEtMjIgMjI6NTQ6MjcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBjb252ZXJ0IHRvIDEvMSBwaXhlbC1hc3BlY3QtcmF0aW8gZm9yIHJnYiB0b28KCjIwMDktMTEtMjIgMjI6MzQ6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGludGVyc2VjdCBhbGxvd2VkIGNhcHMgd2l0aCBvdXIgdGVtcGxhdGUgY2FwcwoKMjAwOS0xMS0yMiAyMjozMTozOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdTogZml4IGdzdF92ZHBfW3ZpZGVvfHl1dl1fdG9fb3V0cHV0X2NhcHMgdG8gYWxzbyBhZGQgcmdiIGNhcHMKCjIwMDktMTEtMjIgMjI6MzA6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHVzZSBHc3RWZHBWaWRlb1NyY1BhZAoKMjAwOS0xMS0yMiAyMjoyOTo1OCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJICB2ZHBhdTogYWRkIGZ1bmN0aW9ucyB0byBHc3RWZHBPdXRwdXRCdWZmZXIgbmVlZGVkIGZvciByZ2IgZG93bmxvYWQKCjIwMDktMTEtMjIgMjI6Mjg6MTggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBHc3RQYWQgc3ViY2xhc3MgR3N0VmRwT3V0cHV0U3JjUGFkCgkgIEdzdFZkcE91dHB1dFNyY1BhZCBpcyBhIHN1YmNsYXNzIG9mIEdzdFBhZCB0aGF0IGlzIHVzZWQgZm9yIHB1c2hpbmcgb3V0CgkgIEdzdFZkcE91dHB1dEJ1ZmZlcnMuIEl0IHRha2VzIGNhcmUgb2YgY2FwcyBuZWdvdGlhdGlvbiBhbmQgY29udmVyc2lvbiB0bwoJICB2aWRlby94LXJhdy1yZ2IuCgoyMDA5LTExLTIyIDIyOjI0OjEyICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogYWRkICJ0ZW1wbGF0ZS1jYXBzIiBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgbGltaXRzIHRoZSBhdmFpbGFibGUgb3V0cHV0IGNhcHMKCjIwMDktMTEtMjIgMjI6MTg6NTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSAgZ3N0dmRwdmlkZW9idWZmZXI6IGZpeCB0eXBvCgoyMDA5LTExLTIxIDAyOjUxOjM5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogcmVwbGFjZSBnZXRfcGFkX3RlbXBsYXRlKCkgd2l0aCBnZXRfdGVtcGxhdGVfY2FwcygpCgoyMDA5LTExLTIxIDAxOjEwOjUwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogZG9uJ3QgcmVjcmVhdGUgY2FwcyBpbiBnZXRjYXBzCgoyMDA5LTExLTIxIDAwOjEzOjQ2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBHc3RQYWQgc3ViY2xhc3MgR3N0VmRwVmlkZW9TcmNQYWQKCSAgR3N0VmRwVmlkZW9TcmNQYWQgdGFrZXMgY2FyZSBvZiBjYXBzIG5lZ290aWF0aW9uIGFuZCBjb252ZXJzaW9uIG9mCgkgIEdzdFZkcFZpZGVvQnVmZmVycyB0byB0aGUgbmVnb3RpYXRlZCBvdXRwdXQgZm9ybWF0LgoKMjAwOS0xMC0yNyAyMjowNDoxMCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IHJld29yayBwcmVzZW50YXRpb24gYmxvY2tpbmcgYSBiaXQKCSAgaW5zdGVhZCBvZiBibG9ja2luZyB1bnRpbCB0aGUgcHJldmlvdXMgc3VyZmFjZSBoYXMgYmVlbiBkaXNwbGF5ZWQsIHdlIG5ldyBvbmx5CgkgIGFkZCBzdXJmYWNlcyB0byB0aGUgcXVldWUgaWYgaXQncyBpZGxlLgoKMjAwOS0xMC0yNyAyMToxODowNCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogc3BsaXQgdXAgY2hhaW4gZnVuY3Rpb24KCjIwMDktMTAtMjcgMjA6NTc6MDUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGltcGxlbWVudCBiYXNpYyBxb3MgaGFuZGxpbmcKCjIwMDktMTAtMTYgMDA6MTY6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBkaXNwbGF5IHByb3BlcnR5CgoyMDA5LTEwLTA4IDIzOjM4OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJICB2ZHBhdTogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMDktMTAtMDggMjA6MjU6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdTogdXNlIGxvY2FsIGxpYmdzdHZkcCBoZWFkZXJzCgoyMDA5LTEwLTA4IDIwOjIzOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVtb3ZlIG5vdyB1bm5lZWRlZCB2ZHBhdXZpZGVveXV2IGFuZCB2ZHBhdXl1dnZpZGVvIGVsZW1lbnRzCgoyMDA5LTEwLTA4IDIwOjE5OjU3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgZGlzcGxheSBwcm9wZXJ0eQoKMjAwOS0xMC0wOCAyMDoxMzoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogYWRkIGRlYnVnIG91dHB1dAoKMjAwOS0xMC0wOCAyMDoxMzowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXl1diBpbnB1dAoKMjAwOS0xMC0wNyAxMDoyNTo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIHNyY19nZXRjYXBzIGZ1bmMKCSAgdGhpcyB3YXkgd2UgY2FuIHJldHVybiBvbmx5IHRoZSBjYXBzIHdlIHJlYWxseSBzdXBwb3J0LCBzaW5jZSB3ZSdyZSBhYmxlIHRvIHF1ZXJ5IHZkcGF1CgkgIGFib3V0IGl0CgoyMDA5LTEwLTA3IDAwOjEzOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBzdXBwb3J0IGZvciBuZWdvdGF0aW9uIG9mIHgtcmF3LXl1diBvdXRwdXQKCjIwMDktMTAtMDQgMTk6Mjc6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBjcmVhdGUgYSBsaWJnc3R2ZHAgbGlicmFyeS4KCSAgVGhlIGxpYnJhcnkgY29udGFpbnMgR3N0VmRwRGV2aWNlIEdzdFZkcFZpZGVvQnVmZmVyIGFuZCBHc3RWZHBPdXRwdXRCdWZmZXIuIFRoZQoJICBsaWJyYXJ5IHdpbGwgKGFwYXJ0IGZyb20gdGhlIHBsdWdpbnMgaGVyZSkgYmUgdXNlZCBieSB0aGUgdXBjb21pbmcgZ3N0LWZmbXBlZwoJICB2ZHBhdSBzdXBwb3J0LgoKMjAwOS0xMC0wMyAxNDozMDo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2hlY2sgZm9yIHNpbmsgZWxlbWVudCByZXR1cm5pbmcgd3JvbmcgYnVmZmVyIHR5cGUKCjIwMDktMTAtMDIgMDE6MDQ6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiByZW1vdmUgdW5uZWVkZWQgZ3N0X3ZkcF92aWRlb19idWZmZXJfYWRkX3JlZmVyZW5jZSBmdW5jdGlvbgoKMjAwOS0wOS0yNCAyMjoyNjo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IGxvbmduYW1lCgoyMDA5LTExLTIyIDE5OjMwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIENsZWFuIHVwIExERkxBR1MsIExJQlMsIENGTEFHUwoJICBGaXggb3JkZXIsIGZpeCB2YXJpYWJsZXMgdGhhdCBkb24ndCBleGlzdCwgbGlrZSBHU1RfTElCU19MSUJTLAoJICB1c2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbSwgYW5kIG1vdmUgX0xJQlMgZnJvbSBMREZMQUdTIHRvIExJQkFERC4KCSAgU3BvdHRlZCBieSBIYXZhcmQgR3JhZmYuCgoyMDA5LTExLTIyIDE5OjAyOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSAgY29nOiBpbmNsdWRlIG91ciBvd24gX3N0ZGludC5oIGluc3RlYWQgb2YgPHN0ZGludC5oPgoKMjAwOS0xMS0yMCAxMToxMzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IGluY2x1ZGUgb3VyIG93biBfc3RkaW50Lmggbm90IHN0ZGludC5oCgoyMDA5LTExLTIxIDE3OjMxOjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBsb2NhbCBiYXNlc3JjIGNvcHkKCSAgVXNlIHRoZSByZWFsIHZlcnNpb24gb2YgYmFzZXNyYyBpbnN0ZWFkIG9mIGEgbG9jYWwgY29weSBub3cgdGhhdCBpdAoJICBzdXBwb3J0cyB0aGUgc2VhbWxlc3Mgc2VnbWVudCBmZWF0dXJlIHRoYXQgcmVzaW4gbmVlZHMuCgoyMDA5LTExLTIwIDEzOjQxOjI3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0cy9pY2xlczogbWFrZSBjb2cgdGVzdCBwcm9ncmFtIGRlcGVuZCBvbiBVU0VfQ09HLiBGaXhlcyBidWlsZCB3aXRob3V0IG9yYy4KCjIwMDktMTEtMjAgMjA6NTU6MTUgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGNvbnZlcnQgc29tZSBwYXJhbXMgdG8gY29uc3RzIGluIG9yYyBjb2RlCgoyMDA5LTExLTIwIDE3OjMzOjIxICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzLgoKMjAwOS0xMS0yMCAxNzozMjo0NCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhbXJwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTExLTIwIDE3OjMyOjEzICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTEtMjAgMTA6MzE6NDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXNlIF9zdGRpbnQuaCBmcm9tIGNvbmZpZ3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTIwIDEzOjEzOjM2ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBjb2c6IEFkZCBvcmMgdGVzdCBjb2RlIGZvciBjb2cKCSAgQWxzbyBsb29rIGZvciBjb2cub3JjIHNvdXJjZSBmaWxlIGluIHRoZSByaWdodCBwbGFjZS4KCjIwMDktMTEtMTkgMjA6MzM6MDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVwZGF0ZSBkdG1mZGV0ZWN0IHRvIG1ha2UgaXQgTVNWQyBmcmllbmRseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTE5IDE4OjI4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCSAgQWRkcyBhIG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCjIwMDktMTEtMTkgMjM6MDE6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2V0IHRoZSBhdWRpby1jaGFubmVsIHBvc2l0aW9ucyBhZ2FpbiwgYnV0IG5vdyBpbiBfc2V0dXAKCSAgUmVhZGQgdGhlIGNvZGUgdGhhdCB3YXMgcmV2ZXJ0ZWQgZm9yIHRoZSByZWxlYXNlLiBXZSBub3cgc2V0IGF1ZGlvLWNoYW5uZWwKCSAgcG9zaXRpb25zIGlmIGFueSBvbiB0aGUgcGFkIGNhcHMgYW5kIG5vdCBvbiB0aGUgdGVtcGxhdGVzLgoKMjAwOS0xMS0xOSAyMjo1OToxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW1vdmUgY29tbWVudGVkIG91dCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnltb3JlCgoyMDA5LTExLTE3IDAwOjM5OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogbWFrZSBzdGF0ZS1jaGFuZ2UgdGVzdCB0aW1lb3V0IGxvbmdlciBpZiB3cmFwcGVycyBhcmUgZW5hYmxlZAoJICBXaGVuIGxhZHNwYSB8fCBsdjIgYXJlIGVuYWJsZWQgb25lIGNvdWxkIHF1aWNrbHkgZ2V0IHRvIDUwMCBlbGVtZW50cy4KCjIwMDktMTEtMTcgMDA6Mzc6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJICByZWFsYXVkaW9kZWM6IHJlaW5kZW50IGFuZCBtYWtlIHZhbGdyaW5kIGhhcHB5CgkgIFRoZSBzdGF0ZS1jaGFuZ2UgdGVzdHMgcmVwb3J0ZWQgYWNjZXNzIHRvIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LgoKMjAwOS0xMS0xNiAyMjowNzozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBvbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBmb3IgY2hlY2tpbmcgcHJlLWNvbmRpdGlvbnMKCSAgZ19yZXR1cm5fKiBjYW4gYmUgZGlzYWJsZWQuIFN0aWxsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZhaWxlZCBpbnN0YW5jZSBjcmVhdGlvbi4KCjIwMDktMTEtMTYgMjI6MDU6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogb25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgZm9yIGNoZWNraW5nIHByZS1jb25kaXRpb25zCgkgIGdfcmV0dXJuXyogY2FuIGJlIGRpc2FibGVkLiBTdGlsbCB3ZSB3YW50IHRvIGNoZWNrIGZvciBmYWlsZWQgaW5zdGFuY2UgY3JlYXRpb24uCgoyMDA5LTExLTE2IDIxOjUyOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHJlbW92ZSBsZWZ0LW92ZXIgY29tbWVudAoKMjAwOS0xMS0xNiAyMTo1MDoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBjaGFuZ2UgX3NldHVwIHRvIHBhc3Mgd2hvbGUgY2FwcyBhbmQgbm90IGp1c3Qgc2FtcGxpbmdfcmF0ZQoJICBUaGlzIGFsbG93cyB0byBnZXQgcmlkIG9mIHRoZSBzYW1wbGluZ19yYXRlIHZhcmlhYmxlIGluIHRoZSBiYXNlLWNsYXNzLiBBbHNvIG5vdwoJICBzdWJjbGFzc2VzIGNhbiBtb2RpZnkgdGhlIGNhcHMgdG8gYWN0dWFseSBuZWdvdGlhdGUuIFRoaXMgaXMgbmVlZGVkIHRvIGUuZy4gc2V0CgkgIGF1ZGlvLWNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOS0xMS0xOSAxMTozNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgZGVidWcgc3RhdGVtZW50CgoyMDA5LTExLTE5IDExOjE0OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5zdXJlIHdyaXRhYmxlIGJ1ZmZlciBtZXRhZGF0YSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDA5LTExLTE5IDEwOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDcwMmZlMSB0byA1M2EyNDg1CgoyMDA5LTExLTE4IDIwOjA2OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogaW1wcm92aW5nIGRlYnVnIG1lc3NhZ2VzCgkgIEltcHJvdmVzIGRlYnVnIG1lc3NhZ2VzIGZvciBhc2ZtdXgKCjIwMDktMTAtMjkgMDg6MzY6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIFNWUTMKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgU1ZRMyBjb250ZW50LiBVc3VhbGx5IHRoaXMgZm9ybWF0CgkgIGhhcyBkZWNvZGVyIGluZm8gdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgJ3NlcWgnIGZpZWxkCgkgIGluIHRoZSBjYXBzLiBJdCBpcyBhbHNvIGdvb2QgdG8gYWRkIHRoZSBnYW1hIGF0b20gdG8gbWFrZQoJICBxdWlja3RpbWUgbm90IGNyYXNoLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE4IDE4OjAwOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJICBqcDJrOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gTUFSR0lOQUwKCjIwMDktMTEtMTggMTg6MDA6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJICBnc206IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE4OjAwOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkgIGFtcndiZW5jOiBSYWlzZSByYW5rIHRvIFNFQ09OREFSWQoKMjAwOS0xMS0xOCAxNzo1OToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSAgZGlyYWM6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBNQVJHSU5BTAoJICBXZSdsbCBwcmVmZXIgdG8gdXNlIHNjaHJvZWRpbmdlciBpZiBhdmFpbGFibGUsIGJ1dCBpbiBjYXNlIGl0J3Mgbm90IGF2YWlsYWJsZQoJICB3ZSBzdGlsbCBoYXZlIHRoZSBsaWJkaXJhYyBvcHRpb24KCjIwMDktMTEtMTggMTc6NTg6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBTRUNPTkRBUlkKCjIwMDktMTEtMTggMTc6NTg6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1Nzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkgIG12ZTogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBSYWlzZSByYW5rIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTM6NDE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gMC4xMC4yNS4xIGFzIHdlbGwKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDktMTEtMTcgMTY6MzE6MDkgKzAxMDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSAgc2lnbmFscHJvY2Vzc29yOiBVc2UgY29ycmVjdCBDRkxBR1MgZm9yIHRoZSBzaWduYWxwcm9jZXNzb3IgaGVhZGVycyBpbiBMVjIvTEFEU1BBCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBoZWFkZXJzIGZyb20gdGhlIHNvdXJjZSB0cmVlIGFyZSB0YWtlbiBhbmQgbm90CgkgIGFjY2lkZW50aWFsbHkgaW5zdGFsbGVkIHN5c3RlbSBoZWFkZXJzIGluIHRoZSBjYXNlIG9mIGJ1aWxkZGlyIT1zcmNkaXIuCgkgIEZpeGVzIGJ1ZyAjNjAyMTYxLgoKMjAwOS0xMS0xOCAwMzowOToxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIHJlc2luZHZkLCBkdmRzcHU6IFVzZSBuZXcgc3RpbGwtZnJhbWUgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoJICBSZXBsYWNlIHRoZSBjdXJyZW50IGN1c3RvbSBEVkQgc3RpbGwtZnJhbWUgZXZlbnRzIHdpdGggbmV3IGV2ZW50CgkgIGNyZWF0aW9uL3BhcnNpbmcgQVBJIGZyb20gbGliZ3N0dmlkZW8uCgoyMDA5LTExLTE4IDAyOjE2OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1bXAgZ3N0LXBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEKCjIwMDktMTEtMTggMDI6MDQ6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIFJldmVydCAiYWlmZjogRGlzYWJsZSBhaWZmIG11eGVyIGZvciB0aGlzIHJlbGVhc2UuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc0MjZiZTcwZmZiMTEzZjAyZTM3NDA3ZWE5ODllNjBiNjM4YjJmMDAuCgkgIFJlLWVuYWJsZSB0aGUgYWlmZiBtdXhlciBub3cgdGhhdCBnc3QtcGx1Z2lucy1iYWQgMC4xMC4xNyBpcyBvdXQKCSAgYW5kIHdlIGNhbiByZWx5IG9uIGdzdC1wbHVnaW5zLWJhc2UgZnJvbSBnaXQuCgoyMDA5LTExLTE3IDE3OjI1OjE0IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogaGFuZGxlIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQgc3RhcnQgdGltZXMKCSAgUHJldmVudHMgbG9zaW5nIHN5bmMgd2hlbiByZW11eGluZyBzdHJlYW1zIHdpdGggZGlmZmVyZW50CgkgIHN0YXJ0IHRpbWVzLiBUaGUgc21hbGxlc3Qgc3RhcnQgdGltZSBpcyBzZWxlY3RlZCBhcwoJICB0aGUgYmFzZSB0aW1lIGFuZCBhbGwgdGltZXN0YW1wcyBhcmUgc3VidHJhY3RlZAoJICBmcm9tIGl0IHRvIGdldCB0aGUgYWN0dWFsIHRpbWUgdG8gYmUgdXNlZCB3aGVuCgkgIG11eGluZyBhbmQgYnVpbGRpbmcgaW5kZXhlcwoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTE3IDA5OjI2OjA1IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IGxlYWsgYSBzdHJpbmcKCSAgRnJlZXMgYSBzdHJpbmcgYWZ0ZXIgdXNlLiBBbHNvIGRvZXMgc29tZSBjb2RlIG9yZ2FuaXphdGlvbgoKMjAwOS0xMS0xNiAxNDo1Nzo1MyAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGRvIG5vdCBhZGQgc2l6ZSB0byB0aGUgcG9pbnRlciB2YXJpYWJsZQoJICBEbyBub3Qgd3JvbmdseSBhZGQgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gdG8gdGhlCgkgIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBzaXplLiBJbnN0ZWFkLCBjaGVjayB0aGUgcmVzdWx0CgkgIHRvIHNlZSBpZiB0aGUgc2VyaWFsaXphdGlvbiB3YXMgb2suCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICJDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4iCgkgIEZpeGVzICM2MDIxMDYKCjIwMDktMTEtMDYgMTA6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBoYW5kbGUgJ2xhdGUnIHN0cmVhbXMKCSAgV2hlbiBtdXhpbmcgc3RyZWFtcywgc29tZSBjYW4gc3RhcnQgbGF0ZXIgdGhhbiBvdGhlcnMuIHF0bXV4CgkgIG5vdyBoYW5kbGUgdGhpcyBieSBhZGRpbmcgYW4gZW1wdHkgZWR0cyBlbnRyeSB3aXRoIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgJ2xhdGVuZXNzJyB0byB0aGUgc3RyZWFtJ3MgdHJhay4KCSAgSXQgdG9sZXJhdGVzIGEgc3RyZWFtIHRvIGJlIHVwIHRvIDAuMXMgbGF0ZS4KCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0wNSAyMTozNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkgIHF0bXV4OiBhZGRzIHRoZSBFRFRTIGFuZCBFTFRTIGF0b21zIHRvIGF0b21zLmMKCSAgVGhlc2UgYXRvbXMgd2lsbCBiZSB1c2VmdWwgZm9yIHNpZ25hbGluZyBzdHJlYW1zCgkgIHRoYXQgc3RhcnQgbGF0ZXIgaW4gdGhlIGZpbGUuIEFzIHdlbGwgZm9yIGFkZGluZwoJICBlZGl0IGxpc3RzIGlmIG5lZWRlZCBzb21ldGltZSBsYXRlci4KCjIwMDktMTEtMTcgMTc6NTk6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBkZWNvZGUgYWRwY20gd2l0aG91dCBleHBsaWNpdCBsZW5ndGgsIGFzIGZvdW5kIGluIHF0LgoKMjAwOS0xMS0xNSAwMzoyMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGb3J3YXJkIHRoZSBzdGlsbCBmcmFtZSBldmVudCBkb3duc3RyZWFtCgkgIEZvcndhcmQgc3RpbGwtZnJhbWUgZXZlbnRzIGRvd25zdHJlYW0gc28gZWxlbWVudHMgbGlrZSBkZWludGVybGFjZQoJICBjYW4gdXNlIHRoZW0uCgoyMDA5LTExLTE0IDAwOjMxOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEd1YXJkIGFnYWluc3QgYSBkaXZpZGUtYnktemVybyBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDI2MwoKMjAwOS0xMS0xOCAwMTo0NjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNy4xCgoyMDA5LTExLTE3IDAxOjUzOjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuMTcgcmVsZWFzZSB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwOS0xMS0xNyAwMToyNTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE3CgoyMDA5LTExLTE3IDAxOjEzOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMS0xNSAyMTo0NjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgaW4gdGVtcGxhdGUtY2FwcywgRml4ZXMgIzYwMTc3NQoJICBSZXZlcnQgdGhlIGNoYW5nZXMgdGhhdCBhZGRlZCBhdWRpbyBwb3NpdGlvbnMgdG8gdGVtcGxhdGUgY2Fwcy4gV2UgaGF2ZSBhbiB1bi0KCSAgZm9ydHVuYXRlIGxpbWl0YXRpb24gaW4gY29yZSB0aGF0IGRvZXMgbm90IGFsbG93IHRvIGRvIGl0LiBLZWVwIGEgZmV3IHRoaW5ncwoJICBjb21tZW50ZWQgb3V0LCBzbyB0aGF0IHRoZSBjaGFubmVsIHBvc2l0aW9uIGNhbiBsYXRlciBvbiBiZSBzZXQgaW4gc2V0Y2Fwcy4KCjIwMDktMTEtMTMgMDI6MTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8va3kucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zdi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjMgcHJlLXJlbGVhc2UKCjIwMDktMTEtMTEgMTA6NTg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IFBvcnQgdG8gMC43IEFQSQoJICBGaXhlcyBidWcgIzYwMDcyNC4KCjIwMDktMTEtMTEgMTA6NTQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IE1ha2UgY2VsdCB2ZXJzaW9uIGNoZWNrcyBiZXR0ZXIgZXh0ZW5zaWJsZQoKMjAwOS0xMS0wOSAxOToyMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMS0wOSAxOTowODo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogRGlzYWJsZSBhaWZmIG11eGVyIGZvciB0aGlzIHJlbGVhc2UuCgkgIFRoZSBhaWZmIG11eGVyIHJlbGllcyBvbiBHc3RCeXRlV3JpdGVyIEFQSSBhZGRlZCBhZnRlciAwLjEwLjI1LiBEaXNhYmxlCgkgIGl0IGZvciB0aGlzIHJlbGVhc2UuCgkgIFJldmVydCB0aGlzIGNvbW1pdCBhZnRlciBnc3QtcGx1Z2lucy1iYWQgMC4xMC4xNwoKMjAwOS0xMS0wOSAxNDoxMDoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSAgYXNmbXV4OiBVbmNvbW1lbnQgLS1kaXNhYmxlLXN0YXRpYyBmbGFnCgkgIEZvciBzb21lIHJlYXNvbiB0aGF0IGxpYnRvb2wgZmxhZ3MgbGluZSB0aGF0IHByZXZlbnRzIGJ1aWxkaW5nCgkgIHRoZSBzdGF0aWMgbGliIHdhcyBjb21tZW50ZWQgb3V0LiBSZXBvcnRlZCBieSBNYXJ0IFJhdWRzZXBwIG9uIElSQy4KCjIwMDktMTEtMDkgMTE6NDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzIGFuZCBmaXggYSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGRmZDUxYWE4MmE5ZTFjOTkyNDM3NTE4Mzc5NmVhYjcwZTU3NGEyMzEuCgoyMDA5LTExLTA5IDExOjQ4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IE1ha2Ugc3VyZSB0aGF0IHJ1bm5pbmdfdGltZS0+dGltZXN0YW1wIGNhbGN1bGF0aW9uIG5ldmVyIGJlY29tZXMgbmVnYXRpdmUKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgZjM2NTM4NTQ1ODU4NjRhMDlkMzVlMDM3ODUzNDA3MzMyZWE2OTAxZi4KCjIwMDktMTEtMDkgMTE6NDg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIHRoZSBzdGFydCB0aW1lIChpLmUuIHRpbWVzdGFtcCkgYXMgdGhlIGxhc3Qgc3RvcAoJICBVc2luZyB0aGUgZW5kIHRpbWUgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byByZXBsYWNlIGJ1ZmZlcnMsIHdoaWNoIGlzCgkgIGEgYmlnIHByb2JsZW0gZm9yIHN1YnRpdGxlcyB0aGF0IGNvdWxkIGhhdmUgdmVyeSBsb25nIGR1cmF0aW9ucy4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgMjcwMzRiZTQ2MTEyMzFjYzU1ZmEzZDNlMjUzYmFhNDBjNmJmZjQxZC4KCjIwMDktMTEtMDkgMTE6NDc6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMDktMTEtMDcgMTI6Mjk6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogRml4IGtsYXNzIChzL0RlY29kZXIvRW5jb2Rlci8pCgoyMDA5LTExLTA2IDE1OjMxOjI2ICswMTAwICBDaHJpcyBIaWxscyA8Y2hhekBjaGF6Ni5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBzdXBwb3J0IGZvciBEVkItVC9EVkItQyB3aXRoIERWQiBBUEkgMy4zCgoyMDA5LTExLTA2IDExOjQ0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVGhlIHRleHQgYW5kIHZpZGVvIGR1cmF0aW9uIHNob3VsZCBvbmx5IGNvbXBhcmVkIGFzIHJ1bm5pbmcgdGltZSB0b28KCSAgVGhlIGVuZCB0aW1lcyBvZiB0aGUgdGV4dCBhbmQgdmlkZW8gYnVmZmVycyBjb3VsZCBiZSBkaWZmZXJlbnQgdGhhbgoJICB0aGVpciBzdGFydCBydW5uaW5nIHRpbWUgKyBkdXJhdGlvbiBiZWNhdXNlIG9mIGRpZmZlcmVudCByYXRlcy4KCjIwMDktMTEtMDYgMDk6MTY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiBMb3dlciB0aWdlcidzIHJhbmsgdG8gTk9ORSBhZ2FpbgoJICBJdCdzIG5vdCB3ZWxsIHRlc3RlZCB5ZXQgYW5kIGRvZXNuJ3QgaGFuZGxlIHNlZ21lbnRzIGFuZCB0ZXh0L3ZpZGVvCgkgIHN5bmNocm9uaXphdGlvbiBwcm9wZXJseSB5ZXQuIEF1dG9wbHVnZ2luZyBpdCB3aWxsIGNhdXNlIGZhaWx1cmVzLgoKMjAwOS0xMS0wNiAwNzoxMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlc2V0IHNlZ21lbnRzIG9uIEZMVVNIX1NUT1AgZXZlbnRzCgoyMDA5LTExLTA1IDE3OjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMDktMTEtMDYgMDA6NDY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIHNvbWUgaWZzIGZvciBwcm90ZWN0aW9uCgkgIEFkZGluZyBzb21lcyBpZnMgdG8gcHJvdGVjdCBhZ2FpbnN0IHdhcm5pbmcgY29uZGl0aW9ucwoJICB0aGF0IG1pZ2h0IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVsZW1lbnQgaXMgbm90IHNhbmUKCSAgRml4ZXMgIzYwMDg5NQoKMjAwOS0xMS0wNSAxMzo0MDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHByb3Blcmx5IHVwZGF0ZSBuZXcgc2VnbWVudHMKCSAgU2NhbGV0ZW1wbyB3YXMgbWlzc2luZyBhbiB1cGRhdGUgb2YgJ3N0b3AnIGluCgkgIG5ldyBzZWdtZW50IHBhcmFtZXRlcnMgd2hlbiBwdXNoaW5nIGl0IGRvd25zdHJlYW0sCgkgIHdoaWNoIGNhdXNlZCBmaWxlcyB0byBlbmQgZWFybGllciB3aGVuIHJhdGUgPCAxLgoJICBGaXhlcyAjNTk5OTAzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBCYXN0aWFuIEhlY2h0IDxoZWNodGJAZ21haWwuY29tPgoKMjAwOS0xMS0wNSAyMzoxNzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgdGltaWRpdHk6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjI6MDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgbXl0aHR2OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjU4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo1MTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGlyZWN0ZmI6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGFsc2FzcGRpZnNpbms6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMTc6MTM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVcGRhdGUgbGFzdCBzdG9wIGZvciB0aGUgc3VidGl0bGVzCgoyMDA5LTExLTA1IDE3OjA2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogU3luY2hyb25pemUgdGV4dCBhbmQgdmlkZW8gYnkgdGFraW5nIHRoZSBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiB0aGUgc3RyZWFtIHRpbWUKCjIwMDktMTEtMDUgMTY6NDQ6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBLZWVwIHRyYWNrIG9mIHRoZSBzdWJ0aXRsZSBzZWdtZW50cwoKMjAwOS0xMS0wNSAxNjo0MTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIHRoZSB2aWRlbyBzZWdtZW50IGlzIG5vdCBpbiBUSU1FIGZvcm1hdCBkb24ndCBhY2NlcHQgaXQKCjIwMDktMTEtMDQgMjI6NTI6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZHRtZmRldGVjdDogQWRkIGR0bWZkZXRlY3RzIHRvIHBsdWdpbnMgZG9jcwoKMjAwOS0xMS0wNCAyMjoxOTo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IEFkZCBEVE1GIHRvbmUgZGV0ZWN0b3IKCSAgSXQgbG9va3MgYXQgcmF3IGF1ZGlvIGRhdGEgYW5kIGVtaXRzIG1lc3NhZ2VzIHdoZW4gRFRNRiBpcyBkZXRlY3RlZC4KCSAgVGhlIGR0bWYgZGV0ZWN0b3IgaXMgdGhlIHNhbWUgR29lcnR6ZWwgaW1wbGVtZW50YXRpb24gdXNlZCBpbiBGcmVlU3dpdGNoCgkgIGFuZCBBc3Rlcmlzay4gSXQgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCgoyMDA5LTExLTA1IDEzOjUzOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmV2ZXJ0ICJpbnB1dHNlbGVjdG9yOiB1c2UgZ2V0X2NhcHNfcmVmZmVkKCkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDllYzRmNzk2YTBlM2Y4OGE4NTE3MDg3ODJjODUzYmFmNGIwNTcyNC4KCSAgV2UgY2FuJ3QgdXNlIHRoaXMgbmV3IGZ1bmN0aW9uIHlldC4KCjIwMDktMTEtMDUgMTM6Mjk6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiB1c2UgZ2V0X2NhcHNfcmVmZmVkKCkKCjIwMDktMTEtMDUgMTM6MTc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEcm9wIHRvbyBsYXRlIHRleHQgYnVmZmVyIGltbWVkaWF0ZWx5CgkgIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGRyb3AgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBvciBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbid0IGhhbmRsZSB0aGVtLgoKMjAwOS0xMS0wNSAxMjoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IHJlc3VsdHMgaW4gYSBkZWFkbG9jayBvbiBzaHV0ZG93bgoKMjAwOS0xMS0wNCAyMjoyMTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZWplY3QgZW1wdHkgY2FwcwoKMjAwOS0xMS0wNCAyMjoyMToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBVc2UgbG9nIGxldmVsIGZvciByZXBlYXRlZCBkZWJ1ZyBtZXNzYWdlcwoKMjAwOS0xMS0wNCAyMDowNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBBbGxvdyBmb3IgYW55IHNhbXBsZXJhdGUKCjIwMDktMTEtMDQgMjM6MzI6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IHByZXZpb3VzIGNvbW1pdDogZW5zdXJlIHdlIHRha2UgYSByZWYgb24gdGhlIGZlYXR1cmVzCgoyMDA5LTExLTA0IDE1OjIxOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgcmVzaW5kdmQsYXV0b2NvbnZlcnQ6IEF2b2lkIGRlcGVuZGluZyBvbiAwLjEwLjI2IEFQSQoJICBXYWl0IHVudGlsIGFmdGVyIHRoZSBuZXh0IHJlbGVhc2UgdG8gYnVtcCB0aGUgY29yZSByZXF1aXJlbWVudC4KCSAgVW50aWwgdGhlbiwgZG9uJ3QgdXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2NvcHkgYW5kCgkgIGdzdF9wYWRfcGVlcl9nZXRfY2Fwc19yZWZlZC4KCjIwMDktMTEtMDIgMTc6MDY6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBvbGQgY29kZSBhbmQgb2Jzb2xldGUgY29tbWVudHMKCSAgUmVtb3ZlIHNvbWUgZGlzYWJsZWQgY29kZSBwYXRocyBhbmQgb2Jzb2xldGUgRklYTUUgY29tbWVudHMKCjIwMDktMTAtMTQgMTU6NDc6MjcgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRkZWMgOiBjaGFpbl9wYXJzZV9kYXRhIDogY2hlY2sgdmFsaWRpdHkgb2YgdGltZXN0YW1wLCBjcmVhdGUgYSBuZXcgb25lIGlmIG5lZWRlZCBjZWx0ZW5jIDogZGVmYXVsdCBmcmFtZXNpemUgaXMgNDgwICAgICAgICAgICBzZXRjYXBzIDogZ2V0cyBmcmFtZXNpemUgYW5kIHNldCBjYXBzICAgICAgICAgICBlbmNfY2hhaW4gOiBzZXRzIGZyYW1lc2l6ZSBpbiBjYXBzICAgICAgICAgICBBZGRlZCBmcmFtZS1zaXplIHRvIHN0YXRpYyBjYXBzIG9mIGF1ZGlvL3gtY2VsdCAgICAgICAgICAgUmVwbGFjZWQgR1NUX0RFQlVHX09CSkVDVCBieSBHU1RfTE9HX09CSkVDVCBpbiBlbmNfY2hhaW4gICAgICAgICAgIHNldGNhcHM6IGdldCBmcmFtZS1zaXplIGZyb20gaW50IGluc3RlYWQgb2Ygc3RyaW5nICAgICAgICAgICBzZXRjYXBzOiB1c2UgZGVmYXVsdCB2YWx1ZSBmb3IgZnJhbWUtc2l6ZQoKMjAwOS0xMS0wNCAxNzoxMzozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IEZpeCBwb2ludGVyLWRpZmZlcmVuY2VzIHByaW50b3V0CgkgIFRoZXJlIGlzIHVuZm9ydHVuYXRlbHkgbm8gR18qX0ZPUk1BVCBjb252ZXJzaW9uIHNwZWNpZmllciBmb3IgZGlmZmVyZW5jZXMgb2YKCSAgcG9pbnRlcnMgaW4gZ2xpYiwgYW5kIHdlIGNhbid0IHJlbHkgZWl0aGVyIG9uIGFsbCBwbGF0Zm9ybXMgYmVpbmcgNjRiaXQuCgkgIFNvIGxldCdzIGp1c3QgY2FzdCB0aGUgZGlmZmVyZW5jZSB0byBhIGdpbnQgYW5kIGJlIGRvbmUgd2l0aCBpdC4KCjIwMDktMTEtMDQgMTM6NTU6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogRG9uJ3QgY3JlYXRlIGJhY2t1cCAucG8gZmlsZXMKCSAgQXMgd2VsbCBhcyBwcmV2ZW50aW5nIGNyZWF0aW9uIG9mIHVzZWxlc3MgYmFja3VwIGZpbGVzLCBpdCB3b3JrcwoJICBhcm91bmQgYSBidWcgaW4gZ2V0dGV4dCAwLjE3IG9uIE9TL1gKCjIwMDktMTEtMDQgMTU6NTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgIGNkYXVkaW86IGZpeCBwcm9wZXJ0aWVzCgkgIEZpeCBwcm9wZXJ0aWVzIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBkZXZpY2UgcHJvcGVydHkuCgoyMDA5LTExLTA0IDEzOjExOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUmV0dXJuIFdST05HX1NUQVRFIGZyb20gdGhlIHN1YnRpdGxlIGNoYWluIHdoZW4gZmx1c2hpbmcKCjIwMDktMTEtMDQgMTM6MDc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVbmxvY2sgYW5kIGZyZWUgYW55IHBlbmRpbmcgc3VidGl0bGUgYnVmZmVycyBvbiBGTFVTSF9TVEFSVAoKMjAwOS0xMS0wNCAxMjo1MDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFN5bmNocm9uaXplIHN1YnRpdGxlIGJ1ZmZlcnMgd2l0aCB0aGUgdmlkZW8KCSAgRml4ZXMgYnVnICM2MDA2NjIuCgoyMDA5LTExLTA0IDAwOjIxOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBhbHNvIGFkZCBpbmxpbmUgdG8gdGhlIHByb3RvIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTEtMDQgMDA6MTk6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogaW5jbHVkZSBxdWFsaXR5IGFuZCBjaGVjayBjb3VudCwgZml4ZXMgIzYwMDQ2MQoJICBXZSByZXBvcnQgdGhlIHJlbGF0aXZlIHF1YWxpdHkgaW4gdGhlIG1lc3NhZ2UgYW5kIHdlIGFsc28gdXNlIHRoZSBjYWNoZSB0byBza2lwCgkgIGVhcmx5IGRldGVjdHMgYW5kIGRvdWJsZXMuCgoyMDA5LTExLTAzIDE4OjE0OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgZ3N0OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgcmVzdWx0aW5nIHVudXNlZCB2YXJpYWJsZXMKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgOGNkMWI1MjA5YjY4OTQ0ZTFiZTU2Y2E4YmI2OWU0NmQ0YWJiN2EzNC4KCjIwMDktMTEtMDMgMTg6MTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIHRoZSBzYW1lIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24gYXMgaW4gZ3N0LXBsdWdpbnMtYmFzZQoKMjAwOS0xMS0wMyAxODoxMToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZW1vdmUgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgdGhleSdyZSBwb2ludGxlc3MKCSAgVGhlcmUncyBub3QgbXVjaCBwb2ludCBpbiB1c2luZyBHU1RfREVCVUdfRlVOQ1BUUiB3aXRoIEdPYmplY3QKCSAgdmlydHVhbCBmdW5jdGlvbnMgc3VjaCBhcyBnZXRfcHJvcGVydHksIHNldF9wcm9wZXJ5LCBmaW5hbGl6ZSBhbmQKCSAgZGlzcG9zZSwgc2luY2UgdGhleSdsbCBuZXZlciBiZSB1c2VkIGJ5IGFueW9uZSBhbnl3YXkuIFNhdmVzIGEKCSAgZmV3IGJ5dGVzIGFuZCBwb3NzaWJseSBhIHNpeHRlZW50aCBvZiBhIHBvbGFyIGJlYXIuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDZmNGMxYWM1ODM0MWVlMTg5MjI1ZDMxM2RkZmU5YWUyNGE2NWM4OGMuCgoyMDA5LTExLTAzIDE4OjA5OjU1ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJlbW92ZSBSb25hbGQgQnVsdGplIGZyb20gQXV0aG9ycyBmaWVsZAoJICBSZXBsYWNlZCB3aXRoICJHU3RyZWFtZXIgbWFpbnRhaW5lcnMKCSAgPGdzdHJlYW1lci1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IiBvciBqdXN0IHJlbW92ZWQsCgkgIGRlcGVuZGluZyBvbiB0aGUgbnVtYmVyIG9mIG90aGVyIGF1dGhvcnMuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDBlOWJjNTEyNWFjYTU0NmQ3NzNlZDEwMDJkZjU3M2RkOGUyZGMxMzYuCgoyMDA5LTExLTAzIDE4OjA4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3Rvcjogc2V0IG91dHB1dCBjYXBzIGJlZm9yZSBwdXNoaW5nCgkgIFNldCB0aGUgb3V0cHV0IGNhcHMgb24gdGhlIHNyY3BhZCBiZWZvcmUgcHVzaGluZyB0aGUgYnVmZmVyIGJlY2F1c2UgZWxzZSBjb3JlCgkgIHdpbGwgZG8gYSByYXRoZXIgZXhwZW5zaXZlIGNoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gYWN0dWFsbHkgYWNjZXB0IHRob3NlIGNhcHMgb24KCSAgdGhlIHNyY3BhZC4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgYmRmYjRiNDZkNzQ2ZWYyOThmY2Y0NDI2MDg3OWMzNDJhZjRjYWZhMy4KCjIwMDktMTEtMDMgMTg6MDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBpbnN0YWxsIGFuIGFjY2VwdGNhcHMgZnVuY3Rpb24KCSAgSW5zdGFsbCBhIGN1c3RvbSBhY2NlcHRjYXBzIGZ1bmN0aW9uIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgZXhwZW5zaXZlCgkgIGNoZWNrLiBXZSBhY2NlcHQgd2hhdGV2ZXIgZG93bnN0cmVhbSBhY2NlcHRzIHNvIHdlIHBhc3MgYWxvbmcgdGhlIGFjY2VwdGNhcHMKCSAgY2FsbCB0byB0aGUgZG93bnN0cmVhbSBwZWVyLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA1YjcyZjJhZGY5OTY3MzkwMzZlOGQ5YjVmOTEwMDU0NTVkMWZmYWNlLgoKMjAwOS0xMS0wMyAxNTowODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IE1ha2Ugc3VyZSB0aGF0IHRpZ2VyIGlzIG5vdCBhdXRvcGx1Z2dlZCBieSBkZWNvZGViaW4yCgkgIEl0J3Mgbm90IHJlYWxseSBhIGRlY29kZXIuLi4KCjIwMDktMTEtMDMgMTQ6NTA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiBDaGFuZ2UgcmFua3Mgb2Yga2F0ZWRlYyBhbmQgdGlnZXIgdG8gUFJJTUFSWSB0byBiZSBhdXRvcGx1Z2dlZAoKMjAwOS0xMS0wMyAxNDo0OTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IENoYW5nZSBuYW1lIG9mIHRoZSBzdWJ0aXRsZSBzaW5rIHRlbXBsYXRlIGFuZCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgc3VidGl0bGVvdmVybGF5IGNhbiB3b3JrIHdpdGggdGlnZXIuCgoyMDA5LTExLTAyIDExOjMzOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgcmVzaW5kdmQ6IFRha2UgYSBjb3B5IG9mIHRoZSBwYXNzZWQgcGx1Z2luIGZlYXR1cmVzCgkgIENsYXJpZnkgdGhlIG93bmVyc2hpcCBvZiB0aGUgaW50ZXJuYWwgcGx1Z2luIGZlYXR1cmUgbGlzdCBieSBtYWtpbmcKCSAgYSBjb3B5IG9mIGFueSBwYXNzZWQgbGlzdC4gQXZvaWRzIGNyYXNoZXMgd2hlbiBmcmVlaW5nIGEgcGFzc2VkIGxpc3QsCgkgIG9yIGxlYWtzIGNhdXNlZCBieSBub3QgZnJlZWluZyBhbnkgaW50ZXJuYWxseSBidWlsdCBsaXN0LgoKMjAwOS0xMS0wMiAxMDoyMDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhbiBvdmVyc2lnaHQgZnJvbSB1cGRhdGluZyB0aGUgY29weSBvZiBiYXNlc3JjCgkgIFBsdWdpbnMgbmVlZCBnc3QtaTE4bi1wbHVnaW4uaCwgbm90IGdzdC1pMThuLWxpYi5oCgoyMDA5LTExLTAxIDE1OjU2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogcmVtb3ZlIHBvaW50bGVzcyBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKQoKMjAwOS0xMS0wMSAyMzoxNzowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBVc2UgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkKCSAgV2hlbiBzd2l0Y2hpbmcgdG8gYSBuZXcgc2VhbWxlc3Mgc2VnbWVudCwgdXNlIHRoZSBuZXcKCSAgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkgZnVuY3Rpb24sIGJlY2F1c2UgZWxlbWVudHMgY2FuJ3QKCSAgc2VuZCB0aGVtc2VsdmVzIHNlZWsgZXZlbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA5LTExLTAxIDIzOjE2OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICByZXNpbmR2ZDogQWRkIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpIHRvIEdzdEJhc2VTcmMgY29weQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGludGVybmFsIGNvcHkgb2YgR3N0QmFzZVNyYyBmb3Igc3RhcnRpbmcgYSBuZXcKCSAgc2VhbWxlc3Mgc2VnbWVudC4KCjIwMDktMTEtMDEgMTk6MjE6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5oOgoJICByZXNpbmR2ZDogVXBkYXRlIHRoZSBiYXNlIHNvdXJjZSBjb3B5CgkgIFRoaXMgYnJlYWtzIHNlYW1sZXNzIHNlZ21lbnQgdXBkYXRlcywgY2F1c2luZyBkZWFkbG9ja3MsCgkgIHRvIGJlIGZpeGVkIGluIHN1YnNlcXVlbnQgY29tbWl0cy4KCjIwMDktMTEtMDIgMDI6NDg6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEZpeCBQR1Mgd2luZG93IHBhcnNpbmcKCSAgRml4IGEgcHJvYmxlbSBpbnRyb2R1Y2VkIGluIHRoZSBsYXN0IFBHUyBwYXJzaW5nIHBhdGNoIGJ5IHNraXBwaW5nCgkgIHRoZSB3aW5kb3cgY291bnQgYnl0ZSBhZnRlciByZWFkaW5nIGl0LgoKMjAwOS0xMS0wMSAyMDo0Mjo0NCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmOiBmaXggYWlmZnBhcnNlIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIG5hbWUKCSAgRml4ZXMgbWlzc2luZyBzeW1ib2wgd2hlbiBjb21waWxpbmcgd2l0aCBkZWJ1Z2dpbmcsIHNpbmNlIHRoaXMgaXMgbm93IGluIHN5bmMKCSAgd2l0aCB0aGUgcGx1Z2luX2luaXQgaW4gYWlmZi5jLgoKMjAwOS0xMS0wMSAyMDo0MTowMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogaW5pdCBwbHVnaW4gZGVidWcgY2F0ZWdvcnkKCSAgRml4ZXMgYXNzZXJ0aW9uIChvciB1bnVzZWQgdmFyaWFibGUgd2FybmluZyB3aXRoIERJU0FCTEVfTkxTKS4KCjIwMDktMTAtMzEgMTk6NDI6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGFkZCBhaWZmIGVsZW1lbnRzIHRvIGRvY3MKCjIwMDktMTAtMzEgMTk6Mzc6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogZ3JhdHVpdGlvdXMgY2xlYW4tdXBzOiBjYW5vbmljYWxpc2UgZnVuY3Rpb24gbmFtZXMsIHN0cnVjdHMgYW5kIGRlZmluZXMKCjIwMDktMTAtMzEgMTc6NTA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGVuYWJsZSBuZXcgYWlmZiBtdXhlcgoJICBGaXhlcyAjNTk4NzYzIGV2ZW4gbW9yZS4KCjIwMDktMTAtMTcgMjI6NTg6MDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJICBhaWZmOiBhZGQgYmFzaWMgQUlGRiBtdXhlcgoJICBGaXhlcyAjNTk4NzYzLgoKMjAwOS0xMC0zMSAxNzoyNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiByZW1vdmUgdW51c2VkIGluY2x1ZGVzIGFuZCBmaXggZmxhZ3Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCSAgQWxzbyByZW1vdmUgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGZyb20gTElCQUREIHNpbmNlIHdlIGRvbid0CgkgIG5lZWQgdG8gbGluayBhZ2FpbnN0IGFueSBvZiB0aGUgLWJhc2UgbGlicyAod2UganVzdCB1c2UgYSBkZWZpbmUKCSAgZnJvbSB0aGUgZ3N0YXVkaW8gaGVhZGVycykuCgoyMDA5LTEwLTMxIDE3OjIwOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBhaWZmOiByZW5hbWUgJ2FpZmZwYXJzZScgcGx1Z2luIHRvICdhaWZmJwoKMjAwOS0xMC0wOCAxOTowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZm11eCBsb2NraW5nCgoyMDA5LTA5LTI4IDE5OjU0OjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0IGZvciBydHBtdXgKCjIwMDktMDktMjggMTM6MzY6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgaWdub3JlIHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAwOS0xMC0yOSAxNjo0MjozNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBHU1RfUExVR0lOU19CQVNFX3tDRkxBR1MsTElCU30gZm9yIGNhbWVyYWJpbiB0ZXN0cy4KCjIwMDktMTAtMjkgMTY6MzQ6MjMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLm06CgkgIG9zeHZpZGVvc3JjOiBjaGFuZ2UgYSAubSBmaWxlIGNvbnRhaW5pbmcgb25seSBDIGNvZGUgdG8gYSAuYyBmaWxlLiBNYWtlcyBidWlsZGluZyB0aGlzIGVhc2llci4KCjIwMDktMTAtMjcgMjI6MDg6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHNlbmQgbmV3LXNlZ21lbnQgd2l0aCBzdGFydCB0aW1lID09IC0xCgkgIFdoZW4gc2VuZGluZyBuZXctc2VnbWVudCB0byBhIHN0cmVhbSwgZW5zdXJlIHRoYXQgdGhlcmUgaXMgZWl0aGVyIGEgdmFsaWQKCSAgUENSLCBvciBlbHNlIHdhaXQgdW50aWwgdGhlcmUncyBhIFBUUyBvbiB0aGUgc3RyZWFtIChkcm9wcGluZyBwYWNrZXRzIGlmCgkgIG5lZWRlZCkgaW4gb3JkZXIgdG8gYXZvaWQgZ2VuZXJhdGluZyBhbiBpbnZsYWlkIG5ldy1zZWdtZW50cyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTE2MQoKMjAwOS0xMC0yOCAxNjoyMjoxMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVzZSByYXcgYXVkaW8vdmlkZW8gaW4gdW5pdCB0ZXN0cwoJICBSZW1vdmVzIGRlcGVuZGVuY3kgdG8gb2dnL3ZvcmJpcy90aGVvcmEgd2hlbiBydW5uaW5nIGNhbWVyYWJpbgoJICB1bml0IHRlc3RzLgoKMjAwOS0xMC0yOCAxNzozNzo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrCgoyMDA5LTEwLTI3IDE0OjMxOjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogZ2xpYiBkb2Vzbid0IHJlbGlhYmx5IG51bGwtdGVybWluYXRlIHdpZGUtY2hhcmFjdGVyIGVuY29kaW5ncyBpbiBnX2NvbnZlcnQsIHNvIHdyaXRlIHRoZSBudWxsLXRlcm1pbmF0b3Igc2VwYXJhdGVseSBhbmQgZXhwbGljaXRseS4KCjIwMDktMTAtMTggMTQ6MjA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogZml4IHBhZCBkaXJlY3Rpb24gZm9yIHVuZ3JvdXBlZCBwb3J0cwoJICBDbGFzc2ljIGNvcHknbidwYXN0ZSBidWcuCgoyMDA5LTEwLTI3IDE2OjM3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZml4IHRhZyB3cml0aW5nIGJ1ZwoJICBnX2NvbnZlcnQgc2VlbXMgdG8gYWRkIGEgc2luZ2xlIG51bGwgdGVybWluYXRpbmcgYnl0ZSB0bwoJICB0aGUgZW5kIG9mIHRoZSBzdHJpbmcsIGV2ZW4gd2hlbiB0aGUgb3V0cHV0IGlzIFVURjE2LCB3ZQoJICBmb3JjZSB0aGUgc2Vjb25kIDAgYnl0ZSB3aGVuIGNvcHlpbmcgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgaXNzdWUgd2FzIGNhdXNpbmcgcmFuZG9tIGNyYXNoZXMgYmVjYXVzZSBpdCB3YXMKCSAgYXNzdW1lZCB0aGF0IHRoZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gZ19jb252ZXJ0IGhhZAoJICAyIGV4dHJhIGJ5dGVzLCBidXQgaXQgaGFzIG9ubHkgb25lLgoKMjAwOS0xMC0yNyAxMTo1MTowNSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIFJlbW92ZSBleGVjdXRhYmxlIGJpdHMgZnJvbSBub24tZXhlY3V0YWJsZSBmaWxlcy4KCjIwMDktMTAtMjcgMDA6MjI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBleHRyYSBuZXctc2VnbWVudCBpbiByc25zdHJlYW1zZWxlY3Rvci4gU2VuZCBkaXNjb250LgoJICBBbGwgdGhlIGlucHV0IHBhZHMgZm9yIHRoZSByZXNpbiBzdHJlYW0gc2VsZWN0b3JzIGhhdmUgdGhlIHNhbWUgc291cmNlLAoJICBhbmQgcmVjZWl2ZS9zZW5kIHRoZSBzYW1lIHNlZ21lbnQgaW5mbywgc28gdGhlcmUncyBubyBuZWVkIHRvIHNlbmQgYQoJICBzZWdtZW50IHdoZW4gc3dpdGNoaW5nIGFuZCBhY3RpdmF0aW5nIGEgZGlmZmVyZW50IHBhZC4gUmVtb3ZpbmcgaXQgbWFrZXMKCSAgb24tdGhlLWZseSBhdWRpbyB0cmFjayBzd2l0Y2hpbmcgd29yayBwcm9wZXJseS4KCSAgQWZ0ZXIgc3dpdGNoaW5nIGF1ZGlvIHRyYWNrLCBtYXJrIHRoZSBuZXh0IGJ1ZmZlciBkaXNjb250LgoKMjAwOS0xMC0yNiAyMDo1NToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBdm9pZCBhIGRlYWRsb2NrLiBJbXByb3ZlIGNoYXB0ZXIgc2Vlay4KCSAgQXZvaWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgdGhhdCBoYXBwZW5zIHdoZW4gYSBjYWxsIHRvCgkgIGdzdF9jbG9ja19pZF93YWl0X2FzeW5jKCkgaW1tZWRpYXRlbHkgY2FsbHMgdGhlIGNhbGxiYWNrLgoJICBJbXByb3ZlIHByZXZpb3VzIGNoYXB0ZXIgc2Vla2luZyBzbGlnaHRseSBieSBhdm9pZGluZyAnc2VnbWVudAoJICBzdGFydCAhPSAtMScgYXNzZXJ0aW9ucyB3aGVuIHRoZXJlIGlzIG5vIHByZXZpb3VzIGNoYXB0ZXIgYW5kCgkgIHRoZSBzZWVrIHRoZXJlZm9yZSBmYWlscy4KCjIwMDktMTAtMjYgMTI6MTk6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByZXNpbmR2ZDogbG93ZXIgYSBkZWJ1ZyBtZXNzYWdlIHRvIGxvZyBsZXZlbC4KCjIwMDktMTAtMjYgMTE6MDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIGEga2V5cHJlc3MgbWFwcGluZyBmb3Igc3dpdGNoaW5nIGF1ZGlvIHRyYWNrCgkgIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsIG1ha2Uga2V5cyAxLTggc3dpdGNoIGF1ZGlvIHRyYWNrLgoKMjAwOS0xMC0yNCAxMjo1NDoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgYSBzaW1wbGUgdW5pdCB0ZXN0CgkgIFNldCB1cCBhbiBhdXRvY29udmVydCB3aXRoIDIgZmFjdG9yaWVzLCBhbmQgY2hlY2sgdGhhdCBpdCBjYW4gc3dpdGNoCgkgIGJldHdlZW4gdGhlbSB3aGVuIHRoZSBjYXBzIGNoYW5nZS4KCjIwMDktMTAtMjQgMTQ6Mjk6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IFNldCB0aGUgbmV3IGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgb24gYXV0b2NvbnZlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNCAxMjozODoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogU3VwcG9ydCBpbnN0YWxsaW5nIGlkZW50aXR5IGFzIHRoZSBpbml0aWFsIGNoaWxkCgkgIEFkZCB0aGUgJ2luaXRpYWwtaWRlbnRpdHknIHByb3BlcnR5LCB3aGljaCBpbnNlcnRzIGlkZW50aXR5IGZvcgoJICBhdCBzdGFydHVwIGZvciBldmVudCBwYXNzaW5nLCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIG5ldyBjaGlsZAoJICB3aGVuIHRoZSBmaXJzdCBidWZmZXIgKGFuZCBjYXBzKSBhY3R1YWxseSBhcnJpdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI0IDExOjE4OjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBDYWNoZSBpbmNvbWluZyBuZXcgc2VnbWVudCBldmVudHMgYW5kIHB1c2ggdG8gY2hpbGRyZW4uCgkgIENhY2hlIGluY29taW5nIG5ldy1zZWdtZW50IGluZm8uCgkgIFdoZW4gaW5zdGFsbGluZyBhIGNoaWxkIGVsZW1lbnQsIGluZm9ybSBpdCBvZiB0aGUgY3VycmVudCBzZWdtZW50IGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjYgMDA6NDE6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIHNvbWUgZGVidWcgaW4gZmFjdG9yeSBjYXBzIGludGVyc2VjdGlvbgoKMjAwOS0xMC0yNCAxMTowNTo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBTaW1wbGUgZml4ZXMuCgkgIEZyZWUgdGhlIHBsdWdpbiBmZWF0dXJlIGxpc3Qgb24gZGlzcG9zZS4KCSAgT3V0cHV0IGEgZGVidWcgbWVzc2FnZSB3aGVuIGRvd25zdHJlYW0gcmV0dXJucyBhIGZhdGFsIGZsb3cgcmVzdWx0CgkgIEZpeCBhd2t3YXJkIHdvcmRpbmcgaW4gYSBkZWJ1ZyB3YXJuaW5nLgoKMjAwOS0xMC0yNCAxMDoyNzowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBHcmF0dWl0b3VzbHkgbW92ZSBHU1RfT0JKRUNUX0xPQ0sgaW50byBhIG1hY3JvCgkgIENyZWF0ZSBHU1RfQVVUT0NPTlZFUlRfTE9DSy9VTkxPQ0sgbWFjcm9zIHRoYXQgKGZvciBub3cpIGp1c3QgY2FsbAoJICBHU1RfT0JKRUNUX0xPQ0suCgoyMDA5LTEwLTE1IDEzOjMyOjMyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgZGVmaW5pdGlvbnMgZm9yIGRlZmF1bHQgdmFsdWVzCgkgIE1ha2VzIGNoYW5naW5nIHRoZSBkZWZhdWx0cyBlYXNpZXIgYW5kIG1vcmUgZm9vbC1wcm9vZiBpbiB0aGUgZnV0dXJlLgoJICBGaXhlcyAjNTk4NTUyCgoyMDA5LTEwLTE1IDEzOjE3OjQ2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBDaGFuZ2UgZGVmYXVsdCBBQUMgUHJvZmlsZSB0byBMb3cgQ29tcGxleGl0eSAoTEMpIGFzIHRoaXMgaXMgbW9yZSB3aWRlbHkgc3VwcG9ydGVkCgoyMDA5LTEwLTE1IDEzOjE1OjQwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBDaGFuZ2UgdGhlIHBhcmFtX3NwZWMgZGVmYXVsdCB2YWx1ZSBmb3IgYWxsb3dlZCBibG9jayB0eXBlcyB0byBtYXRjaCB0aGUgZ3N0X2ZhYWNfaW5pdCB2YWx1ZSBvZiAnbm9ybWFsJyBhcyB0aGlzIGlzIGJldHRlcgoKMjAwOS0xMC0yMCAxMDo1NzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoZWNrIHdpZHRoL2hlaWdodCByYW5nZQoJICBDaGVja3MgaWYgdGhlIHdpZHRoL2hlaWdodCB0aGF0IGFyZSB0byBiZSBzZXQgb24gc3JjIHBhZCBjYXBzCgkgIGFyZSB3aXRoaW4gdmFsaWQgcmFuZ2Ugb2YgWzE2LDQwOTZdCgoyMDA5LTEwLTE2IDEwOjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgIGdwcG11eDogQWRkIHN1cHBvcnQgZm9yIDNncjYKCSAgS2VlcCB0cmFjayBvZiB0aGUgY2h1bmsgZHVyYXRpb25zIHRvIGJlIGFibGUgdG8gYWRkIDNncjYKCSAgYnJhbmQgaWYgaXQgaXMgYSBmYXN0c3RhcnQgZmlsZSBhbmQgdGhlIGxvbmdlc3QgY2h1bmsgaXMKCSAgc21hbGxlciB0aGFuIGEgc2VjLiBJbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8gM2dwcAoJICBUUyAyNi4yNDQgdjYuNC4wICgyMDA1LTA5KQoJICBGaXhlcyAjNTg0MzYxCgoyMDA5LTEwLTE1IDIxOjExOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBwdXNoIGZ0eXAgbGF0ZXIgKGluIGZhc3RzdGFydCBtb2RlKQoJICBJbiBmYXN0c3RhcnQgbW9kZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIHRoZSBmdHlwCgkgIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbS4gV2FpdGluZyBhbmQgc2VuZGluZyBpdAoJICBvbmx5IGxhdGVyICh3aGVuIHRoZSBtb292IGF0b20gaXMgcmVhZHkgdG8gYmUgc2VudCkgcHJvdmlkZXMKCSAgdXMgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0gYW5kIHdlIGNhbiBiZXR0ZXIKCSAgc2VsZWN0IHRoZSBjb21wYXRpYmxlIGJyYW5kcy4KCjIwMDktMTAtMTUgMTc6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QgZ2V0IG9yIGVzdGltYXRlIHRoZQoJICB0aW1lc3RhbXAvZHVyYXRpb24gb2YgYSBidWZmZXIKCjIwMDktMTAtMjYgMDA6NDI6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IENvbW1pdCBidW1wZWQgdmVyc2lvbiBudW1iZXIKCjIwMDktMTAtMjQgMTY6MzE6MjYgLTA0MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluOiBmaXggYnVpbGQKCjIwMDktMTAtMTkgMTU6NTQ6MjkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZm9yIGdzdHJlYW1lciBjb3JlIHVuaXQgdGVzdCBmcmFtZXdvcmsgdXBkYXRlCgkgIFNldCBjYW1lcmFiaW4gc3RhdGUgdG8gTlVMTCBpbiB0aGUgZWFjaCB0ZXN0IGNhc2UgZW5kLgoKMjAwOS0xMC0xOSAxNDo1NDo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBhYmJyZXZpYXRpb25zIGZyb20gdGhlIHByb3BlcnR5IG5hbWVzLiBGaXhlcyAjNTczMzcwIChwYXJ0aWFseSkKCSAgQWxzbyByZW5hbWUgdGhlaXIgdXNlIGluIHRlc3RzIGFuZCBleGFtcGxlcy4KCjIwMDktMTAtMTYgMTE6NTA6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgZ3N0LWdsaWItZ2VuLm1hayB0byBmaXggdGhlIGdsaWIgYnVpbGQgcnVsZXMuCgkgIFRoZSBidWlsZCBydWxlcyBpbiBnbGliLWdlbi5tYWsgd2VyZSB1c2luZyBwYXR0ZXJuIHJ1bGVzIGluIGEgbm9uIHNhdmUgd2F5LgoKMjAwOS0xMC0xNiAxMToyMTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgbW9yZQoKMjAwOS0xMC0xNSAxNzo0NTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHNldCBjYW1lcmFiaW4gdG8gUkVBRFkgYmVmb3JlIGFjY2Vzc2luZyB0aGUgZWxlbWVudHMKCjIwMDktMTAtMTQgMTc6NDI6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogdXNlIEdfRElSX1NFUEFSQVRPUl9TIGluc3RlYWQgb2YgaGFyZGNvZGVkIHNsYXNoZXMKCjIwMDktMTAtMTUgMTc6MTc6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjbGVhbnVwcwoJICBBbGlnbiBlbGVtZW50IGluaXRpYWxpc2F0aW9uLiBUaGlzIHNob3VsZCBiZSByZS10aG91Z2h0LCBnX29iamVjdF9uZXcgemVyb3MgdGhpbmdzIGFscmVhZHkuCgkgIEhhcm1vbml6ZSB0aGUgZWxlbWVudCBnZXR0ZXJzIGZvciB0aGUgc3JjL3NpbmtzIHRvIHJldHVybiB3aGF0IHdlIGFjdHVhbHkgdXNlLgoKMjAwOS0xMC0xNSAxNjo0MToxMiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGltcGxlbWVudCB2aWRlbyBwcmV2aWV3IGNyZWF0aW9uCgkgIENvbXBsZXRlcyBwcmV2aWV3IGNyZWF0aW9uIG1lY2hhbmlzbSB0byBiZSBhYmxlIHRvIHByb3ZpZGUgYSBwcmV2aWV3CgkgIGltYWdlIGZvciB2aWRlbyBjbGlwcyB0b28uCgoyMDA5LTEwLTE1IDE2OjE1OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBjYW1lcmFiaW4gZGVmYXVsdCBzb3VyY2VzL3NpbmtzIGxpa2UgaW4gcGxheWJpbjIuIEZpeGVzICM1NzQ0MzQKCSAgVGhpcyB1c2VzIHNhbWUgYXBwcm9hY2ggbGlrZSBpbiBwbGF5YmluLCBuYW1lbHkgY2hlY2tpbmcgZm9yIHVzZXIgZGVmaW5lZAoJICBlbGVtZW50LCBhdXRve2F1ZGlvLHZpZGVvfXtzaW5rLHNyY30gYW5kIGZpbmFsbHkgREVGQVVMVF97QVVESU8sVklERU99e1NSQyxTSU5LfQoJICBkZWZpbmVzIGZyb20gY29uZmlnLmguCgoyMDA5LTEwLTE1IDE1OjU5OjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGRvbid0IHJlZmVyZW5jZSBmcmVlZCBwb2ludGVyIHdoZW4gYnVpbGRpbmcgcG9ydG5hbWVzCgoyMDA5LTEwLTA4IDE1OjE4OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBjb2xvciBtYXRyaXggdG8gUkdCLT5ZQ2JDciBjb252ZXJzaW9uCgoyMDA5LTEwLTA4IDE0OjMzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBjb2xvciBtYXRyaXggc2VsZWN0aW9uIHRvIGNvZ2NvbG9yc3BhY2UKCSAgRXZlbnR1YWxseSBob29rIGl0IHVwIHRvIGNhcHMgdmlhIGdzdHZpZGVvCgoyMDA5LTEwLTA4IDEzOjI0OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZzogSW1wcm92ZSBSR0I8LT5ZQ2JDciBtYXRyaXhpbmcKCSAgWUNiQ3ItPlJHQiBub3cgaGFzIGEgJ2JpdHMnIHNldHRpbmcsIHdoaWNoIGNvbnRyb2xzIHRoZSBudW1iZXIKCSAgb2YgYml0cyB1c2VkIGZvciB0aGUgbWF0cml4IGNvZWZmaWNpZW50cy4gIENob2ljZXMgYXJlIDYgb3IgOC4KCSAgNiBpcyBsb3cgcXVhbGl0eSwgYnV0IGZhc3Rlci4KCSAgUkdCLT5ZQ2JDciBub3cgd29ya3MuICBBbHdheXMgd29ya3MgaW4gOCBiaXQsIHNpbmNlIGl0J3MgdGhlIHNhbWUKCSAgc3BlZWQgYXMgNiBiaXQuCgoyMDA5LTEwLTA4IDEzOjIzOjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggQVlVViB1bnBhY2tpbmcKCjIwMDktMTAtMDcgMTY6MzA6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGhhY2tpbmcgdG8gaW1wcm92ZSBtYXRyaXggcXVhbGl0eQoKMjAwOS0xMC0yNCAyMDozMzoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBbmQgYmFjayB0byBkZXZlbG9wbWVudCB3ZSBnbwoKPT09IHJlbGVhc2UgMC4xMC4xNiA9PT0KCjIwMDktMTAtMjMgMjM6MTY6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNgoKMjAwOS0xMC0yMyAyMzoxNTozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTAtMjMgMTE6MDA6NTMgKzAzMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICBGaXggc3RhcnQvc3RvcCB0eXBvCgoyMDA5LTEwLTIzIDEwOjQ4OjI1ICswMTAwICBUaG9tYXMgR3JlZW4gPHRvbTc4OTk5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGJ1aWxkIG5lb25odHRwc3JjIHdpdGggbGlibmVvbi0yOS54CgkgIEZpeGVzICM1OTkzMzIuCgoyMDA5LTEwLTIzIDEwOjE4OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXNlIGd1aW50NjQgaW5zdGVhZCBvZiB1aW50NjRfdC4gRml4ZXMgIzU5OTM1NQoKMjAwOS0xMC0yMiAxNDowMDoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIFJldmVydCAiZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrIgoJICBnc3QtcGx1Z2lucy1iYWQgaXMgc3RpbGwgZnJvemVuIGZvciBnZW5lcmFsIGNvbW1pdHMuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmU0MTMxOTI2ZjI3MjZmZThmZWU1YzM5ZGQ5MzU3ZjE0NzY0ZDBjYi4KCjIwMDktMTAtMjIgMTQ6MjY6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjawoKMjAwOS0xMC0yMiAxMTo0MzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJICBtcGVncHNtdXg6IHNvbWUgbWlub3IgYnVpbGQgZml4ZXMKCSAgQ0xGQUdTIC0+IENGTEFHUywgYW5kIGZpeCBvcmRlciBvZiB2YXJpYWJsZXMgd2hpbGUgd2UncmUgYXQgaXQuCgoyMDA5LTEwLTIyIDAwOjUwOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFRha2UgdGhlIG9iamVjdCBsb2NrIGZld2VyIHRpbWVzCgkgIFdoZW4gc3RhcnRpbmcgdXAgYW5kIGNyZWF0aW5nIHRoZSBsaXN0IG9mIGVsZW1lbnQgZmFjdG9yaWVzLCBvbmx5CgkgIHRha2UgdGhlIG9iamVjdCBsb2NrIHR3aWNlIGluc3RlYWQgb2YgMyB0aW1lcy4KCjIwMDktMTAtMjEgMjM6MDY6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hlbiBwdXNoaW5nCgkgIFdoZW4gcHVzaGluZyBvdXQgY2FjaGVkIGV2ZW50cywgZG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2suIEF2b2lkcwoJICBkZWFkbG9ja3Mgc3RhcnRpbmcgdXAgRFZEIHBsYXliYWNrLgoKMjAwOS0xMC0yMiAxMToxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgZmFhYzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgRml4ZXMgYnVnICM1OTkyNzIuCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwOS0xMC0yMSAxNzoxNDozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZWxlYXNlIDAuMTAuMTUKCjIwMDktMTAtMjEgMTY6NTE6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTEwLTE2IDE0OjM3OjAyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogYWN0dWFsbHkgd3JpdGUgaW1hZ2UgdG8gQVBJQyB0YWcuCgoyMDA5LTEwLTE2IDEyOjMwOjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC40IHByZS1yZWxlYXNlCgoyMDA5LTEwLTE2IDExOjUzOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEluY2x1ZGUgdmRwc2luay5oIGluIHRoZSB0YXJiYWxsIHRvIGZpeCB0aGUgZGlzdC4KCjIwMDktMTAtMTYgMTE6MDg6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogVXNlIGdzdF9idWZmZXJfcmVmL3VucmVmLCBub3QgZ3N0X29iamVjdF9yZWYvdW5yZWYKCSAgcHJvcGVybHkgZml4ZXM6ICM1OTgyNzQKCjIwMDktMTAtMTYgMDE6MjY6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVXNlIGdzdF9wYWRfcGVlcl9hY2NlcHRfY2FwcyBpbnN0ZWFkIG9mIGdzdF9wYWRfc2V0X2NhcHMuCgkgIGdzdF9wYWRfc2V0X2NhcHMgb24gdGhlIGludGVybmFsIHNvdXJjZSBwYWQgYWx3YXlzIHN1Y2NlZWRzLCBiZWNhdXNlCgkgIGNhcHMgcHJvcGFnYXRlIHRvIHRoZSBwZWVyIHdpdGggYnVmZmVycywgbm90IGltbWVkaWF0ZWx5LiBVc2luZwoJICBnc3RfcGFkX3BlZXJfYWNjZXB0X2NhcHMgcHJvcGVybHkgY2hlY2tzIHdoZXRoZXIgdGhlIGFjdHVhbAoJICBzdWItZWxlbWVudCBjYW4gYWNjZXB0IGNhcHMgd2hlbiB0aGV5IGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNiAwMTowOTo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZS1zZW5kIGF1ZGlvIHN0cmVhbSBzZWxlY3Qgb24gcmUtY29uZmlndXJhdGlvbgoJICBXaGVuIHRoZSBsYXlvdXQgb2YgdGhlIGF1ZGlvIHN0cmVhbXMgY2hhbmdlcywgcmUtc2VuZCB0aGUgY3VycmVudAoJICBhdWRpbyBzdHJlYW0gc2VsZWN0aW9uIGV2ZW50LCBpbiBvcmRlciB0byB0cmlnZ2VyIHN3aXRjaGluZyB0byB0aGUKCSAgbmV3IHN0cmVhbSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNiAwMDo1MDozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYSBzbWFsbCBmbGF3IC0gaWYgYW55IGF1ZGlvIHN0cmVhbSBleGlzdHMsIHVzZSBpdAoJICBEb24ndCBjcmVhdGUgYSBkdW1teSBhdWRpbyBzdHJlYW0gaWYgb25seSBub24tQUMzIHRyYWNrcyBleGlzdC4KCjIwMDktMTAtMTYgMTA6MTY6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODVkMTUzMCB0byAwNzAyZmUxCgoyMDA5LTEwLTE1IDIzOjQ4OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4zIHByZS1yZWxlYXNlCgoyMDA5LTEwLTE0IDExOjA2OjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBGaXggZGVjb2RlciBwYWQgdGVtcGxhdGUgdG8gYWxsb3cgTFBDTQoJICBUaGUgcGFkIHRlbXBsYXRlIGluIHRoZSBuZXcgc3dpdGNoaW5nIGRlY29kZXIgaXMgdG9vIHJlc3RyaWN0aXZlLAoJICBwcmV2ZW50aW5nIHRoZSBMUENNIGRlY29kZXIgZnJvbSBiZWluZyBzZWxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNCAxMDo0MTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTNlM2NlNCB0byA4NWQxNTMwCgoyMDA5LTEwLTEzIDEzOjA1OjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogRG9uJ3QgbGVhayBhIHJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGluIHJzbmF1ZGlvbXVuZ2UKCSAgRG9uJ3QgbGVhayBhIHJlZmVyZW5jZSB0byB0aGUgcGFkIHBhcmVudCBpbiB0aGUgc2luayBwYWQgZXZlbnQgaGFuZGxlcgoJICBpbiByc25hdWRpb211bmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MjYzCgoyMDA5LTEwLTEzIDEzOjA0OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IEZpeCByZWZlcmVuY2UgbGVhayBvbiBhbGwgaW5wdXQgYnVmZmVycyBpbiAnZHZkIG1vZGUnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTgyNzQKCjIwMDktMTAtMTMgMTY6MDE6MjYgKzAyMDAgIFBldGVyIENocmlzdG9mZmVyc2VuIDxnbm9tZS1idWd6aWxsYUBwbHl0LmRrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkMjogRG9uJ3QgbGVhayBlbGVtZW50IHJlZmVyZW5jZSBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbgoJICBGaXhlcyBidWcgIzU5ODEzOS4KCjIwMDktMTAtMTIgMTQ6Mjc6NTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjIgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTIgMTI6Mjk6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4ZXMgd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTEyIDA5OjA2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBlbnN1cmUgc2VndG90YWwgaXMgYXQgbGVhc3QgMgoJICBOb3Qgb25seSBhZGp1c3QgYnVmZmVyLXRpbWUgYW5kIGF2b2lkIHNlZ3RvdGFsPTAsIGJ1dCBpbnN0ZWFkIGVuc3VyZSBzZWd0b3RhbCBpcwoJICBhdGxlYXN0IDIuIERvIHNhbWUgY2hhbmdlIG9uIGphY2tzcmMuIFdlIGNvdWxkIGFsc28gY2hlY2sgdGhlIGxhdGVuY3kgYW5kIGJ1ZmZlcgoJICB0aW1lIGNvbmZpZ3VyZWQgYnkgdGhlIGNsaWVudCBhbmQgYWRqdXN0IGJ1ZmZlci10aW1lIHNvIHRoYXQgd2UgZ2V0IHRvIHRoZSBzYW1lCgkgIG51bWJlciBvZiBzZWdtZW50cy4KCjIwMDktMTAtMTIgMDA6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogZG9uJ3QgY3Jhc2ggaW4gcmluZ2J1ZmZlciB3aXRoIFNJR0ZQRSBvbiBzbWFsbCBidWZmZXItdGltZXMKCSAgSmFjayBvdmVycmlkZXMgdXNlci1zcGVjaWZpZWQgbGF0ZW5jeS10aW1lIHdpdGggdGhlIG9uZSBpdCBnZXRzIGZyb20gamFjawoJICBpdHNlbGYuIEl0IGFsc28gbmVlZHMgdG8gYWRqdXN0IGJ1ZmZlci10aW1lIHNvbWV3aGF0IHRvIGF2b2lkIHNlZ3RvdGFsIGJlaW5nIDAKCjIwMDktMTAtMTEgMjI6MTA6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGluaXQgdmFyaWFibGVzCgkgIG1ldGFkYXRhbXV4X2V4aWZfZ2V0X2V4aWZfZnJvbV90YWcoKSBkb2VzIG5vdCBuZWNjZXNhcmlseSBpbml0IHRoZSBwYXNzZWQKCSAgdmFyaWFibGVzLgoKMjAwOS0xMC0wMyAyMTozNTowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgdGhlIHR5cGUgZGVmaW5lIGxpa2UgZXZlcnl3aGVyZSBlbHNlCgoyMDA5LTEwLTAzIDIxOjMxOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3J0OiByZWdpc3RlciBkZWJ1ZyBjYXRlZ29yeSBqdXN0IG9uY2UKCSAgUHJldmlvdXNseSB3ZSB3ZXJlIHRyeWluZyB0byByZWdpc3RlciBpdCBmb3IgZXZlcnkgc3ViY2xhc3MuCgoyMDA5LTEwLTExIDE0OjEwOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBmaXhlcyB3YXJuaW5ncyBvbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDE0OjAyOjI2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvZWRpbmdlcjogZml4IHdhcm5pbmdzIG9uIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NTY6NDMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkgIG1ldGFkYXRhOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo1MTo1OCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBmaXhlcyB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NDY6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6MTM6NTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjA3OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTI6NTY6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjM1OjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6Mjc6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFtcnBhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToyMjoxMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjE0OjE2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0wOSAxMzoxODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBhc3NyZW5kZXIvZHZkc3B1OiBJbmNyZWFzZSByYW5rcyB0byBQUklNQVJZCgoyMDA5LTEwLTA5IDA5OjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogSW5jbHVkZSBTdWJQaWN0dXJlIGluIHRoZSBjbGFzc2lmaWNhdGlvbgoKMjAwOS0xMC0wOSAwOToxODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2UgY2xhc3NpZmljYXRpb24gYSBiaXQgbW9yZSBhY2N1cmF0ZQoJICBDaGFuZ2UgZnJvbSAiRmlsdGVyL0VmZmVjdC9WaWRlbyIgdG8gIk1peGVyL1ZpZGVvL092ZXJsYXkvU3VidGl0bGUiCgoyMDA5LTEwLTA4IDE5OjUxOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IGFkZCB1bml0IHRlc3QKCjIwMDktMTAtMDggMTE6MDA6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTlmYTRmMyB0byBhM2UzY2U0CgoyMDA5LTEwLTA3IDE2OjI5OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hybzogcmVtb3ZlIHVudXNlZCBpbmNsdWRlIG9mIGxpYm9pbC5oCgoyMDA5LTEwLTA3IDE1OjQzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGNvcHkgdHJhaWxpbmcgTlVMTCBvZiBzdHJpbmdzIGluIHhtcCBtZXRhZGF0YQoJICBBbHNvIHVzZWluZyBnX3N0cmR1cCwgZml4ZXMgdGhlIG1hbGxvYyA8LT4gZ19mcmVlIG1pc21hdGNoLgoKMjAwOS0xMC0wNyAxNToyNjoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBidWlsZDogZnByaW50Ziwgc3ByaW50Ziwgc3NjYW5mIG5lZWQgc3RkaW8uaAoKMjAwOS0wOS0xOCAxODo0NTowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWltaWMuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBtaW1pYyBlbGVtZW50cwoKMjAwOS0wOS0xOCAxNzo0Nzo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlbW92ZSBpbnZhbGlkIHRvZG8KCjIwMDktMTAtMDYgMTg6MzY6MTUgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBJZ25vcmUgZW1waGFzaXMgb24vb2ZmIGJ5dGVzLCBhbmQgZG8gZmFsbGJhY2sgc3RyaW5nIGVuY29kaW5nLgoJICBGb3IgZmFsbGJhY2ssIHRyeSBJU08gODg1OS05IGVuY29kaW5nIGlmIElTTyA2NjM3IGZhaWxlZC4KCSAgQWRkIG1vcmUgZGVidWcgY2FsbHMuCgoyMDA5LTEwLTA1IDE3OjA0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IHZhcmlvdXMgZml4ZXMKCSAgLSBXb3JrIGFyb3VuZCBCYXNlRW5jb2RlciBidWcgbm90IHRyYWNraW5nIGZyYW1lIGluZGV4IGVhcmx5LgoJICAtIEZpeCBjb252ZXJzaW9uIG9mIFVZVlksIFlVWTIsIEFZVVYgdG8gaW50ZXJuYWwgZm9ybWF0LgoKMjAwOS0xMC0wNSAxNjoxNjozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IFJldmVydCAiQ2FsbCBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRjMDg3YmNiMDcyZGNjOTg0N2IxMWMwMDEyM2NmOTNjNWU1NDFkY2IuCgkgIFRoZSByZXZlcnRlZCBjb21taXQgY2hhbmdlcyB0aGUgb3JkZXIgdGhhdCBzZXRfZm9ybWF0KCkgYW5kIHN0YXJ0KCkKCSAgYXJlIGNhbGxlZCwgd2hpY2ggaXMgaW5jb3JyZWN0LiAgVGhlIGNvcnJlY3Qgb3JkZXIgaXMgc2V0X2Zvcm1hdCgpLAoJICBzdGFydCgpLCBoYW5kbGVfZnJhbWUoKS4uLiwgc3RvcCgpCgoyMDA5LTEwLTA1IDEzOjMzOjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRnJlZSBmcmFtZSB1c2luZyB1dGlsaXR5IGZ1bmN0aW9uCgoyMDA5LTEwLTA1IDIxOjExOjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBGaXggY2FwcyB1bmxpbmtlZCBuZWdvdGlhdGlvbgoJICBtb3ZlIGNhcHMgcmVsYXRlZCBjb2RlIHRvIGdzdF9kaXJhY19lbmNfc2V0X2Zvcm1hdCwgYW5kCgkgIHVzZSB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSB0byBnZXQgYWxsb3dlZCBjYXBzIHdoZW4gdGhlcmUgaXMKCSAgbm8gcGVlciBwYWQuCgoyMDA5LTEwLTA1IDE5OjQ5OjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBXaGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZCwgdXNlIHRoZSBwYWQgdGVtcGxhdGUKCSAgRm9yIG5lZ290aWF0aW9uLCB1c2UgdGhlIHNvdXJjZSBwYWQgcGFkIHRlbXBsYXRlIHdoZW4gaXQgZG9lc24ndAoJICBoYXZlIGEgcGVlci4KCjIwMDktMTAtMDUgMTU6NDc6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IEZhaWwgaWYgY2FwcyBkb24ndCBjb250YWluIGEgZnJhbWVyYXRlIGZpZWxkCgkgIFJldHVybiBmYWxzZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgZnVuY3Rpb24gaWYgdGhlcmUgaXMgbm8gZnJhbWVyYXRlCgkgIGZpZWxkIGluIHRoZSBwcm92aWRlZCBjYXBzCgoyMDA5LTEwLTA1IDExOjE1OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogV3JpdGUgVVRGLTE2IGJ5dGUgb3JkZXIgbWFya2VyIGNvcnJlY3RseS4KCjIwMDktMTAtMDUgMTY6Mzk6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogbW92ZSBjYXBzIHJlbGF0ZWQgY29kZSB0byBnc3Rfc2Nocm9fZW5jX3NldF9mb3JtYXQuCgoyMDA5LTEwLTA1IDE1OjI4OjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGd0ay14MTEgZXhwbGljaXRseS4KCSAgRml4ZXMgdGhlIGJ1aWxkIG9uIE9TWCBpZiBndGsrLXF1YXJ0eiBpcyBpbnN0YWxsZWQuCgoyMDA5LTEwLTA1IDE1OjI2OjE1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggY29tcGlsYXRpb24gd2FybmluZyB3aXRoIGdjYy00LjIuCgoyMDA5LTEwLTA1IDExOjQ3OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBBZGQgZmFhYyB0ZXN0IGJpbmFyeSB0byB0aGUgZ2l0IGlnbm9yZXMKCjIwMDktMTAtMDUgMTE6NDc6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9DWFhGTEFHUyBhbmQgR1NUX0NGTEFHUyB0byBwdWxsIGluIGxvY2FsIGdzdC1saWJzIGluY2x1ZGVzLgoJICBNb3ZlIHRoZSBHU1RfQ1hYRkxBR1MgYW5kIEdTVF9DRkxBR1MgdG8gdGhlIHN0YXJ0IG9mIHRoZSBpbmNsdWRlcyBzZXQKCSAgdG8gcHVsbCBpbiB0aGUgbG9jYWwgZ3N0LWxpYnMgZnJvbSB0aGVyZSBmaXJzdCwgaW5zdGVhZCBvZiBsaXN0aW5nCgkgIGl0IGV4cGxpY2l0bHkuCgoyMDA5LTEwLTA1IDExOjAyOjE2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MgYW5kIExERkxBR1MgZm9yIGRpcmFjL3NjaHJvZGluZ2VyCgkgIEluY2x1ZGUgdGhlIGxvY2FsIGhlYWRlcnMgYW5kIGxpYnMgYmVmb3JlIG9uZXMgb3V0c2lkZSB0aGlzCgkgIG1vZHVsZS4KCjIwMDktMTAtMDIgMTY6MzU6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGRpcmFjOiBjb252ZXJ0IHRvIEJhc2VWaWRlb0VuY29kZXIKCjIwMDktMDktMjcgMTQ6MjU6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogaGFja2luZwoJICBBZGQgUkdCIHRvIFlDYkNyIG1hdHJpeGluZwoJICBBZGQgdGlueSBjb2xvciBtYW5hZ2VtZW50IHN5c3RlbSAoQ01TKSBmb3IgdmlkZW8KCSAgQWRkIHF1YWxpdHkgbGV2ZWwgZm9yIGNvbG9yc3BhY2UKCjIwMDktMDktMjUgMTg6MTQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiByZXNldCBjYWNoZSBpbnN0ZWFkIG9mIHJldHVybmluZyBOVUxMCgkgIFJldHVybmluZyBOVUxMIG1ha2VzIHRoaW5ncyBjcmFzaC4gIFJlc2V0dGluZyB0aGUgY2FjaGUKCSAgbWFrZXMgdGhpbmdzIHJ1biBzbG93LiAgU3RpbGwgYW4gdW5kZXJseWluZyBidWcgc29tZXdoZXJlLAoJICBidXQgbm90IGNyaXRpY2FsLgoKMjAwOS0wOS0yMyAxMzoxNzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogSGFuZGxlIGxvb2thaGVhZCwgZGlzY29udAoKMjAwOS0xMC0wMiAxOTowODoyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgYnVpbGQ6IGFkZCBtaXNzaW5nIHN0ZGxpYiBpbmNsdWRlIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTAtMDIgMTQ6MjU6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgQWRkIEdzdEJhc2VWaWRlb0RlY29kZXI6OnNldF9zaW5rX2NhcHMgdmZ1bmMuCgoyMDA5LTEwLTAyIDEyOjQwOjAyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIENhbGwgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLgoKMjAwOS0xMC0wMSAxNjowNjowMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBEb24ndCBpZ25vcmUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c2V0X2Zvcm1hdC4KCjIwMDktMTAtMDEgMTY6MTI6MTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBGaXggc2Nocm9lbmMgZm9yIHJlZmNvdW50IGNoYW5nZSBpbiBHc3RCYXNlVmlkZW9FbmNvZGVyLgoKMjAwOS0xMC0wMSAxNTo1MDo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBVbnJlZiBmcmFtZS0+c2lua19idWZmZXIgaW4gZ3N0X2Jhc2VfdmlkZW9fZW5jb2Rlcl9maW5pc2hfZnJhbWUKCjIwMDktMTAtMDEgMTY6MTE6NDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBNYWtlIGdzdF9zY2hyb19lbmNfaGFuZGxlX2ZyYW1lIHJldHVybiBHc3RGbG93UmV0dXJuLgoKMjAwOS0xMC0wMSAxNjoyNjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBNYWtlIEdzdEJhc2VWaWRlb0VuY29kZXI6OmhhbmRsZV9mcmFtZSByZXR1cm4gR3N0Rmxvd1JldHVybgoKMjAwOS0xMC0wMSAxNjoyNDo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBDYWxsIEdzdEJhc2VWaWRlb0VuY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4KCjIwMDktMTAtMDIgMTI6MDQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgIEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTEwLTAyIDEzOjAyOjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogcG9zdCBhIG1lc3NhZ2UgaW5zdGVhZCBvZiBwcmludGluZyB0aGUgY29kZSB0byBzdGRvdXQKCSAgRG9jbWVudCB0aGUgbWVzc2FnZSBmb3JtYXQgdGhhdCB3ZSBzZW50LiBBZGQgYSBwcm9wZXJ0eSB0byB0dXJuIG1lc3NhZ2Ugc2VuZGluZyBvZmYuCgoyMDA5LTEwLTAyIDExOjIzOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jIHNjYW4gZmlsZXMKCjIwMDktMTAtMDIgMTE6MjI6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogY2xlYW51cHMKCSAgVXNlIHN0YXJ0L3N0b3AgdG8gbWFuYWdlIHRoZSBjYWNoZS4gRmV3IGNvZGUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwOS0xMC0wMiAxMTowOToxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IGFkZCB6YmFyIHBsdWdpbgoKMjAwOS0xMC0wMiAxMDozNzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB6YmFyOiBhZGQgbmV3IHBsdWdpbiB0byB0aGUgYnVpbGQgaGVyZSB0b28KCjIwMDktMTAtMDIgMTA6MzI6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGtlZXAgbGlzdCBzb3J0ZWQKCjIwMDktMTAtMDIgMDc6NDY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCBzeXN0ZW0sIHpiYXIgaXMgbm8gZGVwZW5kZW5jeS1sZXNzIHBsdWdpbgoKMjAwOS0xMC0wMSAyMzo1MTowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHdyYXAgemJhciBsaWJyYXJ5IGFzIGEgaW1hZ2UgYW5hbHl6ZXIKCSAgemJhciBpcyBhIGJhciBjb2RlIHNjYW5uZXIgbGlicmFyeS4KCjIwMDktMTAtMDEgMTc6MTk6NTQgKzAxMDAgIENocmlzdGlhbiBGLksuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHdpbjMyL01BTklGRVNUOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMgYW5kIHJlbW92ZSBmaWxlIGZyb20gTUFOSUZFU1Qgd2hpY2ggaXNuJ3QgdGhlcmUgYW55IGxvbmdlcgoKMjAwOS0wOS0wMiAxNToyNjoxNSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBjaGFuZ2UgWE1QIGxvY2F0aW9uIHRhZ3MgdG8gc3RhcnQgd2l0aCBjYXBpdGFscwoKMjAwOS0wOC0yNSAxMDoxMDoxNSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZGVhZGxvY2sgd2hlbiBlcnJvciBvY2N1cnMgYXQgdmlkZW8gcmVjb3JkaW5nIHN0YXJ0dXAKCjIwMDktMDgtMjcgMTQ6MzU6MjYgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaGFuZGxlIHByZXZpZXctY2FwcyBvbmx5IGluIGltYWdlIG1vZGUgYW5kIG9ubHkgd2hlbiB0aGV5IGNoYW5nZQoJICBUaGlzIHByZXZlbnRzIGNhbWVyYWJpbiB0byBjcmVhdGUgcHJldmlldyBwaXBlbGluZSBldmVyeSB0aW1lIHdoZW4KCSAgYXBwbGljYXRpb24gcmUtc2V0cyB0aGUgc2FtZSBjYXBzIGFnYWluLgoKMjAwOS0wOC0yNSAwOTozNTowNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBkb24ndCBzZW5kIG11bHRpcGxlIEVPUyBldmVudHMgdG8gdmlkZW8gcGlwZWxpbmUKCjIwMDktMDgtMjIgMTc6MDk6MzkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBmaXggc2NlbmUgbW9kZSBzZXR0aW5nCgkgIENhbWVyYWJpbiBjYWNoZXMgcGhvdG9ncmFwaHkgc2V0dGluZ3MsIGJ1dCBpdCBkaWRuJ3QgdGFrZSBpbnRvIGFjY291bnQKCSAgdGhhdCBzY2VuZSBtb2RlIHNldHRpbmcgbWF5IGNoYW5nZSBvdGhlciBzZXR0aW5ncyBhcyB3ZWxsLiBTbywgY29uZmlnCgkgIG5lZWRzIHRvIGJlIHJlYWQgYmFjayBmcm9tIGRldmljZSBhZnRlciBzY2VuZSBtb2RlIGlzIHNldC4KCjIwMDktMDgtMjEgMDk6MTQ6MzEgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWxsb3cgbW9kZSBwYXJhbWV0ZXIgc2V0dGluZyBpbiBOVUxMIHN0YXRlCgoyMDA5LTA4LTIwIDE3OjU1OjI2ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFsbG93IGNhcHR1cmUgcmVzb2x1dGlvbiB0byBiZSBzZXQgaW4gTlVMTCBzdGF0ZQoKMjAwOS0wOS0xMCAxNToxNjoyMyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggaW1hZ2UgcXVldWUgcGFyYW1ldGVyIHNldHRpbmcKCSAgQ2FtZXJhYmluIGluY29ycmVjdGx5IHVzZWQgR19HVUlOVDY0X0NPTlNUQU5UIG1hY3JvIGZvciBzZXR0aW5nCgkgICJtYXgtc2l6ZS1idWZmZXJzIiBhbmQgIm1heC1zaXplLWJ5dGVzIiBwcm9wZXJ0aWVzIGluIGltYWdlIHF1ZXVlLAoJICBldmVuIHdoZW4gdGhleSBhcmVuJ3QgNjRiaXQgaW50ZWdlcnMuCgoyMDA5LTA4LTEyIDExOjEwOjU1ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCB3YXJuaW5nIHdpdGggZ19vYmplY3RfZ2V0IGFuZCBqb2luIHNlcGFyYXRlIGdfb2JqZWN0X3NldHMgaW50byBvbmUKCjIwMDktMDctMzEgMTE6NTc6MTIgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgYWN0aXZlLXBhZCBpbiBvdXRwdXQtc2VsZWN0b3IgYWZ0ZXIgUkVBRFkgc3RhdGUKCSAgQ2FtZXJhYmluIHNldHMgaXRzZWxmIHRvIFJFQURZIHN0YXRlIGR1cmluZyByZXNvbHV0aW9uIGNoYW5nZS4gVGhpcwoJICBvcGVyYXRpb24gbWFrZXMgb3V0cHV0LXNlbGVjdG9yIHRvIGZvcmdldCBpdHMgY3VycmVudGx5IGFjdGl2ZSBwYWQsCgkgIHNvIGl0IG11c3QgYmUgc2V0IGFnYWluIGFmdGVyIHN0YXRlIGNoYW5nZS4KCjIwMDktMDYtMjkgMTU6MjM6MjUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcmVzZXQgY2Fwc2ZpbHRlcnMgb3Igem9vbSBpZiBlcnJvciBvY2N1cnMKCSAgSWYgYW4gZXJyb3Igb2NjdXJzLCBhcHBsaWNhdGlvbiBzaG91bGQgc2V0IHBpcGVsaW5lIHRvIE5VTEwsIGFuZCB1cGRhdGluZwoJICB6b29tIGNhbiBhY3R1YWxseSBibG9jayBtZXNzYWdlIGhhbmRsaW5nIGlmIHZpZGVvIGRldmljZSBkcml2ZXIgaGFzIGZhaWxlZAoJICBhbmQgdmlkZW8gc3JjIGVsZW1lbnQgc3VwcG9ydHMgem9vbWluZyB1c2luZyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIFNfQ1JPUC4KCjIwMDktMTAtMDEgMTc6MTc6MDMgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGxpbmsgd2l0aCBsaWJtCgoyMDA5LTEwLTAxIDE1OjA5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmRiaW46IElmIG5vIHN1aXRhYmxlIGF1ZGlvIGRlY29kZXIgaXMgZm91bmQgcGxheSB0aGUgRFZEIHdpdGhvdXQgYXVkaW8KCjIwMDktMTAtMDEgMTQ6NTQ6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBBbHNvIHBvc3QgbWlzc2luZyBlbGVtZW50IG1lc3NhZ2VzIGlmIGFueSBvdGhlciBlbGVtZW50IGlzIG1pc3NpbmcKCjIwMDktMTAtMDEgMTQ6NTI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFBvc3QgbWlzc2luZyBkZWNvZGVyIG1lc3NhZ2VzIGlmIG9uZSBpcyBtaXNzaW5nCgkgIEZvciB2aWRlbyB0aGlzIGlzIGFuIGVycm9yLCBmb3IgYXVkaW8gb25seSBhIHdhcm5pbmcuCgoyMDA5LTEwLTAxIDE0OjQwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogVXNlIHRoZSBuZXcgdmlkZW8gZGVjb2RlcgoJICBUaGlzIG1ha2VzIHJlc2luZHZkYmluIHdvcmsgd2l0aCBvdGhlciBNUEVHIHZpZGVvIGRlY29kZXJzIHRoYW4KCSAgbXBlZzJkZWMsIGZvciBleGFtcGxlIHRoZSBGRk1QRUcgb3IgRmx1ZW5kbyBNUEVHIGRlY29kZXJzLgoKMjAwOS0xMC0wMSAxNDozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5oOgoJICByZXNpbmR2ZGJpbjogUmVuYW1lIGZpbGVzCgoyMDA5LTEwLTAxIDE0OjM2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmRiaW46IFJlZmFjdG9yIGF1ZGlvIGRlY29kZXIgYW5kIGFkZCBhIChNUEVHKSB2aWRlbyBkZWNvZGVyCgoyMDA5LTEwLTAxIDEzOjI5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByc25hdWRpb2RlYzogR2V0IGRlc2lyZWQgc2luayBjYXBzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZQoKMjAwOS0xMC0wMSAxMDo1NDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IFVucHJlbXVsdGlwbHkgQ2Fpcm8ncyBBUkdCIHRvIG1hdGNoIEdTdHJlYW1lcidzCgoyMDA5LTA5LTI1IDEyOjIwOjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJICBUYWtlIG9mZnNldCBnYXBzIGludG8gYWNjb3VudC4KCSAgUHJldmVudHMgbWVhc3VyZWNvbGxlY3RvciBmcm9tIGNyYXNoaW5nIHdoZW4gZnJhbWUgbnVtYmVycyBhcmUgbm90IGNvbnNlY3V0aXZlLgoJICBGaXhlcyBidWcgIzU5NjI4NS4KCjIwMDktMDktMjkgMTU6NDc6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBmaXggZmxhZ3NfYXNfdWludCB0byBmbGFnc1tdCgoyMDA5LTA5LTMwIDE1OjQ3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogQ3JlYXRlIGV4dGVybmFsIHNyY3BhZHMgZnJvbSB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMDktMDktMjIgMTI6MTY6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEltcHJvdmUgUEdTIHBhcnNpbmcKCSAgSW1wcm92ZSAoc2xpZ2h0bHkpIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBQR1Mgc2V0LXdpbmRvdyBibG9ja3MKCSAgdG8gYXZvaWQgcHJpbnRpbmcgd2FybmluZ3MgYWJvdXQgdW51c2VkIGJ5dGVzIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlCgkgIHdpbmRvdyBkZWZpbml0aW9ucy4KCjIwMDktMDktMjIgMDE6MTY6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEZpeCByZW5kZXJpbmcgYW5kIGFkZCBndWFyZHMKCSAgRml4IHRoZSByZW5kZXJpbmcgd2hlbiB3ZSBoaXQgdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiB0aGUgZGlzcGxheQoJICBhcmVhLCBieSByZXNldHRpbmcgdG8gdGhlIGNvcnJlY3QgWCBjb29yZGluYXRlLCBhbmQgYWRkIHNvbWUgbW9yZQoJICBndWFyZHMgYWdhaW5zdCBiYWQgUEdTIGRhdGEuCgoyMDA5LTA5LTA4IDAwOjAxOjI4ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICB2aWRlb3NpZ25hbDogY2hhbmdlIHBhdHRlcm4gZGF0YSB0eXBlIHRvIHVpbnQ2NCwgYWRkIHByb3BlcnR5IGFuZCBtZXNzYWdlIGZpZWxkCgkgIEtlZXBzIHRoZSBvbGQgdWludCB0eXBlZCB2YWx1ZSBzdXBwb3J0IGZvciBjb21wYXRpYmlsaXR5LgoKMjAwOS0wOS0wNiAwNTozNjo0NiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhbGxvdyBwYXR0ZXJuLWNvdW50IHByb3BlcnR5IHRvIGJlIDAKCjIwMDktMDktMDQgMjI6NTA6MzQgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWRkIHN1cHBvcnQgZm9yIHBhY2tlZCBZVVYgZm9ybWF0cwoKMjAwOS0wOS0wNCAyMjozMDoyNyArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIHZpZGVvc2lnbmFsOiBhZGQgc3VwcG9ydCBmb3IgYWxsIHBsYW5hciBZVVYgZm9ybWF0cywgdXNpbmcgZ3N0dmlkZW8KCjIwMDktMDktMDYgMDI6NDQ6MDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWRkIGJvdW5kIGNoZWNrcwoKMjAwOS0wOS0wNCAxNjoyNTowNSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiByZW1vdmUgdW51c2VkIG1hY3JvcwoKMjAwOS0wOS0yNiAxNzoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFVzZSBnc3RfY2Fwc19jYW5faW50ZXJzZWN0KCkgYmVjYXVzZSBpdCdzIGZhc3RlcgoKMjAwOS0wOS0yNiAxNzoyMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJzbmF1ZGlvZGVjOiBVc2UgZ2hvc3QgcGFkcyBhbmQgYWx3YXlzIGZvcndhcmQgYXBwbGljYXRpb24veC1nc3QtZHZkIGV2ZW50cyBpbW1lZGlhdGVseQoJICBGaXhlcyBidWcgIzU4Mjc3OS4KCjIwMDktMDktMjYgMTc6MTk6MzIgKzAyMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcmVzaW5kdmRiaW46IFVzZSBhdXRvY29udmVydCBpbiByc25hdWRpb2RlYyBhbmQgYnVpbGQgYSBsaXN0IG9mIHBvc3NpYmxlIGRlY29kZXJzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4Mjc3OS4KCjIwMDktMDktMjUgMTY6NTQ6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogc3luYyBiYXNlcGFyc2UgY2hhbmdlCgoyMDA5LTA5LTI1IDE3OjAyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IGZvcmVnbyAoYm9ndXMpIHBhcnNpbmcgb2YgYWxyZWFkeSBwYXJzZWQgKHJhdykgaW5wdXQKCjIwMDktMDktMjUgMTE6MDc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIG5ldyBzaW5nbGUgaXRlcmF0b3IgZm9yIHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWRzCgkgIFRoaXMgZml4ZXMgYSBkZWFkbG9jayBhbmQgcmVtb3ZlcyBzb21lIHVzZWxlc3MgY29kZS4KCjIwMDktMDktMjUgMTE6MDQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJzbnN0cmVhbXNlbGVjdG9yOiBVc2UgbmV3IHNpbmdsZSBvYmplY3QgaXRlcmF0b3IgZm9yIHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWRzCgkgIFRoaXMgcHJldmVudHMgYW4gdWdseSBkZWFkbG9jay4KCjIwMDktMDktMjUgMTA6NTA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIHJlc2luZHZkYmluOiBEb24ndCBibG9jayB0aGUgZXh0ZXJuYWwgZ2hvc3QgcGFkcyBidXQgb25seSB0aGVpciB0YXJnZXRzCgoyMDA5LTA5LTI0IDExOjI2OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogdXNlIEJVSUxUX1NPVVJDRVMgaW5zdGVhZCBvZiB0ZW1wIGxpYnJhcnkKCjIwMDktMDktMjMgMTI6MzI6NTQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgRml4IHdhcm5pbmdzIHdpdGggZ2NjIDQuMC4xLgoKMjAwOS0wOS0yMiAxMjoyNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbCBhZ2FpbgoKMjAwOS0wOS0yMiAxMzo0NDoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgUmV2ZXJ0ICJMVjIgcHJlc2V0IHN1cHBvcnQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM5NWY1OWNkMmRjMTI5ODk5YjM3ZmVjYWE1MmM4OWRiM2Q4YTVlZjguCgoyMDA5LTA5LTIyIDEzOjQzOjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBSZXZlcnQgIkZpeCBwcm9wZXJ0eSBpbmRleCB3aGVuIHNldHRpbmcgcHJlc2V0LiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwYTZiMjJiMTkxN2FmOGE4OWRiMTk4MWEwZjVkZjNkY2VlNzhiMWRkLgoKMjAwOS0wOS0yMiAxMzoyMzoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiBmaXggdGhlIGJ1aWxkCgkgIEFkZCBhIHVuaW5zdGFsbGVkIGNvbnZpbmllbmNlIGxpYnRvb2wgbGlicmFyeSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgc291cmNlcy4KCSAgQWRkIHRoYXQgYXMgYSBkZXBlbmRlbmN5IHRvIHRoZSBwbHVnaW4uCgoyMDA5LTA4LTE3IDE3OjIxOjQxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBGaXggcHJvcGVydHkgaW5kZXggd2hlbiBzZXR0aW5nIHByZXNldC4KCjIwMDktMDgtMTcgMTc6MDY6NDAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIExWMiBwcmVzZXQgc3VwcG9ydC4KCjIwMDktMDktMjIgMDg6MTE6MzYgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tOiBIYW5kbGUgQVNDSUkgZW5jb2RlZCBQTk0gZGF0YSB0aGF0IGlzIHNwbGl0IG92ZXIgbXVsdGlwbGUgYnVmZmVycwoJICBBbHNvOgoJICAtIHVucmVmIGJ1ZmZlcnMgYWZ0ZXIgZ3N0X2J1ZmZlcl9zcGFuCgkgIC0gZml4IHNjYW5uaW5nIG9mIGhlYWRlciBpZiBoZWFkZXIgZGF0YSBpcyBzcGxpdCBvdmVyIHNldmVyYWwgYnVmZmVycwoJICBGaXhlcyBidWcgIzU5NTcwMC4KCjIwMDktMDktMjEgMTE6MzM6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d0YWJsZXMuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJICBjb2c6IEFkZCBxdWFsaXR5IHNldHRpbmcgdG8gY29nc2NhbGUKCjIwMDktMDktMjEgMDk6MzU6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IChyZS0paW1wbGVtZW50IDEvMi80LXRhcCBzY2FsaW5nCgoyMDA5LTA5LTIxIDA5OjMwOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggdGhlIHZpcnR1YWwgZnJhbWUgbGluZSBjYWNoZQoKMjAwOS0wOS0yMSAwOTo0OToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IFZCUiByZXF1aXJlcyBjZWx0LTAuNi4wCgoyMDA5LTA5LTIxIDEyOjA2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogU3BlY2lmeSB0aGF0IHBzaSB0YWJsZSBpcyBzdGF0aWMgY29uc3QuCgkgIFRoaXMgYXZvaWRzIHJlLWFsbG9jYXRpbmcgaXQgZXZlcnkgc2luZ2xlIHRpbWUgd2UgZ28gaW50byBpdC4KCSAgUm91Z2hseSAxMCUgcGVyZm9ybWFuY2UgYm9vc3QgaW4gb3ZlcmFsbCB0c3BhcnNlIHByb2Nlc3NpbmcgdGltZS4KCjIwMDktMDktMjAgMTc6NTM6MjQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIFJldmVydCAibXBlZ3RzcGFyc2U6IHVzZSBmaXhlZCBzaXplIGFycmF5IHJhdGhlciB0aGFuIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWU3NWI2ZjM2NjY1MTI4ODdhZTUyNmYxNmExYWQ0MWJiZjI1MTdhYy4KCjIwMDktMDktMjAgMTU6MzA6NTkgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhcnNlOiB1c2UgZml4ZWQgc2l6ZSBhcnJheSByYXRoZXIgdGhhbiBkeW5hbWljYWxseSBhbGxvY2F0aW5nCgoyMDA5LTA5LTIwIDE1OjE4OjQ2ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiByZXBsYWNlIHN0cmVhbXMgaGFzaHRhYmxlIHdpdGggYW4gYXJyYXkgb2Ygc3RyZWFtcwoKMjAwOS0wOS0yMCAxNDowODo1MCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogdW5yZWYgY2FwcyBvbiBkaXNwb3NlLCByZXNldCBwYWNrZXQgc2l6ZSBvbiBfcmVzZXQKCjIwMDktMDktMjAgMTM6MTU6MTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IG1ha2Ugc3VyZSBwYWNrZXRzaXplIGlzIHNldCBvbiBjYXBzIG9mIGJ1ZmZlcnMKCjIwMDktMDktMjAgMTI6Mzg6MDAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhcnNlOiBkZXRlY3QgcGFja2V0c2l6ZSBhbmQgZG9uJ3QganVzdCBhc3N1bWUgMTg4IGJ5dGVzLgoKMjAwOS0wOS0xOSAxNDoxMDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogQWRkIGNvbXBsZXhpdHksIGNiciwgYW5kIG1heC1iaXRyYXRlIHByb3BlcnRpZXMKCjIwMDktMDktMTkgMTM6MzI6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dvcmMuYzoKCSogZXh0L2NvZy9jb2dvcmMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZzogYXV0b2dlbmVyYXRlIGNvZGUsIGNvbG9yc3BhY2UgaW1wcm92ZW1lbnRzCgoyMDA5LTA5LTE4IDIwOjI3OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSAvLyBjb21tZW50cwoKMjAwOS0wOS0xNiAyMDozOTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IERvbid0IHVzZSBHc3RJdGVyYXRvciwgZG8gY2hhbmdlIGRldGVjdGlvbiBvdXJzZWx2ZXMuCgkgIFVzaW5nIGEgR3N0SXRlcmF0b3IgaXMgc2xvdyBiZWNhdXNlIHdlIGhhdmUgdG8gY3JlYXRlL2Rlc3Ryb3kgdGhhdAoJICBpdGVyYXRvciBldmVyeSBzaW5nbGUgdGltZS4KCSAgV2UganVzdCBkbyB0aGUgdGhyZWFkc2FmZSBjb29raWUgY2hlY2sgYW5kIGxpc3QgaXRlcmF0aW9uIG91cnNlbHZlcy4KCjIwMDktMDktMTUgMjM6MTg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBBdm9pZCB0eXBlLWNoZWNraW5nIGNhc3RzIGluIHRpZ2h0IGxvb3BzCgoyMDA5LTA5LTE1IDIzOjEyOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE1ha2UgbmV4dF9wYWNrZXQoKSByZXR1cm4gYW4gZW51bS4KCSAgVGhpcyBhdm9pZHMgY2FsbGluZyBhbiBleHRyYSBnc3RfYWRhcHRlcl9hdmFpbGFibGUoKSBpbiBhIHRpZ2h0IGxvb3AuCgoyMDA5LTA5LTE1IDIzOjExOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogTW9yZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTUgMjA6NDk6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcHJlYWQgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTE1IDE5OjE2OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplcjogUmVnaXN0ZXIgYW5kIHVzZSBHUXVhcmsgZm9yIHN0cnVjdHVyZXMuCgoyMDA5LTA5LTE1IDE4OjU3OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEluaXRpYWxpemUgZGVidWdnaW5nIGluIF9nZXRfdHlwZQoJICBUaGVyZSdzIG5vIG5lZWQgZm9yIGFuIGV4dHJhIGZ1bmN0aW9uIHNpbmNlIGFsbCBkZWJ1Z2dpbiB3aWxsIHJlcXVpcmUKCSAgYSBNcGVnVFNQYWNrZXRpemVyIHdoaWNoIG1lYW5zIHRoYXQgdGhlIEdUeXBlIHdpbGwgYmUgY3JlYXRlZCwgdGhlcmVmb3JlCgkgIG1vdmUgdGhlIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uIHRoZXJlLgoKMjAwOS0wOS0xNSAyMzowOToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBtZW1zZXQgc3RydWN0dXJlIGluc3RlYWQgb2YgaW5kaXZpZHVhbGx5IHNldHRpbmcgZmllbGRzIHRvIDAKCjIwMDktMDktMTUgMjM6MDg6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIGdfcmV0dXJuX2lmX2ZhaWwKCSAgSXQncyBvdmVya2lsbCBmb3IgY29kZSBvbmx5IHVzZWQgYnkgb25lIGVsZW1lbnQuCgoyMDA5LTA5LTE1IDE5OjQ0OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplci9wYXJzZTogRG9uJ3QgdXNlIGdzdF9zdHJ1Y3R1cmVfdG9fc3RyaW5nKCkgZm9yIGRlYnVnZ2luZy4KCSAgVGhlcmUncyBHU1RfUFRSX0ZPUk1BVCBmb3IgdGhhdCwgYW5kIHRvbyBiYWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZQoJICBzdXBwb3J0IGZvciB0aGF0LiBJdCBqdXN0IGNvc3RzIHRvbyBtdWNoIGNwdS4KCjIwMDktMDktMTUgMTk6MDA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzcGFyc2UvLmdpdGlnbm9yZToKCSogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlbWFyc2hhbC5saXN0OgoJICBnc3Q6IFJlbW92ZSBkZWFkIG1wZWd0c3BhcnNlIGRpcmVjdG9yeS4KCSAgVGhpcyB3YXMgc2VyaW91c2x5IGNvbmZ1c2luZy4gQWxzbywgdGhlIGNvZGUgaXMgaW4gZ3N0L21wZWdkZW11eC8KCjIwMDktMDktMTggMTQ6MjU6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLmg6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGZpeGVzIHRvIG1ha2UgY29nIHdvcmsgaW5zaWRlIC1iYWQKCjIwMDktMDktMTggMTU6MDY6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBmaXggbGluZSBlbmRpbmdzCgoyMDA5LTA5LTE4IDE1OjA2OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogZml4IGRpc3RjaGVjawoKMjAwOS0wOS0xNyAxODoxNjozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBxdWlldCBkZWJ1Z2dpbmcgbWVzc2FnZSBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wOS0xNyAxODoxNToyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBLZWVwIHRyYWNrIG9mIGdyYW51bGUgb2Zmc2V0CgoyMDA5LTA4LTMxIDEwOjM2OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29nb3JjLmM6CgkqIGV4dC9jb2cvY29nb3JjLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIENvcHkgY29nIHBsdWdpbiBhbmQgdmlkZW8gbGlicmFyeSBmcm9tIGNvZyBwcm9qZWN0CgoyMDA5LTA5LTE3IDE2OjU0OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IEZpeCByZXN5bmMgYnVnIGR1ZSB0byBhZGFwdGVyIEFQSSBjaGFuZ2UKCSAgZ3N0X2FkYXB0ZXJfbWFza2VkX3NjYW5fdWludDMyKCkgY2hhbmdlZCBzbGlnaHRseSBmcm9tIHdoZW4KCSAgdGhpcyBlbGVtZW50IHdhcyBpbiBTY2hyb2VkaW5nZXIuICBPb3BzLgoKMjAwOS0wOS0xNyAxNjo1NzoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IGRlYnVnIGF0IG5ldyBzZWdtZW50IGV2ZW50cwoKMjAwOS0wOS0xNyAxNjo1NDoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFNldCBESVNDT05UIG9uIGJ1ZmZlcnMKCjIwMDktMDktMTcgMTA6NTA6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgYSB3YXJuaW5nCgoyMDA5LTA5LTE3IDEwOjQ5OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZG9uJ3QgbGltaXQgYml0IHJhdGUKCjIwMDktMDktMTcgMDk6Mzg6MDIgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogQWRkIEFTQ0lJIGRlY29kaW5nIHN1cHBvcnQKCSAgLi4uYW5kIG1ha2UgdGhlIEFTQ0lJIG91dHB1dCBvZiB0aGUgZW5jb2RlciBhIGJpdCBtb3JlIHByZXR0eS4KCSAgRml4ZXMgYnVnICM1OTU0MDkuCgoyMDA5LTA5LTE3IDA5OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5tOiBSZW1vdmUgdGhlIGV4cGVyaW1lbnRhbCBzdGF0dXMgZnJvbSB0aGUgcG5tIHBsdWdpbgoKMjAwOS0wOC0xNCAxODowODo1NiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgTW9yZSB0b2xlcmF0ZSBwb3J0IGdyb3VwIHN1cHBvcnQsIHBsdWdpbiBjbGVhbnVwLgoJICBHcmFjZWZ1bGx5IGhhbmRsZSBwbHVnaW5zIHdpdGggaWxsZWdhbCBncm91cHMgdGhhdCBjb250YWluIG5vIHN5bWJvbCBieQoJICB0cmVhdGluZyBwb3J0cyBpbiB0aGF0IGdyb3VwIG5vcm1hbGx5IChpLmUuIGFzIGlmIHRoZXkgd2VyZW4ndCBwYXJ0IG9mIGEKCSAgZ3JvdXApLiAgVGhlIHBvcnQgZ3JvdXBzIHNwZWMgbWFuZGF0ZXMgdGhhdCBncm91cHMgaGF2ZSBhIHZhbGlkIHVuaXF1ZQoJICBzeW1ib2wsIGJ1dCBwbHVnaW5zIGFyZW4ndCBwZXJmZWN0Li4uCgkgIE1ha2UgKGNvbmNlcHR1YWxseSkgc3RhdGljIHBsdWdpbiB2YXJpYWJsZXMgYWN0dWFsbHkgKEMpIHN0YXRpYywKCSAgYW5kIGNsZWFuIHVwIFNMVjIgcmVsYXRlZCB0aGluZ3Mgd2l0aCBhIEdDQyBzaGFyZWQgbGlicmFyeSBkZXN0cnVjdG9yLAoJICBpZiBHQ0MgaXMgaW4gdXNlLgoKMjAwOS0wOC0xMiAwMTowNzo1NyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgTWFrZSBtb25vIHdhcm5pbmcgdmlzaWJsZSBpbiBwdWJsaWMgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDgtMTIgMDE6MDM6MzIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIE11bHRpLWNoYW5uZWwgc3VwcG9ydCB3aXRoIGNoYW5uZWwgcG9zaXRpb25zLgoJICBUaGlzIHF1ZXJpZXMgcG9ydCByb2xlcyBmcm9tIHRoZSBMVjIgZGF0YSBhbmQgY29udmVydHMgaXQgaW50byBHU3RyZWFtZXIKCSAgY2hhbm5lbCBwb3NpdGlvbnMuICBUaGlzIHNob3VsZCBhbGxvdyBhbnkgdHlwZSBvZiBtdWx0aS1jaGFubmVsIHBsdWdpbgoJICAoaW5jbHVkaW5nIGJleW9uZCBzdGVyZW8sIGUuZy4gc3Vycm91bmQpIHRvIHdvcmsgZmluZSBpbiBHU3RyZWFtZXIsCgkgIGFuZCB3aXRoIGVsZW1lbnRzIHRoYXQgcmVxdWlyZSBjaGFubmVsIHBvc2l0aW9ucyB0byBiZSBleHBsaWNpdGx5IHN0YXRlZC4KCjIwMDktMDgtMTAgMjM6MTI6MjQgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBMVjIgZWxlbWVudC4KCjIwMDktMDgtMTAgMjM6MDQ6NDcgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIEZpeCB0eXBvIGluIExBRFNQQSBlbGVtZW50IGRvY3VtZW50YXRpb24uCgoyMDA5LTA3LTIxIDE1OjQ1OjA2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgU0xWMiBkZXBlbmRlbmN5IHRvIDAuNi42LgoKMjAwOS0wNy0xMCAyMTo1MjozMCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9jYWxmLWx2Mi1wb3J0LWdyb3Vwcy5wYXRjaDoKCSogZXh0L2x2Mi9zd2gtbHYyLXBvcnQtZ3JvdXBzLnBhdGNoOgoJICBBZGQgc3doIGFuZCBjYWxmIExWMiBwb3J0IGdyb3VwIHBhdGNoZXMuCgoyMDA5LTA3LTAzIDIwOjAwOjExIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBXb3JraW5nIG11bHRpLWNoYW5uZWwgcGFkcyBmb3IgTFYyIHBsdWdpbnMuCgoyMDA5LTA2LTI3IDAwOjI1OjM4IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBBbGxvY2F0ZSBhIHN0YXRpYyBwcmVkaWNhdGUgZm9yIHBnOmluR3JvdXAuCgoyMDA5LTA2LTI1IDE3OjI1OjUyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBPbmx5IGFsbG9jYXRlIGx2MjppblBsYWNlQnJva2VuIHByZWRpY2F0ZSBvbmNlLgoKMjAwOS0wNi0yNSAxNToxMDoyNCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgRWxpbWluYXRlIHVzZSBvZiBzdGF0aWMgbW9ubyBwYWQgdGVtcGxhdGUuCgoyMDA5LTA2LTI1IDE1OjA3OjA1IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBTZXBhcmF0ZSBwb3J0IGRpc2NvdmVyeSBmcm9tIHBhZCB0ZW1wbGF0ZSBjcmVhdGlvbi4KCSAgVGhpcyBmaXJzdCBjb3VudHMgcG9ydHMgKHVzaW5nIHRoZSBidWlsdGluIHNsdjIgZnVuY3Rpb25zIHRvIGRvIHNvCgkgIHJhdGhlciB0aGFuIG1hbnVhbGx5IGFzIGJlZm9yZSksIHRoZW4gY3JlYXRlcyBkZXNjcmlwdG9ycyBmb3IgZWFjaCBwb3J0CgkgIGFuZCBmaW5kcyBhbGwgcG9ydCBncm91cHMuICBPbmx5IHRoZW4gYXJlIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCAodG93YXJkcwoJICB1c2luZyBncm91cCBpbmZvcm1hdGlvbiBmb3IgY3JlYXRpbmcgbXVsdGktY2hhbm5lbCBwYWRzKS4KCjIwMDktMDYtMjUgMTI6MzQ6MDMgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFVzZSBzaWxseSBnbGliIHR5cGVzIDopLgoKMjAwOS0wNi0yMCAxOTo1MjoyNiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgUXVlcnkgYW5kIHN0b3JlIHBvcnQgZ3JvdXAgaW5mb3JtYXRpb24uCgkgIFJlcGxhY2UgcG9ydCBpbmRleCBhcnJheXMgd2l0aCBhIHN0cnVjdCBmb3IgaG9sZGluZyBtb3JlIGluZm9ybWF0aW9uCgkgIHRoYW4ganVzdCBpbmRpY2VzIChlLmcuIGdyb3VwcykuCgoyMDA5LTA1LTI1IDIyOjE1OjU2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBXb3JraW5nIGJhc2ljIExWMiBzaWduYWwgcHJvY2Vzc2luZy4KCSAgTFYyIHBsdWdpbnMsIHNob3J0IG9mIGFueSBzdXJwcmlzZXMsIHNob3VsZCB3b3JrIHdpdGggdGhlIHNhbWUgYmFzaWMKCSAgZnVuY3Rpb25hbGl0eSBhcyBMQURTUEEgcGx1Z2lucy4KCjIwMDktMDUtMjUgMjA6NDM6MTAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFNldCBjbGFzcyBpblBsYWNlQnJva2VuIHByb3BlcnR5LgoKMjAwOS0wOS0xNyAwOTo0MzozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgIGRvY3M6IGZpeCBleGFtcGxlIGFuZCBtZW50aW9uIGRpZmZlcmVuY2UgdG8gdm9yYmlzZGVjCgoyMDA5LTA5LTAyIDExOjExOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogRml4IGJvZ3VzIGNoZWNrIGJlZm9yZSB1bnJlZmZpbmcKCjIwMDktMDktMDEgMTk6NDg6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdmRwYXU6IEZpeCBwa2ctY29uZmlnIHRlc3QKCSAgSWYgdGhlIHBrZy1jb25maWcgY2hlY2sgZG9lc24ndCBzdWNjZWVkLCB0ZXN0IHdpdGggdGhlIG9sZCBtZXRob2QKCSAgaW5zdGVhZCBvZiBiYWlsaW5nIG91dCBvZiBjb25maWd1cmUgd2l0aCBhbiBlcnJvci4KCjIwMDktMDgtMjAgMDA6MTY6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGJldHRlcgoJICB0aGUgaW1wbGVtZW50YXRpb24gaXMgbm90IGVudGlyZWx5IGNvcnJlY3Qgc2luY2Ugd2UgYXNzdW1lIHRoYXQgdGhlIHNpbmsKCSAgZWxlbWVudCdzIHBpeGVsLWFzcGVjdC1yYXRpbyBpcyAxLzEKCjIwMDktMDgtMTkgMjI6NTI6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiByZW1vdmUgcGFyIGZyb20gY2FwcyBzaW5jZSB3ZSBkb24ndCBoYW5kbGUgaXQgeWV0CgoyMDA5LTA4LTE5IDIyOjQwOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZG9uJ3QgcmVtb3ZlIGludGVybGFjZWQgZmxhZyBpbiB2aWRlb190b19vdXRwdXRfY2FwcygpCgoyMDA5LTA4LTE5IDIyOjIzOjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgaW52ZXJzZS10ZWxlY2luZSBwcm9wZXJ0eQoKMjAwOS0wOC0xOSAyMjowMzoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IG5vaXNlLXJlZHVjdGlvbiBwcm9wZXJ0eSBnZXR0ZXIKCjIwMDktMDgtMTkgMjI6MDI6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzaGFycGVuaW5nIHByb3BlcnR5CgoyMDA5LTA4LTE3IDIzOjQyOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF92ZHBfZGV2aWNlX25ldyBmcm9tIGhlYWRlcgoKMjAwOS0wOC0xNyAyMzo0MjoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogZml4IGVycm9yIGhhbmRsaW5nIGlmIGdzdF92ZHBfZ2V0X2RldmljZSByZXR1cm5zIE5VTEwKCjIwMDktMDgtMTcgMjM6Mzk6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBhZGQgYmFjayB2ZHBhdXNpbmsgYW5kIHZkcGF1dmlkZW9wb3N0cHJvY2VzcwoKMjAwOS0wOC0xNyAyMzozOToxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJICB2ZHBkZXZpY2U6IGZpeCBlcnJvciBoYW5kbGluZyBhbmQgdGhyZWFkc2FmZXR5CgkgIHJldHVybiBOVUxMIGluY2FzZSBvZiBpbml0YWxpemF0aW9uIGVycm9ycyBhbmQgZ3VhcmQgaGFzaHRhYmxlIGFjY2VzcyB3aXRoIGEgbXV0ZXgKCjIwMDktMDctMTcgMjI6NTA6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGdldCBjb3JyZWN0IG51bWJlciBvZiBuZWVkZWQgZnJhbWVzIGlmIHdlJ3JlIGRvaW5nIG5vaXNlIHJlZHVjdGlvbgoKMjAwOS0wNy0xNyAyMjo0ODoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgaW5kZW50IGZpeAoKMjAwOS0wNy0xNSAyMDoxODozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4IGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgdXNhZ2UKCjIwMDktMDctMDQgMTk6NDg6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVwb3N0cHJvY2VzczogcmVtb3ZlIGJvb2xlYW4gbm9pc2UtcmVkdWN0aW9uIHByb3BlcnR5CgkgIFVzZSB0aGUgZmxvYXQgb25lIHRvIGRldGVybWluZSBpZiB3ZSBzaG91bGQgZW5hYmxlIG5vaXNlIHJlZHVjdGlvbiBvciBub3QKCjIwMDktMDctMDQgMTU6NDY6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3Igbm9pc2UgcmVkdWN0aW9uCgoyMDA5LTA3LTA0IDEzOjU5OjM2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciBkZWludGVybGFjaW5nCgkgIFRoZSBjb2RlIGlzIHJvdWdobHkgbW9kZWxlZCBhZnRlciB0aGUgZGVpbnRlcmxhY2UgcGx1Z2luCgoyMDA5LTA3LTAyIDE3OjExOjEwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiBhZGQgbXlzZWxmIHRvIGNvcHlyaWdodAoKMjAwOS0wNy0wMiAxNDowMToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogcy9nc3RfdmRwX3ZwcF9zZXRfY2Fwcy9nc3RfdmRwX3ZwcF9zaW5rX3NldGNhcHMKCjIwMDktMDctMDEgMjM6MTI6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIGluc3RlYWQgb2Ygb3VyIG93biB2ZXJzaW9uCgoyMDA5LTA3LTAxIDAwOjIwOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGFycmF5IHNpemVzCgoyMDA5LTA3LTAxIDAwOjEzOjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIE5VTEwgdGVybWluYXRpbmcgYXJyYXkKCjIwMDktMDYtMzAgMjM6NTU6MTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIG5ldyB2ZHBhdXNpbmsgYW5kIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyBlbGVtZW50cwoJICB2ZHBhdXNpbmsgaXMgYXMgdGhlIG5hbWUgaW1wbGllcyBhIHNpbmsgd2hpY2ggdGFrZXMgdmlkZS94LXZkcGF1LW91dHB1dCBidWZmZXJzCgkgIGFuZCBvdXRwdXRzIGl0IHRvIHRoZSBzY3JlZW4uCgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyBpcyBhbiBlbGVtZW50IHdoaWNoIHRha2VzIHZpZGVvL3gtdmRwYXUtdmlkZW8gYnVmZmVycyBhbmQKCSAgb3V0cHV0cyB2aWRlby94LXZkcGF1LW91dHB1dCBidWZmZXJzLiBUaGUgZWxlbWVudCBjYW4gYWxzbyBkbyB0aGluZ3MgbGlrZQoJICBkZWludGVybGFjaW5nIGFuZCBvdGhlciBwb3N0cHJvY2Vzc2luZyBidXQgdGhpcyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LgoKMjAwOS0wNi0yOSAyMjo1MDo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdmRwYXU6IGNoZWNrIGZvciB2ZHBhdSB3aXRoIHBrZy1jb25maWcgZmlyc3QKCjIwMDktMDYtMjQgMTc6NTE6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgdmRwYXU6IHNwbGl0IGdzdF92ZHBfbXBlZ19kZWNfcmVzZXQgaW50byBzdGFydCBhbmQgc3RvcAoKMjAwOS0wNi0yNCAxMTozNjoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGRvbid0IHB1dCB0aGUgR3N0VmRwRGV2aWNlIGluIHRoZSBjYXBzCgoyMDA5LTA2LTIzIDIzOjAzOjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvWVVWIGltcGxlbWVudCBwYWRfYWxsb2MKCSAgYWxzbyBjaGFuZ2UgR3N0VmRwTXBlZ0RlYyBhbmQgR3N0VmRwWVVWVmlkZW8gdG8gbWFrZSB1c2Ugb2YgdGhpcwoKMjAwOS0wNi0yMyAxNzoyNjoyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgc3VwcG9ydCBmb3IgWVVZMgoKMjAwOS0wNi0yMyAxNzoxNjoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDA5LTA2LTIzIDE2OjU3OjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZmFjdG9yIG91dCBjb21tb24gY2FwcyBjYWxjdWxhdGlvbiBhbmQgcHV0IGl0IGluIGdzdHZkcHV0aWxzLltjaF0KCjIwMDktMDYtMjIgMjM6MjU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiByZWZhY3RvciBHc3RWZHBWaWRlb1lVViBhbmQgR3N0VmRwWVVWVmlkZW8KCjIwMDktMDYtMjIgMjI6MTc6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFlVVlZpZGVvIGluaGVyaXQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtCgoyMDA5LTA2LTIyIDExOjAwOjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIHZkcGF1OiBmaXh1cCBzb21lIGRlYnVnIHByaW50cwoKMjAwOS0wNi0yMiAxMDo1NzoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9ZVVYgaW5oZXJpdCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMDktMDktMTYgMDg6MjI6MTkgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IFN1cHBvcnQgQVNDSUkgZm9ybWF0IGZvciBlbmNvZGluZyBhbmQgaGFuZGxlIHVuc3VwcG9ydGVkIGZvcm1hdHMgYmV0dGVyIGluIHRoZSBkZWNvZGVyCgkgIEZpeGVzIGJ1ZyAjNTk1MjE1LgoKMjAwOS0wOS0xNSAyMzozMjowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBIYW5kbGUgYmFzZV90aW1lIHdoZW4gc2VuZGluZyBzZWdtZW50IHVwZGF0ZXMuCgkgIERvbid0IHNlbmQgYm9ndXMgbmV3IHNlZ21lbnQgdXBkYXRlIGV2ZW50cyB3aGVuIHRoZSBzdHJlYW0gZG9lc24ndAoJICBzdGFydCBhdCAwLiBGaXhlcyBicm9rZW4gc2Vla2luZyBpbiBzb21lIGZpbGVzLgoJICBGaXhlczogIzU5NDgxMgoKMjAwOS0wOC0xOCAxMzozNTo1OSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVndHNkZW11eCwgbXBlZ3RzcGFyc2U6IG1heCBzZWN0aW9uIGxlbmd0aCBpcyA0MDkzIG5vdCAxMDIxLgoKMjAwOS0wOC0xOCAwMTowODowMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBwYWQgZm9yIERWQiBTdWJ0aXRsaW5nIHBhZHMKCjIwMDktMDktMTMgMTk6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBVc2UgY29ycmVjdCByb3dzdHJpZGUgZm9yIDggYml0IGdyYXlzY2FsZSB0b28KCjIwMDktMDktMTMgMTk6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBDb3JyZWN0bHkgY29udmVydCBmcm9tL3RvIEdTdHJlYW1lciByb3dzdHJpZGUKCjIwMDktMDktMTMgMTk6MTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBGaXggY2FwcwoJICA4IGJpdCBncmF5c2NhbGUgY2FwcyBoYXZlIG5vIGVuZGlhbm5lc3MgZmllbGQgYW5kIHRoZSBjYXBzIG5hbWUKCSAgb2YgR1NUX1ZJREVPX0NBUFNfUkdCIGlzIHN0aWxsICJ2aWRlby94LXJhdy1yZ2IiIGFuZCBub3QgR1NUX1ZJREVPX0NBUFNfUkdCLgoKMjAwOS0wOS0xMyAxOToxMzoyNCArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tOiBMb3RzIG9mIGJ1Z2ZpeGVzCgkgICgxKSBGaXggZXhhbXBsZXMuCgkgICgyKSBBZGQgc3VwcG9ydCBmb3IgZ3JheSBpbWFnZXMuCgkgICgzKSBSZW1vdmUgInVzZV9maXhlZF9jYXBzIiB3aGljaCBkb2Vzbid0IHNlZW0gdG8gYmUgdXNlZnVsLgoJICAoNCkgRG8gcHJvcGVyIG5lZ290aWF0aW9uIGluIHRoZSBlbmNvZGVyLgoJICAoNSkgRml4IG1lbWxlYWsgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gaW4gdGhlIGVuY29kZXIuCgkgICg2KSBLZWVwIGEgbGluayB0byB0aGUgc3JjIHBhZCBpbiB0aGUgZW5jb2RlciBub3cgdGhhdCB3ZSBuZWVkIGl0IG1vcmUgb2Z0ZW4uCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzE2NDg3MC4KCjIwMDktMDktMTIgMTg6NTc6MDUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIEZpeCBmYWN0b3J5IGluZm9ybWF0aW9uIGZvciBoMjY0cGFyc2UsIGFkZCBtaXNzaW5nIFZpZGVvCgoyMDA5LTA5LTExIDE0OjM4OjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRml4IGFuIG9mZi1ieS04IGJ1ZyBpbiBwYXJzaW5nIHRoZSBBSUZGIGRhdGEgc2l6ZS4KCSAgVGhpcyBsZWQgdG8gb3ZlcnJlYWRpbmcgYnkgOCBieXRlcywgZ2l2aW5nIGFuIGF1ZGlibGUgZ2xpdGNoIGF0IHRoZSBlbmQgb2YKCSAgYSBmaWxlIChleGNlcHQgd2hlbiB0aGUgZmlsZSBkaWRuJ3QgaGF2ZSBhIHRyYWlsaW5nIGNodW5rIG9mIHNvbWUgc29ydCkuCgoyMDA5LTA5LTA4IDIwOjUyOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXNlIEdTVF9USU1FX0ZPUk1BVCBpbiBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA5LTA4IDA5OjIwOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVzZXQgc3RyZWFtLT5sYXN0X3RpbWUgd2hlbiBmbHVzaGluZy4KCSAgVGhpcyBmaXhlcyBuYWl2ZSBzZWVraW5nIGEgdGlueSBiaXQgKGJ5IGJhc2ljYWxseSBoaW50aW5nIGF0IF9kYXRhX2NiCgkgIHRoYXQgaXQgc2hvdWxkbid0IGV4cGVjdCB0aGUgaW5jb21pbmcgYnVmZmVycyB0byBiZSB0aGUgb25lcyBqdXN0IGFmdGVyCgkgIHRoZSBwcmV2aW91cyBvbmVzKS4KCSAgV2l0aG91dCB0aGlzLCBzZWVraW5nIGJ5IG1vcmUgdGhhbiAxMG1pbnMgZm9yd2FyZCB3b3VsZCBqdXN0IGVuZCB1cCBpbiBhbgoJICBlbmRsZXNzIGxvb3AuCgoyMDA5LTA5LTA4IDA5OjE4OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3ByaW5rbGUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zLgoKMjAwOS0wOS0xMCAxMjoxMjoyNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFdoZW4gd3JpdGluZyBpZDN2Mi4zLCBkbyBub3QgdXNlIFVURi04LgoJICBVVEYtOCBpcyBvbmx5IHBlcm1pdHRlZCBpbiB2Mi40LiBTbyBpbnN0ZWFkIHVzZSBJU08tODg1OS0xIGZvciBhc2NpaS1vbmx5CgkgIHN0cmluZ3MsIGFuZCBVVEYxNiBvdGhlcndpc2UuIEFsc28sIGRvIG5vdCBudWxsIHRlcm1pbmF0ZSBzdHJpbmdzIGluIHRleHQKCSAgZnJhbWVzLCBleGNlcHQgd2hlcmUgcmVxdWlyZWQuIFRoZXNlIHR3byBhbGxvdyB3aW5kb3dzIG1lZGlhIHBsYXllciB0byBwbGF5CgkgIChhbmQgY29ycmVjdGx5IHJlYWQgdGFncykgZmlsZXMgY3JlYXRlZCBieSBpZDNtdXguCgoyMDA5LTA3LTIzIDE2OjEzOjI4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogY29tcGxldGUgaW1hIGFkcGNtIHN1cHBvcnQuCgoyMDA5LTA3LTIzIDExOjU5OjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogY2hlY2twb2ludCBmb3IgaW5jb21wbGV0ZSBJTUEgQURQQ00gc3VwcG9ydC4KCjIwMDktMDktMTAgMTI6MDI6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBGaXggZm9ybWF0IHN0cmluZ3MgYW5kIGluY2x1ZGUgY29ycmVjdCBpMThuIGhlYWRlcgoKMjAwOS0wOS0xMCAxMTo1ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IEZpeCBpbmRlbnRpb24sIGxpbmUgZW5kaW5ncyBhbmQgdXNlIExSTidzIHJlYWwgbmFtZQoKMjAwOS0wOS0wOSAxOToxNDoyNyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogSW5pdGlhbCB2ZXJzaW9uIG9mIHZpZGVvbWVhc3VyZSBwbHVnaW4KCSAgVGhpcyBwbHVnaW4gY29udGFpbnMgZWxlbWVudHMgZm9yIGNhbGN1bGF0aW5nIG1ldHJpY3Mgb2YgdmlkZW8gc3RyZWFtcywgaW50ZW5kZWQgZm9yIG9iamVjdGl2ZSB2aWRlbyBjb2RlYyBjb21wYXJpc29uLgoJICBBdCB0aGUgbW9tZW50IG9ubHkgU1NJTSBtZXRyaWMgaXMgaW1wbGVtZW50ZWQgKHdoeSB3b3VsZCB5b3UgbmVlZCBhbnl0aGluZyBlbHNlIGFueXdheT8pLgoJICBBbHNvIGNvbnRhaW5zIGEgaGVscGVyIHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IgZWxlbWVudCB0aGF0IGNvbGxlY3RzIG1lYXN1cmVtZW50IGV2ZW50cyBhbmQgb3V0cHV0cyB0aGVtIGludG8gYSBmaWxlICh0byBiZSB1c2VkIHdpdGggZ3N0LWxhdW5jaCkuCgkgIE90aGVyIG1ldHJpY3MgbWF5IGJlIGltcGxlbWVudGVkIGluIHRoZSBmdXR1cmUgYWxvbmcgd2l0aCBhIGJhc2UgY2xhc3MgZm9yIGFsbCBtZWFzdXJlcnMuCgkgIEZpeGVzIGJ1ZyAjNTk0MzIxLgoKMjAwOS0wOS0xMCAwODo1NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBubTogTWFyayBQTk0gcGx1Z2luIGFzIGV4cGVyaW1lbnRhbCBiZWNhdXNlIGl0IGRvZXNuJ3Qgd29yayB3ZWxsIHlldAoKMjAwOS0wOS0xMCAwODo1Mzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IFBhcnRpYWxseSBmaXggbmVnb3RpYXRpb24gaXNzdWVzIGFuZCByZWZjb3VudCBsZWFrcwoKMjAwOS0wOS0xMCAwODo0ODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCBuZWdvdGlhdGlvbiBpc3N1ZXMgYW5kIHJlZmNvdW50IGxlYWtzCgoyMDA5LTA5LTEwIDA4OjI5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkgIHBubTogRml4IHR5cGVmaW5kZXIgY2FwcwoKMjAwOS0wOS0xMCAwODoyMzoyMiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBBZGQgUE5NIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMKCSAgRml4ZXMgYnVnICMxNjQ4NzAuCgoyMDA5LTA5LTEwIDA3OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkgIHNpZ25hbHByb2Nlc3NvcjogRml4IHZhcmlvdXMgYnVpbGQvZGlzdCBpc3N1ZXMKCSAgSW5zdGFsbCB0aGUgaGVhZGVycywgdmVyc2lvbiB0aGUgbGlicmFyeSB3aXRoIEBHU1RfTUFKT1JNSU5PUkAsCgkgIGFkZCBhbGwgcmVxdWlyZWQgbGlicmFyaWVzIHRvIF9MSUJBREQgaW5zdGVhZCBvZiBfTERGTEFHUywKCSAgYW5kIGFkZCBHU1RfKl9MREZMQUdTIHRvIF9MREZMQUdTLgoJICBGaXhlcyBidWcgIzU5NDcxNS4KCjIwMDktMDktMDkgMTQ6MzQ6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogY2FjaGUgZGV2aWNlIGNhcHMKCjIwMDktMDktMDkgMTI6NDE6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93dmlkZW9zcmM6IHVzZSBJRW51bU1lZGlhVHlwZXMgd2hlbiBJQU1TdHJlYW1Db25maWcgaXMgbm90IHVzYWJsZQoJICBGb3Igc29tZSBkZXZpY2UgZHJpdmVycyBJQU1TdHJlYW1Db25maWcgaXMgbm90IHN1cHBvcnRlZC4KCSAgQnV0IEVudW1NZWRpYXR5cGVzIGRvZXMgbm90IHByb3ZpZGUgcmFuZ2Ugc2l6ZSBhbmQgZnJhbWVyYXRlLgoKMjAwOS0wOS0wNiAxMTo1MDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTA5LTA4IDIyOjI0OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cyBmb3IgZGlzY3JlcGFuY3kgY2FzZXMgYW5kIHBsdWcgbWVtbGVhawoKMjAwOS0wOS0wNiAxMTo0OToxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHNwcmlua2xlIHNvbWUgbW9yZSBHXyhVTilMSUtFTFkKCjIwMDktMDktMDYgMTE6NDQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBlbmZvcmNlIHN5bmMgYmV0d2VlbiB3cmFwcGVyIHZpZXcgb2YgZGF0YSBhbmQgZW5jb2RlciByZXR1cm5lZCBkYXRhCgoyMDA5LTA5LTA1IDIxOjM1OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZhYWMgdG8gZG9jdW1lbnRhdGlvbgoKMjAwOS0wOS0wNSAyMTozNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCjIwMDktMDgtMzEgMTk6MzE6NTcgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogbWFrZSBHU1RfRk9STUFUX1RJTUUgdGhlIGRlZmF1bHQgc2VnbWVudCBmb3JtYXQKCjIwMDktMDgtMzEgMTk6MzM6NTAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzIGJ1ZyAjNTk0Mjc4LgoKMjAwOS0wOS0wOCAxNToxNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdXNhZ2Ugb2YgX19hbHdheXNfaW5saW5lX18gYXR0cmlidXRlCgkgIFRoaXMgYXR0cmlidXRlIGNhbid0IGJlIHVzZWQgZm9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBiZWNhdXNlCgkgIGl0IG5lZWRzIHRoZSBmdW5jdGlvbiBib2R5LiBJbnN0ZWFkIG9mIGEgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZgoJICBmdW5jdGlvbnMsIG1vdmUgdGhlIGZ1bmN0aW9uIGl0c2VsZiBhYm92ZSBpdCdzIGZpcnN0IHVzZS4KCSAgRml4ZXMgYnVnICM1OTQ0ODkgYW5kIGNvbXBpbGF0aW9uIHdpdGggZ2NjIDQuMyBhbmQgZWFybGllci4KCjIwMDktMDktMDcgMTc6MzM6MTUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJhc3MgPSAwLjkuNgoJICBGaXhlcyBidWcgIzU5NDM4Mi4KCjIwMDktMDktMDcgMTk6MDg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggYXNwZWN0LXJhdGlvIHBhcnNpbmcgaW4gVk8KCjIwMDktMDktMDcgMTY6MjA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhbHNvIGNvbnNpZGVyIHVzZXJfZGF0YSBwaWVjZXMgd2hlbiBwYXJzaW5nIFZPKFMpCgoyMDA5LTA5LTA3IDE2OjQ0OjUyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUwoKMjAwOS0wOS0wNyAxNTo0NDoxNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiB1cGdyYWRlIGZyb3plbiBidWlsZCB0byB2czkKCjIwMDktMDktMDcgMTU6MjE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGluZGVudCBkc2hvd3NyY3dyYXBwZXIuY3BwCgoyMDA5LTA5LTA3IDE1OjEyOjU1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgUmV2ZXJ0ICJkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1bnVzZWQgZXh0ZXJuIEMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDNjODhkNjM3ZDdlN2Q2MGYxNDM3Y2NkM2RmYzIzYjM3ZTJhMzIwZS4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgdGhlIGVudHJ5IHBvaW50IGlzbid0IGZvdW5kIGJlY2F1c2Ugb2YKCSAgQysrIGJ1aWxkLgoKMjAwOS0wOS0wNyAxMDo1OTo1MyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IGluZGVudAoKMjAwOS0wOS0wNyAxMDo1MToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjb252ZXJ0IGxpbmUgZW5kZWQgY2hhcmFjdGVycyB0byBMRgoKMjAwOS0wOS0wNyAxMDozODozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVudXNlZCBleHRlcm4gQwoKMjAwOS0wOS0wNyAxMDozMTo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBnbyBiYWNrIHRvIHByZXZpb3VzIG1vZGUKCjIwMDktMDktMDUgMTA6MjI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMGE4NTllIHRvIDE5ZmE0ZjMKCjIwMDktMDktMDQgMTk6MTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaS90aW1pZGl0eTogQWRkIGF1ZGlvL3JpZmYtbWlkaSB0byB0aGUgc3JjIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTA5LTA0IDE3OjMyOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogZml4IHNldHRpbmcgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZAoJICBBbHNvIHNldCB0aGUgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZCB3aGVuIHRoZSBpbnB1dCBidWZmZXJzIGRvbid0IGhhdmUgY2Fwcy4KCjIwMDktMDktMDQgMTc6Mjc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiBjbGVhbnVwcyBhbmQgZml4IHNlZWtpbmcKCSAgUmVtb3ZlIHRpbWVfcGVyX2ZyYW1lLCBpdCdzIHRvbyBpbmFjY3VyYXRlLgoJICBGaXggY29udmVydCBmb3IgLTEgdmFsdWVzLgoJICBVc2Ugc2NhbGluZyB0byBjb252ZXJ0IHNhbXBsZXMgdG8gdGltZS4KCSAgRml4IHNlZ21lbnQgaGFuZGxpbmcuCgkgIEZpeCBzZWVraW5nLgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIChub3QgeWV0IGVuYWJsZWQpCgkgIFByb3RlY3QgdGhlIFdpbGRNaWRpIGxpYnJhcnkgd2l0aCB0aGUgb2JqZWN0IGxvY2sgdG8gYXZvaWQgcmFjZXMgd2hlbiBjaGFuZ2luZwoJICBwcm9wZXJ0aWVzLgoJICBGaXggb2Zmc2V0cyBvbiBvdXRwdXQgYnVmZmVycywgZm9yIHJhdyBhdWRpbyB0aGUgb2Zmc2V0IGNvbnRhaW5zIHRoZSBzYW1wbGUKCSAgcG9zaXRpb24gbm90IGJ5dGUgcG9zaXRpb24uCgkgIEFkZCBiZXR0ZXIgRElTQ09OVCBoYW5kbGluZy4KCSAgRml4ZXMgIzUxOTAwMQoKMjAwOS0wOS0wNCAxNjoyOTo1MyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBtb3ZlIFZJREVPX1NUUkVBTV9DT05GSUdfQ0FQUyB0byBHc3RDYXB0dXJlUGluTWVkaWFUeXBlCgoyMDA5LTA5LTA0IDE0OjExOjMzICswMTAwICBjaHJpc3RpYW4gc2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDktMDQgMTQ6MTA6NTUgKzAxMDAgIGNocmlzdGlhbiBzY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA5LTA0IDEzOjEzOjM5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogaGFuZGxlIGFsbCByZWRpcmVjdGlvbiBodHRwIHN0YXR1cyBjb2RlcwoKMjAwOS0wOS0wNCAxMjo1MzozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGluIHNlZWtpbmcgdXNlIGEgZmFjdG9yIGZvciBTQ1IgaW50ZXJwb2xhdGlvbgoJICBGaXhlcyBzZWVraW5nIG9uIGNsaXBzIHdoZXJlIFBUUyBhcmUgdW5hbGlnbmRlZCB3aXRoIFNDUi4KCjIwMDktMDktMDQgMTI6NDA6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIHNpcmVuZGVjOiByZXdyaXRlIHNpcmVuZGVjCgkgIEFkZCBzZXRjYXBzIGFuZCBldmVudCBmdW5jdGlvbnMuCgkgIEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIHRvIGNsZWFuIHZhcmlhYmxlcy4KCSAgVXNlIGFkYXB0ZXIuCgkgIEFkZCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBBZGQgRElTQ09OVCBoYW5kbGluZy4KCjIwMDktMDktMDQgMTI6NDA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW5lbmM6IGNsZWFudXBzCgoyMDA5LTA5LTA0IDEyOjM1OjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBzZXQgc3BlY2lmaWMgY2FwcyBmb3IgbHBjbSBpbiBwcml2YXRlIHN0cmVhbQoJICBJbiB0aGUgY2xpcHMgdGhhdCBJJ3ZlIGZvdW5kIHRob3NlIHN0cmVhbXMsIHRoZSBscGNtIGhlYWRlciBpcwoJICBkaWZmZXJlbnQgdGhhbiB0aGUgRFZEIGNhc2UuCgkgIFRoZW4gdGhlIGRlY29kZXIgbmVlZCB0byBrbm93IHRoaXMgaW4gb3JkZXIgdG8gYmUgYWJsZSBwYXJzZSBpdC4KCjIwMDktMDktMDQgMTI6MzA6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogYWRkZWQgYXV0b2RldGVjdCBvZiBwYWNrZXQgc2l6ZSBhbmQgcmVtb3ZlZCBtMnRzIG1vZGUgcHJvcGVydHkKCjIwMDktMDktMDQgMTI6MDg6NDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2NhcEBnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA5LTA0IDEyOjA4OjAyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBtb3ZlIGRlZmF1bHQgdmlkZW8gY2FwcyBpbnRvIEdzdENhcHR1cmVQaW5NZWRpYVR5cGUKCjIwMDktMDktMDQgMTI6MDI6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBzb21lIG1vcmUgaGFuZGxpbmcgb2YgVkMxIGFuZCBFQUMzCgkgIElmIHRoZSBQTVQgaGF2ZSB0aGUgcmVnaXN0ZXIgZGVzY3JpcHRvciBIRE1WIGFzc3VtZSBFQUMzCgkgIEZvciBWQzEgbWFrZSB0aGUgY29kZSBtb3JlIGFsaWduZWQgdG8gUlAyMjcuCgoyMDA5LTA3LTE2IDEwOjA2OjM2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBUcnkgdG8gZml0IHN1YnRpdGxlcyB3aXRoaW4gdGhlIHZpZGVvIGZyYW1lIHdoZW4gdGhleSdyZSB0b28gbGFyZ2UKCjIwMDktMDktMDEgMjE6MzA6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogU2V0IHRoZSBHU3RyZWFtZXIgdGltZXN0YW1wIGFjY29yZGluZyB0byB0aGUgcGNhcCB0aW1lc3RhbXBzCgoyMDA5LTA5LTAzIDE5OjA0OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogZml4IGV2ZW50cyBhbmQgY2FwcwoJICBBZGQgYW4gZXZlbnQgZnVuY3Rpb24gdGhhdCBjbGVhcnMgdGhlIGFkYXB0ZXIuCgkgIEFkZCBhIHNldGNhcHMgZnVuY3Rpb24gdG8gY29uZmlndXJlIGNhcHMgb24gdGhlIHNyY3BhZC4gUmVtb3ZlIHRoZSBpbnN0YW5jZQoJICB2YXJpYWJsZSBmb3IgdGhlIGNhcHMuCgoyMDA5LTA5LTAzIDE4OjQzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogZml4IHRpbWVzdGFtcGluZwoJICBIYW5kbGUgRElTQ09OVCBhbmQgcmVzZXQgYWRhcHRlci4KCSAgY29kZSBjbGVhbnVwcy4KCSAgUHV0IHRpbWVzdGFtcHMgYW5kIGRpc2NvbnQgZmxhZ3Mgb24gb3V0cHV0IGJ1ZmZlcnMuCgkgIEZpeCBlcnJvciBoYW5kbGluZy4KCSAgUmVtb3ZlIGJvZ3VzIG9iamVjdCBsb2NrcywgaXQncyBhbGwgcHJvdGVjdGVkIGJ5IHRoZSBTVFJFQU1fTE9DSy4KCjIwMDktMDktMDMgMTc6NDk6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGZhY3Rvcml6ZSBkc2hvdyBmb3JtYXQgdG8gZ3N0IGNhcHMgY29udmVyc2lvbgoKMjAwOS0wOS0wMyAxNzoyMDo0NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSBjcGx1c3BsdXMgY29uZGl0aW9uCgoyMDA5LTA5LTAzIDE3OjEyOjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBmYWN0b3JpemUgZHNob3cgdmlkZW8gZm9ybWF0IHBhcnNpbmcKCjIwMDktMDktMDMgMTU6NDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSWYgc3RyZWFtIHR5cGUgaXMgQUMzIGFuZCBubyBFQUMzIGRlc2NyaXB0b3IgaXMgZm91bmQgYXNzdW1lIEFDMwoKMjAwOS0wOS0wMyAxNTo0MDoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgRUFDMyBoYW5kbGluZyBhY2NvcmRpbmcgc29tZSBBVFNDIHNwZWNzLgoJICBGaXhlcyBidWcgIzU5NDAzMC4KCjIwMDktMDktMDMgMDA6Mjg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBtb3ZlIHhkZyB0eXBlZmluZGVyIHRvIHRoZSBvdGhlciB0eXBlZmluZGVycyBpbiAtYmFzZQoJICBSZW1vdmUgdGhlIHhkZ21pbWUgcGx1Z2luIHdoaWNoIG5vdyBiYXJlbHkgY29udGFpbnMgYW55IGNvZGUgYXQgYWxsCgkgIGFuZCBtb3ZlIHRoZSBmdW5jdGlvbmFsaXR5IGludG8gZ3N0LXBsdWdpbnMtYmFzZSBuZXh0IHRvIHRoZSBvdGhlcgoJICB0eXBlZmluZGVycy4KCjIwMDktMDktMDIgMTM6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3NtdXgsIG1wZWdwc211eDogZml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHdpdGggdGhlIGRlYnVnZ2luZyBzeXN0ZW0gaW4gY29yZSBkaXNhYmxlZAoKMjAwOS0wOS0wMSAxMjo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTdHJlYW0gdHlwZSAweDgxIGlzIG5vcm1hbCBBQzMsIG5vdCBFQUMzCgkgIE5vdCBzdXJlIHdoYXQgdGhlIHN0cmVhbSB0eXBlIGZvciBFQUMzIGlzIHRob3VnaC4KCSAgRml4ZXMgYnVnICM1OTMwNTkuCgoyMDA5LTA4LTMwIDIzOjA3OjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVmYWN0b3Igc2xpZ2h0bHkgYW5kIHJlbW92ZSBzdXBlcmZsdW91cyBjb2RlCgoyMDA5LTA4LTMwIDIzOjA2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZnJlc2hlbiB1cCBjYXBzIG5lZ290aWF0aW9uCgkgIFBlcmZvcm0gc2luayBhbmQgc3JjIGNhcHMgbmVnb3RpYXRpb24gZHVyaW5nIGNhcHMgbmVnb3RhdGlvbiwKCSAgYW5kIGFsc28gY2F0ZXIgZm9yIHJlLW5lZ290aWF0aW9uLgoKMjAwOS0wOC0zMCAyMzowMDozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogcmV3cml0ZSBkYXRhIGNhY2hpbmcgYW5kIHRpbWVzdGFtcCBoYW5kbGluZwoJICBBbHNvIGZpeGVzICM1OTMzNDguCgoyMDA5LTA4LTMxIDE4OjU1OjUyICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBIGxpdHRsZSBjbGVhbiB1cC4KCSAgUmVvcmRlciB0aGUgbGlzdCBvZiBBTV9DT05ESVRJT05BTCgpcyB1c2VkIHdoZW4gLS1kaXNhYmxlLWV4dGVybmFsIGlzCgkgIHNwZWNpZmllZCB0byBtYXRjaCB0aGUgYWN0dWFsIG9yZGVyIG9mIHRoZSBwbHVnLWlucyBlYXJsaWVyIGluIHRoZSBmaWxlLgoKMjAwOS0wOC0zMSAxODo0OToxNiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWxsb3cgLS1kaXNhYmxlLWV4dGVybmFsIHRvIGJlIHNwZWNpZmllZCBhZ2Fpbi4KCjIwMDktMDgtMzEgMTg6NDc6NDQgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsbG93IC0tZGlzYWJsZS1rYXRlIHRvIGFjdHVhbGx5IGJlIHNwZWNpZmllZC4KCjIwMDktMDgtMzEgMTg6NDE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGNsZWFudXAgZXJyb3IgaGFuZGxlcgoKMjAwOS0wOC0zMSAxODozNDowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZnJlZSB0aGUgYWRhcHRlcgoKMjAwOS0wOC0zMSAxODozMjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogY2xlYW51cHMKCjIwMDktMDgtMzEgMTg6MjE6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGFsbG93IGZvciBwdXNoIG1vZGUgb3BlcmF0aW9uCgkgIEZpeGVzICM1ODY5MjkKCjIwMDktMDgtMzEgMTg6MjA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiB1c2Ugc3RhdGUgbWFjaGluZQoJICBVc2UgYSBzdGF0ZSBtYWNoaW5lIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgc3RhdGUuCgkgIEFkZCBjaGFpbiBmdW5jdGlvbiBhbmQgZXZlbnQgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQuCgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAwOS0wOC0zMSAxNzozODoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogcmVtb3ZlIHVzZWxlc3MgZnVuY3Rpb24gY2FsbHMKCjIwMDktMDgtMzEgMTc6MzM6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiBzZXQgY2FwcyBvbiBwYWQKCSAgU2V0IHRoZSBjYXBzIG9uIHRoZSBwYWQgYW5kIHVzZSB0aG9zZSBjYXBzIGluc3RlYWQgb2Yga2VlcGluZyBhIHNlcGFyYXRlIGNhcHMKCSAgcG9pbnRlciBhcm91bmQuCgkgIEZpeCBzb21lIHdoaXRlc3BhY2UuCgoyMDA5LTA4LTMxIDE3OjI3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggd2hpdGVzcGFjZQoKMjAwOS0wOC0zMSAxNjowNzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSAga2F0ZTogZml4IHR5cG8gaW4gTWFrZWZpbGUuYW0KCSAgR1NUX1BMVUdJTl9CQVNFX0xJQlMgc2hvdWxkIGJlIEdTVF9QTFVHSU5TX0JBU0VfTElCUy4gRml4ZXMgIzU5MzY4My4KCjIwMDktMDgtMzEgMTM6MzE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MgZm9yIGdpdCB2ZXJzaW9uCgoyMDA5LTA4LTMxIDEzOjE0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEdzdEFkYXB0ZXIgaXMgbm90IGEgR3N0T2JqZWN0IGFuZCBzaG91bGQgYmUgZnJlZWQgd2l0aCBnX29iamVjdF91bnJlZigpCgoyMDA5LTA4LTMxIDEzOjAwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIGFuIG9sZC1mYXNoaW9uZWQgYXJyYXkgaW5zdGVhZCBvZiBHUHRyQXJyYXkgZm9yIG11eC0+cHJvZ3JhbXMKCSAgVXNpbmcgR1B0ckFycmF5IGZvciBhIGZpeGVkLXNpemVkIGFycmF5IGlzIGEgYml0IHBvaW50bGVzcyBhbmQgbWFrZXMKCSAgZm9yIHVnbHkgY29kZS4KCjIwMDktMDgtMzEgMTA6NDg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuaDoKCSAgbXBlZ3BzbXV4OiBBZGQgbWlzc2luZyBmaWxlcyB0byBmaXggY29tcGlsYXRpb24KCSAgRml4ZXMgYnVnICM1OTM2MjUuCgoyMDA5LTA4LTEwIDAxOjE0OjE5ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGV4YW1wbGVzL21wdHNfdGVzdDIuYzoKCSAgbXBlZ3RzbXV4OiBUZXN0IHByb2dyYW0gb2YgbXB0cyBzdXBwb3J0IGlzIGFkZGVkCgoyMDA5LTA3LTIyIDIwOjI3OjM2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogTWlub3IgZml4ZXMKCjIwMDktMDctMjIgMjA6MjU6NDIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtdXgtPnByb2dyYW1zOiB1c2UgR1BydEFycmF5IGluc3RlYWQgb2YgR0FycmF5CgoyMDA5LTA3LTExIDE5OjI5OjUzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbXBlZ3RzbXV4X2NvbGxlY3RlZCgpOiBjYWxjdWxhdGUgUENSIGZvciBwcm9ncmFtcwoKMjAwOS0wNy0xMSAxOToxNToxMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1wZWd0c211eF9jcmVhdGVfc3RyZWFtcygpOiBjcmVhdGUgbXVsdGkgc3RyZWFtcwoKMjAwOS0wNy0xMSAxOToxMzoyMyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IE1wZXRUc1BhZERhdGE6IGFkZCBwcm9nX2lkIGFuZCByZWYgdG8gaXRzIHByb2dyYW0KCjIwMDktMDctMTEgMTk6MDk6MTcgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBFeHRlbmQgbXV4LT5wcm9ncmFtIHRvIGEgR0FycmF5IHByb2dyYW1zCgoyMDA5LTA3LTExIDE3OjQ0OjU0ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogQWRkIG5ldyBwcm9wZXJ0eSBwcm9nLW1hcCB0byB0aGUgbXV4ZXIKCjIwMDktMDgtMTggMTI6MTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGcmVlIHRoZSBQUFMgYnVmZmVycyB0b28KCjIwMDktMDgtMTcgMTg6MDM6MDAgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb21wdXRlIHRpbWVzdGFtcAoKMjAwOS0wOC0xNyAxNzo1ODo0NiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlY29nbml6ZSBtb3JlIHR5cGVzIG9mIE5BTAoJICBBbHNvIHJlY29nbml6ZXMgTkFMcyBjYXJyeWluZyBWQ0wgKGkuZS4gdmlzaWJsZSBwaWN0dXJlcykuIFdlCgkgIHR5cGljYWxseSBvbmx5IGNvbXB1dGUgdGltZXN0YW1wcyBmb3Igc3VjaCBOQUxzCgoyMDA5LTA4LTE3IDE3OjU2OjI2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcGFyc2VyIGluaXQgJiBmaW5hbGl6ZQoKMjAwOS0wOC0xNyAxNzo1Mzo0MyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBzbGljZSBoZWFkZXIKCjIwMDktMDgtMTcgMTc6NTM6MTEgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJCgoyMDA5LTA4LTE3IDE3OjUyOjQ3ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSTogcGljdHVyZSB0aW1pbmcgaW5mbwoKMjAwOS0wOC0xNyAxNzo1MjoxMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUk6IGJ1ZmZlcmluZyBwZXJpb2QKCjIwMDktMDgtMTcgMTc6NTE6MzYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgUFBTCgoyMDA5LTA4LTE3IDE3OjUxOjEwICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNQUwoKMjAwOS0wOC0xNyAxNzo1MDozMyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNQUzogZGVjb2RlIHZ1aSBwYXJhbXMKCjIwMDktMDgtMTcgMTc6NTA6MDIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTUFM6IGRlY29kZSBocmQgcGFyYW1zCgoyMDA5LTA4LTE3IDE3OjQ0OjM4ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgc2xpY2UgaGVhZGVyIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzo0Mzo1MSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFNFSSBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6NDI6MDYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBQUFMgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjM4OjU5ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgU1BTIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xMSAxMjowMDoxMCArMDIwMCAgTGluIFlhbmcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvYml0cy5oOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiBBZGQgTVBFRyBQUyBtdXhlcgoKMjAwOS0wOC0xMyAxNjo0NTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmc6IEFkZCBSU1ZHIFNWRyBkZWNvZGVyIHBsdWdpbgoJICBUaGlzIHN1cHBvcnRzCgkgIC0gZGVjb2Rpbmcgc2luZ2xlIFNWRyBpbWFnZXMgYW5kIGEgc3RyZWFtIG9mIFNWRyBpbWFnZXMgd2l0aCBhIGdpdmVuIGZyYW1lcmF0ZQoJICAtIGxvc3NsZXNzIHNjYWxpbmcgb2YgU1ZHIGltYWdlcwoJICAtIEFSR0Igb3V0cHV0CgoyMDA5LTA4LTMxIDA5OjExOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJhc3MgPj0gMC45LjcgYW5kIGZpeCBhc3BlY3QgcmF0aW8gc2V0dGluZwoJICBGaXhlcyBidWcgIzU3NTI2MS4KCjIwMDktMDgtMzAgMjI6MjA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdMaWIgMi4xNiBBUEkKCjIwMDktMDgtMzAgMjI6MTc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50Lmg6CgkgIHhkZ21pbWU6IEFsd2F5cyB1c2UgR0xpYiBpbnN0ZWFkIG9mIHhkZ21pbWUKCSAgTm93IHRoYXQgd2UgZGVwZW5kIG9uIEdMaWIgMi4xNiB3ZSBjYW4gYXMgd2VsbCB1c2UgaXQncwoJICBpbnRlcm5hbCBjb3B5IG9mIHRoZSB4ZGdtaW1lIGluc3RlYWQgb2Ygb3VyIG93bi4KCjIwMDktMDgtMzAgMjI6MTM6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdMaWIgMi4xNiBBUEkKCjIwMDktMDgtMTkgMTc6MTg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJzbnN0cmVhbXNlbGVjdG9yOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE3OjA1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMzAgMjM6Mzg6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE0LjEKCj09PSByZWxlYXNlIDAuMTAuMTQgPT09CgoyMDA5LTA4LTMwIDAwOjI0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1cGRhdGUgY29tbW9uIHRvIGEgdmVyc2lvbiB0aGF0IGluY2x1ZGVzIGEgZml4ZWQgbWFuZ2xlLXRtcGwucHkKCSAgV2hpY2ggaXMgbmVlZGVkIHRvIGJ1aWxkIHRoZSBwbHVnaW4gZG9jcyBmb3IgdGhlIGZyZWkwciBwbHVnaW4gKGFuZAoJICB3YXMgaW5jbHVkZWQgaW4gdGhlIDAuMTAuMTQgcmVsZWFzZSB0YXJiYWxsKS4KCjIwMDktMDgtMjkgMTk6MzU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE0CgoyMDA5LTA4LTI5IDE5OjAyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDgtMjYgMDE6MjE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuNSBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNiAwMToxODowMCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3RkcmF3LCBkaXJlY3Rzb3VuZDogdW5pZnkgQ0ZMQUdTIGFuZCBmaXggY29uZmlndXJlIGNoZWNrcyBmb3IgRGlyZWN0WC1iYXNlZCBwbHVnaW5zCgkgIE9uZSBzZXQgb2YgQ0ZMQUdTIGZvciBhbGwgRGlyZWN0WC1iYXNlZCBwbHVnaW5zLiBDb3JyZWN0IGhlYWRlci9saWJyYXJ5CgkgIGNoZWNrcyBmb3IgRGlyZWN0WC1iYXNlZC1wbHVnaW5zLiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFuZCBsYWJlbCBpbgoJICBkaXJlY3Rzb3VuZHNyYy4KCSAgRml4ZXMgIzU5MzA2OC4KCjIwMDktMDgtMjYgMDA6MjY6NDIgKzAxMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgcmlnaHQgT0ZGU0VUIGFuZCBPRkZTRVRfRU5EIG9uIGhlYWRlciBidWZmZXJzIHRvIG1ha2Ugb2dnbXV4IGhhcHB5CgkgIFdpdGhvdXQgdGhpcyBvZ2dtdXggd2lsbCBqdXN0IGtlZXAgYnVmZmVyaW5nIG91dHB1dCBwYWdlcyBpbiBzb21lIGNhc2VzLgoJICBGaXhlcyAjNTkzMDI0LgoKMjAwOS0wOC0yNSAyMzo0NDo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQsIHJhd3BhcnNlOiBmaXggTERGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBsaWJzCgkgIEZpeGVzICM1OTMwNjMuCgoyMDA5LTA4LTI0IDIwOjA2OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjQgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjQgMTg6MTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiB1c2UgZGlmZmVyZW50IGVsZW1lbnQgR1R5cGUgbmFtZSB0byBhdm9pZCBjb25mbGljdCB3aXRoIHByZXZpb3VzIHBsdWdpbgoJICBVc2UgYSBkaWZmZXJlbnQgR1R5cGUgbmFtZSBmb3IgdGhlIGVsZW1lbnQgdG8gYXZvaWQgJ2Nhbm5vdCByZWdpc3RlciBleGlzdGluZyB0eXBlJwoJICB3YXJuaW5ncyB3aGVuIHJ1bm5pbmcgJ21ha2UgY2hlY2snIGluIHRoZSB1bnBhY2tlZCB0YXJiYWxsIHdpdGggdGhlIG9sZCBhbXJ3YiBwbHVnaW4KCSAgYWxzbyBpbnN0YWxsZWQgYXMgc3lzdGVtIHBsdWdpbiB1bmRlciB0aGUgb2xkIG5hbWUgKGl0IHVzZWQgdG8gYmUgY2FsbGVkICdhbXJ3cmInCgkgIGFuZCBub3cgaXQncyAnYW1yd2JlbmMnKS4KCjIwMDktMDgtMjQgMTQ6Mzc6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiB1c2Ugb2YgZGVmYXVsdCBkZWJ1ZyBjYXRlZ29yeSBhbmQgYmV0dGVyIGRzaG93IGVycm9ycyByZWFkYWJpbGl0eQoKMjAwOS0wOC0yMSAwMToxNzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LW9zczQgdG8gdHJlYXQgYW4gZW1wdHkgZGV2aWNlIG5hbWUgdGhlIHNhbWUgYXMgYSBOVUxMIG5hbWUKCjIwMDktMDgtMTggMTU6NDg6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBXcml0ZSBGT1VSQ0MgYXMgMzJiaXQKCjIwMDktMDgtMTUgMTc6NTQ6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJICByZW1vdmUgYSBidW5jaCBvZiBqdW5rIGZyb20gUkVRVUlSRU1FTlRTCgoyMDA5LTA4LTE0IDIwOjIwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjMgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTQgMTQ6MTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRpc2FibGUgYXNzIHBsdWdpbiBmb3IgbGliYXNzID49IDAuOS43IGJlY2F1c2Ugb2YgQVBJIGNoYW5nZXMKCSAgU2VlICM1NzUyNjEuCgoyMDA5LTA4LTEyIDE4OjMzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogRG8gbm90IG1lc3MgdXAgR3N0Q29sbGVjdERhdGEgbGlzdAoJICBhc2ZtdXggd2FzIG1lc3NpbmcgdXAgd2l0aCB0aGUgR3N0Q29sbGVjdERhdGEgbGlzdCBvZiBpdHMKCSAgR3N0Q29sbGVjdFBhZHMgd2hlbiBzb3J0aW5nIHRoZSBsaXN0IGlucGxhY2UuIFRoaXMgcGF0Y2ggbWFrZXMKCSAgaXQgY29weSB0aGUgbGlzdCBiZWZvcmUgc29ydGluZyBpdCwgbGVhdmluZyB0aGUgR3N0Q29sbGVjdFBhZHMKCSAgbGlzdCBhcyBpcy4gRml4ZXMgIzU5MTYxMAoKMjAwOS0wOC0xMiAxMjoyMzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVVNFIEdTVF9XUklURV8qX0xFIG1hY3JvcwoKMjAwOS0wOC0xMiAxMjoyMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVmdXNlIHRvIGdvIHBsYXlpbmcgaW4gcGF1c2VkLW1vZGUgd2l0aG91dCBjbG9jawoJICBPbmx5IHRyeSB0byB1c2UgdGhlIGNsb2NrIGluIGlmIHBhdXNlZC1tb2RlIGlzIHNldCBhbmQgcmVmdXNlIHRvIGdvIHBsYXlpbmcKCSAgaW4gcGF1c2VkLW1vZGUgd2l0aG91dCBpdC4KCSAgRml4ZXMgYnVnICM1OTE1MzgKCjIwMDktMDgtMTEgMTY6NDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogRW1wdHkgZXZlbnQgcXVldWUgb24gZmluYWxpemUKCjIwMDktMDgtMTEgMTY6Mzk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBVc2UgR1NsaWNlIGZvciBpbnRlcm5hbCBldmVudCBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTIgMTA6Mjg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogYmxhY2tsaXN0IGZvciBnZW5lcmljIHN0YXRlcyB0ZXN0LCBhbmQgZGVtb3RlIHRvIEdTVF9SQU5LX05PTkUKCSAgVGhlc2UgZWxlbWVudHMgYXJlIG5vdCBmaXQgZm9yIGF1dG9wbHVnZ2luZywgc28gZGVtb3RpbmcgdG8gUkFOS19OT05FLgoJICBBbHNvIGJsYWNrbGlzdGluZyBmb3IgZ2VuZXJpYyBzdGF0ZXMgdGVzdCwgc2luY2UgZml4aW5nIHRoZXNlIGVsZW1lbnRzCgkgIHVwIHRvIGRvIHNvbWUgbWluaW1hbCBlcnJvciBoYW5kbGluZyBzZWVtcyB0byBiZSBhIGJpdCBtb3JlIHdvcmsuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTkxNTM4LgoKMjAwOS0wOC0xMSAxODowMTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4yIHByZS1yZWxlYXNlLgoKMjAwOS0wOC0xMSAxNToyNzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgQWRkIG15c2VsZiB0byBNQUlOVEFJTkVSUyBmaWxlIGFuZCB1cGRhdGUgV2ltJ3MgZS1tYWlsLgoKMjAwOS0wOC0xMSAxNDoxNzozMiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOS0wOC0xMSAxMjo0MjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZWVuYzogZXJyb3Igb3V0IGlmIGNhdGVnb3J5IGhhcyBub3QgYmVlbiBzZXQgYW5kIGNoZWNrIGZvciBvYnZpb3VzbHkgd3JvbmcgdmFsdWVzCgoyMDA5LTA4LTExIDAyOjQ2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHBtYW5hZ2VyLy5naXRpZ25vcmU6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBNb3ZlIHJ0cG1hbmFnZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoKMjAwOS0wOC0xMSAwOTowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgYXNmbXV4IHVuaXQgdGVzdCBiaW5hcnkKCjIwMDktMDgtMTEgMDk6MDA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogZGlzYWJsZSB1bml0IHRlc3RzIHRoYXQgYXJlIGZsYWt5IG9yIGRvbid0IHdvcmsgd2l0aCBjb3JlIGdpdAoJICBjYW1lcmFiaW4gdGVzdCBzZWVtcyB0byB0aW1lIG91dCB3aXRoIGNvcmUgZ2l0LCBzbyBkaXNhYmxpbmcgYmVjYXVzZQoJICBjaGFuY2VzIGFyZSB0aGUgcHJvYmxlbSBpcyBpbiB0aGUgdGVzdCBhbmQgdGhlIGNvcmUgZ2l0IHN0dWZmIHdpbGwKCSAgYmUgcmVsZWFzZWQgYmVmb3JlIHdlIGNhbiBmaXggdGhlIGNvZGUgaW4gdGhlIHRlc3QuCgkgIG5lb25odHRwc3JjIHVuaXQgdGVzdCBpcyBhIGJpdCBmbGFreSwgaXQgdGVuZHMgdG8gZmFpbCB0aGUgZmlyc3QKCSAgdGltZSB3aGVuIGNhbGxlZCAodGhlIGhvc3QvdXJsIGl0IGNoZWNrcyBmb3Igc2VlbXMgdG8gYmUgZG93biBhcwoJICB3ZWxsL2FueXdheSkuCgoyMDA5LTA4LTEwIDIyOjE2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgUmVtb3ZlIGV4ZWN1dGUgZmxhZ3MgZnJvbSBzb3VyY2UgZmlsZXMKCjIwMDktMDgtMDkgMDI6MDQ6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9uCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDktMDgtMTAgMTY6MzU6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjYW4gbGlzdCBtb3JlIHRoYW4gMSBkZXZpY2UKCSAgc29tZXRoaW5nIGxpa2UgdGhlIGZvbGxvd2luZyBjb2RlIG5vdyB3b3JrczoKCSAgdmVjdG9yPHN0cmluZz4gZ2V0VmlkZW9EZXZpY2VOYW1lcygpCgkgIHsKCSAgdmVjdG9yPHN0cmluZz4gbF9uYW1lOwoJICBzdHJpbmcgcHJvcGVydHk7CgkgIEdzdEVsZW1lbnQqIHZpZGVvZGV2aWNlc3JjID0gY3JlYXRlX2VsZW1lbnQoImRzaG93dmlkZW9zcmMiLCAidmlkZW9kZXZpY2VzcmMiKTsKCSAgR3N0UHJvcGVydHlQcm9iZSogcHJvYmUgPSBHU1RfUFJPUEVSVFlfUFJPQkUgKHZpZGVvZGV2aWNlc3JjKTsKCSAgR1ZhbHVlQXJyYXkqIHZhID0gZ3N0X3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXNfbmFtZSAocHJvYmUsICJkZXZpY2UtbmFtZSIpOwoJICBpZiAodmEpCgkgIHsKCSAgZm9yKHNpemVfdCBpPTA7IGkgPCB2YS0+bl92YWx1ZXM7ICsraSkKCSAgewoJICBHVmFsdWUqIHYgPSBnX3ZhbHVlX2FycmF5X2dldF9udGgodmEsIGkpOwoJICBzdHJpbmcgbmFtZShnX3ZhbHVlX2dldF9zdHJpbmcodikpOwoJICBsX25hbWUucHVzaF9iYWNrKG5hbWUpOwoJICB9CgkgIH0KCSAgaWYgKHZpZGVvZGV2aWNlc3JjKQoJICBnc3Rfb2JqZWN0X3VucmVmKEdTVF9PQkpFQ1QgKHZpZGVvZGV2aWNlc3JjKSk7CgkgIHJldHVybiBsX25hbWU7CgkgIH0KCjIwMDktMDgtMTAgMTY6MTc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogaGFuZGxlcyBkZXZpY2UtbmFtZSBwcm9wZXJ0eQoKMjAwOS0wOC0xMCAxNjowMzoxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBhIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBhIG1lZGlhIHR5cGUKCjIwMDktMDgtMTAgMTQ6MzI6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2NhcEBnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA4LTEwIDEzOjIxOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgc3BjOiBmaXggdHlwbyBpbiBNYWtlZmlsZS5hbSBhbmQgYnVpbGQgdGhlIHJpZ2h0IHBsdWdpbiAoc3BjIG5vdCBnbWUpCgoyMDA5LTA4LTEwIDE0OjIzOjE0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBjYW4gdXNlIG90aGVyIHZpZGVvIHNpemVzIGFuZCBmcmFtZXJhdGVzIHRoYW4gdGhlIGRlZmF1bHRzCgkgIEV2ZW4gaWYgdGhlIGRldmljZSBjb3VsZCBjYXB0dXJlIHNldmVyYWwgdmlkZW8gc2l6ZXMgYXQgc2V2ZXJhbCBmcmFtZXJhdGVzLAoJICB3aXRob3V0IHRoaXMgY29tbWl0LCBpdCB3YXMgb25seSBwb3NzaWJsZSB0byB1c2Ugb25lIHZpZGVvIHNpemUgYW5kCgkgIG9uZSBmcmFtZXJhdGU6IHRoZSBkZWZhdWx0IGRpcmVjdHNob3cgdmFsdWVzLgoKMjAwOS0wOC0xMCAxMTo0MDoxMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgZGlyZWN0c291bmRzcmM6IGFkZCB2czggcHJvamVjdAoKMjAwOS0wOC0xMCAxMTozNjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IExGIGFuZCBpbmRlbnQKCjIwMDktMDgtMDkgMTU6MjA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogQ2FjaGUgZXZlbnRzIGFuZCBzZW5kIHRoZW0gZG93bnN0cmVhbSBvbmNlIGFuIGVsZW1lbnQgd2FzIHNlbGVjdGVkCgoyMDA5LTA4LTA5IDE0OjU1OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFNtYWxsIGNsZWFudXBzCgoyMDA5LTA4LTA5IDEyOjI1OjAxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggY3Jhc2ggd2hlbiBleHBvc2luZyBpbiBHU1RfU1RBVEVfUkVBRFkKCSAgRml4ZXMgYnVnICM1NDE5NjIuCgoyMDA5LTA4LTA4IDIyOjE0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IGFuc3dlciB0aGUgU0VFS0lORyBxdWVyeSBpZiB3ZSBkb24ndCBrbm93IHRoZSBhbnN3ZXIgeWV0CgkgIEEgYml0cmF0ZSE9LTEgaXMgcmVxdWlyZWQgZm9yIHNlZWtpbmcgYnV0IHRoZSBiaXRyYXRlIGlzIG9ubHkgY2FsY3VsYXRlZAoJICBhZnRlciB0aGUgc2Vjb25kIFBDUiB3YXMgcmVhZC4KCSAgRml4ZXMgYnVnICM1OTA0NDYuCgoyMDA5LTA4LTA4IDIxOjIwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTG93ZXIgcmFuayB0byBTRUNPTkRBUlkgdG8gbWFrZSB0aGUgZ21lIHBsdWdpbiB0aGUgZGVmYXVsdAoKMjAwOS0wOC0wOCAyMToxNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBBZGQgdGhlIE9wZW5TUEMgc3BjIHBsdWdpbiBhZ2FpbgoJICBUaGUgZ21lIHBsdWdpbiBvYnNvbGV0ZXMgaXQgYnV0IGl0IG1pZ2h0IHN0aWxsIGJlIHVzZWZ1bAoJICBmb3IgdXNlcnMgdGhhdCBkb24ndCBoYXZlIGdtZSB5ZXQgb3IgcHJlZmVyIG9wZW5zcGMgZm9yIHNvbWUgcmVhc29uLgoKMjAwOS0wOC0wOCAxMjoyMDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlOiBzb21lIG1pbm9yIGNsZWFuLXVwcwoJICBQcmludCBmbG93IHJldHVybiBhcyBzdHJpbmcgaW4gbG9nIG1lc3NhZ2U7IGlmIHdlIGNoZWNrIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgd2Ugc2hvdWxkIHVzZSB0aGUgX3RyeSgpIGZ1bmN0aW9uCgkgIHRoYXQgbWlnaHQgYWN0dWFsbHkgcmV0dXJuIE5VTEwuIFBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZwoJICBHU1RfRkxPV19FUlJPUi4gVXNlIHBvcnRhYmxlIEdMaWIgbWFjcm9zIHRvIHByaW50IDY0LWJpdCBpbnRlZ2Vycy4KCSAgRG9uJ3QgdXNlIDBMTCwgdGhhdCdzIGFsc28gbm90IHBvcnRhYmxlIChhbmQgdW5uZWVkZWQgaGVyZSkuCgoyMDA5LTA4LTA4IDEwOjMwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IE9ubHkgcHJvdmlkZSB2ZXJ5IGZ1bmRhbWVudGFsIGNhcHMgaW4gdGhlIHBhZCB0ZW1wbGF0ZQoJICBXZSBjYW4ndCBlYXNpbHkga25vdyB3aGljaCBjYXBzIHdpbGwgY2FuIGJlIHVzZWQgYmVjYXVzZSB3ZSByZWx5IG9uCgkgIGxpYmdzdHZpZGVvJ3Mgc3VwcG9ydCBmb3IgdmlkZW8gZm9ybWF0cy4KCjIwMDktMDgtMDggMTA6Mjc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogU21hbGwgY2xlYW51cHMgYW5kIGltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA4LTA4IDA4OjI3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFNtYWxsIGNsZWFudXBzCgoyMDA5LTA4LTA4IDA3OjU5OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZXZlcnl0aGluZyBpbnN0ZWFkIG9mIG91ciBvd24gY2FsY3VsYXRpb25zCgkgIEFsc28gbWFrZSBSR0IgdXNhZ2UgZWFzaWVyIGJ5IHByb3ZpZGluZyB4UkdCLCBSR0J4LCBldGMuIGZvcm1hdHMKCSAgaW5zdGVhZCBvZiByZXF1aXJpbmcgdG8gc2V0IHJlZF9tYXNrIGFuZCBmcmllbmRzLgoKMjAwOS0wOC0wNyAxOToxMjoyNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGEgbWVtb3J5IGxlYWsKCjIwMDktMDgtMDcgMTk6MDA6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkZWQgVkMxLCBFQUMzIGFuZCBMUENNIHJlbGF0ZWQgdG8gYmx1ZXJheS9oZG12CgoyMDA5LTA4LTA3IDE4OjM1OjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogYWRkZWQgY2FwcyBmb3IgQUFDIGFuZCBmaXhlZCBwbGF5YmFjayBvZiBhIGNsaXAgd2l0aCBMUENNCgoyMDA5LTA4LTA3IDE4OjE3OjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogaW1wcm92ZWQgZGVtdXhlciBwZXJmb3JtYW5jZQoJICBJbmNyZWFzZWQgcGVyZm9ybWFuY2UgZG9pbmcgcHVsbF9yYW5nZSBpbiBibG9ja3Mgb2YgMzJLYiBpbnN0ZWFkIG9mIDRLYi4KCSAgQ2FjaGluZyB0aGUgdmFsdWUgb2YgZ3N0X2FkYXB0ZXJfYXZhaWxhYmxlIGluc3RlYWQgb2YgY2FsbGluZyBpdCAzIHRpbWVzLgoJICBBZGRlZCBzb21lIGNvbW1lbnRzIHdpdGggdGhlIGhlYWRlciBkZXNjcmlwdGlvbnMuCgkgIFBlZWsgZW5vdWdoIGRhdGEgdG8gYXZvaWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBjb3VsZCBiZSByZWFkZWQgZGF0YSBvdXRzaWRlCgkgIHRoZSBidWZmZXIuCgkgIFNwZWVkIHVwIHNvbWUgbW9yZSBpbmxpbmluZyBzb21lIGZ1bmN0aW9ucyBhbmQga2VlcGluZyBhbm90aGVyIHN0cmVhbSBwb2ludGVyCgkgIGxpc3QgdG8gYmUgdXNlZCBhcyBpdGVyYXRvci4KCSAgU3ByaW5rbGUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zIGFjY3Jvc3MgdGhlIGNvZGUuCgkgIEhhbmRsaW5nIHRoZSBzZWVraW5nIHdpdGggZmx1c2ggaW4gcHVsbCBtb2RlIGluIHRoZSBwcm9wZXIgd2F5LgoKMjAwOS0wOC0wNyAxNDo0MTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWVkZWM6IFVzZSBHc3RBZGFwdGVyIGluc3RlYWQgb2YgbWFueSBidWZmZXIgam9pbnMKCSAgVGhpcyByZWR1Y2VzIHRoZSBudW1iZXIgb2YgcmVhbGxvY2F0aW9ucyBhbmQgbWVtY3B5cyBkcmFzdGljYWxseS4KCSAgQWxzbyBmcmVlIHRoZSBpbnB1dCBkYXRhIGFzIHNvb24gYXMgaXQncyBjb21wbGV0ZSBhbmQgcGFzc2VkIHRvIEdNRQoJICBhcyBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZS4KCjIwMDktMDgtMDcgMTM6MDc6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gZHJhaW5pbmcKCjIwMDktMDgtMDcgMTM6MDY6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgoyMDA5LTA4LTA3IDEzOjA0OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGZsYWNwYXJzZTogc3luYyBiYXNlcGFyc2UgKHNvbWUgbW9yZSkKCjIwMDktMDgtMDcgMDk6MjE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lZGVjOiBBZGQgY2FwcyBmb3IgYWxsIHN1cHBvcnRlZCBmaWxlIGZvcm1hdHMgdG8gdGhlIHNyY3BhZCB0ZW1wbGF0ZQoKMjAwOS0wOC0wNyAwNzoyMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IERvbid0IGFkZCBlbXB0eSBzdHJpbmcgdGFncwoKMjAwOS0wOC0wNyAwNzowMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IEZpeCBjYXBzIG5hbWUgYWdhaW4KCjIwMDktMDgtMDcgMDY6NTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lOiBSZW5hbWUgZXZlcnl0aGluZyBmcm9tIFNQQyB0byBHTUUKCjIwMDktMDgtMDcgMDY6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBSZWFsbHkgcmVtb3ZlIG9sZCBTUEMgY29kZQoKMjAwOS0wOC0wNyAwNjo1Njo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ21lL3RhZy5jOgoJKiBleHQvZ21lL3RhZy5oOgoJICBnbWU6IFVzZSBnbWUgZm9yIHRhZ3MgYW5kIGR1cmF0aW9uIHBhcnNpbmcKCjIwMDktMDgtMDcgMDY6NDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nbWUvdGFnLmM6CgkqIGV4dC9nbWUvdGFnLmg6CgkgIHNwYzogUmVuYW1lIFNQQyBwbHVnaW4gdG8gR01FCgkgIGFzIHByZXBhcmF0aW9uIGZvciBlbmFibGluZyBzdXBwb3J0IGZvciBub24tU1BDIGdhbWluZyBjb25zb2xlIHNvdW5kIGZpbGVzLgoKMjAwOS0wOC0wNiAyMTo0MjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGNkZWM6IEZvcndhcmQgYWxsIHVua25vd24gc3JjIGV2ZW50cyB1cHN0cmVhbSBhbmQgZG9uJ3QgcmVzdHJpY3QgdG8gU1BDCgoyMDA5LTA4LTA2IDE5OjI2OjIxICswMjAwICByaWMgPGNzeG5qdSBhdCBzb2dvdS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhdm9pZCBidWZmZXIgbGVhayBvbiBiYWQgc2VxbnVtCgkgIEZpeGVzICM1OTA3OTcKCjIwMDktMDgtMDUgMDk6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnW3B0XXNkZW11eDogRml4IFNFRUtJTkcgcXVlcnkKCSAgU2VuZCB0aGUgQllURVMgYmFzZWQgcXVlcnkgZG93bnN0cmVhbSwgbm90IHRoZSBvcmlnbmFsIG9uZS4KCjIwMDktMDgtMDQgMTI6NTg6MzUgKzAyMDAgIEphbiBVcmJhbnNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVxdWlyZSBlbmRpYW5uZXNzIGZpZWxkIGZvciA4IGJpdCByYXcgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTAzNjAuCgoyMDA5LTA4LTA0IDEwOjE4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBNYWtlIHRoZSBTUEMgcGx1Z2luIHdvcmsgd2l0aCB0aGUgbGF0ZXN0IGxpYmdtZSByZWxlYXNlCgkgIGdtZV9lbmFibGVfYWNjdXJhY3koKSB3YXMgYWRkZWQgaW4gU1ZOIHRydW5rIGFuZCBpcyBub3QgeWV0CgkgIGluIGFueSByZWxlYXNlLgoKMjAwOS0wOC0wNCAxMDowNjo1NCArMDIwMCAgTWljaGFlbCBQeW5lIDxtcHluZUBrZGUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJICBzcGM6IFVzZSB0aGUgcG9ydGFibGUgbGliZ21lIGluc3RlYWQgb2YgeDg2LW9ubHkgT3BlblNQQyBsaWJyYXJ5CgkgIFRoaXMgd2lsbCBsYXRlciBhbGxvdyB1cyB0byBwbGF5IG90aGVyIGdhbWluZyBjb25zb2xlIGZpbGVzCgkgIHRoYXQgYXJlIHN1cHBvcnRlZCBieSBsaWJnbWUuCgkgIEZpeGVzIGJ1ZyAjNTc2ODAwLgoKMjAwOS0wNi0xMiAxNzoyMjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmVtb3ZlIGludGVybmFsIGJpdHJlYWRlciBhbmQgYnl0ZXJlYWRlciBub3cgdGhhdCB0aGVzZSBhcmUgaW4gbGliZ3N0YmFzZQoKMjAwOS0wNy0zMSAxMToyNzowMyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBjaGVjayBmb3IgcGVuZGluZyBzcmNwYWQgaW4gX2dldF9wcm9wZXJ0eSgpCgkgIElmIHRoZXJlIGlzIGEgcGVuZGluZyBzcmNwYWQsIHJldHVybiBpdCBpbnN0ZWFkIG9mIGFjdGl2ZSBzcmNwYWQKCSAgaW4gZ3N0X291dHB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkoKSBmdW5jdGlvbi4KCjIwMDktMDctMzAgMTQ6MTc6NTkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IGNhbWVyYXNyYyB0byBSRUFEWSBzdGF0ZSBpbnN0ZWFkIG9mIFBBVVNFRCB3aGVuIGFjcXVpcmluZyBhbGxvd2VkIGNhcHMKCjIwMDktMDctMzEgMDc6MTY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IGluZGVudGlvbgoKMjAwOS0wNy0zMSAwMjowNTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBkaXJlY3RkcmF3OiBJbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgRml4ZXMgYnVnICM1OTAyMDguCgoyMDA5LTA3LTMxIDAwOjE5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBzZXQgcGFkZGluZyBmaWVsZCB0byAwIG9uIHJ0cCBhc2YgcGFja2V0cwoJICBUaGUgQVNGIFJUUCBzcGVjIGRlbWFuZHMgdGhhdCBwYWNrZXRzIGhhdmUgdGhlaXIgcGFkZGluZyByZW1vdmVkCgkgIGFuZCB0aGUgcGFkZGluZyBzaXplIGZpZWxkIHNldCB0byAwIGZvciBwYWNrZXRzIHdoZW4gcHV0aW5nIHRoZW0KCSAgaW5zaWRlIHRoZSBSVFAgcGFja2V0cwoKMjAwOS0wNy0zMCAwMDoxOToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFNldCB2aWRlbyBzdHJlYW0gc2Vla2FibGUgcHJvcGVydHkgdG8gdHJ1ZQoJICBWaWRlbyBzdHJlYW0gYWx3YXlzIGhhdmUgaW5kZXhlcywgc28gdGhleSBhcmUgYWxsIHNlZWthYmxlCgoyMDA5LTA3LTMwIDAwOjEyOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogUmVtb3ZpbmcgdXNlbGVzcyBUT0RPcwoJICBBZnRlciB0ZXN0aW5nIGluIHdpbmRvd3MgYW5kIGxpbnV4LCB0aGlzIGF1ZGlvIGNvcnJlY3Rpb24gZmllbGQKCSAgbWFkZSBubyBkaWZmZXJlbmNlIHNvIGZhci4gQWxsIGV4YW1wbGUgZmlsZXMgSSBnb3Qgb25seSBoYWQKCSAgemVyb2VzIGluIHRoaXMgZmllbGQKCjIwMDktMDctMzAgMDA6MDQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXhlcyB2aWRlbyBzdHJlYW0gcHJvcGVydGllcyBvYmplY3QKCSAgRml4ZXMgc3RyZWFtIHByb3BlcnRpZXMgb2JqZWN0IGNyZWF0aW9uIGZvciB2aWRlbyBjb250ZW50CgoyMDA5LTA3LTI5IDE5OjA3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogYWNjZXB0IHBhZCByZXF1ZXN0cyBhIGxpdHRsZSBsb25nZXIKCSAgYXNmbXV4IG5vdyBzdGFydCByZWplY3RpbmcgcGFkIHJlcXVlc3RzIGFmdGVyIGl0IHB1c2hlcyB0aGUgZmlyc3QKCSAgYnVmZmVyLCBiZWZvcmUgdGhpcywgaXQgd2FzIHJlamVjdGluZyBhZnRlciBnb2luZyB0byBwYXVzZWQKCjIwMDktMDctMjkgMTg6NDQ6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBhZGRzIHN1cHBvcnQgdG8gdmMtMSBzdHJlYW1zCgoyMDA5LTA3LTI5IDE3OjIzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBlbXB0eSBmaW5hbGl6ZQoKMjAwOS0wNy0yOSAxNjowMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IG1hY3JvIG5hbWUKCjIwMDktMDctMjkgMTU6MzU6MDMgKzAyMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBBZGQgRGlyZWN0U291bmQgc291cmNlIHBsdWdpbgoJICBGaXhlcyBidWcgIzM0NDEyOS4KCjIwMDktMDctMjggMjI6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpcnN0IGJhc2ljIGNoZWNrIHVuaXQgdGVzdHMKCSAgQWRkcyBzaW1wbGUgYXNmbXV4IHVuaXQgdGVzdHMsIHRoYXQgdGVzdCBwYWQgY3JlYXRpb24gYW5kIHB1c2hpbmcgYQoJICBzaW5nbGUgYnVmZmVyIHRocm91Z2ggdGhlbQoKMjAwOS0wNy0yOCAyMTozNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IEZvcmNpbmcgcGFkIG5hbWVzIHRvIGJlIHZpZGVvXyUwMmQgYW5kIGF1ZGlvXyUwMmQgbGlrZQoKMjAwOS0wNy0yOCAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFsbG93IGZvciBOVUxMIGNhcHMgb24gYnVmZmVycwoJICBBZGQgdGhlIE5VTEwgY2FwcyBjaGVjayB3aGVyZSBpdCBtYXR0ZXJzIGFuZCBhbHNvIGNvdmVyIGFub3RoZXIgY2FzZSBvZgoJICBwb3RlbnRpYWwgTlVMTCBjYXBzLgoJICBGaXhlcyAjNTkwMDMwCgoyMDA5LTA3LTI4IDExOjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBJbmNvbWluZyBidWZmZXJzIGRvIG5vdCBhbHdheXMgaGF2ZSBjYXBzCgoyMDA5LTA3LTI3IDE0OjAzOjU5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogcGhvdG8gaWZhY2Ugc2V0dGVyIGZ1bmN0aW9ucyByZXR1cm4gVFJVRSB3aGVuIHVzZWQgaW4gTlVMTCBzdGF0ZQoJICBXZSBjYWNoZSB0aGUgdmFsdWVzIGFuZCBhcHBseSB0aGVuIHdoZW4gcG9zc2libGUuCgoyMDA5LTA3LTI3IDA4OjI1OjM3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkbyBub3QgcHV0IHZpZGVvIHBpcGVsaW5lIGludG8gUkVBRFkgd2hlbiBzdGFydCByZWNvcmRpbmcgY2FtZXJhYmluOiByZW1lbWJlciBwcm9iZSBJRHMgYW5kIGRpc2Nvbm5lY3QgdGhlbSB3aGVuIGRlc3Ryb3lpbmcgcGlwZWxpbmVzCgoyMDA5LTA3LTI3IDE5OjU5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogRml4IGNvbXBpbGF0aW9uCgoyMDA5LTA3LTI3IDE5OjU1OjI3ICswMjAwICBJYWdvIFRvcmFsIDxpdG9yYWxAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL1JFQURNRToKCSogZXh0L2FtcndiL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJKiBleHQvYW1yd2JlbmMvR3N0QW1yd2JFbmMucHJzOgoJKiBleHQvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9SRUFETUU6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3Yi5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmg6CgkgIGFtcndiOiBSZW1vdmUgQU1SLVdCIHBhcnNlciBhbmQgZGVjb2RlciBhbmQgcmVuYW1lIGVuY29kZXIgcGx1Z2luIGZyb20gYW1yd2IgdG8gYW1yd2JlbmMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTg0ODkwLgoKMjAwOS0wNy0yNyAxNTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgZG9pbmcgbGlwLXN5bmMgaW4gQllFCgkgIFdoZW4gd2UgZ2V0IGEgQllFIHBhY2tldCwgZG9uJ3QgZG8gbGlwLXN5bmMgd2l0aCB0aGUgU1IgaW5zaWRlIGJlY2F1c2Ugc29tZQoJICBzZW5kZXJzIGhhdmUgdHJvdWJsZSBjb25zdHJ1Y3RpbmcgdmFsaWQgU1IgcGFja2V0cyBhZnRlciBCWUUuCgoyMDA5LTA3LTI3IDE1OjMzOjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM3L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBkaXJlY3RkcmF3c2luazogdXBkYXRlIHZzOCBidWlsZAoJICBhbHNvIHJlbW92ZSBkaXJlY3RkcmF3c2luayBmcm9tIHZzNiBhbmQgdnM3IGJ1aWxkCgoyMDA5LTA3LTI3IDE0OjUyOjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVzZSBvZiBJR3N0RHNob3dJbnRlcmZhY2UKCjIwMDktMDctMjcgMTM6MTc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgZG8gbGlwLXN5bmMgYWZ0ZXIgYSBCWUUKCSAgQWZ0ZXIgYSBCWUUgcGFja2V0IGZyb20gYSBzb3VyY2UsIHN0b3AgZm9yd2FyZGluZyB0aGUgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMKCSAgdG8gcnRwYmluLiBTb21lIHNlbmRlcnMgZG9uJ3QgdXBkYXRlIHRoZWlyIFNSIHBhY2tldHMgY29ycmVjdGx5IGFmdGVyIHNlbmRpbmcgYQoJICBCWUUgYW5kIHRoZW4gd2UgYnJlYWsgbGlwLXN5bmMuIFdlIHByZWZlciB0byBsZXQgdGhlIGppdHRlcmJ1ZmZlcnMgZHJhaW4gd2l0aAoJICB0aGUgY3VycmVudCBsaXAtc3luYyBpbnN0ZWFkLgoKMjAwOS0wNy0yNyAxMjo0MzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBvbmx5IHJlY29uc2lkZXIgb25jZSBmb3IgQllFCgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBzb3VyY2VzIG9mIGEgQllFIHBhY2tldCwgZG9uJ3Qgc2lnbmFsIGEgcmVjb25zaWRlcmF0aW9uIGZvcgoJICBlYWNoIG9mIHRoZW0gYnV0IHNpZ25hbCBhZnRlciB3ZSBoYW5kbGVkIGFsbCBzb3VyY2VzLgoKMjAwOS0wNy0yNSAxMjoxOTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGJyZWFrIHVwIG1hY3JvcyBpbnRvIG11bHRpcGxlIGxpbmVzCgoyMDA5LTA3LTI0IDIxOjU0OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmVwb3J0aW5nCgkgIFNlZSAjNTI1NzQzLgoKMjAwOS0wNy0yNCAxNDo1MjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkgIGFzZm11eDogQWRkcyBuZXcgcGx1Z2luIGFzZm11eAoJICBBZGRzIHRoZSBicmFuZCBuZXcgYXNmbXV4IHBsdWdpbiwgY29udGFpbmluZyAzIGVsZW1lbnRzOgoJICBhc2ZtdXgsIHJ0cGFzZnBheSBhbmQgYXNmcGFyc2UuIFRoaXMgcGx1Z2luIHdhcyBkZXZlbG9wZWQKCSAgYXMgYSBHU29DIDIwMDkgcHJvamVjdCwgd2l0aCBEYXZpZCBTY2hsZWVmIGFzIHRoZSBtZW50b3IgYW5kCgkgIFRoaWFnbyBTYW50b3MgYXMgdGhlIHN0dWRlbnQuCgoyMDA5LTA3LTI0IDA4OjI1OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IEZpeCB0aGUgZGlzdGNoZWNrIGFmdGVyIGRzaG93c3Jjd3JhcHBlciByZWFycmFuZ2VtZW50cwoJICBSZW1vdmUgb2xkIGZpbGVzIGZyb20gdGhlIHdpbjMyIG1hbmlmZXN0LCBhbmQgYWRkIHRoZSBuZXcgb25lLgoKMjAwOS0wNy0yNCAwNzo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgbXVzZXBhY2tkZWM6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTI0IDAxOjAwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFJldmVydCAiZG9jczogZml4IGRvY3MgYnVpbGQgYWdhaW4iCgkgIEl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyIGFmdGVyIFN0ZWZhbidzIHVwZGF0ZXMgaW4gdGhlIGNvbW1vbiBtb2R1bGUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDljNTUwYTE3MmEyYzhhNzZmMGI0OGYyZjhjZTExMDcwNTk4ZjY2Yy4KCjIwMDktMDctMjQgMDA6NDI6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmVkYWFlZSB0byA5NGY5NWUzCgoyMDA5LTA3LTIzIDE3OjU3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFnYWluCgkgIFRoZXJlIGlzIG5vIGVsZW1lbnQgY2FsbGVkICdsYWRzcGEnLCBzbyB0aGVyZSB3b24ndCBiZSBhIC1kZXRhaWxzCgkgIGZpbGUgZm9yIGl0LgoKMjAwOS0wNy0yMyAwOTo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogUmVtb3ZlIHNvbWUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBjb2RlCgkgIEFsc28gd2UgYWx3YXlzIHJlcXVpcmUgbGlib2lsIHNvIHVzZSBpdCB1bmNvbmRpdGlvbmFsbHkuCgoyMDA5LTA3LTIzIDA5OjUyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBJbXBsZW1lbnQgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWRzCgoyMDA5LTA3LTIwIDIyOjEzOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogTG9jayBlbGVtZW50IGJlZm9yZSB1bmxvY2tpbmcKCjIwMDktMDctMjAgMjI6MDg6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBGaXggbGVha3MKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkgdG8gbm90IGxlYWsgdGhlIHBhZCB0ZW1wbGF0ZQoJICBBbHNvIHByb3Blcmx5IGNoYWluIHVwIHRoZSBmaW5hbGl6ZSB0byB0aGUgcGFyZW50CgoyMDA5LTA3LTIwIDIyOjA4OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlCgkgIFByZXZlbnRzIGxlYWsgZm91bmQgYnkgdmFsZ3JpbmQKCjIwMDktMDctMjAgMjE6NTI6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVbnJlZiBjbG9ja2lkCgoyMDA5LTA3LTIwIDE0OjAwOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3Qgb3ZlcndyaXRlIHZhbGlkIHRpbWVzdGFtcHMKCjIwMDktMDctMjAgMTM6NDU6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBSZXZlcnQgIm1pbWRlYzogSWdub3JlIHRoZSB0aW1lc3RhbXBzIGluc2lkZSB0aGUgYnVmZmVycyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1ZTA1MWZhOThhZWViZGNlMmVjYTZiMzIxZWMxOTI5ZTZmOGZkZjYxLgoKMjAwOS0wNy0yMSAxNTozMzo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGcmVlIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBvbiBmaW5hbGl6ZQoKMjAwOS0wNy0yMSAxNTozMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlCgkgIEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UgaW5zdGVhZCBvZiB1c2luZyBhIHdlYWsgcmVmLAoJICB3aGljaCBpcyBub3QgdGhyZWFkIHNhZmUuIEFsc28sIGxvY2sgdGhlIGNvbnRlbnQgb2YgdGhlIHBhZCBwcml2YXRlIHVzaW5nIHRoZSBlbGVtZW50J3MKCSAgb2JqZWN0IGxvY2suCgoyMDA5LTA3LTIyIDE0OjE5OjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogSWdub3JlIGVycm9ycyBwdXNoaW5nIG91dCBuZXcgc2VnbWVudHMKCSAgVGhlIGZvbGxvd2luZyBidWZmZXIgcHVzaCB3aWxsIHJldHVybiBtb3JlIHZhbHVhYmxlIGluZm9ybWF0aW9uLgoKMjAwOS0wNy0yMiAxODowMToxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGRvY3M6IGFkZCBkb2NzIGZvciBsYWRzcGEgYW5kIHVwZGF0ZSBwbHVnaW4gZG9jcwoJICBBZGQgYWxzbyBpbnNwZWN0IGZpbGVzIGZvciBsdjIgYW5kIGZyZWkwciAobm8gZG9jcyB5ZXQpLgoKMjAwOS0wNy0yMiAxNzowNToyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IG1vcmUgcGVyZi10ZXN0IGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIG9ic29sZXRlIGV4bWFwbGVzLiBBZGQgdmlkZW8td2lkdGgvaGVpZ2h0LiBVc2UgcHJvcGVyIGFwaSBmb3IKCSAgc2V0dGluZyBzdGlsbCBpbWFnZSByZXNvbHV0aW9uLiBGaXggc3RvcHBpbmcgcmFuZG9tIHRlc3RzIG9uIGJpbi1zdGF0ZS1jaGFuZ2VzLgoJICBSZW1vdmUgdGhlIG1lbWR1cCBpbiBzbmFwc2hvdCBhZ2FpbiwgYXMgaXRzIG5vdCBuZWVkZWQgKHBpeGJ1ZiBnb2VzIG91dCBvZgoJICBzY29wZSB3aXRoIHRoZSBidWZmZXIpLgoKMjAwOS0wNy0yMiAxMTo0NToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVwZGF0ZSBNYWtlZmlsZS5hbSBmb3Igc291cmNlIGZpbGUgcmVuYW1lcyBhcyB3ZWxsCgoyMDA5LTA3LTIxIDEzOjM3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgZG9jczogYWRkIHBjYXBwYXJzZSB0byBkb2NzCgoyMDA5LTA3LTIyIDEyOjM0OjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGRvIG5vdCByZW1vdmUgYSByYW5nZSBvZiBsZW5ndGggMAoKMjAwOS0wNy0yMiAxMjoyNDo0NiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93YXVkaW9zcmM6IGNvbnZlcnRzIGNvZGUgdG8gQysrCgoyMDA5LTA3LTIyIDExOjAxOjQ5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3d2aWRlb3NyYzogY29udmVydHMgY29kZSB0byBDKysKCjIwMDktMDctMjIgMDA6MzM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgYWRkIGEgYmFzZV90aW1lPT0tMSB0byBzZWdtZW50IHBvc2l0aW9ucwoJICBGaXhlcyBhc3NlcnRpb24gYWJvdXQgbmV3c2VnbWVudCB3aXRoIHN0YXJ0PS0xLgoKMjAwOS0wNy0yMSAxNzo0ODozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzbWFsbCBzcGVlZHVwIGluIHNvZnR3YXJlIHpvb20KCSAgRm9yY2UgY3JvcCBvbiBldmVuIHBpeGVsIHBvc2l0aW9uIHRvIGF2b2lkIHNsb3dwYXRoIGluIGNyb3AgJiBzY2FsZS4KCjIwMDktMDctMjEgMTY6NDg6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiB3ZSBuZWVkIHRvIGNvcHkgdGhlIGRhdGEgaW4gdGhlIGV4YW1wbGUKCSAgZ2RrX3BpeGJ1Zl9uZXdfZnJvbV9kYXRhIGRvZXMgbm90IGNvcHkgdGhlIGRhdGEuCgoyMDA5LTA3LTIxIDExOjI4OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJICBtYWtlOiByZW1vdmUgd2hpdGVzcGFjZSBhZnRlciB0cmFpbGluZyBiYWNrc2xhc2gKCjIwMDktMDctMjEgMTI6NDI6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkgIGthdGU6IGZpeCB0aW1lIGNvbnZlcnNpb24gZnJvbSBEVkQgc3R5bGUgdGltZXN0YW1wcy4KCjIwMDktMDctMjEgMTM6NTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjEgMTM6Mzk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNTg4OTQ0LgoKMjAwOS0wNy0yMSAxMzozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODg5NDQuCgoyMDA5LTA3LTIxIDEzOjE3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEZyZWUgdGhlIFBNVCBiZWZvcmUgc2V0dGluZyBhIG5ldyBvbmUKCjIwMDktMDctMjEgMTM6MTQ6MDAgKzAyMDAgIE1pa2FlbCBNYWdudXNzb24gPG1pa21hQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IFJlbW92ZSBvbGQgUEVTIFBJRHMgd2hlbiByZWNlaXZpbmcgUEFUIHRhYmxlcwoJICBGaXhlcyBidWcgIzU4MzQ3MC4KCjIwMDktMDctMjEgMTE6MTA6NDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogZml4IHJlbGF0aXZlIHBhdGgKCjIwMDktMDctMjEgMTA6NDk6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgc3RhcnQgcmVmYWN0b3Jpbmcgb2YgZHNob3dzcmN3cmFwcGVyCgkgIC1yZW1vdmUgZ3N0LWxpYnMvZ3N0L2RzaG93CgkgIC1mYWtlc291cmNlIGlzIG1vdmVkIGZyb20gZ3N0LWxpYnMvZ3N0L2RzaG93IHRvIHN5cy9kc2hvd3NyY3dyYXBwZXIKCSAgLXNvbWUgbWlub3IgY2hhbmdlcyAoQy9DKysgY2hlY2sgYW5kIGluY2x1ZGVzKSB0byBtYWtlIHRoZSBwbHVnaW4KCSAgY29tcGlsZSBhZ2Fpbi4KCjIwMDktMDctMjEgMDE6MDY6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdXNlIG5ldyBHU1RfVEFHX1NVQklUTEVfQ09ERUMgdGFnIGluc3RlYWQgb2YgR1NUX1RBR19DT0RFQwoKMjAwOS0wNy0yMSAwMDo1NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZWRlYzogb25seSBwdXQgcHJpbWFyeSBsYW5ndWFnZSB0YWcgaW4gR1NUX1RBR19MQU5HVUFHRQoJICBPbmx5IHB1dCBwcmltYXJ5IGxhbmd1YWdlIGludG8gR1NUX1RBR19MQU5HVUFHRSwgYW5kIGNvbnZlcnQgdG8gbG93ZXIgY2FzZSwKCSAgaWUuIG9ubHkgdXNlICJlbiIgb2YgImVuX0dCIi4gVGhpcyBpcyBwZXIgb3VyIHRhZyBkb2N1bWVudGF0aW9uIGFuZCBoZW5jZQoJICB3aGF0IGFwcHMgZXhwZWN0LiBBbHNvIGFkZCBleGFtcGxlIHRvIGthdGVlbmMgcHJvcGVydHkgZGVzY3JpcHRpb24gc28gcGVvcGxlCgkgIGtub3cgYSBsYW5ndWFnZSBjb2RlIGlzIHdhbnRlZCBoZXJlLgoKMjAwOS0wNy0yMSAwMDowNDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGFkZCBjb21tZW50IHdoeSB3ZSBkb250JyBzdXBwb3J0IGFwcGxpY2F0aW9uL3gta2F0ZSBoZXJlIGZvciBub3cKCjIwMDktMDctMjAgMTM6NTQ6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvUkVBRE1FOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkgIGthdGVkZWM6IGNyZWF0ZSBTUFUgZm9ybWF0IGltYWdlcyBmcm9tIHN1aXRhYmxlIGJhY2tncm91bmQgaW1hZ2VzCgkgIE1ha2Uga2F0ZWRlYyBmYWJyaWNhdGUgZHZkLXN0eWxlIHN1YnBpY3R1cmVzIGZvciBzdWJ0aXRsZSBvdmVybGF5CgkgIGJpdG1hcHMsIGZvciBlYXNpZXIgcGxheWJpbjIgaW50ZWdyYXRpb24gKCM1ODg2MzgpLgoKMjAwOS0wNy0yMCAxNjoyNDoyMyArMDEwMCAgb2dnLmsub2dnLmsgPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MKCSAgTWFrZXMgJ21ha2UgY2hlY2stdmFsZ3JpbmQnIHdvcmsgZm9yIHRoZSBrYXRlIHVuaXQgdGVzdCAoIzUyNTc0MykKCjIwMDktMDctMjAgMTY6Mzk6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBhZGQgY29kZSBpbiB0ZXN0IHRvIHN0b3JlIHNuYXBzaG90cyBmb3IgbWFudWFsIHZlcmlmaWNhdGlvbgoJICBVc2UgZ2RrX3BpeGJ1ZiB0byBzYXZlIHRoZSBpbWFnZSBpbiBwZXJmLXRlc3QuIEFsc28gcmVtb3ZlIHNvbWUgb2Jzb2x1dGUKCSAgY29tbWVudGVkIG91dCBjb2RlLgoKMjAwOS0wNy0yMCAxNjoyNDowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogbG9nIGZvcm1hdHMgaW4gcHJldmlldyBpbWFnZSBjb252ZXJzaW9uCgoyMDA5LTA3LTIwIDE2OjIxOjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhc3NpZ25tZW50CgkgIFJlc3VsdCBpcyBub3QgbmVlZGVkIGhlcmUsIGJ1dCB2YXJpYWJsZSBpcyB1c2VkIGxhdGVyIG9uLiBBbHNvIHJlbW92ZSBkb3VibGUgbmV3CgkgIGxpbmVzIGluIGZ1bmN0aW9uLgoKMjAwOS0wNy0yMCAxNjoyMDoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGNoZWNrIHF1ZXJ5IHJldHVybiByZXN1bHQgYmVmb3JlIHVzaW5nIGl0CgoyMDA5LTA3LTIwIDE2OjE5OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBkZXJlZmVyZW5jZSB0aGUgcG9pbnRlciBiZWZvcmUgdGhlIHZhbGlkaXR5IGNoZWNrCgoyMDA5LTA3LTIwIDEwOjE3OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBwZXJmIHRlc3Qgcm9idXN0bmVzcyBhbmQgYWRkIGNvbW1lbnRzCgoyMDA5LTA3LTIwIDEyOjI1OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBhbHNvIHJlY29nbmlzZSB0aGUgbmV3IHJlY29tbWVuZGVkICdTVUInIGNhdGVnb3J5CgkgIE1vdmUgdGhlIGNoZWNrIGZvciAnc2ltcGxlJyBzdWJ0aXRsZXMgY2F0ZWdvcnkgdG8gYSBzZXBhcmF0ZSByb3V0aW5lCgkgIGFuZCBhZGQgaW4gdGhlIG5ldyByZWNvbW1lbmRlZCBTVUIgY2F0ZWdvcnkgKCM1MjU3NDMpLgoKMjAwOS0wNy0yMCAxMTo0MTo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJICBrYXRlZW5jOiBrZWVwIGJpdG1hcC9wYWxldHRlL3JlZ2lvbiBhcm91bmQgd2hlbiBvbiB0aGUgc3BvdCBlbmNvZGluZyBpcyBub3QgcG9zc2libGUgZHVlIHRvIGFuIHVua25vd24gZW5kIHRpbWUKCSAgRml4ZXMgdmFsZ3JpbmQgdW5pdGlhbGl6ZWQgdmFsdWUgcmVwb3J0LiBTZWUgIzUyNTc0My4KCjIwMDktMDctMTkgMjM6NDU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJICBkb2NzOiBhZGQgaW5zcGVjdCBpbmZvIGZvciBrYXRlIHBsdWdpbgoJICBTaG91bGQgZml4IHRoZSBkb2NzIGJ1aWxkLgoKMjAwOS0wNy0xOSAyMzozNTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGFkZCBzb21lIEZJWE1FcwoKMjAwOS0wNy0xOSAyMzozMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGVkZWM6IGRlbW90ZSB0byBHU1RfUkFOS19OT05FIGZvciBub3cKCSAgVGhlcmUgYXJlIHN0aWxsIHNvbWUgYXV0b3BsdWdnaW5nIGlzc3VlcyB0byBzb3J0IG91dCwgYW5kIGl0IG5lZWRzCgkgIHNvbWUgdGVzdGluZy4KCjIwMDktMDctMTkgMjM6Mjk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrczogYWRkIGthdGUgdW5pdCB0ZXN0cyB0byB2YWxncmluZCBibGFja2xpc3QgZm9yIG5vdwoJICBBbmQgYWRkIGNoZWNrIGJpbmFyeSB0byBpZ25vcmUgbGlzdC4KCjIwMDktMDctMTkgMjM6MTY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1ha2Ugc3VyZSB0byBmcmVlIHNvbWUgbW9yZSBzdHVmZgoKMjAwOS0wNy0xOSAyMjoyOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogZml4IHVwIGZvciBhZGRpdGlvbmFsIHN1YnRpdGxlL3gta2F0ZSBtZWRpYSB0eXBlCgoyMDA5LTA3LTEzIDIyOjM4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogcmVtb3ZlIGxvY2FsIGthdGUgdHlwZWZpbmRlciwgdXNlIHRoZSBvbmUgaW4gLWJhc2UKCjIwMDktMDctMTAgMTg6NDU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGNoYW5nZSBtZWRpYSB0eXBlIHRvIHN1YnRpdGxlL3gta2F0ZSBhbmQgdXBkYXRlIGRlZmluZSBhY2NvcmRpbmdseQoKMjAwOS0wMi0xNSAxODozNTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9SRUFETUU6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGFkZCBuZXcgS2F0ZSBwbHVnaW4sIGZvciBLYXRlIG92ZXJsYXkgc3RyZWFtcwoJICBrYXRlZGVjOiBLYXRlIGRlY29kZXIgKHRleHQgb25seSkKCSAga2F0ZWVuYzogS2F0ZSBlbmNvZGVyICh0ZXh0IGFuZCBEVkQgU1BVIG9ubHkpCgkgIGthdGV0YWc6IEthdGUgdGFnZ2VyCgkgIGthdGVwYXJzZTogS2F0ZSBwYXJzZXIKCSAgdGlnZXI6IEthdGUgcmVuZGVyZXIgdXNpbmcgdGhlIFRpZ2VyIHJlbmRlcmluZyBsaWJyYXJ5CgkgIEZpeGVzICM1MjU3NDMuCgoyMDA5LTA3LTE5IDE1OjM3OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgcmVhbDogZGlmZmVyZW50aWF0ZSBiZXR3ZWVuICdtb2R1bGUgZG9lcyBub3QgZXhpc3QnIGFuZCBnZW51aW5lIG1vZHVsZSBvcGVuaW5nIGVycm9ycwoJICBEb24ndCBsb2cgYSBHU1RfRVJST1IgaWYgb25lIG9mIHRoZSBjb2RlYyBtb2R1bGVzIHdlIHdlcmUgbG9va2luZyBmb3IKCSAgZG9lc24ndCBleGlzdC4gVGhhdCdzIG5vdCBhIGdlbnVpbmUgZXJyb3IsIGJ1dCBzb21ld2hhdCBleHBlY3RlZC4KCjIwMDktMDctMTggMDg6NDM6MzcgKzAyMDAgIE1hdGlqcyB2YW4gWnVpamxlbiA8TWF0aWpzLnZhbi5adWlqbGVuQHhzNGFsbC5ubD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IGludGVnZXIgb3ZlcmZsb3cKCSAgVGhpcyBicmVha3MgcGxheWJhY2sgb2YgZmlsZXMgPjQgR0IgYXMgdGhlIG9mZnNldCB3YXMKCSAgYSBndWludCBiZWZvcmUuIENoYW5naW5nIGl0IHRvIGEgZ3VpbnQ2NCBmaXhlcyB0aGlzLgoKMjAwOS0wNy0xNyAxNTo0NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogcmVzZXQgc3RhdGUgaWYgdGhlcmUgaXMgc29tZXRoaW5nIHRvIHJlc2V0CgkgIFRoZSBjb25kaXRpb24gd2FzIHdyb25nIGFuZCBhcyBzdWNoIHRoZSBlbGVtZW50IHdhcyB3cml0aW5nIHRoZSBzYW1lIHRhZ3Mgb24gc3Vic2VxdWVudAoJICBpbWFnZXMgaWYgcmV1c2VkLgoKMjAwOS0wNy0xNyAxNTo0NTozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1c2UgZ3N0X2NhcHNfcmVwbGFjZSBpbnN0ZWFkIG9mIHNlcGFyYXRlIGNhbGxzCgkgIFRoaXMgZml4ZXMgc2V0dGluZyBzbmFwc2hvdCBjYXBzIGJhY2sgdG8gTlVMTCBhbHNvLgoKMjAwOS0wNy0xNyAxNTozODowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGltcGxlbW5ldCB0d28gbW9yZSB0ZXN0cwoJICBBZGQgdGVzdHMgZm9yIHZpZGVvcmVjb3JkaW5nIHN0YXJ0dXAgYW5kIGNhcHR1cmUgc3RhcnR1cCBkZWxheS4KCjIwMDktMDctMTcgMDk6MzY6MTUgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBjb21wb25lbnQgdGFnIHRvIHRoZSB2aWRlbyBjb21wb25lbnQgc3RydWN0dXJlIGluIGVpdAoKMjAwOS0wNy0xNiAxNzoyNzowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IERvbid0IHByZXRlbmQgdG8gYmUgTUwyMCBpZiBwYXVzZWQKCjIwMDktMDctMTYgMTY6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IElnbm9yZSB0aGUgdGltZXN0YW1wcyBpbnNpZGUgdGhlIGJ1ZmZlcnMKCjIwMDktMDctMTYgMTU6NDM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCB0cnkgdG8gcGFyc2UgdGhlIGhlYWRlciBiZWZvcmUgZHJvcHBpbmcgdGhlIHBhdXNlZCBmcmFtZXMKCjIwMDktMDctMTYgMTU6NDM6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBQcmludCB0aGUgaW5jb21pbmcgZm91cmNjIG9uIGVycm9ycwoKMjAwOS0wNi0xOSAyMDoxMzo1MyArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEluY3JlYXNlZCB0aGUgbGVuZ3RoIG9mIHRpbWUgZm9yIHR1bmluZyBpbiBnc3RkdmJzcmMuYy4KCSAgU29tZSBkZXZpY2VzIHRha2UgYSB3aGlsZSB0byB0dW5lIGFuZCA1MDBtcyB3YXMgdG9vIHNob3J0IHRvIGRldGVjdAoJICBzdWNjZXNzZnVsIHR1bmluZy4gIEFzIHdlbGwgYXMgd2FpdGluZyBmb3IgNSBzZWNvbmRzIGVhY2ggMTAwbXMgdGhlCgkgIHN0YXR1cyBpcyBjaGVja2VkIGFuZCB0aGUgbG9vcCBpcyBicm9rZW4gb3V0IG9mIHdoZW4gdHVuaW5nIGhhcyBzdWNlZWRlZC4KCjIwMDktMDctMTYgMTk6NDk6MjYgKzAyMDAgIEFsZWtzZXkgWXVsaW4gPHVsaW5AdHV0LmJ5PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgdXNlIFBJRHMgPiBNUEVHVFNfTUFYX1BJRAoJICBUaGUgbXBlZ3RzZGVtdXggc3RyZWFtcyBhcnJheSBvbmx5IGhhcyBNUEVHVFNfTUFYX1BJRCBlbnRyaWVzCgkgIGFuZCBhY2Nlc3Npbmcgb25lIGFmdGVyd2FyZHMgd2lsbCByZXN1bHQgaW4gY3Jhc2hlcy4KCSAgRml4ZXMgYnVnICM1NzU2NzIuCgoyMDA5LTA3LTE2IDE4OjE0OjE4ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgQWRkIG1vcmUgZGVidWcgb3V0cHV0IHRvIG1ldGFkYXRhbXV4CgoyMDA5LTA3LTE2IDEyOjAzOjMyICswMjAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBwZXNmaWx0ZXI6IFBlcm1pdCB1bmJvdW5kZWQgcGFja2V0cyBmb3IgMHhmZCAoZXh0ZW5kZWQgc3RyZWFtIGlkKS4KCSAgQWRkZWQgcGFyc2luZyBvZiBQRVMgZXh0ZW5zaW9uIHJlbGF0ZWQgZGF0YS4KCSAgRml4ZXMgc29tZSBWQzEgcmVsYXRlZCBpc3N1ZXMuCgoyMDA5LTA3LTE2IDEzOjU1OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF0dGVtcHQgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoJICBEb24ndCBzdG9yZSBhIGNvbnN0IGdjaGFyICogaW4gYSBub24tY29uc3QgZ2NoYXIgKiBsb2NhbCB2YXIuCgkgIEFsc28sIG1ha2UgdGhlIHRyYW5zbGF0aW9uIHN0cmluZyBmdW5jdGlvbiBzdGF0aWMgc2luY2UgaXQncyBvbmx5CgkgIHVzZWQgaW4gdGhlIG9uZSBmaWxlLgoKMjAwOS0wNy0xNSAxODoxMDowNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgQ2FzdCBzb21lIGRlYnVnIHN0cmluZyBwYXJhbWV0ZXJzIHNvIHRoYXQgdGhleSBkb24ndCBjYXVzZSBtaXNtYXRjaGVkCgkgIHR5cGUgd2FybmluZ3MuCgoyMDA5LTA3LTE1IDE2OjE3OjM1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogRml4IGEgY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIHVzZS4KCjIwMDktMDYtMTAgMTk6MjE6MjEgKzAxMDAgIEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBFbmhhbmNlbWVudHMgdG8gdGhlIG1peGVyIGFuZCBhdWRpbyBvdXRwdXQKCSAgQ29kZSBjbGVhbnVwcywgZ2VuZXJhbCBpbXByb3ZlbWVudHMsIHN1cHBvcnQgZm9yIHRoZQoJICBuZXcgbWl4ZXIgZmxhZ3MgaW4gbGF0ZXN0IGdzdC1wbHVnaW5zLWJhc2UuCgkgIEZpeGVzOiAjNTg0MjUyCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA3LTE1IDE4OjI3OjM5ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgY29tcG9uZW50IHRhZyB0byBzdHJ1Y3R1cmUgZm9yIGNvbXBvbmVudCBtZXNzYWdlCgoyMDA5LTA3LTE1IDE3OjQ0OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiB1c2Ugbm9uYnVmZmVyZWQgaW8gdG8gc2F2ZSBtZW1jb3BpZXMKCSAgV2Ugd3JpdGUgbGFyZ2UgYmxvY2tzIGFueXdheSwgc28gbm8gZXh0cmEgYnVmZmVyaW5nIHBsZWFzZS4gQWxzbyB1c2Ugb25lCgkgIGdfb2JqZWN0X3NldCB0byBzZXQgbXVsdGlwbGUgcHJvcGVydGllcyBvbiBzYW1lIG9iamVjdC4KCjIwMDktMDctMTUgMTI6MjA6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vVE9ETzoKCSAgY2FtZXJhYmluOiB0cmFjayB0b2RvIGl0ZW1zCgoyMDA5LTA3LTE1IDExOjE3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGxlYXZlIGltYWdlL3ZpZGVvIGJpbiBpbiByZWFkeSB3aGVuIGNoYW5naW5nIG1vZGUKCjIwMDktMDctMTQgMTQ6MTA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFtcnBhcnNlOiBTeW5jIGJhc2VwYXJzZSBjaGFuZ2VzCgoyMDA5LTA3LTE0IDE0OjA4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogQWRkIGZ1bmN0aW9uIGZvciB0aGUgYmFzZXBhcnNlIHN1YmNsYXNzIHRvIHB1c2ggYnVmZmVycyBkb3duc3RyZWFtCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIGdyYWNlZnVsbHkgd2hlcmUgdGhlIHN1YmNsYXNzIGRlY2lkZXMgdG8gZHJvcAoJICB0aGUgZmlyc3QgYnVmZmVycyBhbmQgaGFzIG5vIGNhcHMgc2V0IHlldC4gSXQncyBzdGlsbCByZXF1aXJlZCB0bwoJICBoYXZlIHZhbGlkIGNhcHMgc2V0IHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciBzaG91bGQgYmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA5LTA3LTE0IDE0OjA3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2VlayBldmVudCBsZWFraW5nCgoyMDA5LTA3LTE0IDEwOjQ0OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgIG1ldGFkYXRhOiBmaXggY29weSduJ3Bhc3RlIGluIHRhZyBkZXNjcmlwdGlvbgoKMjAwOS0wNy0xMyAxODowNDoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvOiBBZGQgZW51bSB0eXBlcyBmb3Igc2Nocm9lZGluZ2VyIHNldHRpbmdzCgoyMDA5LTA2LTMwIDE2OjMxOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgZW1wdHkgbGFuZ3VhZ2UgY29kZSBzdHJpbmdzCgkgIElnbm9yZSBlbXB0eSBsYW5ndWFnZSBjb2RlcyBvbiBzb21lIHBvb3JseSBjb2RlZCBEVkRzLCByYXRoZXIgdGhhbgoJICBzZXR0aW5nIGVtcHR5IHN0cmluZ3MgaW50byBvdXIgb3V0Z29pbmcgdGFnbGlzdC4KCjIwMDktMDctMTMgMTI6MjQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTg0NWI2MyB0byBmZWRhYWVlCgoyMDA5LTA3LTEwIDIxOjQyOjE5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogT25seSBlbmFibGUgcGF1c2VkIG1vZGUgaWYgdGhlIHByb3BlcnR5IGlzIHRydWUKCjIwMDktMDctMTAgMTM6MDM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICBpdm9yYmlzOiBleHRyYWN0IHZvcmJpcyBjb21tZW50cwoJICBGaXhlcyAjNTc1ODE4LgoKMjAwOS0wNy0wOCAxNzo1OToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBCR1JBIHN1cHBvcnQgZm9yIHZpZGVvIGluL291dHB1dAoKMjAwOS0wNy0wOCAxNToyNjowNyArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBkb3VibGUgZnJlZQoJICBUaGUgaGFzaCB0YWJsZSBhbHJlYWR5IG1ha2VzIHN1cmUgdGhhdCB0aGUgc3RyZWFtIGlzIGNvcnJlY3RseQoJICBmcmVlJ2Qgd2hlbiBlbGVtZW50cyBhcmUgcmVtb3ZlZC4KCSAgRml4ZXMgYnVnICM1ODc4MTkuCgoyMDA5LTA3LTA4IDEwOjE2OjE5ICswMTAwICBNaWd1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgY29tcG9uZW50IHRhZwoKMjAwOS0wNy0wOCAxMDoxMTo1MiArMDEwMCAgTWlndWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgY2Fyb3VzZWwgaWRlbnRpZmllciBkZXNjcmlwdG9yCgoyMDA5LTA3LTA3IDE1OjI4OjA0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBwYXJzaW5nIG9mIGRhdGEgYnJvYWRjYXN0IGRlc2NyaXB0b3JzCgoyMDA5LTA3LTA3IDIwOjI4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgYmFzZXZpZGVvOiBMaW5rIHdpdGggbGliZ3N0dmlkZW8gZm9yIHNvbWUgdXNlZCBmdW5jdGlvbnMKCjIwMDktMDctMDcgMTk6MTg6MTYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFNlbmQgcGF1c2UgZnJhbWVzIHdoZW4gcGF1c2VkCgoyMDA5LTA3LTA3IDE5OjE1OjQyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogSWdub3JlIHBhdXNlIGZyYW1lcwoKMjAwOS0wNy0wNyAxODoyNzozNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFB1dCBrZXlmcmFtZS9wYXVzZWQgZmxhZ3MgaW4gdGNwIGhlYWRlcgoKMjAwOS0wNy0wNyAxODoxODowNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFB1dCB0aW1lc3RhbXAgb24gdGhlIGhlYWRlciBidWZmZXIKCjIwMDktMDctMDcgMTg6MjI6NTQgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFJldGltZXN0YW1wIHRvIHRoZSBydW5uaW5nIHRpbWUKCjIwMDktMDctMDYgMTc6MTc6MjIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFNhdmUgdGhlIHNlZ21lbnQKCjIwMDktMDctMDYgMTY6MjQ6NTkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IEFkZCBwcm9wZXJ0eSBmb3IgdGhlIHBhdXNlZCBtb2RlCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvLCBzY2hyb2VkaW5nZXI6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoKMjAwOS0wNy0wMiAxNTo1ODowMCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IHNkdCBwYXJzaW5nLgoJICBmaXggcGFyc2luZyBvZiBldmVyeXRoaW5nIGZvciBlYWNoIHNlcnZpY2UgZnJvbSBlaXQgc2NoZWR1bGUgZmxhZyBvbiBhbmQgYWxzbwoJICBhZGQgYSBydW5uaW5nLXN0YXR1cyBwYXJhbWV0ZXIgdG8gdGhlIGJ1cyBtZXNzYWdlIHN0cnVjdHVyZS4KCjIwMDktMDctMDIgMTE6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlbyBpbnB1dC9vdXRwdXQKCjIwMDktMDctMDEgMTA6NTU6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IG1vdmUgZnJvbSAtYmFzZQoJICBBbHNvIG1vdmUgc2Nocm9lZGluZ2VyIHBsdWdpbi4gIFRoaXMgY3JlYXRlcyBhIG5ldyBsaWJyYXJ5LAoJICBnc3RiYXNldmlkZW8tMC4xMCwgd2hpY2ggd2lsbCBwcm9iYWJseSBiZSBtZXJnZWQgYmFjayBpbnRvCgkgIGdzdHZpZGVvLTAuMTAgd2hlbiB0aGlzIGlzIG1vdmVkIGJhY2sgdG8gLWJhc2UuCgoyMDA5LTA3LTAxIDEyOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cGJpbjogdXNlIG5ldyBtZXRob2QgZm9yIG5ldGFkZHJlc3MgdG8gc3RyaW5nCgoyMDA5LTA2LTI5IDE3OjI0OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEFkZCBsdjIgcGx1Z2luIHRvIHRoZSBkaXN0CgoyMDA5LTA2LTI5IDE2OjM3OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZGlzdDogQWRkIHRoZSBjYW1lcmFiaW4gZXhhbXBsZXMgc3ViZGlyZWN0b3J5IHRvIHRoZSBkaXN0CgoyMDA5LTA2LTI5IDE4OjQ4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGRvIGJldHRlciBjbGVhbnVwIG9mIHRoZSBzcmMgZ2hvc3RwYWRzCgkgIENvbm5lY3QgdG8gdGhlIHBhZC1yZW1vdmVkIHNpZ25hbCBvZiB0aGUgcHRkZW11eCBlbGVtZW50cyBzbyB0aGF0IHdlIHJlbW92ZSB0aGUKCSAgZ2hvc3RwYWRzIGZvciB0aGVtLiBGaXhlcyBjbGVhbnVwIHdoZW4gZ29pbmcgdG8gTlVMTCBhcyB3ZWxsIGFzIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzaW5rcGFkcy4KCSAgRml4ZXMgIzU2MTc1MgoKMjAwOS0wNi0yOSAxNzo0ODoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHJlbW92ZSBvbGQgZWxlbWVudAoKMjAwOS0wNS0yOCAxOTowODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIGEgY29tbWVudAoKMjAwOS0wNi0yOSAxNjozNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5CgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTI5IDE2OjIxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eSB0aGF0IHRha2VzIEdzdFN0cnVjdHVyZQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0wMiAxNzo0NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHBiaW46IHJlbW92ZWQgb2xkIGdzdHJ0cGNsaWVudAoKMjAwOS0wNi0yOSAxMjoyMzo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWEgYXQgZ21haWwuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsOiBvbmx5IGluY2x1ZGUgc3lzL3RpbWUuaCB3aGVuIHdlIGhhdmUgaXQKCSAgRml4ZXMgIzU4Njk1NgoKMjAwOS0wNi0yOSAxMjowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogQ29ycmVjdGx5IGNsZWFuIHVwIGVsZW1lbnRzIHRvIGJlIHJldXNhYmxlIGFuZCBub3QgbGVhayBtZW1vcnkKCjIwMDktMDYtMjkgMTE6NTk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSAgZnJlaTByOiBJbiB0aGUgZmlsdGVyIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTY6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IEluIHRoZSBtaXhlciBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjU0OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogSW4gdGhlIHNyYyBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjUwOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogVXNlIGZpeGVkIGNhcHMgb24gdGhlIGZpbHRlciBwYWRzCgkgIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBmcmVpMHIKCSAgaW5zdGFuY2UgZm9yIGFueSBjYXBzIGNoYW5nZXMgYW5kIHRoZSBpbnN0YW5jZXMgY2FuIGhhdmUgaGlzdG9yeS4KCSAgSnVzdCBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBkdXJpbmcgcGxheWJhY2sgY2FuIHJlc3VsdCBpbiBiYWQgb3V0cHV0CgkgIHJpZ2h0IGFmdGVyIHRoZSBjYXBzIGNoYW5nZS4KCjIwMDktMDYtMjcgMDk6NTE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBTZXQgdGhlIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzIGNvcnJlY3RseQoKMjAwOS0wNi0yNiAxODozNTowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNsZWFudXBzCgkgIERvd25ncmFkZSBhIFdBUk5JTkcgdG8gSU5GTy4gVXNlIGEgYml0IG1vcmUgY29tcGFjdCBjb2RlLiBBZGQgYSBmaXhtZSBjb21tZW50LgoKMjAwOS0wNi0yNiAxODozNDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBqdXN0IHJlZiBjYXBzLCB3ZSBkb24ndCBuZWVkIGEgd3JpdGFibGUgY29weQoKMjAwOS0wNi0yNiAxODozMzo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHJlZiBhbmQgdW5yZWYgdGhpcyB0ZW1wb3JhcmlseQoKMjAwOS0wNi0yNiAxODozMjo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHNpbmtfY2FwcyBpZiB0aGV5IHdvdWxkIGJlIGFueS1jYXBzCgoyMDA5LTA2LTI2IDE4OjMxOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgcHJldmlldyBpbWFnZXMKCjIwMDktMDYtMjYgMTg6MzA6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayB2aWV3ZmluZGVyLWNhcHMKCjIwMDktMDYtMjYgMTY6MDc6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBtYWtlIHNob3Qyc2hvdCB0ZXN0IG1vcmUgcmVsaWFibGUKCSAgV2UgY2FuIG9ubHkgdHJpZ2dlciBuZXh0IHNob3QgKGluIHRoZSB0ZXN0KSB3aGVuIGN1cnJlbnQgaXMgY2FwdHVyZWQgYW5kIHNhdmVkLgoKMjAwOS0wNi0yNiAxMzoxMDoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGluc2VydCBhIGZldyBibGFuayBsaW5lcyBmb3IgcmVhZGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6MDk6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgbWVzc2FnZXMgYW5kIGVsZW1lbnQgcmVmcyBpbiBwcmV2aWV3CgoyMDA5LTA2LTI2IDE1OjEwOjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nLiBDaGVjayBmb3IgYXV0b21ha2UtMS4xWzAxXQoJICBDaGVjayBmb3IgbW9yZSBhdXRvbWFrZSBjb21tYW5kIHZhcmlhbnRzLiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nCgkgIGZvciBwb3J0YWJpbGl0eQoKMjAwOS0wNi0yNiAxMzo0Mjo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmODEwMDMwIHRvIDU4NDViNjMKCjIwMDktMDYtMjYgMDk6MzA6MjIgKzAxMDAgIENoYW5nd29vIFJ5dSA8Y3dyeXVAZGViaWFuLm9yZz4KCgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgIGZyZWV6ZTogZG9uJ3QgYnVpbGQgcGx1Z2luIHN0YXRpYyBsaWIKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGxpa2Ugd2UgZG8gZm9yIG90aGVyIHBsdWdpbnMuCgkgIEZpeGVzICM1ODcwMjMuCgoyMDA5LTA2LTI1IDEyOjMxOjMyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBmcHJpbnRmLgoKMjAwOS0wNS0zMCAxMToxODoyMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIEFkZCBMVjIgcXVpY2sgc3RhcnQgUkVBRE1FLgoKMjAwOS0wNi0yNSAxOToyMzoxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgcmVxdWVzdHBhZHMKCSAgUmVxdWVzdHBhZHMgbmVlZCB0byBiZSByZWxlYXNlZCBhbmQgdW5yZWZmZWQuIEFkZCBhIGNvbW1lbnQgaW4gb25lIGNhc2Ugd2hlcmUKCSAgd2UgaW50ZW50aW9uYWx5IGRvbid0IHVucmVmLgoKMjAwOS0wNi0yNSAxOToyMTo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHN5bmMgZmlyc3QgdGVzdCBtb3JlIHNhZmVseQoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRlKCkgdG8gd2FpdCBmb3IgUExBWUlORywgVXNlIHRoZSBidXMtaGFuZGxlcgoJICBpbnN0ZWFkZXIgYW5kIGFzeW5jaHJvbm91c2x5IHNjaGVkdWxlIG5leHQgdGVzdC4KCjIwMDktMDYtMjUgMTY6NDE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogaW1wb3J0IGVsZW1lbnQgaW50byAtYmFkCgoyMDA5LTA2LTI1IDA4OjM4OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNi0yNSAwODozODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDYtMjQgMTg6NTY6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBhZGQgdGFyZ2V0LXRpbWVzIG9wdGlvbiB0byBzcGVjaWZ5IHRlc3QgdGltZXMKCSAgSGF2ZSBzb21lIHJlYXNvbmFibGUgZGVmYXVsdCB0aW1lcy4gQWRkIGEgY29tbWFuZGxpbmUgb3B0aW9uIHRvIG92ZXJyaWRlCgkgIGRlZmF1bHRzLiBJbnRlcnByZXQgdGFyZ2V0LXRpbWU9MCBhcyBza2lwLXRlc3QuCgoyMDA5LTA2LTIzIDEzOjAxOjUyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGJ1ZmZlci1hbGxvYyBzdXBwb3J0IGZpeGVzIHRvIGltYWdlIGFuZCB2aWRlbyBiaW4gaGFuZGxpbmcKCSAgS2VlcCBpbWFnZSBiaW4gaW4gUEFVU0VEIHN0YXRlIGluIGltYWdlIG1vZGUgZXhjZXB0IHdoZW4gcHJvY2Vzc2luZy9zYXZpbmcgKFBMQVlJTkcvUkVBRFkpLgoJICBDaGFuZ2Ugb3V0cHV0LXNlbGVjdG9yIHRvIHZpZXcgZmluZGVyIGJlZm9yZSBzZXR0aW5nIHZpZGVvIGJpbiB0byBSRUFEWS4KCSAgRml4IGZpbGVuYW1lIHNlbnQgd2l0aCBpbWctZG9uZSBzaWduYWwuCgoyMDA5LTA2LTIzIDEzOjAxOjEzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiBmaXggc2V0dGluZyBtdXRlIHdoZW4gdmlkZW8gYmluIGVsZW1lbnRzIGhhdmVuJ3QgYmVlbiBjcmVhdGVkCgoyMDA5LTA2LTE2IDE4OjEyOjI5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBpbWFnZSBiaW4gdG8gUEFVU0VEIHdoZW4gc3RhcnRpbmcgY2FwdHVyZQoJICBTZXQgaW1hZ2UgYmluIHRvIFBBVVNFRCBhbHNvIHdoZW4gc3RhcnRpbmcgY2FwdHVyZSB1c2luZyBwaG90b2dyYXBoeQoJICBpbnRlcmZhY2UuCgoyMDA5LTA0LTIxIDEwOjU1OjM2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGxlYXZlIHY0bDJjYW1zcmMgImNhcHR1cmUtbW9kZSIgYXMgdmlkZW8gbW9kZSB3aGVuIHBhdXNpbmcKCjIwMDktMDYtMjQgMTU6MTQ6MzMgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmM2JiNTFiIHRvIGY4MTAwMzAKCjIwMDktMDYtMjIgMDM6NTU6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBNb3ZlIEk0MjAvWVYxMiB0byB0aGUgZnJvbnQgb2YgdGhlIGNhcHMuIEFkZCBkZWJ1Zy4KCSAgTWFrZSBJNDIwL1lWMTIgY2FwcyBiZSBwcmVmZXJyZWQgd2hlbiBkb3dubG9hZGluZyB0byBZVVYgYnVmZmVycywKCSAgd2hlbiBwb3NzaWJsZSwgYnkgbGlzdGluZyB0aGVtIGZpcnN0IGluIHRoZSBzZXQgb2Ygb3V0cHV0IGNhcHMuCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBjYXBzIHNlbGVjdGlvbiBjb2RlLgoKMjAwOS0wNi0yMyAxODowMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGFsc28gYWxsb3cgdmlkZW8vbXBlZyBvbiBvdXRwdXQgY2Fwcy4gIEZpeGVzICMzNzc3ODQuCgoyMDA5LTA2LTIzIDE4OjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQ29ycmVjdGx5IGhhbmRsZSAwLzEgZnBzCgoyMDA5LTA2LTIyIDIzOjUwOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSAkKHRvcF9idWlsZGRpcikgaW5zdGVhZCBvZiByZWxhdGl2ZSBwYXRocwoKMjAwOS0wNi0yMiAyMzo0OTowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBhZGQgbG9jYWwgaW5jbHVkZSBkaXIgdG8gQ0ZMQUdTCgoyMDA5LTA0LTI4IDIzOjI0OjQ1IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIFdvcmtpbmcgTFYyIHBsdWdpbiBkaXNjb3ZlcnkuCgkgIC0gU2VwYXJhdGUgZ3N0c2lnbmFscHJvY2Vzc29yIGludG8gYSBzZXBhcmF0ZSBsaWJyYXJ5IChub3Qgc3VyZSBpZiB0aGlzCgkgIGlzIGluIHRoZSByaWdodCBwbGFjZSwgYnV0IGl0IHdvcmtzIGZvciBub3cgYW55d2F5KQoJICAtIENyZWF0ZSBMVjIgZWxlbWVudCBiYXNlZCBvbiBMQURTUEEgZWxlbWVudCwgcG9ydCBtb3N0IGRpc2NvdmVyeQoJICBmdW5jdGlvbmFsaXR5CgoyMDA5LTAzLTI5IDEzOjMxOjIxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJICBGaXggaW5jb25zaXN0ZW50IHN0eWxlICh0cml2aWFsIHRlc3QgY29tbWl0KS4KCjIwMDktMDMtMjkgMTM6MjM6MDIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGNvbmZpZ3VyZSBjaGVjayBmb3IgU0xWMi4KCjIwMDktMDYtMjIgMjI6MDE6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRlYnVnIGxvZyBvbmx5IGNoYW5nZQoKMjAwOS0wNi0yMiAxODozNToyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogbWFwIG1vcmUgdGFncyBhbmQgZml4IHJlYWRpbmcgb2YgeG1wIHRhZ3MKCSAgUmVnaXN0ZXIgeG1wIHNjaGVtYXMgZm9yIHBob3Rvc2hvcCBhbmQgaXB0Yy4gTWFwIGEgZmV3IGxvY2F0aW9uIHRhZ3MgdGhlcmUuCgkgIEFkZCBtb3JlIGRjIHRhZ3MuIEZpeCByZWFkaW5nIHhtcCB0YWcgYnkgaXRlcmF0aW9uIG92ZXIga25vd24gc2NoZW1hcy4gQWRkCgkgIHNvbWUgbW9yZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0wNi0xNiAxNzoxMjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbW9yZSBjbGVhbnVwIGluIHRlc3RzCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcuIFJlbW92ZSB1bnVzZWQgbXV0ZXggYW5kIGNvbmQuCgoyMDA5LTA2LTEyIDE0OjI2OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY3J1ZnQgcmVtb3ZhbCBhbmQgZGVidWcgbG9ncwoJICBSZW1vdmUgdW51c2VkIGNvZGUuIEFkZCBsb3RzIG9mIGRlYnVnIGxvZ2luZy4gQ2hhbmdlIGNvbW1lbnRzIGZvciBsb2NhbAoJICBmdW5jdGlvbnMgdG8gbm90IHVzZSAvKiogZ3RrLWRvYyBzdGFydCBzdHlsZS4KCjIwMDktMDYtMTIgMTA6NDA6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuZ2xhZGU6CgkgIGNhbWVyYWJpbjogYWRkIGNhbWVyYWJpbiBleGFtcGxlcwoJICBnc3QtY2FtZXJhIGlzIGEgZ3RrLXRlc3QgYXBwIHRvIHBsYXkgd2l0aCB0aGUgaW1hZ2VjYXB0dXJlIGFuZCB2aWRlb3JlY29yZGluZy4KCSAgZ3N0LWNhbWVyYS1wZXJmIGlzIGEgdG9vbCB0byBydW4gdmFyaW91cyBzY2VuYXJpb3MgYW5kIHRha2UgdGltZSBtZWFzc3VyZW1lbnRzCgkgIChlLmcuIHNob3QtdG8tc2hvdCkuIEFsc28gc29ydCB0aGUgb3V0cHV0IGZpbGVzIGluIGNvbmZpZ3VyZS5hYyBhIGJpdCB0byBiZQoJICBpbiBhbHBoYWJldGljYWwgb3JkZXIuCgoyMDA5LTA2LTEwIDExOjE1OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBmaXggY29udmVyc2lvbiBvZiBnZW8gY29vcmRpbmF0ZXMKCSAgQ29vcmRpbmF0ZSBjb252ZXJzaW9uIGhhcyBiZWVuIHZlcmlmaWVkIHdpdGggZXhpdjIgYW5kIHNvbWUgd2VicGFnZXMuCgkgIE1pbnV0ZXMgd2hlciB0b3RhbGx5IG9mZiBhbmQgc2Vjb25kcyB3ZXJlIG5vdCB1c2VkIGF0IGFsbC4KCjIwMDktMDYtMjIgMTE6MTk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRldGVjdCBhbmQgZml4IGZvciBiYWQgTkFMVSBzaXplcwoJICB3aGVuIGluIEFWQyBtb2RlIGEgbmFsdSBzaXplIHNlZW1zIGludmFsaWQsIGFzc3VtZSB0aGUgTkFMVSBoYXMgdGhlIHNpemUgb2YgdGhlCgkgIGF2YWlsYWJsZSBkYXRhIGluc3RlYWQgb2YgbG9vcGluZyBmb3JldmVyLgoJICBGaXhlcyAjNTg2MzU0CgoyMDA5LTA2LTE5IDIxOjIwOjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMDktMDYtMTggMTc6MDY6MjMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgVkRQQVU6IEZpeCBidWlsZCBmbGFncyB0byBwdWxsIGluIGdzdC1wbHVnaW5zLWJhc2UgbGlicwoKMjAwOS0wNi0xNSAxODozMzowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBSZWZhY3RvciB0aGUgZXJyb3IgcGF0aCB0byBhIGNvbW1vbiBvdXRwdXQsIGFuZCBmaXggYSBsZWFrLgoJICBEb24ndCBsZWFrIHRoZSBpbnB1dCBidWZmZXIgb24gZXJyb3JzLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOS0wNi0xNSAxODoyOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgVkRQQVU6IEZpeCB1cCBjYXBzIGluIHZkcGF1bXBlZ2RlYy4gUmVtb3ZlIGV4dHJhIHNlbWljb2xvbgoJICBGaXggYSB0eXBvIGluIHRoZSBjYXBzIGZvciB0aGUgVkRQQVUgbXBlZyBkZWNvZGVyIChjaHJvbWFfdHlwZS0+Y2hyb21hLXR5cGUpCgkgIGFuZCB1c2UgdGhlIEdTVF9WRFBfVklERU9fQ0FQUyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZS4KCSAgUmVtb3ZlIGEgc3RyYXkgc2VtaWNvbG9uLgoKMjAwOS0wNi0xMiAxNjozOTozOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIFZEUEFVOiBFbmhhbmNlIHRoZSBjb25maWd1cmUgdGVzdHMKCSAgQ2hlY2sgZm9yIHRoZSBWRFBBVSBoZWFkZXJzIGluIC91c3IvaW5jbHVkZS9udmlkaWEgYXMgdGhleSBhcmUgb24gc29tZQoJICBwbGF0Zm9ybXMgKEZlZG9yYS9ycG1mdXNpb24pLiBBbHNvIGNoZWNrIHRoYXQgdGhlIGxpYnZkcGF1IGxpYnJhcnkgaXMKCSAgYXZhaWxhYmxlLgoKMjAwOS0wNi0wOSAyMzoxNDoyNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGZpeGVkIHNyYyBjYXBzCgoyMDA5LTA2LTA4IDE0OjM1OjI5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiBkcm9wIGFsbCBmcmFtZXMgYmVmb3JlIGEgR09QIHdoZW4gd2Ugc2VlawoKMjAwOS0wNi0wOCAxNDoxNTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cAoKMjAwOS0wNi0wNyAyMzo0NjozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHMvSVNfVkRQQVUvSVNfVkRQCgoyMDA5LTA2LTA3IDAxOjI1OjAxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgaWYgb25seSB0aGUgcmF0ZSBoYXMgYmVlbiB1cGRhdGVkCgoyMDA5LTA2LTA3IDAxOjEyOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgbXV0ZXggdG8gcHJvdGVjdCBtcGVnX2RlYy0+c2Vla2luZyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzCgoyMDA5LTA2LTA3IDAwOjU1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZ3N0X3BhZF9nZXRfcGFyZW50IGZvciB0aHJlYWRzYWZldHkKCjIwMDktMDYtMDYgMjE6Mjc6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZ1cnRoZXIgd29yayBvbiBzZWVraW5nCgoyMDA5LTA2LTA1IDIzOjExOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cHMKCjIwMDktMDYtMDUgMjI6Mjg6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBvbiBub24gSV9GUkFNRSdzCgoyMDA5LTA2LTA1IDIxOjQ4OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgZ3N0dmRwbXBlZ2RlY29kZXIuW2NoXSB0byBnc3R2ZHBtcGVnZGVjLltjaF0KCjIwMDktMDYtMDUgMjE6NDY6MDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgR3N0VmRwTXBlZ0RlY29kZXIgdG8gR3N0VmRwTXBlZ0RlYwoKMjAwOS0wNi0wNSAyMTo0MjozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBwYXNzIGJ1ZmZlciBzaXplIGRpcmVjdGx5IHRvIGdzdF92ZHBfbXBlZ19kZWNvZGVyX2RlY29kZQoKMjAwOS0wNi0wNSAyMToxODo0NyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXAKCjIwMDktMDYtMDUgMjE6MTY6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogY2FsY3VsYXRlIGJ5dGVyYXRlIGZyb20gdGhlIHNpemUgb2YgdGhlIGluY29taW5nIGRhdGEKCjIwMDktMDYtMDUgMTk6MDg6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBwcmludCBmcmFtZV9uciBpbiBkZWJ1ZyBwcmludAoKMjAwOS0wNi0wNSAxODoyODoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGludGVybGFjZWQgZml4ZXMKCjIwMDktMDYtMDUgMTg6MTg6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBvbmx5IHNldCBiYXNlIGR1cmF0aW9uIG9uY2UKCjIwMDktMDYtMDUgMTc6NTM6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBzZW5kIHRoZSBFVkVOVF9ORVdTRUdNRU5UIGRvd25zdHJlYW0gaWYgd2UncmUgc2Vla2luZwoKMjAwOS0wNi0wNSAxNzo0Mzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBpbXBsZW1lbnQgc2Vla2luZwoKMjAwOS0wNi0wNSAxMTo1NDoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNoYW5nZSBhIEdTVF9ERUJVRyB0byBHU1RfV0FSTklORwoKMjAwOS0wNi0wNSAxMTo1MjozMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW51c2VkIGJyb2tlbl9nb3AgZmllbGQKCjIwMDktMDYtMDUgMTE6NTE6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgbmV3IGdzdF92ZHBfbXBlZ19kZWNvZGVyX2ZsdXNoIGZvciBmbHVzaGluZyB0aGUgZGVjb2RlcgoKMjAwOS0wNi0wNSAxMToyNDozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBHU0VfREVCVUdfRlVOQ1BUUgoKMjAwOS0wNi0wNSAxMToyMDo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGRyb3AgZGlzY29udCBidWZmZXJzCgoyMDA5LTA2LTA1IDExOjE3OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIEdTVF9RVUVSWV9QT1NJVElPTiBhbmQgR1NUX1FVRVJZX0RVUkFUSU9OCgoyMDA5LTA2LTA0IDIxOjE3OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogY2FsY3VsYXRlIGNvcnJlY3QgZHVyYXRpb24gZnJvbSBkYXRhIGluIE1QRUdfUEFDS0VUX0VYVF9QSUNUVVJFX0NPRElORwoKMjAwOS0wNi0wNCAxOTozMDowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBmaXggc28gdGhhdCB0aGUgZmlyc3QgZnJhbWUgaW4gYSByYXcgbXBlZ3ZpZGVvIHN0cmVhbSBnZXQgdGltZXN0YW1wIDAKCjIwMDktMDYtMDQgMTk6MTc6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdnBkYXVtcGVnZGVjOiByZW1vdmUgdXNlbGVzcyBHc3RWZHBEZWNvZGVyIGJhc2VjbGFzcwoKMjAwOS0wNi0wNCAxODoxMTowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIEdzdEJpdFJlYWRlciB0byBwYXJzZSBiaXRzdHJlYW0KCjIwMDktMDUtMDYgMjM6MDc6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogY2hhbmdlIGVsZW1lbnQgcmFuayBmb3IgdGVzdGluZyBwdXJwb3NlcwoJICBzZXQgbXBlZ3ZpZGVvcGFyc2UgcmFuayB0byBwcmltYXJ5IGFuZCB2ZHBhdW1wZWdkZWMgdG8gcHJpbWFyeSAtIDEgdG8gZ2V0IHZkcGF1bXBlZ2RlYwoJICBjb3JyZWN0bHkgcGx1Z2dlZCBpbnRvIHBsYXliaW4KCjIwMDktMDUtMDUgMjM6MTk6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogYWRkIGRlYnVnIG9uIEdzdFZkcERldmljZSBkZXN0cm95CgoyMDA5LTA1LTA1IDIzOjEzOjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY29kZSBjbGVhbnVwCgoyMDA5LTA1LTA1IDIzOjA4OjUxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubnVzZWQgR3N0VmRwQkZyYW1lIHN0cnVjdAoKMjAwOS0wNS0wNSAyMzowNzowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4IHNtYWxsIHR5cG8gaW4gZGVidWcgcHJpbnQKCjIwMDktMDUtMDUgMTg6NTQ6MzEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHRpbWVzdGFtcGluZyBvZiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTA1LTA1IDE4OjQ1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgYWRkIGZvcndhcmRfcmVmZXJlbmNlIGlmIHRoZSBmcmFtZSBpcyBhbiBJX0ZSQU1FCgoyMDA5LTA1LTA1IDE4OjM3OjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoKMjAwOS0wNS0wNSAxNzozMDozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWVkZWQgbG9ja2luZyBzaW5jZSB3ZSBrbm93IGRvIFN0YXRlQ2hhbmdlIGNvcnJlY3RseQoKMjAwOS0wNS0wNSAxNzoyODoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgcy9HU1RfVFlQRV9WRFBBVS9HU1RfVFlQRV9WRFAvZwoKMjAwOS0wNS0wNSAxNzoyMDoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcy9HU1RfVFlQRV9WRFBBVS9HU1RfVFlQRV9WRFAvZwoKMjAwOS0wNS0wNSAxNzoxNTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHN0YXRlIGNoYW5nZQoKMjAwOS0wNS0wNSAxNjoyOToyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGluaXQgInZkcGF1ZGV2aWNlIiBkZWJ1ZyBjYXRvZWdvcnkgaW4gZ3N0X3ZkcF9nZXRfZGV2aWNlCgoyMDA5LTA1LTA1IDA4OjExOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaG9sZCB0aGUgbG9jayBpbiBjaGFuZ2Vfc3RhdGUKCjIwMDktMDUtMDMgMjE6NTI6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiB0aGUgQl9GUkFNRSBkZWNvZGluZyB3YXMgY29tcGxldGVseSB3cm9uZywgZml4IGl0CgkgIHRoZSBidWZmZXJzIGRvbid0IGNvbWUgaW4gb3V0cHV0IG9yZGVyIHNvIGZpeCB0aGUgZGVjb2RlciB0byBoYW5kbGUgdGhpcwoJICBhZGQgbmV3IGdzdF92ZHBfdmlkZW9fYnVmZmVyX2FkZF9yZWZlcmVuY2UgbWV0aG9kIHRvIEdzdFZkcFZpZGVvQnVmZmVyIHRvIGJlIGFibGUgdG8ga2VlcAoJICBidWZmZXJzIGFsaXZlLiBJZS4gYSBCX0ZSQU1FIG5lZWQgdG8gaGF2ZSBib3RoIHRoZSBmb3J3YXJkIHJlZmVyZW5jZSBhbmQgdGhlIGJhY2t3YXJkCgkgIHJlZmVyZW5jZSBhbGl2ZSBkdXJpbmcgaXQncyBsaWZldGltZS4KCSAgYWRkIG11dGV4IHRvIHByb3RlY3QgZm9yIHRocmVhZHNhZmV0eSBpc3N1ZXMgd2hlbiB3ZSByZXNldCB0aGUgZGVjb2RlciBpbiBGTFVTSF9TVE9QCgoyMDA5LTA0LTMwIDIxOjU4OjAxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IGZ1bGxfcGVsX2ZvcndhcmRfdmVjdG9yIHRvIDAgd2hlbiBwaWNfdHlwZSA9PSBQX0ZSQU1FCgoyMDA5LTA0LTI3IDIxOjMwOjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZHJvcCBmcmFtZXMgaWYgd2UgaGF2ZW4ndCBnb3QgYW4gSV9GUkFNRSB5ZXQKCjIwMDktMDQtMjcgMjA6NTc6MTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBzZXQgdmRwYXV2aWRlb3l1diBhbmQgdmRwYXV5dXZ2aWRlbyB0byBHU1RfUkFOS19QUklNQVJZCgoyMDA5LTA0LTI3IDIwOjUwOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZGVzdHJveSB0aGUgVmRwRGVjb2RlciBhbmQgcmVzZXQgdGhlIGRlY29kZXIgb24gc3RhdGUgY2hhbmdlCgoyMDA5LTA0LTI3IDIwOjQ1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogZml4IGVycm9yIHdoZXJlIHdlIGZvcmdvdCB0byBwYXNzIGEgdHJhaWxpbmcgTlVMTCB0byBnX29iamVjdF9uZXcKCjIwMDktMDQtMjcgMjA6MjE6NDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBjbG9zZSBkaXNwbGF5IG9uIGZpbmFsaXplCgoyMDA5LTA0LTI3IDIwOjE4OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGZpeGVzCgkgIGluaXQgY3JlYXRlIEdzdFZkcERldmljZSBvbiBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRCBpbnN0ZWFkIG9mIG9uCgkgIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UTyBSRUFEWQoJICBhZGQgYmFjayBpbmNyZW1lbnRpbmcgb2YgZnJhbWVfbnIKCjIwMDktMDQtMjcgMjA6MTU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiB1c2UgZ19vbmNlX2luaXRfZW50ZXIgaW5zdGVhZCBvZiBnX29uY2UKCjIwMDktMDQtMjcgMTg6MzQ6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBpZiBhdmFpbGFibGUgdXNlIGluY29taW5nIGJ1ZmZlciB0aW1lc3RhbXAgYXMgb3V0cHV0IHRpbWVzdGFtcAoKMjAwOS0wNC0yNyAxNToxMjoyNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNsZWFyIHRoZSBhZGFwdGVyIHdoZW4gd2UgcmVzZXQgdGhlIGRlY29kZXIKCjIwMDktMDQtMjYgMjM6MjU6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZml4dXAgcmVuYW1pbmcKCSAgdGhlIHJlbmFtZSB3b3JrIGRvbmUgaW4gY29tbWl0IDI0Y2Y4NGQwNmIyZjRiMmVkZWMzMzgzYjE5ODQ0MWEwNzgyOTYxOGIgZGlkbid0CgkgIGluY2x1ZGUgdHlwZWNhc3RzLiBUaGlzIGNvbW1pdCBmaXhlcyB0aGlzLgoKMjAwOS0wNC0yNiAyMzoyMDozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlc2V0IGRlY29kZXIgb24gR1NUX0VWRU5UX0ZMVVNIX1NUT1AKCjIwMDktMDQtMjYgMjI6MDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZXNldCBkZWNvZGVyIHdoZW4gd2UgZ2V0IGEgZGlzY29udCBidWZmZXIKCjIwMDktMDQtMjYgMjA6NDA6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgIk1QRUdfUEFDS0VUX0VYVF9QSUNUVVJFX0NPRElORyIgZGVidWcgc3RhdGVtZW50CgoyMDA5LTA0LTIyIDIzOjM1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIGJyb2tlbl9nb3AgZmllbGQKCjIwMDktMDQtMjIgMjE6MDQ6NTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBjb252ZXJ0IGFsbCBtYW51YWwgcGFyc2luZyB0byB1c2UgcmVhZF9iaXRzIGluc3RlYWQKCjIwMDktMDQtMjIgMjA6Mjg6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWRlZCBnc3RfYnVmZmVyX3JlZiBhbmQgdGhlIGFjY29tcGFueWluZyBnc3RfYnVmZmVyX3VucmVmCgoyMDA5LTA0LTIyIDIwOjI1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgZXJyb3Igd2hlcmUgd2Ugc2V0IGZvcndhcmRfcmVmZXJlbmNlIGluc3RlYWQgb2YgYmFja3dhcmRfcmVmZXJlbmNlCgoyMDA5LTA0LTE2IDIzOjQzOjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgbXVsdGlwbGUgQl9GUkFNRXMgaW4gYSByb3cKCjIwMDktMDQtMTYgMjI6MzA6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBtb3JlIEJfRlJBTUUgd29yawoKMjAwOS0wNC0xNiAyMjowNjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBpbml0YWwgc3VwcG9ydCBhdCBoYW5kbGluZyBCX0ZSQU1FUwoKMjAwOS0wNC0xNSAyMzo0OTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIEdzdEZsb3dSZXR1cm4gcHJvcGFnYXRpb24gYSBiaXQKCjIwMDktMDQtMTUgMjM6Mzg6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IHBhcnNlIFBJQ1RVUkVfQ09ESU5HX0VYVEVOU0lPTiBhbHRlcm5hdGVfc2NhbiBiaXQKCjIwMDktMDQtMTUgMjM6MzE6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgcXVhbnRtYXRyaXggZXh0ZW5zaW9uIHBhcnNpbmcKCjIwMDktMDQtMTUgMTg6MTc6NTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjb3JyZWN0IHNvbWUgZGVmYXVsdCB2YWx1ZXMKCSAgbXBlZzEgbm93IGdpdmUgbmVhcmx5IGNvcnJlY3Qgb3V0cHV0IDopCgoyMDA5LTA0LTE1IDE3OjUyOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbW92ZSB1bnVzZWQgc2xpY2UgZmllbGQKCjIwMDktMDQtMTQgMjM6NDc6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHJlbmFtZSAidmlkZW8vdmRwYXUtdmlkZW8iIGNhcHMgdG8gInZpZGVvL3gtdmRwYXUtdmlkZW8iCgoyMDA5LTA0LTE0IDIxOjA3OjMyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSAic2lsZW50IiBwcm9wZXJ0eSBmcm9tIEdzdFZkcERlY29kZXIKCjIwMDktMDQtMTQgMjE6MDU6NDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogZG9uJ3Qgc2V0IGVsZW1lbnQgZGV0YWlscyBpbiBHc3RWZHBEZWNvZGVyCgoyMDA5LTA0LTE0IDIxOjA0OjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVuYW1lIHRvICJ2ZHBhdW1wZWdkZWMiCgoyMDA5LTA0LTE0IDE5OjA4OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW1vdmUgdW5uZWNlc2FyeSB3YW50X3NsaWNlIGZpZWxkCgoyMDA5LTA0LTEzIDIyOjIxOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogc21hbGwgY29zbWV0aWNhbCBmaXgKCjIwMDktMDQtMTMgMjI6MTk6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW5hbWUgYWxsIGZpbGVzIGFuZCBvYmplY3RzIGZyb20gVmRwYXUgdG8gVmRwCgoyMDA5LTA0LTEzIDIxOjIzOjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGRlY29kZSBzbGljZXMgd2hlbiB3ZSBnZXQgdGhlIG5leHQgcGljdHVyZSBoZWFkZXIuIE1QRUcyIG5vdyBraW5kb2Ygd29ya3MuCgoyMDA5LTA0LTEzIDIxOjExOjU0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1OiBzbWFsbCBpbXByb3ZlbWVudCB0byBtcGVnIGRlY29kZXIKCjIwMDktMDQtMTMgMjA6MDQ6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbW92ZSB1bnVzZWQgInNpbGVudCIgcHJvcGVydGllcwoKMjAwOS0wNC0xMyAxOTozNjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkgIHZkcGF1OiBpbXBsZW1lbnQgR3N0VmRwYXVWaWRlb0J1ZmZlciAtPiBJNDIwIGNvbnZlcnNpb24KCjIwMDktMDQtMDkgMTY6NTQ6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSAgdmRwYXU6IG1vdmUgZGVmaW5pdGlvbiBvZiB0aGUgVmRwQ2hyb21hVHlwZSBhcnJheSBhbmQgdGhlIFZkcGF1Rm9ybWF0cyB0byBnc3RkZXZpY2UuaAoKMjAwOS0wNC0wNyAyMTo1MTo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBmaXgKCSAgc2V0IHZkcF9pbmZvLmZvcndhcmRfcmVmZXJlbmNlIHRvIFZEUF9JTlZBTElEIGhhbmRsZSB3aGVuIHVucmVmZmluZyB0aGUgb2xkCgkgIGJ1ZmZlcgoKMjAwOS0wNC0wNyAyMDo0Njo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSAgdmRwYXU6IGFkZCBuZXcgR3N0VmRwYXVZVVZWaWRlbyBlbGVtZW50CgkgIHRoZSBHc3RWZHBhdVlVVlZpZGVvIGVsZW1lbnQgdGFrZXMgcmF3IFlVViB2aWRlbyBhbmQgb3V0cHV0cwoJICBHc3RWZHBhdVZpZGVvQnVmZmVycwoKMjAwOS0wNC0wNCAyMjo0NTowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkgIHZkcGF1OiBWaWRlb1lVViB1bnJlZiBidWZmZXIgaW4gY2hhaW4gc28gdGhhdCB3ZSBkb24ndCBsZWFrIHRoZW0gTXBlZ0RlY29kZXIgcGFyc2Ugc2VxdWVuY2UgaGVhZGVycwoKMjAwOS0wNC0wNCAyMjowNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHJlbW92ZSBzb21lIHVubmVkZWQgaW5jbHVkZXMKCjIwMDktMDQtMDQgMjI6MDM6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkgIHZkcGF1OiBtb3ZlIHBsdWdpbiBkZWZpbml0aW9uIHRvIGEgbmV3IGdzdHZkcGF1LmMgZmlsZSBmaXggdXAgZGVidWcgY2F0ZWdvcmllcwoKMjAwOS0wNC0wNCAyMDo1MzozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkgIHZkcGF1OiBhZGQgbmV3IEdzdFZkcGF1VmlkZW9ZVVYgZWxlbWVudAoJICBHc3RWZHBhdURlY29kZXIgbm93IHB1c2hlcyBHc3RWZHBhdVZpZGVvQnVmZmVycyBpbnN0ZWFkIG9mIGRvaW5nCgkgIFZkcFN1cmZhY2UgLT4gWVVWIGNvbnZlcnNpb24uIFRvIGdldCBZVVYgZGF0YSB5b3Ugbm93IHB1dCBpbiBhIEdzdFZkcGF1VmlkZW9ZVVYKCSAgZWxlbWVudCB3aGljaCB0YWtlcyBHc3RWZHBhdVZpZGVvQnVmZmVycyBhbmQgb3V0cHV0cyBZVVYgZGF0YS4KCjIwMDktMDQtMDMgMTc6NTk6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50IGZpeAoKMjAwOS0wNC0wMyAxNzo1ODoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJICB2ZHBhdTogcmVtb3ZlIG9ib3NvbGV0ZSBGSVhNRSBhbmQgc29tZSBkZWJ1ZyBwcmludHMgZnJvbSBnc3R2ZHBhdWRldmljZS5jCgoyMDA5LTA0LTAzIDE3OjUzOjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkgIHZkcGF1OiBjb21taXQgcmVuYW1lIG9mIGdzdC12ZHBhdS1kZXZpY2UuaCB0byBnc3R2ZHBhdWRldmljZS5oCgoyMDA5LTA0LTAzIDE3OjUyOjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuYzoKCSAgdmRwYXU6IHJlbW92ZSBnc3QtdmRwYXUtZGV2aWNlLmMKCjIwMDktMDQtMDMgMTc6NTE6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkgIHZkcGF1OiByZW5hbWUgZ3N0LXZkcGF1LWRldmljZS5bY2hdIHRvIGdzdHZkcGF1ZGV2aWNlLltjaF0KCjIwMDktMDQtMDEgMjE6NDI6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGNoYW5nZSBhbGwgcmVmZXJlbmNlcyBvZiAiZ3N0X3ZkcGF1ZGVjb2RlcioiIHRvICJnc3RfdmRwYXVfZGVjb2RlciIKCjIwMDktMDQtMDEgMjE6NDA6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBtYWtlIHRoZSBkZWNvZGVyIGNsZWFuIHVwIGFmdGVyIGl0c2VsZgoKMjAwOS0wNC0wMSAyMToyNjo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IHJlbW92ZSBleHRyYSBcIGZyb20gTWFrZWZpbGUuYW0KCjIwMDktMDQtMDEgMjE6MTk6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIGdzdHZkcGF1ZGV2aWNlIGZvciBhYnN0cmFjdGluZyB2ZHBhdSBpbml0YWxpemF0aW9uCgoyMDA5LTAzLTMxIDIyOjU0OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBjb21tZW50CgoyMDA5LTAzLTMxIDIyOjUzOjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogTVBFRzEgZGVjb2Rpbmcga25vdyBnaXZlcyByZWNvZ25pemFibGUgb3V0cHV0CgoyMDA5LTAzLTI5IDE1OjI4OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGNyZWF0ZSBWZHBEZWNvZGVyIGluIHNldF9jYXBzIGFkZCBtb3JlIGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBtcGVnCgoyMDA5LTAzLTI3IDE3OjExOjA0ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBzdG9yZSB2ZHBhdSBmdW5jdGlvbiBwb2ludGVycyBpbiBhIGxvY2FsIHN0cnVjdHVyZQoKMjAwOS0wMy0yNyAxNjo1NToxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBleHRyYWN0IG1wZWcyIHByb2ZpbGUgZnJvbSBjb2RlY19kYXRhCgoyMDA5LTAzLTI2IDIxOjA0OjQ4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBleHRyYWN0IG1wZWcgdmVyc2lvbgoKMjAwOS0wMy0yNSAyMDo0MTo0NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBhZGQgdmVyc2lvbiBzcGVjaWZpY2F0aW9uIHRvIG1wZWdkZWNvZGVyIGNhcHMKCjIwMDktMDMtMjUgMjA6Mzg6MjcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBmb2N1cyBvbiBtcGVnIGluc3RlYWQgb2YgaDI2NAoKMjAwOS0wMy0yNSAxOTo1OTowNiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IHJvdWdoIHRyeSBhdCBpbXBsZW1lbnRpbmcgcHVzaGluZiBvZiBZVjEyIGJ1ZmZlcnMKCjIwMDktMDMtMjQgMjI6MjY6NTYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiByZW1vdmUgb2Jzb2xldGUgY29tbWVudAoKMjAwOS0wMy0yMyAyMTozNjo1NSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IGluaXQgdmRwYXUgaW4gR1NUX1NUQVRFX0NIQU5HRV9OVUxMX1RPX1JFQURZIGFkZCBnc3RfdmRwYXVkZWNvZGVyX3B1c2hfdmlkZW9fc3VyZmFjZSB0byB2ZHBhdWRlY29kZXIuaAoKMjAwOS0wMy0yMyAyMDo0NzowMCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIHN0dWJzIGZvciBwdXNoaW5nIFZkcFZpZGVvU3VyZmFjZXMgdG8gdGhlIHNyYyBwYWQKCjIwMDktMDMtMjEgMjI6MDY6MTIgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJICB2ZHBhdTogdXBkYXRlIFZkcGF1SDI2NERlY29kZXIgZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAwOS0wMy0yMCAyMToyNjoxMSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IGNoYW5nbGUgZ3N0dmRwYXVkZWNvZGVyLmMgY2xhc3NpZmljYXRpb24KCjIwMDktMDMtMjAgMjE6MjQ6NDAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IGltcGxlbWVudCBkb3duc3RyZWFtIGNhcHMgbmVnb3RpYXRpb24KCjIwMDktMDMtMTUgMjE6MjM6MzUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnRhdGlvbiBmaXgKCjIwMDktMDMtMTUgMjE6MjE6NDkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIGJhc2ljIGJhc2UgY2xhc3MgZm9yIHZkcGF1IGRlY29kZXJzCgoyMDA5LTAzLTE0IDEwOjQzOjI4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgYWRkIG5ldyB2ZHBhdSBkaXJlY3RvcnkKCjIwMDktMDYtMTkgMTk6MDk6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua28uc3ViYXNpYyBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBBZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBidWZmZXItbGlzdHMuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRlc3RpbmcgdGhhdCB0aGUgYnVmZmVyLWxpc3QgcGFzc2VkIHRocm91Z2ggcnRwYmluLgoJICBmaXhlcyAjNTg1ODM5CgoyMDA5LTA2LTE4IDEyOjEzOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQURJRjogZG8gbm90IHNlbmQgYm9ndXMgdGltZXN0YW1wcywgbGVhdmUgdG8gZG93bnN0cmVhbSAoZGVjb2RlcikKCjIwMDktMDYtMTEgMTU6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9ubHkgdXNlICg2NC1iaXQpIGV4dGVuZGVkIChtZGF0KSBhdG9tIHNpemUgaWYgbmVlZGVkLiAgRml4ZXMgIzU4NTMxOS4KCjIwMDktMDYtMTAgMTQ6NDY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZGVmYXVsdCBtb3ZpZSB0aW1lc2NhbGUgdG8gbWljcm9zZWNvbmQgdW5pdHMKCjIwMDktMDYtMTAgMTM6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBjb21wcmVzcy9vcHRpbWl6ZSBzdHNjIHdyaXRpbmcKCjIwMDktMDYtMTAgMTI6NDI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCAzR1Agc3R5bGUgdGFnZ2luZyAoYW5kIHJlZmFjdG9yIGFwcHJvcHJpYXRlbHkpCgoyMDA5LTA2LTAxIDIzOjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXggKGFuZCB2YXJpYW50cyk6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8uICBGaXhlcyAjNTg0MzU4LgoKMjAwOS0wNi0xOSAxNzowNDoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBGaXggcHJldmlvdXMgY29tbWl0IHNvIHRoYXQgdGhpbmdzIHN0aWxsIHdvcmsgd2l0aCBkZWJ1ZyBsb2dzIGVuYWJsZWQKCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOS0wNi0xNiAyMTozNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogTWFrZSBwbHVnaW4gc2Nhbm5pbmcgbW9yZSByb2J1c3QKCjIwMDktMDYtMTYgMjE6Mjc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBNYWtlIHN1cmUgdG8gb25seSByZWdpc3RlciBwbHVnaW5zIHRoYXQgaGF2ZSB2YWxpZCBwcm9wZXJ0IHR5cGVzCgoyMDA5LTA2LTE2IDE5OjQyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBSZW1vdmUgY3VzdG9tIGdldF91bml0X3NpemUgaW1wbGVtZW50YXRpb24KCSAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGRlZmF1bHQgb25lIGZyb20gR3N0VmlkZW9GaWx0ZXIKCjIwMDktMDYtMTUgMTc6MDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBGaXggdGhlIGtsYXNzIG9mIHRoZSBmaWx0ZXIgZWxlbWVudHMKCjIwMDktMDYtMTQgMTk6NDE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEZyZWUgdHlwZSBuYW1lcwoKMjAwOS0wNi0xNCAxOTozNToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogVW5yZWYgdGhlIEdzdENvbGxlY3RQYWRzIGluc3RhbmNlIG9uIGZpbmFsaXplCgoyMDA5LTA2LTE0IDE5OjI3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRG9uJ3QgYWxsb3cgY2FwcyBjaGFuZ2VzIGluIFBMQVlJTkcvUEFVU0VECgkgIE1vc3QgZnJlaTByIHNvdXJjZSBwbHVnaW5zIGdlbmVyYXRlIG91dHB1dCBiYXNlZCBvbgoJICBwcmV2aW91cyBvdXRwdXQgYW5kIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIG9uIGNhcHMKCSAgY2hhbmdlcyB3aWxsIGxldCB0aGUgb3V0cHV0IHN0YXJ0IGF0IDAgYWdhaW4uCgoyMDA5LTA2LTE0IDE5OjIxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJICBmcmVpcjA6IEFkZCBzdXBwb3J0IGZvciBmcmVpMHIgbWl4ZXIgcGx1Z2lucwoKMjAwOS0wNi0xMyAxMDowNjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IERlc3Ryb3kgdGhlIGYwcl9pbnN0YW5jZV90IGluIHN0b3AoKQoKMjAwOS0wNi0xMiAyMjowNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEFkZCB0aGUgZnJlaTByIHBsdWdpbiB0eXBlIHRvIHRoZSBlbGVtZW50IG5hbWUKCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gZGlzdGluZ3Vpc2ggZ2VuZXJhdG9ycyBmcm9tIGZpbHRlcnMsIGV0YwoKMjAwOS0wNi0xMiAyMjowMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IEFkZCBzdXBwb3J0IGZvciBmcmVpMHIgc291cmNlL2dlbmVyYXRvciBwbHVnaW5zCgoyMDA5LTA2LTEyIDE1OjEzOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogQWxsb3cgdGhlIGNvbXBsZXRlIGRvdWJsZSByYW5nZSBmb3IgZG91YmxlIHByb3BlcnRpZXMKCSAgVGhlIHNwZWMgcmVzdHJpY3RzIGl0IHRvIFswLDFdIGJ1dCBzb21lIHBsdWdpbnMgYXJlIHVzaW5nIHRoZQoJICBjb21wbGV0ZSBkb3VibGUgcmFuZ2UuCgoyMDA5LTA2LTEyIDE1OjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogVXNlIGJldHRlciBwcm9wZXJ0eSBuaWNrcwoKMjAwOS0wNi0xMiAxNDo1OToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkgIGZyZWkwcjogRmlyc3QgdmVyc2lvbiBvZiBhIGZyZWkwciB3cmFwcGVyIHBsdWdpbgoJICBDdXJyZW50bHkgdGhpcyBvbmx5IHN1cHBvcnRzIGZyZWkwciBmaWx0ZXJzLgoKMjAwOS0wNi0xNCAyMDowMDo1MSArMDIwMCAgTWF4aW1pbGlhbiBIw7ZnbmVyIDxwYm1heGlAaG9lZ25lcnMuZGU+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEV4cGxpY2l0ZWx5IGNhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIGZpeCBhIHNlZ2ZhdWx0CgkgIEZpeGVzIGJ1ZyAjNTg1NjYwLgoKMjAwOS0wNi0wOSAxOToxNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxODo0NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByb3h5IHF1ZXJpZXMgb24gdGhlIHZpZGVvIHBhZHMgdG8gdGhlIGNvcnJlY3QgcGVlcnMKCjIwMDktMDYtMDkgMTg6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcm94eSBidWZmZXJhbGxvYyBvbiB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0wNi0wOSAxODoyNToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFRyeSB0byB3b3JrIGlucGxhY2UgaWYgcG9zc2libGUKCSAgVGhpcyBzYXZlcyBvbmUgbmV3LCBsYXJnZSBhbGxvY2F0aW9uIHBlciBmcmFtZSBmb3IgdGhlCgkgIG1vc3QgY2FzZXMuCgoyMDA5LTA2LTE2IDE4OjQ2OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBzdHJheSBzZW1pY29sb25zIHRoYXQgbWVzcyB1cCBpZiBzdGF0ZW1lbnQKCjIwMDktMDYtMTEgMTM6NDI6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBCdW1wIGNvbW1vbiB0byBjb3JyZWN0IHVwbG9hZC1kb2MubWFrLCBmaXggYSBjb21tZW50IGluIHRoZSBkb2MgTWFrZWZpbGUKCjIwMDktMDYtMTggMjA6MzM6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTMuMQoKMjAwOS0wNi0xOCAwODo1MzoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjEzIHJlbGVhc2UgZW50cnkgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xMyA9PT0KCjIwMDktMDYtMTggMDg6Mjk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEzCgoyMDA5LTA2LTE3IDIxOjU2OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDYtMTYgMTc6MDk6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiByZXNldCBmaWxlbmFtZSBhZnRlciBjYXB0dXJlIHRvIGF2b2lkIHJhY3kgd2hlbiBjYXB0dXJpbmcgYWdhaW4KCSAgSWYgd2UgZG9uJ3QgcmVzZXQgdGhlIGZpbGVuYW1lIHdlIGNhbm5vdCBjaGVjayBpZiB3ZSBzdGlsbCBleHBlY3QgdGhlIGZpbGVuYW1lCgkgIGZvciBhIHN1YnNlcXVlbnQgY2FwdHVyZSBwYXNzLiBUaGUgaW1hZ2ViaW4gd291bGQgZ29vZCB0byBwYXVzZWQgYW5kIHdlIHNldCB0aGUKCSAgZmlsZW5hbWUgaW4gdGhhdCBzdGF0ZS4gVGhpcyB0cmlnZXJzIGFuIGVycm9yLW1lc3NhZ2UgYW5kIHdvdWxkIGNhcHR1cmUgdG8gdGhlCgkgIG9sZCBmaWxlbmFtZS4KCjIwMDktMDYtMTIgMTA6Mjk6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbnVwcyBpbiB0aGUgdGVzdHMKCSAgU3ByaW5rbGUgbW9yZSBsb2dnaW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGZvbGxvdy4gU3BlY2lmeSBhIGxvdyBmcmFtZXJhdGUgYW5kCgkgIGNhcHR1cmUgcmVzb2x1dGlvbiB0byBhdm9pZCB0ZXN0cyB0aW1pbmcgb3V0LiBNYWtlIHRoZSBzaW5rcyBzeW5jIHRvIHRlc3QgY2xvc2VyCgkgIHRvIHJlYWxpdHkuIEZpeCBNYWtlZmlsZSB0byB1c2UgdW5pbnN0YWxsZWQgaW50ZXJmYWNlLgoKMjAwOS0wNi0xMiAxMDoyNjozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBpbWFnZWJpbiB0byBQQVVTRUQgb24gY2FwdHVyZSBhbmQgZGVsYXllZCBmaWxlbmFtZSBzZXR0aW5nCgkgIFdlIG5lZWQgdG8gc2V0IGltYWdlYmluIHRvIFBBVVNFRCB0byBub3QgZmFpbCB0aGUgYnVmZmVyYWxsb2MuIFdlIGFsc28gbmVlZCB0bwoJICBrZWVwIHRoZSBmaWxlc2lua3Mgc3RhdGUgbG9ja2VkIHVudGlsIHdlIGhhdmUgdGhlIGZpbGVuYW1lIGZvciB0aGUgcnVuLgoKMjAwOS0wNi0xMiAxMDoxNDoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBkbyB0aGUgcGFkX2FsbG9jIGZvciB0aGUgcGFkIHRoYXQgaXMgcGVuZGluZyBhbmQgaGF2ZSBhIGZhbGxiYWNrCgkgIFdlIHNob3VsZCBkbyB0aGUgcGFkX2FsbG9jIGZvciB0aGUgcGVuZGluZyBwYWQgaWYgYW55LCBhcyB3ZSB3aWxsIHN3aXRjaCB0byB0aGF0CgkgIHBhZCBvbiBuZXh0IF9jaGFpbigpIGNhbGwuIEFsc28gZG8gYSBmYWxsYmFjayBhbGxvYywgaWYgdGhlcmUgaXMgbm8gb3V0cHV0IHlldCB0bwoJICBub3QgZmFpbCBzdGF0ZSB0cmFuc2l0aW9ucyBpbiBkeW5hbWljIHBpcGVsaW5lcy4KCjIwMDktMDYtMTEgMTY6MDA6MzYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IEJ1bXAgd2luMzIgY29uZmlnLmggdmVyc2lvbiBudW1iZXIgdG9vCgoyMDA5LTA2LTA1IDIyOjQzOjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEyLjMgcHJlLXJlbGVhc2UKCjIwMDktMDYtMDYgMjE6Mjg6MjcgKzA0MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgQWRkZWQgYmFzZSBsaWJzIHRvIGRlYnVnIHV0aWxzIG1ha2VmaWxlCgkgIEZpeGVzICM1ODUwMTUKCjIwMDktMDYtMDcgMTA6NTU6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgdGVzdHMvbWV0YWRhdGE6IERvbid0IHRyeSB0YWdzIHdlIGNhbid0IGhhbmRsZS4gRml4ZXMgIzU4NDk0NQoKMjAwOS0wNi0wNiAxOToyODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSAgaGR2cGFyc2U6IExpbmsgYWdhaW5zdCBsaWJtIGJlY2F1c2Ugd2UgdXNlIHBvdygpLgoKMjAwOS0wNi0wNiAxMzo1MzowNCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IERvbid0IGJ1aWxkIHRoZSBteGYgZXhhbXBsZSBpZiBHVEsgaXNuJ3QgcHJlc2VudC4KCjIwMDktMDYtMDYgMTM6MTc6NDkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBhcGV4c2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEZpeCBjb21waWxlIHdhcm5pbmdzIG9uIHNvbGFyaXMgZnJvbSBiemVybyBub3QgYmVpbmcgZGVjbGFyZWQgKHVzZQoJICBtZW1zZXQgaW5zdGVhZCksIGFuZCBzdHJpY3QtYWxpYXNpbmcgd2FybmluZ3MgKHVzZSBhIHRlbXBvcmFyeQoJICB2YXJpYWJsZSkuCgoyMDA5LTA2LTA2IDAyOjM1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogaW5pdCBnZW5yZSBmaWVsZCBpbiBJRDN2MSB0YWcgdG8gYW4gaW52YWxpZCBudW1iZXIKCSAgU28gdGhhdCBpdCBpcyBub3QgaW50ZXJwcmV0ZWQgYXMgJ0JsdWVzJyBpZiBubyBnZW5yZSBpcyB0byBiZSB3cml0dGVuLgoKMjAwOS0wNi0wNiAwMTowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJICBpZDNtdXg6IGRvbid0IHdyaXRlIElEM3YxIHRhZyB1bnRpbCBzcGVjaWZpY2FsbHkgaW5zdHJ1Y3RlZCB0byBkbyBzbwoJICBJRDN2MSB0YWdzIGFyZSBvbmUgb2YgdGhlIG1vc3QgYnJva2VuIGFuZCBpbGwtZGVzaWduZWQgdGhpbmdzIHRoYXQKCSAgZXhpc3Qgb24gdGhpcyBwbGFuZXQuIExldCdzIG5vdCB3cml0ZSB0aGVtIGJ5IGRlZmF1bHQuCgoyMDA5LTA2LTA2IDAwOjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogZG9uJ3Qgd3JpdGUgZW1wdHkgSUQzdjEgdGFnCgoyMDA5LTA2LTA2IDAwOjM5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDN0YWc6IHJlbmFtZSBuZXcgaWQzdGFnIGVsZW1lbnQgdG8gaWQzbXV4IHJlcGxhY2luZyB0aGUgb25lIHJlbW92ZWQgZnJvbSAtdWdseQoKMjAwOS0wNi0wNSAyMzo1MjowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkgIG5zZjogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gU29sYXJpcy4KCSAgQSBTRUMoKSBtYWNybyBhbHJlYWR5IGV4aXN0cyBvbiBTb2xhcmlzLCBjYXVzaW5nIHdhcm5pbmdzIGFib3V0CgkgIHJlZGVmaW5pbmcgaXQuCgoyMDA5LTA2LTA1IDIyOjIwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBGaXggdGhlIGJ1aWxkIG9uIENvbW1hbmRlciBUaGF5dGFuJ3MgUzEwU1AKCjIwMDktMDYtMDUgMTk6NTM6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogSWdub3JlIHNoYXBld2lwZSB1bml0IHRlc3QgYmluYXJ5CgoyMDA5LTA2LTA1IDE5OjMyOjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZWQgJ3gyNjRlbmMnIGZyb20gLWJhZCB0byAtdWdseQoKMjAwOS0wNi0wNSAyMToxNzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogZml4IGxpbmsgb3JkZXIKCSAgTW92ZSBsb2NhbCB2ZXJzaW9uIHVwIGluIHRoZSBsaW5rIG9yZGVyLgoKMjAwOS0wNi0wNSAyMDoyMjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRW1pdCBhIEdTVF9NRVNTQUdFX0VMRU1FTlQgd2l0aCBzb21lIGdvb2RuZXNzIGluIGl0LgoKMjAwOS0wNi0wNSAxMDo0OTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQWRkIG1ldGhvZHMgdG8gZ2V0IG5hbWVzIG9mIHZhcmlvdXMgdmFsdWVzLgoKMjAwOS0wNi0wNSAxMDo0ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IEhEViBwcml2YXRlIHN0cmVhbSBkZWZpbml0aW9uL2NhcHMuCgoyMDA5LTA2LTA1IDEwOjQ3OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBSZXdyaXRlIGZyb20gc2NyYXRjaC4gSGFuZGxlIGJvdGggaGR2LWEgYW5kIGhkdi12CgkgIFRoaXMgdGltZSB3ZSBhbmFseXplIGEgbG90IG1vcmUgaW5mb3JtYXRpb24uCgkgIFN0aWxsIG5lZWQgdG8gcmUtYWRkIHRoZSBtZXNzYWdlIGVtaXNzaW9uLgoKMjAwOS0wNi0wNSAxNjo0ODowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogY29ycmVjdCBmcmFtZXNpemUgcmFuZ2UKCSAgQSBDRUxUIGZyYW1lc2l6ZSBjYW4gYmUgYmV0d2VlbiA2NCBhbmQgNTEyIHNhbXBsZXMuCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGJpdHJhdGUgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDA5LTA1LTI3IDExOjMzOjAxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwcmV2aWV3IGltYWdlIHNlbmRpbmcgb3B0aW1pemF0aW9uCgkgICogZGVjb3VwbGUgaW1hZ2UgY2FwdHVyaW5nIGZyb20gaW1hZ2UgcG9zdC1wcm9jZXNzaW5nIGFuZCBlbmNvZGluZwoJICAqIHBvc3QgaW1hZ2UtY2FwdHVyZWQgbWVzc2FnZSBhZnRlciBpbWFnZSBpcyBjYXB0dXJlZAoJICAqIHBvc3QgcHJldmlldy1pbWFnZSBtZXNzYWdlIHdpdGggc25hcHNob3Qgb2YgY2FwdHVyZWQgaW1hZ2UKCjIwMDktMDUtMTkgMTY6NTg6MzYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb3NlIHBvc3QgcHJvY2Vzc2luZyBlbGVtZW50IGluIGZpcnN0IHJlc2V0CgoyMDA5LTA1LTEyIDEyOjQ5OjMzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogYWRkIGRlYnVnIGluY2x1ZGluZyBkb3QgZ3JhcGggd3JpdGluZwoKMjAwOS0wNS0wNSAxNDoxOTo0NiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1bmJsb2NrIGlmIGVycm9yIG9jY3VycyBkdXJpbmcgY2FwdHVyZQoKMjAwOS0wNS0wNCAxMDozMzoxOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGlnbm9yZSBuaWdodCBtb2RlIGhhbmRsaW5nIGlmIGFscmVhZHkgaW4gbmlnaHQgbW9kZQoKMjAwOS0wNS0wNCAxMDozMjoxMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzdG9wIG9uZ29pbmcgY2FwdHVyZSBpZiBjaGFuZ2luZyByZXNvbHV0aW9uCgoyMDA5LTA0LTIzIDE4OjE1OjQzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogbGltaXQgdGhlIHNpemUgb2YgdmlkZW8gYmluIHF1ZXVlIGxlYWRpbmcgdG8gdmlldyBmaW5kZXIKCSAgV2UgZG9uJ3Qgd2FudCB0byBzaG93IG9sZCBidWZmZXJzIGluIHZpZXcgZmluZGVyLgoKMjAwOS0wNC0yMiAxMjoyOToxNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5Lmg6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcHJveHkgZ3N0IHhvdmVybGF5IGludGVyZmFjZQoJICBEZWZhdWx0IHZpZXcgZmluZGVyIHNpbmsgaW4gY2FtZXJhYmluIGlzIGF1dG92aWRlb3Npbmsgd2hpY2ggZG9lc24ndAoJICBzdXBwb3J0IHhvdmVybGF5IGlmYWNlLiBJZiBhcHBsaWNhdGlvbiBkZWNpZGVzIHRvIHVzZSBhbm90aGVyIHNpbmsKCSAgdGhhdCBzdXBwb3J0cyB4b3ZlcmxheSwgdGhlbiBpdCBjYW4gdXNlIHRoZSBpbnRlcmZhY2UgZGlyZWN0bHkuCgoyMDA5LTA0LTIwIDE3OjA2OjE0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogYWxsb3cgY29uZmlndXJpbmcgcGhvdG9ncmFwaHkgc2V0dGluZ3Mgd2hlbiBpbiBOVUxMIHN0YXRlCgkgIENhY2hlIHRoZSBwaG90b2dyYXBoeSBzZXR0aW5ncyBpZiBzZXQgaW4gTlVMTCBzdGF0ZSBhbmQgYXBwbHkgdGhlbSBsYXRlcgoKMjAwOS0wNC0yMCAxNzowNTo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBmdW5jdGlvbnMgdG8gc2V0L2dldCBhbGwgc2V0dGluZ3Mgd2l0aCBvbmUgY2FsbAoKMjAwOS0wMy0wOSAxODowMDo0NSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjcm9wIHN0aWxsIGltYWdlIGNhcHR1cmUgZnJhbWUgaWYgbmVjZXNzYXJ5CgkgIElmIGluY29taW5nIHN0aWxsIGltYWdlIGNhcHR1cmUgZnJhbWUgYXNwZWN0IHJhdGlvIGRpZmZlcnMgZnJvbSBhc3BlY3QKCSAgcmF0aW8gdGhhdCBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQsIHRoZW4gYXBwbHkgY3JvcCB0byB0aGUgZnJhbWUuCgoyMDA5LTA2LTA1IDEwOjI1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJICBkb2NzOiBhZGQgaW5zcGVjdCBmaWxlcyBmb3IgbmV3IHBsdWdpbnMKCjIwMDktMDYtMDUgMTA6MTY6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICBkb2NzOiBmaXggYnVpbGQgb2YgcGx1Z2luIGRvY3MgYnkgdXBkYXRpbmcgaW5zcGVjdCB0ZW1wbGF0ZXMKCSAgVGhlIHhtbCBpbnNwZWN0IGRhdGEgb2YgdGhlIGRlYnVndXRpbHNiYWQgcGx1Z2luIGRpZG4ndCBjb250YWluIHRoZQoJICBkYXRhIGZvciB0aGUgZnBzZGlzcGxheXNpbmsgZWxlbWVudCAoc29tZW9uZSBwcm9iYWJseSByYW4gJ21ha2UgdWRwYXRlJwoJICBpbiBkb2NzL3BsdWdpbnMgd2l0aCB0aGUgb2xkIGxpYmdzdGZwc2Rpc3BsYXlzaW5rLnNvIGZyb20gYmVmb3JlIHRoZQoJICByZW5hbWUgc3RpbGwgYXJvdW5kKS4KCjIwMDktMDYtMDUgMTA6MzQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL3htbC9lbGVtZW50LWZwc2Rpc3BsYXlzaW5rLWRldGFpbHMueG1sOgoJICBSZXZlcnQgImRvY3M6IGFkZCBkb2MgZmlsZSBmcm8gbmV3IHBsdWdpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMzllZjNlYjA3MjU1NWI3Y2EzOGZjMzUxY2EzODZiYjY4MGNjY2NjLgoJICBXZSBkb24ndCB0cmFjayB0aGUgc3R1ZmYgaW4geG1sLyBpbiBnaXQuCgoyMDA5LTA2LTA1IDExOjE4OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMveG1sL2VsZW1lbnQtZnBzZGlzcGxheXNpbmstZGV0YWlscy54bWw6CgkgIGRvY3M6IGFkZCBkb2MgZmlsZSBmcm8gbmV3IHBsdWdpbgoKMjAwOS0wNi0wMSAxNjozMTo0MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3Rvcjogc2VyaWFsaXplIHNldHRpbmcgYW5kIGFjdHVhbCBjaGFuZ2luZyBvZiBuZXcgYWN0aXZlIHBhZAoKMjAwOS0wNS0wNCAxMjoyOTo1NCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3RvcjogdW5yZWYgbGF0ZXN0IGJ1ZmZlciBhbHNvIHdoZW4gcmVzZW5kaW5nIGhhcyBiZWVuIGRpc2FibGVkCgoyMDA5LTA0LTE2IDE3OjMyOjAzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiBrZWVwIHJlZiB0byBidWZmZXIgZm9yIHJlc2VuZGluZyBvbmx5IGlmIGV4cGxpY2l0bHkgcmVxdWVzdGVkCgoyMDA5LTA2LTA0IDE5OjA4OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogZG9uJ3QgbGVhayBwYWRzIGluIGl0ZXJhdG9yCgoyMDA5LTA2LTA0IDE2OjI5OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgIG1wZWdkZW11eDogQWRkIGEgR1NUX01FTURVTVAgbGluZSBpbiB0aGUgZGVzY3JpcHRvciBwYXJzaW5nCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VlIGRlc2NyaXB0b3IgY29udGVudHMgaW4gdGhlIGRlYnVnIG91dHB1dAoJICAoR1NUX0RFQlVHPW1wZWd0c2Rlc2M6OSksIGFuZCByZW1vdmUgYSBzdHJheSBzZW1pLWNvbG9uLgoKMjAwOS0wNi0wNCAxNjoxMToxNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgcGFzc2luZyB0aGUgY3VzdG9tIEdTVF9GTE9XX05FRURfTU9SRV9EQVRBIHVwc3RyZWFtCgkgIERvbid0IHJldHVybiBHU1RfRkxPV19ORUVEX01PUkVfREFUQSBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiBhdCB0aGUgZW5kCgkgIG9mIGZpbGVzLgoKMjAwOS0wNi0wNCAwODo1NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBOb3RpZnkgd2hlbiB0aGUgdGFncyBwcm9wZXJ0eSBvZiB0aGUgc2VsZWN0b3Igc2lua3BhZHMgY2hhbmdlcwoJICBGaXJzdCBwYXJ0IG9mIGJ1ZyAjNTg0Njg2LgoKMjAwOS0wNi0wNCAwODo1NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbmNyZWFzZSB0aW1lb3V0IG9mIHRoZSB1bml0IHRlc3QKCjIwMDktMDYtMDMgMjM6MzU6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDYtMDIgMTE6MzY6MDEgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgdHdvIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAwOS0wNi0wMiAxMToyMzozNyArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgZHZkc3B1OiBhZGQgbWlzc2luZyBoZWFkZXIgdG8gTWFrZWZpbGUuYW06IGdzdHNwdS1jb21tb24uaAoKMjAwOS0wNi0wMiAwMTowOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgIGRpcmFjOiB1c2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgYysrIGNvbXBpbGVycwoJICBGaXhlcyBjb21waWxlciBtZXNzYWdlIGFib3V0IHBhc3NpbmcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKCSAgdG8gdGhlIEMrKyBjb21waWxlci4KCjIwMDktMDYtMDEgMTU6NTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc2FtcGxlIHJhdGUgZXh0cmFjdGlvbiBmcm9tIGNvZGVjIGRhdGEKCSAgSW4gb25lIGNhc2Ugd2UgZXh0cmFjdGVkIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBmcm9tIHRoZSBjb2RlYyBkYXRhCgkgIGFuZCBzYXZlZCBpdCBhcyBzYW1wbGUgcmF0ZSByYXRoZXIgdGhhbiBnZXR0aW5nIHRoZSByZWFsIHNhbXBsZQoJICByYXRlIGZyb20gdGhlIHRhYmxlLiBGaXggdGhhdCwgYW5kIGFsc28gbWFrZSBzdXJlIHdlIGRvbid0IGFjY2VzcwoJICBub24tZXhpc3RhbnQgdGFibGUgZW50cmllcyBieSBhZGRpbmcgYSBzbWFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdAoJICBndWFyZHMgYWdhaW5zdCBvdXQtb2YtYm91bmRzIGFjY2VzcyBpbiBjYXNlIG9mIGludmFsaWQgaW5wdXQgZGF0YS4KCjIwMDktMDYtMDEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IHJlbW92ZSBib2d1cyBnc3RfcGFkX2ZpeGF0ZV9jYXBzKCkgY2FsbHMKCjIwMDktMDYtMDEgMTM6NTY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBvZiBHc3RCYXNlUGFyc2U6OnNldF9zaW5rX2NhcHMoKQoJICBnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMoKSBwcmVzdW1hYmx5IHNob3VsZCBmYWlsIGlmIHRoZSBzdWJjbGFzcwoJICByZXR1cm5zIEZBTFNFIGZyb20gaXRzIDo6c2V0X3NpbmtfY2FwcygpIGZ1bmN0aW9uLgoKMjAwOS0wNi0wMSAxMzo0NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb24ndCB0cnkgdG8gR1NUX0xPRyBhbiBhbHJlYWR5LWZyZWVkIGNhcHMgc3RyaW5nCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGxvZyBjYXBzIGlzIHZpYSBHU1RfUFRSX0ZPUk1BVCBhbnl3YXkuCgoyMDA5LTA2LTAxIDEzOjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIG91dHB1dCBjYXBzLCBhbmQga2VlcCBjb2RlY19kYXRhCgkgIENyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIGlucHV0IGNhcHMsIHNvIHdlIG1haW50YWluIGFueSBmaWVsZHMgd2UKCSAgbWlnaHQgZ2V0IG9uIHRoZSBpbnB1dCBjYXBzLCBzdWNoIGFzIGNvZGVjX2RhdGEgb3IgcmF0ZSBhbmQgY2hhbm5lbHMuCgkgIFNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgd2UgZG9uJ3QgaGF2ZSBpbnB1dCBjYXBzCgkgIG9yIHRoZXkgZG9uJ3QgY29udGFpbiBzdWNoIGZpZWxkcy4gV2UgZG8gdGhpcyBwYXJ0bHkgYmVjYXVzZSB3ZSBjYW4sCgkgIGJ1dCBhbHNvIGJlY2F1c2Ugc29tZSBtdXhlcnMgbmVlZCB0aGlzIGluZm9ybWF0aW9uLiBUYWdyZWFkYmluIHdpbGwKCSAgYWxzbyBiZSBoYXBweSBhYm91dCB0aGlzLgoKMjAwOS0wNi0wMSAyMjo0MjowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogZW5oYW5jZSBmdHlwIGJyYW5kIGhldXJpc3RpYy4gIEZpeGVzICM1ODQzNjAuCgoyMDA5LTA2LTAxIDIxOjI0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHNvbWUgaXNzdWVzIHRoYXQgd2VyZSBleHBvc2VkIGJ5IHRoZSBuZXcgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgdW5pdCB0ZXN0IGZvciBzaGFwZXdpcGUKCjIwMDktMDUtMzEgMjE6MzM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA1LTMxIDIwOjI0OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGluY2x1ZGUgZ2xpYi5oIGJlZm9yZSBjaGVja2luZyBpZiBHX09TX1dJTjMyIGlzIGRlZmluZWQKCjIwMDktMDUtMzEgMjA6MjM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyBzaGFwZXdpcGUgZXhhbXBsZSBiaW5hcnkKCjIwMDktMDUtMzEgMTg6MjM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IFNldHRpbmcgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHBpY2tlZCB1cCBieSBwbGF5YmluMi4KCjIwMDktMDUtMzEgMTg6MjM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEVtaXQgYXBwbGljYXRpb24gbWVzc2FnZSB3aXRoIHRoZSBwYXJzZWQgaW5mb3JtYXRpb24uCgoyMDA5LTA1LTMxIDE0OjE1OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuaDoKCSAgaGR2cGFyc2U6IE5ldyBlbGVtZW50IGZvciBwYXJzaW5nIHByaXZhdGUvaGR2LWExIHN0cmVhbXMuCgoyMDA5LTA1LTI5IDIxOjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRqdXN0IGJvcmRlciB0byBzdGlsbCBoYXZlIGV2ZXJ5dGhpbmcgdHJhbnNwYXJlbnQgYXQgMS4wIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAwOS0wNS0yOSAxNjo1NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBEaXZpZGUgdGhlIGJvcmRlciB2YWx1ZSBieSB0d28sIG90aGVyd2lzZSB3ZSB1c2UgYSB0d2ljZSBhIHdpZGUgYm9yZGVyCgoyMDA5LTA1LTI5IDE2OjUxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBib3JkZXIgcHJvcGVydHkgdG8gYWxsb3cgc21vb3RoIGJvcmRlcnMKCSAgLi4uYW5kIHVzZSBhIGJvcmRlciBvZiAwLjAxIGluIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNS0yOSAxNTo0NDo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IGJvZ3VzIHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgYWNjZXNzCgkgIFR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdAoKMjAwOS0wNS0yOSAxNTowMTo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXNlIHRoZSBJU08gNjM5IGxhbmd1YWdlIGNvZGUgZGVzY3JpcHRvciB0byBzZW5kIHRhZ3MuCgkgIElmIHRoZXJlIGlzIGFuIElTTyA2MzkgbGFuZ3VhZ2UgZGVzY3JpcHRvciBmb3IgYSBzdHJlYW0sIHNlbmQgYSBsYW5ndWFnZQoJICBjb2RlIHRhZyBzbyB0aGF0IHBsYXllcnMgY2FuIHNob3cgYSBtZWFuaW5nZnVsIGxhbmd1YWdlIGZvciB0aGUgYXVkaW8gYW5kCgkgIHN1YnRpdGxlIHN0cmVhbXMuCgoyMDA5LTA1LTI5IDE2OjAwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSAgc2hhcGV3aXBlOiBGaXggTWFrZWZpbGUgb2YgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjkgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgYSBzaW1wbGUgc2hhcGV3aXBlIHRyYW5zaXRpb24gZmlsdGVyICYgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOCAxNzozNzo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVHJhbnNmb3JtIHRoZSByaWdodCBzZXNzaW9uIHNkZXMgbWVzc2FnZQoJICBGaXhlcyAjNTg0MTY1CgoyMDA5LTA1LTI4IDE3OjMzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgQWRkIHNzcmMgdG8gYXBwbGljYXRpb24veC1ydHAtc291cmNlLXNkZXMgc3RydWN0dXJlCgoyMDA5LTA1LTI4IDIzOjEyOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBBLUxhdyBhbmQgwrUtTGF3CgoyMDA5LTA1LTI4IDIzOjA4OjE3ICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZ3N0c3B1OiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBGaXggc29tZSB3YXJuaW5ncyBmb3IgZm9ybWF0IHN0cmluZyBhcmdzIGFuZCB1bmluaXRpYWxpemVkIHZhcnMgb24gT1MvWAoJICBGaXhlczogIzU4NDE2NAoJICBTaWduZWQtb2ZmLWJ5OiBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoyMDA5LTA1LTI4IDEzOjU2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgZGlmZmVyZW50IHN0c2QgYXRvbSB0eXBlIGZvciBIMjYzIGZvciBJU08gYW5kIFFUIHZhcmlhbnRzCgkgIEZpeGVzICM1ODQxMTQuCgoyMDA5LTA1LTI4IDEzOjA3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogZml4IGRldGVjdGlvbiBvZiBsaWJzb3VuZHRvdWNoID49IDEuNAoKMjAwOS0wNS0yOCAxMzowOToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiBjb25zaWRlciBoZWFkZXIgc2l6ZSBpbiBieXRlIDwtPiB0aW1lIGNvbnZlcnNpb25zCgoyMDA5LTA1LTI2IDE5OjQzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBkZWJ1ZyBjYXRlZ29yeQoKMjAwOS0wNS0yOCAxMDozODo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgIHNlbGVjdG9yOiByZW1vdmUgbm90IG5lZWRlZCBpbnN0YW5jZSB2YXIgKHByZXZpb3VzIGNvbW1pdCkuCgoyMDA5LTA1LTExIDE2OjEyOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiB3aGVuIHN0b3BwaW5nIHBsYXliYWNrLCBkbyBvbmUgbW9yZSBjeWNsZSB0byBmbHVzaCB0aGUgcG9ydC4gRml4ZXMgIzU4MjE2NwoJICBUaGUgZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUoKSBmbGFncyB0aGUgcG9ydCBhcyBkZWFjdGl2YXRpbmcgYW5kIHVzZXMKCSAgYSBHQ29uZCB0byB3YWl0IHVudGlsIHRoZSBqYWNrX3Byb2Nlc3NfY2IoKSBoYXMgcnVuIG9uY2UgbW9yZSBhbmQgY2xlYXJlZCB0aGUKCSAgZmxhZy4gVGhpcyB3YXkgdGhlIGNsaWVudCB6ZXJvJ3MgdGhlIGJ1ZmZlci4gVGhpcyBoYXBwZW5zIGlmIG9uZSBtYW55YWxseSBnbwoJICB0byBQQVVTRUQgYW5kIHRoZW4gdG8gUkVBRFksIHdoaWxlIGxldGluZyB0aGUgbWFpbmxvb3AgcnVuIGluYmV0d2Vlbi4KCjIwMDktMDUtMjggMTA6MTI6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgb3V0cHV0c2VsZWN0b3I6IGltcGxlbWVudCBwYWRfYWxsb2Mgb24gYWN0aXZlIHBhZC4KCjIwMDktMDUtMjcgMjI6NTQ6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENyZWF0ZSBhbGwgdGhlIGF1ZGlvIHN0cmVhbXMgb2YgYWxsIGZvcm1hdHMKCSAgRW5hYmxlIGNyZWF0aW9uIG9mIHRoZSBkZW11eGVyIHBhZHMgZm9yIGFsbCBhdWRpbyBzdHJlYW1zLCBldmVuIHR5cGVzIHdlCgkgIGRvbid0IHlldCBzdXBwb3J0LiBUaGlzIG1lYW5zIHRoYXQgdW5zdXBwb3J0ZWQgdHlwZXMgKExQQ00sIERUUykgYXJlIG91dHB1dCwKCSAgYnV0IG5vdCBsaW5rZWQgdG8gYW55dGhpbmcgeWV0LiBJZiBvbmx5IHVuc3VwcG9ydGVkIHN0cmVhbXMgYXJlIGF2YWlsYWJsZSwKCSAgdGhlIHVzZXIgaGVhcnMgc2lsZW5jZSBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgcGlwZWxpbmUgbm90IHByZS1yb2xsIGNvcnJlY3RseS4KCSAgVGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgaG9va2luZyB1cCB0aGUgYXV0b21hdGljIGRlY29kZXIgc3dpdGNoaW5nLgoKMjAwOS0wNS0yNyAxMTowMzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogdGhlIG5ldHdvcmsgYWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyCgkgIEJyaW5nIHRoZSBuZXR3b3JrIGFkZHJlc3MgaW4gbmV0b3drciBieXRlIG9yZGVyIHRvIHRoZSBob3N0IG9yZGVyLgoKMjAwOS0wNS0yNyAwMDo1MTo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGdzdHNwdTogQ29udmVydCBnX3dhcm5pbmdzIHRvIEdTVF9FUlJPUiwgYW5kIGZpeCBmb3JtYXQgc3BlY2lmaWVycwoJICBVc2UgR19HU1NJWkVfRk9STUFUIGZvciBwcmludGluZyBwb2ludGVyIGRpZmZlcmVuY2VzLCB3aGljaCBzaG91bGQgd29yayBvbgoJICBib3RoIDMyLWJpdCBhbmQgNjQtYml0IHN5c3RlbXMuCgkgIFVzZSBHU1RfRVJST1IgaW5zdGVhZCBvZiBnX3dhcm5pbmcgZm9yIHByaW50aW5nIG1lc3NhZ2VzIGFib3V0IHVua25vd24KCSAgcGFja2V0IGNvbnRlbnRzLgoKMjAwOS0wNS0yNyAwMDo0NzowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBnc3RzcHU6IEZpeCBhIG5hc3R5IHJlZ3Jlc3Npb24sIHdpdGggRFZEcyByYW5kb21seSBjcmFzaGluZwoJICBVc2UgdGhlIGxvY2FsIHdyYXBwZXIgZnVuY3Rpb24gd2hlbiBjbGVhcmluZyB0aGUgY29tcG9zaXRpbmcgYnVmZmVycyB0bwoJICBlbnN1cmUgdGhlIGNvcnJlY3QgcG9ydGlvbiBpcyBiZWluZyBjbGVhcmVkLgoKMjAwOS0wNS0yNiAxOTozODo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogTFBDTSBzdHJlYW1zIGFyZSBvbmx5IGZyb20gMHhhMCB0byAweGFmLgoJICBGaXggdGhlIHNhbWUgYnVnIGFzIHRoZSBwcmV2aW91cyBjb21taXQsIGJ1dCBpbiByZXNpbmR2ZCdzIGNvcHkgb2YKCSAgbXBlZ2RlbXV4LgoKMjAwOS0wNS0yNiAxODo0NzozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBPbmx5IHRyZWF0IHN0cmVhbXMgZnJvbSAweGEwIHRvIDB4YWYgYXMgTFBDTSwgbm90IDB4YTAuLjB4YmYKCSAgRG9uJ3QgdHJlYXQgc29tZSBzdHJlYW1zIChQcml2YXRlIFN0cmVhbSAyKSBhcyBMUENNIHdoZW4gdGhleSdyZSBub3QuIEZpeGVzCgkgIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgaGF2ZSBwcml2YXRlIHN0cmVhbXMgaW4gdGhlbSBub3cgdGhhdCB0aGUgUEVTIGZpbHRlcgoJICBlbWl0cyBzdWNoIHBhY2tldHMuCgoyMDA5LTA1LTI2IDE4OjQzOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IGZpeCBwcmludGYgZm9ybWF0cyB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wNS0yNiAxNzoxOTozNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWIxMWQxIHRvIGM1NzI3MjEKCjIwMDktMDUtMjMgMjM6MTk6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZ3N0c3B1OiBJbXBsZW1lbnQgUEdTIHJlbmRlcmluZyBhbmQgYWxwaGEgYmxlbmRpbmcKCSAgUmVmYWN0b3IgdGhlIERWRCBzdWJwaWN0dXJlIGNvbXBvc2l0aW5nLCBzd2l0Y2hpbmcgaXQgdG8gOC1iaXQgYWxwaGEKCSAgY2FsY3VsYXRpb25zLiBSZXVzZSBzb21lIG9mIHRoZSByZXN1bHRpbmcgY29kZSB0byBpbXBsZW1lbnQgUEdTCgkgIHN1YnBpY3R1cmUgYmxlbmRpbmcuCgkgIEltcGxlbWVudCBwYXJzaW5nIGFuZCBjb2xsZWN0aW5nIG9mIGNvbXBvc2l0aW9uIG9iamVjdHMgcHJvcGVybHksIGJ1dAoJICBhc3N1bWluZyBhIHNpbmdsZSBhY3RpdmUgd2luZG93IGFuZCBjb2xvdXIgcGFsZXR0ZSBmb3Igbm93LiBJIG5lZWQgbW9yZQoJICBQR1Mgc2FtcGxlcy4KCjIwMDktMDUtMjIgMTE6MTM6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBNb3ZlIGEgYnVuY2ggb2Ygdm9ic3ViIHNwZWNpZmljIGxvZ2ljIHRvIGEgc2VwYXJhdGUgZmlsZS4KCSAgU3RhcnQgc2VwYXJhdGluZyBvdXQgdGhlIHZvYnN1YiBsb2dpYyBpbiBwcmVwYXJhdGlvbiBmb3IgY3JlYXRpbmcKCSAgc2VwYXJhdGUgcmVuZGVyZXIgb2JqZWN0cyBmb3IgZWFjaCBzdWJwaWN0dXJlIGZvcm1hdC4KCjIwMDktMDUtMjIgMTE6MTI6NTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEFkZCBjb3B5cmlnaHQgaGVhZGVyIGFuZCBpbmNsdWRlcyB0byB0aGUgUEdTIGhhbmRsZXIKCjIwMDktMDUtMjIgMTA6MTU6NDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IE1ha2UgdGhlIFBHUyBkdW1waW5nIGxlc3MgdmVyYm9zZQoKMjAwOS0wNS0yMSAyMzo0NTo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBDb2xsZWN0IGVudGlyZSBQR1MgcGFja2V0cyBhbmQgcXVldWUgYXMgZXZlbnRzCgkgIENvbGxlY3QgZnJhZ21lbnRlZCBQR1MgcGFja2V0cyBhbmQgc3VibWl0IGFzIGNvbXBsZXRlIGV2ZW50cyBmb3IKCSAgcHJvY2Vzc2luZyBhdCB0aGUgY29ycmVjdCBtb21lbnQuCgoyMDA5LTA1LTIwIDA4OjU1OjQwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkgIGR2ZHNwdTogQWRkIHNpbXBsZSBQR1MgaGFuZGxlciB0aGF0IGR1bXBzIHRoZSBwYWNrZXQgaW5mbwoJICBBZGQgc2V0Y2FwcyBsb2dpYyBvbiB0aGUgc3VicGljdHVyZSBzaW5rIHBhZCBmb3IgY29uZmlndXJpbmcKCSAgd2hpY2ggc3VicGljdHVyZSBmb3JtYXQgaXMgYXJyaXZpbmcuCgkgIEFkZCB0aGUgZmlyc3QgcGllY2Ugb2YgUEdTIHN1YnBpY3R1cmUgaGFuZGxpbmcgYnkgZHVtcGluZyB0aGUgc3RyZWFtCgkgIGNvbnRlbnRzIG91dCB0byB0aGUgdGVybWluYWwgYXMgdGhlIHBhY2tldHMgYXJyaXZlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBmb3Igb3VyIHN1YnBpY3R1cmUgcGFja2V0cyB0d2ljZSwKCSAgb25jZSBpcyBlbm91Z2guCgoyMDA5LTA1LTIxIDE1OjIyOjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkZCBhIHNpbXBsZSBkZWZhdWx0IGNvbG91ciB0YWJsZS4KCSAgV2hlbiB3ZSdyZSBub3QgcHJvdmlkZWQgd2l0aCBhIHBhbGV0dGUgaW4gYWR2YW5jZSwgZHJhdyB3aXRoIGEgZ3JleQoJICBjb2xvdXIgb3IgdHdvLCBpbnN0ZWFkIG9mIFlVViBncmVlbi4KCjIwMDktMDUtMjEgMTE6MTM6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHNwYXJzZSBzdHJlYW0gZmlsbGluZy4KCSAgRmlyc3Qgc3RhYiBhdCBzZW5kaW5nIG5ldy1zZWdtZW50IGV2ZW50cyB0byBlZmZlY3Qgc3BhcnNlIHN0cmVhbQoJICB1cGRhdGVzLgoKMjAwOS0wNS0yMSAwMDo0MTo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBzdWItcGljdHVyZSBzdHJlYW1zIGZvdW5kIGluIGZpbGVzLgoJICBPdXRwdXQgc3VicGljdHVyZSBzdHJlYW1zIHdoZW4gdGhleSBhcmUgZm91bmQgb24gdGhlIHByaXZhdGUgc3RyZWFtIElELgoJICBEb24ndCBzdHJpcCBvZmYgdGhlIGZpcnN0IGJ5dGUgb2Ygc3VjaCBwYWNrZXRzIHdoZW4gcHVzaGluZy4KCjIwMDktMDUtMjAgMDg6NTA6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbWFwcGluZyBmb3IgRFZEIGFuZCBCbHVyYXkgc3VicGljdHVyZSBzdHJlYW1zLgoJICBBZGQgb3V0cHV0IHN1YnBpY3R1cmUgcGFkcyBmb3IgRFZEICh2aWRlby94LWR2ZC1zdWJwaWN0dXJlKSBhbmQgQmx1cmF5IFBHUwoJICAoc3VicGljdHVyZS94LXBncykgc3RyZWFtcy4gUmVtb3ZlIGFuIHVudXNlZCB2YXJpYWJsZSBmcm9tCgkgIHRoZSBQRVMgZmlsdGVyLgoKMjAwOS0wNS0yNSAwMDoyNTowNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRml4IHN1YnBpY3R1cmUgdGltaW5nIGluIHNvbWUgY2FzZXMKCSAgTWFrZSBzdXJlIHdlIHNlbmQgZXZlbnRzIHRvIGFsbCBwYWRzLiBVbm1hcmsgdGhlIG5vdGxpbmtlZCBmbGFnIG9uCgkgIGZyZXNobHkgc2VsZWN0ZWQgcGFkcyB0byBlbnN1cmUgdGhleSBnZXQgZGF0YS4KCjIwMDktMDUtMjIgMTQ6MDI6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFRyeSBhIGRpZmZlcmVudCBhcHByb2FjaCB0byBzZWdtZW50IGZpbGxpbmcuCgkgIFJlc3RvcmUgdGhlIG9sZCBzZWdtZW50IHVwZGF0ZSBiZWhhdmlvdXIsIGFuZCBpbnN0ZWFkIGV4dGVuZCB0aGUKCSAgY2xvc2Ugc2VnbWVudCBzdG9wIHRpbWUgaWYgdGhlIFNDUiAobGFzdF9zdG9wKSBvdmVycnVucyB0aGUgY2FsY3VsYXRlZAoJICBzdG9wIHBvc2l0aW9uLgoKMjAwOS0wNS0yMSAxMToxMDoxMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogTWlub3IgY2hhbmdlIHRvIGlubGluZSBhIGZ1bmN0aW9uIGluIHRoZSBkZW11eGVyCgoyMDA5LTA1LTIwIDE5OjMxOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc3RhdGVzOiBJZ25vcmUgdGhlIGNhbWVyYWJpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0CgkgIEl0IGFjY2Vzc2VzIHRoZSB2aWRlbyBkZXZpY2UsIHdoaWNoIGlzbid0IGdlbmVyYWxseSBkZXNpcmFibGUgZm9yIHRoZQoJICBzdGF0ZSB0ZXN0LgoKMjAwOS0wNS0yMiAxMzowNzozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBEb24ndCBhY2NpZGVudGFsbHkgbG9zZSB0aGUgY29sb3VyIHBhbGV0dGUgd2hlbiBmbHVzaGluZyB0aGUgU1BVCgkgIEZpeGVzIHJhY3kgc3RhcnR1cCBvbiBEVkRzIHdoZXJlIGl0IHNvbWV0aW1lcyBnZXRzIGVudGlyZWx5IHRoZSB3cm9uZyBzZXQKCSAgb2YgY29sb3VycyBpbiB0aGUgbWVudXMgYW5kIHN1YnRpdGxlcy4KCjIwMDktMDUtMjYgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBieXRlc3dhcCB0aGUgcG9ydCBmcm9tIEdzdE5ldEFkZHJlc3MKCSAgU2luY2UgdGhlIHBvcnQgaW4gR3N0TmV0QWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyIHdlIG1pZ2h0IG5lZWQgdG8gYnl0ZXN3YXAgaXQKCSAgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgc291cmNlIHN0YXRpc3RpY3MuCgoyMDA5LTA1LTExIDE5OjMwOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEaXJlY3RseSB1c2UgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIoKS4KCjIwMDktMDUtMjUgMTY6Mjc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERvbid0IHBlZWsgdGhlIGFkYXB0ZXIgaWYgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZGF0YS4KCjIwMDktMDUtMjUgMTY6MjU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERvbid0IHNraXAgcHJpdmF0ZSBzdHJlYW1zIFBFUyBidXQgcHVzaCB0aGVtIG91dC4KCSAgVGhlIG9uZSB0aGluZyB3ZSAqRE8qIG5lZWQgdG8gZG8gZm9yIHRob3NlIHN0cmVhbXMgaXMgdG8gc2tpcCBhbGwKCSAgdGhlIFBUUy9EVFMvU2NyYW1ibGluZy9EU00vZXh0ZW5zaW9uLy4uLiBoYW5kbGluZy4KCjIwMDktMDUtMjUgMTU6MjE6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJZ25vcmUgTlVMTCBwYWNrZXRzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJICBUaGlzIGF2b2lkczoKCSAgKiBjcmVhdGluZyBhIE1wZWdUU1N0cmVhbSBzdHJ1Y3R1cmUgZm9yIG5vdGhpbmcKCSAgKiBwcm9jZXNzaW5nIHBhY2tldCBkYXRhIGZvciBub3RoaW5nCgoyMDA5LTA1LTI1IDE1OjIxOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbWFwcGluZyBmb3IgSERWIHByaXZhdGUgc3RyZWFtcwoKMjAwOS0wNS0yNSAxNzoyNDozMiArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm4gYXQgZ214LmRlPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHA6IGFkZCBwcm9wZXJ0eSB0byBzdXBwb3J0IFNTIGNlcmlmaWNhdGVzCgkgIEFkZCBhIHByb3BlcnR5IHRvIHN1cHBvcnQgc2VsZi1zaWduZWQgY2VydGlmaWNhdGVzIGluIG5lb25odHRwc3JjLiBUaGlzIHByb3BlcnR5CgkgIGlzIEZBTFNFIGJ5IGRlZmF1bHQuCgkgIEZpeGVzICM1MTEwOTcKCjIwMDktMDUtMjUgMTM6NDY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgcHRkZW11eCBnaG9zdHBhZHMKCjIwMDktMDUtMjUgMTM6MzM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCByZWNlaXZlIHJ0cGJpbiB1bml0IHRlc3QKCjIwMDktMDUtMjUgMTE6MTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgeDI2NGVuYzogYWRkIG11bHRpcGFzcy1jYWNoZS1maWxlIHByb3BlcnR5CgkgIEZpeGVzICM1ODM2MjcKCjIwMDktMDUtMjMgMTM6MTE6MjggKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA1LTIyIDE2OjU2OjUyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogQWRkIG5ldyBwbHVnaW4gZm9yIG1zLWFkcGNtIGRlY29kaW5nLgoKMjAwOS0wNS0yMCAxNjo0Njo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEZXRlY3QgaW50ZXJsYWNlZCBjb250ZW50IGFuZCBzZXQgaXQgb24gb3V0Z29pbmcgY2Fwcy4KCSAgSSBhbHNvIGFkZGVkIHRoZSBwYXJzaW5nIG9mIGFsbCB0aGUgb3RoZXIgYml0cyBpbiB0aGUgc2VxdWVuY2UgZXh0ZW5zaW9uCgkgIGhlYWRlciBpbiBjYXNlIHdlIG5lZWQgaXQgbGF0ZXIuCgoyMDA5LTA1LTIyIDE2OjQxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHRvIG5ldyBzaWduYWwgdG8gcmVtb3ZlIFNTUkMgcGFkcwoKMjAwOS0wNS0yMiAxNjozNToyMCArMDIwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBzc3JjZGVtdXg6IGVtaXQgc2lnbmFsIHdoZW4gcGFkcyBhcmUgcmVtb3ZlZAoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byBjbGVhciBhbiBTU1JDIGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHJlbW92ZWQgc3NyYy4KCSAgU2VlICM1NTQ4MzkKCjIwMDktMDUtMjIgMTU6NDU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2Ugb3VyIGdob3N0cGFkcyBpbnN0ZWFkIG9mIGl0cyB0YXJnZXQKCSAgU2luY2Ugd2Uga2VlcCBhIHJlZmVyZW5jZSB0byBvdXIgZ2hvc3RwYWRzLCB3ZSBjYW4gdXNlIHRoZW0gdG8gdHJhY2sgc2Vzc2lvbnMuCgkgIFRoaXMgYXZvaWQgdXMgaGF2aW5nIHRvIG1lc3Mgd2l0aCB0aGUgdGFyZ2V0IG9mIHRoZSBnaG9zdHBhZC4KCjIwMDktMDUtMjIgMTU6Mzc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IG1vcmUgcnRwYmluIGNoZWNrcwoKMjAwOS0wNS0yMiAxNTozNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvbid0IHdhcm4gd2hlbiBnZXR0aW5nIHJlcXVlc3QgcGFkcyB0d2ljZQoJICBBbGxvdyBnZXR0aW5nIHRoZSByZXF1ZXN0IHBhZHMgbXVsdGlwbGUgdGltZXMsIGp1c3QgcmV0dXJuIHRoZSBwcmV2aW91c2x5CgkgIGNyZWF0ZWQgcGFkcy4KCjIwMDktMDUtMjIgMTM6NDc6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhZGQgUlRQIGFuZCBSVENQIHNvdXJjZSBhZGRyZXNzCgkgIEFkZCB0aGUgUlRQIGFuZCBSVENQIHNlbmRlciBhZGRyZXNzZXMgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZS4KCjIwMDktMDUtMjIgMTM6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJldXNlIHNvdXJjZSBjb2RlIGZvciBTREVTCgkgIFJldXNlIHRoZSBSVFBTb3VyY2Ugb2JqZWN0IHByb3BlcnR5IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMDktMDUtMjIgMTM6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBtb3JlIHJ0cGJpbiB0ZXN0cwoKMjAwOS0wNS0yMiAxMjoyMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhbiBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCBzb21lIG1vcmUgc3R1ZmYgdG8gLmdpdGlnbm9yZQoKMjAwOS0wNS0yMiAxMjoyMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB0YXJnZXQgc3RhdGUgb24gbmV3IGVsZW1lbnRzCgkgIFNldCB0aGUgc3RhdGUgb24gbmV3bHkgYWRkZWQgZWxlbWVudHMgdG8gdGhlIHN0YXRlIG9mIHRoZSBwYXJlbnQuCgkgIEFkZCBzb21lIGRlYnVnIGluZm8gYW5kIGRvIHNvbWUgY2xlYW51cHMKCjIwMDktMDUtMjIgMTE6NTk6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1bnJlZiByZXF1ZXN0cyBwYWRzIGFmdGVyIHJlbGVhc2luZwoKMjAwOS0wNS0yMSAxNjowMDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1sZWFrcyBhbmQgcmVmY291bnRzCgkgIFVzZSBjb3JyZWN0IGNvbnN0YW50cyBmb3IgUElEX3R5cGUgc28gdGhhdCB3ZSBjbGVhciB0aGUgcmlnaHQgZmlsdGVyLgoJICBwcm92aWRlX2Nsb2NrIG11c3QgcmV0dXJuIGEgcmVmIHRvIGEgY2xvY2suCgoyMDA5LTA1LTIyIDA5OjU1OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiBtb3ZlIC1Xbm8tcG9ydGFiaWxpdHkgZm9yIGF1dG9tYWtlIHRvIGNvbmZpZ3VyZS5hYwoKMjAwOS0wNS0yMiAwOTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcwoKMjAwOS0wNS0yMiAwOTo1MToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICBpZDN0YWc6IGNoYW5nZSBHVHlwZSB0byBHc3RJZDNUYWcgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBpZDN0YWcgcGx1Z2luIGluIC11Z2x5CgoyMDA5LTA1LTIyIDAxOjI5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZSBjb25maWcuaAoKMjAwOS0wNS0yMiAwMToyNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICBpZDN0YWc6IHJlZ2lzdGVyIEdUeXBlIG9mIHRoZSBiYXNlIGNsYXNzIHdpdGggYSBsZXNzIGdlbmVyaWMgbmFtZQoJICAuLiBzbyB3ZSBjYW4gZWFzaWx5IG1vdmUgdGhlIGJhc2UgY2xhc3MgaW50byAtYmFzZSBsYXRlciB3aXRob3V0CgkgIGNhdXNpbmcgR1R5cGUgbmFtZSBjb25mbGljdHMuCgoyMDA5LTA1LTIyIDAxOjA0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogbTQvZ3N0LWZpb25yZWFkLm00OgoJICBtNDogZml4ICdzdXNwaWNpb3VzIGNhY2hlIHZhbHVlIGlkJyB3YXJuaW5ncyBpbiBnc3QtZmlvbnJlYWQubTQKCSAgQW5kIHVwZGF0ZSBjb21tb24gdG8gcHVsbCBpbiBhIHJlbGF0ZWQgZml4IGZyb20gdGhlcmUuCgoyMDA5LTA1LTIyIDAxOjQzOjUwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIHRoZSBzdHJlYW1zCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjE2OjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBLZWVwIGpiIHNpZ25hbHMgaGFuZGxlcgoJICBLZWVwIHRoZSBzaWduYWwgaGFuZGxlcnMgc28gdGhleSBjYW4gYmUgZGlzY29ubmVjdGVkIGF0IHJlbGVhc2UgdGltZQoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxMjo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSB0aGUgcmlnaHQgbG9jayBmb3IgdGhlIHNlc3Npb25zCgkgIFVzZSB0aGUgcmlnaHQgbG9jayB3aGVuIGl0ZXJhdGluZyB0aGUgc2Vzc2lvbnMuCgoyMDA5LTA1LTIyIDAxOjAzOjU1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGcmVlIHNlc3Npb24gaWYgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZAoJICBGcmVlIHRoZSBzZXNzaW9uIHdoZW4gYWxsIHRoZSByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlc3Npb24gbGlzdCBpbiBmcmVlX3Nlc3Npb24gYXMgaXQgaXMgY2FsbGVkIGZyb20gYSBmb3JlYWNoCgkgIG9uIHRoYXQgbGlzdC4KCSAgU2V0IHRoZSBzdGF0ZSBvZiB0aGUgdXBzdHJlYW0gZWxlbWVudCB0byBOVUxMIGZpcnN0LgoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDo1MTo1MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGFzaW5nIG9mIHRoZSBydHAgcmVjdiBwYWQKCjIwMDktMDUtMjIgMDA6NDQ6NTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRwIHNlbmQgcGFkcwoKMjAwOS0wNS0yMiAwMDozNDozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2Ugb2YgdGhlIHJlY3YgcnRjcCBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6MTY6MTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRjcCBzcmMgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTE4IDIzOjM4OjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFJlY29uY2lsZSBlbGVtZW50IGNvZGUgd2l0aCBhNTJkZWMgY2hhbmdlcwoJICBSZS13b3JrIHRoZSBkdHNkZWMgZWxlbWVudCBjb2RlIHRvIHVuaWZ5IGl0IHdpdGggY2hhbmdlcyBtYWRlIGl0IGE1MmRlYywKCSAgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIHJldmVyc2UgcGxheWJhY2sgYW5kIGR5bmFtaWMgY2hhbm5lbCBuZWdvdGlhdGlvbgoJICBvbiB0aGUgc291cmNlIHBhZC4KCjIwMDktMDUtMjEgMjE6MzU6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSB0aGUgd2luMzIgY29uZmlnLmgKCjIwMDktMDUtMTggMjM6MjE6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IHJld29yayBSVENQIHNlbmRpbmcgYW5kIFJUUCByZWNlaXZpbmcKCSAgV2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIG11bHRpYXN0LCBjcmVhdGUgdGhlIHVkcCBzcmMgYW5kIHNpbmsgZWxlbWVudHMgcG9pbnRpbmcKCSAgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzZXMuIFdoZW4gd2UgYXJlIGRvaW5nIHVuaWNhc3QsIHJlY2VpdmUgZGF0YSBvbiB0aGUgbG9jYWwKCSAgcG9ydHMgYW5kIGRvbid0IHNlbmQgUlRDUCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlcmUgd2UgaGF2ZSB0byBzZW5kIGl0LgoJICBGaXhlcyAjNTgzMTg4CgoyMDA5LTA1LTIxIDEzOjE1OjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzdGFnOiBBZGQgbmV3IGlkMyB0YWdnaW5nIHBsdWdpbiwgc3VwcG9ydHMgdjEsIHYyLjMsIGFuZCB2Mi40LgoJICBCeSBkZWZhdWx0LCBkb2VzIHYxIGFuZCB2Mi4zLCBidXQgdGhlcmUgYXJlIHByb3BlcnRpZXMgdG8gc2VsZWN0LgoJICBXaWxsIGhvcGVmdWxseSByZXBsYWNlIGlkM211eCwgaWQzdjJtdXgsIGluIHRoZSBub3QtdG9vLWRpc3RhbnQgZnV0dXJlLgoKMjAwOS0wNS0yMSAyMTowMjo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xMi4xCgo9PT0gcmVsZWFzZSAwLjEwLjEyID09PQoKMjAwOS0wNS0yMCAyMjozMTo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTIKCjIwMDktMDUtMjAgMjA6NDQ6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA1LTIwIDE3OjEwOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBmcmFtZV9sYXlvdXQgZm9yIG5vbi1pbnRlcmxhY2VkIGZvcm1hdHMuIEZpeGVzICM1ODMzMzcKCjIwMDktMDUtMTYgMDE6NTg6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjExLjMgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTYgMDE6NTM6MTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogQWRkIGRpcmVjdGRyYXcgcHJvamVjdCBmaWxlcyB0byB0aGUgd2luMzIgbWFuaWZlc3QKCjIwMDktMDUtMTYgMDE6MTQ6MjMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgTW92ZWQgJ2RpcmVjdGRyYXcnIGZyb20gLWdvb2QgdG8gLWJhZAoKMjAwNy0wNi0xNSAwOToxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSB3aW4zMi92czYvOiBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUKCSAgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseSBvdGhlcndpc2UuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICBbTU9WRUQgRlJPTSBHT09EXSBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwOS0wMi0yNyAyMDo0MDozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGRpcmVjdGRyYXdzaW5rOiBGaXggdHlwZSBtaXNtYXRjaGVzCgkgIEZpeGVzIGJ1ZyAjNTczMzQzLgoKMjAwOS0wMS0yOSAxMTowNzo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gUmVtb3ZlIHZlcnNpb24gbnVtYmVycyBmcm9tIGEgZmV3IGdzdC1sYXVuY2ggZXhhbXBsZXMuCgkgIFRoZSBtYWpvcml0eSBvZiB0aGUgZXhhbXBsZXMgZG9lIG5vdCB1c2UgLTAuMTAgYW5kIHRoaXMgd2lsbCBhbHNvIGhlbHAgdXMgdG8gbWFpbnRhaW4gdGhlIGRvY3MuCgoyMDA5LTAxLTI5IDEwOjEwOjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyBwbHVnaW5zIChzeXMpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRml4IGV4YW1wbGVzLgoKMjAwOC0xMS0wNCAxMjoyODozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgoyMDA4LTA4LTIxIDIxOjU2OjE5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLAoJICBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBGaXggdHdvIG1vcmUgYnVmZmVyIHJlZiBsZWFrcy4KCjIwMDgtMDgtMjEgMTU6Mjg6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGaXggYnVmZmVyIHJlZiBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBGaXggYnVmZmVyIHJlZiBsZWFrLgoKMjAwOC0wNS0wNyAxNTozMzo1MiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KTogRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KToKCSAgRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IElEIGhhcyBhbHJlYWR5IGJlZW4KCSAgc2V0IGFmdGVyIGNyZWF0aW5nIHRoZSBjbGlwcGVyLgoKMjAwOC0wNS0wNyAxNToyODowNiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOiBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnN1Y2Nlc3NmdWwKCSAgSURpcmVjdERyYXdTdXJmYWNlN19Mb2NrKCkgY2FsbC4KCSAgSWYgc3VyZmFjZSBpcyBsb3N0LCByZXR1cm4gR1NUX0ZMT1dfT0suCgoyMDA4LTA1LTA3IDE1OjE5OjQ3ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIFduZFByb2MsIGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEltcHJvdmVkIFdpbmRvd3MgbWVzc2FnZSBsb29wIGFuZCBmaXhlZCB3aW5kb3cgZGVzdHJ1Y3Rpb24gaXNzdWUuCgkgIFdoZW4gdGhlIHdpbmRvdyB3aGljaCBEaXJlY3REcmF3IGlzIHJlbmRlcmluZyB0byBpcyBkZXN0cm95ZWQsIHRoZQoJICByZW5kZXIvc2hvd19mcmFtZSBmdW5jdGlvbiB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE1OjA5OjEwICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOiBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOgoJICBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGlzIG5vdwoJICByZWxlYXNlZCB3aGVuIHNldF9jYXBzIGlzIGNhbGxlZC4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE0OjU2OjIyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgc28gdGhhdCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyB1c2VzIHRoZSByaWdodAoJICB3aWR0aC9oZWlnaHQuCgkgIEVzcGVjaWFsbHkgd2hlbiBsb29raW5nIHRocm91Z2ggdGhlIHBvb2wgb2YgYnVmZmVycywgbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHdpZHRoL2hlaWdodCBvZiBjYXBzIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgYWxyZWFkeSBuZWdvdGlhdGVkCgkgIGRpbWVuc2lvbnMuCgkgIEZvciBleGFtcGxlIGlmIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhcHMgaXMgcmVxdWVzdGVkLCBpLmUuCgkgIGhpZ2hlciByZXNvbHV0aW9uLCB0aGUgY2FsbGVyIHdvdWxkIGdldCBhIGJ1ZmZlciB3aXRoIHRoZSBvbGQKCSAgZGltZW5zaW9ucyBhbmQgdGh1cyBjb3JydXB0IHRoZSBoZWFwLgoKMjAwOC0wNS0wNyAxNDo0MzozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgkgIFRoZSByaWdodCBmaXggdGhpcyB0aW1lLgoKMjAwOC0wNS0wNyAxNDozOTo0NSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBSZXZlcnRpbmcgcHJldmlvdXMgY29tbWl0LCBpdCBoYWQgaXQgYWxsIG1peGVkIHVwLCB3YXMgZm9yIGEgZGlmZmVyZW50CgkgIHBhdGNoIChtYWpvciBhdXRvbWF0aW9uIHNjcmV3LXVwKS4gU29ycnkhCgoyMDA4LTA1LTA3IDEzOjQ4OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDItMTIgMTI6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGRyYXdzdXJmYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2ZpbmFsaXplKToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCjIwMDgtMDEtMDcgMTY6NDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoKMjAwOC0wMS0wNSAyMToyMDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91ciBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMDUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X3dpbmRvd19pZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZHJhd19ib3JkZXJzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyCgkgIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaGFuY2UgdG8KCSAgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgcHJlcGFyZS14d2luZG93LWlkIGJ1cyBtZXNzYWdlLiBEcmF3CgkgIGJsYWNrIGJvcmRlcnMgd2hlbiBrZWVwaW5nIGFzcGVjdCByYXRpby4gSGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIG91cgoJICByZW5kZXJpbmcgd2luZG93IGRpc2FwcGVhcnMgKGNsb3NlZCBvciBlcnJvcnMpIGxpa2Ugb3RoZXIgc2lua3MKCSAgZG8uIFZhcmlvdXMgODAgY29sdW1ucyBmaXhlcywgaW1wcm92ZSBzdGF0ZSBjaGFuZ2Ugb3JkZXIuIFRoYXQKCSAgZWxlbWVudCBjb3VsZCBuZWVkIHNvbWUgbW9yZSBsb3ZlLgoKMjAwNy0wOS0yMiAwODoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCjIwMDctMDYtMTQgMTI6MTQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA5LTA1LTE1IDEwOjQ1OjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogRml4IHJlc2V0dGluZyBvZiB0aGUgc2luayBpbiBOVUxMCgkgIFJlc2V0IHRoZSBmcHNkaXNwbGF5c2luayBpbiBOVUxMIGJ5IHJlbW92aW5nIHRoZSB0ZXh0b3ZlcmxheSBpZiB3ZQoJICBjcmVhdGVkIGl0LgoJICBGaXhlczogIzU4MjYzMwoKMjAwOS0wNS0xNiAwMDoxNzowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgTW92ZWQgJ3k0bWVuYycgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTE1IDE4OjI0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogYWRkIE1ha2V2YXJzIG1hZ2ljIHNvIHdlIGRvbid0IGdldCBsaW5lIG51bWJlcnMgaW4gKi5wbyBmaWxlcwoJICBUaGlzIGF2b2lkcyB0aGUgbnVtYmVyIG9uZSByZWFzb24gZm9yIGxvY2FsIG1vZGlmaWNhdGlvbnMgaW4gKi5wbwoJICBmaWxlcyBhbmQgYW5kIG1ha2VzIHRoaW5ncyBsZXNzIGFubm95aW5nIHdoZW4gd29ya2luZyB3aXRoIGdpdCAob3IKCSAgYW55IG90aGVyIFZDUyBmb3IgdGhhdCBtYXR0ZXIpLgoKMjAwOS0wNS0xNSAwMTo1NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgW3F0bXV4XSBGaXhlcyBzZWdmYXVsdCB3aGVuIGFkZGluZyBhIGJsb2IgYXMgZmlyc3QgdGFnLgoJICBNb3ZlcyB0YWdzIGRhdGEgaW5pdGlhbGl6YXRpb24gdG8gdGhlIGZ1bmN0aW9uIHRoYXQgYWN0dWFsbHkgYXBwZW5kcwoJICB0aGUgdGFncyB0byB0aGUgbGlzdC4gRml4ZXMgIzU4MjcwMgoJICBBbHNvIGZpeGVzIHNvbWUgc3R5bGUgY2F1Z2h0IGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgoyMDA5LTA1LTE0IDIxOjIwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogVXNlIGEgUlcgbG9jayB0byBwcm90ZWN0IG1ldGFkYXRhIGFuZCBhZGQgYWxsIHBhZHMgYXQgb25jZSB3aXRob3V0IGEgbG9jayBoZWxkCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUsIGFtb25nIG90aGVyIHRoaW5ncywgdG8gZG8gYSBxdWVyeSBpbiB0aGUKCSAgcGFkLWFkZGVkIGNhbGxiYWNrLgoJICBGaXhlcyBidWcgIzU4MjY1Ni4KCjIwMDktMDUtMTQgMTA6MzQ6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IHRoZSBhcmd1bWVudCBvcmRlciBpbiBhIGRlYnVnIHN0YXRlbWVudAoJICBNYWtlIHRoZSBkZWJ1ZyBzdGF0ZW1lbnQgY29ycmVjdGx5IHNob3cgdGhlICdvbGQnIGFuZCAnbmV3JyBidXR0b24KCSAgY29vcmRpbmF0ZXMsIGluc3RlYWQgb2YgdGhlIHdyb25nIHdheSBhcm91bmQuCgoyMDA5LTA1LTE0IDA5OjUzOjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IE1ha2Ugc2VnbWVudCB1cGRhdGVzIGxlc3MgYWdncmVzc2l2ZS4KCSAgV2hlbiB1cGRhdGluZyBhIHBhZCwgc2VuZCB0aGUgdXBkYXRlIHRvIGhhbGYgYSBzZWNvbmQgYmVoaW5kIHRoZSBTQ1IsCgkgIHdoaWNoIGF2b2lkcyBldmVyIHVwZGF0aW5nIHRoZSBzdGFydCB0aW1lIGZvciBhIHBhZCB0byBiZXlvbmQgdGhlIGVuZCBvZgoJICB0aGUgY2VsbC4gQWxzbywgcmVtZW1iZXIgdGhlIGxhc3QgYWN0dWFsIG5ldy1zZWdtZW50IHN0YXJ0IHRpbWUgZm9yIGVhY2gKCSAgcGFkLCBhbmQgdXNlIGl0IHdoZW4gY2xvc2luZyB0aGUgc2VnbWVudC4KCjIwMDktMDUtMTMgMTI6NDc6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmV3b3JrIGJ1dHRvbiBoaWdobGlnaHQgY2FsY3VsYXRpb24gc2xpZ2h0bHkKCSAgV2hlbiB0aGUgY3VycmVudCBidXR0b24gbnVtYmVyIGlzIGhpZ2hlciB0aGFuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlCgkgIGJ1dHRvbnMsIHN3aXRjaCB0byB0aGUgaGlnaGVzdCBudW1iZXJlZCBidXR0b24gcmF0aGVyIHRoYW4gdGhlIGxvd2VzdC4KCSAgQWxzbywgZG9uJ3QgdGhyb3cgZXJyb3JzIHdoZW4gd2UgZmFpbCB0byByZXRyaWV2ZSBzb21lIGJ1dHRvbiBpbmZvCgkgIGZyb20gbGliZHZkbmF2LCBqdXN0IHJlc2V0IHRoZSBoaWdobGlnaHQuCgoyMDA5LTA1LTEyIDIzOjQyOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIGNvbW1hbmRzLWNoYW5nZWQgb24gYnV0dG9uIGNoYW5nZSBhbmQgaGFuZGxlIGNvbW1hbmRzIHF1ZXJ5CgkgIFNlbmQgdGhlIGNvbW1hbmRzLWNoYW5nZWQgbmF2aWdhdGlvbiBtZXNzYWdlIHdoZW4gdGhlIHNldCBvZiBhdmFpbGFibGUKCSAgRFZEIG1lbnUgYnV0dG9uIGFjdGlvbnMgY2hhbmdlcywgYW5kIGhhbmRsZSB0aGUgY29tbWFuZHMgbmF2aWdhdGlvbgoJICBxdWVyeSBzbyB0aGF0IChlLmcuKSBUb3RlbSBjYW4ga25vdyBhYm91dCB0aGUgYXZhaWxhYmxlIG5hdmlnYXRpb24KCSAgY29tbWFuZHMuCgoyMDA5LTA1LTE0IDA4OjQyOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhIGxlYWsgb2YgdGhlIERWRCB0aXRsZSBzdHJpbmcKCjIwMDktMDUtMTQgMTA6NTU6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUHVzaCB1cGRhdGUgZnJhbWUsIGlmIGFueSwgd2hlbiBlbnRlcmluZyBzdGlsbHMuCgkgIFdoZW4gZW50ZXJpbmcgYSBzdGlsbCBmcmFtZSBnZW5lcmF0ZXMgYW4gdXBkYXRlZCBidWZmZXIsIG1ha2Ugc3VyZQoJICB0byBwdXNoIGl0IG91dCwgb3RoZXJ3aXNlIHdlIG1heSBub3QgcHV0IGEgZnJhbWUgb25zY3JlZW4gd2l0aCBhCgkgIHJlbmRlcmVkIGJ1dHRvbiwgY2F1c2luZyByYWNpbmVzcyBhcyB0byB3aGV0aGVyIGJ1dHRvbnMgZ2V0IGRyYXduCgkgIG9yIG5vdCB3aGVuIGp1bXBpbmcgYmFjayB0byB0aGUgbWVudSBvbiBzb21lIGRpc2NzLgoKMjAwOS0wNS0xMyAxMDoyOTozNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogRml4IHJhY2luZXNzIGluIHJzbmR2ZGJpbiB3aGVuIGluaXRpYWxseSBjcmVhdGluZyBwYWRzCgkgIFByb3RlY3QgcGFkIGV4cG9zdXJlIHdpdGggYSBwcmVyb2xsIGxvY2sgdG8gYXZvaWQgc2l0dWF0aW9ucwoJICB3aGVyZSBuby1tb3JlLXBhZHMgaXMgZmlyZWQgbW9yZSB0aGFuIG9uY2UsIG9yIGZpcmVkIGp1c3QgYmVmb3JlCgkgIHRoZSBsYXN0IHBhZCBpcyBhY3R1YWxseSBhZGRlZC4KCjIwMDktMDUtMTMgMTc6NTU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGNoYW5nZSBteSBlbWFpbAoJICBjaGFuZ2UgbXkgZW1haWwgdG8gc29tZXRoaW5nIG1vcmUgY3VycmVudAoJICBTZWUgIzU4MDc4MwoKMjAwOS0wNS0xMyAxNzo1NDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogZG9uJ3Qgc3RyaXAgdGltZXN0YW1wcwoJICBGaXhlcyAjNTgyNDgzCgoyMDA5LTA1LTEzIDEwOjQ3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGdzdC9kZWludGVybGFjZS8uZ2l0aWdub3JlOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9kZWludGVybGFjZS52Y3Byb2o6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgTW92ZWQgJ2RlaW50ZXJsYWNlMicgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEFuZCByZW1vdmUgb2xkIGRlaW50ZXJsYWNlIHBsdWdpbiBhcyBkZWludGVybGFjZTIgd2lsbAoJICBiZSBjYWxsZWQgZGVpbnRlcmxhY2UgaW4gLWdvb2QuCgoyMDA5LTA1LTEyIDIxOjUwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBNb3ZlZCAnZmx2JyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTIgMDA6NTA6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjExLjIgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTEgMTc6NTA6NDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogTW9kaWZ5IHRoZSBzZWdtZW50IHVwZGF0ZSBsb2dpYwoJICBTZW5kIHNlZ21lbnQgdXBkYXRlcyB0byB0aGUgYXVkaW8gYW5kIHN1YnBpY3R1cmUgcGFkcyBtb3JlIGZyZXF1ZW50bHksCgkgIGJ1dCBsZXNzIG9mdGVuIHRvIHRoZSB2aWRlbyBwYWQsIHdoZXJlIHRpbWVzdGFtcHMgYXBwZWFyIGxlc3Mgb2Z0ZW4uCgkgIFRoaXMgaGVscHMgd2l0aCBnYXAgZmlsbGluZyBvbiBzb21lIERWRHMuCgoyMDA5LTA1LTExIDE2OjA5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogSW5jcmVhc2UgdGhlIGFtb3VudCBvZiBmaWxsZXIgYXVkaW8gZ2VuZXJhdGVkCgkgIFdoZW4gY3JlYXRpbmcgYSBmaWxsZXIgYXVkaW8gYnVmZmVyIGluIHJzbmF1ZGlvbXVuZ2UsIGdlbmVyYXRlCgkgIGEgYml0IG1vcmUsIGFzIGF1ZGlvIHNpbmtzIGRvbid0IHNlZW0gdG8gcHJlcm9sbCBvdGhlcndpc2UuIFRoaXMKCSAgbmVlZHMgYSBiZXR0ZXIgYWxnb3JpdGhtIGluIGdlbmVyYWwsIHRvIGludGVsbGlnZW50bHkgZmlsbCB0aGUKCSAgZ2FwLCByYXRoZXIgdGhhbiBoYXJkLWNvZGluZyBhIHZhbHVlLgoKMjAwOS0wNS0xMSAxNDoxNzo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogTWFuYWdlIHRpbWVkIHN0aWxsIHNlcXVlbmNlcyBiZXR0ZXIKCSAgTWFrZSB0aW1lZCBzdGlsbCBmcmFtZXMgd29yayBiZXR0ZXIgYnkgZXh0ZW5kaW5nIHRoZSBjdXJyZW50IHNlZ21lbnQKCSAgd2hlbiBuZWVkZWQsIGFuZCByZXN0YXJ0aW5nIHRoZSBzdGlsbCBzZXF1ZW5jZSB3aXRoIHRoZSBjb3JyZWN0CgkgIHJlbWFpbmluZyBkdXJhdGlvbiB3aGVuIHRoZSB3YWl0IGl0IGludGVycnVwdGVkIGJ5IGFjdGl2YXRpb24gb2YgYQoJICBoaWdobGlnaHQgTkFWIHBhY2tldC4KCjIwMDktMDUtMTEgMTE6MDY6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDaGFuZ2UgdGhlIGF1ZGlvbXVuZ2UgZGVidWcgb3V0cHV0LgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNob3cgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlZ21lbnQgZXZlbnRzIHBhc3NpbmcgdGhyb3VnaCwKCSAgZXZlbiB3aGVuIHByZS1yb2xsIGF1ZGlvIGJ1ZmZlcnMgYXJlbid0IGdvaW5nIHRvIGJlIG5lZWRlZC4KCjIwMDktMDUtMTEgMTE6MDQ6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogTWFrZSB0aGUgZGVidWdnaW5nIG91dHB1dCBhIGJpdCBjbGVhcmVyLgoJICBEaXNwbGF5IG1vcmUgaW5mbyBhYm91dCBjdXN0b20gRFZEIGV2ZW50cyBpbiB0aGUgZGVidWcgbWVzc2FnZXMuCgoyMDA5LTA1LTA4IDE3OjQyOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFsd2F5cyBwdXNoIGEgZnJhbWUgYXQgdGhlIHN0YXJ0IG9mIGEgc3RpbGwgZnJhbWUsIGFuZCBmaXggYSBsZWFrLgoJICBNYWtlIHN1cmUgdG8gcHVzaCB0aGUgZnJhbWUgZm9yIGEgc3RpbGwgZnJhbWUsIHdpdGggZGlzY29udCA9IHRydWUgYW5kCgkgIHRpbWVzdGFtcD1ub25lLCBzbyB0aGF0IGl0IGdldHMgZGlzcGxheWVkIGJ5IHRoZSBzaW5rLiBBbHNvLCBkb24ndCBsZWFrCgkgIGVhY2ggcmVuZGVyZWQgdmlkZW8gZnJhbWUgZHVyaW5nIHN0aWxsIG1lbnVzLgoKMjAwOS0wNS0wOCAxNzo0MDo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkgIGR2ZHNwdTogQWRkIGEgZ3VhcmQgd2hlbiB3ZSBkb24ndCBoYXZlIGFueSBzdWJwaWN0dXJlIGJ1ZmZlciB0byByZW5kZXIKCjIwMDktMDUtMDggMTY6Mjk6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBSZW5hbWUgdGhlIGF1ZGlvIG11bmdlciBkZWJ1ZyBjYXRlZ29yeQoJICBSZW5hbWUgYSBkZWJ1ZyBjYXRlZ29yeTogcnNuX2F1ZGlvbXVuZ2UgLT4gcnNuYXVkaW9tdW5nZS4KCjIwMDktMDUtMDggMTY6Mjc6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRW5zdXJlIHdlIHNlbmQgYSB0aXRsZSB0YWcgaW4gdGhlIGZpcnN0IHBsYXkgc2VjdGlvbi4KCjIwMDktMDUtMDggMTY6MDY6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU2ltcGxpZnkgc29tZSBzdHVmZi4gUmVtb3ZlIGFuIHVubmVjZXNzYXJ5IExPRyBtZXNzYWdlLgoJICBTa2lwIGF0dGVtcHRpbmcgdG8gc2NoZWR1bGUgYSBuYXYgYmxvY2sgdW5sZXNzIHdlJ3JlIGluIFBMQVlJTkcuIFRha2UgYSBsb2NrCgkgIHNsaWdodGx5IGxhdGVyLCB3aGVuIHdlIGFjdHVhbGx5IG5lZWQgaXQuIFJlbW92ZSBhIG5vaXN5IExPRyBtZXNzYWdlLgoKMjAwOS0wNS0wOCAxNDoyMzo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcGVyLW1lbnUgZGVzY3JpcHRpb24gZnJvbSB0aGUgVElUTEUgdGFnCgkgIFRoZSBwYXJ0IG51bWJlciByZXBvcnRlZCB3aGlsZSBpbiBhIG1lbnUgZG9lc24ndCByZWZsZWN0IHRoZSBzZWxlY3RlZAoJICBtZW51LCBzbyBpdCdzIHBvaW50bGVzcyB0byB1c2UgaXQgdG8gcmVwb3J0IHdoaWNoIG1lbnUgd2UncmUgaW4gKEF1ZGlvLAoJICBBbmdsZSBldGMpLiBKdXN0IHJlcG9ydCAiRFZEIE1lbnUiIGluIHRoZSB0aXRsZSB0YWcgaW5zdGVhZC4KCjIwMDktMDUtMDggMTQ6MjA6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgdGl0bGUgaW5mbyBtZXNzYWdlIHdoZW4gY3VycmVudCBhbmdsZSBpcyBzd2l0Y2hlZC4KCSAgTWFrZSBzdXJlIHdlIHNlbmQgYW4gdXBkYXRlIHRpdGxlIHRhZyB3aGVuIHRoZSBjdXJyZW50IGFuZ2xlIG9yIGF2YWlsYWJsZQoJICBhbmdsZXMgY2hhbmdlcy4KCjIwMDktMDUtMDggMTA6NDM6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IEltcGxlbWVudCBuYXZpZ2F0aW9uIGNvbW1hbmQgY2hhbmdlIG1lc3NhZ2UgYW5kIHF1ZXJ5CgkgIFNlbmQgbWVzc2FnZXMgd2hlbiB0aGUgYXZhaWxhYmxlIERWRCBuYXZpZ2F0aW9uIGNvbW1hbmRzIGNoYW5nZXMsIGFuZAoJICBoYW5kbGUgbmF2aWdhdGlvbiBjb21tYW5kcyBhbmQgYW5nbGVzIHF1ZXJpZXMuCgoyMDA5LTA1LTExIDE2OjU5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBQcm90ZWN0IGJpdHJhdGUgZXN0aW1hdGlvbiBhZ2FpbnN0IGJvZ3VzIHZhbHVlcy4KCSAgSWYgdGhlIGVzdGltYXRlZCBiaXRyYXRlIGlzIGxvd2VyIHRoYW4gMTg4IGJ5dGVzLCB0aGVyZSdzIG1vc3QgbGlrZWx5CgkgIHNvbWV0aGluZyBjb21wbGV0ZWx5IHdyb25nIHdpdGggdGhlIHR3byBzYW1wbGVzLiBJZiB0aGF0IGhhcHBlbnMsCgkgIGZvcmNlIHJlY2FsY3VsYXRpb24uCgkgIFVzZSBndWludDY0IGZvciBvYnNlcnZhdGlvbiBQQ1IsIEkgc2F3IGNhc2VzIHdoZXJlIGl0IHdvdWxkIG92ZXJmbG93LgoKMjAwOS0wNS0xMSAxNjo1ODo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE9ubHkgdGFrZSBQQ1IgZnJvbSB0aGUgYWN0aXZlIHN0cmVhbSBmb3IgYml0cmF0ZSBlc3RpbWF0aW9uLgoKMjAwOS0wNS0xMSAxNjo0MDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IENoYW5nZSBkZWJ1Z2dpbmcgbGV2ZWxzIGZvciB2ZXJ5IGZyZXF1ZW50IG1lc3NhZ2VzLgoJICBUaGlzIGFsbG93cyBkZWJ1Z2dpbmcgd2l0aCBtcGVndHNkZW11eDo0IHdoaWxlIGJlaW5nIGFibGUgdG8gdHJhY2sgd2hhdCdzCgkgIGdvaW5nIG9uIChhbmQgYXZvaWQgdGFraW5nIHVwIGFzIG11Y2ggY3B1IGZvciBkZWJ1Z2dpbmcgYXMgZm9yIHRoZSBhY3R1YWwKCSAgZGVtdXhpbmcgcHJvY2VzcykuCgoyMDA5LTA1LTA5IDA5OjU3OjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogUmV2ZXJ0IGluZGVudGF0aW9uIGFuZCBjb21tZW50IGhlYWRlciBmaWxlLgoJICBPbmUgc2hvdWxkbid0IHJ1biBnc3QtaW5kZW50IG9uIC5oIGZpbGVzLCBpbiB0aGlzIGNhc2UgaXQgd2FzIHVuLWJlYXV0aWZ5aW5nCgkgIHRoZSBpbmRlbnRhdGlvbiA6KQoKMjAwOS0wNS0xMCAyMToyMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBBZGQgTVBFRy00IHBhcnQgMiB0byBzdXBwb3J0ZWQgZm9ybWF0cy4gIEZpeGVzICM1ODE1OTMuCgoyMDA5LTA1LTEwIDE3OjE3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmFhZDogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3IgdGhlIEZBQUQgdmVyc2lvbgoJICBUaGUgcHJldmlvdXMgdmVyc2lvbiBtYXRjaGVkIHRoaW5ncyBsaWtlIDI5NyBmb3IKCSAgdmVyc2lvbiAyLjcsIGV0YyB3aGljaCBjb3VsZCBiZSBhZGRlZCB0byB0aGUgZmlsZQoJICBieSBvdGhlciBoZWFkZXJzLgoJICBGaXhlcyBidWcgIzU4MjA3NC4KCjIwMDktMDUtMTAgMTE6MTc6MTcgKzAyMDAgIE1hcmMtQW5kcmUgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIFJ1biBsaWJ0b29saXplIGJlZm9yZSBhY2xvY2FsCgkgIFRoaXMgdW5icmVha3MgdGhlIGJ1aWxkIGluIHNvbWUgY2FzZXMuIEZpeGVzIGJ1ZyAjNTgyMDIxCgoyMDA5LTA1LTEwIDEwOjQwOjM2ICswMjAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhpcyB3aWxsIGFsd2F5cyBiZSBzZXQgdG8gc29tZXRoaW5nIGJ1dCBnY2MgZGlkbid0IGRldGVjdAoJICB0aGlzLiBGaXhlcyBidWcgIzU4MjAxMy4KCjIwMDktMDUtMDkgMjM6NDc6MzkgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJICBSZW1vdmUgd3Jvbmcgc3R1ZmYgZnJvbSBwcmVzZXQgZmlsZQoKMjAwOS0wNS0wOSAxNTo0ODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IFdyaXRlIG1ldGFkYXRhIGl0ZW1zIGluIHJlZmVyZW5jZSBvcmRlcgoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgbWV0YWRhdGEgaXRlbXMgYXJlIGFsd2F5cyB3cml0dGVuCgkgIGluIHRoZSBzYW1lIG9yZGVyIGFuZCB0aGF0IGZpcnN0IGNvbWVzIHRoZSBwcmVmYWNlLAoJICB0aGVuIHRoZSBpZGVudGlmaWNhdGlvbiBsaW5rZWQgZnJvbSB0aGUgcHJlZmFjZSwgLi4uCgkgIFNvbWUgZGVtdXhlcnMgY2FuJ3QgaGFuZGxlIGZpbGVzIHdoZXJlIHRoZSBtZXRhZGF0YQoJICBpdGVtcyBhcmUgaW4gcmFuZG9tIG9yZGVyLgoKMjAwOS0wNS0wOSAxNTo0ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCBFT1MgbG9naWMgYWdhaW4KCjIwMDktMDUtMDkgMTU6NDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcnMgaWYgcHVzaGluZyBhIGJ1ZmZlciBhZnRlciB0aGUgZmlyc3QgZmFpbGVkCgoyMDA5LTA1LTA5IDEyOjQyOjI1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSAgQWRkIGEgbW9yZSByZXByZXNlbnRhdGl2ZSBleGFtcGxlIHByZXNldCBmaWxlIGZvciB4MjY0CgoyMDA5LTA1LTA4IDE4OjI0OjI4ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgaW5pdGlhbCBuYWl2ZSBzZWVraW5nIHN1cHBvcnQgYW5kIGZpeCBkdXJhdGlvbiBxdWVyeS4KCSAgU3luYyBmcm9tIGdzdC1mbHVlbmRvLW1wZWdkZW11eCBhbmQgaGF2ZSBzZWVraW5nL2R1cmF0aW9uIHF1ZXJ5CgkgIGltcHJvdmVtZW50cyBpbi4gTm8gc3VwcG9ydCBob3dldmVyIGZvciB3cmFwcGVkIGFyb3VuZCBwY3JzIGV0Yy4gYnV0IGEKCSAgc3RhcnQgbm9uZXRoZWxlc3MuCgkgIEFsc28gZml4IGluZGVudGF0aW9uIGlzc3Vlcy4KCjIwMDktMDUtMDggMTY6Mzg6MjYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBDb21tZW50IG91dCBwcmVzZXQgbm90IGluIHlldAoKMjAwOS0wNS0wOCAxNTozOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBhIGRpc2FibGVkIG1vZGUgZm9yIHBhc3N0aHJvdWdoIG9wZXJhdGlvbgoJICBBbHNvIGFsbG93IHRvIGNoYW5nZSB0aGUgbW9kZSBpbiBQQVVTRUQgYW5kIFBMQVlJTkcgYnkgdXBkYXRpbmcKCSAgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA1LTA3IDE3OjM0OjM2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wNS0wNyAxMzoxMjozNCArMDIwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgc2NhbGV0ZW1wbzogRG9uJ3QgcmVxdWlyZSBnY29uZmF1ZGlvc2luayBpbiB0aGUgZGVtbwoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMDktMDUtMDYgMjE6NDg6MzAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgb3BlbiBhbGwgVlRTIGlmbyBhdCB0aGUgc3RhcnQKCSAgTG9hZCBlYWNoIFZUUyBpZm8gdGhlIGZpcnN0IHRpbWUgdGhlIGRpc2MgZW50ZXJzIHRoYXQgVlRTLAoJICByYXRoZXIgdGhhbiBzY2FubmluZyB0aGVtIGFsbCBhdCB0aGUgc3RhcnQuCgoyMDA5LTA1LTA2IDIxOjE5OjEzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIGEgdGl0bGUgdGFnIHdoZW4gd2UgY2hhbmdlIGNoYXB0ZXIvbWVudS9hbmdsZQoJICBBbGxvdyBhcHBzIGxpa2UgVG90ZW0gdG8gZGlzcGxheSBhIG5pY2VyIHRpdGxlIHRoYXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQKCSAgcG9zaXRpb24gb24gdGhlIGRpc2MuCgoyMDA5LTA1LTA1IDEzOjE4OjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgaGlnaGxpZ2h0LXJlc2V0IG1lc3NhZ2VzIHdoZW4gbm90IG5lZWRlZAoJICBGaXggYSBzbWFsbCBidWcgdGhhdCByZXN1bHRzIGluIHRoZSBTUFUgaGlnaGxpZ2h0IGJlaW5nIHJlc2V0IG1vcmUgb2Z0ZW4KCSAgdGhhbiBpcyBuZWNlc3NhcnkgLSBpZSwgY2xlYXJpbmcgaXQgd2hlbiBpdCdzIGFscmVhZHkgY2xlYXJlZC4KCjIwMDktMDUtMDUgMTM6MTQ6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IHNlbmQgYW5nbGVzLWNoYW5nZWQgbWVzc2FnZXMgd2hlbiBhcHByb3ByaWF0ZQoJICBXaGVuIHRoZSBjdXJyZW50IGFuZ2xlIGNoYW5nZXMsIG9yIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGFuZ2xlcyBjaGFuZ2VzLAoJICBzZW5kIGFuIGFuZ2xlcy1jaGFuZ2VkIG1lc3NhZ2UgdG8gbGV0IHRoZSBhcHAga25vdy4KCjIwMDktMDUtMDUgMTE6MzQ6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFrZSB0aGUgbmV4dC9wcmV2IGFuZ2xlIHN3aXRjaGluZyBjeWNsZSBhdCB0aGUgZW5kcwoJICBXaGVuIHRoZSBjdXJyZW50IGFuZ2xlIGlzIDEgYW5kIHByZXZfYW5nbGUgaXMgcmVxdWVzdGVkLCBsb29wIHRvIHRoZQoJICBtYXhpbXVtIGFuZ2xlIGFuZCB2aWNlIHZlcnNhIGZvciBuZXh0X2FuZ2xlCgoyMDA5LTA1LTA1IDE2OjU0OjM5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvbid0IGxlYWsgdGhlIGNvbmZpZyBkYXRhCgkgIENsZWFyIHRoZSBjb25maWcgZGF0YSB3aGVuIGdvaW5nIHRvIFJFQURZIG9yIHdoZW4gZGlzcG9zZWQuCgkgIEZpeGVzICM1ODE0MjcKCjIwMDktMDUtMDUgMTY6NDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkcm9wIHVuZXhwZWN0ZWQgUlRDUCBwYWNrZXRzCgkgIFdlIHVzdWFsbHkgb25seSBnZXQgU1IgcGFja2V0cyBpbiBvdXIgY2hhaW4gZnVuY3Rpb24gYnV0IGlmIGFuIGludmFsaWQgcGFja2V0CgkgIGNvbnRhaW5zIHRoZSBTUiBwYWNrZXQgYWZ0ZXIgdGhlIFJSIHBhY2tldCwgd2UgbXVzdCBub3QgZmFpbCBidXQgc2ltcGx5IGlnbm9yZQoJICB0aGUgbWFsZm9ybWVkIHBhY2tldC4KCSAgRml4ZXMgIzU4MTM3NQoKMjAwOS0wNS0wNCAyMjowOTowNSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogUmVtZW1iZXIgcGlkcyB0aGF0IGFyZSBtZWFudCB0byBiZSBzdHJlYW0gcGlkcy4KCSAgRml4ZXMgIzU2OTc4MQoKMjAwOS0wNS0wNCAxMjozNzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBJbXBsZW1lbnQgUHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWQ6IEltcGxlbWVudCBQcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDMgMTc6NDI6NDQgKzAxMDAgIFZpbmNlbnQgR2VuaWV1eCA8bXV0ZXhAcnVuYm94LmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogSWdub3JlIHN1YnRhYmxlIGV4dGVuc2lvbiB3aGVuIHBhcnNpbmcgUEFUCgkgIEZpeGVzICM1Njk2NzMuCgoyMDA5LTA1LTAzIDE3OjIxOjIyICswMTAwICBWaW5jZW50IEdlbmlldXggPG11dGV4QHJ1bmJveC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IG1ha2Ugc2FmZSBjaGFuZ2luZyB0aGUgcHJvZ3JhbS1udW1iZXJzIHByb3BlcnR5IGR5bmFtaWNhbGx5CgkgIEZpeGVzICM1Njk0MzcuCgoyMDA5LTA1LTAzIDE0OjI4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZXh0ZW5kIEJhc2VTcmMgcXVlcnkgaGFuZGxpbmcgcmF0aGVyIHRoYW4gb3ZlcnJpZGluZwoKMjAwOS0wNC0yNyAyMjozOToxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggKHJlZ3Jlc3Npb24gaW4pIG5ld3NlZ21lbnQgaGFuZGxpbmcKCSAgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKS4gIEZpeGVzICM1ODAxMzMuCgoyMDA5LTA1LTAyIDEyOjIzOjAzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggcGVzIGZpbHRlciBwaWQgcmVzZXR0aW5nCgoyMDA5LTA1LTAxIDAyOjI2OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogY29zbWV0aWMgZml4IHRvIGhlYWRlciBzdHJ1Y3R1cmUgdG8gbWFrZSBndGstZG9jIGhhcHB5CgoyMDA5LTA1LTAxIDE0OjI1OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZG9jczogbWFrZSBmcHNkaXNwbGF5c2luayBzaG93IHVwIGluIHRoZSBkb2NzCgoyMDA5LTA1LTAxIDAyOjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBtb3ZlIHByaXZhdGUgc3RydWN0IGludG8gcGx1Z2luIHN0cnVjdCBhbmQgdXNlIEdzdCBuYW1lc3BhY2UKCjIwMDktMDUtMDEgMDE6NTk6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnBzZGlzcGxheXNpbmsueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogcmVuYW1lIHBsdWdpbiAobm90IGVsZW1lbnQpIHRvIGRlYnVndXRpbHNiYWQKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGFkZCBmdXJ0aGVyIHV0aWxzIGhlcmUgd2l0aG91dCBjcmVhdGluZyB5ZXQgYW5vdGhlciBwbHVnaW4uCgoyMDA5LTA1LTAxIDE0OjI4OjIzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1bnNldCBwaWQgZmlsdGVycyBjb3JyZWN0bHkKCjIwMDktMDQtMzAgMTQ6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBjaGFuZ2VzIGNhcHMgb2Ygc3JjIHBhZHMgdG8gdmlkZW8vcXVpY2t0aW1lLCB2YXJpYW50PXNvbWV0aGluZwoJICBUYWtlIGEgbG9vayBhdCBidWcgIzU4MDAwNSBmb3IgZnVydGhlciBpbmZvLgoKMjAwOS0wNC0zMCAxNzoyOTozNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA0LTMwIDE3OjI4OjQ3ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBuZXcgcHJlc2V0cyBmaWxlCgoyMDA5LTA0LTMwIDE3OjA4OjUyICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDkwMS4KCjIwMDktMDQtMzAgMTQ6MjA6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBkbyBzb21lIGJhc2ljIGNsaXBwaW5nCgkgIEFkZCBzb21lIGJhc2ljIGNsaXBwaW5nIG9mIHRoZSBzdWJ0aXRsZSByZWdpb24gd2hlbiB0aGUgc3VidGl0bGUgaXMgYmlnZ2VyIHRoYW4KCSAgdGhlIGltYWdlIHdlIHNob3VsZCBwdXQgaXQgb24uCgoyMDA5LTA0LTMwIDE0OjE4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBkb24ndCBFT1Mgd2hlbiB0aGUgc3VidGl0bGUgZ290IEVPUwoJICBEb24ndCBmb3J3YXJkIHRoZSBFT1Mgb24gdGhlIHN1YnRpdGxlIHBhZCBhcyB0aGUgdmlkZW8gbWlnaHQgc3RpbGwgYmUgcnVubmluZy4KCjIwMDktMDQtMzAgMTM6NDU6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IGNvZGUgY2xlYW51cCBhbmQgcGx1ZyBvdmVybGF5IGFzIG5lZWRlZAoJICBQbHVnZ2luIHRoZSB0ZXh0LW92ZWxheSBjYXVzZXMgc29tZSBzbG93ZG93bnMgYW5kIG1pZ2h0IG5lZWQgYSBjb2xvcnNwYWNlCgkgIGNvbnZlcnRlci4gV2Ugbm93IG9ubHkgY2hlY2sgdGhlIHRleHQtb3ZlcmxheSBwcm9wZXJ0eSB3aG5lIGdvaW50IHRvIHJlYWR5IGFuZAoJICBwbHVnIG9yIHVucGx1ZyB0aGUgdGV4dC1vdmVybGF5IGF0IHRoYXQgdGltZS4gSWYgdGhlIHByb3BlcnR5IGNoYW5nZXMgZHVyaW5nCgkgIHBsYXlpbmcsIGl0cyBub3Qgc3dpdGNoZWQgaW1tZWRpYXRlbHkuCgoyMDA5LTA0LTMwIDAwOjA2OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgeDI2NGVuYzogYWRkIHByZXNldCBzdXBwb3J0CgkgIEFkZCBwcmVzZXQgaWZhY2UgYW5kIGEgKGR1bW15KSBwcmVzZXQgZmlsZSBhcyBhIHN0YXJ0aW5nIHBvaW50LgoKMjAwOS0wNC0yNiAyMToyNjowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDb252ZXJ0IHNvbWUgZ19wcmludCB0byBHU1RfTE9HX09CSkVDVCBhbmQgZnJpZW5kcywgcmVtb3ZlIHNvbWUgb3RoZXJzCgkgIFRyaW0gZG93biB0aGUgZ19wcmludCB2ZXJib3NpdHkuCgoyMDA5LTA0LTI2IDIxOjI5OjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBEVkRGQVNUU1RBUlQgZW52IHZhciB0byBtYWtpbmcgc29tZSB0ZXN0aW5nIGVhc2llcgoKMjAwOS0wNC0yNCAxNDowODo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHJlZHVuZGFudCBtb2R1bG8gb3BlcmF0aW9uIGluIHRoZSBkZW11eGVyCgoyMDA5LTA0LTI0IDE0OjA3OjMwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFwIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIGxvZ2ljYWwgc3RyZWFtcyB0byBwaHlzaWNhbC4KCSAgVGhlIGxvZ2ljYWwgYXVkaW8gYW5kIHN1YnBpY3R1cmUgc3RyZWFtIG51bWJlciBkb2Vzbid0IGFsd2F5cyBjb3JyZXNwb25kCgkgIHdpdGggdGhlIHBoeXNpY2FsIHN1YnN0cmVhbSBpdCBpcyBjb21pbmcgZnJvbS4gV2hlbiBjb25maWd1cmluZyB0aGUgZGVtdXhlcgoJICBwYWRzLCB1c2UgdGhlIG1hcHBpbmcgdGFibGUgcHJvdmlkZWQgaW4gZWFjaCBQR0MgdG8gZ2V0IHRoZSBsYXlvdXQgYW5kCgkgIGVuc3VyZSB0aGUgZGVtdXhlciBjcmVhdGVzIHRoZSBjb3JyZWN0IHBhZHMuCgoyMDA5LTA0LTI5IDE4OjUyOjIwICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwNzg2LgoKMjAwOS0wNC0yOSAxNjo1NzozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIHgyNjRlbmM6IGFkZCBzb21lIGRvY3VtZW50YXRpb24gb24gcHJvZmlsZQoKMjAwOS0wNC0yOSAxMzo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogU2V0L3JlcXVpcmUgdGhlIGZyYW1lZC9wYXJzZWQgZmllbGRzIG9mIHRoZSBhdWRpby9tcGVnIGNhcHMgdG8gVFJVRQoKMjAwOS0wNC0yOSAxMzoxNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IEFsd2F5cyB3cml0ZSBhdCBsZWFzdCB0aGUgbWluaW1hbCB0YWdzIGFuZCB3cml0ZSB0aGUgUEFSIGFzIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHNvbWUgdGFncwoKMjAwOS0wNC0yOSAxMzowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHRhZwoKMjAwOS0wNC0yOSAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogRml4IHBhcnNpbmcgb2YgdGFncyBhbmQgYWRkIG5ldyBtYXBwaW5ncwoJICBXZSBzaG91bGRuJ3QgcmVnaXN0ZXIgYSBuZXcgR3N0VGFnIGZvciBldmVyeSB1bmtub3duIHRhZwoJICB3ZSBmaW5kIGFzIHRoaXMgbWlnaHQgbGVhZCB0byBjb25mbGljdHMgYW5kIGFsc28gdGhvc2UKCSAgdGFncyBhcmUgZXNzZW50aWFsbHkgdW5rbm93bi4KCSAgQWRkIG1hcHBpbmdzIGZvciBzb21lIGtub3duIHRhZ3MgYW5kIGFsc28gY29udmVydCBzdHJpbmcKCSAgZGF0ZXMgdG8gR0RhdGUsIGFzIGZvdW5kIGluIG1hbnkgRkxWIGZpbGVzLgoKMjAwOS0wNC0yOCAxNjoxMDoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWplY3Qgd3JvbmcgY2FwcwoKMjAwOS0wNC0yOCAxNjowMzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhayBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yOCAxNTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoJICBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yNyAxMTowOTowOCArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IG1ha2UgV0FSTklORyBpbnRvIExPRwoJICBTaW5jZSBuZWl0aGVyIHJ0cG1hbmFnZXIgbm9yIGFueSBvZiB0aGUgcGF5bG9hZGVycyBwcm9wZXJseSBpbXBsZW1lbnQKCSAgcGFkIGFsbG9jYXRpb24sIHRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIHJ0cG1hbmFnZXIgdG8gaW5mb3JtIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgb2YgdGhlIG5ldyBTU1JDIGlmIHRoZXJlIGlzIGFuIFNTUkMgY29sbGlzaW9uLiBTbyB0aGUgd2FybmluZyBpcyBlbWl0dGVkIGFsbCB0aGUKCSAgdGltZSBhbmQgaXQgaXMgY29uZnVzaW5nLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDExOjA2OjAxICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbm90aWZ5IHdoZW4gU1NSQyBjaGFuZ2VzCgkgIEVtaXQgYSBnX29iamVjdF9ub3RpZnkgd2hlbiB0aGUgU1NSYyBjaGFuZ2VzIGJlY2F1c2Ugb2YgYSBjb2xsaXNpb24uCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTA6MDQ6NTEgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgQWRkIG5ldyBwbHVnaW4gdG8gc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBoZWFkZXIgdG8gZ3N0L2RjY3AvTWFrZWZpbGUuYW0KCjIwMDktMDQtMjUgMDA6NDQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdHMgYmluYXJpZXMKCjIwMDktMDQtMjUgMDA6NDI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBkaXN0IGxpYmdzdGRzaG93LmRlZiBieSBhZGRpbmcgaXQgdG8gd2luMzIvTUFOSUZFU1QKCSAgRml4ZXMgIzU3ODU2My4KCjIwMDktMDQtMjQgMTg6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogQ2hhbmdlcyBzcmMgY2FwcyB0byBhcHBsaWNhdGlvbi94LWlzby1tcDQKCSAgRml4ZXMgIzU4MDAwNQoKMjAwOS0wNC0yNCAxNjowMTo0NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQ29tbWl0IHRoZSB3aW4zMiBjb25maWcgd2l0aCBidW1wZWQgdmVyc2lvbiBudW1iZXIuCgkgIFNob3VsZCBoYXZlIGNvbW1pdHRlZCB0aGlzIHdoZW4gSSB1bmZyb3plIHRoZSBidWlsZCBsYXN0IHRpbWUsIHNvcnJ5LgoKMjAwOS0wNC0yNCAxNDo1MTowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBleGNsdWRlIHJzbmR2ZGJpbiBmcm9tIHRoZSBzdGF0ZXMgdGVzdAoKMjAwOS0wNC0yNCAxNTo0MjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBmaXggY29uZmlndXJlIHRvIHVzZSBwcm9wZXIgc2hlbGwgc3ludGF4LiBmaXhlcyAjNTgwMDkxCgoyMDA5LTA0LTIzIDE3OjMzOjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IEZpeCBjb21waWxhdGlvbiBvbiBuZXdlciBsaWJTb3VuZFRvdWNoCgkgIE5ld2VyIGxpYnNvdW5kdG91Y2ggcmVxdWlyZXMgdGhhdCB3ZSBpbmNsdWRlIGFuIGV4dHJhIGhlYWRlciB0aGF0IHdhc24ndAoJICBwcmV2aW91c2x5IHJlcXVpcmVkLCBzbyBkZWZpbmUgSEFWRV9TT1VORFRPVUNIXzFfNCBmb3IgbmV3ZXIgYnVpbGRzIHNvIHRoYXQgaXQKCSAgZ2V0cyBpbmNsdWRlZC4KCjIwMDktMDQtMjAgMTE6Mzg6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IG1vcmUgY2xlYW51cHMKCSAgVXNlIG5vcm1hbCBnc3QtZGVmaW5lcyBpbiBQTFVHSU5fREVGSU5FLiBTaG9ydGVuIF9zdGFydC9zdG9wIG1ldGhvZCBuYW1lcy4KCSAgTW9yZSBpZGVhcy4gTW92ZSBkZWJ1ZyBjYXRlZ29yeS1pbml0IGRvd24gdG8gcGx1Z2luLWluaXQuCgoyMDA5LTA0LTIwIDA5OjUxOjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiB1c2UgYSBuaWNlciBmb250IGZhbWlseQoKMjAwOS0wNC0yMCAxMDoyNDozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogdmFyaW91cyBjbGVhbnVwcywgZG9jcyBhbmQgY29tbWVudHMKCSAgUmVtb3ZlIHVudXNlZCBiYXNlX2luaXQuIEFkZCBiYXNpYyBkb2MgYmxvYi4gUmV1c2UgcXVlcnkgb2JqZWN0LiBSZW5hbWUKCSAgdmFyaWFibGVzIGZvciBjbGFyaXR5LiBBZGQgY29tbWVudHMgYW5kIFRvRG9zLgoKMjAwOS0wNC0yMCAwOTo0OTozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogcmVtb3ZlIGlmYWNlIHByb3h5CgkgIFdoZW4gd2UgZ2V0IGJ1cyBtZXNzYWdlcyBmb3Igc2V0dGluZyB0aGUgeGlkLCB3ZSBoYXZlIHRoZSByZWFsIHNpbmsgZWxlbWVudAoJICBpbnN0YW5jZSBhcyBtZXNzYWdlX3NyYy4gTm8gbmVlZCB0byBwcm94eSB0aGUgeG92ZXJsYXkgaWZhY2UgdGhlcmVmb3JlCgkgIChhdXRvdmlkZW9zaW5rIGRvZXMgbm90IGRvIGl0IGVpdGhlcikuIEFsc28gd2UgZG9uJ3QgbmVlZCB0byByZXdyaXRlIHRoZQoJICBtZXNzYWdlIHNyYyBvZiBhbGwgbWVzc2FnZXMgZnJvbSB0aGF0IHNpbmsuCgoyMDA5LTA0LTIzIDExOjA0OjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dC1zZWxlY3RvcjogRm9yd2FyZCBzZWdtZW50IGV2ZW50cyBmb3IgdGhlIGFjdGl2ZSBwYWQgaW1tZWRpYXRlbHkuCgkgIFdoZW4gYSBzZWdtZW50IGV2ZW50IGlzIHJlY2VpdmVkIG9uIHRoZSBhY3RpdmUgcGFkLCBmb3J3YXJkIGl0IGRvd25zdHJlYW0KCSAgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBkZWZlcnJpbmcgaXQgdW50aWwgdGhlIG5leHQgZGF0YSBidWZmZXIgYXJyaXZlcy4gVGhpcwoJICBmaXhlcyBwcm9ibGVtcyB3aXRoIHNlZ21lbnQgdXBkYXRlcyBuZXZlciBiZWluZyBzZW50IGRvd25zdHJlYW0sIGxpa2UgdGhvc2UKCSAgbmVlZGVkIGZvciBzcGFyc2Ugc3RyZWFtcywgb3IgZm9yIGNsb3NpbmcgcHJldmlvdXNseSBvcGVuZWQgc2VnbWVudHMuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgRFZEIG1lbnVzIHdpdGggYSBzdGlsbCB2aWRlbyBmcmFtZSBhbmQgYW4gYXVkaW8gdHJhY2ssCgkgIGZvciBleGFtcGxlLgoJICBGaXhlczogIzU3Nzg0MwoKMjAwOS0wNC0yMiAxODowMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggd2FybmluZwoKMjAwOS0wNC0yMCAyMDowMDoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgZGlmZmVyZW50IGNhcHMgZGVwZW5kaW5nIG9uIHRoZSBpbnB1dAoKMjAwOS0wNC0yMiAxNjoyNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBPbmx5IGZyZWUgcGFkIHByaXZhdGUgd2hlbiBwYWQgaXMgZGlzcG9zZWQKCjIwMDktMDQtMjIgMTk6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBBZGQgZG9jdW1lbnRhdGlvbiB0byBmbHZtdXggYW5kIGZsdmRlbXV4CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzczNy4KCjIwMDktMDQtMjIgMTk6NDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmOiBNYXJrIG1vc3QgZmllbGRzIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgYXMgcHJpdmF0ZQoKMjAwOS0wNC0yMiAxOTo0MzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDQtMjIgMTk6MjQ6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcHNkaXNwbGF5c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14ZjogQWRkIGRvY3VtZW50YXRpb24gdG8gbXhmbXV4IGFuZCB1cGRhdGUgdGhlIGRvY3MKCjIwMDktMDMtMTkgMTU6Mzc6MTcgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBVc2UgY29ycmVjdCBoZWFkZXIgZmlsZQoJICBtb2RwbHVnJ3Mgc25kZmlsZS5oIGNvbmZsaWN0cyB3aXRoIGxpYnNuZGZpbGUncyBzbmRmaWxlLmgsIHNvCgkgIHdlJ2xsIGFjY2VzcyBpdCBkaXJlY3RseSB1c2luZyBtb2RwbHVnL3NuZGZpbGUuaC4gIEZpeGVzICM1NzM4NDkKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE1OjI5OjA0IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogbTQvZ3N0LXNkbC5tNDoKCSAgc2RsOiBVc2UgU0RMIHN0YXRpYy1saWJzIGZvciBjb25mdGVzdAoJICBGaXhlczogIzU3Mzg0Ny4gIFRoaXMgZml4ZXMgYnVpbGRpbmcgd2l0aCBTREwgb24gV2luZG93cy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE0OjU1OjI2IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IEdldCBudW1iZXIgb2YgcHJvY2Vzc29ycyBvbiB3aW4zMgoJICBGaXhlcyAjNTczODQ4LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTQ6NDk6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBBZGQgcGtnY29uZmlnIGNoZWNrIGZvciBzb3VuZHRvdWNoLTEuNAoJICBGaXhlcyAjNTczODQ2LgoKMjAwOS0wMi0yNiAxNDoxODo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIEFkZCBpbnRlcmxhY2VkIHN1cHBvcnQgdG8gdmlkZW9wYXJzZQoJICBBZGQgYSB2aXJ0dWFsIG1ldGhvZCBpbiByYXdwYXJzZSB0byBzZXQgYnVmZmVyIGZsYWdzLiAgVGhpcyBkb2Vzbid0CgkgIHVzZSBBUEkgZnJvbSB1bnJlbGVhc2VkIC1iYXNlLCBzaW5jZSBpdCBkZWZpbmVzIEdTVF9WSURFT19CVUZGRVJfVEZGCgkgIGlmIGl0J3Mgbm90IGRlZmluZWQgeWV0LgoKMjAwOS0wNC0yMSAyMjoxMzoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzk0MWVhIHRvIDZhYjExZDEKCjIwMDktMDQtMjEgMTM6Mjc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAncnRwbXV4LWZpeGVzJwoKMjAwOS0wNC0yMSAxNjo0ODozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogSWYgdGhlIGNvbm5lY3Rpb24gZmFpbHMsIGVtaXQgYSByZWRpcmVjdGlvbiBtc2cgdG8gdGhlIHJ0c3AgZXF1aXZhbGVudC4KCSAgVGhpcyBzaG91bGQgaGVscCBmaXggdGhlIGlzc3VlIHdpdGggV2luZG93cyBNZWRpYSBTZXJ2ZXIgdXNpbmcgcnRzcC4uLiBidXQKCSAgc3RpbGwgZGVjbGFyaW5nIHRoZSBzdHJlYW0gd2l0aCBtbXM6Ly8KCjIwMDktMDQtMjEgMTY6MDg6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IE9ubHkgZXJyb3Igb3V0IGF0IEVPUyBwdXNoIGZhaWx1cmUgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgc3RyZWFtcy4KCSAgVGhpcyBzaG91bGQgcmVtb3ZlIHRoZSBib2d1cyBlcnJvciBtZXNzYWdlcyB3aGlsZSBzdGlsbCBrZWVwaW5nIHRoZSBvcmlnaW5hbAoJICBpbnRlbnQgb2YgdGhpcywgd2hpY2ggaXMgdG8gaW5mb3JtIHRoZSBwaXBlbGluZS9hcHBsaWNhdGlvbi91c2VyIHRoYXQgd2UKCSAgY291bGQgbm90IGZpbmQgYW55IHZhbGlkIHN0cmVhbXMuCgkgIFRoZXJlIGFyZSBtYW55IHJlYXNvbnMgd2h5IHB1c2hpbmcgYW4gZXZlbnQgY2FuIGZhaWwsIGFuZCBub3QgYWxsIG9mIHRoZW0gYXJlCgkgIGJlY2F1c2UgdGhlcmUncyBubyBsaW5rIGRvd25zdHJlYW0gKGl0IGNvdWxkIGJlIGJlY2F1c2UgaXQgd2FzIGJsb2NrZWQsIG9yCgkgIGZsdXNoaW5nKS4KCjIwMDktMDQtMTAgMTk6MjQ6MjYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgaGFjayBzcGVjaWZpYyBmb3IgaXR2aGQKCSAgaXR2aGQgbWFza3MgaXRzIGgyNjQgdmlkZW8gc3RyZWFtIGFzIGEgcHJpdmF0ZSBzdHJlYW0gbWFraW5nIGl0IGhhcmRlciBmb3IKCSAgb3RoZXIgc2V0IHRvcCBib3hlcyB0byBkZWNvZGUuIHRoaXMgY2hlY2tzIGZvciBzcGVjaWZpYyBwcm9ncmFtIG51bWJlciwgdmlkZW8KCSAgcGlkIGFuZCBzdHJlYW0gdHlwZSBjb21iaW5hdGlvbiBiZWZvcmUgZGVjbGFyaW5nIGl0IGFzIGgyNjQuCgoyMDA5LTA0LTEwIDE5OjA2OjU1ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBkZXRlY3QgQUMzIHN0cmVhbXMgaW4gUE1UIHRhYmxlCgkgIGFkZCAnaGFzLWFjMycgYm9vbGVhbiB0byBwbXQgYnVzIG1lc3NhZ2UKCjIwMDktMDQtMTAgMDE6MTY6MzAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGl0diBoZCBoYWNrCgoyMDA5LTA0LTEwIDAxOjExOjAxICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBoYWNrIGZvciBpdHZoZCBzaWQgdG8gZGV0ZWN0IG1wZWcxIGFzIGgyNjQKCjIwMDktMDQtMjAgMTg6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIHVzZWxlc3MgY2FwcyBtYW5nbGluZwoKMjAwOS0wNC0yMCAxODozNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgdmFyaWFibGUgZm9yIG1vcmUgY2xhcml0eQoKMjAwOS0wNC0yMCAxNzo0MzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIEdTVF9CT0lMRVJQTEFURQoKMjAwOS0wNC0yMCAxNzo0Mjo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvIHRoZSBpbmNsdWRlcyBsb2NhbGx5CgoyMDA5LTA0LTIwIDE2OjM0OjMwICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJICBwYXRjaCBvdmVyIGxvZ2ljIGVycm9ycyBpbiBvc3h2aWRlb3NyYwoJICBhcHBsZSdzIGNvbXBpbGVyIGNhcnBzLCB3aXRoIHJlYXNvbiwgYWJvdXQgc29tZSBjb25zdHJ1Y3RzIGluIG9zeHZpZGVvc3JjLmMKCSAgZml4IHRoZW0uCgkgIGFsc28gaXQgc2VlbXMgdGhhdCBmb3Igc29tZSByZWFzb24gdGhpcyByZXF1aXJlZCBhIGdzdC1pbmRlbnQgcnVuLiB3aGVlCgoyMDA5LTA0LTIwIDEzOjA5OjQ2ICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgYWRkIG9zeHZpZGVvc3JjCgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06IEF1dG9jb25maXNjYXRpb24uCgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6IEFkZCBvc3h2aWRlb3NyYy4gU2hvdWxkIGZpeCAjMTUzNjg0LgoJICBQYXRjaC1ieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgUGF0Y2gtYnk6IEFsaSBTYWJpbCA8YWxpLnNhYmlsQHRhbmRiZXJnLmNvbT4KCSAgUGF0Y2gtYnk6IEJhcnJhY3VkYSBOZXR3b3JrcyA8anVzdGluQGFmZmluaXguY29tPgoKMjAwOS0wNC0xOSAxNzoxODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGludGVybGFjaW5nIGF1dG9kZXRlY3Rpb24gb3IgdG8gZW5mb3JlIGRlaW50ZXJsYWNpbmcKCSAgRm9yIHRoaXMgYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRoYXQgZGVmYXVsdHMgdG8gImludGVybGFjZWQiIGZvciBub3cgYXMKCSAgbW9zdCBkZWNvZGVycy9kZW11eGVycyBkb24ndCBwcm9wZXJseSBzZXQgdGhlICJpbnRlcmxhY2VkIiBmaWVsZCBvbiB0aGUKCSAgY2FwcyB5ZXQuCgkgIElmIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvICJhdXRvIiB0aGUgZWxlbWVudCB3aWxsIHdvcmsgaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB1bmxlc3MgdGhlIGNhcHMgY29udGFpbiB0aGUgImludGVybGFjZWQiIGZpZWxkLgoKMjAwOS0wNC0xOCAyMzo0Mjo1NyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IGxlYWsgb2YgR1NUX1RZUEVfTElTVCBndmFsdWUKCjIwMDktMDQtMTggMTM6MDk6MjMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbGVhayBpbiBzcmNfcGFkX3F1ZXJ5CgoyMDA5LTA0LTE3IDE2OjE2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBqb2luIHRoZSBSVENQIHRocmVhZAoJICBBdm9pZCBhIGNhc2Ugd2hlcmUgYSBqb2luYWJsZSB0aHJlYWQgd291bGQgYmUgbGVmdCB1bmpvaW5lZCwgd2hpY2ggbGVha2VkIHRoZQoJICB0aHJlYWQgc3RydWN0dXJlLgoJICBGaXhlcyAjNTc3MzE4LgoKMjAwOS0wNC0xNyAxNTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IFVzZSBHU1RfKERFQlVHfFdBUk5JTkd8RVJST1IpX09CSkVDVCBpbnN0ZWFkIG9mIHRoZSBub24tT0JKRUNUIG9uZXMKCjIwMDktMDQtMTcgMTU6Mzk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBSZXNldCBoaXN0b3J5IGlmIERJU0NPTlQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyBidWZmZXIKCjIwMDktMDQtMTcgMTU6Mzk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBGaXggdGltZXN0YW1wcyBmb3IgYnVmZmVycyB3aXRoIFJGRiBmbGFnIHNldAoKMjAwOS0wNC0xNiAyMjoxNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUHJvcGVybHkgaGFuZGxlIHRoZSBuZXcgaW50ZXJsYWNlZCBzdXBwb3J0IGZyb20gbGliZ3N0dmlkZW8gZm9yIChkZSltdXhpbmcKCjIwMDktMDQtMTYgMTc6NDE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlMjogUmVuYW1lIGxpbmVfbGVuZ3RoIHRvIHJvd19zdHJpZGUgYW5kIHJlbW92ZSBvdXRwdXRfc3RyaWRlCgoyMDA5LTA0LTE2IDE1OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogSW1wbGVtZW50IHN1cHBvcnQgZm9yIFJGRiBhbmQgT05FRklFTEQgYnVmZmVyIGZsYWdzCgoyMDA5LTA0LTE2IDE4OjM2OjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogYWRkIGEgaW5pdGlhbCBwb3J0IG9mIGEgc2luayB3aXRoIGZwcyBkaXNwbGF5CgkgIFRoaXMgbm93IHdvcmtzIHdpdGggYSBldmVudCBwcm9iZS4gTmVlZHMgc29tZSBleHRyYSB3b3JrLgoKMjAwOS0wMy0wOSAxODoyMjoyOCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbiB1cCBhbmQgZml4IGFzc2VydGlvbiBmYWlsIHdoZW4gc2V0dGluZyB6b29tIGluIE5VTEwgc3RhdGUKCjIwMDktMDMtMDkgMTg6MzE6MDcgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvcm1hdCBtYXRjaGluZyB3aGVuIGRldGVjdGluZyBhbGxvd2VkIGZyYW1lIHJhdGUKCjIwMDktMDMtMDkgMTg6MjU6NDggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9zZSBwZW5kaW5nIHN0YXRlIHdoZW4gY2hhbmdpbmcgcmVzb2x1dGlvbgoKMjAwOS0wMi0yNyAxNzoxMjozOCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjaGFuZ2UgaW1nLWRvbmUgc2lnbmFsIHBhcmFtZXRlciBmcm9tIEdTdHJpbmcqIHRvIGNvbnN0IGdjaGFyKgoJICBEb24ndCBhbGxvdyBzZXR0aW5nIGZpbGVuYW1lIHZpYSBpbWctZG9uZSBzaWduYWwgcGFyYW1ldGVyIGJ1dCBmb3JjZSBhcHAKCSAgdXNlIGZpbGVuYW1lIHByb3BlcnR5LiBEb24ndCBzdG9wIGNhcHR1cmUgd2hlbiBzZXR0aW5nIGZpbGVuYW1lIHByb3BlcnR5LgoJICBVcGRhdGUgY2hlY2sgdW5pdCB0ZXN0IGJhc2VkIG9uIHRoZSBjaGFuZ2UuCgoyMDA5LTA0LTE1IDEzOjIzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFJzCgoyMDA5LTA0LTE1IDEzOjE1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBsb2NrZWQgcGFkIG9uIHJlbGVhc2VfcGFkCgkgIFJlbGVhc2UgdGhlIHNwZWNpYWwgcGFkIGlmIHRoZSBwYWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBtdXhlci4KCjIwMDktMDQtMTUgMTM6MDk6MjcgLTA0MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIHNwZWNpYWwgb24gcGFkIGRpc3Bvc2UKCSAgRml4ZXMgIzU3NzY5MAoKMjAwOS0wNC0xNSAxODoxNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByZXZlbnQgb3ZlcmZsb3cgaW4gRU9TIGVzdGltYXRpb24KCSAgVXNlIGEgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGEgZ3VpbnQgdG8gaG9sZCBhIDY0Yml0IHZhbHVlIHRvIHByZXZlbnQgY29tcGxldGVseQoJICBib2d1ZXMgRU9TIGVzdGltYXRpb24gdmFsdWVzIGR1ZSB0byBvdmVyZmxvd3MuCgoyMDA5LTA0LTE1IDE3OjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHdlIHNob3VsZCBub3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcHJvdmlkZSBhIGNsb2NrLgoKMjAwOS0wNC0xNSAxNzoyODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vcmUgZXN0aW1hdGVkIEVPUyBmaXhlcwoJICBEbyBtb3JlIGFjY3VyYXRlIEVPUyBlc3RpbWF0ZSBhbmQgZ3VhcmQgYWdhaW5zdCBiYWNrd2FyZCB0aW1lc3RhbXBzLgoKMjAwOS0wNC0xNSAxNzoyNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgcHVzaGluZyBFT1MKCSAgTWFrZSBzdXJlIHdlIHJlbGVhc2UgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIGJlZm9yZSB3ZSBzdGFydCBwdXNoaW5nIG91dCBkYXRhCgkgIGJlY2F1c2UgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMDktMDQtMTUgMTU6NDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgZGVpbnRlcmxhY2UyOiBNb3ZlIG91dHB1dCBidWZmZXIgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0IHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyCgoyMDA5LTA0LTE1IDE1OjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiB0aGUgZmllbGQgb3JkZXIKCjIwMDktMDQtMTUgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBjb2xvcnNwYWNlCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgWVVZMiB3aXRoIGp1c3QgQ3IgYW5kIENiIHN3YXBwZWQuIEFzCgkgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSB3aGVuIGRlaW50ZXJsYWNpbmcKCSAgdGhpcyB3b3Jrcy4KCjIwMDktMDQtMTMgMTM6MzI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBTbWFsbCBjbGVhbnVwCgoyMDA5LTA0LTEwIDE4OjAwOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjOiBmaXggY29tcGlsYXRpb24gd2l0aCB0aGUgZGVidWdnaW5nIHN5c3RlbSBkaXNhYmxlZAoJICBPbmUgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQgc2hvdWxkIGJlIGVub3VnaCBhbnl3YXkuCgkgIEZpeGVzICM1Nzg1NjIgKHNwb3R0ZWQgYnkgRGF2aWQgSG95dCkuCgoyMDA5LTA0LTA5IDIzOjUzOjM5ICswMjAwICBKYW5pbiBLb2xlbmMgPGphbmluLmtvbGVuYyBhdCBtYXJhbmQuc2k+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgeDI2NGVuYzogYWRkIGZvcmNlIGtleWZyYW1lIGV2ZW50IGhhbmRsaW5nCgkgIFVzZSB0aGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IHRvIGZvcmNlIGEga2V5ZnJhbWUuCgkgIEZpeGVzICM1NzgxMTIuCgoyMDA5LTA0LTA4IDExOjUyOjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgYWNtZW5jLCBhY21tcDNkZWMsIHNkcDogbGluayB0byBhbGwgcmVxdWlyZXMgbGlicmFyaWVzIG9uIHdpbjMyLgoJICBBZGQgd2luc29jayBmb3Igd2luZG93cyAoZm9yIHNkcCkuIExpbmsgdG8gYWxsIHRoZSBwbHVnaW5zLWJhc2UKCSAgbGlicyB3ZSBpbmRpcmVjdGx5IHVzZSBmb3IgYWNtbWVuYyBhbmQgYWNtbXAzZGVjLgoKMjAwOS0wNC0wNyAxNTo1MDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBpZiBteGZtdXggISBteGZkZW11eCBwaXBlbGluZXMgYXJlIHdvcmtpbmcgd2l0aG91dCBlcnJvcnMKCjIwMDktMDQtMDcgMTU6NDk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIGludmFsaWQgYnVmZmVyIG9mZnNldHMsIGluc3RlYWQgYXNzdW1lIG9mZnNldCA9PSAwCgoyMDA5LTA0LTA3IDE1OjQ1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggY29tcGFyaXNvbgoKMjAwOS0wNC0wNyAxNToxOToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBVc2UgVUwgZGF0YWJhc2UgZm9yIGFsbCBtZXRhZGF0YSBVTHMKCjIwMDktMDQtMDcgMDQ6NTM6MDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2xpZ2h0bHkgYnJva2VuIGJ1ZmZlci1pbi1zZWdtZW50IGNoZWNrIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkKCjIwMDktMDQtMDUgMDM6NTA6MTkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggcHVzaCBtb2RlIHNlZWtpbmcgKGFhY3BhcnNlLCBhbXJwYXJzZSkKCSAgU2VuZGluZyB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgZm9yd2FyZCBiZWZvcmUgdGFraW5nIHRoZSBzdHJlYW0gbG9jayBhY3R1YWxseQoJICB3b3JrcywgaW4gY29udHJhc3QgdG8gZGVhZGxvY2tpbmcgaW4gZG93bnN0cmVhbSBwcmVyb2xsX3dhaXQgKGh1bmsgMSkuCgkgIEFmdGVyIHRoYXQgd2UgZ2V0IHRoZSBjaGFpbiBmdW5jdGlvbiBiZWluZyBzdHVjayBpbiBhIGJ1c3kgbG9vcC4gVGhpcyBpcyBmaXhlZAoJICBieSB1cGRhdGluZyB0aGUgbWluaW11bSBmcmFtZSBzaXplIGluc2lkZSB0aGUgc3luY2hyb25pemF0aW9uIGxvb3AgYmVjYXVzZSB0aGUKCSAgc3ViY2xhc3MgYXNrcyBmb3IgbW9yZSBkYXRhIGluIHRoaXMgd2F5IChodW5rIDIpLgoJICBGaW5hbGx5LCB0aGlzIGxlYWRzIHRvIGEgdmVyeSBwcm9iYWJsZSBjcmFzaCBiZWNhdXNlIHRoZSBzdWJjbGFzcyBjYW4gZmluZCBhCgkgIHZhbGlkIGZyYW1lIHdpdGggYSBzaXplIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSBkYXRhIGluIHRoZQoJICBhZGFwdGVyLiBUaGlzIG1ha2VzIHRoZSBzdWJzZXF1ZW50IGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGNhbGwgcmV0dXJuIE5VTEwsCgkgIHdoaWNoIGlzIG5vdCBleHBlY3RlZCAoaHVuayAzKS4KCjIwMDktMDQtMDQgMjE6MTk6MTEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMGVhODllIHRvIGIzOTQxZWEKCjIwMDktMDQtMDQgMTc6NTE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBmaXggc29tZSByZWZjb3VudCBtaXN0YWtlcyBhbmQgZG8gc29tZSBjbGVhbmluZyB1cAoJICBObyBuZWVkIHRvIHVucmVmIGJ1ZmZlcnMgaWYgcGFkX3B1c2ggcmV0dXJucyBzb21ldGhpbmcgbm9uLUZMT1dfT0suCgkgIEluIGZhY3QsIHRoaXMgd2lsbCBjYXVzZSBhc3NlcnRpb25zIG9yIGNyYXNoZXMuIEhvd2V2ZXIsIHdlIGRvIG5lZWQKCSAgdG8gdW5yZWYgdGhlIGlucHV0IGJ1ZmZlciB3aGVuZXZlciB3ZSBkb24ndCBwYXNzIGl0IGRvd25zdHJlYW0uIEFsc28sCgkgIGEgbm9uLU9LIGZsb3cgcmV0dXJuIGlzIG5vdCBhbiBlcnJvciwgc28gZG9uJ3QgcG9zdCBlcnJvciBtZXNzYWdlcyBvbgoJICB0aGUgYnVzIC0gdGhlIHBpcGVsaW5lIG1heSBqdXN0IGJlIHNodXR0aW5nIGRvd24uIE1pc2NlbGxhbmVvdXMgb3RoZXIKCSAgY2xlYW4tdXBzIGFuZCBjcmFjayByZW1vdmFsLiBQbGVudHkgb2Ygd29yayBsZWZ0IGZvciB0aG9zZSB3aG8gZmVlbAoJICBsaWtlIGl0LgoKMjAwOS0wNC0wNCAxNDo1NDoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjhiM2Q5MSB0byBkMGVhODllCgoyMDA5LTA0LTAzIDIzOjEwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggZHZkbmF2IHZlcnNpb24gY2hlY2sKCSAgRml4ZXMgIzU3Nzg2NC4gVGhpcyB0aW1lIGZvciByZWFsLgoKMjAwOS0wNC0wMyAxNzo1NTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogcmVxdWlyZSBsaWJkdmRuYXYgPj0gNC4xLjIgZm9yIGR2ZG5hdl9nZXRfY3VycmVudF90aW1lKCkKCSAgRml4ZXMgIzU3Nzg2NC4KCjIwMDktMDQtMDMgMTA6Mjk6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbWlzYzogQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yMi4xCgoyMDA5LTA0LTAxIDE3OjQxOjQwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNlbmQgYm90aCB0aGUgbG9naWNhbCBhbmQgcGh5c2ljYWwgc3Vic3RyZWFtIElEIGluIHRoZSBzdHJlYW0gY2hhbmdlLgoJICBXaGVuIHNlbmRpbmcgdGhlIHN0cmVhbSBjaGFuZ2UgbWVzc2FnZShzKSB0byB0aGUgZGVtdXhlciwgYWxzbyBpbmNsdWRlIHRoZQoJICBsb2dpY2FsIHN0cmVhbSBpZCBhbG9uZyB3aXRoIHRoZSBwaHlzaWNhbCBJRCwgc28gdGhhdCB0aGUgZGVtdXhlciBjYW4gcmVtYXAKCSAgbG9naWNhbC0+cGh5c2ljYWwgTVBFRyBzdHJlYW0gSUQuCgoyMDA5LTA0LTAxIDAyOjIzOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFVzZSBuZXcgR3N0TmF2aWdhdGlvbiBmdW5jdGlvbmFsaXR5LgoJICBIYW5kbGUgdGhlIG5ldyBEVkQgY29tbWFuZHMsIHNvIHRoYXQgd2UgY2FuIGhhbmRsZSBjb21tYW5kcyBmcm9tIGEgcGxheWVyCgkgIHRvIGNoYW5nZSBhbmdsZSwganVtcCB0byBtZW51cyBldGMuIFVzZSB0aGUgbmV3IEdzdE5hdmlnYXRpb24gZXZlbnQgcGFyc2luZwoJICBmdW5jdGlvbnMsIGluc3RlYWQgb2YgaGFuZC1yb2xsZWQgc3R1ZmYuCgkgIFNlbmQgR3N0TmF2aWdhdGlvbiBub3RpZmljYXRpb24gbWVzc2FnZXMgd2hlbiB0aGUgbW91c2UgZW50ZXJzIGEgYnV0dG9uCgkgIG9yIGxlYXZlcyBpdCwgc28gVUkgY2FuIHR1cm4gdGhlIG1vdXNlIGN1cnNvciB0byBhIGhhbmQgaWNvbi4KCjIwMDktMDMtMzAgMDE6MDc6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFN3aXRjaCB0byB1c2luZyBhIGhhcmQtY29kZWQgbXBlZzJkZWMsIGFuZCBjaGFuZ2UgcGFkIGJsb2NraW5nIGEgYml0LgoJICBDaGFuZ2UgdGhlIHBhZCBibG9ja2luZyBiZWhhdmlvdXIgZHVyaW5nIHN0YXJ0dXAsIGFuZCB1c2UgYSBoYXJkLWNvZGVkIG1wZWcyZGVjIChmb3IgdGhlIG1vbWVudCksIGluIG9yZGVyIHRvIG1ha2UgdGhpbmdzIHdvcmsgd2l0aCBwbGF5YmluMi4KCjIwMDktMDMtMjUgMTI6MzE6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIG5ld2xpbmUgdG8gZGVidWcgZ19wcmludCBzdGF0ZW1lbnQKCjIwMDktMDMtMjUgMDI6MjA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFrZSBoaWdobGlnaHRzIHdvcmsgd2hlbiBqdW1waW5nIGludG8gbWVudXMKCSAgTWFrZSB0aGUgaGlnaGxpZ2h0cyByZS1hcHBlYXIgY29ycmVjdGx5IHdoZW4ganVtcGluZyBiYWNrIGludG8gbWVudXMKCSAgYnkgbWFraW5nIHN1cmUgdG8gc2V0IHRoZSBmbHVzaGluZ19zZWVrIGZsYWcgZm9yIHVzZXItYWN0aW9uIGluaXRpYXRlZAoJICBzZWVrcy4KCSAgRmlkZGxlIHNvbWUgZGVidWcgcmVsYXRlZCB0byB0cmFja2luZyBkb3duIHRoZSBpc3N1ZS4KCjIwMDktMDMtMjUgMDE6MjE6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU3VwcG9ydCBtdWx0aWFuZ2xlIHRpdGxlcy4KCSAgQWRkIGEgd29ya2Fyb3VuZCBmb3IgYW4gYXBwYXJlbnQgbGliZHZkbmF2IGJ1ZyB3aGVyZSBpdCBsb3NlcyBuYXYgcGFja2V0cwoJICBkdXJpbmcgbXVsdGlhbmdsZSB0aXRsZXMsIGFuZCBhZGQgc29tZSBrZXlwcmVzcyBiaW5kaW5ncyB0byBzd2l0Y2ggdGhlIGFuZ2xlLgoKMjAwOS0wMy0xOCAwOTozNToxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBBZGQgYmFjayBpbiBzdXBwb3J0IGZvciB1c2luZyBoYXJkY29kZWQgYTUyZGVjCgoyMDA5LTAzLTE2IDIwOjMxOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBBZGQgc29tZSBkZWJ1ZyB3aGVuIGNyZWF0aW5nIHRoZSBvdXRwdXQgcGFkcyBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wMy0xMCAxMDozOToyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJlc2luZHZkOiBNb3JlIGhhY2tpbmcgb24gdGhlIGF1ZGlvIGRlY29kZXIuCgoyMDA5LTAzLTA1IDAwOjA0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFRyaW0gYmFjayB0aGUgZ19wcmludCBkZWJ1ZyAtIGNvbnZlcnQgdG8gR1NUX0RFQlVHIGFuZCBHU1RfTE9HCgoyMDA5LTAzLTA0IDE2OjE2OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZDogRXh0ZW5kIHRoZSBSZXNpbiBhdWRpbyBkZWNvZGVyIGVsZW1lbnQsIGFuZCBzd2l0Y2ggcnNuZHZkYmluIHRvIHVzZSBpdAoKMjAwOS0wMi0yNyAxMDoxODoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkOiBGaXJzdCBwYXJ0IG9mIHRoZSByZS1wbHVnZ2luZyBhdWRpbyBkZWNvZGVyCgoyMDA5LTAyLTI3IDA5OjQyOjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSB1bnVzZWQgY29kZSBwYXRoIGZyb20gdGhlIGJpbgoKMjAwOS0wMi0yNiAwMDoyOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBJbmRlbnQgc29tZSB0aGluZ3MKCjIwMDktMDItMjYgMDA6Mjc6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIHJlc2luZHZkOiBTd2l0Y2ggR1NUX0JPSUxFUlBMQVRFIHRvIEdfREVGSU5FX1RZUEUgZm9yIG5vIHJlYWwgcmVhc29uLgoKMjAwOS0wMy0yNCAwMTowMjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogQWRkIGZhc3RzdGFydCwgYW5kIHdvcmsgYXJvdW5kIHNvbWUgbXVsdGktYW5nbGUgaXNzdWVzCgkgIEFkZCBhICdmYXN0LXN0YXJ0JyBwcm9wZXJ0eSB0byB0aGUgcnNuZHZkc3JjIGVsZW1lbnQsIHRoYXQgYXR0ZW1wdHMgdG8KCSAganVtcCBkaXJlY3RseSB0byB0aGUgRFZEIG1lbnUgd2hlbiBzdGFydGluZy4gRG9lc24ndCB3b3JrIGNvcnJlY3RseSBvbiBhbGwKCSAgdGl0bGVzIHlldC4KCSAgQWRkIHdvcmthcm91bmRzIGZvciBpc3N1ZXMgd2l0aCBtdWx0aXBsZSBhbmdsZXMgaW4gbGliZHZkbmF2OiBVc2UgYSBoZXVyaXN0aWMKCSAgdG8gYXZvaWQgZGV0ZWN0aW5nIGRpc2NvbnRpbnVpdGllcyBkdXJpbmcgbXVsdGlwbGUtYW5nbGUgdGl0bGVzLCBpdCBzZWVtcwoJICBjYXVzZWQgYnkgbGliZHZkbmF2IGxvc2luZyBzb21lIE5BViBwYWNrZXRzIGluIG11bHRpYW5nbGUgdGl0bGVzLiBGaXgKCSAgc2Vla2luZyBpbiBtdWx0aS1hbmdsZSB0aXRsZXMgYnkgYWxpZ25pbmcgb3VyIHNlY3RvciBjYWxjdWxhdGlvbiBsb2dpYwoJICB3aXRoIGxpYmR2ZG5hdidzLiBBbHNvLCB1c2UgbGliZHZkbmF2J3MgZHZkbmF2X2dldF9jdXJyZW50X3RpbWUoKSBtZXRob2QKCSAgdG8gZGV0ZXJtaW5lIHRoZSBsb2dpY2FsIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGNlbGwgd2hlbiBpdCBjaGFuZ2VzLCBhcyB0aGUKCSAgY2VsbF9zdGFydCB2YWx1ZSBpbiB0aGUgY2VsbF9jaGFuZ2UgZXZlbnQgcHJvdmlkZXMgYSBudW1iZXIgdGhhdCBkb2Vzbid0CgkgIGNvbXBlbnNhdGUgZm9yIGFuZ2xlIGNlbGwgYmxvY2tzLgoKMjAwOS0wMy0yMSAxOTowNDowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTbWFsbCBkZWJ1ZyBvdXRwdXQgY2hhbmdlIGluIHRoZSBzb3VyY2UgZWxlbWVudAoKMjAwOS0wNC0wMSAwMjoyNTo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZGQgc29tZSBkZWJ1ZwoJICBBZGQgYSBsaXR0bGUgYml0IG9mIGV4dHJhIGRlYnVnLiBXcmFwIGEgaGFyZGNvZGVkICNpZiAwIGludG8gYSBkZWZpbmUgaW5zdGVhZC4KCjIwMDktMDQtMDIgMTM6MDU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmVuYzogVW5yZWYgcGVlciBjYXBzIGFmdGVyIHVzYWdlIHRvIGZpeCBhIG1lbW9yeSBsZWFrCgoyMDA5LTA0LTAyIDEyOjQ2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgdW5pdCB0ZXN0cwoKMjAwOS0wNC0wMSAxNTo0NToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IGZpeCBuZWdvdGlhdGlvbiBzbyB0aGF0IHVwc3RyZWFtIGNhbiBhY3R1YWxseSBmaXhhdGUgdG8gZG93bnN0cmVhbSdzIHJhdGUKCSAgSWYgb25lIHNpZGUgaGFzIGEgcHJlZmVyZW5jZSBmb3IgYSBwYXJ0aWN1bGFyIHNhbXBsZSByYXRlIG9yIHNldCBvZiBzYW1wbGUgcmF0ZXMsIHdlCgkgIHNob3VsZCBob25vdXIgdGhpcyBpbiB0aGUgY2FwcyB3ZSBhZHZlcnRpc2UgYW5kIHRyYW5zZm9ybSB0byBhbmQgZnJvbSwgc28gdGhhdCBlbGVtZW50cwoJICBhY3R1YWxseSBrbm93IGFib3V0IHRoZSBvdGhlciBzaWRlJ3Mgc2FtcGxlIHJhdGUgcHJlZmVyZW5jZSBhbmQgY2FuIG5lZ290aWF0ZSB0byBpdAoJICBpZiBzdXBwb3J0ZWQuIEFsc28gYWRkIHVuaXQgdGVzdCBmb3IgdGhpcy4KCjIwMDktMDMtMzEgMTY6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRGVsYXkgbmV3c2VnbWVudCBhcyBsb25nIGFzIHBvc3NpYmxlLgoJICBJZiBuZXdzZWdtZW50IGlzIHNlbnQgKHRvbykgZWFybHksIGNhcHMgbWF5IG5vdCB5ZXQgYmUgZml4ZWQvc2V0LAoJICBhbmQgZG93bnN0cmVhbSBtYXkgbm90IGhhdmUgYmVlbiBsaW5rZWQuCgoyMDA5LTAzLTMwIDIxOjU3OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBmaXggYml0cmF0ZSBwcm9wZXJ0eSBzZXR0aW5ncwoJICBBbGlnbiBiaXRyYXRlIHByb3BlcnR5IGludGVycHJldGF0aW9uIHdpdGggdXN1YWwgbXBlZzJlbmMgYmVoYXZpb3VyLgoJICBGaXhlcyAjNTc1NzM2LgoKMjAwOS0wMy0yNyAyMTozOTowNSArMDAwMCAgQWxhbiBGYWxsb29uIDxhZmFsbG9vbkBsdW1lbmVyYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogbWFrZSAtLWRpc2FibGUtZXh0ZXJuYWwgd29yayBhZ2FpbgoKMjAwOS0wMy0yNyAxOTozNzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIGpwMmtkZWM6IGltcGxlbWVudCBiYXNpYyBRb1MKCSAgRG9uJ3QgdHJ5IHRvIGRlY29kZSBmcmFtZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgbGF0ZSBhbnl3YXkuCgoyMDA5LTAzLTI3IDE3OjQ0OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogYWRkIG9uX25wdF9zdG9wIHNpZ25hbAoJICBBZGQgdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBydHBiaW4gYW5kIHJ0cGppdHRlcmJ1ZmZlciB0byBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIHRoYXQgdGhlIE5QVCBzdG9wIHBvc2l0aW9uIGhhcyBiZWVuIHJlYWNoZWQuCgoyMDA5LTAzLTI3IDExOjIwOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiByZXNldCBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFJlc2V0IHRoZSBsYXN0LWJ1ZmZlciwgdGhlIHBlbmRpbmcgcGFkIGFuZCB0aGUgc2VnbWVudCB3aGVuIGdvaW5nIHRvIHRoZSBSRUFEWQoJICBzdGF0ZS4KCSAgRml4ZXMgIzU3NjcxMi4KCjIwMDktMDMtMjUgMjE6MjQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggcmV1c2luZyBlbGVtZW50CgkgIFN0YXRlIGNoYW5nZSB0byBSRUFEWSBhbmQgdGhlbiBiYWNrIHRvIFBBVVNFRCBzaG91bGQgc3RpbGwgcHJvdmlkZQoJICB0aGUgcHJvcGVyIHN0cnVjdHVyZXMgYXMgYXJlIG90aGVyd2lzZSBmcmVzaGx5IGF2YWlsYWJsZSBmb2xsb3dpbmcKCSAgYSByZXF1ZXN0X25ld19wYWQuCgkgIFBvaW50ZWQgb3V0IGJ5IFRoaWFnbyBTYW50b3MuCgoyMDA5LTAzLTI2IDIwOjI4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBGaXggY29tcGlsYXRpb24gYW5kIGNvbXBpbGVyIGVycm9ycyB3aXRoIEdMaWIgPCAyLjE2LjAKCjIwMDktMDMtMjYgMTQ6MjY6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEZpeCAiY2FzdCB0byBwb2ludGVyIHR5cGUgb2YgZGlmZmVyZW50IHNpemUiIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDMtMjYgMTM6MjQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFJlbmFtZSBmb3Jnb3R0ZW4gZnVuY3Rpb24gdG8gZml4IHVucmVzb2x2ZWQgc3ltYm9scyBlcnJvcgoKMjAwOS0wMy0yNiAxMzoyMDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGY6IFVzZSBteGZfdXtsLHVpZH1faXNfZXF1YWwoKSBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIG1lbWNtcCgpCgoyMDA5LTAzLTI2IDEzOjExOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmOiBEaWZmZXJlbnRpYXRlIGJldHdlZW4gVUwgYW5kIFVVSUQKCjIwMDktMDMtMjYgMTI6NDY6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkqIGdzdC9teGYvbXhmd3JpdGUuaDoKCSAgbXhmOiBTb3VyY2UgZmlsZXMgYW5kICNpbmNsdWRlIGNsZWFudXAKCjIwMDktMDMtMjYgMTI6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBVc2UgR0lPcyBnX2NvbnRlbnRfdHlwZV9ndWVzcygpIGlmIHBvc3NpYmxlCgoyMDA5LTAzLTI2IDExOjUxOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSAgbXhmOiBVc2UgdGhlIFVMIGRhdGFiYXNlIGZvciBzb21lIG1vcmUgVUxzCgoyMDA5LTAzLTI2IDExOjQyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBSZW1vdmUgc29tZSBHTGliIDwgMi4xNCBjb21wYXRpYmlsaXR5IHN0dWZmCgoyMDA5LTAzLTI2IDExOjM3OjI4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtOiBQb3J0IHRvIE1pbkdXCgkgIEZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMTozMzo1MCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJICB4ZGdtaW1lOiBMaW5rIHdpdGggd2luc29jayBsaWJyYXJ5IHRvIGZpeCBidWlsZCB3aXRoIE1pbkdXCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MzI6MDggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgZGNjcDogUG9ydCBEQ0NQIHBsdWdpbiB0byBNaW5HVwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjIzOjMwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGNjcDogRGlzYWJsZSB0aGUgZGNjcCBwbHVnaW4gaWYgbm8gcHRocmVhZCBzdXBwb3J0IGlzIGF2YWlsYWJsZQoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDA4OjEzOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbXhmbXV4JwoKMjAwOS0wMy0yNiAwODoxMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogQ2xlYW51cAoKMjAwOS0wMy0yNiAwODoxMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogRml4IGhhbmRsaW5nIG9mIGJ1ZmZlcnMgd2l0aCBtb3JlIHRoYW4gb25lIGVkaXQgdW5pdCBhbmQgRU9TIGhhbmRsaW5nCgoyMDA5LTAzLTI1IDIzOjA0OjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBsYWRzcGE6IGNvbW1lbnQgc2lnbmFscHJvY2Vzc29yIGNsYXNzIG1vcmUgYW5kIGRvIG1pbm9yIGNvZGUgY2xlYW51cHMKCjIwMDktMDMtMjUgMTI6NDA6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgPj0gMC4xMC4yMi4xIGZvciAldSBwYWQgdGVtcGxhdGUgc3VwcG9ydAoKMjAwOS0wMy0yNCAxNToyMzowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIHNlbGVjdG9yOiBtZXJnZSB0aGUgdGFncwoJICBNZXJnZSB0aGUgdGFncyByZWNlaXZlZCBvbiB0aGUgaW5wdXQtc2VsZWN0b3Igc2lua3BhZHMgaW5zdGVhZCBvZiBvbmx5IGtlZXBpbmcKCSAgdGhlIGxhc3Qgb25lIHdlIHNhdy4KCjIwMDktMDMtMjMgMTk6MzM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIE5FV1M6CgkgIEZpeCB2ZXJzaW9uIG51bWJlciBpbiB0aGUgTkVXUyBmaWxlCgoyMDA5LTAzLTE5IDAxOjE3OjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYnVzeWxvb3Agd2hlbiBzZWVraW5nLiBGaXhlcyAjNTc1Mzg4CgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgYWZ0ZXIgYSBkaXNjb250LCBzZXRfbWluX2ZyYW1lX3NpemUoMTAyNCkgaXMgY2FsbGVkIHdoZW4KCSAgZGV0ZWN0X3N0cmVhbSByZXR1cm5zIEZBTFNFLiBIb3dldmVyLCBkZXRlY3Rfc3RyZWFtIGNhbGxzIGNoZWNrX2FkdHNfZnJhbWUKCSAgd2hpY2ggc2V0cyB0aGUgZnJhbWUgc2l6ZSBvbiBpdHMgb3duIHRvIHNvbWV0aGluZyBsYXJnZXIgdGhhbiAxMDI0LiBUaGlzIGlzIHRoZQoJICBzYW1lIHNpdHVhdGlvbiBhcyBpbiB0aGUgYmVnaW5uaW5nLCBzbyB0aGUgYmFzZSBjbGFzcyBlbmRzIHVwIGNhbGxpbmcKCSAgY2hlY2tfdmFsaWRfZnJhbWUgaW4gYW4gZW5kbGVzcyBsb29wLgoKMjAwOS0wMy0xOSAwMDozMjo0MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVmYWN0b3IgY2hlY2tfdmFsaWRfZnJhbWUgdG8gZXhwb3NlIGJyb2tlbiBjb2RlCgkgIEp1c3QgbW92aW5nIGNvZGUgYXJvdW5kIGFuZCByZW1vdmluZyBhbiB1bmhlbHBmdWwvbWlzbGVhZGluZyBjb21tZW50LgoKMjAwOS0wMy0yMyAxMToxNzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGluY2x1ZGVzIGZvciBsc2VlawoJICAtLQoKMjAwOS0wMy0yMCAxNDoyMDoxNiArMDEwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgd2luMzI6IGZpeCBzZWVraW5nIGluIGxhcmdlIGZpbGVzCgkgIFVzZSBfbHNlZWtpNjQoKSBvbiBXaW5kb3dzIHRvIHNlZWsgaW4gbGFyZ2UgZmlsZXMuCgkgIEZpeGVzICM1NzYwMjEuCgoyMDA5LTAzLTE2IDExOjIxOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCBuZXcgY29ubmVjdGlvbiBtb2RlCgkgIEFkZCBhIG5ldyBjb25uZWN0aW9uIG1vZGUgdG8gamFja3NyYyBhbmQgamFja3NpbmsuIEluIHRoaXMgbmV3IGF1dG8tZm9yY2UKCSAgY29ubmVjdGlvbiBtb2RlIGphY2sgd2lsbCBjcmVhdGUgYXMgbWFueSBwb3J0cyBhcyByZXF1ZXN0ZWQvbmVlZGVkIGluIHRoZQoJICBwaXBlbGluZSBhbmQgd2lsbCB0aGVuIGNvbm5lY3QgYXMgbWFueSBwaHlzaWNhbCBwb3J0cyBhcyBwb3NzaWJsZSwgcG9zc2libHkKCSAgbGVhdmluZyBzb21lIHBvcnRzIHVuY29ubmVjdGVkLgoJICBBbHNvIGdldCByaWQgb2Ygc29tZSBsZWZ0b3ZlciBnX3ByaW50LgoJICBGaXhlcyAjNTc1Mjg0LgoKMjAwOS0wMy0yMyAxNTowNjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIG14ZjogTW92ZSBzb21lIHN0YXRpYyBjb25zdCB2YXJpYWJsZXMgaW50byBmdW5jdGlvbnMKCjIwMDktMDMtMTMgMTk6NDI6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogYnVpbGQgd2l0aCBjZWx0IDAuNS4KCjIwMDktMDMtMjIgMjA6MTQ6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCjIwMDktMDMtMjAgMTU6NTU6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVlbmFibGUgbWV0YWRhdGEgdGVzdAoKMjAwOS0wMy0yMCAxNTozMzozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiByZWVuYWJsZSB0ZXN0CgoyMDA5LTAzLTIwIDE1OjE4OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBtZXRkYXRhOiBtb3JlIGxvZ2dpbmcgYW5kIGNvZGUgY2xlYW51cHMKCSAgU3ByaW5rbGUgbW9yZSBkZWJ1ZyBsb2cgc3RhdGVtZW50cyBpbnRvIHRoZSBjb2RlLiBNb3ZlIHNvbWUgcmVwZWFkZWQgc3RyaW5nCgkgIGNvbnN0YW50IGludG8gaGVhZGVyIGZpbGVzIGFuZCB1c2Ugc2l6ZW9mIGluc3RlYWQgb2YgbWFudWFsbHkgY291bnRlZCBieXRlcy4gQWRkCgkgIGNvbW1lbnRzLgoKMjAwOS0wMy0yMCAxNToxNDowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJICBtZXRhZGF0YTogZml4IG11eGluZyBqZmlmbGVzcyBqcGVnLiBGaXhlcyAjNTc0NDAxCgkgIERvbid0IGVycm9yIG91dCB3aGVuIHRvIGJlIG11eGVkIGpwZWcgaGFzIG5vIGpmaWYsIGFzIHdlIGNhbiBlYXNpbHkKCSAgYWRkIGl0LgoKMjAwOS0wMy0yMCAxNToxMDoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBtZXRhZGF0YTogZml4IGluY2x1ZGUgZ3VhcmRzCgoyMDA5LTAzLTIwIDE1OjA0OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IHJld29yayBkb2MgY29tbWVudAoKMjAwOS0wMy0wOSAyMzo0Mzo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbTogbm8gc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMKCjIwMDktMDMtMjIgMTU6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggZXJyb3IgaGFuZGxpbmcKCjIwMDktMDMtMjIgMTU6NTE6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IEZpeCBzb21lIG1lbW9yeSBsZWFrcywgaW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGhhbmRsZSBlcnJvcnMgYmV0dGVyCgoyMDA5LTAzLTIyIDE1OjM1OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogQWRkIGFuIGVycm9yIHN0YXRlIGZyb20gd2hpY2ggd2UgcmV0dXJuIGltbWVkaWF0ZWx5CgkgIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA5LTAzLTE5IDIwOjQxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdWwuYzoKCSAgbXhmOiBPcHRpbWl6ZSBteGZfdWxfaXNfc3ViY2xhc3MoKSBhIGJpdAoKMjAwOS0wMy0xOSAxNDozMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSAgbXhmOiBTdGFydCBpbXBsZW1lbnRpbmcgYSBjZW50cmFsIFVMIGRhdGFiYXNlIGFuZCBhZGQgc29tZSBoZWxwZXIgZnVuY3Rpb25zIGFuZCB1c2UgdGhlbQoKMjAwOS0wMy0xNyAxNDoyNzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBhIHBpY3R1cmUgaW4gdGhlIGVkaXQgdW5pdHMgd2hlbiBtdXhpbmcgTVBFRzIvTVBFRzQKCjIwMDktMDMtMTcgMTQ6MjM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBSZW1vdmUgYWNjaWRlbnRpYWxseSBjb21taXR0ZWQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoKMjAwOS0wMy0xNiAxNzo0OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyBzdWJzYW1wbGVkIFlVViBmb3JtYXRzCgoyMDA5LTAzLTE2IDE3OjIyOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFVzZSBjb3JyZWN0IHdpZHRoL2hlaWdodCBmb3Igc3RyaWRlIGNvbnZlcnNpb25zCgoyMDA5LTAzLTE2IDE3OjE4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBJbXBsZW1lbnQgc3RyaWRlIHRyYW5zZm9ybWF0aW9ucyBmb3IgcmF3IHZpZGVvIGNvbnRlbnQgZm9yIG11eGluZyBhbmQgZGVtdXhpbmcKCjIwMDktMDMtMTYgMTU6Mzc6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogU2ltcGxpZnkgY2FwcyBzZWxlY3Rpb24gYnkgdXNpbmcgYSBsb29rdXAgdGFibGUKCjIwMDktMDMtMTYgMTI6NDg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZtdXg6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyByYXcgcGljdHVyZSBlc3NlbmNlCgoyMDA5LTAzLTE2IDEyOjE1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogT25seSBhZGQgYW4gZXNzZW5jZSBjb250YWluZXIgVUwgb25jZSB0byB0aGUgcGFydGl0aW9uIGFuZCBwcmVmYWNlCgoyMDA5LTAzLTE2IDEyOjA3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBBWVVWIGFuZCB2MzA4IFlVViBjb2xvcnNwYWNlcwoKMjAwOS0wMy0xNiAxMTowMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBVc2UgdGhlIGNvcnJlY3QgZWRpdCByYXRlIGluc3RlYWQgb2YgZXN0aW1hdGluZyBpdCBmcm9tIHRoZSBmaXJzdCBidWZmZXIgZHVyYXRpb24KCjIwMDktMDMtMTUgMTU6Mjc6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRXJyb3Igb3V0IGRpcmVjdGx5IGlmIHB1c2hpbmcgYSBwYWNrZXQgZG93bnN0cmVhbSBmYWlsZWQKCjIwMDktMDMtMTUgMTU6Mjc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgRFYvRElGIG11eGluZyBhbmQgYWRkIGZyYW1lcmF0ZSwgZXRjIHRvIHRoZSBjYXBzIHdoZW4gZGVtdXhpbmcgRFYvRElGIGNvbnRlbnQKCjIwMDktMDMtMTUgMTU6Mjc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgc29tZSBkZWJ1Z2dpbmcgYW5kIGVycm9yIG91dCBvbiBpbnZhbGlkIGlucHV0IGRhdGEKCjIwMDktMDMtMTQgMTk6NTk6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wMy0xMSAxOTozODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUcgYXVkaW8gYW5kIHZpZGVvCgoyMDA5LTAzLTExIDE5OjM4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogVXNlIGNvcnJlY3QgY2FwcyB0eXBlIGZvciBBQzMgYXVkaW8gKGF1ZGlvL3gtYWMzIGluc3RlYWQgb2YgYXVkaW8vYWMzKQoKMjAwOS0wMy0xMSAxOTozNDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBKUEVHMjAwMCBjb2RlIHN0cmVhbXMKCjIwMDktMDMtMTEgMTk6MzM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIFZDLTMgKGFrYSBETnhIRCkgdmlkZW8KCjIwMDktMDMtMTEgMTk6MzM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBBLUxhdyBhdWRpbwoKMjAwOS0wMy0xMSAxOTozMzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBhdWRpbwoKMjAwOS0wMy0xMSAxOTozMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkqIGdzdC9teGYvbXhmd3JpdGUuaDoKCSAgbXhmOiBBZGQgTVhGIG11eGVyCgkgIFRoaXMgbXV4ZXIgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgT1AxYSBhbmQgaXMKCSAgcHJvYmFibHkgbm90IHlldCAxMDAlIGNvbXBseWluZyB0byB0aGUgc3RhbmRhcmRzLgoKMjAwOS0wMy0xMSAxOTozMDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogQWRkIHdpZHRoL2hlaWdodC9mb3VyY2MgdG8gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgo9PT0gcmVsZWFzZSAwLjEwLjExID09PQoKMjAwOS0wMy0yMSAwMTowOTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTEKCjIwMDktMDMtMjAgMjM6Mzc6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAzLTIwIDIzOjMxOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWM6IEFkZCBwYXJfbiBhbmQgcGFyX2QgdG8gdGhlIG9iamVjdCBzdHJ1Y3R1cmUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDA5LTAzLTE4IDEyOjMyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC42LjUgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTggMTA6MzU6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRml4IGJ1aWxkIG9uIEdMaWIgPCAyLjE2IHNvbWUgbW9yZQoKMjAwOS0wMy0xOCAwMDowMjo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTYgMTc6Mjk6MTYgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBSZXBsYWNlIGdfaGFzaF90YWJsZV9nZXRfdmFsdWVzIHdpdGggY29kZSB3b3JraW5nIHdpdGggZ2xpYiAyLjYuCgkgIEZpeGVzICM1NzU1NjUKCjIwMDktMDMtMTMgMTY6MzE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTMgMTY6MTY6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2ZpLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcHRfQlIucG86CgkgIHBvOiBVcGRhdGUgcG8gZmlsZXMgZnJvbSB1cHN0cmVhbQoKMjAwOS0wMy0xMyAxNjowODowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vdHIucG86CgkgIHBvOiBBZGQgVHVya2lzaCB0cmFuc2xhdGlvbgoKMjAwOS0wMy0xMiAyMzo1NDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IG1ha2UgeGRnIHR5cGVmaW5kZXIgbW9yZSBjb25zZXJ2YXRpdmUKCSAgVGhlIHdob2xlIHJhaXNvbiBkJ2V0cmUgb2YgdGhpcyB0eXBlZmluZGVyIGlzIHRvIGhlbHAgYXZvaWQgZmFsc2UKCSAgcG9zaXRpdmVzIHdoZW4gdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIG91ciBtYWluIHR5cGVmaW5kZXIgaW4KCSAgLWJhc2UuIEl0cyB0YXNrIGlzIG5vdCByZWFsbHkgdG8gdHlwZWZpbmQgYXVkaW8vdmlkZW8gZmlsZXMsIGV2ZW4KCSAgbGVzcyBzbyBnaXZlbiB0aGF0IGl0IGRldGVjdHMgKk1JTUUqIHR5cGVzLCBub3QgR1N0cmVhbWVyIG1lZGlhCgkgIHR5cGVzLiBUaGVyZWZvcmUsIGlmIHRoaXMgdHlwZWZpbmRlciBkZXRlY3RzIGFuIGF1ZGlvIG9yIHZpZGVvCgkgIHR5cGUsIGRvbid0IGV2ZW4gc3VnZ2VzdCBpdCAtIG91ciBvd24gdHlwZWZpbmRlcnMgYXJlIGhvcGVmdWxseQoJICBiZXR0ZXIgYXQgdGhpcyBhbmQgZGV0ZWN0IHRoZSByaWdodCB0eXBlIG9mIHR5cGUgb24gdG9wIG9mIHRoYXQsCgkgIGFuZCBldmVuIGlmIHRoZXkncmUgbm90IHdlIHJlYWxseSB3YW50IHRvIGtub3cgYWJvdXQgaXQgYW5kIGZpeAoJICBpdC4gRml4ZXMgIzU3NTE1Ny4KCjIwMDktMDMtMTMgMTU6NTk6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgcmV0dXJuIEZBTFNFIG9uIHNlZWsgZXZlbnRzCgkgIFNpbGVudGx5IGlnbm9yZSB0aGUgc2VlayBldmVudCBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRS4KCjIwMDktMDMtMTMgMTA6MDc6MTggKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiB3b3JrYXJvdW5kIHRvIGZpeCBwbGF5YmFjayBvZiBjZXJ0YWluIG1hbGZvcm1lZCBjbGlwcwoJICBBZGRlZCBhIHdvcmthcnJvdW5kIHRvIHBlcm1pdCBwbGF5IGNlcnRhaW4gbWFsZm9ybWVkIGNsaXBzIHdoZXJlIGZpcnN0CgkgIFNDUiBpcyBncmVhdGVyIHRoYW4gbGFzdCBTQ1IuIEZpeGVzIGJ1ZyAjNDU0MjI4CgoyMDA5LTAzLTEyIDIwOjEzOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEaXNhYmxpbmcgbWV0YWRhdGEgdW5pdCB0ZXN0IHVudGlsICM1NzQ0MDEgaXMgZml4ZWQuCgoyMDA5LTAzLTEyIDE3OjUzOjM3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHNvbWUgbW9yZSBwbHVnaW5zIHRoZSBzcGVjIGZpbGUKCjIwMDktMDMtMTEgMTM6MDQ6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IHBsdWdpbnMKCjIwMDktMDMtMTAgMTU6MTI6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGluY2x1ZGUgc3RkbGliLmggZm9yIGFicygpCgoyMDA5LTAzLTEwIDIxOjE4OjIwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeGVkIGEgYnVnIGluIHRoZSBUUyBzY2FubmVyLiBGaXhlcyAjNTc0MDA5CgoyMDA5LTAzLTEwIDAwOjIyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTAuMiBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xMCAwMDoxMDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBNb3ZlZCB0d29sYW1lIGZyb20gQmFkIHRvIFVnbHkKCjIwMDktMDMtMDkgMjM6MTM6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzAzMjE2MyB0byBmOGIzZDkxCgoyMDA5LTAzLTA4IDEyOjA1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmZhNzM4ZCB0byA3MDMyMTYzCgoyMDA5LTAzLTA4IDExOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2YxM2U0ZSB0byBmZmE3MzhkCgoyMDA5LTAzLTA3IDExOjQ2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2M3NDU2YiB0byAzZjEzZTRlCgoyMDA5LTAzLTA3IDEwOjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODNmMiB0byAzYzc0NTZiCgoyMDA5LTAzLTA2IDIyOjM2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNYWtlIHRoZSB0ZXN0cyBwYXNzIHdoZW4gdGhlIGNhbWVyYWJpbiBjYW4ndCBpbml0aWFsaXNlLgoJICBUaGUgY2FtZXJhYmluIHRlc3RzIHdlcmUgdGhyb3dpbmcgZ2xpYiBlcnJvcnMgYW5kIGhhbmdpbmcgd2hlbgoJICBnc3QtcGx1Z2lucy1nb29kIGVsZW1lbnRzIChqcGVnZW5jLCB2aWRlb2Nyb3ApIGNhbid0IGZvdW5kLgoKMjAwOS0wMy0wNiAyMToxNDo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbWlzYzogSWdub3JlIHRoZSBjYW1lcmFiaW4gYmluYXJ5IGluIHRoZSBjaGVjay9lbGVtZW50cyBzdWJkaXIKCjIwMDktMDMtMDYgMTk6MjI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogUGFydGx5IGZpeCBkaXN0Y2hlY2sKCSAgRG9uJ3QgZGlzdCB0aGUgZ2VuZXJhdGVkIG1hcnNoYWwuaCBoZWFkZXIgYnkgcHV0dGluZyBpdCBpbiB0aGUgaGVhZGVycwoJICBsaXN0LgoKMjAwOS0wMy0wNyAwMDoyMDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBjaGFuZ2UgJ3EnIGJhY2sgdG8gJ2pwZWdlbmMnIChteSBrZXlib2FyZCBoYXRlcyBtZSkKCjIwMDktMDMtMDYgMjM6MzQ6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogY2xlYW51cCwgZml4IHRoZSB0ZXN0LCBhZGQgY29tbWVudHMKCSAgRmlyc3QgZG8gbm90IGJ1aWxkIHRoZSBwbHVnaW4sIGlmIHdlIGhhdmUgbm9uZSBvZiB0aGUgYmFja2VuZCwgYXMgaXQgd29uJ3Qgd29yawoJICB0aGVuLiBGaXggdGhlIG1pbmlvYmplY3RfdW5yZWYgZXJyb3IgaW4gdGhlIHRlc3QuIFNwcmlua2xlIGEgZmlyc3QgaGFuZGZ1bCBvZgoJICBkZWJ1ZyBsb2dzIGludG8gdGhlIGVsZW1lbnQgY29kZS4KCjIwMDktMDMtMDYgMjA6MDI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IEZpeCBtZW1vcnkgbGVhayBpbiB0aGUgdW5pdCB0ZXN0IGJ5IHVucmVmZmluZyB0aGUgY2FwcwoKMjAwOS0wMy0wNiAxNzo0NjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFN0b3JlIGFuZCB1c2UgdGhlIHNlcW51bSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgc2VnbWVudCBldmVyeXdoZXJlCgoyMDA5LTAzLTA2IDE3OjI0OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBEb24ndCBldmVuIHRyeSB0byBzZXJpYWxpemUgRE0gZnJhbWV3b3JrcyBhcyBpdCB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiB1bnRpbCB0aGlzIGlzIGZpbmlzaGVkCgoyMDA5LTAzLTA2IDEyOjQyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVc2UgdGhlIHB1YmxpYyBoZWFkZXJzIGlmIGZhYWQyID49IDIuNy4gRml4ZXMgIzU3MzM2OQoJICBTaW5jZSBmYWFkMi0yLjcsIHRoZSBwdWJsaWMgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgaW4gc3luYyB3aXRoIHRoZQoJICBhY3R1YWwgZnVuY3Rpb24gcHJvdG90eXBlcyB1c2VkIGludGVybmFsbHkgaW4gbGliZmFhZC4KCjIwMDktMDMtMDYgMTE6MDg6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGZpeCBjb21waWxhdGlvbiB3aGVuIExSREYgaXMgbWlzc2luZwoJICAtLQoKMjAwOS0wMy0wNSAyMjo1NToxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IHJlbW92ZSAtbGRsIGFzIHdlIG5vdyB1c2UgZ2xpYnMgZ21vZHVsZS4KCjIwMDktMDMtMDUgMjI6Mzc6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBhZGQgaW5pdGlhbCBsaWJscmRmIHN1cHBvcnQuCgkgIEdldCBjbGFzc2lmaWNhdGlvbiBmcm9tIHJkZiBtZXRhZGF0YS4KCjIwMDktMDMtMDUgMjI6MDQ6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGZpeCByZXF1aXJlZCB2ZXJzaW9uCgkgIFdpdGggdGhpcyB2ZXJzaW9uIGl0IGJ1aWxkcyBvbiBvcGVuc3VzZSAxMS4xLgoKMjAwOS0wMy0wNSAxNDo0MDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRG9uJ3QgdXNlIE5VTEwgR3N0U3RydWN0dXJlcyB0byBwcmV2ZW50IHdhcm5pbmdzCgkgIEN1cnJlbnRseSBzZXJpYWxpemluZyBvZiBETSBGcmFtZXdvcmtzIGlzIG5vdCBzdXBwb3J0ZWQKCSAgeWV0IGJ5IERNUzEgYW5kIHdpbGwgZ2l2ZSB1cyBOVUxMLgoKMjAwOS0wMy0wNCAyMTozMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgcGhvdG9ncmFwaHk6IGRlY2xhcmUgaW50ZXJmYWNlIGFzIHVuc3RhYmxlIEFQSSBieSBtZWFucyBvZiBhIHdhcm5pbmcKCSAgQXBwbGljYXRpb24gZGV2ZWxvcGVycyB3b24ndCBrbm93IHJpZ2h0IGF3YXkgd2hpY2ggbW9kdWxlIGFuIGludGVyZmFjZSBjb21lcyBmcm9tLAoJICBhbmQgbWF5IGFzc3VtZSB0aGF0IGl0IGlzIGNvdmVyZWQgYnkgdGhlIHVzdWFsIEdTdHJlYW1lciBBUEkgZ3VhcmFudGVlcywgc28gbWFrZQoJICBpdCBhcyBjbGVhciBhcyBwb3NzaWJsZSB0aGF0IHRoaXMgcGFydGljdWxhciBBUEkgaXMgc3RpbGwgc3ViamVjdCB0byBjaGFuZ2UKCSAgKHNob3VsZCBoYXZlIGRvbmUgdGhhdCB3aXRoIG90aGVyIGxpYnJhcmllcyBpbiAtYmFkIGJlZm9yZSB0b28gcmVhbGx5KS4KCjIwMDktMDMtMDQgMjA6Mzc6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRldGVjdCBmYWFkJ3MgbWlub3IgdmVyc2lvbiBhbmQgZGVmaW5lIEZBQUQyX01JTk9SX1ZFUlNJT04gaW4gY29uZmlnLmgKCjIwMDktMDMtMDQgMTY6NDY6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgdmFsdmU6IHJlbmFtZSBwbHVnaW4gZmlsZSBmcm9tIGxpYmZzdmFsdmUuKiB0byBsaWJnc3R2YWx2ZS4qCgkgIElmIHlvdSdyZSBydW5uaW5nIHRoaW5ncyB1bmluc3RhbGxlZCwgeW91IG1pZ2h0IG5lZWQgdG8gbWFudWFsbHkKCSAgcmVtb3ZlIHRoZSByZWdpc3RyeSB0byBnZXQgdGhlIHBsdWdpbidzIGZlYXR1cmVzIHRvIHNob3cgdXAKCSAgY29ycmVjdGx5LiBBbHNvLCB5b3UgcHJvYmFibHkgd2FudCB0byBkbyBhIG1ha2UgY2xlYW4gdG8gZ2V0IHJpZAoJICBvZiB0aGUgb2xkIHBsdWdpbiBmaWxlLgoKMjAwOS0wMy0wNCAxOTo1MDoxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgZ3NyZWFsOiBicmluZyBkb3duIHRoZSByYW5rIG9mIHRoZSByZWFsIGRlY29kZXJzIHRvIE1BUkdJTkFMLgoJICBCYXNpY2FsbHksIGF0IHRoaXMgcG9pbnQsIHRoZSBmZm1wZWcgZXF1aXZhbGVudCBkZWNvZGVycyBwZXJmb3JtIHdheQoJICBiZXR0ZXIsIHNvIHdlJ2xsIG1ha2UgdGhlIGZmbXBlZyBlcXVpdmFsZW50cyBQUklNQVJZIGFuZCB0aGVzZQoJICBNQVJHSU5BTC4KCjIwMDktMDMtMDQgMTg6NDI6MTUgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IG1ha2Ugc29tZSBkb2NzIHVwIHRvIGRhdGUKCjIwMDktMDMtMDQgMTg6MTY6MzEgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHJlc2V0IHN5bmNfbHV0X2xlbiB0byAwIG9uIFJFQURZIHRvIE5VTEwKCjIwMDktMDMtMDQgMTU6MzA6MDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wMy0wNCAxNToyODo0NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogYWRkIGZpZ3VyZXMgc3ViZGlyZWN0b3J5IHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiBhZGQgbXhmIHN1YmRpcmVjdG9yeSBnc3QtcGx1Z2lucy5zcGVjLmluOiBhZGQgbmV3IHBsdWdpbnMKCjIwMDktMDMtMDQgMTY6MTU6NTcgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBnc3QtcGx1Z2lucy1iYWQuc3VwcCBuZWVkcyB0byBiZSBkaXN0cmlidXRlZC4KCjIwMDktMDMtMDQgMTU6MDU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBhZGQgTElCRElSL2xhZHNwYSB0byBzZWFyY2ggcGF0aCBhbmQgbWFrZSBwYXRoIG1vcmUgcG9ydGFibGUKCSAgVXNlIGdsaWIgZGVmaW5lcyBmb3Igc2VhcmNocGF0aCBzZXBhcmF0b3JzLiBGaWx0ZXIgc2VhcmNocGF0aCB0byBhdm9pZCBzY2FubmluZwoJICBwYXRoIGVudHJpZXMgdHdpY2UuIEZpeCB0aGUgcmV0dXJuIGluIGxhZHNwYV9wbHVnaW5fZGlyZWN0b3J5X3NlYXJjaCB0byByZXR1cm4KCSAgd2hldGVyIHdlIGZvdW5kIGEgcGx1Z2luLgoKMjAwOS0wMy0wNCAxNDozNDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9sb2FkLmM6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgbGFkc3BhOiByZXdyaXRlIHRoZSBkaXJlY3Rvcnkgc2Nhbm5pbmcsIGZpeGVzIGZpcnN0IHBhcnQgb2YgIzU3MzM3MAoJICBNb3ZlIHRoZSB0d28gZnVuY3Rpb24gZnJvbSBzZWFyY2guYyBpbnRvIGdzdGxhZHNwYS5jIGFuZCBtYWtlIHRoZW0gc3RhdGljLgoJICBSZW1vdmUgbm9uIG5lZWRlZCBhcmd1bWVudHMgZnJvbSBmdW5jdGlvbiBwcm90b3R5cGVzLiBVc2UgZ2xpYiBhcGkgZm9yCgkgIHNpbXBsaWNpdHkgYW5kIHBvcnRhYmlsaXR5LgoKMjAwOS0wMy0wNCAxMToxNDoxOCArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIGdpbnQ4IGluc3RlYWQgb2YgaW50OF90CgkgIFVzZSBnaW50OCBpbnN0ZWFkIG9mIGludDhfdCB0byBmaXggY29tcGlsYXRpb24uCgkgIEZpeGVzICM1NzM4NTEuCgoyMDA5LTAzLTA0IDExOjA3OjUyICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBVc2UgR19CWVRFX09SREVSIHRvIGZpeCBXaW5kb3dzIGNvbXBpbGUKCSAgZ3N0Z3NtZGVjIHJlbGllcyBvbiBCWVRFX09SREVSLCB3aGljaCBpcyBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MuIFVzZQoJICBHX0JZVEVfT1JERVIgaW5zdGVhZC4KCSAgRml4ZXMgIzU3Mzg1MC4KCjIwMDktMDMtMDMgMTQ6MzA6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIEFkZCBEb2MgZm9yIG1pbWljIHBsdWdpbgoKMjAwOS0wMy0wMyAxNDowMzozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBNb3ZlIG1pbWljIHRvIC1iYWQKCjIwMDktMDMtMDMgMTQ6MjA6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFJlLWluZGVudCB0byBHU1Qgc3R5bGUKCjIwMDgtMDctMjUgMjI6NDc6MjYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IG91dHB1dCBhIG5ld3NlZ21lbnQgaWYgdGhlIGluY29taW5nIG5ld3NlZ21lbnQgaXNudCBhIHRpbWUgc2VnbWVudAoJICAyMDA4MDcyNTIyNDcyNi0zZTJkYy1mODJiOTkzYzBmYmZlOGJkNDg3ZDJmMTk2MmZlYzFkMGI2NTY0ZWJjLmd6CgoyMDA4LTA3LTI1IDIyOjI2OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBtZW1iZXIgdmFyaWFibGVzCgkgIDIwMDgwNzI1MjIyNjQ4LTNlMmRjLTI0NjQ5NzgyYTM5NDYyYzdjM2ZlZjlkNjI3MGIzZGI0YzRhY2UxYmIuZ3oKCjIwMDgtMDctMjUgMjI6MjQ6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBvdXQgdGhlIHJpZ2h0IHNlZ21lbnQgYW5kIHVzZSBzdG9yZWQgdGltZXN0YW1wcyBkaXJlY3RseQoJICAyMDA4MDcyNTIyMjQ0OC0zZTJkYy1lMTE5YmYwOWVkZTFjZjE4NzU4MWQ1OTE3NmM4YjM1YmFmYjczMWFlLmd6CgoyMDA4LTA3LTI1IDE5OjQ4OjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNraXAgbm9uLWtleWZyYW1lcyBiZWZvcmUgd2UgZ2V0IGEga2V5ZnJhbWUKCSAgMjAwODA3MjUxOTQ4MzMtM2UyZGMtNTgzZGY1N2M4ZWJjZTRiMTQ5YTAxNzY4ZWQ3ZDM3MzcxMzZhMjA4Zi5negoKMjAwOC0wNy0yNSAxOTozMzo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJZ25vcmUgdXBzdHJlYW0gbmV3c2VnbWVudCBldmVudHMgaW4gbWltZGVjCgkgIDIwMDgwNzI1MTkzMzU4LTNlMmRjLTdjMGYyMjM4NmUwMjA4YTQ1ZWFlOWMxZDdlYjYyZTg2ZjYxZDE0YmEuZ3oKCjIwMDgtMDctMjUgMTk6MjU6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW1pdCB0aGUgcmlnaHQgdGltZXN0YW1wIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50CgkgIDIwMDgwNzI1MTkyNTMwLTNlMmRjLWEzY2MwY2U3M2ZjYTE4MWNhZWUzMjNkNjk5ZDg1NzZkZjkxNmU4ZDMuZ3oKCjIwMDgtMDctMjUgMTk6MDg6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdmlkZW8veC1taW1pYyBhcyB0aGUgY2FwcyB0eXBlCgkgIDIwMDgwNzI1MTkwODQ5LTNlMmRjLTM4ZTRhY2M5ZDRhZDgyMzFlZDIyZjZjYzRkN2Q4YzJhOGI1NjY4ZTkuZ3oKCjIwMDgtMDctMDQgMjI6MDc6MTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcHJvcGVyIGxvY2tpbmcgdG8gbWltZW5jCgkgIDIwMDgwNzA0MjIwNzEzLTNlMmRjLTZhMjJkMWE0MjM3MTZlOGI4NGJjM2JkYTk5ODZhMWI0ZmYwYzBkMzcuZ3oKCjIwMDgtMDctMDQgMjI6MDM6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgaW1wbGVtZW50YXRpb24gb2YgZ2V0Y2FwcyBmcm9tIG1pbWRlYwoJICAyMDA4MDcwNDIyMDMxOC0zZTJkYy1kODFiYzU5YjIzMDhjNWFkMGQzMTQ0MDMwYzU2NTAyOTVlOTlmM2M2Lmd6CgoyMDA4LTA3LTA0IDIyOjAyOjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHByb3BlciBsb2NraW5nIHRvIG1pbWRlYwoJICAyMDA4MDcwNDIyMDI0My0zZTJkYy03MWMxNTdkODI5OTlkZmI0MWJkNjJiNDA2NGIxODg3YWIyMmU4NGMxLmd6CgoyMDA4LTA3LTA0IDIxOjU5OjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBsZWFrCgkgIDIwMDgwNzA0MjE1OTM2LTNlMmRjLTIyZDk5MmY5OGM5OTMxZjA2MjY2MmZjMDVmMWNlNjViYzk3ZjYxOWEuZ3oKCjIwMDgtMDctMDQgMjE6NTU6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgdGhlIGdzdCB0aW1lc3RhbXAgaWYgdGhlIHRpbWUgZGlmZmVyZW50IGlzIHRvbyBsYXJnZQoJICAyMDA4MDcwNDIxNTU1MC0zZTJkYy03NmViM2Y2MDBmMmI5NzdlOTE2ZjdlMWY2NTQ1MjlkZGFmZjA2YWM5Lmd6CgoyMDA4LTA3LTA0IDIxOjUyOjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGZpcnN0IGJ1ZmZlciBhcyB0aGUgYmFzZQoJICAyMDA4MDcwNDIxNTIwOC0zZTJkYy01ODIyNzcxZjI2OTRkZWRhNGE3Y2Q1Y2RkM2MzOGFiOWVmZjdmYTJkLmd6CgoyMDA4LTA3LTA0IDIxOjQ5OjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN0b3JlIHRoZSB0aW1lc3RhbXAgaW4gdGhlIGhlYWRlcgoJICAyMDA4MDcwNDIxNDkzNS0zZTJkYy05MGVjNzNkZjMyMjViNDFiYWE2ODFhYjY5MWZiOGJkNDdlMTdjNzgwLmd6CgoyMDA4LTA3LTA0IDIxOjE5OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlLWluZGVudCBtaW1kZWMKCSAgMjAwODA3MDQyMTE5NDMtM2UyZGMtZGVmMWUwZGFjYzRhNDVmZTJiNGFmZGNiOTAzYTEzMjhjOTUxMTdhYy5negoKMjAwOC0wNy0wNCAyMToxNToxMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTaW1wbGlmeSBuZXdzZWdtZW50IGNvZGUKCSAgMjAwODA3MDQyMTE1MTEtM2UyZGMtYjk4ZDFlNWIzMWMyM2ViNzkxMjE5N2Y5MzY0YTMxNTYwZDA5MmM2My5negoKMjAwOC0wNy0wNCAyMDo1MDoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IG1pbWljIHBsdWdpbnMgdG8gR1NUX0JPSUxFUlBMQVRFCgkgIDIwMDgwNzA0MjA1MDEwLTNlMmRjLWRhNDFlNTY4NWFiOWNlYjY3NTU1ZDQ5OTEyNTQzMmNkMTJkNTUwNWQuZ3oKCjIwMDgtMDctMDQgMjA6NDE6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGluIG1pbWljIHBsdWdpbgoJICAyMDA4MDcwNDIwNDExMi0zZTJkYy0xYWI0YjkxM2Q1OGZhYTA1ODc0MmIwMWUwODNmN2RlYmQ2ODc3YmIzLmd6CgoyMDA4LTA3LTA0IDIwOjI5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvbmZsaWN0cwoJICAyMDA4MDcwNDIwMjk0MS0zZTJkYy03ZjVhMzg4NDViNzk3ZTEyZDY3MjU1MTQ2NmU2MzVkNDg0Y2I2NzYzLmd6CgoyMDA3LTExLTEwIDA1OjE3OjE3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBtaW1pYyBlbmMgY2hhaW4gZnVuY3Rpb24sIHJldHVybiByZXMgZm9yIGNoYWluKCksIGdldCB0aGUgcGFyZW50IGVsZW1lbnQgd2l0aCB0aGUgcHJvcGVyIGFjY2Vzc29yIGZ1bmN0aW9uLCB1c2UgdGhlIF9PQkpFQ1QgZGVidWdnaW5nIG1hY3JvcwoJICAyMDA3MTExMDA1MTcxNy0zZTJkYy00NzI2ZmNkMTljYzNkMTEyMWE0ZTEzMjc2YTQxZjVmODZkYzFjOWIxLmd6CgoyMDA3LTExLTEwIDA1OjE0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIF9zZXRfY2FwcyBmdW5jdGlvbiBvZiBtaW1pYyBlbmMgbW9yZSByb2J1c3QKCSAgMjAwNzExMTAwNTE0MjctM2UyZGMtMzgxYTcxZjJjYmZkYmY1MDhlOTQxYjY3MmU5MDU4YzgyZmFiY2UyNC5negoKMjAwNy0xMS0xMCAwNToxNDowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdGhlIGdzdCAwLjkuMSBpZmRlZgoJICAyMDA3MTExMDA1MTQwMS0zZTJkYy0xZjA3MWQ3MzJkNjQ1NzM4ODk5Nzc0MDU5OTU2OTJkOTRiMTBhMGQ2Lmd6CgoyMDA3LTExLTEwIDA1OjEwOjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgY2FwcyBnc3QgMC4xMCBjb21wbGlhbnQKCSAgMjAwNzExMTAwNTEwMzUtM2UyZGMtZjcwMjRiZDNlY2ZiNjc5NGZlOGQwOWRjYjEwMGJhMGI0NzgzZGY1ZC5negoKMjAwNy0xMS0xMCAwNTowOTo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgaW5zdGVhZCBvZiByZWZmaW5nIHRoZSBwYXJlbnQgY2xhc3MgZGlyZWN0bHkKCSAgMjAwNzExMTAwNTA5NTAtM2UyZGMtNmQxNGRkZDZhZTNjZWVlYWE0ZTY0MWI3YjA5NjEzZTQ0MjkyN2Y5Mi5negoKMjAwNy0xMS0xMCAwNTowODo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZnJhbWVzaXplIHByb3BlcnRpZXMgb24gdGhlIG1pbWljIGVuY29kZXIKCSAgMjAwNzExMTAwNTA4NTItM2UyZGMtY2I4MTY1YzA3M2JmYTk4MTc5MGRjOTE2OTNmZDFjNDgzZWE3YjZlYS5negoKMjAwNy0xMS0xMCAwNTowNzo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdGhlIF9PQkpFQ1QgZGVidWcgbWFjcm9zCgkgIDIwMDcxMTEwMDUwNzUzLTNlMmRjLTU2MGQyMmE4NmVlYTExMDhmMTc0NmQwMTIzNzQ0ZDMzODEyZTk0YzkuZ3oKCjIwMDctMTEtMTAgMDU6MDM6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBpbnN0ZWFkIG9mIGxvb2tpbmcgaW50byB0aGUgR3N0T2JqZWN0IGRpcmVjdGx5CgkgIDIwMDcxMTEwMDUwMzUxLTNlMmRjLTYzNmY3ZDc3Mzc0OTRmODEwMDQ3YThlZTY5MjdjZGUwNjBiYjRiNGIuZ3oKCjIwMDctMTEtMTAgMDU6MDI6MzIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV0dXJuIGJhY2sgcmVzdWx0IG9mIHBhZCBwdXNoCgkgIDIwMDcxMTEwMDUwMjMyLTNlMmRjLTRhMDgwZDk3OTYzY2Q4YWI2ZDUyOGM0MDEyZDE0MzUzYzFjZmU5N2IuZ3oKCjIwMDctMTEtMTAgMDQ6MTE6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbGUncyBwb3J0IHRvIGdzdCAwLjEwCgkgIDIwMDcxMTEwMDQxMTI1LTNlMmRjLWUyOTk0YzNiYmUxNTc4ZDk4ZTRmNzA3YmQxMGYyNGZhYmY5NDJjMmIuZ3oKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0wMi0xMSAyMjoyNDozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbWl0IHRpbWVzdGFtcCBkaWZmIGluIGNhc2Ugb2YgYSBqdW1wIGluIHRoZSB0aW1lc3RhbXBzCgkgIDIwMDgwMjExMjIyNDMxLTRmMGY2LTcyNmZjNjY0MDMwODE1MzMzNzFmNzc1OTU0YWFiNGM3YjhmZGM2NDMuZ3oKCjIwMDgtMDItMDYgMDM6MTY6NTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGJhY2sgdG8gMzAgZnBzIGluIGNhcHMKCSAgMjAwODAyMDYwMzE2NTQtNGYwZjYtZDgxOTdlNTM4ODg5MDY4MDUwNDFlNjU1MmMwZGQ3NzRjNTVlOWU4OS5negoKMjAwOC0wMi0wNiAwMzowOTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdGltZXN0YW1wcyBpbiBnc3QgYnVmZmVycyBzZW50IGJ5IGdzdG1pbWljCgkgIDIwMDgwMjA2MDMwOTQ3LTRmMGY2LTlkYzdkOWIxYTkyYTcxN2M3MWIxZTQ5MGE1NTkxZjBlMmZmZTBkYWQuZ3oKCjIwMDgtMDItMDYgMDI6MDM6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggZnJhbWVyYXRlIHR5cGUgaW4gY2FwcyBmb3IgZ3N0bWltaWMgZWxlbWVudAoJICAyMDA4MDIwNjAyMDMzNS00ZjBmNi0wZDllMTM2MDM5YWQ2YjdiODQ5ODJiZGFjMjQyYTA1OWQ1MGZiYjY2Lmd6CgoyMDA2LTAzLTI0IDIwOjE2OjE5ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVkIGNvdXBsZSBvZiBjb21waWxhdGlvbiBpc3N1ZXMKCSAgMjAwNjAzMjQyMDE2MTktMjQyNWItYmYzMzk5MjZmNTMzYWE0ZWZlY2U4NTVmYmJlOTRlNTljN2JiOTU1Zi5negoKMjAwNi0wMy0yNCAxOTo1NzoyMCArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxscyB0byBnc3RfcGFkX2dldF9wYXJlbnQgcmVmIHRoZSBvYmplY3Qgc28gaXQgbmVlZHMgdG8gYmUgdW5yZWZmZWQgPCBoZXhhMDBAZ21haWwuY29tCgkgIDIwMDYwMzI0MTk1NzIwLTI0MjViLTE3OTI4YmUzNGVlNjdmNzFlZmJhZjYyZGU3NmRlYmE5YWQxM2YwZjIuZ3oKCjIwMDYtMDItMTQgMjE6MDA6MjcgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VwYXJhdGVkIEVSUk9SX0NGTEFHUyBmcm9tIEdTVF9DRkxBR1MKCSAgMjAwNjAyMTQyMTAwMjctMjQyNWItMWY5ZTZlZDU5MWMwOGU1OTA3ZDAyZWY3ZWE5YThjZjYyYmYyOTg0MC5negoKMjAwNS0xMC0yNCAxNTozNzo0OCArMDAwMCAgUGhpbGlwcGUgS2hhbGFmIDxidXJnZXIgYXQgc3BlZWR5IGRvdCBvcmc+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTaG91bGQgbm90IGJlIGRvbmUgaW4gZGlzcG9zZSwgbW92aW5nIHRvIGZpbmFsaXplCgkgIDIwMDUxMDI0MTUzNzQ4LTA1NDU5LTk2MjVmZWMwNTU0N2M1MzViZjVmM2M2NmFlYmJhODQ4NjFiNTQ5YWEuZ3oKCjIwMDUtMDctMTYgMTk6NTA6MjEgKzAwMDAgIFBoaWxpcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy8uZ2l0LWRhcmNzLWRpcjoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wb3J0IGZyb20gQ1ZTIHRvIGRhcmNzCgoyMDA5LTAzLTAzIDE0OjMyOjM4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBydHBtdXg6IElnbm9yZSBydHBtdXggZ2V0X3R5cGUgZnVuY3Rpb24gZm9yIGRvY3MKCjIwMDktMDMtMDMgMTk6MDg6MjggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBtZW1sZWFrCgkgIEZpeCBtZW1sZWFrIGluIG1wZWd0c19wYWNrZXRpemVyX2NsZWFyIHdoZXJlIE1wZWdUU1BhY2tldGl6ZXJTdHJlYW0gaXMKCSAgbm90IGZyZWVkIHByb3Blcmx5IHdoZW4gdXNpbmcgZm9yZWFjaF9zdHJlYW1fY2xlYXIgZnVuY3Rpb24uCgoyMDA5LTAzLTAzIDE4OjI4OjEwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGR5bmFtaWNhbGx5IGFkanVzdCB0aGUgc3luYyBMVVQgdGFibGUKCSAgTWFrZSB0aGUgc3luYyBMVVQgdGFibGUgYWRqdXN0ZWQgZHluYW1pY2FsbHkgYWNjb3JkaW5nIHRvIHRoZSBzaXplCgkgIG9mIHNjYW5uZWQgZGF0YS4gRml4ZXMgZGVtdXhpbmcgYnVmZmVycyBvZiBhbnkgc2l6ZS4KCjIwMDktMDItMjUgMjE6MDU6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IEltcG9ydCBmc3NlbGVjdG9yIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgYXMgYXV0b2NvbnZlcnQKCSAgZnNzZWxlY3RvciBpcyB0b28gY2xvc2UgdG8gc2VsZWN0b3IsIHNvIGltcG9ydCBpcyBhcyBhdXRvY29udmVydC4gTm90IGltcG9ydGluZwoJICB0aGUgaGlzdG9yeSBiZWNhdXNlIHRoZSBkaXJlY3RvcnkgaXMgYWxzbyBjYWxsZWQgZ3N0L3NlbGVjdG9yIGFuZCBpdCBmYWlscy4KCjIwMDktMDMtMDIgMTA6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIGEgYml0IG1vcmUgdmVyYm9zZSBpbiBvdXIgZGVidWcgbWVzc2FnZSB3aGVuIGZhaWxpbmcgdG8gcmVuZWdvdGlhdGUKCjIwMDktMDMtMDIgMTc6MDA6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGZkZW11eDogVXNlIGFycmF5cyBpbnN0ZWFkIG9mIGxpc3RzIGZvciB0aGUgbWV0YWRhdGEgcmVnaXN0cmllcwoKMjAwOS0wMy0wMiAxNjoyOTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFJlZHVjZSBwcm9iYWJpbGl0eSB0byBQT1NTSUJMRQoKMjAwOS0wMy0wMiAxNjoyNzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IEFkZCBsb2NraW5nIHRvIHRoZSB4ZGdfbWltZV8qIGNhbGxzIGFzIGl0J3Mgbm90IHRocmVhZC1zYWZlCgoyMDA5LTAzLTAxIDIwOjE4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSAgeGRnbWltZTogVXNlIGdfcGF0dGVybl9tYXRjaF9zaW1wbGUoKSBpbnN0ZWFkIG9mIGZubWF0Y2goKSBmb3IgV2luMzIgY29tcGF0aWJpbGl0eQoKMjAwOS0wMy0wMSAyMDoxMzozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkgIHhkZ21pbWU6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMy0wMSAyMDoxMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJICB4ZGdtaW1lOiBEb24ndCB3YXJuIGlmIHdlIGhhdmUgbm8gTU1BUCBzdXBwb3J0CgoyMDA5LTAzLTAxIDIwOjExOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkgIHhkZ21pbWU6IFVzZSBnX250b2hbbHNdIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIGZ1bmN0aW9ucyBmb3IgV2luMzIgY29tcGF0aWJpbGl0eQoKMjAwOS0wMy0wMSAyMDowOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJICB4ZGdtaW1lOiBVc2UgR19CWVRFX09SREVSIGluc3RlYWQgb2YgcmVseWluZyBvbiBMSVRUTEVfRU5ESUFOIHRvIGJlIGRlZmluZWQKCjIwMDktMDMtMDEgMjA6MDI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiBEb24ndCBjb21waWxlIHVudXNlZCBjb2RlIGZyb20gbG9hZC5jCgoyMDA5LTAyLTI4IDIzOjQ3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgcmVhbGRlYzogdXNlIGdzdF9wbHVnaW5fYWRkX2RlcGVuZGVuY3koKQoKMjAwOS0wMi0yOCAxNToyMzowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHN5bmN3b3JkLihub25lKT4KCgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIGFjbWVuYzogZml4IHdoaXRlc3BhY2UKCSAgQ29udmVydCB0byB1bml4IG5ld2xpbmVzLCBhbmQgcmVpbmRlbnQgaW4gc29tZSBicm9rZW4gcGxhY2VzLgoKMjAwOS0wMi0yOCAyMDo0Mjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IG1lbW9yeSBsZWFrCgkgIGdzdF9zdHJ1Y3R1cmVfaWRfc2V0KCkgd2lsbCBjb3B5IEdzdFN0cnVjdHVyZXMgaW5zdGVhZCBvZiB0YWtpbmcKCSAgdGhlIG93bmVyc2hpcC4KCjIwMDktMDItMjggMjA6Mzk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogU3RvcmUgdGhlIG1ldGFkYXRhIHR5cGUgSUQgaW5zaWRlIHRoZSBjbGFzcyBzdHJ1Y3R1cmUKCjIwMDktMDItMjggMTk6NDE6MTAgKzAxMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gUFVTSSBpcyBtaXNzZWQgZHVlIHRvIHBhY2tldCBsb3NzCgkgIEZpeGVzIGJ1ZyAjNTczMjg4LgoKMjAwOS0wMi0yOCAxMTo0Mzo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9uc2YvZm1vcGwuYzoKCSAgbnNmOiBEb24ndCB3cml0ZSBmdXJ0aGVyIHRoYW4gdGhlIGxpbWl0cyBvZiB0aGUgdGFibGUgKHNpemUgaXMgNzUsIGFzIGRlZmluZWQgaW4gdGhlIGhlYWRlcikKCSAgZ2NjIDQuMy4zIGZvdW5kIHRoaXMgb25lLCBJJ20gaW1wcmVzc2VkLgoKMjAwOS0wMi0yOCAxMDoyOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZjogRG9uJ3QgdXNlIEdMaWIgMi4xNiBBUEkgdW5jb25kaXRpb25hbGx5IGluIHRoZSBleGFtcGxlCgoyMDA5LTAyLTI3IDIwOjQzOjI1ICswMTAwICBBbmRyemVqIFBvbGF0ecWEc2tpIDxhcG9sYXR5bnNraUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogRml4IGJyaWdodG5lc3MgY2FsY3VsYXRpb24gdG8gbm90IG9ubHkgdXNlIHRoZSBmaXJzdCByb3dzdHJpZGUKCSAgRml4ZXMgYnVnICM1NzMzOTEuCgoyMDA5LTAyLTI3IDExOjM2OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGNvcnJlY3QgdmFsdWVzIGZvciBjaGVja2luZyBWTyBzdGFydGNvZGUuCgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGR1ZSB0byBjb25kaXRpb24gYWx3YXlzIGJlaW5nIHRydWUgLSBzaW5jZSB3ZSdyZQoJICBvbmx5IGxvb2tpbmcgYXQgdGhlIGZpbmFsIGJ5dGUgb2YgdGhlIHN0YXJ0Y29kZSAobm90IHRoZSBsZWFkaW5nCgkgIDB4MDAwMDAxKSwgb25seSBjaGVjayBmb3IgPCAweDFmLCBub3QgPCAweDExZgoKMjAwOS0wMi0yNyAyMDoyMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFVzZSBlbXB0eSBjYXBzIGZvciByZWdpc3RlcmluZyB0aGUgdHlwZWZpbmRlcnMgd2l0aCBvbGQgY29yZSB2ZXJzaW9ucwoJICBjb3JlIGJlZm9yZSAwLjEwLjIyLjEgcHJvZHVjZWQgYXNzZXJ0aW9ucyB3aGVuIHN0b3JpbmcgdHlwZWZpbmQgZmFjdG9yaWVzCgkgIHdpdGggTlVMTCBjYXBzIGluIHRoZSByZWdpc3RyeS4KCjIwMDktMDItMjYgMTU6NDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBtb3JlIGZvcm1hdHMKCSAgV2Ugb25seSBuZWVkIGEgVmlkZW8gT2JqZWN0IFN0YXJ0IGNvZGUgYmVmb3JlIHdlIGNhbiBzdGFydCBwdXNoaW5nIG91dCBkYXRhLgoJICBTZWFyY2ggZm9yIHRoaXMgY29kZSBhbHNvIGluc3RlYWQgb2Ygb25seSBsb29raW5nIGZvciBWT1MgYW5kIFZPUC4KCSAgRml4ZXMgIzU3MjU1MS4KCjIwMDktMDItMjcgMTI6MDM6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnd29yaycKCjIwMDktMDItMjcgMTE6NTY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBkb2NzOiBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAwOS0wMi0yNyAxMTo1NTozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IE1vdmUgZGVmaW5lIGludG8gdGhlIEMgZmlsZSBzbyBpdCBkb2Vzbid0IHNob3cgdXAgaW4gdGhlIGRvY3MKCjIwMDktMDItMjcgMTE6NTQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkgIGRvY3M6IEVucm9sbCBkaXJhYyBwbHVnaW4gaW50byB0aGUgZG9jcwoKMjAwOS0wMi0yNyAxMTozOTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IEFkZCBzb21lIGJhc2ljIGRvY3MgdG8gdGhlIHBsdWdpbgoKMjAwOS0wMi0yNyAxMDoxNjo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkgIGFwZXhzaW5rOiBVc2UgYSB1bmlvbiB0byBhdm9pZCB0eXBlLXB1bm5pbmcgc3RyaWN0IGFsaWFzaW5nIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTAyLTI3IDEyOjM1OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJld29yayBzaWduYWxpbmcgYW5kIHRlc3RzCgkgIFJldmVydCB0aGUgR1N0cmluZyBjaGFuZ2UuIFRoZXJlIGFyZSBubyBtYXJzaGFsbGVycyBmb3IgaXQuIEEgYmV0dGVyIGNoYW5nZSBpcwoJICBub3cgZGVzY3JpYmVkIGluIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3MzM3MC4KCSAgVGVzdCBzaG91bGQgd29yayBhZ2Fpbi4KCjIwMDktMDItMjcgMTE6MjQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVydCBsYXN0IGNoYW5nZSBhbmQgcHJvcGVybHkgZml4CgkgIEJhc2VwYXJzZSBpbnRlcm5hbHkgYnJlYWtzIHRoZSBzZW1hbnRpY3Mgb2YgYSBfY2hhaW4gZnVuY3Rpb24gYnkgY2FsbGluZyBpdCB3aXRoCgkgIGJ1ZmZlcj09TlVMTC4gVGhlIHJlc29uIEkgYmVsaXZlZCBpdCB3YXMgb2theSB0byByZW1vdmUgaXQgd2FzIHRoYXQgdGhlcmUgaXMKCSAgYWxzbyBhbiB1bmNoZWNrZWQgYWNjZXNzIHRvIGJ1ZmZlciBsYXRlciBpbiBfY2hhaW4uIEFjdHVhbGx5IHRoYXQgY29kZSBpcyB3cm9uZywKCSAgYXMgaXQgbW9zdCBwcm9iYWJseSB3YW50cyB0byBzZXQgZGlzY29udCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVyLgoKMjAwOS0wMi0yNyAxMTowNjowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJICBxdHdyYXBwZXI6IE9ubHkgdXNlIF9kdW1wX21lbSgpIGlmIHJlcXVlc3RlZC4KCjIwMDktMDItMjYgMTI6NDg6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQWRkIHYyMTAgZm9ybWF0CgoyMDA5LTAyLTI2IDEyOjQ3OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEZpeCBpbmNvcnJlY3QgInBpeGVsX2FzcGVjdF9yYXRpbyIgaW4gY2FwcwoJICBTaG91bGQgYmUgInBpeGVsLWFzcGVjdC1yYXRpbyIuCgoyMDA5LTAyLTI2IDE4OjQ2OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGY6IEFkZCBleGFtcGxlIGFwcGxpY2F0aW9uIHRvIG91dHB1dCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0cmVlIGludG8gYSBHdGtUcmVlVmlldwoKMjAwOS0wMi0yNiAxMzoxMDoyOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBiaW46IERvbid0IGZvcndhcmQgcmV2YyBldmVudHMgdG8gc2VuZGVyCgkgIERvbid0IHNlbmQgZXZlbnRzIGZyb20gdGhlIHJlY2VpdmVyIHRvIHRoZSBzZW5kZXIgc2lkZS4KCSAgRml4ZXMgIzU3MjkwMC4KCjIwMDktMDItMjYgMTE6MDI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBjaGVja3MgZm9yIGJ1ZmZlcj09TlVMTAoJICBBY2NvcmRpZm4gdG8gZG9jcyBmb3IgR3N0UGFkQ2hhaW5GdW5jdGlvbiBidWZmZXIgY2Fubm90IGJlIE5VTEwuIElmIHdlIHdvdWxkCgkgIGxlYXZlIHRoZSBjaGVjaywgd2Ugd291bGQgYWxzbyBuZWVkIG1vcmUgc3VjaCBjaGVjayBiZWxvdy4KCjIwMDktMDItMjUgMTU6MDY6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXBkYXRlIHNoYXZlIGluaXQgc3RhdGVtZW50IGZvciBjaGFuZ2VzIGluIGNvbW1vbi4gQnVtcCBjb21tb24uCgoyMDA5LTAyLTI1IDE1OjI0OjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICB0ZXN0czogYWRkIGEgdGltZW91dCBvZiA1IHNsaWdodGx5IGFib3ZlIHRoZSBkZWZhdWx0CgoyMDA5LTAyLTI1IDE1OjE3OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBpbmNyZWFzZSB0aW1lb3V0IGFuZCBsb3dlciB2aWRlbyByZWNvcmRpbmcgbGVuZ3RoCgkgIFRoZSB2aWRlbyB3YXMgcmVjb3JkZWQgZm9yIHRvbyBsb25nIGZvciB0aGUgdGVzdCB0aW1lb3V0cy4gQWxzbyB0aGUgdmVyaWZpY2F0aW9uCgkgIHN1aXRlIGRpZCBub3QgaGFkIGN1c3RvbSB0aW1vdXRzIGF0IGFsbC4gQWxzbyBzcGxpdCB0aGUgdmVyaWZpY2F0aW9uIGZvciBpbWFnZXMKCSAgYW5kIHZpZGVvIHRvIGdldCBiZXR0ZXIgcmVwb3J0aW5nLgoKMjAwOS0wMi0yNSAxMTozMjoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5Y2Y4YzliIHRvIGE2Y2U1YzYKCjIwMDktMDItMjUgMTI6MzQ6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IGRjY3AgcGx1Z2lucy4KCSAgVW5sZXNzIG9uZSBydW5zIGEgdmVyeSByZWNlbnQga2VybmVsLCB0aGV5IGNhbiBlYXNpbHkgbG9ja3VwIHRoZSB3aG9sZSBzeXN0ZW0uCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0yNSAxMTozNDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgaWdub3JlIEdzdEZsb3dSZXR1cm4gdmFsdWVzCgkgIGRvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHB1bGxfcmFuZ2UgYmVjYXVzZSB3ZSBvbmx5IGdldCBhIHZhbGlkIG5vbi1OVUxMCgkgIGJ1ZmZlciB3aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgR1NUX0ZMT1dfT0suIEF2b2lkcyBhIGNyYXNoIHdoZW4gdGhlIHBpcGVsaW5lIGlzCgkgIHNodXR0aW5nIGRvd24uCgoyMDA5LTAyLTI1IDExOjQxOjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHNpZ25hbCBtYXJzaGFsbGVyIGFuZCBkb2NzCgkgIFVzZSBHU3RyaW5nIGluc3RlYWQgb2YgR1BvaW50ZXIgZm9yIHRoZSBtYXJzaGFsbGVyIGFzIHRoaXMgaXMgd2hhdCB0aGUgY2FsbGJhY2sgdXNlcy4KCSAgU2xpZ2h0bHkgcmVmb3JtYXQgZG9jcy4KCjIwMDktMDItMjUgMTE6Mzg6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLnBuZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgdG8gYWRkIGNhbWVyYWJpbiBhbmQgaXRzIGZpZ3VyZQoKMjAwOS0wMi0yNSAxMTowMDo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZ2V0IHJpZCBvZiAvLyBjb21tZW50IGFuZCBleHBsYWluCgoyMDA5LTAyLTI1IDEwOjQ2OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgY2hlY2sgdW5pdCB0ZXN0CgkgIFVzZSBwbGF5YmluMiBmb3IgdmFsaWRhdGlvbi4gVXNlIHRtcF9kaXIgZm9yIGNhcHR1cmluZy4gV2FpdCB3aXRoIGdfY29uZCBmb3IKCSAgYnVyc3QgY2FwdHVyZSBmaW5pc2guIENsZWFudXAgc29tZSBnX29iamVjdF9zZXQuIEFkZCBzb21lIGxvZ2dpbmcgdG8gZWFzZQoJICB0cmFjaW5nLgoKMjAwOS0wMi0yNSAxMDo0NToxOSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1bmJsb2NrIGNvcnJlY3QgcGFkIGluIHJlc2V0LCBzdXBwb3J0IGZha2VzaW5rIGFzIHZpZXcgZmluZGVyCgoyMDA5LTAyLTI0IDE2OjM2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgUmVtb3ZlIHRlc3RzL2V4YW1wbGVzL2FwcCBhcyBpdCB3YXMgbW92ZWQgdG8gLWJhc2UgYSBsb25nIHRpbWUgYWdvCgoyMDA5LTAyLTI0IDE2OjMzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogZXhhbXBsZXMvZGlyZWN0ZmIvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkqIGV4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIGV4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiBleGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiBleGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIGV4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkqIGV4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9kZWNrZXIudHRmOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBNb3ZlIGV4YW1wbGVzIGRpcmVjdG9yeSB0byB0ZXN0cy9leGFtcGxlcyBhcyBpbiBldmVyeSBvdGhlciBHU3RyZWFtZXIgbW9kdWxlCgoyMDA5LTAyLTI0IDE2OjIxOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBVc2UgbmV3IERDQSBmdW5jdGlvbnMvY29uc3RhbnRzIGFzIG5vdCBhbGwgZGlzdHJvcyBwYWNrYWdlIHRoZSBjb21wYXQgZHRzLmgKCSAgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2UgZGVmaW5lIHRoZSBEQ0EgZnVuY3Rpb25zL2NvbnN0YW50cyB0byB0aGUKCSAgb2xkIERUUyBmdW5jdGlvbnMvY29uc3RhbnRzIGlmIHdlJ3JlIGJ1aWxkaW5nIGFnYWluc3QgbGliZHRzLgoKMjAwOS0wMi0yNCAxNToyNjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50Lmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuaDoKCSAgeGRnbWltZTogQWRkIG5ldyB0eXBlZmluZGVyIGJhc2VkIG9uIHhkZ21pbWUKCSAgVGhpcyB0eXBlZmluZGVyIGlzIG1vc3RseSB1c2VmdWwgdG8gZmlsdGVyIG91dCBhbnkgZmFsc2UgcG9zaXRpdmVzCgkgIGJ5IHRoZSBvdGhlciB0eXBlZmluZGVycyBsaWtlIHRoZSB1c3VhbCBXb3JkIGRvY3VtZW50IG1pc2RldGVjdGVkIGFzCgkgIE1QMyBmaWxlLgoKMjAwOS0wMi0yNCAxMzozNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR0czogUHJlZmVyIGxpYmRjYSBvdmVyIGxpYmR0cyBhcyBpdCdzIHRoZSBzdWNjZXNzb3IKCjIwMDktMDItMjMgMTY6MDI6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAyLTIzIDE1OjI1OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAyLTIwIDEyOjA4OjA0ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IEFkZCBhc3BlY3QgcmF0aW8gY2Fwc2ZpbHRlciBmb3IgdmlldyBmaW5kZXIKCSAgSWYgZGVhbGluZyB3aXRoIGxhcmdlciBmcmFtZSBzaXplcyB0aGFuIHZpZXcgZmluZGVyIHNpbmsgZWxlbWVudAoJICBhY2NlcHRzIHRoZW4gbWFpbnRhaW4gYXNwZWN0IHJhdGlvIHdoZW4gc2NhbGluZyBmcmFtZXMgdG8gZml0LgoKMjAwOS0wMi0yMCAxMjowNzozMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTY2FsZSBpbmNvbWluZyBmcmFtZXMgaWYgdGhlaXIgc2l6ZSBkb2VzIG5vdCBtYXRjaCByZXF1ZXN0ZWQgc2l6ZQoJICBJZiBjYXB0dXJlIHByZXBhcmF0aW9uIGluIHZpZGVvc3JjIHJlc3VsdHMgaW4gZnJhbWUgc2l6ZSBkaWZmZXJlbnQKCSAgZnJvbSByZXF1ZXN0ZWQgc2l6ZSwgdGhlbiB3ZSBuZWVkIHRvIHNjYWxlIHRoZW0uCgoyMDA5LTAyLTIwIDEyOjAzOjAzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90byBpZmFjZTogQWRkIGNhcHMgb2JqZWN0IHRvIHByZXBhcmF0aW9uIEFQSSBmb3IgcmVxdWVzdGVkIGFuZCBhY3R1YWwgY2FwdHVyZSBmb3JtYXQKCSAgQWxsb3cgcmVxdWVzdGluZyBvZiBjZXJ0YWluIGZvcm1hdCB3aXRoIHByZXBhcmVfZm9yX2NhcHR1cmUoKSBhbmQgcmV0dXJuCgkgIHRoZSBhY3R1YWwgZm9ybWF0IGluIEdzdFBob3RvQ2FwdHVyZVByZXBhcmVkIGNhbGxiYWNrLgoKMjAwOS0wMi0yMyAxMTo0OTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogQWRkIHNvdW5kdG91Y2gncyAtbEJQTSB0byBfTElCUywgbm90IF9DRkxBR1MKCjIwMDktMDItMjIgMjI6MDA6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICBkY2NwOiBGaXggIm5vbi12b2lkIHdpdGhvdXQgcmV0dXJuIHZhbHVlIiBjb21waWxhdGlvbiBpc3N1ZS4KCjIwMDktMDItMjIgMTk6MTc6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgRGV0ZWN0IGxpYnNvdW5kdG91Y2ggMS40IGFuZCBoaWdoZXIuCgkgIEluIGxpYnNvdW5kdG91Y2ggMS40LCBsaWJCUE0gYXBwZWFycyB0byBoYXZlIGJlZW4gc3Vic3VtZWQgaW50bwoJICBsaWJTb3VuZFRvdWNoLCBhbmQgaW50byB0aGUgc291bmR0b3VjaCBuYW1lc3BhY2UuCgoyMDA5LTAyLTIyIDE4OjEyOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXNlIHNoYXZlIGZvciB0aGUgYnVpbGQgb3V0cHV0CgoyMDA5LTAyLTIyIDE4OjQxOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjb21waWxhdGlvbiBvbiBXaW5kb3dzIHdpdGggVmlzdWFsIFN0dWRpbwoJICBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBzdHJjYXNlY21wIHNvIHdlIHNob3VsZCB1c2UKCSAgZ19hc2NpaV9zdHJjYXNlY21wIGhlcmUgaW5zdGVhZC4KCSAgQWxzbyBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBzeXMvdGltZS5oIHNvIHdlIGZpcnN0CgkgIG5lZWQgdG8gY2hlY2sgaWYgaXQgYWN0dWFsbHkgZXhpc3RzIGFuZCBpZiBub3QKCSAgd2Ugc2hvdWxkIG5vdCBpbmNsdWRlIGl0LgoJICBGaXhlcyBidWcgIzU3MjMxNS4KCjIwMDktMDItMjIgMTU6NTg6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWQ3YzljYyB0byA5Y2Y4YzliCgoyMDA5LTAyLTIyIDE0OjU4OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBEb24ndCB1c2Ugdm9pZCAqIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMi0yMiAxMzoxNzo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmcKCjIwMDktMDItMjEgMTE6MTM6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4MGM2MjdkIHRvIDVkN2M5Y2MKCjIwMDktMDItMTAgMTc6MDI6MjQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBNb3ZlZCBydHBtdXggZnJvbSBnc3QtcC1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQ1OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE5OjExOjE1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9jdW1lbnQgcnRwIG11eGVyIGEgYml0CgoyMDA5LTAyLTIwIDEzOjMwOjQ5IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgc2lnbmFscyBiZWZvcmUgc3RyZWFtIGxvY2sgYW5kIGFmdGVyIHVubG9ja2luZwoKMjAwOS0wMi0xOCAyMDoxODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExldCBzc3JjIHRocm91Z2ggZ2V0Y2FwcwoKMjAwOS0wMi0xOCAxOTo1ODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBoYXZlX2Jhc2UgdG8gaGF2ZV90c19iYXNlCgoyMDA5LTAyLTE4IDE4OjE0OjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvdGVjdCB0aGUgc2VxbnVtIHdpdGggb2JqZWN0IGxvY2sgaW4gcnRwbXV4CgoyMDA5LTAyLTE4IDE4OjA3OjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBzaW5rX3RzX2Jhc2UKCjIwMDktMDItMTggMTU6MjA6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBIYXZlIGdldGNhcHMgdG8gZm9yY2UgdGhlIHNhbWUgY2xvY2tyYXRlIG9uIGFsbCBwYWRzCgoyMDA5LTAyLTE4IDE3OjA1OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVmFsaWRhdGUgUlRQIGRhdGEgaW4gUlRQIE11eAoKMjAwOS0wMi0xOCAxNDoxNjowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgY2xvY2stcmF0ZSBwcm9wZXJ0eQoKMjAwOS0wMi0xOCAxMzo1NjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IGxvY2tpbmcgaW4gcnRwZHRtZm11eAoKMjAwOS0wMi0xOCAxMzozMjo1NiAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzo1NToyMiAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVcGRhdGUgc2VxbnVtIGJhc2UgaW4gcnRwIG11eGVyCgkgIFdpdGggaGVscCBmcm9tIFdpbQoKMjAwOC0xMi0wMSAxNzo1NDo1OCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHNvbWUgbW9yZSBsZWFrcwoKMjAwOC0xMi0wMSAxNzo0ODoyOSAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGxlYWsKCjIwMDgtMDktMjkgMTU6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB1bnJlZiBjYXBzIHdlIGRvbid0IGtub3cgKHRoYW5rcyBXaW0pCgoyMDA4LTA4LTEyIDEyOjQ4OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHBlci1idWZmZXIgZGVidWcgYXQgbGV2ZWwgTE9HCgoyMDA4LTA4LTEyIDEyOjQ3OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkZWJ1ZyBwcmludCBhY2N1cmF0ZQoKMjAwOC0wOC0xMiAxMjo0NjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBvdXIgY2FwcyBvbiB0aGUgYnVmZmVycwoKMjAwOC0wOC0xMiAxMjo0NjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLWJhc2Ugc3RvcmVkIGZyb20gdGhlIGxhc3Qgc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjo0MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN0b3JlIHRoZSBjbG9jay1iYXNlIG9uIHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6MzA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGFkcHJpdmF0ZSB0byB0aGUgcmVxdWVzdCBwYWRzCgoyMDA4LTA4LTEyIDEyOjIzOjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB3aGl0ZXNwYWNlIGluIGdzdHJ0cG11eAoKMjAwOC0wOC0xMSAyMToyMDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW5kZW50YXRpb24gbW9yZSBjb3JyZWN0CgoyMDA4LTA4LTExIDIxOjA1OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG8KCjIwMDgtMDgtMTEgMjE6MDM6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgc2VxbnVtLWJhc2UgYW5kIGNsb2NrLWJhc2UgaW4gY2FwcyBmcm9tIHJ0cG11eGVyCgoyMDA3LTA4LTE1IDEzOjUwOjM4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA4MTUxMzUwMzgtZjNmMWUtOWM3YTU0OTBhNTI1YzZlODc1M2NiMWI4YzAzMzU0ZGY5OTEzMmI1Yy5negoKMjAwNy0wOC0yMyAyMToyMjoyNSArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3luYyBqaXR0ZXJidWZmZXIgd2l0aCBDVlMgLWJhZAoJICAyMDA3MDgyMzIxMjIyNS0yNDI1Yi0wZmU2OWJmNzI1Mzk2NzhkZGE0NWQ2MTVhMDlmMWNiZjUwMmNjNzFhLmd6CgoyMDA3LTA4LTIwIDE4OjUwOjMyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1pc3NpbmcgY29tbWVudAoJICAyMDA3MDgyMDE4NTAzMi00ZjBmNi0wYWI2N2I2YWM0MGRkNGUzNWE4ZmU1M2YzY2I2ZGFmZjY1Y2U0M2I5Lmd6CgoyMDA3LTA3LTEyIDE5OjUzOjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGJ1ZmZlciB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyBpbnRvIGl0CgkgIDIwMDcwNzEyMTk1MzM2LTNlMmRjLTkxYTVmYjc5N2NmYTQ5MTlkNGUyZjlhNzI4YzZkNmZiZDNiODNkOTMuZ3oKCjIwMDctMDctMDYgMjA6MjQ6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBwYWRzIGFjdGl2ZSB3aGVuIGFkZGluZyB0aGVtIHRvIGEgcG90ZW50aWFsbHkgcnVubmluZyBlbGVtZW50CgkgIDIwMDcwNzA2MjAyNDU5LTNlMmRjLWEzNzMxZjg4NTcyNTU5NGRlZjBhN2JlOTk3ZmM3YjNhNzM5ZWU5NjcuZ3oKCjIwMDctMDYtMDcgMTI6MDE6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBtdWx0aXBsZSByZWYgbGVha3MgKHBhdGNoZXMgYnkgU1AgR0xFKQoJICAyMDA3MDYwNzEyMDEyMS0zZTJkYy0wNjFlOWVmN2E0N2IxYjg0ZmE4ZjgwOTJmNGI4YmNjMGU2ZGI4YzhjLmd6CgoyMDA3LTA1LTI4IDE1OjI1OjA1ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gc2VuZCBldmVudCB0byBhbGwgc3JjIHBhZHMKCSAgMjAwNzA1MjgxNTI1MDUtZjNmMWUtMDM5MjE2YzczZGM5M2Y2NGM0OTk2MmM3N2EwMjUzY2I5Y2ZlYzRkMy5negoKMjAwNy0wNS0yOCAxMjozNzo0OSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHByaW50IGEgd2FybmluZyBpZiByZWNlaXZlIGFuIGVycm9yIGl0ZXJhdGluZyBzaW5rcGFkcwoJICAyMDA3MDUyODEyMzc0OS1mM2YxZS00YzFlYjNmNTExYjU2MTAxNDM2MTBhNjVhOTRkMTE3ZjJjM2QyNTgwLmd6CgoyMDA3LTA1LTI4IDEyOjI4OjA4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVhbCB3aXRoIGFsbCB0aGUgZ3N0X2l0ZXJhdG9yX25leHQoKSByZXR1cm4gdmFsdWVzCgkgIDIwMDcwNTI4MTIyODA4LWYzZjFlLWQzMDE2NDRjM2JlNzYzM2VjNmRjNWUyODU5NmU5MzQ2ZDJkYTZhNTAuZ3oKCjIwMDctMDUtMjUgMTI6MzE6MTYgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXR1cm4gY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBldmVudCBoYW5kbGVyCgkgIDIwMDcwNTI1MTIzMTE2LWYzZjFlLTEzMWIzN2I1ZjQ1MjE2MThmZTJmMTMyMDQwOWE0N2U2NWIzNWFkMmQuZ3oKCjIwMDctMDUtMjUgMTA6Mjc6MDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBWaWxsZSdzIG9yaWdpbmFsIHBhdGNoIHRvIGZpeCB0aGUgdHJhdmVyc2FsIG9mIGR0bWYgZXZlbnQKCSAgMjAwNzA1MjUxMDI3MDktZjNmMWUtNmM0MWQxZWY5MzQwNjhhNGY0ZTgxMGU3ZTk4MWI0MjAwNzViMGM5OC5negoKMjAwNy0wMy0yOSAxMzo1Mjo1MCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHRoZSBjb3JyZWN0IHRzLW9mZnNldCBvbiB0aGUgZ2V0X3Byb3AgdmFsdWUKCSAgMjAwNzAzMjkxMzUyNTAtNjUwMzUtYTQzZTIyMmQ5MWQ1N2MwYTYxY2IzMjg3NTg2YWFhMjlhYmY3ODY3NC5negoKMjAwNy0wMy0yOSAxMzo1MjoyMyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3JpemUgc3RhdGVfY2hhbmdlCgkgIDIwMDcwMzI5MTM1MjIzLTY1MDM1LTIzYTAxMDdiMmUzOTc3MTBmMDM1YzZlODhjYzBlNDliNjViYjRkNWQuZ3oKCjIwMDctMDMtMjkgMTM6MzY6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHNldCBTU1JDIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMzI5MTMzNjIyLTY1MDM1LTFiZTZlMGFhODVhNzEzODlmN2QyNTdiOWNkM2UxM2E3M2Q2Yjc0NWIuZ3oKCjIwMDctMDMtMjkgMTM6MTk6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvZGUgY2xlYW4tdXAgYW5kIG1vcmUgZGVidWcgb3V0cHV0CgkgIDIwMDcwMzI5MTMxOTM2LTY1MDM1LTlkNDk5ZTIwOWUwZDdhNDA5YzNhYTBkMTA0MDc3OGJhYmYwNzYxNzkuZ3oKCjIwMDctMDMtMjggMTE6MjI6MTkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBvd24gY2xvY2stYmFzZQoJICAyMDA3MDMyODExMjIxOS02NTAzNS0xYmE1ZmVmYmM2NTA1OWU5YjBjODYwNTI4YTMxMDYyY2ViNmE3MzMxLmd6CgoyMDA3LTAzLTIzIDE2OjMxOjM5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IGFjY2VwdCBSVFAgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUgY2xvY2stcmF0ZQoJICAyMDA3MDMyMzE2MzEzOS02NTAzNS1mYzBiMTdiMGI4YTdhMDQxZjQ4OTk0YzRmMjZlOTY1NjgxNjhiZjk1Lmd6CgoyMDA3LTAzLTIyIDE2OjE1OjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBtb3JlIGNvZGUtY2xlYW51cHMKCSAgMjAwNzAzMjIxNjE1NTItNjUwMzUtYmRhOTYxNjVlMTQ2YjRmMWQ1ZmVhMWNjOTU3NmE3YWIzYWJlYmM5ZS5negoKMjAwNy0wMy0yMiAxNTo0Mjo1MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmV0dXJuIG5ld3BhZCBpbnN0ZWFkIG9mIE5VTEwgYW5kIHdhcm4gaWYgZmFpbGVkIHRvIGNyZWF0ZSBhIHBhZAoJICAyMDA3MDMyMjE1NDI1MS02NTAzNS1jZGI2NjUxZTYxYzJlYjAyMDVjYzhjMjQ2OTNiNDNmOThhMmRhNzE4Lmd6CgoyMDA3LTAzLTIyIDEyOjQxOjMyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3Rvcml6ZSB0aGUgUlRQTXV4IGNvZGUKCSAgMjAwNzAzMjIxMjQxMzItNjUwMzUtMGEzMjc4MTQ3NTQ2ZTMzZjY4NzA5N2E0M2I3NzViM2Y2YWE5OWY5My5negoKMjAwNy0wMy0yMiAxMjoxNDo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgbW9yZSBkb2MgZml4aW5nCgkgIDIwMDcwMzIyMTIxNDUzLTY1MDM1LTEyZDYwMjI3MjIxN2I1MWJkOTdkZjRlNTc5MDAyNGMzOTk2MjJkZDMuZ3oKCjIwMDctMDMtMjIgMTE6MzI6MjggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3JlIFJlZmFjdG9yaW5nCgkgIDIwMDcwMzIyMTEzMjI4LTY1MDM1LWJhZTM0YTc5NTk5ZTdkZTUyOTNlZDc3YjAyMjM2MWNjZmY4MjJiYjkuZ3oKCjIwMDctMDMtMjIgMTE6MzE6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3JlIGRvY3VtZW50YXRpb24KCSAgMjAwNzAzMjIxMTMxNTQtNjUwMzUtNjI0ODUwNTQxYTViNWZjM2RmMjMxMjA0YmU1YTgzZDA3MjM5ZGIyOC5negoKMjAwNy0wMy0yMSAxNjozMzoxMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uCgkgIDIwMDcwMzIxMTYzMzExLTY1MDM1LTk4N2U3ZjI1ZDFhYjUzMzViNzlmNDRiMjc3YWJmMTVlNGUzN2QzMTcuZ3oKCjIwMDctMDMtMjEgMTQ6NTI6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgUlRQRFRNRk11eCBlbGVtZW50CgkgIDIwMDcwMzIxMTQ1MjQ0LTY1MDM1LTlhMDEzOTBiMGRlZTMzOThlNTMxOTlhMWZhMWQ5MzUyMDA0ZjMzOGUuZ3oKCjIwMDctMDMtMjEgMTI6MzE6NDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBEVE1GLXNwZWNpZmljIGNvZGUgZnJvbSBSVFAgbXV4ZXIgYW5kIG1ha2UgaXQgZXh0ZW5kYWJsZQoJICAyMDA3MDMyMTEyMzE0OS02NTAzNS1iOGE4ZjU1ZmY3OGVlZDhjYmIwMDQyZTgyNzg4NWVkZmM1NDM4MjQyLmd6CgoyMDA3LTAzLTIwIDEyOjA1OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgbW9yZSBoZWxwZnVsIGRlc2NyaXB0aW9uCgkgIDIwMDcwMzIwMTIwNTI0LTY1MDM1LWRiMjdhN2NmNjMwN2I1MTFhZWIzZDk5NmQyNmU3OTBlMzY3YTdiYWQuZ3oKCjIwMDctMDMtMTYgMTU6MTY6NDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZSB0aGUgKGNvbW1lbnRlZC1vdXQpIGNvZGUgZm9yIGJsb2NraW5nIHRoZSBwYWRzCgkgIDIwMDcwMzE2MTUxNjQxLTY1MDM1LTAxMjNhZjM4Nzk1MWY4ODU5NDc5N2M3MjJlODgyY2ZlNzAyNDBhZmYuZ3oKCjIwMDctMDMtMTYgMTM6MTQ6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERyb3AgYnVmZmVycyBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBzaW5rcGFkcwoJICAyMDA3MDMxNjEzMTQ0NC02NTAzNS05YzEzNDVhZDk2MTA4ODgxZjQ1NWQ0YjU1YTdmNjIzY2QzMDJkMGVkLmd6CgoyMDA3LTAzLTE0IDE3OjE2OjE4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RyZWFtIGxvY2tpbmcsIG5lZWRlZCBmb3IgRFRNRgoJICAyMDA3MDMxNDE3MTYxOC02NTAzNS1lNGQyNGIxNjA2Y2UwYTNlMmU3MzlmMDE4MzNmNjFlNGQ3NTU1ZWFjLmd6CgoyMDA3LTAzLTE0IDEwOjIwOjU4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2UgR1NUXypfT0JKRUNUIGluc3RlYWQgb2YgZ18qCgkgIDIwMDcwMzE0MTAyMDU4LTY1MDM1LWUyNDQyODg4ZjJlM2U1YTNhNzY1OWFkNzk1NGE0ZmJhMzQ3NDljZTIuZ3oKCjIwMDctMDMtMTQgMTA6MTg6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE5vIG5lZWQgdG8gbWFuYWdlIHBhZHMsIHBhcmVudCBkb2VzIHRoYXQgZm9yIHVzCgkgIDIwMDcwMzE0MTAxODU0LTY1MDM1LWVmNWY0YWJkZTIyNzEwMmExMTI4ODM1YWIzMjU5MDVlYWU0YzM3MjYuZ3oKCjIwMDctMDMtMTQgMDk6MDM6NTggKzAwMDAgIHplZW5peEBnbWFpbC5jb20gPHplZW5peEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodCBoZWFkZXIKCSAgMjAwNzAzMTQwOTAzNTgtZDAxNGEtM2E2ZDNlZWVhYWY1Y2I4Y2EzYmNhNmEzM2U5OWE1NTFmNTk4YmQ0OC5negoKMjAwNy0wMy0wNyAwODo1MzowNyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4Ly5naXQtZGFyY3MtZGlyOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIG9mIFJUUCBtdXhlcgoJICAyMDA3MDMwNzA4NTMwNy02NTAzNS04MzM0MDI0MTNmOTljYjNmOGJlNDg4M2U5MmJhZDRjODcyMjUxMGM5Lmd6CgoyMDA5LTAyLTIwIDE4OjE2OjAyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIERvY3VtZW50IHJ0cGR0bWZkZXBheSBhIGJpdAoKMjAwOS0wMi0yMCAxNzo0MTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBNb3ZlZCBkdG1mIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0MDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IHVwIGRvY3VtZW50YXRpb24gYmxvYnMgU0dNTAoKMjAwOS0wMi0yMCAxNzozNzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTE4IDEzOjMwOjQ0IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBkaXJlY3RpdmUKCjIwMDgtMTItMDQgMjE6MjE6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtYXhpbXVtIGR1cmF0aW9uIHRvIGEgUlRQIERUTUYgZXZlbnQKCjIwMDgtMTItMDQgMjE6MTE6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wcm92ZSB0aGUgbWluaW11bSBxdWFudGEgdG8gbWFrZSBpdCBpbXBvc3NpYmxlIGZvciB0aGUgZHVyYXRpb24gdG8gZmFsbCBkb3duIHRvIDAKCjIwMDgtMTItMDEgMTg6MzE6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtaW5pbXVtIHNpemUgb2YgYSBzb3VuZCBxdWFudGEgaW4gdGhlIGR0bWYgZGVwYXlsb2FkZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjM3OjEwIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB3aWVyZCBjYXN0aW5nIG9mIHRoZSB2b2x1bWUgdG8gbWFrZSBNU1ZDIGhhcHB5CgoyMDA4LTEwLTE1IDE2OjIxOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlICJldmVudC10eXBlIiBmaWVsZCB3aGVuIHNwZWNpZnlpbmcgZHRtZiBldmVudHMKCjIwMDgtMDctMjIgMjE6Mzk6MzggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdfZGVidWdzCgkgIDIwMDgwNzIyMjEzOTM4LTNlMmRjLTQ0YTgyZDAxN2ZlNjZmMzExMjMwMWM0MTBhYTBiNTQzZGU2MTU2YWQuZ3oKCjIwMDgtMDYtMTMgMjM6NTc6MjMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSByYXRlIGZyb20gdGhlIHBlZXJzIGNhcHMgaWYgcG9zc2libGUKCSAgMjAwODA2MTMyMzU3MjMtM2UyZGMtMTU2OTBlZTQyNzA4YzUzOWUxYmUxMmUyMGUwNzZhNTYxM2ZhZWE5Ni5negoKMjAwOC0wNi0xMyAyMzo0MTo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCB0aGUgc2FtcGxlIHJhdGUgaW4gZHRtZnNyYyBpbnRvIGEgdmFyaWFibGUKCSAgMjAwODA2MTMyMzQxNDQtM2UyZGMtZTYwMDcwOTQzYmVjODI5YjcwM2I4ODIxYzdhYTQzNTFhMDJkZWViZS5negoKMjAwOC0wNi0xMyAyMzozMDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1yYXRlIGZyb20gdGhlIGNhcHMgaW4gcnRwZHRtZnNyYwoJICAyMDA4MDYxMzIzMzAwNi0zZTJkYy1hN2Q0ZTkxODY0M2Y0ZjhjMWJiMmNjMjY3ODU1OGM2NTQwMjU5MjBlLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQ0OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBieXRlIG9yZGVyaW5nIGlzc3VlcyB3aXRoIGR0bWZzcmMgYW5kIHJ0cGR0bWZkZXBheS4uIHVzZSBvZiBHX1NUUklOR0lGWSB0byBhdm9pZCBlcnJvciBvbiBNU1ZDCgkgIDIwMDgwNDEyMjM0NDE4LTRmMGY2LTQ4MjhkMTYxM2RmY2Q1NjRhZmQyMzZkZmM4ZmI1N2EyOTkwOTJmODMuZ3oKCjIwMDgtMDMtMjAgMTk6MTQ6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cyBhZ2FpbiwgcGVyIHNtY3YncyBhZHZpY2UuLgoJICAyMDA4MDMyMDE5MTQzOC00ZjBmNi02NzFjOWRiNWQ5OTZhNDYwMWRmMDE3Y2VhYjRhZjZkMTY0NjljOTY2Lmd6CgoyMDA4LTAzLTE5IDIxOjE3OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgY2xlYXIgdGhhdCBkdG1mc3JjIGFsc28gdGFrZXMgbmFtZWQgZXZlbnRzIGFzIGlucHV0CgkgIDIwMDgwMzE5MjExNzMxLTNlMmRjLTI2YzcyOWY2ZGM4ZGIyN2U3MWNmNmIyMjY0NmE4MTUzMGRiZjg2MmYuZ3oKCjIwMDgtMDMtMjAgMTg6NDg6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYnVnIG1lc3NhZ2UgbWFkZSBpbnRvIGVycm9ycyBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZXkgYXJlLi4uCgkgIDIwMDgwMzIwMTg0ODQxLTRmMGY2LThhMmQyODMyOTdiMDI3MTNkYWRlMGFlNGFjYWE1ZjZlMGY2N2VhY2UuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuIHVudXNlZCBzdHVmZi4uLgoJICAyMDA4MDMyMDE4MzkzNy00ZjBmNi1iY2I4NDFjZGMwN2Y5ZTk2Nzc1MTJmNGI1MGI0YjY1OWE1OGM2NzgzLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMKCSAgMjAwODAzMjAxODM5MTItNGYwZjYtNjg5MzY1ZDVhNDA2NjMyZTNkMDg4ZmFjNzRlNGZiNmY4YTRlYjBlYS5negoKMjAwOC0wMy0yMCAwMToxMzowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBzdXBwb3J0IGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMTEzMDEtNGYwZjYtZDM2YTVkMjRiZTIwMzM2ZTM2YzQ3OTZkNzU0NzZjOWI1ZWUxYTdlMS5negoKMjAwOC0wMy0xOSAxOTozMjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbmNvZGluZyBuYW1lIGhhcyB0byBiZSB1cHBlci1jYXNlCgkgIDIwMDgwMzE5MTkzMjUxLTNlMmRjLTE1ODFiMzNiZTliNDg2ZTM1ZWM0OTQ4MDA5Njc3Y2NkNWZmZGMwOTguZ3oKCjIwMDgtMDMtMjAgMDA6NTE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBuZWNlc3NhcnkgZmlsZXMgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAwNTE0Ny00ZjBmNi01NTBmZTIyZjcwMTUyZjNhYWIzZGNkN2E2YjAyY2JmODFlODkyMzJkLmd6CgoyMDA4LTAzLTIwIDAwOjUwOjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG9zCgkgIDIwMDgwMzIwMDA1MDQxLTRmMGY2LTlkMjJmYTVkMTU1ZTM1YjYwNWVhODViMWZkOWU3MTk3YTg4MmExZjAuZ3oKCjIwMDgtMDItMTYgMTM6NDE6NDAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGR0bWZzcmM6IENvcnJlY3RseSBzZXQgdGhlIGVuZGlhbmVzcyBpbiB0aGUgY2FwcyB0byB0aGUgbWFjaGluZXMgZW5kaWFuZXNzCgkgIDIwMDgwMjE2MTM0MTQwLTkzYjlhLTQwYTNhOWQ3YWMxNjc5YzVlMGRmZDI0YTZiOTFlNGFiYTZjYzY0OTYuZ3oKCjIwMDctMDktMTcgMTc6NTI6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VhcmNoJlJlcGxhY2Ugb29wcwoJICAyMDA3MDkxNzE3NTIzMy0zZTJkYy01N2Y1NzljNGI4OTA5OTNmNDlmYThlOWU2NDcwYTNlYjc5ZDJiOTIyLmd6CgoyMDA3LTA5LTE3IDE3OjUxOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGV2ZW50cyBkb250IHlldCBiZWxvbmcgaW4gdGhlIGNhcHMKCSAgMjAwNzA5MTcxNzUxMzMtM2UyZGMtZmQxZDgzYjc4MjZiODk4MTEwZmM1NzFhZTdjMzQ0MGYxODg3NDM0ZC5negoKMjAwNy0wOS0xNyAxNjowODoyMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYXRjaCB0byBtYWtlIGl0IHdvcmsgd2l0aCBtYWVtbyBkc3Agc291cmNlcyB0aGF0IHBheWxvYWQgaW5jb3JyZWN0bHkKCSAgMjAwNzA5MTcxNjA4MjAtM2UyZGMtMDZiMWIxZDFiMDkxOGIzMGRhYmVhNWEwNzE0Y2I3MzJiM2I4ZDhkZC5negoKMjAwNy0wOS0xNyAwNDoyNjo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vcHMsIHNldCB0byBubyBwcmVyb2xsIHdoZW4gcGxheWluZy0+cGF1c2VkIHRvbwoJICAyMDA3MDkxNzA0MjY0OS0zZTJkYy05NGFkYjZhYTA2MTdlODE1YTZlMjMzMjMyZGFiYjRiYmM0OGRjODJjLmd6CgoyMDA3LTA5LTE3IDAwOjM2OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGxldGUgcG9ydCB0byBiYXNlc3JjCgkgIDIwMDcwOTE3MDAzNjU0LTNlMmRjLWRiMGY4NGRhYmQ5ZGQxYWM5MjlhMDQ2MTg2NWI4YWFhOGVmOTFhNzcuZ3oKCjIwMDctMDktMTcgMDA6MjQ6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY2FwcyBuZWdvdGlhdGlvbiBmdW5jdGlvbgoJICAyMDA3MDkxNzAwMjQxMi0zZTJkYy1jYTI2NjgxNmU5NjI5NzQ2ZTkwODNjNWJiOGI3ZjczYjk0YTliMmIwLmd6CgoyMDA3LTA5LTE3IDAwOjE2OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGZyZWUgbm9uLXN0YXJ0IGV2ZW50cwoJICAyMDA3MDkxNzAwMTY1OS0zZTJkYy1hNTcxNzc3ZTNlY2ZiOTA5ODlmODc0MTJmNTU0YWExMGEzMWNjMmNhLmd6CgoyMDA3LTA5LTE3IDAwOjE1OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbnRlcnZhbCBhbmQgcGFja2V0X3JlZHVuZGFuY3kgaW50byB1aW50CgkgIDIwMDcwOTE3MDAxNTUyLTNlMmRjLTYwMDMyZTU0N2IzNjY5Yjg3MzE3Yzk4MWQ5ODVjMTU2YWFiOTFiNDAuZ3oKCjIwMDctMDktMTYgMTk6NDQ6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBydHAgZHRtZiBzcmMgdXNlIGJhc2VzcmMKCSAgMjAwNzA5MTYxOTQ0MDgtM2UyZGMtNzM0MDAwMTMwZGNlMjQzNGEwMTRhY2Y4NDNkNjQxZmYwZTYwYWE1YS5negoKMjAwNy0wOS0xNiAxOTo0MTowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGR0bWYgc3JjIGNvZGUgbmljZXIKCSAgMjAwNzA5MTYxOTQxMDEtM2UyZGMtYThiZThjNTA5YzY1NDAwZDFkMzk2MmRhMDJlNjdkMTVkMjA1NDMxNi5negoKMjAwNy0wOS0xNiAxOTo0MDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgZGlyZWN0b3J5CgkgIDIwMDcwOTE2MTk0MDUyLTNlMmRjLTQ0ZDdmNGNiMmYyMjA3NjFiNjVlMmI5YjZjZWM0YjNjNmY4YmU3YzUuZ3oKCjIwMDctMDktMTQgMDQ6MjA6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RvcHBpbmcgaW4gYSBuaWNlIHRocmVhZCBzYWZlIHdheQoJICAyMDA3MDkxNDA0MjA0Mi0zZTJkYy0xZmUyNTdmZjRiNzJhY2E0YjBlYjVmMjg1YTE0NjUwYjhkZjI2OGMzLmd6CgoyMDA3LTA5LTE0IDA0OjE4OjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnZXRfdGltZXMgKFdpbSBzYXlzIGl0cyBvbmx5IGdvb2QgZm9yIHJlYWxseSBmYWtlIHNvdXJjZXMpCgkgIDIwMDcwOTE0MDQxODM0LTNlMmRjLWZmZjRkNWRhMmExNDVmMTllN2I2MTBhMTAyN2QyYzRkNGJjNWVhZTAuZ3oKCjIwMDctMDktMTMgMjE6MjE6NDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2luZyB0aGUgdW5sb2NrIG1ldGhvZCBvZiBiYXNlc3JjCgkgIDIwMDcwOTEzMjEyMTQ1LTRmMGY2LTBlNDM4YTY4MWJmMTY1MWMwY2MwZDhmYTMyNjlhZWQzZjE2NjhiNmIuZ3oKCjIwMDctMDktMTMgMjE6MTI6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwOTEzMjExMjI2LTRmMGY2LWJjMzJiNTgyOGZjOGUwMzIzYzhhNmVlZTc3OWEzODE0NWFhY2Q1OTMuZ3oKCjIwMDctMDktMTMgMjA6NDY6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBkZWJ1Z3MKCSAgMjAwNzA5MTMyMDQ2MTQtNGYwZjYtNjhjMmE2OWFlN2ExZWZjYTZlMTNjMTE2ZGJhZDdmOWI2ODZmMDI0Mi5negoKMjAwNy0wOS0xMyAxOToyMDo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2Ugc3VyZSB0byB1bmxvY2sgdGhlIHRocmVhZCB3aGVuIGdvaW5nIHRvIHJlYWR5IGFuZCB0byBmbHVzaCB0aGUgcXVldWUgd2hlbiBtb3ZpbmcgdG8gcGF1c2VkIG9yIHBsYXlpbmcKCSAgMjAwNzA5MTMxOTIwNTMtNGYwZjYtNzZjMzkyNTM4MGQxYTMwOTg4Mjg2MTcwNTM1YTY1ZGVhNjRhNTU4My5negoKMjAwNy0wOS0xMyAxNzo1NToyMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdlZCBkdG1mc3JjIGludG8gYSBzdWJjbGFzcyBvZiBHc3RCYXNlU3JjCgkgIDIwMDcwOTEzMTc1NTIwLTRmMGY2LTE2Y2E0YmY5MzY5MDA3MmYzZTgzNmQxYzhhNWI1MmNmN2E0MjE5MTYuZ3oKCjIwMDctMDktMDQgMjI6NTc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgYW5vdGhlciBmaXggZm9yIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24KCSAgMjAwNzA5MDQyMjU3NTMtNGYwZjYtNWJhOGM0MjYwYzAwMmJiMjdlYjk4ZTlmYWJhM2MxNTc5OTM1N2I1Ny5negoKMjAwNy0wOS0wNCAyMTo1MjoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29tbWVudCB0byBleHBsYWluIHB1c2ggYmFjawoJICAyMDA3MDkwNDIxNTIyNC0zZTJkYy1kOTJhYzFmNDAzZGNmNTcxNTQ2YTdjNTNmMTg4MDlmODQwZWVhNTFkLmd6CgoyMDA3LTA5LTA0IDIwOjU1OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZG8gdGhlIGxvY2tpbmcgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggY2xvY2sgdW5zY2hlZHVsaW5nCgkgIDIwMDcwOTA0MjA1NTA5LTNlMmRjLWRhMTk5MDBiNTFhZjZhZWRiNjU0N2Y0ZjM5MmJlZjRkMTA2MWRlYzIuZ3oKCjIwMDctMDktMDEgMDA6MDM6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBJIGRpZCBpdCBhZ2Fpbi4uLgoJICAyMDA3MDkwMTAwMDMyNC00ZjBmNi0zZDhiNDY2OTFlZTUyMDUzN2IwNmM1MTFhNWU3MzJmNWI4MTJiODQ0Lmd6CgoyMDA3LTA4LTMxIDIzOjU0OjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3Vwcywgc29ycnkuLiBEVE1GLCBub3QgUlRQX0RUTUYgZm9yIHRoaXMgZmlsZS4uLgoJICAyMDA3MDgzMTIzNTQyOC00ZjBmNi0wMGI2MDZiZmI0ODkyZTRmMjE3YzQ0MGI2MTFjYzc5NGFiMGRlNTVhLmd6CgoyMDA3LTA4LTMxIDIzOjQ0OjEzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZXMgdGhlIGRlYWRsb2NrIHdoZW4gcGF1c2luZyB0aGUgZHRtZnNyYyBhbmQgcnRwZHRtZnNyYy4gSGFkIHRvIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBhc3luYyBxdWV1ZSB0byByZWxlYXNlIHRoZSBibG9ja2luZyBhc3luY19xdWV1ZV9wb3AoKS4gVGhhbmtzIHRvIE9saXZpZXIgZm9yIHRoZSBzb2x1dGlvbi4KCSAgMjAwNzA4MzEyMzQ0MTMtNGYwZjYtNzkzY2YzNWZjNDM2MzZlNzI3NTI1OGNjNzA2M2ZjMDY4ZjVlZmEwYS5negoKMjAwNy0wOC0yOCAyMjoxNTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsb2NrSUQgd2hlbiB3YWl0aW5nIGZvciBidWZmZXIgaXMgbm93IHVuc2NoZWR1bGVkIHdoZW4gc3RvcHBpbmcgdGhlIHRhc2suIFZhcmlvdXMgZml4ZXMgdG8gYXZvaWQgYnVncyAodGhhbmtzIHRvIC1XYWxsIC1XZXJyb3IpLiBGaXhlcyB0byBhbGxvdyB0aGUgbWVyZ2Ugb2YgdGhlIGJyYW5jaC4KCSAgMjAwNzA4MjgyMjE1MzQtNGYwZjYtYjBkNmE0ZmU0OGM0ZTJhMTZiOWZmNjljYjMxMDA4N2M5NzBjZTQ4ZS5negoKMjAwNy0wOC0yOCAxNzoxNTo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW5lZCB1cCB0aGUgY29kZSBhIGJpdCwgbm8gdXNlIG9mIEdTVF8qIGFuZCByZXR1cm4gdmFsdWUgdmVyaWZpY2F0aW9uIGZyb20gZ3N0XyoKCSAgMjAwNzA4MjgxNzE1NDYtNGYwZjYtYmRlYjRiMWI3Zjk5Zjk0NjRhYWJlNWM0M2JkNGE0ZDIwMjUyNjJiNi5negoKMjAwNy0wOC0yNyAxOTo1NjoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvdmVybHkgbG9uZyBsaW5lcyBhbmQgdGFicwoJICAyMDA3MDgyNzE5NTYxMC0zZTJkYy0zOTZhM2ZhMDFlMTZmMTg0ZTQxMDljNzFmZTJkZWI2ZTUxNmJkZjBkLmd6CgoyMDA3LTA4LTI3IDE5OjI2OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1bnRhYmJpZmllZCBkdG1mc3JjCgkgIDIwMDcwODI3MTkyNjE4LTRmMGY2LTc3ZDY4MDcwNDY0ZjFiNWY5YTQ2Y2I2ZWVjMmQ5MjIzNDAxNDNjMDQuZ3oKCjIwMDctMDgtMjcgMTc6MjQ6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcHMgYnkgc2VuZGluZyBhIG5ld19zZWdtZW50IGV2ZW50IHRvIHRoZSBwYXlsb2FkZXIKCSAgMjAwNzA4MjcxNzI0MjQtNGYwZjYtZDIwOTA3ZTNkNDM2ZDUwYmZlNzRlYjRmYzNkMmQ2ZDdiNmI2ZGJjNS5negoKMjAwNy0wOC0yNyAxNzoyMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEJldHRlciBoYW5kbGluZyBvZiBwYWNrZXRzLCB3ZSBzZW5kIHRoZSBzYW1lIGR1cmF0aW9uIGZvciBhbGwgcGFja2V0cyB0byBhdm9pZCBodWdlIHBhY2tldHMgd2hlbiBtaW4gZHVyYXRpb24gZGVmaW5lcyBhcmUgbW9kaWZpZWQuCgkgIDIwMDcwODI3MTcyMzM5LTRmMGY2LWNjOTMzMDQ0MzdlYTM3NmZmZjY0NThjNzRjNDZjMTlmNjkyMGQzMjkuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2luZyBtaW5pbXVtIHZhbHVlcyB0byB3b3JrIGJldHRlciBvbiBzb21lIGdhdGV3YXlzCgkgIDIwMDcwODI3MTcyMzIyLTRmMGY2LTViZjJiZmZhNTlhODI0NDUzOGRjZWQ3OTVmYTdkNzY0OTQ1MmNhOTEuZ3oKCjIwMDctMDgtMjIgMjA6MTY6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgRFRNRiB0b25lIGdlbmVyYXRvciBub3cgcmVzcGVjdHMgdGhlIHZvbHVtZSBhcmd1bWVudCBwYXNzZWQgaW4gdGhlIGV2ZW50CgkgIDIwMDcwODIyMjAxNjUzLTRmMGY2LThiN2ZmODc0MDA2ZTExZjVhNzRkMGZkOTFlNWE5YTQzY2QwODJhZGEuZ3oKCjIwMDctMDgtMjIgMTg6MDE6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkb24ndCBrbm93IHdoeSBJIGRpZCB0aGF0Li4uCgkgIDIwMDcwODIyMTgwMTMzLTRmMGY2LTZhNzM4MmY2YzdkMzYzMGY5MWRhMzg0ZTE5MDQ3NjNjN2VhNmZhMWEuZ3oKCjIwMDctMDgtMjIgMTc6NTU6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnRlZCB0aGUgZXZlbnQgcXVldWUgd29yayBmcm9tIGR0bWZzcmMgdG8gcnRwZHRtZnNyYwoJICBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIHJ0cGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2gKCSAgdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIyMTc1NTMzLTRmMGY2LWYyNzQxNGM0MDZmMWY3YjAwYzlhOTA4NGE5ODhjZjNhNzkzMGZlNWMuZ3oKCjIwMDctMDgtMjIgMTc6NTQ6NDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdWNoLCBwcmludGluZyB3aXRoIGFyZ3VtZW50cyBidXQgd2l0aG91dCAlcy4uIHRoYXQgbWFkZSBpdCBzZWdmYXVsdCBhIGZldyB0aW1lcy4uLgoJICAyMDA3MDgyMjE3NTQ0NC00ZjBmNi00NDVlYTZjZTdhOTY2OGQwNGNmOTk5YWY3NzJhNTA0ZWM3NGZiNjdhLmd6CgoyMDA3LTA4LTIyIDE3OjUxOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGV2ZW50IHRvIGR0bWZzcmMgc3RydWN0dXJlIHNpbmNlIHdlIGhhdmUgb25seSBvbmUgZXZlbnQgYXQgYSB0aW1lLCBzbyBsZXQncyBrZWVwIGl0IHN0b3JlZCBpbiB0aGUgZHRtZnNyYyBzdHJ1Y3QKCSAgMjAwNzA4MjIxNzUxMjYtNGYwZjYtNTNiY2RhMmJkOGFlOGM1NmQyOWU2MmU2OWFjMTlhMzBlMDhhZDM1MC5negoKMjAwNy0wOC0yMCAyMDozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMDIwMzgyNi00ZjBmNi03NTBhMjJiNjEyYTVlNDk1ZTc2NzY2NjkzNDQ2NWMzNGZlMzIwNzRiLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgZHRtZnNyYywgYSBEVE1GIFRvbmUgR2VuZXJhdG9yLCBhbmQgbWFkZSBpdCBwYXJ0IG9mIHRoZSAnZHRtZicgcGx1Z2luLgoJICAyMDA3MDgyMDE4NDg1Mi00ZjBmNi1hMGQ4NWU2NzcwODI5MGFlYmFmYTg5YWI3OWQzY2VkZDU4MTViNjIwLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogZ3N0L3J0cGR0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgcnRwZHRtZiB0byBkdG1mIGRpcmVjdG9yeQoJICAyMDA3MDgyMDE4NDgwMC00ZjBmNi1mYTMzZWE5NzQ1MTAxNjFkZThjOTk1MWMzOTA4N2FmMzYxM2I2NWE0Lmd6CgoyMDA3LTA3LTEyIDE5OjU3OjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBhbGwgcGFja2V0IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGluY2x1ZGluZyB0aGUgbGFzdCBvbmUKCSAgMjAwNzA3MTIxOTU3MTUtM2UyZGMtNjg0OGM3MGE3ZjAxMzdjOTFmYTg4MmE4ZWZiNmRiZjgzODkxYWUxMy5negoKMjAwNy0wNy0xMiAxOTo1NToyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgbm9uLXplcm8gZHVyYXRpb24gaW4gZmlyc3QgcGFja2V0IGFuZCBwdXQgYSBtaW5pbXVtIGR1cmF0aW9uIG9mIDUwbXMKCSAgMjAwNzA3MTIxOTU1MjgtM2UyZGMtZDQ2ZWRlYWFiODRmYjU1ZTc0ODQyYmRjZjRmODc5MmRmY2RiMDQ1Ny5negoKMjAwNy0wNy0xMiAxNjoyMzoyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcCBvbiBkdG1mIHBhY2tldHMKCSAgMjAwNzA3MTIxNjIzMjgtM2UyZGMtOThjMTMwM2Y0YTUyYjg5MWNlNTliZjg4ZTA3ZDI5ZjRlMmRmYzk3NC5negoKMjAwNy0wNy0xMSAxNTo1MjowMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNldCBtYXJrZXIgb24gdmVyeSBmaXJzdCBwYWNrZXQgb2YgYW4gZXZlbnQKCSAgMjAwNzA3MTExNTUyMDItM2UyZGMtZjdlYTNhYmQyY2IwY2EyOTM3ZWE0NTA4ZTZlMzAxYmFhYTZlMjE1NC5negoKMjAwNy0wNy0xMSAxNTo1MTo1NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIG9uIHBhY2tldCBzdGFydCB0aW1lCgkgIDIwMDcwNzExMTU1MTU3LTNlMmRjLWVlMGU5ZmMxM2QzNTI5NjU5MzAwNTI2N2EyNDE3ZGQ2NWU3OTBkMjkuZ3oKCjIwMDctMDctMTEgMTU6NTA6NTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUlRQIHRpbWVzdGFtcCBpcyB0aGUgdGltZSBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkdG1mIGV2ZW50CgkgIDIwMDcwNzExMTU1MDU2LTNlMmRjLWNiNWNkYTczZmJmN2RmMWM1NDVjYjAzMjFiMGUzMzk5MTRjNTg5N2YuZ3oKCjIwMDctMDQtMjQgMjA6MDI6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gODAgY29sdW1uIGlzIGVub3VnaCBmb3IgZXZlcnlvbmUKCSAgMjAwNzA0MjQyMDAyNTItM2UyZGMtZDFiYzE3MjY2YWZmZjI1OTkxMjlhMjVkNDQzMzgwNjIzNzJmN2VhMy5negoKMjAwNy0wNC0yNCAxOTozMTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCByZWR1bmRhbmN5IGFuZCBpbnRlcnZhbCBwcm9wZXJ0aWVzIHRvIHJ0cGR0bWZzcmMgKHBhdGNoIGJ5IFNQIEdMRSA8c3BnbGVnbGVAeWFob28uZnI+KQoJICAyMDA3MDQyNDE5MzE1NS0zZTJkYy02NjY4ODAwMWU3YjUyOWM0NmYxMDg2MzNjZDk1MjAzNDdjM2M4YzNlLmd6CgoyMDA3LTA1LTA0IDE5OjUyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2VuZCBkdG1mIGlmIHRoZSBtZXRob2QgaXMgdW5zcGVjaWZpZWQgb3IgaXMgMQoJICAyMDA3MDUwNDE5NTI1MS0zZTJkYy1iOTViNGI4ZThkYWQ4Nzk2MmNmMzllYzJlZTY3YjZmMWI2MTllOWJkLmd6CgoyMDA3LTAzLTA4IDIyOjM1OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZG9jdW1lbnRhdGlvbiBjb25zaXN0ZW50IHdpdGggaXRzZWxmCgkgIDIwMDcwMzA4MjIzNTU5LTNlMmRjLWNjMjBmZTU3MTM3MGJjNTFiZjk2M2NjM2RmMWI4YWI0YTNkZGMyMGIuZ3oKCjIwMDctMDQtMTIgMjA6MDQ6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2Ugc2VnbWVudCB0byBjYWxjdWxhdGUgZHRtZnNyYyBydHAgdGltZXN0YW1wCgkgIDIwMDcwNDEyMjAwNDM1LTNlMmRjLWI1Y2MyNmIxMmI2ZThiODlmMTMxZmQyN2YwZTQ2Mjc3NDZlODU2OTcuZ3oKCjIwMDctMDQtMDIgMTI6NDY6MzUgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4tdXAgYW5kIHJlZmFjdG9yaXplIGR0bWZzcmMgY29kZQoJICAyMDA3MDQwMjEyNDYzNS02NTAzNS0zZDEzMjQ0NDYxYzFkZDFmY2M5NmI3NDEyNGFkN2E3NGQyZmYwMTQ0Lmd6CgoyMDA3LTAzLTMwIDE1OjQzOjAzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vb3BzLCBsaXR0bGUgdHlwbwoJICAyMDA3MDMzMDE1NDMwMy0zZTJkYy05ZjZlZGNkZTI0ZDMwY2FlYThlYTg3NmIyNGEzYTY4MGQ0MGIyZWExLmd6CgoyMDA3LTAzLTMwIDAwOjE3OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBnZW5lcmF0ZSB0aGUgcHJvcGVyIHJ0cCB0aW1lc3RhbXBzIGluIHN5bmMgd2l0aCB0aGUgbGl2ZSBzb3VyY2UKCSAgMjAwNzAzMzAwMDE3MDAtM2UyZGMtYmJmOTU0ZTRlZGVjMDYxNWM0ZWVlNjAzZmJjNmFiOGE3ZDg5NDM2Zi5negoKMjAwNy0wMy0yOSAxMTo0Mjo1NyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbmNyZW1lbnQgdGhlIHRzIGFmdGVyIHNldHRpbmcgdGhlIGJ1ZmZlcidzIHRzCgkgIDIwMDcwMzI5MTE0MjU3LTY1MDM1LWM4Njg2YWI0Y2UyMGIxZjM2ZjNkYWMxMjA0ODVhZGU1Y2Q5MGFhYzkuZ3oKCjIwMDctMDMtMjkgMTA6Mzk6NDYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsY3VsYXRlIHRoZSBydHAgdHMgYmVmb3JlIGdzdCB0cyBnZXQgaW5jcmVtZW50ZWQKCSAgMjAwNzAzMjkxMDM5NDYtNjUwMzUtZjc0ZTNhMDE0MGM1N2U5NDE0NDRiYjgzN2Q2MDUzYWQxYzNjZjU2Ny5negoKMjAwNy0wMy0yOSAxMDozOTowNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIGNvZGUtY2xlYW51cAoJICAyMDA3MDMyOTEwMzkwNC02NTAzNS1kYjA4Y2M3YzMwOThiNjBhNTU2ZDM4MDlkZTkxMmNkMGUxYTU0NWMxLmd6CgoyMDA3LTAzLTI5IDEwOjM4OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEluaXRpYWxpemUgdGhlIEdzdFNlZ21lbnQgYXQgdGhlIHJpZ2h0IHRpbWUKCSAgMjAwNzAzMjkxMDM4MjQtNjUwMzUtOWFiM2EwYTAzYzVmOTMyOWNkNDYyNWFlNjU2N2MyYzFmZDRhNzNkOC5negoKMjAwNy0wMy0yNiAxMDo1NzoxMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxsIHNldF9jYXBzIHdoZW4gd2UgaGF2ZSBhbGwgdGhlIHBhcmFtcwoJICAyMDA3MDMyNjEwNTcxMi02NTAzNS0zZTNkZmNlMGI1MGQ2MWVhZmRhODQ2YmVlMGE2ZDY2YzM1NDFjNmVkLmd6CgoyMDA3LTAzLTIzIDE2OjI5OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBjYXBzIG9uIHRoZSBidWZmZXIgYmVmb3JlIHB1c2hpbmcgaXQKCSAgMjAwNzAzMjMxNjI5MjItNjUwMzUtOWU0YmU1NDQ5Yzc5YzBhNDU5OTY1ZWUwN2FkYjRhODE0M2M0YzFkNS5negoKMjAwNy0wMy0xNCAxNzoxNzo1NiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXF1ZXN0IGZvciBzdHJlYW0gbG9jayB3aGVuIGdlbmVyYXRpbmcgRFRNRiBwYWNrZXRzCgkgIDIwMDcwMzE0MTcxNzU2LTY1MDM1LTBiNDk3ZGZhYzIwM2ZmNGY1Nzk1MjU0ODVkNTgwNGU1ZjUwOTNiM2YuZ3oKCjIwMDctMDMtMDcgMTE6NDE6MDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29ycmVjdCBjYXBzIHByaW50b3V0CgkgIDIwMDcwMzA3MTE0MTA5LTY1MDM1LTEyNDIwMjg4NDkxOGE5YzhhODAzMDgwZDY5NjcyMzQ1MzlkMjRiOTcuZ3oKCjIwMDctMDItMTYgMTI6MDY6MDYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGRvYy1zZWN0aW9uIGNvbW1lbnRzCgkgIDIwMDcwMjE2MTIwNjA2LTY1MDM1LTZlN2QyODcyMWRjMDg3MmYzZjU1YmE3Y2NkNGZlZDNkNjZmODE3NWYuZ3oKCjIwMDctMDItMTUgMTM6NDg6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29weXJpZ2h0cwoJICAyMDA3MDIxNTEzNDg1My02NTAzNS01MGZlNWY4ZTk5OWFlODZhMWUzYmEwZGJkZWNlNDkxMWViOWRjY2EwLmd6CgoyMDA3LTAyLTE1IDEzOjM1OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE5vIG5lZWQgdG8gaGFuZGxlIGRvd25zdHJlYW0gZXZlbnRzCgkgIDIwMDcwMjE1MTMzNTM2LTY1MDM1LTY0OGI3OTFkNDA0YmYwNjkwMGJkMjY5OGQ5MjUxMTdjODk3NDNkYjkuZ3oKCjIwMDctMDItMTUgMTI6MjY6NTUgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQXR0ZW1wdCB0byBjb3JyZWN0IGV2ZW50IGhhbmRsaW5nCgkgIDIwMDcwMjE1MTIyNjU1LTY1MDM1LTQ3MDcwZDlhMjhjMDhkOTM1M2IwNGQyZDkzMDFlMjliN2VlNzJiODMuZ3oKCjIwMDctMDItMTUgMTA6MjY6MjkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHBhdXNlX3Rhc2sgaW5zdGVhZCBvZiBzdG9wX3Rhc2sgdG8gYXZvaWQgYW55IHBvc3NpYmxlIGRlYWRsb2NrcwoJICAyMDA3MDIxNTEwMjYyOS02NTAzNS1hNDhjNzczNjYxZTM4NWE5MWUwMjJlMGFjMWRhMDg2MmM0MjA2Zjg1Lmd6CgoyMDA3LTAyLTE1IDEwOjEwOjMwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IGNvcnJlY3Qgc2VxIGFuZCB0aW1lc3RhbXBzIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMjE1MTAxMDMwLTY1MDM1LTcxNDZhM2M0YThkMGZlYWI1MTNkMTNhMjA3YjJjZGM1ZGUzMTFmMDMuZ3oKCjIwMDctMDItMTQgMTM6NTU6MDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdGhlIGNvcHlyaWdodCBub3RpY2UKCSAgMjAwNzAyMTQxMzU1MDEtNjUwMzUtZTkwNzUzYjFmNjUyNWY3YjljMGFjMmViN2U0MGNlZjdjYTY3M2U2OC5negoKMjAwNy0wMi0xNCAxMzoxMzo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3J0cGR0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIFJUUCBEVE1GIGV2ZW50IHBhY2tldCBnZW5lcmF0b3IgZWxlbWVudCBhbmQgdGVzdCBhcHAgZm9yIGl0CgkgIDIwMDcwMjE0MTMxMzUyLTY1MDM1LTNjMTRhMTA0N2MzY2Q2Njk2ZjNhNzE2YTYyYjIxZDNmNGI5ZGE2MmIuZ3oKCjIwMDktMDEtMzAgMDk6MDM6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhY3R1YWxseSBzZXR0aW5nIHVwIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgaG9vawoKMjAwOS0wMi0yMSAxNzo0NTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZGQgcmVhZC1vbmx5IHByb3BlcnR5IHRvIGdldCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YQoKMjAwOS0wMi0yMSAxNzo0MDowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IEFkZCBNUEVHIHZpZGVvIGJpdHJhdGUgdG8gdGhlIHRhZ3MgaWYgYXZhaWxhYmxlCgoyMDA5LTAyLTIxIDE3OjM4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFBvc3Qgc3RydWN0dXJhbCBtZXRhZGF0YSB0cmVlIGFzIHRhZyBvbiB0aGUgYnVzCgkgIFRoaXMgd2lsbCBsYXRlciBiZSB1c2VkIHRvIGtlZXAgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgd2hlbgoJICByZW11eGluZyBhbiBNWEYgZmlsZSBhbmQgY2FuIGFsc28gYmUgdXNlZCBpbiBQaXRpdmkgZm9yIGV4YW1wbGUKCSAgdG8ga25vdyB0aGUgZmlsZSBzdHJ1Y3R1cmUgYW5kIHRvIHNlbGVjdCB3aGF0IHNob3VsZCBiZSB1c2VkCgkgIGFuZCBwbGF5ZWQuCgoyMDA5LTAyLTIxIDE2OjA5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZkZW11eDogRml4IGNhbGN1bGF0aW9uIG9mIEFFUzMgYml0cmF0ZSB0YWcKCjIwMDktMDItMjEgMTY6MDU6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgbXhmZGVtdXg6IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBNWEZyYWN0aW9uIHRvIGdkb3VibGUgYW5kIHVzZSBpdAoKMjAwOS0wMi0yMSAxNjowMDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGZkZW11eDogT25seSBzdG9yZSB0aGUgbWFpbiBkZXNjcmlwdG9yIGluIHNvdXJjZSBwYWNrYWdlcwoJICBGb3IgdGhlIHRyYWNrcyB3ZSBzdGlsbCByZXNvbHZlIHRoZSBkZXNjcmlwdG9ycyBidXQgdGhlCgkgIHNvdXJjZSBwYWNrYWdlIG9ubHkgY29udGFpbnMgdGhlIGRlc2NyaXB0b3IgaXQgcmVhbGx5IHJlZmVyZW5jZXMKCSAgaW5zdGVhZCBvZiBhbGwgc3ViZGVzY3JpcHRvcnMgb2YgbXVsdGlwbGUgZGVzY3JpcHRvcnMuCgkgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIGxhdGVyIHRvIHNlcmlhbGl6ZSB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YQoJICBhZ2Fpbi4KCjIwMDktMDItMTcgMTc6Mzc6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogU2V0IGZyZWUnZCBtZW1vcnkgdG8gTlVMTCB0byBwcmV2ZW50IGEgZG91YmxlIGZyZWUgbGF0ZXIgaW4gc29tZSBjYXNlcwoKMjAwOS0wMi0xNSAwOTo1MToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgZ2VuZXJpYyBtZXRhZGF0YSBwYXJzZXJzIGZvciB1bmtub3duIG1ldGFkYXRhLCB0aGUgcmVzdWx0cyBhcmUgdXNlbGVzcyBhbnl3YXkKCjIwMDktMDItMTkgMTE6MzY6NDUgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHMvZmx1dHMvbXBlZ3RzCgkgIENoYW5nZSBhbGwgZGVmaW5pdGlvbnMgZnJvbSBmbHV0cyB0byBtcGVndHMuCgoyMDA5LTAyLTEwIDE4OjU4OjQwICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBkb2MgaW5mcmFzdHJ1Y3R1cmUgdG8gdmFsdmUKCjIwMDktMDItMTAgMTg6NTI6NTQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgRG9jdW1lbnQgdGhlIEdzdFZhbHZlCgoyMDA5LTAyLTEwIDE4OjAzOjI2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkgIE1vdmVkIHZhbHZlIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0xMCAxNzo1NzoxNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFJlbmFtZSBmc3ZhbHZlIHRvIHZhbHZlCgoyMDA5LTAyLTEwIDE3OjU1OjQ3ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFJlLWluZGVudCB2YWx2ZSBpbiBnc3Qgc3R5bGUKCjIwMDgtMTItMTMgMDA6MzE6NDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSWdub3JlIGVycm9ycyBpZiBkcm9wcGluZyBpcyBzZXQgdG8gdHJ1ZQoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTEwIDE3OjAwOjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBnZXRjYXBzIHByb3h5aW5nIHRvIHRoZSB2YWx2ZQoKMjAwOC0wOC0yMCAxNDoxMTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmViYXNlIHZhbHZlIG9udG8gZ3N0ZWxlbWVudCBpbnN0ZWFkIG9mIGJhc2V0cmFuc2Zvcm0KCjIwMDgtMDgtMTkgMTg6NDk6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV2ZXJ0ICJGaXggcmVmY291bnRpbmcgaXNzdWVzIGluIHByZXBhcmVfb3V0cHV0X2J1ZmZlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2NWRkNDYwZjBhM2E5YzQ4ODJlNjM4Yzg2MjA4Zjc0ZWY2MmMzNDYwLgoKMjAwOC0wOC0wNSAxMTozMDo1NyArMDAwMCAgc2pvZXJkQGx1b24ubmV0IDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCByZWZjb3VudGluZyBpc3N1ZXMgaW4gcHJlcGFyZV9vdXRwdXRfYnVmZmVyCgkgIDIwMDgwODA1MTEzMDU3LWJlMGYyLTlkYzI3MDc4MWYwYTBmMjFjNjE2ZWQxMWRiZDFmMTk4ZmQxYjMyNmUuZ3oKCjIwMDgtMDQtMDkgMTY6MzI6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGRpc3Bvc2UgbWV0aG9kIGluIHZhbHZlCgkgIDIwMDgwNDA5MTYzMjIxLTNlMmRjLTkyY2NiMmRiODc0ZTQ2ZTBkOTJjMTU1MjA1NzdjMWJlMGUyYmM2MTcuZ3oKCjIwMDctMTItMTkgMjA6MzI6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb250IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoaWxlIGNhbGxpbmcgYmFzZSBhbGxvYyBmdW5jdGlvbgoJICAyMDA3MTIxOTIwMzIzMC0zZTJkYy02NTE5MTc1ZDhkODE0OTY1MTViMmQ5MDYwYWMzMTY2NTA1NjBmNjkxLmd6CgoyMDA3LTEyLTE5IDIwOjMyOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCB0aGUgRElTQ09OVCBmbGFnIGFmdGVyIGRyb3BwaW5nIGJ1ZmZlcnMKCSAgMjAwNzEyMTkyMDMyMTgtM2UyZGMtYmM1ZjAzZDg4ZmY1ODM3MDQwYjkyMTRkZTAxNmNjMTQyNzc2ZGZjMi5negoKMjAwNy0xMi0xOSAwMDo1NzozOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZG8gdGhlIGFsbG9jX2J1ZmZlciBmdW5jdGlvbiBpbiB0aGUgdmFsdmUKCSAgMjAwNzEyMTkwMDU3MzktM2UyZGMtMmEwZmRmYTJmMzhmMDNhYjQ3OTFmZTVjNGFiODVlODc5MDExMzY4My5negoKMjAwNy0xMS0yMSAyMDowODo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2V0IHBhc3N0aHJvdWdoIHRvIFRSVUUgb24gbmV3ZXIgdmVyc2lvbnMgb2YgZ3N0CgkgIDIwMDcxMTIxMjAwODU4LTNlMmRjLWIxNmNkZWFiYmMzYzA1NjJjNmZjN2IxMWI5Yjk3OTJjOTEwZjU2OWUuZ3oKCjIwMDctMTEtMjEgMTg6MTc6MjkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wYXJlIG1pbm9yLCBub3QgbWFqb3IKCSAgMjAwNzExMjExODE3MjktM2UyZGMtYTU5OTdjM2I3ZjVjODY5NjYzNzA5Njk3MTRmYWNmOGVlMjQyNjU5ZC5negoKMjAwNy0xMC0yNiAyMjozNzo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHZhbHZlIGVsZW1lbnQgd29yayB3aXRoIGdzdCA8IDAuMTAuMTMKCSAgMjAwNzEwMjYyMjM3NDktM2UyZGMtMThmNjg1YTRlNDVmYmRjZTY3N2FjNzc3NTg2ODc2ZmM3MTlkNzIyMi5negoKMjAwNy0xMC0yNCAyMjo0Mjo0NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIHZhbHZlIHRvIGZzdmFsdmUKCSAgMjAwNzEwMjQyMjQyNDYtM2UyZGMtYzU0MjE2YWYyZWYwZWYzZjFhMjIwNmQ3MjNlODdiZTJhMjNhYjhlZC5negoKMjAwNy0xMC0yNCAyMjo0MTo0NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHZhbHZlIGVsZW1lbnQKCSAgMjAwNzEwMjQyMjQxNDctM2UyZGMtZjI4YWIwYzA3M2UyODM4OTRiNjVjMjJjNGY0NDM5N2M4OTdkZWMwMS5negoKMjAwOS0wMi0xMCAxOToyMDoyNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIHRvIHRoZSBzaXJlbiBlbmMvZGVjIHBsdWdpbnMKCjIwMDktMDItMTAgMTk6MjA6MTkgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgUmUtaW5kZW50IHRoZSBzaXJlbiBzdHVmZiB0byBiZSBnc3Qgc3R5bGUKCjIwMDktMDItMTAgMTc6Mjk6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSAgTW92ZWQgc2lyZW4gZnJvbSBnc3QtcC1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTEwIDE3OjIzOjM4ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkgIE1vdmUgc2lyZW4gcnRwIHBheS9kZXBheSAgdG8gZ29vZAoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEwLTA1IDIyOjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCB1bmRlcnNjb3JlIHRvIG1ha2UgdGhlIGVuY29kZXIgbGlrZSB0aGUgZGVjb2RlcgoKMjAwOC0xMC0wNSAyMjowMTo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgb2Zmc2V0IHRvIG91dF9vZmZzZXQgdG8gbWFrZSBpdHMgbWVhbmluZyBjbGVhcmVyCgoyMDA4LTEwLTA1IDIyOjAwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoZWNrIHRoZSBzaXplIG9mIHRoZSBpbnB1dCBidWZmZXIsIG5vdCB0aGUgb3V0cHV0IGJ1ZmZlcgoKMjAwOC0wOS0xNiAxNTo0MDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcmVzZXJ2ZSB0aW1lc3RhbXAKCjIwMDgtMDctMDQgMjI6MjE6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY2hlY2tzLCBkb2N1bWVudCBsb2NraW5nCgkgIDIwMDgwNzA0MjIyMTAzLTNlMmRjLTQ3YTdmNDljNDE0Zjk4YTE4OGZmYzQyYjA3MTg5ZGFmNTE0NzQ4M2IuZ3oKCjIwMDgtMDctMDQgMjI6MTc6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbWFrZSBzaXJlbmVuYyB0aHJlYWQgc2FmZQoJICAyMDA4MDcwNDIyMTc0My0zZTJkYy1mOTNkYTg2NDM4Zjc1M2UxNGJlMjUxNjZhZWU0NWY4ODAyZjdkMTAwLmd6CgoyMDA4LTA3LTA0IDIwOjE4OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcGxhY2UgdXNlIEdTVF9ERUJVR19PQkpFQ1QgaW4gc2lyZW5lbmMKCSAgMjAwODA3MDQyMDE4MzAtM2UyZGMtOGYzZTQwMWFhYTU5NGM4Y2M1ODUzYjczZjQxY2E1Y2IwNDdlZTJkMy5negoKMjAwOC0wNy0wNCAyMDoxNzo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBzaXJlbmRlYyB0byBHc3RlbGVtZW50CgkgIDIwMDgwNzA0MjAxNzQ0LTNlMmRjLTk5YmY3Yjg2ZTQyZGEzNjNkOGM4MjY0NDlkODRiNDM3NTE1NzJkNWUuZ3oKCjIwMDgtMDctMDQgMjA6MDQ6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWxlYXNlIHJlZiBhdCB0aGUgZW5kIG9mIGNoYWluCgkgIDIwMDgwNzA0MjAwNDU0LTNlMmRjLTM4NmYyNjg1ODgyYTc0ZDAxY2U1MDNmOTEzOTZlYTM3NTA2ZGJlODMuZ3oKCjIwMDgtMDctMDQgMjA6MDM6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjYWxsIHRvIHBlZWtfcGFyZW50CgkgIDIwMDgwNzA0MjAwMzE1LTNlMmRjLTZiMzBlZmQyZDMyYjZjYTk2NjA5ZjRiZGMwYzNlMjg2ZjQ0NDE3NDYuZ3oKCjIwMDgtMDctMDQgMjA6MDA6MjkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIEdzdFNpcmVuRW5jIHVzZSBHU1RfKl9PQkpFQ1QgYXBwcm9wcmlhdGVseQoJICAyMDA4MDcwNDIwMDAyOS0zZTJkYy1mNjhmZGFhYTg5MjkwMzlmZDg0MTNmZjBiZjhmZjUxNGY2ZTRmYmUxLmd6CgoyMDA4LTA3LTA0IDE5OjUxOjAyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgc2lyZW5lbmMgdG8gZ3N0ZWxlbWVudAoJICAyMDA4MDcwNDE5NTEwMi0zZTJkYy1jZDc2ODc1MTJhYzU2MGZhYWYxNWY1M2UxZTI2MmQxODc0YTM2Y2RmLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0MzoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmVkIGRlYnVnIG91dHB1dAoJICAyMDA4MDQxMjIzNDMyNS00ZjBmNi0zNmI5NDZhN2NhM2FiNGU1ODAyOTE3Yjg5MzBmMDM2YzUwYTkzYTI5Lmd6CgoyMDA4LTA0LTEwIDIzOjQzOjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT3VwcywgdHlwbwoJICAyMDA4MDQxMDIzNDMyOC00ZjBmNi05NjJlMzc1ZTc4ZGEwNWVhYjUyODkyYTU3ZDMyMjZmZGQyZmZjODZkLmd6CgoyMDA4LTA0LTEwIDA3OjAxOjE2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuLy5naXQtZGFyY3MtZGlyOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuX2NvbnN0cy5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3Qvc2lyZW4vc2lyZW43Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBTaXJlbiBlbmNvZGVyL2RlY29kZXIvcGF5bG9hZGVyL2RlcGF5bG9hZGVyCgkgIDIwMDgwNDEwMDcwMTE2LTRmMGY2LTcyZmZiZGJiMjYyZjA3YmZhYmQxZTQ2OTk3M2EwMWIzMzU5YmVlNDUuZ3oKCjIwMDktMDItMTAgMTg6NDY6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgQWRkIGxpdmVhZGRlciB0byB0aGUgZG9jcwoKMjAwOS0wMi0xMCAxODozODoxMSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgRG9jdW1lbnQgdGhlIGxpdmVhZGRlcgoKMjAwOS0wMi0xMCAxNjoxODozMiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgTW92ZWQgbGl2ZWFkZGVyIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoJICBSZS1pbmRlbnQgbGl2ZWFkZGVyIGluIGdzdCBzdHlsZSBhbmQgYWRkIGl0IHRvIGNvbmZpZ3VyZQoKMjAwOC0xMi0xMyAwMDowOTo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBsb2cgZm9yIG1lc3NhZ2UgdGhhdHMgb24gZXZlcnkgYnVmZmVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTA4LTI3IDE3OjE2OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGxpdmVhZGRlciA6IEhhbmRsZSBqaXR0ZXIgaW4gaW5jb21pbmcgYnVmZmVycwoJICBJbmNvbWluZyBidWZmZXJzIChlc3BlY2lhbGx5IHRob3NlIGZyb20gYW4gUlRQIGNvbm5lY3Rpb24pIG1pZ2h0IGhhdmUgc2xpZ2h0IHRpbWVzdGFtcCBqaXR0ZXIuIFRoaXMgaXMgbm9ybWFsbHkgaGFuZGxlZCBieSBhdWRpb3NpbmsgKGFjY2VwdGluZyB1cCB0byA1MDBtcyBvZiBqaXR0ZXIpLgoJICBIZXJlIHdlIGFjY2VwdCBhIG1heGltdW0gaml0dGVyIG9mIDEwbXMuIElmIGEgYnVmZmVyIGlzIHdpdGhpbiAxMG1zIG9mIHRoZSBleHBlY3RlZCB0aW1lLCB3ZSBjb3JyZWN0IGl0cyB0aW1lc3RhbXAuCgoyMDA4LTA3LTA0IDE4OjU3OjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgaGFuZGxpbmcgb2YgcG9zaXRpb24gcXVlcnkgdG8gbGl2ZWFkZGVyCgkgIDIwMDgwNzA0MTg1NzIxLTNlMmRjLTdhNjg3ZTM0NmU3NGI0NGZhODQ3YzVlNWI2ZWI2NGMzZTA5NDk3NjQuZ3oKCjIwMDgtMDUtMjEgMTc6MjA6MDUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcGxhY2UgQzk5IGxsYWJzIHdpdGggQzg5IGNvZGUKCSAgMjAwODA1MjExNzIwMDUtM2UyZGMtOGU2MzdkMWRhYTBlMjdjYzJlZGFlMWZkZmQwZGJmMjM4OTZmYjViYy5negoKMjAwOC0wNS0xNSAwMToyMjo1NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgdmFycyBiZWZvcmUgcmVzdGFydGluZyB0aHJlYWQgb24gZmx1c2ggc3RvcAoJICAyMDA4MDUxNTAxMjI1Ny0zZTJkYy1lMzUyMTc1MmNmM2VhZjJiODc2N2Y0YzYyMGVhZGZjMjRhOGU4ZTMxLmd6CgoyMDA4LTA1LTE1IDAxOjIyOjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgZmlyc3QgdmVyc2lvbiBvZiBzZWVraW5nCgkgIDIwMDgwNTE1MDEyMjI3LTNlMmRjLTdmNTNmNzhkMWMzZGZkY2RiNmU3YWQ1M2U2YzdmMTZkNWU5OThhMDUuZ3oKCjIwMDgtMDUtMTUgMDE6MjE6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBkdXJhdGlvbiBxdWVyeSBmcm9tIGFkZGVyCgkgIDIwMDgwNTE1MDEyMTQyLTNlMmRjLTI3NjgxOTkxODNiZmI5ZDU2OWJlMTM4OWUzODJiZWRjMDJlM2U5NWUuZ3oKCjIwMDgtMDUtMTUgMDA6MDI6MTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmUgZmx1c2ggc3RvcCBpbnNpZGUgd2hlcmUgaXQgYmVsb25ncwoJICAyMDA4MDUxNTAwMDIxNC0zZTJkYy1jZGE1Y2RkZDFlYWQ1YzQ4YTU1NGU5ZTliYzc1YWU2ODQzN2JjZGZiLmd6CgoyMDA4LTA1LTE0IDIzOjQ5OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBIYXZlIHRoZSBsaXZlYWRkZXIgcmVtZW1iZXIgaWYgaXRzIHBsYXlpbmcgb3Igbm90CgkgIDIwMDgwNTE0MjM0OTQ4LTNlMmRjLTkwNjRhMjdhNTRhZWY1OTg0NDRhYTZhZDY0NjMzNDU5NzkxMjA4MjguZ3oKCjIwMDgtMDUtMTQgMjM6NDk6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1c2ggb3V0IGJ1ZmZlciBpZiB3ZSdyZSBub3QgcGxheWluZyB3aGlsZSB0aGVyZSBpcyBubyBjbG9jawoJICAyMDA4MDUxNDIzNDkxMC0zZTJkYy0xMDk2ZWI3ZGMzZmFkYTE5YWZjODFkY2Q1MzZkOWVkYzgyMWQwZGE5Lmd6CgoyMDA4LTA1LTE0IDIzOjI2OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBFbXB0eSB0aGUgcXVldWUgb24gZmx1c2ggc3RhcnQKCSAgMjAwODA1MTQyMzI2NDMtM2UyZGMtNWEzZjUyYTNmZDM3NzExNjRkZWE5NWJkMTQ0MTBkNzZiNGZjZTJhYS5negoKMjAwOC0wNS0xNCAyMzoxNzo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgcGFkIHByaXZhdGUgb24gZmx1c2ggc3RvcAoJICAyMDA4MDUxNDIzMTc1Mi0zZTJkYy0xMTNmZWMyZmFhZmMyZGMxMWMxZWFhODE4Y2I0ODhiNzFlNjAxZjliLmd6CgoyMDA4LTA1LTE0IDIzOjE2OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQYXNzIHBhZCBhcyBwYWQgdG8gcmVzZXRfcGFkX3ByaXZhdGUKCSAgMjAwODA1MTQyMzE2NDMtM2UyZGMtMDA2OTYwYjljZGMzY2U4ZTFmODkwZGM2ZDE5NDc3OGNiYzdjOTczNi5negoKMjAwOC0wNS0wMiAxOToxMDowNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJpbnQgZGVidWcgbWVzc2FnZSBpZiB3ZSByZXR1cm4gbm9uLW9rIGZyb20gY2hhaW4KCSAgMjAwODA1MDIxOTEwMDQtM2UyZGMtZjFmNzIzN2MwNmMxMTU4Y2YyN2UyOWQzMmE2OWRlMDZmNzExMjUwNi5negoKMjAwOC0wNS0wMiAxOTowOTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgcmV0dXJuIEVPUyBpZiB3ZSBoYXZlIG5vIHBhZHMKCSAgMjAwODA1MDIxOTA5NTQtM2UyZGMtNDEzNTEyMjVlOTA5ZTZkMDgzN2E2YTYwZTE4N2QzM2FiMTg2YWQ3Ni5negoKMjAwOC0wNS0wMSAyMDozMTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hlY2sgdGhhdCB0aGUgZm9ybWF0IGlzIE5PVCB0aW1lCgkgIDIwMDgwNTAxMjAzMTU0LTNlMmRjLTc4MGU0NmIxZjBmZTc2YTY2ZTJkNzlhMmViODVkNzY0ZmY1ZjE4MmYuZ3oKCjIwMDgtMDQtMjggMjI6MTc6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHVzZSBnX3F1ZXVlX2NsZWFyKCkKCSAgMjAwODA0MjgyMjE3MzctM2UyZGMtYmI4ZTQ3NDg3NTFjMjllMDg1NzMxM2EwOWY4NTA2N2FiMTJjM2ZlNC5negoKMjAwOC0wNS0wMSAyMDowOTo0MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUGFkIHB1c2ggZXZlbnQgYWZ0ZXIgdGhlIGxvY2sgaGFzIGJlZW4gdW5sb2NrZWQKCSAgMjAwODA1MDEyMDA5NDAtM2UyZGMtYWU1ZmVjNWY3OWYzMjc3N2JiYTY0OWQwZDcwMGQ0OWY3YmVkZmY0MC5negoKMjAwOC0wNS0wMSAxODoyNTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ3JlYXRlIGdlbmVyaWMgc2VnbWVudCBpcyBub25lIHJlY2VpdmVkIGFuZCByZWZ1c2Ugbm9uLXRpbWUgc2VnbWVudHMKCSAgMjAwODA1MDExODI1NTQtM2UyZGMtYWNlNWNhMDAwNDE0NDI4ZDZkOTQ0NzhhZGM1OTI3YzlmOTE5NzVkZi5negoKMjAwOC0wNC0yOSAxNDowODowMiArMDAwMCAgU2ltb24gTWNWaXR0aWUgPHNpbW9uLm1jdml0dGllQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgbWlzc2luZyBzZW1pY29sb24gKGRpZCBhbnlvbmUgdGVzdCB0aGlzPyEpCgkgIDIwMDgwNDI5MTQwODAyLTUzZWVlLTQxZmRiNDM5MWVkZGIxMjViN2UzNDAxOTQyN2NmYTVkYzhhZmQ2YzAuZ3oKCjIwMDgtMDQtMjkgMDA6MzY6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUm9idXN0bmVzcyBjaGVjaywgbWFrZSBzdXJlIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkgYmVmb3JlIHVzaW5nIHRoZSBoZWFkIGVsZW1lbnQKCSAgMjAwODA0MjkwMDM2MDAtNGYwZjYtNzA4YzY1NGI2NTgxMmNhZWIzNjEyMjQ4ZGJlMGIyZTYyNTY3YzI1MC5negoKMjAwOC0wNC0yOSAwMDozNDoxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjb25kaXRpb24KCSAgMjAwODA0MjkwMDM0MTItNGYwZjYtOWU4OTBhZDBhYzQ0Mjc5MWE4YjIyNjUwYTc1Y2I3NTRkN2YyZDcyMy5negoKMjAwOC0wNC0yOSAwMDowMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBjaGVjayBhZ2FpbnN0IGF1ZGlvX2J1ZmZlcl9jbGlwIHdoaWNoIGNhbiByZXR1cm4gTlVMTCBpZiB0aGUgYnVmZmVyIGlzIG91dHNpZGUgdGhlIGNsaXBwaW5nIHNlZ21lbnQKCSAgMjAwODA0MjkwMDAzMzktNGYwZjYtN2U0ZTMxZjA2NmI4N2UyOTI2NWRkYjM5Nzg5MjllNTFlZmJmZjQ3ZC5negoKMjAwOC0wNC0yOCAyMzo0OTo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb2JqZWN0IGxvY2tpbmcgaW4gc2V0Y2FwcwoJICAyMDA4MDQyODIzNDk0OC00ZjBmNi00NTg2NDM0YjQzMDhlMTE0ZjQ5NWU5MjY5OTZmYzE5NDgzYzEwNTZmLmd6CgoyMDA4LTA0LTI4IDIzOjQ5OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnX2NvbmRfYnJvYWRjYXN0IGluc3RlYWQgb2YgZ19jb25kX3NpZ25hbAoJICAyMDA4MDQyODIzNDkzNS00ZjBmNi1lNTFmYWIzMTc3MmIzMmYyZmIwODBhZDcwYzZiZWRlZmM1YzI2ZGM2Lmd6CgoyMDA4LTA0LTI4IDIzOjI4OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1heCBsYXRlbmN5IHNob3VsZCBhbHNvIGJlIGluY3JlYXNlZCBieSBvdXIgb3duIGxhdGVuY3kKCSAgMjAwODA0MjgyMzI4NTEtNGYwZjYtMDVmOWE4OTQwM2NkNTQyMTFmMmY0YTY1OTU3MDQyNzBlYWI5NjE2Zi5negoKMjAwOC0wNC0yOCAyMjozNjowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGRlYWRsb2NrIG9uIGludmFsaWQgdGltZXN0YW1wIGVycm9yCgkgIDIwMDgwNDI4MjIzNjA2LTNlMmRjLTk2M2U0OGIzM2VmYWY4NGMxNmQ0ZWM0Yjc4OWE2ZGZiMmQ5MzU4YWQuZ3oKCjIwMDgtMDQtMjggMTY6MTk6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgY29tbWVudCBmb3IgY2xhcml0eQoJICAyMDA4MDQyODE2MTk1OC00ZjBmNi1jYmFhMTY2ZmJkZTk5MDEzYjU1NWM2OWFiNDhkOTY0ZDc1NzczYTdmLmd6CgoyMDA4LTA0LTI4IDE2OjEyOjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIFRPRE8gY29tbWVudHMKCSAgMjAwODA0MjgxNjEyMzUtNGYwZjYtZmJjNzg1MzNkMjlkMzdiNjVhZGQ2ZjYwNDZmZWMxN2NlNWUzMGNhZS5negoKMjAwOC0wNC0yOCAxNTo1OToyNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBjaGVja19lb3Mgd2lsbCBhbHdheXMgcmV0dXJuIEZBTFNFIGhlcmUuLgoJICAyMDA4MDQyODE1NTkyNy00ZjBmNi0xYTkzZTI5NWQzZGY2OGE5NjM2N2I3NTA2MGE4OWE5NDdlZmE4OTQ0Lmd6CgoyMDA4LTA0LTI4IDE1OjQ5OjU2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGNvbW1lbnQgb24gdGhlIG5vIGNsb2NrIGVycm9yCgkgIDIwMDgwNDI4MTU0OTU2LTRmMGY2LTdlMjRlZDMxZjljODIyZTQzMjNiNjgxYTU0YmMyM2YwM2MxYTMyNWUuZ3oKCjIwMDgtMDQtMjggMTU6NDg6NTAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXJyb3IgaWYgbm8gY2xvY2sgaXMgYXZhaWxhYmxlCgkgIDIwMDgwNDI4MTU0ODUwLTRmMGY2LTM4ZmRjNDEzNDgzNWM0NTdkMDA1NDMwMTU3OWQ4Y2Q0Y2JkNDk4OWEuZ3oKCjIwMDgtMDQtMjUgMjE6MDQ6NTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVuYW1pbmcgdW51c2VkIGFyZwoJICAyMDA4MDQyNTIxMDQ1Ni00ZjBmNi1hYjFjZGM5NDRjOWJjZDc3OTUwNDI5MmIyMWRjMTc4N2Q2Y2I2MmExLmd6CgoyMDA4LTA0LTI1IDIwOjM5OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZWQgdW51c2VkIHVzZXJfZGF0YSBhbmQgY29tbWVudGVkIGxpbmUKCSAgMjAwODA0MjUyMDM5MzgtNGYwZjYtNzg3Nzc4NDc1YjY0NjQ2MWRhNDBmM2UwMDAwYTEwYmM5NmUxNDJiYy5negoKMjAwOC0wNC0yNSAyMDozNzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmUgdW51c2VkIGNhc2VzIGFuZCBlbXB0eSBzd2l0Y2gKCSAgMjAwODA0MjUyMDM3MzUtNGYwZjYtYzA0NDJmY2Y1N2UzZjA4YjgxYmMxYmUzZDY5ZjVjZmEwMjU3YjUyYS5negoKMjAwOC0wNC0yOCAxODozNDowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRXhwbGljaXQgdGhlIGRpc2NvbnQgZmxhZyBtYW5nbGluZwoJICAyMDA4MDQyODE4MzQwOS0zZTJkYy00ZGIyNTA1ZWVjYTAzM2E2MzQyNTNiNmMyZDJmNGYxMzk4ZTlmY2NhLmd6CgoyMDA4LTA0LTI4IDE4OjA3OjExICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbnJlZiBldmVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkCgkgIDIwMDgwNDI4MTgwNzExLTNlMmRjLWViNjU5Nzg3ZjE3OTU2MmYxNTQwMmM4MTlmMTg4ZGUzOThkZWVmMmQuZ3oKCjIwMDgtMDQtMjQgMjI6NDY6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBHbGliIEdfe01BWCxNSU59e1UsfUlOVHs4LDE2LDMyfSBtYWNyb3MKCSAgMjAwODA0MjQyMjQ2MjctM2UyZGMtMTAzNmJjNThiNmI0ZGIyZjlmMTI4MzFjZGJhZTNiYzYxM2ZhY2JiZi5negoKMjAwOC0wNC0yMSAwMzoyNjoxNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5sb2NrIGxpdmVhZGRlciBlbXB0eSBidWZmZXIgZ2NvbmQgb24gZmx1c2gKCSAgMjAwODA0MjEwMzI2MTQtM2UyZGMtNGVkMjllMTU4M2ZmNjg0MzM4YmE1ZDc2MTFmNjBiMWE3ZWFmZjU2My5negoKMjAwOC0wNC0xOCAxOToyOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5yZWYgZXZlbnQgaW5zdGVhZCBvZiBsZWFraW5nIGl0CgkgIDIwMDgwNDE4MTkyOTQxLTNlMmRjLTM1MmUyNWY2YWIyOTE2MTJiZTFkYzEzOTc5MDMwM2ExMzMzZjY1ZDcuZ3oKCjIwMDgtMDQtMDMgMTc6MDk6NTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG5vbi1wZXJmZWN0IHN0cmVhbSBpc250IGFuIGVycm9yLCBsZXRzIGp1c3QgbG9nIGl0CgkgIDIwMDgwNDAzMTcwOTU2LTNlMmRjLTY2M2Y2YWY4Y2UwNjdmNDRjYTI1MWE4OWFlYmYyNjJkNGI4YTI4NjkuZ3oKCjIwMDgtMDQtMDMgMTY6NTQ6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFdlIHJldGltZXN0YW1wIHRvIHRoZSBydW5uaW5nIHRpbWUsIHN0YXJ0aW5nIHRoZSBzZWdtZW50cyBmcm9tIDAgc2hvdWxkIHRoZXJlZm9yZSB3b3JrCgkgIDIwMDgwNDAzMTY1NDMxLTNlMmRjLWQ5ODFhYzJmOWVhN2ZkM2M4ZDJiZTRkMjJmMTgxN2NmNzhjNjE0ZTQuZ3oKCjIwMDgtMDQtMDMgMTY6NTQ6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHRoZSBtaW4vbWF4IG9mIHRoZSBsYXRlbmNpZXMgY29ycmVjdGx5CgkgIDIwMDgwNDAzMTY1NDE1LTNlMmRjLWMxMTI0YmQ4NGU2N2NmOGE5MTFhMTRiYjEyM2I4NzMxZGE5ZjRmYzQuZ3oKCjIwMDgtMDQtMDMgMDI6MTQ6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBpbmRlbnRhdGlvbgoJICAyMDA4MDQwMzAyMTQyNS0zZTJkYy1lZmQ3M2E2ZWVkMDY3NmUxNThhZjcwNDg0ZDRlNWM0MmVhNzVkZTc0Lmd6CgoyMDA4LTA0LTAzIDAyOjAzOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSBpbiBjYXNlIHdlJ3JlIGFscmVhZHkgcGxheWluZwoJICAyMDA4MDQwMzAyMDMxOC0zZTJkYy1hZmQ1OGY5OTJjMGIzMDU3MjIxYjkxMDM0YjJmY2Q5MWYyOTZlNTJkLmd6CgoyMDA4LTA0LTAzIDAyOjAyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGb3IgbGF0ZW5jaWVzLCB1c2UgdGhlIG1pbiBvZiB0aGUgbWF4IGFuZCB0aGUgbWF4IG9mIHRoZSBtaW4gKGFuZCB0aGUgbWluIHdpbnMgaWYgdGhleSBjcm9zcykKCSAgMjAwODA0MDMwMjAyNTMtM2UyZGMtZGRhN2U0NzEwNzNlZTc1YTZmNjBlODQ1YzNjNTQ2YWY5YmUxOTY3NS5negoKMjAwOC0wNC0wMyAwMDo1NzoyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIG5leHRfdHMgaW50byBleHBlY3RlZF90cywgbWFrZSBzdXJlIGFsbCBidWZmZXJzIGhhdmUgYSBkdXJhdGlvbgoJICAyMDA4MDQwMzAwNTcyOC0zZTJkYy04MjQ1Y2UxYmZlZWJlYmZiOGY3NTA3MzI1M2IzYzBlM2M0YjVmNTk2Lmd6CgoyMDA4LTA0LTAzIDAwOjQwOjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB0cnkgdG8gc2V0IHRoZSBkaXNjb250IGZsYWcgaWYgdGhlIGR1cmF0aW9uIG9mIHRoZSBwcmV2aW91cyBpbmNvbWluZyBidWZmZXIgd2FzIG5vdCB2YWxpZAoJICAyMDA4MDQwMzAwNDAxMi0zZTJkYy02Zjk1NTIwYzkyOGMzNDc1MDhiZGY2MTg4Yzg3M2VkNzI0YWQyZGQ3Lmd6CgoyMDA4LTA0LTAyIDIyOjQ2OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCBidWZmZXJzIG9mZnNldHMgdG8gbm9uZQoJICAyMDA4MDQwMjIyNDYyNy0zZTJkYy1kM2VlOGM3ZDBjMTQxMzEwMTc4NDJkODE1OWY3ZjY4NGQwY2NlZjZkLmd6CgoyMDA4LTA0LTAyIDIyOjQ2OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBvcnQgYWRkZXIgc3JjIGV2ZW50IGhhbmRsaW5nCgkgIDIwMDgwNDAyMjI0NjEyLTNlMmRjLTIxYTY4MmIxOGZlMTg3ODJiZjdmYTQ4OTgzYzEzYzFhZDg2ZGM1YTEuZ3oKCjIwMDgtMDMtMzEgMTg6NDQ6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1c2ggb3V0IGEgc2ltcGxlIG5ld3NlZ21lbnQgZXZlbnQKCSAgMjAwODAzMzExODQ0MjEtM2UyZGMtNjk1NDRiNWIwM2FlM2JiOGMxZTNmOTY3OTc0ZmQyNTBkMDQwNTZiNS5negoKMjAwOC0wMy0zMSAxODo0NDowNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgcmV0dXJuIEVPUyBpZiB0aGVyZSBpcyBubyBzaW5rIHBhZAoJICAyMDA4MDMzMTE4NDQwNC0zZTJkYy00ODJhMTM0YjQ3ZWFkY2Q5ZjFmOWQxNDRjMDJhYjExNDUwMjhmYTA3Lmd6CgoyMDA4LTAzLTMxIDE3OjExOjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWR1Y2UgbG9ja2luZyBhIGJpdCBhbmQgY2xlYW51cCBjb2RlIGEgYml0CgkgIDIwMDgwMzMxMTcxMTE2LTNlMmRjLTVkZGZiMGU0NTkwMDQ3ODBkM2Y3YTY2MGM2NGY1ODI0MzkzNmE4NDQuZ3oKCjIwMDgtMDMtMjkgMDA6NDU6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBsaXZlYWRkZXIgZWxlbWVudAoJICAyMDA4MDMyOTAwNDUxOC0zZTJkYy00MGU0NzQ2ZmU4MmJiYzVhODcxZjAzZmU2ZmY2MDQ4ZjQzNmM5Zjg1Lmd6CgoyMDA5LTAyLTE2IDE2OjA4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBGaXggYWNjaWRlbnRhbGx5IGludHJvZHVjZWQgc3RhY2sgb3ZlcndyaXRpbmcgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wMi0xNiAxNjowNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogU2F2ZSBvbmUgbWVtb3J5IGFsbG9jYXRpb24gcGVyIHN0ZXJlbyBidWZmZXIKCjIwMDktMDItMTMgMTI6MTg6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBEbyBub3QgdXNlIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwOS0wMi0xMiAxNzozMTo1MCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogUmV0dXJuIEFTWU5DIGFwcHJvcHJpYXRlbHkgZnJvbSBjaGFuZ2Vfc3RhdGUuCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCBkbyB0aGUgd3JvbmcgdGhpbmcgd2hlbiBvdXIgYmFzZSBjbGFzcyBpcyByZXR1cm5pbmcKCSAgQVNZTkMgaW4gc3RhdGUgY2hhbmdlcy4KCjIwMDktMDItMTIgMTU6MDE6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBmaXggY29tcGlsYXRpb24uCgkgIEFjY2lkZW50bHkgbWVyZ2VkIHBhcnQgb2Ygb25lIGNoYW5nZTsgcmVtb3ZlIGl0LgoKMjAwOS0wMi0xMiAyMjo0MDo0OCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgTWFrZSB0aGUgZGVtdXhlciByZXVzYWJsZSBpbiBSRUFEWS0+UExBWUlORy0+UkVBRFktPlBMQVlJTkcgY3ljbGVzIGJ5IGZsdXNoaW5nIGFkYXB0ZXJzIGNvcnJlY3RseS4KCjIwMDktMDItMTIgMTA6NTM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWxzbyBpbmNsdWRlIHRoZSBwaWN0dXJlL3NvdW5kL2RhdGEgZXNzZW5jZSBjb2RpbmcgaW4gdGhlIHVua25vd24gY2FwcwoKMjAwOS0wMi0xMiAwOTo0NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETywgd2Ugc2hvdWxkIHN1cHBvcnQgdGhlIGRyb3AtZnJhbWUgcHJvcGVydHkgb2YgdGltZWNvZGUgdHJhY2tzCgoyMDA5LTAyLTEyIDA4OjQ2OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZpeCByZXNvbHZhbCBvZiBpZGVudGlmaWNhdGlvbnMgZnJvbSB0aGUgcHJlZmFjZQoKMjAwOS0wMi0xMSAxODo0MDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFBhcnNlIE1YRlRpbWVzdGFtcCdzIG1pbGxpc2Vjb25kcyBhbmQgYWRkIF90b19zdHJpbmcoKSBmdW5jdGlvbgoKMjAwOS0wMi0xMCAxNDoyMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETwoKMjAwOS0wMi0xMiAxMDo0NjoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBhbHNvIHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZyBlcnJvcgoKMjAwOS0wMi0xMSAxNzoyMzowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMsIGFsc28gYWRkIHNvbWUgbWlzc2luZyBkaXN0aW5nIGRpcmVjdG9yaWVzIHRvIGEgY291cGxlIG9mIE1ha2VmaWxlcy5hbSBmaWxlcwoKMjAwOS0wMi0xMSAxNzoyMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBGaXggY29tcGlsYXRpb24sIGFjdGl2YXRlX3NpbmtwYWQoKSBoYXMgbm8gbm90aWZ5IHBhcmFtZXRlcgoKMjAwOS0wMi0xMCAxNjoyMjo1NCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dC1zZWxlY3RvcjogQWN0aXZhdGUgYW5kIG5vdGlmeSBwYWQgYmVmb3JlIHByb2Nlc3NpbmcgZXZlbnRzLgoJICBFdmVudHMgc2hvdWxkIHRyaWdnZXIgcGFkIHNlbGVjdGlvbiBpZiB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgYW4KCSAgZXhwbGljaXRseSBzZWxlY3RlZCBwYWQsIHNvIHRoYXQgZXZlbnRzIHByaW9yIHRvIGZpcnN0IGJ1ZmZlciBkb24ndCBnZXQKCSAgbG9zdC4KCjIwMDktMDItMTEgMDE6NTQ6MDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNhbml0aXplIGNvbnN0YW50cyB1c2VkIGZvciBlbGVtZW50IGZhY3RvcnkgbmFtZXMuCgoyMDA5LTAyLTExIDAxOjI0OjUxICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgdjRsMnNyYyBhcyBkZWZhdWx0IHNvdXJjZS4KCjIwMDktMDItMTEgMDE6MDc6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy8uZ2l0aWdub3JlOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IC5naXRpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzLgoKMjAwOS0wMi0xMSAwMTowMjo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogTW92ZSBnZW5lcmF0ZWQgZmlsZXMgdG8gd2luMzIvY29tbW9uLgoKMjAwOS0wMi0xMSAwMDoyODo1MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgY2FtZXJhYmluOiBBZGQgLmdpdGlnbm9yZSB0byBoaWRlIGdlbmVyYXRlZCBzaWduYWwgbWFyc2hhbGxlciBmaWxlcy4KCjIwMDktMDItMTEgMDA6MTk6MjIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBwbHVnaW4gZGV0YWlscyB0byB1c2UgR1NUX1BBQ0tBR0VfKiB2YWx1ZXMuCgoyMDA5LTAyLTExIDAwOjE1OjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbGljZW5zZSBzcGVjaWZpZWQgaW4gcGx1Z2luIGRldGFpbHMuCgoyMDA5LTAyLTEwIDEyOjI4OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogUGFzcyBwaXhlbCBhc3BlY3QgdGhyb3VnaCBmcm9tIGRlbXV4ZXJzLCBpZiBzdXBwbGllZC4KCSAgSWYgdGhlIGluY29taW5nIGNhcHMgaGF2ZSBhIHBpeGVsLWFzcGVjdC1yYXRpbywgZW5zdXJlIGl0J3Mgc2V0IG9uIHRoZQoJICBvdXRwdXQuIENvcnJlY3RzIFBBUiBmb3IgbWFueSAoYnV0IHByb2JhYmx5IG5vdCBhbGwpIGZpbGVzLgoKMjAwOS0wMi0xMCAxMjoyNjoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IE1ha2UgYXVkaW8gZGVjb2RlcnMgaGF2ZSBTRUNPTkRBUlkgcmFuay4KCSAgVGhlc2Ugd3JhcHBlcnMgYXJlIG5vdCBpZGVhbCwgYW5kIGZvciBtYW55IG9mIHRoZXNlIGZvcm1hdHMgdGhlcmUgYXJlCgkgIGJldHRlciBnc3RyZWFtZXIgZWxlbWVudHMgYXZhaWxhYmxlLiBTbywgbWFrZSB0aGUgcmFuayBTRUNPTkRBUlkuIEluCgkgIHBhcnRpY3VsYXIsIHRoZSBtcDMgZGVjb2RlciBvbiB3aW5YUCBkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsLgoKMjAwOS0wMi0xMCAxMjoxMjowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIGRzaG93ZGVjd3JhcHBlcjogRGVsZXRlIG9sZCAuYyBmaWxlcyB0aGF0IGFyZSB1bnVzZWQKCSAgVGhlc2Ugb2xkIGZpbGVzIGFyZSBzdGFsZTsgdGhlIHBsdWdpbiB3YXMgcmV3cml0dGVuIGluIGMrKyBhZ2VzCgkgIGFnby4gTm90IHN1cmUgd2h5IHRoZXNlIGFyZSBoYW5naW5nIGFyb3VuZC4KCjIwMDktMDItMTAgMTA6MTc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IFBhc3MgYXQgbW9zdCAyMDQ4IHNhbXBsZXMgdG8gU291bmRUb3VjaCdzIEJQTURldGVjdAoJICBJbnRlcm5hbGx5IEJQTURldGVjdCBhc3N1bWVzIHRoYXQgYXQgbW9zdCAyMDQ4IHNhbXBsZXMgYXJlIHBhc3NlZAoJICB0byBpdCBhdCBvbmNlIGFuZCBzdG9yZXMgdGhvc2UgaW4gYSBzdGFjayBhbGxvY2F0ZWQgc3RhdGljIHNpemVkCgkgIGFycmF5LiBJZiB3ZSBwYXNzIHRvbyBtYW55IHNhbXBsZXMgdGhpcyB3aWxsIHJlc3VsdCBpbiBhIGJ1ZmZlciBvdmVyZmxvdwoJICByZXN1bHRpbmcgaW4gaGVhdnkgc3RhY2sgY29ycnVwdGlvbiBhbmQgYSBjcmFzaC4gRml4ZXMgYnVnICM1NzA5OTYuCgoyMDA5LTAyLTA5IDE3OjU4OjQyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbW1wM2RlYzogZml4IG1ham9yIG1lbW9yeSBsZWFrcyBhbmQgY2xlYW4gdXAgY29kZS4KCSAgVW5yZWYgaW5jb21pbmcgYnVmZmVycyB3aGVuIHdlJ3JlIGRvbmUuCgkgIFJlaW5kZW50LCBjbGVhbiB1cCB3aGl0ZSBzcGFjZS4gRml4IGNvbW1lbnRzLgoKMjAwOS0wMi0wOSAxODoxNDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZnRlciBwdWxsaW5nIHRoZSBmb290ZXIgbWV0YWRhdGEgcmVzZXQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbnMgdG8gMAoKMjAwOS0wMi0wOSAxNzo1NTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBXaGVuIHRyeWluZyB0byBmaW5kIGFuIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gdHJ5IHRvIGZpbmQgcG9zaXRpb24rMSB0b28KCSAgQnkgc2VhcmNoaW5nIGZvciB0aGUgZm9sbG93aW5nIHBvc2l0aW9uIHdlIHdpbGwgYWRkIHRoZSBjb21wbGV0ZQoJICBnZW5lcmljIGNvbnRhaW5lciAoaS5lLiBhbGwgdHJhY2tzKSBhdCB0aGUgc2FtZSBwb3NpdGlvbiB0byB0aGUKCSAgaW5kZXggd2hpY2ggc2hvdWxkIG1ha2UgZmluZGluZyBwb3NpdGlvbnMgZm9yIG1vcmUgdGhhbiBvbmUgdHJhY2sKCSAgYSBiaXQgZmFzdGVyLgoKMjAwOS0wMi0wOSAxNzo0ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGb3IgbmV3IGVzc2VuY2UgdHJhY2tzIG9ubHkgc2V0IHRoZSBwb3NpdGlvbiB0byAwIGlmIGl0IHN0YXJ0cyBpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24KCjIwMDktMDItMDkgMTc6NDQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ2hlY2sgaWYgdGhlIGxlbmd0aCBvZiB0aGUgc3JjL2Vzc2VuY2UgdHJhY2sgYXJyYXlzIGFyZSAwLCBub3QgdGhlIGFycmF5IGl0c2VsZgoKMjAwOS0wMi0wOSAxNzoyNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBNYWtlIHN1cmUgdGhhdCB0aGUgc3JjcGFkIGFuZCBlc3NlbmNlIHRyYWNrIGFycmF5cyBhbHdheXMgZXhpc3QKCjIwMDktMDItMDkgMTY6MTI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ2hhbmdlIHNvbWUgR1NUX0VSUk9ScyB0byBzb21ldGhpbmcgbGVzcyBjcml0aWNhbAoKMjAwOS0wMi0wOSAxNjowOToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IGdvIGludG8gRU9TIGFuZCBzZW5kIHNlZ21lbnQtZG9uZSBhZnRlciBhbGwgdHJhY2tzIGFyZSBmaW5pc2hlZAoKMjAwOS0wMi0wOSAxNjowOToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTA5IDE1OjQ4OjIwICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgZm9yIGNhbWVyYWJpbi4KCjIwMDktMDItMDkgMTI6MDI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEJ1bXAgcmV2aXNpb24gdG8gdXNlIGZvciBjb21tb24gc3VibW9kdWxlLgoKMjAwOS0wMS0zMCAxNjowOTozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBNb3JlIGZpbGVzIHRvIGlnbm9yZQoKMjAwOS0wMi0wNSAyMzowNjoyMyArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogQWRkIGNhbWVyYWJpbiB1bml0IHRlc3RzLgoKMjAwOS0wMi0wNSAxNTo0ODozMiArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5Lmg6CgkgIEFkZCBjYW1lcmFiaW4gZWxlbWVudC4KCjIwMDktMDItMDYgMTI6MDY6MjMgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBBZGQgcGhvdG9ncmFwaHkgaW50ZXJmYWNlLgoKMjAwOS0wMi0wOSAwNzozMzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggc2Vla2luZyB0byB0aGUgZW5kIG9mIGZpbGUKCSAgV2hlbiBzZWVraW5nIHRvIGEgcG9zaXRpb24gd2hlcmUgbm8gbmV3IG9mZnNldCBjYW4gYmUKCSAgZm91bmQgb3IgYWZ0ZXIgdGhlIGVuZCBvZiBhIHRyYWNrIGRvbid0IHNldCB0aGUgRU9TIGZsYWcKCSAgdG8gVFJVRSBhcyB3ZSBkb24ndCAoYW5kIGNhbid0KSBwdXNoIEVPUyBkb3duc3RyZWFtIHRoZW4uCgkgIEluc3RlYWQgc2V0IHRoZSBjdXJyZW50IGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gdG8gdGhlbgoJICBlbmQgb2YgdGhlIGVzc2VuY2UgdHJhY2sgYW5kIGxldCB0aGUgbG9vcCBvciBjaGFpbiBmdW5jdGlvbgoJICBzZXQgZXZlcnl0aGluZyB0byBFT1MgYW5kIHB1c2ggRU9TIGRvd25zdHJlYW0uCgkgIEFsc28gcmVzdGFydCB0aGUgcGFkJ3MgdGFzayBpZiByZXNvbHZpbmcgbWV0YWRhdGEgZmFpbGVkCgkgIChwbGF5YmFjayB3aWxsIGNvbnRpbnVlIGFzIGJlZm9yZSkgYW5kIHJldHVybiBGQUxTRSBmcm9tCgkgIHRoZSBzZWVrIGlmIG5vIG5ldyBvZmZzZXQgY291bGQgYmUgZm91bmQuCgoyMDA5LTAyLTA4IDIxOjUyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBsYXN0X3N0b3AgY2FsY3VsYXRpb24gd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA4IDIxOjMxOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IFJlc29sdmUgc291cmNlIHBhY2thZ2UgYmVmb3JlIGFjY2Vzc2luZyBpdCdzIG1lbWJlcnMKCjIwMDktMDItMDggMjE6MjM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBDb3JyZWN0bHkgaW1wbGVtZW50IHRpbWVzdGFtcGluZyBpbiBhbGwgY2FzZXMKCSAgV2hlbiB0aGUgbWF0ZXJpYWwgcGFja2FnZSB0cmFjayBhbmQgc291cmNlIHBhY2thZ2UgdHJhY2sKCSAgZWRpdCByYXRlIGFyZSBkaWZmZXJlbnQgdGhlIHNvdXJjZSBwYWNrYWdlIHRyYWNrIGVkaXQKCSAgcmF0ZSBhcHBsaWVzIHRvIHRoZSBzdG9yZWQgZXNzZW5jZSBhbmQgdGhlIG1hdGVyaWFsIHRyYWNrCgkgIGVkaXQgcmF0ZSBvbmx5IGFwcGxpZXMgdG8gdGhlIHZhbHVlcyBpbiB0aGUgdHJhY2sncyBzZXF1ZW5jZQoJICBhbmQgY29tcG9uZW50cy4KCjIwMDktMDItMDggMjE6MjI6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29ycmVjdGx5IGhhbmRsZSBEVVJBVElPTiBxdWVyaWVzIHdpdGggYSBuZWdhdGl2ZSBkdXJhdGlvbgoKMjAwOS0wMi0wOCAyMToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBXaGVuIGNoYW5naW5nIHRvIHRoZSBjb21wb25lbnQgYWZ0ZXIgdGhlIGxhc3QgY29tcG9uZW50IHVwZGF0ZSB0aGUgZXNzZW5jZSB0cmFjayBwb3NpdGlvbgoKMjAwOS0wMi0wOCAyMToxMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTbWFsbCBjbGVhbnVwIGFuZCBhbiBhZGRpdGlvbmFsIGNoZWNrCgkgIFVwZGF0ZSBUT0RPIGxpc3QsIHJlZHVjZSBzaXplIG9mIGEgc3RhY2sgYWxsb2NhdGVkIHN0cmluZwoJICBhbmQgZG9uJ3QgYWxsb3cgZXNzZW5jZSB0cmFja3Mgd2l0aCBhbiBpbnZhbGlkIGVkaXQgcmF0ZQoKMjAwOS0wMi0wOCAwNzozMDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGb3IgbWF0ZXJpYWwgcGFja2FnZXMgbWFrZSBzdXJlIHRoYXQgdHJhY2tzIHJlc29sdmUgdG8gc291cmNlIHRyYWNrcwoKMjAwOS0wMi0wNyAxMDozODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcyBjb250YWluaW5nIEROeEhEIGVzc2VuY2UKCSAgQXZpZCB1c2VzIGEgY3VzdG9tIGVzc2VuY2UgY29udGFpbmVyIFVMIGFuZCBjdXN0b20gZXNzZW5jZSBlbGVtZW50IGtleXMKCSAgdGhhdCBhcmUgZm9ydHVuYXRlbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlCgkgIGVsZW1lbnRzLiBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NjE5MjIuCgoyMDA5LTAyLTA3IDEwOjEzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogTWFrZSBlc3NlbmNlIHRyYWNrIGNyZWF0aW9uIGEgYml0IG1vcmUgcm9idXN0IGFnYWluc3QgYnJva2VuIGZpbGVzCgkgIFNvbWUgZmlsZXMgY29udGFpbiBtdWx0aXBsZSB0cmFja3Mgd2l0aCB0aGUgc2FtZSB0cmFjayBudW1iZXIgYnV0IGRpZmZlcmVudAoJICB0cmFjayBpZCBpbnNpZGUgdGhlIHNhbWUgc291cmNlIHBhY2thZ2UuIFRoaXMgaXMgaW52YWxpZCBhbmQgd2Ugc2ltcGx5IGlnbm9yZQoJICB0aGUgc2Vjb25kIGFuZCBmb2xsb3dpbmcgb2Ygc3VjaCB0cmFhY2tzIG5vdyBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIHRoZQoJICBpbmZvcm1hdGlvbiBvZiB0aGUgZmlyc3Qgb25lLgoKMjAwOS0wMi0wNyAxMDowMzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBEb24ndCBpbmNsdWRlIG11bHRpcGxlIGRlc2NyaXB0b3JzIGluIHRoZSB0cmFjaydzIGRlc2NyaXB0b3JzCgoyMDA5LTAyLTA3IDA5OjI3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcyBjb250YWluaW5nIERWIGVzc2VuY2UKCSAgQXZpZCB1c3VhbGx5IHVzZXMgYSBjdXN0b20gZXNzZW5jZSBjb250YWluZXIgbGFiZWwgZm9yIHRoZSBlc3NlbmNlCgkgIGRlc2NyaXB0b3JzIGFuZCBzdG9yZXMgdGhlIGFjdHVhbCBjb2RlYyB0aGF0IGlzIHVzZWQgaW5zaWRlIHRoZQoJICBwaWN0dXJlIGVzc2VuY2UgY29kaW5nIGZpZWxkIChhbmQgZm9yIHNvdW5kIHByb2JhYmx5IGluIHRoZSBzb3VuZAoJICBlc3NlbmNlIGNvZGluZyBmaWVsZCBidXQgSSBoYXZlIG5vIHNhbXBsZSBmaWxlcyB3aXRoIHNvdW5kKS4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTYxOTIyLgoKMjAwOS0wMi0wNiAxMTo1Nzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBBZGQgZGF0YSBkZWZpbml0aW9uIGZvciBBdmlkIHZlbmRvciBzcGVjaWZpYyBwaWN0dXJlIGVzc2VuY2UKCjIwMDktMDItMDYgMTE6NTU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRm9yIHRyYWNrcyB3aXRoIG5vIGtub3duIG1hcHBpbmcgdXNlIGR1bW15IGNhcHMKCjIwMDktMDItMDYgMTE6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgcmVtb3ZlIGludmFsaWQgbmV3IGVzc2VuY2UgdHJhY2sgdHdpY2UgZnJvbSB0aGUgR1B0ckFycmF5CgoyMDA5LTAyLTA2IDExOjA5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IGtleWZyYW1lIGRldGVjdGlvbiBmb3IgTVBFRzQgdmlkZW8gc3RyZWFtcwoKMjAwOS0wMi0wNiAxMDo0Njo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBIYW5kbGUgc29tZSBtb3JlIHNwZWNpYWwgY2FzZXMgd2hlbiBzZXR0aW5nIHRoZSBwb3NpdGlvbiB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDYgMTA6NDY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWRqdXN0IGxhc3Rfc3RvcCB0byB0aGUgbGFzdCBrZXlmcmFtZSB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDYgMTA6MDY6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGxvZ2ljIGZvciBmaW5kaW5nIHRoZSBwcmV2aW91cyBrZXlmcmFtZQoKMjAwOS0wMi0wNiAwOTo1MzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkgIG14ZmRlbXV4OiBBZGQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBNUEVHMiB2aWRlbyBzdHJlYW1zCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBzZWVraW5nIGFzIHdlIHVzdWFsbHkgd2FudCB0byBzZWVrIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gVGhlIGtleWZyYW1lIGRldGVjdGlvbiBpcyBkb25lIGJ5IHBhcnNpbmcgdGhlIE1QRUcyCgkgIGVsZW1lbnRhcnkgc3RyZWFtIGFuZCBpZiBhIEdPUCBvciBJLWZyYW1lIHBhY2tldCBpcyBmb3VuZCB3ZQoJICBhc3N1bWUgYSBrZXlmcmFtZSBpbiB0aGlzIGVkaXQgdW5pdC4KCjIwMDktMDItMDUgMjE6Mjk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBQcm90ZWN0IHRoZSBtZXRhZGF0YSB3aXRoIGEgbG9jayBhZ2FpbnN0IGNvbmN1cnJlbnQgYWNjZXNzCgoyMDA5LTAyLTA1IDE3OjQyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIFJhbmRvbSBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzCgkgIFVzZSBnc3RfZWxlbWVudF9rbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSwgaW5zdGFsbCBwcm9wZXJ0aWVzCgkgIHdpdGggc3RhdGljIHN0cmluZ3MsIGNyZWF0ZSBwYWRzIGRpcmVjdGx5IGZyb20gdGhlIHN0YXRpYyBwYWQKCSAgdGVtcGxhdGVzLCBkaXJlY3RseSBwdXQgdGhlIHNlZ21lbnQgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0LAoJICB1c2UgR1NUX01TRUNPTkQgaW5zdGVhZCBvZiBudW1iZXJzLgoJICBUaGUgUEFSIGlzIGEgR3N0RnJhY3Rpb24gYW5kIG5vdCBhIGRvdWJsZSwgdXNlIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ZyYWN0aW9uKCkuCgkgIFNpbXBsaWZ5IHNldGNhcHMoKSBmdW5jdGlvbnMuCgoyMDA5LTAyLTA1IDE3OjAwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIFVzZSBHU1RfVklERU9fQ0FQU19SR0IgZm9yIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTAyLTA1IDE2OjU3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wMi0wNSAxNjo1NDowMSArMDEwMCAgQmVuamFtaW4gU2NobWl0eiA8dm9ydGV4QHdvbHB6b25lLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIEFkZCBhc3NyZW5kZXIgcGx1Z2luIGZvciByZW5kZXJpbmcgQVNTL1NTQSBzdWJ0aXRsZXMKCSAgVGhpcyBlbGVtZW50IGhhcyB0aGUgYWR2YW50YWdlIG92ZXIgc3VicGFyc2UncyBBU1MvU1NBCgkgIHN1cHBvcnQgdGhhdCBtb3JlIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQsIGxpa2UgZmFkaW5nLAoJICBieSB1c2luZyBsaWJhc3MuIEZpeGVzIGJ1ZyAjNDgxMDc1LgoKMjAwOS0wMi0wNSAxMDo1MDoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YSB0ZXN0OiBGaXggd3JvbmcgbG9vcGluZyB2YXJpYWJsZS4gVGVzdCBpcyBub3cgdmFsaWQgKGJ1dCBmYWlscykuCgkgIFRoZSBpbm5lciBsb29waW5nIHdhcyB1c2luZyB0aGUgb3V0ZXIgbG9vcGluZyB2YXJpYWJsZS4KCjIwMDktMDItMDQgMTg6MTE6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCB1cCB0aGluZ3MgdGhhdCB0aGUgaW5kZW50IHRoaW5neSBjb21wbGFpbmVkIGFib3V0CgoyMDA5LTAyLTA0IDE4OjA5OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggbWFqb3IgbGVha3MgaW4gcXR3cmFwcGVyIGF1ZGlvIGRlY29kZXJzLgoJICBGcmVlIHRoZSBkZWNvZGVyIGNvbXBvbmVudCBhbmQgYXVkaW9idWZmZXJsaXN0IHdoZW4gY2FwcyBjaGFuZ2UsIG9yIHdoZW4KCSAgZGlzcG9zaW5nIGVsZW1lbnQuCgoyMDA5LTAyLTA0IDE3OjUwOjUxIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgSGFuZGxlIG1hbnkgbW9yZSBlZGdlIGNhc2VzIGluIGRzaG93dmlkZW9zaW5rLgoJICBJbnN0cnVtZW50IHZhcmlvdXMgY29kZXBhdGhzIHdpdGggZGVidWcgbWVzc2FnZXMuCgkgIEhhbmRsZSAoYXMgYmVzdCBhcyBJIGNvdWxkIHNlZSBob3cgLSBpdCdzIHByZXR0eSBuYXN0eSkgbW92aW5nIGEgdmlkZW8KCSAgd2luZG93IHRvIGFub3RoZXIgbW9uaXRvci4KCSAgQWRkIGxpc3RlbmluZyBmb3IgZGlyZWN0c2hvdyBldmVudHMuCgoyMDA5LTAyLTA0IDIyOjUwOjMwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogZml4ZXMgY2xvc3Npbmcgc2VnbWVudCBnZW5lcmF0aW9uLgoJICBFbnN1cmUgdGhhdCB0aGUgY2xvc3Npbmcgc2VnbWVudCBpcyBnZW5lcmF0ZWQgY29ycmVjdGx5IGFuZCBiZWluZwoJICBwcm9wZXJseSBwdXNoZWQuCgkgIEFkZGVkIHNvbWUgR1NUX0RFQlVHIHRvIGNoZWNrIGl0LgoJICBFbnN1cmUgdGhhdCBsYXN0X3N0b3AgaXMgdXBkYXRlZCBpbiBzdHJlYW0gdGltZS4KCSAgQ2FsY3VsYXRlIGR1cmF0aW9uIGFzIGRlbHRhIG9mIFBUUyBhcyBpdCBzZWVtcyBtb3JlIGNvcnJlY3QgdGhhbiBkZWx0YQoJICBvZiBTQ1IgaW4gc29tZSBjbGlwcyB0aGF0IEkgdGVzdGVkLgoKMjAwOS0wMi0wNCAyMjoxNzozNiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHNldmVyYWwgZml4ZXMgb24gdGhlIHNlZWtpbmcgZnVuY3Rpb24gaW4gcHVsIG1vZGUuCgkgIFJlbW92ZWQgYSBsaW5lIHdyb25nbHkgY29weSBwYXN0ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0LgoJICBBdm9pZCBhbiB1bnNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93LgoJICBTZWVrIGxhc3Rfc3RvcCBpbiBzdHJlYW0gdGltZS4KCSAgQ2xhbXAgbGFzdF9zdG9wIGluIHN0cmVhbSB0aW1lIGJldHdlZW4gZmlyc3QgYW5kIGxhc3QgU0NSLgoJICBGaXhlZCBhIHR5cG8gaW4gdGhlIEdTVF9ERUJVRyBsaW5lIGFuZCBhZGRlZCBzb21lIG1vcmUgaW5mby4KCjIwMDktMDItMDQgMTY6MjA6NDAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIE1vdmVkIHZhciBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2luIG9mIGZ1bmN0aW9uCgoyMDA5LTAyLTA0IDE2OjE4OjI3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wMi0wNCAxNjoxMToyMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgSW1wcm92ZWQgc2Vla2luZyBpbiBwdWxsIG1vZGUuIFNvbWUgcmVmYWN0b3JpbmcgYW5kIHNtYWxsIGZpeGVzCgoyMDA5LTAyLTA0IDExOjExOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIFRPRE8KCjIwMDktMDItMDQgMTE6MDk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFBvc3QgYW4gVU1JRCB0YWcgd2l0aCB0aGUgY3VycmVudCBwYWNrYWdlJ3MgVU1JRAoKMjAwOS0wMi0wNCAxMDo1OTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc2V0IHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhZnRlciBzZWVraW5nIGFuZCBORVdTRUdNRU5UIGV2ZW50cwoKMjAwOS0wMi0wNCAxMDo1Mzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEluIHB1c2ggbW9kZSBwbGF5IGFsbCByZW1haW5pbmcgcGFydHMgb2YgdGhlIGZpbGUgb24gRU9TIGlmIHRoZXJlIGFyZSBhbnkKCjIwMDktMDItMDQgMTA6Mzc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBzZXQgdGhlIG1heGltdW0gYWxsb3dlZCB0aW1lIGRpZmZlcmVuY2UgYmV0d2VlbiB0cmFja3MKCjIwMDktMDItMDQgMTA6Mjc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBBbHdheXMgc2V0IHRoZSBjdXJyZW50IHBhY2thZ2UsIG5vdCBvbmx5IHdoZW4gaXQgd2FzIGNoYW5nZWQKCSAgVGhpcyBpcyBuZWNlc3NhcnkgYXMgdGhlIGN1cnJlbnQgcGFja2FnZSBsaW5rIHdpbGwgYmUgc2V0IHRvIE5VTEwKCSAgd2hlbiB1cGRhdGVkIG1ldGFkYXRhIGlzIHBhcnNlZCBhbmQgc2hvdWxkIGJlIHNldCBoZXJlIGFnYWluLgoKMjAwOS0wMi0wNCAxMDoxOTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFRyeSB0byByZXNvbHZlIGFsbCBzeW5jaHJvbml6YXRpb24gaXNzdWVzLCBub3Qgb25seSB0aGUgZmlyc3QKCjIwMDktMDItMDMgMTc6NDc6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZW1vdmUgc29tZSBjaGVja3MgdGhhdCB3aWxsIGFsd2F5cyBiZSBUUlVFCgoyMDA5LTAyLTAzIDIyOjI3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDItMDIgMjM6Mjk6MjQgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBBbHNvIGZsdXNoIHBhcnNlciB3aGVuIGEgbmV3c2VnbWVudCBpcyByZWNlaXZlZC4gRml4ZXMgbG9vcCBpbiByZXZlcnNlIG1vZGUuCgoyMDA5LTAyLTAyIDIzOjEyOjA3ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIEFkZCBwdWxsIG1vZGUgdG8gbXBlZ3BzZGVtdXggYW5kIHJlcG9ydCBkdXJhdGlvbiByZWFkaW5nIGZpcnN0IGFuZCBsYXN0IFBUUy4gU29tZSByYW5kb20gY2xlYW51cHMuCgoyMDA5LTAyLTAyIDE3OjQ0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQ2xlYW51cCBwbGF5YmFjayBwYWNrYWdlIHNlbGVjdGlvbiBhbmQgbm90aWZ5IGFib3V0IHRoZSBjdXJyZW50IHBhY2thZ2UKCjIwMDktMDItMDIgMTY6MjM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgdGFncyBwcm9wZXJseSwgZXNwZWNpYWxseSBvbiBjb21wb25lbnQgc3dpdGNoCgoyMDA5LTAyLTAyIDE2OjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRXJyb3Igb3V0IGlmIG5vIHBhZHMgY291bGQgYmUgY3JlYXRlZAoKMjAwOS0wMi0wMiAxNTo1NDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc29sdmUgbWV0YWRhdGEgYW5kIHVwZGF0ZSB0cmFja3MgaWYgbmVjZXNzYXJ5IGJlZm9yZSBzZWVraW5nCgoyMDA5LTAyLTAyIDE1OjU0OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRG9uJ3QgZ28gYWZ0ZXIgdGhlIGxhc3QgY29tcG9uZW50IG9mIGEgdHJhY2sKCjIwMDktMDItMDIgMTU6NTM6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXR1cm4gYW4gZXJyb3IgaWYgdXBkYXRpbmcgYW4gYWxyZWFkeSBleGlzdGluZyBwYWQgZmFpbHMKCjIwMDktMDItMDIgMDc6NDQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggc2Vla2luZyBpZiB0aGUgc291cmNlIGNsaXAgZHVyYXRpb24gaXMgdW5rbm93bgoKMjAwOS0wMi0wMSAxNjo1OToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTAyLTAxIDE2OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IGRlYWRsb2NrcyB3aGVuIHNlZWtpbmcgaW4gcHVsbCBtb2RlIGZhaWxlZCBhbmQgY2hlY2sgbmV3IG9mZnNldCBiZWZvcmUgdXNpbmcgaXQKCjIwMDktMDItMDEgMTY6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgb2Zmc2V0IGluIHB1c2ggbW9kZSBhbmQgaGFuZGxlIGV2ZW50cyBwcm9wZXJseQoKMjAwOS0wMi0wMSAxNTowNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgSW1wbGVtZW50IGluaXRpYWwgc2Vla2luZyBzdXBwb3J0IChwdWxsIG1vZGUgb25seSkKCjIwMDktMDEtMzEgMTE6Mjk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIERvbid0IHVzZSBHTGliIDIuMTYgQVBJIHVuY29uZGl0aW9uYWxseQoKMjAwOS0wMS0zMCAxOTo1Mjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIENoZWNrIGZvciBFT1Mgb24gYWxsIHBhZHMgYWZ0ZXIgYWRqdXN0aW5nIHRoZSBlc3NlbmNlIHRyYWNrIGR1cmF0aW9ucwoKMjAwOS0wMS0zMCAxOTozMzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBkdXJhdGlvbiBjYWxjdWxhdGlvbiBmb3IgZXNzZW5jZSB0cmFja3MKCjIwMDktMDEtMzAgMTU6NTA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXBsZW1lbnQgR3N0RWxlbWVudDo6cXVlcnkvZ2V0X3F1ZXJ5X3R5cGVzIHZmdW5jcwoKMjAwOS0wMS0zMCAxNTozNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlc2V0IGFsbCBpbnRlcm5hbCBzdGF0ZSBpbiBmaW5hbGl6ZQoKMjAwOS0wMS0yOSAyMDoyNzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGRldGVjdGlvbiBhbmQgZml4IHB1c2ggbW9kZSBmb3IgdGhlIGxhc3QgcHVzaGVkIGluIGJ1ZmZlcgoKMjAwOS0wMS0yOSAxOTo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgS2VlcCB0cmFjayBvZiBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHdoZW4gcGxheWluZyBzb3VyY2UgcGFja2FnZXMKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cyBhcmUgcGxheWVkIGFuZAoJICB0aGF0IHdlIHNlZWsgdG8gdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cy4KCjIwMDktMDEtMjkgMTk6NDI6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIENvbXBlbnNhdGUgZm9yIHRpbWVzdGFtcC9kdXJhdGlvbiByb3VuZGluZyBlcnJvcnMKCjIwMDktMDEtMjkgMTU6NTY6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBsb2dpYyB0byBjaGVjayBhbGwgcGFkcyB3aGVuIHB1bGxpbmcgYSBwYWNrZXQgcmV0dXJuZWQgRU9TCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGZpbmlzaCBhbGwgcGFkcyB0aGF0IGFyZSBhdCBFT1Mgbm93IGluc3RlYWQgb2YKCSAganVzdCBmaW5pc2hpbmcgb25lIGFuZCByZXR1cm5pbmcgdG8gdGhpcyBwb2ludCBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAwOS0wMS0yOSAxNTo1NTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIE9ubHkgcHVzaCBidWZmZXJzIGZvciBwYWRzIHRoYXQgYXJlIG5vdCBtb3JlIHRoYW4gNTAwbXMgYmVmb3JlIG90aGVyIHBhZHMKCjIwMDktMDEtMjkgMTU6Mzk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBsb2dpYyB0byBvbmx5IGdvIGludG8gRU9TIGFmdGVyIGFsbCB0cmFja3MgYXJlIGZpbmlzaGVkCgoyMDA5LTAxLTI4IDE3OjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIFRPRE8gbGlzdAoKMjAwOS0wMS0yOCAxNjozOTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFRyeSB0byBrZWVwIHRoZSB0aW1lc3RhbXAgZGlmZmVyZW5jZSBiZXR3ZWVuIHRyYWNrcyBsb3dlciB0aGFuIDUwMG1zCgoyMDA5LTAxLTI3IDE1OjM2OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IHBsYXliYWNrIG9mIGF0b20gZmlsZXMKCjIwMDktMDEtMjcgMTU6Mjc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBLZWVwIHRyYWNrIG9mIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24KCjIwMDktMDEtMjcgMTQ6Mzg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBTZXQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbnMgdG8gMCBpZiB3ZSdyZSBhdCB0aGUgc3RhcnQgcGFydGl0aW9uCgoyMDA5LTAxLTI3IDE0OjI1OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBHZW5lcmF0ZSBhbiBpbmRleCB0YWJsZSBmb3IgZXNzZW5jZSBzdHJlYW1zCgkgIEdlbmVyYXRlIGFuIGluZGV4IHRhYmxlIGZvciBlc3NlbmNlIHN0cmVhbXMgZHVyaW5nIHBsYXliYWNrCgkgIGFuZCBtYWtlIHN1cmUgdGhhdCBvbmx5IHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMgYXJlCgkgIHVzZWQgZm9yIHBsYXllZCB0cmFja3MuCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gaGF2ZSBvbmUgZXNzZW5jZSBzdHJlYW0gdXNlZCBpbiBtdWx0aXBsZQoJICBwbGF5YmFjayB0cmFja3MuCgkgIEZpeCBzb21lIG1pbm9yIGJ1Z3MuCgoyMDA5LTAxLTI3IDE0OjIzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgRG9uJ3QgY29tcGxhaW4gaWYgdGhlIHByZWZhY2UgaGFzIG5vIHByaW1hcnkgcGFja2FnZSBzZXQKCjIwMDktMDEtMjYgMTY6MjM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIEFsbG93IGluZGV4IHRhYmxlIHNlZ21lbnRzIHdpdGhvdXQgcHJpbWVyIHBhY2sKCSAgV2hlbiBwYXJzaW5nIGFuIGluZGV4IHRhYmxlIHNlZ21lbnQgd2l0aG91dCBhIHZhbGlkCgkgIHByaW1lciBwYWNrIGluIHRoaXMgcGFydGl0aW9uIG9ubHkgcGFyc2UgdGhlIHN0YXRpYwoJICBsb2NhbCB0YWdzIGFuZCBpZ25vcmUgYWxsIGR5bmFtaWMgb25lcy4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gdXNlIGluZGV4IHRhYmxlIHNlZ21lbnRzIGluIHNvbWUKCSAgYnJva2VuIGZpbGVzLgoKMjAwOS0wMS0yNiAxNjoyMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIGVzc2VuY2UgdHJhY2sgYWJzdHJhY3Rpb24KCSAgQWRkIGFuIGFic3RyYWN0aW9uIHRvIHJlcHJlc2VudCBlc3NlbmNlIHRyYWNrcyBhbmQKCSAgdXNlIHRoaXMgZXZlcnl3aGVyZS4gVGhpcyB3aWxsIGxhdGVyIGJlIHVzZWQgdG8ga2VlcAoJICB0cmFjayBvZiBwb3NpdGlvbnMgYW5kIHRvIGdlbmVyYXRlL2hhbmRsZSBzZWVrIHRhYmxlcy4KCSAgU29tZSByYW5kb20gY2xlYW51cCBhbmQgcmVuYW1pbmcuCgoyMDA5LTAxLTI2IDE0OjQ3OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgRml4IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMKCSAgQWxsb2NhdGUgbWVtb3J5IGZvciB0aGUgcG9zIHRhYmxlcyBhbmQgc2xpY2Ugb2Zmc2V0cwoJICBvZiB0aGUgaW5kZXggZW50cmllcyBzZXBhcmF0ZWx5IHRvIGEpIGZpeCBhbGlnbm1lbnQgaW4KCSAgd2VpcmQgY2FzZXMgYW5kIGIpIHRvIGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIHRvIGZyZWUoKQoJICBpbiB0aGUgaW5kZXggdGFibGUgc2VnbWVudCByZXNldCBmdW5jdGlvbi4KCjIwMDktMDEtMjYgMTQ6MzM6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcHJvdmUgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlIGhlYWRlciBtZXRhZGF0YQoJICBIZWFkZXIgbWV0YWRhdGEgaXMgZmluaXNoZWQgYWZ0ZXIgcGFydGl0aW9uLmhlYWRlcl9ieXRlX2NvdW50CgkgIGJ5dGVzIGFmdGVyIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBwcmltZXIgcGFjayBhcmUgaGFuZGxlZC4KCSAgQWZ0ZXIgdGhpcyB0aGVyZSBjYW4gb25seSBiZSBpbmRleCB0YWJsZSBzZWdtZW50cywgZmlsbGVyIHBhY2tldHMsCgkgIGVzc2VuY2Ugb3IgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IHBhcnRpdGlvbi4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzIHRoYXQgaGF2ZSBub24tc3RhbmRhcmQgbWV0YWRhdGEKCSAgcGFja2V0cyBpbiB0aGUgaGVhZGVyIG1ldGFkYXRhLgoKMjAwOS0wMS0zMCAxODoyNzowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBVbnJlZiBldmVudCBpZiB3ZSBkb24ndCBmb3J3YXJkIGl0LCB1bnJlZiBwYWRzIHdoZW4gZG9uZSB3aXRoIHRoZW0uCgoyMDA5LTAxLTMwIDIyOjI4OjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQgcmVsZWFzZWluZm8gd2l0aCBvbmxpbmUgdXJsLgoKMjAwOS0wMS0zMCAxODoyMDoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBGb3J0ZS4KCSAgRGVyZWZlcmVuY2UgdGhlIHBvaW50ZXIgdG8gdGhlIHBhc3NlZCBzb2NrZXQgdG8gY2hlY2sgdGhlIGFjdHVhbCBmZAoJICB3aGVuIGNsb3NpbmcgdGhlbS4KCSAgQ2FzdCBhbiBhc3NpZ25tZW50IHRvIGtpbGwgYSB3YXJuaW5nLgoKMjAwOS0wMS0zMCAxODoxODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24uCgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uIGluIGJvdGgKCSAgY29waWVzIG9mIEdzdEJhc2VQYXJzZQoKMjAwOS0wMS0zMCAxNzozMTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBCdW1wIGNvbW1vbgoKMjAwOS0wMS0zMCAwODo1NDo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgVXNlIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgY2xpZW50LXNpZGUgaG9vawoKMjAwOS0wMS0yOSAxNzo1OTozNSAtMDIwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgIHF0d3JhcHBlcjogRml4ZXMgYnVpbGQgYXQgY2FzZSBzZW5zaXRpdmUgc3lzdGVtcy4KCjIwMDktMDEtMjggMTI6NDE6MzYgKzAwMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkCgkgIHBlcyBwYWNrZXRzIHRoYXQgY2xhaW0gdG8gYmUgZW5jcnlwdGVkIG1heSBub3QgYmUgc28sIHNvIHRyZWF0IGFzIG5vcm1hbC4KCSAgSnVzdCBsb2cgdGhlIGZsYWdzLgoKMjAwOS0wMS0yOCAxMzoyNToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgQWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQgaW4gcXRtdXggKGFuZCBmcmllbmRzKS4KCSAgU3VwcG9ydCBBTVIgYW5kIEgyNjMgZm9yIGJvdGggcXRtdXggYW5kIGdwcG11eCwKCSAgYW5kIGFkZCBleHRlbnNpb25zIGluIHNhbXBsZSB0YWJsZSBkZXNjcmlwdGlvbi4KCjIwMDktMDEtMjggMTI6Mjc6NDIgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIFJldmVydCAibXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDNlNGU1NTk4ZjZjM2RiNDQ0ZDAwMTQ1OTdkMzgzZWQzNWEwMjk5OC4KCjIwMDktMDEtMjggMTI6MDY6NDkgKzAwMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQKCSAgcGVzIHBhY2tldHMgdGhhdCBjbGFpbSB0byBiZSBlbmNyeXB0ZWQgbWF5IG5vdCBiZSBzbywgc28gdHJlYXQgYXMgbm9ybWFsLgoJICBKdXN0IGxvZyB0aGUgZmxhZ3MuCgoyMDA5LTAxLTI0IDE4OjEzOjM5ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9SRUFETUU6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvY2hhbmdlcy50eHQ6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvZmFzdG1peC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvaXRfZGVmcy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfNjY5LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2FtZi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9hbXMuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZGJtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RtZi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kc20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZmFyLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2oyYi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tZGwuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbWVkLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21vZC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tdDIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbXRtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX29rdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wc20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3MzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9zdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfdWx0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3VteC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF93YXYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfeG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21tY21wLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2RzcC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2ZsdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kX2Z4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kbWl4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy90YWJsZXMuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3RhYmxlcy5kOgoJICBCdWlsZCB0aGUgbW9kcGx1ZyBwbHVnaW4gYWdhaW5zdCB0aGUgbW9kcGx1ZyBsaWJyYXJ5IGFuZCByZW1vdmUgb3VyIGNvcHkKCSAgQWx3YXlzIGJ1aWxkIHRoZSBtb2RwbHVnIHBsdWdpbiBhZ2FpbnN0IHRoZSBzeXN0ZW0gbW9kcGx1ZyBsaWJyYXJ5CgkgIGFuZCByZW1vdmUgb3VyIG93biBjb3B5LiBVc2luZyB0aGUgc3lzdGVtIHZlcnNpb24gaGFzIGFkdmFudGFnZXMKCSAgaWYgc2VjdXJpdHkgaXNzdWVzIG9yIG90aGVyIGNyaXRpY2FsIGJ1Z3MgYXJlIGZvdW5kIGluIGxpYm1vZHBsdWcKCSAgYW5kIG91ciBvd24gY29weSB3YXNuJ3QgcmVhbGx5IG1haW50YWluZWQgYW55d2F5LgoJICBBbHNvIG91ciBjb3B5IG9ubHkgY29udGFpbmVkIHNvbWUgcGF0Y2hlcyB0byB1c2UgR0xpYiB0eXBlcyBhbmQgZnVuY3Rpb25zLgoJICBGaXhlcyBidWcgIzU2ODgzNy4KCjIwMDktMDEtMjMgMjM6NDI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkqIHBvLy5naXRpZ25vcmU6CgkgIEFkZCBtb3JlIHRvIHRoZSBnaXRpZ25vcmVzCgoyMDA5LTAxLTIzIDE0OjAyOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBNYWtlIFJHQiBtYXNrcyB1bnNpZ25lZCBpbiByYXd2aWRlb3BhcnNlCgkgIEFsbG93IHRoZSBmdWxsIHJhbmdlIG9mIDMyIGJpdCBtYXNrcyBmb3IgUkdCQS9SR0IgZGF0YSBieSBtYWtpbmcgc3VyZQoJICB0aGUgbWFzayBwcm9wZXJ0aWVzIGFyZSB1bnNpZ25lZC4KCjIwMDktMDEtMjMgMTY6MDk6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9SRUFETUU6CgkgIEFkZCBSRUFETUUgd2l0aCBtaWRpIHJlbGF0ZWQgbGlua3MuCgoyMDA5LTAxLTIzIDE2OjAwOjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBMb2cgYWFjIGRldGFpbHMgZm91bmQgaW4gY29kZWNfZGF0YS4KCjIwMDktMDEtMjMgMTQ6NDM6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkgIENvbmZpZ3VyZSBieXRlIG9yZGVyIGZvciBFWElGLiBGaXhlcyAjNTY4NzA0CgkgIEV4aWYgYmxvY2tzIGNhbiBiZSBpbiBkaWZmZXJudCBieXRlIG9yZGVycy4gQWRkIGFuIGVsZW1lbnQgcHJvcGVydHkgdG8gc2VsZWN0IHdpY2ggb25lIHNob3VsZCBiZSB3cml0dGVuLgoKMjAwOS0wMS0yMyAxMjo0NjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBSZW5hbWUgYXVkaW9yZXNhbXBsZSBmaWxlcyBhbmQgdHlwZXMgdG8gbGVnYWN5cmVzYW1wbGUKCSAgRmluaXNoIHRoZSBtb3ZlL3JlbmFtZSBvZiBhdWRpb3Jlc2FtcGxlIHRvIGxlZ2FjeXJlc2FtcGxlCgkgIHRvIHByZXZlbnQgYW55IGNvbmZ1c2lvbi4KCjIwMDktMDEtMjMgMTI6Mzk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIC1iYWQsIGl0J3MgaW4gLWJhc2UKCjIwMDktMDEtMjMgMTI6MTM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBTZW5kIEJZRSBwYWNrZXRzIGltbWVkaWF0bHkgZm9yIHNtYWxsIHNlc3Npb25zCgkgIFdoZW4gdGhlIG51bWJlciBvZiBwYXJ0aWNpcGFudHMgaXMgbGVzcyB0aGFuIDUwLCB0aGUgUkZDIGFsbG93cyBmb3Igc2VuZGluZyB0aGUKCSAgQllFIHBhY2tldCBpbW1lZGlhdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlZ3VsYXIgQllFIHRpbWVvdXQuCgkgIEZpeGVzICM1Njc4MjguCgoyMDA5LTAxLTIzIDExOjUwOjI5ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IHRvIG1tc3NyYy4gRml4ZXMgYnVnICM0Njk5MzAuCgkgIEFkZCBwcm9wZXIgc2Vla2luZyBzdXBwb3J0IHRvIG1tc3NyYyBhbmQgY2xlYW4KCSAgdXAgc29tZSBjb2RlLiBUaGlzIHJlcXVpcmVzIGxpYm1tcyA+PSAwLjQuCgoyMDA5LTAxLTIzIDEwOjQ0OjIwICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgTGluayBtb2RwbHVnIHBsdWdpbiB3aXRoIC1sbS4gRml4ZXMgYnVnICM1Njg0ODMuCgoyMDA5LTAxLTIzIDEwOjExOjUyICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4IGJ1aWxkIG9uIFNvbGFyaXMuIEZpeGVzIGJ1ZyAjNTY4NDgwLgoJICBGaXggbGlua2luZyBvbiBTb2xhcmlzIGJ5IGNoZWNraW5nIGZvciB0aGUgbnNsIGFuZCBzb2NrZXQKCSAgbGlicmFyaWVzIHdoaWNoIGFyZSBuZWVkZWQgZm9yIHNvY2tldCgpIGFuZCBnZXRob3N0YnluYW1lKCkuCgkgIERvbid0IGluaXRpYWxpemUgc29tZSBmaWVsZHMgb2Ygc3RydWN0IG1oIHRvIE5VTEwvMCwgdGhleSdyZQoJICBhbHJlYWR5IHNldCB0byBOVUxMLzAgYnkgYSBtZW1zZXQoKS4gQWxzbyB0aGlzIGZpZWxkcyBkb24ndAoJICBleGlzdCBvbiBTb2xhcmlzLgoKMjAwOS0wMS0yMiAxNDozNzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBTdG9yZSBhbGwgcGFydGl0aW9ucyAmIHByaW1lciBwYWNrcyBpbiBtZW1vcnkgZm9yIGZhc3RlciBhY2Nlc3MKCSAgU3RvcmUgYWxsIHBhcnRpdGlvbnMgJiBwcmltZXIgcGFja3MgaW4gbWVtb3J5IGZvciBmYXN0ZXIgYWNjZXNzLgoJICBUaGlzIGlzIGxhdGVyIG5lZWRlZCBmb3IgZmFzdCBzZWVraW5nLgoJICBQcmUtZmlsbCB0aGUgbGlzdCBvZiBwYXJ0aXRpb25zIHdpdGggdGhlIGNvbnRlbnQgb2YgdGhlIHJhbmRvbQoJICBpbmRleCBwYWNrLgoJICBEb24ndCBwYXJzZSBtZXRhZGF0YSBvZiBhbiBwYXJ0aXRpb24gdHdpY2UuCgoyMDA5LTAxLTIyIDE4OjIwOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc25hcHNob3QuCgoyMDA5LTAxLTIyIDE0OjAwOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgY29uZmlnLmggZm9yIGRldmVsb3BtZW50LgoKMjAwOS0wMS0yMiAxMzo0Njo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBGaXggcHJlLWNvbW1pdCBob29rCgoyMDA5LTAxLTIyIDEzOjM5OjM0ICswMTAwICBKYW4gVXJiYW5za2kgPGoudXJiYW5za2lAc3R1ZGVudHMubWltdXcuZWR1LnBsPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIEZpeGVzIGJ1ZyAjNTY3OTY1LgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIFRoaXMgZml4ZXMKCSAgc2Vla2luZyBvbiBzb21lIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2VlayB0YWJsZSBzdG9yZWQKCSAgaW5zaWRlIGFuIEVDTUEgYXJyYXkgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGFycmF5LgoKMjAwOS0wMS0yMiAxMzozMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBVbmxvY2sgdGhlIGppdHRlcmJ1ZmZlciBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIHBhY2tldC1sb3N0IGV2ZW50cy4gTW92ZSBzb21lIGNvZGUgYmVmb3JlIHdlIGRvIHRoZSB1bmxvY2sgdG8gbWFrZSB0aGUgaml0dGVyYnVmZmVyIHN0YXRlIGNvbnNpc3RlbnQgd2hpbGUgd2UgYXJlIHVubG9ja2VkLgoKMjAwOS0wMS0yMiAxMTo1NDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIEZpeCBVTCBmb3IgRFRTIGFuZCBNUEVHMiBsYXllciAxCgoyMDA5LTAxLTIyIDExOjU0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEFBQyBhdWRpbwoKMjAwOS0wMS0yMiAxMTo0Nzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFN0b3JlIE1YRiBtZXRhZGF0YSBpbiBhIGhhc2ggdGFibGUsIGtleWVkIGJ5IFVJRAoJICBTdG9yZSB0aGUgTVhGIG1ldGFkYXRhIGluIGEgaGFzaCB0YWJsZSwga2V5ZWQgYnkgdGhlCgkgIGluc3RhbmNlIFVJRC4gVGhpcyBzaW1wbGlmaWVzIHJlc29sdmFsIG9mIHRoZSBtZXRhZGF0YQoJICBhbmQgbWFrZXMgbG9vcGluZyBvdmVyIGFsbCBtZXRhZGF0YSBzZXRzIHVubmVjZXNzYXJ5CgkgIGluIG1vc3QgY2FzZXMuCgkgIEFkZGl0aW9uYWxseSBwYXJzZSBtZXRhZGF0YSBhbHdheXMuIElmIHdlIGFscmVhZHkgaGF2ZQoJICBhIG1ldGFkYXRhIHNldCB3aXRoIHRoZSBzYW1lIFVJRCByZXBsYWNlIGl0IG9ubHkgaWYKCSAgdGhlIG5ldyBtZXRhZGF0YSBzZXQgaXMgZnJvbSBhIGxhdGVyIG9mZnNldC4gVGhpcwoJICBmaXhlcyBtZXRhZGF0YSBwYXJzaW5nIG9mIGZpbGVzIHdoZXJlIGZvbGxvd2luZyBwYXJ0aXRpb25zCgkgIGRvbid0IGhhdmUgYSBjb21wbGV0ZSBjb3B5IG9mIHRoZSBwcmV2aW91cyBtZXRhZGF0YS4KCjIwMDktMDEtMjIgMTE6NDQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBCdWlsZCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgd2hpbGUgcGFyc2luZwoJICBJZiB0aGUgZmlsZSBjb250YWlucyBubyByYW5kb20gaW5kZXggcGFjayBvciBqdXN0CgkgIGFuIGludmFsaWQgb25lIGJ1aWxkIHRoZSByYW5kb20gaW5kZXggcGFjayB3aGlsZQoJICBwYXJzaW5nLgoKMjAwOS0wMS0yMiAxMTo0Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSAgVXBkYXRlIGNvcHlyaWdodHMgZm9yIDIwMDkKCjIwMDktMDEtMjIgMTE6NDI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFNpbXBsaWZ5IHBhcnNpbmcgb2YgVUwvVVVJRCBhcnJheXMKCSAgU2ltcGxpZnkgcGFyc2luZyBvZiBVTC9VVUlEIGFycmF5cyBieSBhYnN0cmFjdGluZyBpdAoJICBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24uCgoyMDA5LTAxLTIyIDExOjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIERNUzEgKFNNUFRFIFMzODBNKQoKMjAwOS0wMS0yMiAxMTowMDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHRoZSBmaWx0ZXIgcGx1Z2luIGZyb20gdGhlIGJ1aWxkCgkgIFRoZSBmaWx0ZXIgcGx1Z2luIG9ubHkgY29udGFpbnMgYSBsaW1pdGVkIElJUiBmaWx0ZXIgZWxlbWVudAoJICB3aGljaCBpcyBub3cgb2Jzb2xldGVkIGJ5IHRoZSBhdWRpb2lpcmZpbHRlciBlbGVtZW50IGZyb20KCSAgZ3N0LXBsdWdpbnMtZ29vZC9hdWRpb2Z4LgoKMjAwOS0wMS0yMiAxMTo1NjozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsIC0+IDAuMTAuMTAuMQoKMjAwOS0wMS0yMiAwNjoxMjo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgSW5zdGFsbCBhbmQgdXNlIHByZS1jb21taXQgaW5kZW50YXRpb24gaG9vayBmcm9tIGNvbW1vbgoKMjAwOS0wMS0yMSAxMjoyMjo1NCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJhZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFjNmFjMTcwYjlmMjE4YzY3M2MwZGFhZjVjNTY4YzYwMDBhMzdmYzMuCgoyMDA5LTAxLTIxIDEyOjE4OjQ5ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgYWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZAoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZC4KCjIwMDktMDEtMjEgMDQ6MzI6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoIDogVXNlIGdpdCBzdWJtb2R1bGUKCj09PSByZWxlYXNlIDAuMTAuMTAgPT09CgoyMDA5LTAxLTE5IDIzOjE1OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4xMAoKMjAwOS0wMS0xOSAyMjo0MTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAxLTA5IDIzOjQ0OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC45LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjkuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMS0wOSAyMjowOTowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IERvbid0IGZvcndhcmQgZHVyYXRpb24gcmVxdWVzdHMgaW4gQllURVMsIHNpbmNlIHRoZSByZXR1cm5lZCB2YWx1ZSBkb2Vzbid0IG1lYW4gYW55dGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBEb24ndCBmb3J3YXJkIGR1cmF0aW9uIHJlcXVlc3RzIGluIEJZVEVTLCBzaW5jZSB0aGUgcmV0dXJuZWQKCSAgdmFsdWUgZG9lc24ndCBtZWFuIGFueXRoaW5nLiAgRml4ZXMgIzU2Njk1OQoKMjAwOS0wMS0wOSAyMTo1OTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0IHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydAoJICB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1NjY5NTgKCjIwMDktMDEtMDkgMTY6NDk6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEFkZGl0aW9uYWwgcGF0Y2ggZm9yIHJlc2luIGZpeGVzIHRpbWUtYmFzZWQgc2Vla2luZyBpbiB0aXRsZXMgdGhhdCBkb24ndCBzdGFydCBhdCBzZWN0b3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBBZGRpdGlvbmFsIHBhdGNoIGZvciByZXNpbiBmaXhlcyB0aW1lLWJhc2VkIHNlZWtpbmcgaW4gdGl0bGVzCgkgIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgc2VjdG9yIDAgaW4gdGhlIFZUUywgYW5kIGZpeGVzIGludGVycHJldGF0aW9uCgkgIG9mIHRoZSBjZWxsIGVsYXBzZWQgdGltZSwgc28gdGhhdCBpdCByZXBvcnRzIHRoZSBjb3JyZWN0IHRpbWUgYWZ0ZXIKCSAgdGhlIHNlZWsgY29tcGxldGVzLgoJICBSZWFsbHkgZml4ZXMgIzU2Njk1Ny4KCjIwMDktMDEtMDggMTc6NTc6MTkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGV4dC9sYWRzcGEvc2VhcmNoLmM6IEF2b2lkIHNlYXJjaGluZyAobnVsbCkgcGF0aHMgb3IgY3Jhc2hpbmcgb24gcGxhdGZvcm1zIHdoZXJlIHByaW50aW5nIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL3NlYXJjaC5jOiAoTEFEU1BBUGx1Z2luU2VhcmNoKToKCSAgQXZvaWQgc2VhcmNoaW5nIChudWxsKSBwYXRocyBvciBjcmFzaGluZyBvbiBwbGF0Zm9ybXMgd2hlcmUgcHJpbnRpbmcgYQoJICBOVUxMIHN0cmluZyBzZWdmYXVsdHMuIEZpeGVzICM1NjcwMDQuCgoyMDA5LTAxLTA4IDEyOjQyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC86IEFkZCBzdXBwb3J0IGZvciB0aW1lIGJhc2VkIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aW1lIGJhc2VkIHNlZWtpbmcuCgkgIE1ha2Ugc2V0dGluZyBkdmQ6Ly8gcmVzZXQgdG8gdGhlIGRlZmF1bHQgZGV2aWNlLgoJICBNYWtlIHRoZSAnYXVkaW9tdW5nZScgZWxlbWVudCBzZW5kIGFueSBuZXcgc2VnbWVudCBzdGFydCBiZWZvcmUKCSAgdGhlICdnYXAgZmlsbGVyJyBidWZmZXIgaXQgZ2VuZXJhdGVzLCBhbmQgYW55IHNlZ21lbnQgY2xvc2VzCgkgIGFmdGVyLgoJICBGaXhlczogIzU2Njk1NwoKMjAwOS0wMS0wOCAwOTo0MDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQWRkIHBsdWdpbiBkZXBlbmRlbmN5IGZvciB0aGUgTEFEU1BBIHBsdWdpbiBkaXJlY3Rvcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHBsdWdpbiBkZXBlbmRlbmN5IGZvciB0aGUgTEFEU1BBIHBsdWdpbiBkaXJlY3Rvcmllcy4KCSAgRml4ZXMgYnVnICM1NjY4NzguCgoyMDA5LTAxLTA2IDIyOjUxOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXN0IHRlc3QgaGVhZGVycyBmb3IgYW1yIGFuZCBhYWMgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc3QgdGVzdCBoZWFkZXJzIGZvciBhbXIgYW5kIGFhYyBwYXJzZXJzLgoJICBSZW1vdmUgbGVmdG92ZXIgbGluZXMgbWVudGlvbmVkIHNwZWV4cmVzYW1wbGUgdGVzdHMuCgoyMDA5LTAxLTA2IDIyOjM1OjUwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOiBGaXggdHlwbyBpbiB0aGUgb3Bwb3NpdGUgd2F5IHRvIGdpdmUgdGhlIHBsdWdpbiBhIHNlbnNpYmxlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIEZpeCB0eXBvIGluIHRoZSBvcHBvc2l0ZSB3YXkgdG8gZ2l2ZSB0aGUgcGx1Z2luIGEgc2Vuc2libGUgbmFtZS4KCjIwMDktMDEtMDYgMjI6MTY6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbTogRml4IHR5cG8gaW4gdGhlIG1ha2VmaWxlIHRhcmdldCBwcmV2ZW50aW5nIGRpc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIEZpeCB0eXBvIGluIHRoZSBtYWtlZmlsZSB0YXJnZXQgcHJldmVudGluZyBkaXN0aW5nLgoKMjAwOS0wMS0wNSAyMzowMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgQXBwU3JjL0FwcFNpbmsgdGhhdCBhcmUgbW92aW5nIHRvIC1iYXNlLiBQYXJ0aWFsbHkgZml4ZXMgIzU2NDQyMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBSZW1vdmUgQXBwU3JjL0FwcFNpbmsgdGhhdCBhcmUgbW92aW5nIHRvIC1iYXNlLiBQYXJ0aWFsbHkgZml4ZXMKCSAgIzU2NDQyMQoKMjAwOS0wMS0wNSAxNzo0MTo1MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBHdWFyZCBpbnRlcnZhbCBpcyA0IGlmIGRlc2NyaXB0b3IgcGFydCBzaG93cyBiaW5hcnkgMTEgKDMgbm90IDQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgR3VhcmQgaW50ZXJ2YWwgaXMgNCBpZiBkZXNjcmlwdG9yIHBhcnQgc2hvd3MgYmluYXJ5IDExICgzIG5vdCA0KS4KCjIwMDktMDEtMDUgMTc6MzA6NTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6IEZpeCB1cCBzYXRlbGxpdGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IHVwIHNhdGVsbGl0ZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVmcy4KCjIwMDktMDEtMDUgMTc6MjY6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6IEZpeCB1cCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIEZpeCB1cCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBkZWZzLgoJICBUaGV5IHNob3VsZCBiZSBzaGlmdGVkIG90aGVyd2lzZSB3cm9uZyB2YWx1ZXMgYXJlIHNlZW4uCgoyMDA5LTAxLTA1IDEzOjQxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogIkdlbmVyYXRpb24gVUlEIiBhbmQgIlRoaXMgR2VuZXJhdGlvbiBVSUQiIGFyZSBkaWZmZXJlbnQgc28gaGFuZGxlIHRoZW0gZGlmZmVyZW50LiBBbHNvIGJvdGggYXJlIG5vdCBwYXJ0IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAiR2VuZXJhdGlvbiBVSUQiIGFuZCAiVGhpcyBHZW5lcmF0aW9uIFVJRCIgYXJlIGRpZmZlcmVudCBzbyBoYW5kbGUKCSAgdGhlbSBkaWZmZXJlbnQuIEFsc28gYm90aCBhcmUgbm90IHBhcnQgb2YgZXZlcnkgbWV0YWRhdGEgdHlwZS4KCjIwMDktMDEtMDUgMTI6MzQ6MTggKzAwMDAgIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogRml4IGNvbG9yIG9mZnNldCBjYWxjdWxhdGlvbiBmb3IgMjRicHAuIEZpeGVzIGJ1ZyAjNTY2NjEzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNhc2NoYSBIYXVlciA8cyBkb3QgaGF1ZXIgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IChnZXRfcGl4X29mZnNldCksCgkgIChnc3RfYmF5ZXIycmdiX3NldF9jYXBzKToKCSAgRml4IGNvbG9yIG9mZnNldCBjYWxjdWxhdGlvbiBmb3IgMjRicHAuIEZpeGVzIGJ1ZyAjNTY2NjEzLgoKMjAwOS0wMS0wNSAxMToyODo0OSArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4LzogSW1wcm92ZSBtdXhpbmcgb2YgQUMzL2gyNjQgc3RyZWFtcyBhIGJpdC4gRml4ZXMgYnVnICM1NTA2MTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfd3JpdGVfcG10KToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV93cml0ZV9wZXNfaGVhZGVyKSwgKHRzbXV4X3N0cmVhbV9nZXRfZXNfZGVzY3JzKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEltcHJvdmUgbXV4aW5nIG9mIEFDMy9oMjY0IHN0cmVhbXMgYSBiaXQuIEZpeGVzIGJ1ZyAjNTUwNjEzLgoKMjAwOS0wMS0wNSAxMDozNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBEb24ndCBhbGxvdyBuZWdhdGl2ZSBvciB6ZXJvIGVkaXQgcmF0ZXMgdG8gcHJldmVudCBkaXZpc2lvbiBieSB6ZXJvIGFuZCB3ZSBzdXBwb3J0IG5lZ2F0aXZlIGVkaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9uZXh0X2NvbXBvbmVudCk6CgkgIERvbid0IGFsbG93IG5lZ2F0aXZlIG9yIHplcm8gZWRpdCByYXRlcyB0byBwcmV2ZW50IGRpdmlzaW9uCgkgIGJ5IHplcm8gYW5kIHdlIHN1cHBvcnQgbmVnYXRpdmUgZWRpdCByYXRlcyBhbnl3YXkuCgoyMDA5LTAxLTA1IDEwOjI4OjU4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogVXNlIGh5cGhlbiBpbiBwcm9wZXJ0eSBuYW1lLCBwZXJmb3JtIHNhZmV0eSBidWZmZXIgc2l6ZSBjaGVjayBwcmlvciB0byBtZW0gYWNjZXNzLCBhbmQgc29tZSBtby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgVXNlIGh5cGhlbiBpbiBwcm9wZXJ0eSBuYW1lLCBwZXJmb3JtIHNhZmV0eSBidWZmZXIgc2l6ZSBjaGVjawoJICBwcmlvciB0byBtZW0gYWNjZXNzLCBhbmQgc29tZSBtb3JlIHBhcmVudGhlc2VzIGluIG1hY3JvLgoKMjAwOS0wMS0wNSAxMDoyMjoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19hZGRfdG9faGFzaF90YWJsZSk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZC4KCjIwMDktMDEtMDUgMTA6MDA6MjEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBBbHNvIG1lbnRpb24ganAya2VuYyBhcyBhIGpwMmsgcGx1Z2luIGZlYXR1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzbyBtZW50aW9uIGpwMmtlbmMgYXMgYSBqcDJrIHBsdWdpbiBmZWF0dXJlLgoKMjAwOS0wMS0wNCAxMToxMTowNiArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IHNvbWUgbWVtb3J5IGxlYWtzLiBGaXhlcyBidWcgIzU2NjM1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6IChkdmJfYmFzZV9iaW5faW5pdCksCgkgIChkdmJfYmFzZV9iaW5fZmluYWxpemUpLCAoZHZiX2Jhc2VfYmluX2FjdGl2YXRlX3Byb2dyYW0pLAoJICAoZHZiX2Jhc2VfYmluX3BtdF9pbmZvX2NiKSwgKGR2Yl9iYXNlX2Jpbl9wYWRfYWRkZWRfY2IpLAoJICAoZHZiX2Jhc2VfYmluX3Byb2dyYW1fZGVzdHJveSk6CgkgIEZpeCBzb21lIG1lbW9yeSBsZWFrcy4gRml4ZXMgYnVnICM1NjYzNTYuCgoyMDA5LTAxLTAyIDE3OjQwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZSBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRjYXBzX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlCgkgIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgoyMDA5LTAxLTAyIDE2OjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCjIwMDktMDEtMDIgMTE6MDA6MTcgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOiBNb3ZlIC1sZ2NyeXB0byBmcm9tIF9MREZMQUdTIHRvIF9MSUJBREQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgTW92ZSAtbGdjcnlwdG8gZnJvbSBfTERGTEFHUyB0byBfTElCQURELgoKMjAwOS0wMS0wMiAwMTo0NDoxMSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06IExpbmsgYWdhaW5zdCAtbGdjcnB5dG8gZm9yIFJTQV9uZXcgYW5kIFJTQV9mcmVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCAtbGdjcnB5dG8gZm9yIFJTQV9uZXcgYW5kIFJTQV9mcmVlLgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDktMDEtMDIgMDE6MTI6MzUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogSW5pdGlhbGl6ZSBzY3JfcmF0ZV9uIGFuZCBzY3JfcmF0ZV9kIGluIG9yZGVyIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgSW5pdGlhbGl6ZSBzY3JfcmF0ZV9uIGFuZCBzY3JfcmF0ZV9kIGluIG9yZGVyIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMTItMzEgMDg6NTM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciBPUDJhL2IvYyBhbmQgT1AzYS9iL2MsIGkuZS4gdHJhY2tzIHdpdGggbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBvbmVudC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3Jrcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfbmV4dF9jb21wb25lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZnZjMy5jOiAobXhmX3ZjM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3NpbmtfY2hhaW4pOgoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgT1AyYS9iL2MgYW5kIE9QM2EvYi9jLCBpLmUuIHRyYWNrcyB3aXRoCgkgIG1vcmUgdGhhbiBhIHNpbmdsZSBjb21wb25lbnQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MgZm9yCgkgIHRoZSBjYXNlIHdoZXJlIHRoZSBjb21wb25lbnRzIGFyZSBzdG9yZWQgaW4gcGxheWJhY2sgb3JkZXIKCSAgaW4gdGhlIGZpbGUuCgkgIFNldCBzb21lIG1vcmUgZGVmYXVsdC9kaXN0aW5ndWlzaGVkIHZhbHVlcyBmb3IgdGhlIHN0cnVjdHVyYWwKCSAgbWV0YWRhdGEuCgkgIE1ha2Ugc29tZSB0eXBlcyBtb3JlIHN0cmljdCBieSBjaG9vc2luZyB0aGUgY29ycmVjdCBzdWJjbGFzc2VzLgoJICBTZXQgRElTQ09OVCBmbGFnIG9uIGJ1ZmZlcnMgYWZ0ZXIgYSBjb21wb25lbnQgc3dpdGNoLgoJICBUYWtlIHRoZSBsYXN0IHBhcnRpdGlvbiBmcm9tIHRoZSByYW5kb20gaW5kZXggcGFjayBmb3IgdGhlIGZvb3RlcgoJICBwYXJ0aXRpb24gb2YgdGhlIGhlYWRlciBwYXJ0aXRpb24gZG9lc24ndCByZWZlcmVuY2UgdGhlIGZvb3RlcgoJICBwYXJ0aXRpb24uIFRoaXMgZ2l2ZXMgdXMgdGhlIGZpbmFsIHN0cnVjdHVyYWwgbWV0YWRhdGEgZm9yCgkgIHNvbWUgbW9yZSBmaWxlcyBpbiB0aGUgYmVnaW5uaW5nLgoKMjAwOC0xMi0yOSAxODoyMjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IFVzZSB0aGUgYWRqdXN0ZWQgU0NSIGZvciBjYWxjdWxhdGluZyB0aGUgbXV4IHJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgVXNlIHRoZSBhZGp1c3RlZCBTQ1IgZm9yIGNhbGN1bGF0aW5nIHRoZSBtdXggcmF0ZS4KCSAgRG9uJ3QgdXBkYXRlIHRoZSByYXRlIGVzdGltYXRpb24gYWZ0ZXIgYSBkaXNjb250LgoKMjAwOC0xMi0yOSAxNzo1NToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lio6IFRoZSBwb3NpdGlvbiBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQgY29ycmVzcG9uZHMgdG8gdGhlIHN0cmVhbV90aW1lIG9mIHRoZSBzZWdtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgVGhlIHBvc2l0aW9uIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudCBjb3JyZXNwb25kcyB0byB0aGUKCSAgc3RyZWFtX3RpbWUgb2YgdGhlIHNlZ21lbnQgc3RhcnQgcG9zaXRpb24uCgoyMDA4LTEyLTI5IDE3OjMwOjAzICswMDAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBDb252ZXJ0aW5nIGZyb20gdGltZSB0byBieXRlcyBvcGVyYXRlcyBvbiB0aGUgc3RyZWFtX3RpbWUsIG5vdCB0aGUgU0NSIHRpbWVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYmluIFN0b2NrZXIgPHJvYmluIGF0IG5pYm9yIGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zcmNfcXVlcnkpOgoJICBDb252ZXJ0aW5nIGZyb20gdGltZSB0byBieXRlcyBvcGVyYXRlcyBvbiB0aGUgc3RyZWFtX3RpbWUsIG5vdCB0aGUgU0NSCgkgIHRpbWVsaW5lLgoJICBUaGUgcG9zaXRpb24gcmVwb3J0aW5nIHNob3VsZCBoYXBwZW4gaW4gc3RyZWFtX3RpbWUsIG5vdCB0aGUgc2VnbWVudAoJICB0aW1lc3RhbXAgcmFuZ2UuIFNlZSAjNTU3MTYxLgoKMjAwOC0xMi0yOSAxNjo0NToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEFkZCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIHRvIGNvbmZpZ3VyZSBhbmQgcmV0cmlldmUgdGhlIG1pbiBhbmQgbWF4IGxhdGVuY2llcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hcHBfc3JjX3NldF9sYXRlbmNpZXMpLCAoZ3N0X2FwcF9zcmNfc2V0X2xhdGVuY3kpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X2xhdGVuY3kpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfZnVsbCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgdG8gY29uZmlndXJlIGFuZCByZXRyaWV2ZSB0aGUgbWluIGFuZCBtYXgKCSAgbGF0ZW5jaWVzLgoKMjAwOC0xMi0yOSAxNjoyOTowOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogRml4IG1lbWxlYWsuIEZpeGVzICM1NjU2MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfZWl0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM1NjU2MTQuCgoyMDA4LTEyLTI5IDE2OjE4OjQ3ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgYSBzY3JhbWJsZWQgZmllbGQgdG8gdGhlIHNlcnZpY2Ugc3RydWN0dXJlcyByZXRyaWV2ZWQgZnJvbSBTRFQgdG8gZGV0ZXJtaW5lIGlmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX3NkdCk6CgkgIEFkZCBhIHNjcmFtYmxlZCBmaWVsZCB0byB0aGUgc2VydmljZSBzdHJ1Y3R1cmVzIHJldHJpZXZlZCBmcm9tIFNEVCB0bwoJICBkZXRlcm1pbmUgaWYgYSBjaGFubmVsIGlzIHNjcmFtYmxlZC4gRml4ZXMgIzU2NTYxMy4KCjIwMDgtMTItMjkgMTU6NTQ6NDQgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBnc3QvcGNhcHBhcnNlLzogUGF0Y2ggdG8gbWFrZSBnc3RwY2FwcGFyc2UgY29tcGlsZSB3aXRoIG1pbmd3MzIgZ2NjLiBGaXhlcyAjNTY1NDM5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIFBhdGNoIHRvIG1ha2UgZ3N0cGNhcHBhcnNlIGNvbXBpbGUgd2l0aCBtaW5ndzMyIGdjYy4gRml4ZXMgIzU2NTQzOS4KCjIwMDgtMTItMjkgMTU6NDk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgIFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25naXVyZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgRml4ZXMgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTU6MjE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gdGhlIFNTUkMgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuCgkgIHRoZSBTU1JDIGFjdHVhbGx5IGNoYW5nZWQuIFNlZSAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNDoyMTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS4qOiBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwgYXNzdW1lIHRoZSBjbG9jay1yYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsCgkgIGFzc3VtZSB0aGUgY2xvY2stcmF0ZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3QgcGF5bG9hZCB0eXBlIGZvdW5kIGluIHRoZQoJICBSVFAgcGFja2V0cy4gRml4ZXMgIzU2NTUwOS4KCjIwMDgtMTItMjMgMTY6MzI6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBXaXRoIGNvbnN0YW50IHJlYWQgZmFpbHVyZXMsIG1ha2Ugc3VyZSB3ZSBleGl0IHRoZSByZWFkX2RldmljZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFdpdGggY29uc3RhbnQgcmVhZCBmYWlsdXJlcywgbWFrZSBzdXJlIHdlIGV4aXQgdGhlIHJlYWRfZGV2aWNlCgkgIG1ldGhvZC4KCjIwMDgtMTItMjMgMTU6MjY6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBQb3N0IGJ1cyBtZXNzYWdlIHdpdGggZHZiIHJlYWQgZmFpbHVyZSB3aGVuIHVuYWJsZSB0byByZWFkIGZyb20gZGV2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBQb3N0IGJ1cyBtZXNzYWdlIHdpdGggZHZiIHJlYWQgZmFpbHVyZSB3aGVuIHVuYWJsZSB0byByZWFkIGZyb20KCSAgZGV2aWNlLgoKMjAwOC0xMi0yMyAxMjoyNTo0NyArMDAwMCAgTHVvdGFvIEZ1IDxsLmZ1QHBlbmd1dHJvbml4LmRlPgoKCSAgc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiBGaXggdGhlIERlcHRoIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfZ2V0Y2Fwcyk6CgkgIEZpeCB0aGUgRGVwdGggY2FsY3VsYXRpb24uCgkgIEZpeGVzICM1NjQxMTQuCgoyMDA4LTEyLTIzIDExOjM5OjU5ICswMDAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlIHRpbWUuICBUaW1lc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZQoJICB0aW1lLiAgVGltZXN0YW1wcyBjYW4gb25seSBnbyBmb3J3YXJkIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlcgoJICBzaWRlLCBjYW4gb25seSBnbyBiYWNrIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlciBzaWRlLCBhbmQgcmVtYWluIHRoZQoJICBzYW1lIGlmIHRoZXkgcmVtYWluIHRoZSBzYW1lIGF0IHRoZSBzZW5kZXIgc2lkZS4gRml4ZXMgIzU2NTMxOS4KCjIwMDgtMTItMjIgMjA6NTY6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbXBlZy5jOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBoLjI2NCB2aWRlbyAoU01QVEUgUlAyMDA4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGguMjY0IHZpZGVvIChTTVBURSBSUDIwMDgpLgoKMjAwOC0xMi0yMiAyMDozNzoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtZXRhZGF0YS4qOiBJZiByZXNvbHZpbmcgYSBtZXRhZGF0YSBvYmplY3QgZmFpbGVkIHRoZSBmaXJzdCB0aW1lIHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIElmIHJlc29sdmluZyBhIG1ldGFkYXRhIG9iamVjdCBmYWlsZWQgdGhlIGZpcnN0IHRpbWUgcmV0dXJuCgkgIEZBTFNFIGZvciBhIHNlY29uZCBteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKCkgY2FsbCBpbnN0ZWFkCgkgIG9mIFRSVUUuCgoyMDA4LTEyLTIyIDEwOjE0OjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ2xlYW51cCBvZiB0aGUgaW5jbHVkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmLmM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzoKCSAgKiBnc3QvbXhmL214ZmRtczEuYzoKCSAgKiBnc3QvbXhmL214ZmRtczEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIENsZWFudXAgb2YgdGhlIGluY2x1ZGVzLgoKMjAwOC0xMi0xOSAxODo1Mzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoKMjAwOC0xMi0xOSAxODozMzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCjIwMDgtMTItMTkgMTA6MDY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgbXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKCkgdG8gc2V0IHJhdGUgYW5kIGNoYW5uZWxzIGFuZCB1c2UgdGhpcyBmb3IgYWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMoKSB0bwoJICBzZXQgcmF0ZSBhbmQgY2hhbm5lbHMgYW5kIHVzZSB0aGlzIGZvciBhbGwgc291bmQgZXNzZW5jZS4KCSAgR2l2ZSBzb21lIGRlYnVnIG91dHB1dCB3aGVuIHNldHRpbmcgcGljdHVyZSBlc3NlbmNlIGNhcHMgd2l0aAoJICBpbnZhbGlkIGRlc2NyaXB0b3IgdmFsdWVzLgoJICBGaXggaGVpZ2h0IGNhbGN1bGF0aW9uIGZyb20gdGhlIGZyYW1lIGxheW91dCBhIGJpdCBtb3JlIGFuZAoJICBhZGQgYSBUT0RPIHRvIGNoZWNrIGlmIGl0J3MgcmVhbGx5IGNvcnJlY3Qgbm93IG9yIGlmIGl0IG5lZWRzCgkgIG1vcmUgZml4aW5nIChlc3BlY2lhbGx5LCBkb2VzIHRoZSBmcmFtZXJhdGUgbmVlZCBhZGp1c3RtZW50cz8pLgoKMjAwOC0xMi0xOCAxNzo0OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBWQy0zIChha2EgRE54SEQgZXNzZW5jZSwgc2VlIFNNUFRFIDIwMTktNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZnZjMy5jOiAobXhmX2lzX3ZjM19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl92YzNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdmMzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl92YzNfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ2YzMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIFZDLTMgKGFrYSBETnhIRCBlc3NlbmNlLCBzZWUgU01QVEUgMjAxOS00KS4KCSAgVGhpcyBpcyB1bnRlc3RlZCBiZWNhdXNlIG9mIGxhY2sgb2Ygc2FtcGxlIGZpbGVzIGJ1dCBzaG91bGQKCSAgd29yayBmaW5lLgoKMjAwOC0xMi0xNyAxMzo1MTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBhcHBzcmMgYW5kIGFwcHNpbmsgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCk6CgkgIEFkZCBhcHBzcmMgYW5kIGFwcHNpbmsgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMTItMTcgMTI6MDY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSW4gcHVzaCBtb2RlIHNraXAgdGhlIHJ1biBpbiBhZ2FpbiBpZiB3ZSBnZXQgYnVmZmVycyB3aXRoIGFuIG9mZnNldCBiZWZvcmUgdGhlIHJ1biBpbi4gVGhpcyBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgSW4gcHVzaCBtb2RlIHNraXAgdGhlIHJ1biBpbiBhZ2FpbiBpZiB3ZSBnZXQgYnVmZmVycyB3aXRoCgkgIGFuIG9mZnNldCBiZWZvcmUgdGhlIHJ1biBpbi4gVGhpcyBjYW4gaGFwcGVuIG9uIHNlZWtzIGZvciBleGFtcGxlLgoKMjAwOC0xMi0xNiAxNjoyNjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcyB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzCgkgIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgoyMDA4LTEyLTE2IDEyOjQ2OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKG14ZmRlbXV4X3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDEyOjM3OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC4qOiBNYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBhbHJlYWR5IHJ1bm5pbmcgd2hlbiBoYW5kbGluZyB0aGUgRU9TIGV2ZW50IGluIHB1bGwgbW9kZS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9zaW5rX2V2ZW50KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5oOgoJICBNYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBhbHJlYWR5IHJ1bm5pbmcgd2hlbiBoYW5kbGluZyB0aGUgRU9TCgkgIGV2ZW50IGluIHB1bGwgbW9kZS4gVGhpcyB3b3JrcyBhcm91bmQgYSByYWNlIGNvbmRpdGlvbiB0aGF0IGNhbgoJICBoYXBwZW4gaWYgdGhlIGVsZW1lbnQgZ29lcyBpbnRvIFBMQVlJTkcsIGhhbmRsZXMgZXZlcnl0aGluZyBhbmQKCSAgc2VuZHMgRU9TIGJlZm9yZSB0aGUgbWFpbiBsb29wIGlzIHN0YXJ0ZWQuCgoyMDA4LTEyLTE2IDEyOjMwOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IGFuIGVzc2VuY2UgZWxlbWVudCBoYW5kbGluZyByZWdpc3RyeSBhbmQgdXNlIHRoaXMgaW5zdGVhZCBvZiBhbiBoYXJkY29kZWQsIGxhcmdlIGlmLXRoZW4tZWxzZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2Flc19id2ZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2FsYXdfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FsYXdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2QxMF9jcmVhdGVfY2FwcyksCgkgIChteGZfZDEwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9kdl9kaWZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpLAoJICAobXhmX2pwZWcyMDAwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9lc3NlbmNlX2VsZW1lbnRfaGFuZGxlcl9yZWdpc3RlciksCgkgIChteGZfZXNzZW5jZV9lbGVtZW50X2hhbmRsZXJfZmluZCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9jcmVhdGVfY2FwcyksIChteGZfdXBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBJbXBsZW1lbnQgYW4gZXNzZW5jZSBlbGVtZW50IGhhbmRsaW5nIHJlZ2lzdHJ5IGFuZCB1c2UgdGhpcyBpbnN0ZWFkCgkgIG9mIGFuIGhhcmRjb2RlZCwgbGFyZ2UgaWYtdGhlbi1lbHNlIGJsb2NrLgoKMjAwOC0xMi0xNiAxMDo1MDo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBCbGFja2xpc3QgcmZic3JjIGZyb20gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQmxhY2tsaXN0IHJmYnNyYyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdC4KCjIwMDgtMTItMTYgMDk6NTk6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHB1c2ggYW5kIHB1bGwgbW9kZSB1bml0IHRlc3QgZm9yIG14ZmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3BhZF9hZGRlZCksIChfc2lua19jaGFpbiksCgkgIChfc2lua19ldmVudCksIChfY3JlYXRlX3NpbmtfcGFkKSwgKF9jcmVhdGVfc3JjX3BhZF9wdXNoKSwKCSAgKF9zcmNfZ2V0cmFuZ2UpLCAoX3NyY19xdWVyeSksIChfY3JlYXRlX3NyY19wYWRfcHVsbCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChteGZkZW11eF9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguaDoKCSAgQWRkIHB1c2ggYW5kIHB1bGwgbW9kZSB1bml0IHRlc3QgZm9yIG14ZmRlbXV4LgoKMjAwOC0xMi0xNiAwODozNTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIE1YRiBwbHVnaW4gYW5kIG14ZmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uIGZvciB0aGUgTVhGIHBsdWdpbiBhbmQgbXhmZGVtdXguCgoyMDA4LTEyLTE2IDA4OjIxOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmVuYW1lIE1YRk1ldGFkYXRhQmFzZSBtZXRob2RzIHRvIHJlZmxlY3QgdGhhdCB0aGV5IGJlbG9uZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlX2RlZmF1bHQpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfY2xhc3NfaW5pdCksIChteGZfbWV0YWRhdGFfYmFzZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9uZXcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzb2x2ZSk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBSZW5hbWUgTVhGTWV0YWRhdGFCYXNlIG1ldGhvZHMgdG8gcmVmbGVjdCB0aGF0IHRoZXkgYmVsb25nIHRvCgkgIE1YRk1ldGFkYXRhQmFzZSBhbmQgbm90IE1YRk1ldGFkYXRhLgoKMjAwOC0xMi0xNSAxODoxMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJldHVybiBGQUxTRSB3aGVuIHBhcnNpbmcgYSBtZXRhZGF0YSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgUmV0dXJuIEZBTFNFIHdoZW4gcGFyc2luZyBhIG1ldGFkYXRhIHRhZyBmYWlsZWQuCgkgIFJlbW92ZSBzb21lIHVzZWxlc3MgcmV0dXJuIHZhbHVlIGFzc2lnbm1lbnRzLgoKMjAwOC0xMi0xNSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENvbnZlcnQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdG8gR3N0TWluaU9iamVjdHMgdG8gbWFrZSBhIGxvdCBvZiBjb2RlIGVhc2llciBhbmQgdG8gbWFrZSBldmVyeXRoaW5nIGJldHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2Flc19id2ZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKSwgKG14Zl9hbGF3X2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9jcmVhdGVfY2FwcyksIChteGZfZDEwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfZmluZF9wYWNrYWdlKSwgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKSwgKG14Zl9kdl9kaWZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpLCAobXhmX2pwZWcyMDAwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9oYW5kbGVfdGFnKSwgKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfaW5pdCksIChteGZfbWV0YWRhdGFfYmFzZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9wYXJzZSksIChteGZfbWV0YWRhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksIChteGZfbWV0YWRhdGFfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfaW5pdCksIChteGZfbWV0YWRhdGFfaW5pdF90eXBlcyksCgkgIChteGZfbWV0YWRhdGFfcmVnaXN0ZXIpLCAobXhmX21ldGFkYXRhX25ldyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9maW5hbGl6ZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faW5pdCksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfZmluYWxpemUpLCAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2lkZW50aWZpZXJfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0YXRpY190cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdGF0aWNfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9pbml0KSwgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfYWRkX3RvX2hhc2hfdGFibGUpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLCAobXhmX3VwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9pbml0KToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIENvbnZlcnQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdG8gR3N0TWluaU9iamVjdHMgdG8gbWFrZSBhIGxvdCBvZgoJICBjb2RlIGVhc2llciBhbmQgdG8gbWFrZSBldmVyeXRoaW5nIGJldHRlciBleHRlbnNpYmxlLgoJICBBZGQgYSAicmVnaXN0cnkiIGZvciBtZXRhZGF0YSBoYW5kbGVycyB0byBpbXByb3ZlIGV4dGVuc2liaWxpdHkgZXZlbgoJICBtb3JlIGFuZCB0byByZW1vdmUgbWV0YWRhdGEgdHlwZSBzcGVjaWZpY3MgZnJvbSBteGZkZW11eC4KCSAgQ2xlYW4gdXAgYSBsb3Qgb2YgcGFydHMgYW5kIGFkZCBzb21lIG1vcmUgTlVMTCBjaGVja3MuCgoyMDA4LTEyLTE1IDE1OjU2OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBkZWZhdWx0IGZvciBvdXRwdXRmb3JtYXQgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgRml4IGRlZmF1bHQgZm9yIG91dHB1dGZvcm1hdCBwcm9wZXJ0eS4KCjIwMDgtMTItMTUgMTI6MDI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBGaXggZXhhbXBsZSB0byB1bnJlZiBhZnRlciBlbWl0aW5nIHRoZSBwdXNoLWJ1ZmZlciBhY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzogKGZlZWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOiAoZmVlZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAocmVhZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzogKGZlZWRfZGF0YSk6CgkgIEZpeCBleGFtcGxlIHRvIHVucmVmIGFmdGVyIGVtaXRpbmcgdGhlIHB1c2gtYnVmZmVyIGFjdGlvbi4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9mdWxsKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2FjdGlvbik6CgkgIERvbid0IHRha2UgdGhlIHJlZiBvbiB0aGUgYnVmZmVyIGluIHB1c2gtYnVmZmVyIGFjdGlvbiBiZWNhdXNlIGl0J3MgdG9vCgkgIGF3a3dhcmQgZm9yIGJpbmRpbmdzLiBGaXhlcyAjNTY0NDgyLgoKMjAwOC0xMi0xMyAxNjoyNjozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBNb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIHdpdGggZ2V0dGV4dCAwLjE3IGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBNb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIHdpdGggZ2V0dGV4dCAwLjE3IGFueW1vcmUuCgoyMDA4LTEyLTEzIDEzOjAwOjEwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93CgkgIHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3Qgb2YgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDgtMTItMTMgMDg6MDY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogQWRkIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBzbyB3ZSBjYW4gZ2V0IHNvbWUgZGVidWcgb3V0cHV0IGFuZCBsZXQgdXNlcnMgZmlsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9kZXNjcmlwdGl2ZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgQWRkIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBzbyB3ZSBjYW4gZ2V0IHNvbWUKCSAgZGVidWcgb3V0cHV0IGFuZCBsZXQgdXNlcnMgZmlsZSBidWdzIGZvciB1bnN1cHBvcnQgZGVzY3JpcHRpdmUKCSAgbWV0YWRhdGEgc2NoZW1lcy4KCjIwMDgtMTItMTIgMTA6Mjk6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBNYWpvciB1cGRhdGUgb2YgdGhlIFRPRE8gbGlzdHMuIFRoZXJlJ3Mgc3RpbGwgbXVjaCB0byBkby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgICogZ3N0L214Zi9teGZ1cC5jOgoJICBNYWpvciB1cGRhdGUgb2YgdGhlIFRPRE8gbGlzdHMuIFRoZXJlJ3Mgc3RpbGwgbXVjaCB0byBkby4KCjIwMDgtMTItMTEgMTQ6MzU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiBFdmVudCBUcmFja3MsIFN0YXRpYyBUcmFja3MsIERNIFNlZ21lbnRzIGFuZCBETSBTb3VyY2UgQ2xpcHMgYXMgYSBwcmVwYXJhdGlvbiBmb3IgZGVzYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV90cmFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgRXZlbnQgVHJhY2tzLCBTdGF0aWMgVHJhY2tzLCBETSBTZWdtZW50cwoJICBhbmQgRE0gU291cmNlIENsaXBzIGFzIGEgcHJlcGFyYXRpb24gZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhCgkgIHN1cHBvcnQuIE5leHQgc3RlcCBpcyB0byBpbXBsZW1lbnQgU01QVEUgUzM4ME0sICJEZXNjcmlwdGl2ZQoJICBNZXRhZGF0YSBTY2hlbWUtMSIuCgoyMDA4LTEyLTA5IDEzOjQ0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IEltcGxlbWVudCBkZXRlY3Rpb24gb2YgdGhlIGNvbG9yc3BhY2UgdXNlZCBieSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgSW1wbGVtZW50IGRldGVjdGlvbiBvZiB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZQoJICBKUEVHMjAwMCBjb2Rlc3RyZWFtLiBYWVogY29sb3JzcGFjZSBpc24ndCBzdXBwb3J0ZWQgYnkKCSAgb3VyIGRlY29kZXJzIHlldCB1bmZvcnR1bmF0ZWx5LgoKMjAwOC0xMi0wOCAxNTo0NjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBBbGwgZnJhbWUgbGF5b3V0IHZhbHVlcyBleGNlcHQgMCBhcmUgZm9yIGludGVybGFjZWQgdmlkZW8sIG5vdCBvbmx5IDEgYW5kIDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgQWxsIGZyYW1lIGxheW91dCB2YWx1ZXMgZXhjZXB0IDAgYXJlIGZvciBpbnRlcmxhY2VkIHZpZGVvLAoJICBub3Qgb25seSAxIGFuZCAyLgoKMjAwOC0xMi0wOCAxNToyODo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJlbW92ZSB0aGUgY29uY2VwdCBvZiAiZmluYWwiIG1ldGFkYXRhLCBicm9rZW4gZmlsZXMgaGF2ZSB1cGRhdGVkIG1ldGFkYXRhIGluIGZvbGxvd2luZyBwYXJ0aXRpb25zIGV2ZW4gaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcHJpbWVyX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcHJlZmFjZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFJlbW92ZSB0aGUgY29uY2VwdCBvZiAiZmluYWwiIG1ldGFkYXRhLCBicm9rZW4gZmlsZXMgaGF2ZSB1cGRhdGVkCgkgIG1ldGFkYXRhIGluIGZvbGxvd2luZyBwYXJ0aXRpb25zIGV2ZW4gaWYgdGhlIGN1cnJlbnQgcGFydGl0aW9uCgkgIGlzIGNsb3NlZCBhbmQgY29tcGxldGUuCgkgIElmIHRoZXJlJ3MgYSBzZWNvbmQgcHJpbWVyIHBhY2sgaW5zaWRlIGEgcGFydGl0aW9uIGlnbm9yZSB0aGUgc2Vjb25kCgkgIG9uZSBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGVycm9yLgoJICBTdG9yZSB0aGUgdHlwZSBvZiBhIHRyYWNrIChhdWRpbywgdmlkZW8sIHRpbWVzdGFtcCwgLi4uKSBpbnNpZGUgdGhlCgkgIHRyYWNrIHN0cnVjdC4KCSAgUG9zdCBuby1tb3JlLXBhZHMgb25seSBvbmNlIGZvciBhIHN0cmVhbSBhbmQgbm90IGEgc2Vjb25kIHRpbWUKCSAgd2hlbiBzd2l0Y2hpbmcgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHBhY2thZ2UuCgkgIFdoZW4gdXBkYXRpbmcgYWxsIHN0cmVhbXMgbWFrZSBzdXJlIHRoYXQgd2UgY291bGQgc2VsZWN0IGFuZCBmaW5kCgkgIGEgcGFja2FnZSBpbnN0ZWFkIG9mIGRlcmVmZXJlbmNpbmcgTlVMTC4KCSAgQWxsb3cgZGVzY3JpcHRpdmUgbWV0YWRhdGEgaW5zaWRlIG1ldGFkYXRhIHBhcnRzIG9mIGEgZmlsZSB3aGVuCgkgIHB1bGxpbmcgdGhlIGZvb3RlciBtZXRhZGF0YSB0b28uCgkgIE9ubHkgc3dpdGNoIHRoZSBjdXJyZW50bHkgcGxheWluZyBwYWNrYWdlIGlmIGEgbmV3IG9uZSB3YXMgY2hvc2VuCgkgIGFuZCB0aGUgbWV0YWRhdGEgaXMgaW4gYSByZXNvbHZlZCBzdGF0ZS4gSWYgdGhlIGxhdHRlciBpc24ndCB0cnVlCgkgIHBvc3Rwb25lIHRoZSBzd2l0Y2ggdW50aWwgdGhlIG1ldGFkYXRhIGlzIHJlc29sdmVkLgoJICBQdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgZGlyZWN0bHkgYWZ0ZXIgcGFyc2luZyB0aGUgaGVhZGVyIHBhcnRpdGlvbgoJICBwYWNrIGlmIGl0J3Mgbm90IGNsb3NlZCBvciBub3QgY29tcGxldGUgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsCgkgIHRoZSBuZXh0IEtMViBwYWNrZXQuCgoyMDA4LTEyLTA4IDEzOjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnVwLmM6IERvbid0IGNyZWF0ZSBhIHN1YmJ1ZmZlciwgaW5zdGVhZCBqdXN0IGNoYW5nZSB0aGUgYnVmZmVyIG1ldGFkYXRhIG9mIHRoZSBpbnB1dCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgRG9uJ3QgY3JlYXRlIGEgc3ViYnVmZmVyLCBpbnN0ZWFkIGp1c3QgY2hhbmdlIHRoZSBidWZmZXIgbWV0YWRhdGEKCSAgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMDgtMTItMDcgMjA6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogUmVuYW1lIEdzdE1YRlBhZCB0byBHc3RNWEZEZW11eFBhZCB0byBwcmV2ZW50IG5hbWUgY2xhc2hlcyB3aXRoIHRoZSBHc3RNWEZNdXhQYWQgaW4gdGhlIG11eGVyIChsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhZF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9jbGFzc19pbml0KSwgKGdzdF9teGZfZGVtdXhfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkKSwgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spLCAoZ3N0X214Zl9kZW11eF9sb29wKSwKCSAgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVuYW1lIEdzdE1YRlBhZCB0byBHc3RNWEZEZW11eFBhZCB0byBwcmV2ZW50IG5hbWUgY2xhc2hlcwoJICB3aXRoIHRoZSBHc3RNWEZNdXhQYWQgaW4gdGhlIG11eGVyIChsYXRlcikuCgkgIFB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIG9ubHkgZGlyZWN0bHkgYWZ0ZXIgc2tpcHBpbmcgdGhlIHJ1bgoJICBpbiBhbmQgZG9uJ3QgYWxsb2NhdGUgYW4gYXJyYXkgZm9yIGl0IGlmIHBhcnNpbmcgaXQgZmFpbGVkLgoKMjAwOC0xMi0wNyAxODo1Mjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkMTAuYzogVXNlIHRoZSBtYXBwaW5nIGRhdGEgZm9yIHN0b3JpbmcgdGhlIGNoYW5uZWwgY291bnQgYW5kIHRoZSB3aWR0aCBpbnN0ZWFkIG9mIHBhcnNpbmcgY2FwcyBmb3IgZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgIFVzZSB0aGUgbWFwcGluZyBkYXRhIGZvciBzdG9yaW5nIHRoZSBjaGFubmVsIGNvdW50IGFuZCB0aGUKCSAgd2lkdGggaW5zdGVhZCBvZiBwYXJzaW5nIGNhcHMgZm9yIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMTItMDcgMTg6Mzk6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmdXAuYzogSGFuZGxlIHRoZSBpbWFnZSBzdGFydCBhbmQgZW5kIG9mZnNldHMsIG90aGVyd2lzZSB3ZSBvdXRwdXQgdG9vIGxhcmdlIGltYWdlIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKToKCSAgSGFuZGxlIHRoZSBpbWFnZSBzdGFydCBhbmQgZW5kIG9mZnNldHMsIG90aGVyd2lzZSB3ZSBvdXRwdXQKCSAgdG9vIGxhcmdlIGltYWdlIGJ1ZmZlcnMuCgoyMDA4LTEyLTA3IDE3OjU3OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1wZWcuYzogU2V0IGNvZGVjIG5hbWUgdGFncyBmb3IgdGhlIE1QRUcgYXVkaW8gZXNzZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2Fwcyk6CgkgIFNldCBjb2RlYyBuYW1lIHRhZ3MgZm9yIHRoZSBNUEVHIGF1ZGlvIGVzc2VuY2UuCgoyMDA4LTEyLTA3IDE3OjE2OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdW5jb21wcmVzc2VkIHZpZGVvIGVzc2VuY2UgKFNNUFRFIFMzODRNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksCgkgIChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdXBfcmdiYV9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdW5jb21wcmVzc2VkIHZpZGVvIGVzc2VuY2UgKFNNUFRFIFMzODRNKS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgRml4IHBhcnNpbmcgb2YgdGhlIFJHQkEgZGVzY3JpcHRvciBhbmQgYWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcKCSAgdGhlIHBpeGVsIGxheW91dC4KCjIwMDgtMTItMDYgMjA6NDY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogVGhlIHByZXZpb3VzIHBhcnRpdGlvbiBmaWVsZCBvZiB0aGUgcGFydGl0aW9uIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhbmQgbm90IHRvIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSk6CgkgIFRoZSBwcmV2aW91cyBwYXJ0aXRpb24gZmllbGQgb2YgdGhlIHBhcnRpdGlvbiBpcyByZWxhdGl2ZQoJICB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24gYW5kIG5vdCB0byB0aGUgb2Zmc2V0IG9mIHRoZSBoZWFkZXIKCSAgcGFydGl0aW9uLgoKMjAwOC0xMi0wNiAxOTo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkMTAuYzogRG9jdW1lbnQgZGVjb2Rpbmcgb2YgdGhlIEFFUzMgZGF0YSBhbmQgYWxzbyBza2lwIHRoZSAzMiBiaXQgaGVhZGVyIGluIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYnVmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICBEb2N1bWVudCBkZWNvZGluZyBvZiB0aGUgQUVTMyBkYXRhIGFuZCBhbHNvIHNraXAgdGhlIDMyIGJpdAoJICBoZWFkZXIgaW4gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBidWZmZXIsIG90aGVyd2lzZSB3ZSBnZXQKCSAgb25lIGJyb2tlbiBhdWRpbyBjaGFubmVsLgoKMjAwOC0xMi0wNSAxMjoyNjowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSBnZW5lcmljIGRhdGEgZXNzZW5jZSBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSBnZW5lcmljIGRhdGEgZXNzZW5jZSBkZXNjcmlwdG9yLgoKMjAwOC0xMi0wNSAxMDozMjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBHZW5lcmFsaXplIHNvbWUgbGluZXMgb2YgY29kZXMgdGhhdCBhcmUgbW9yZSBvciBsZXNzIHRoZSBzYW1lIGJ5IGEgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICBHZW5lcmFsaXplIHNvbWUgbGluZXMgb2YgY29kZXMgdGhhdCBhcmUgbW9yZSBvciBsZXNzIHRoZSBzYW1lCgkgIGJ5IGEgbWFjcm8uCgoyMDA4LTEyLTA0IDIwOjExOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlCgkgIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoKMjAwOC0xMi0wNCAxOTo1MDoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8gb3VyIE00IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8KCSAgb3VyIE00IG1hY3Jvcy4KCjIwMDgtMTItMDQgMTc6NTE6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEVuc3VyZSB3ZSBlbWl0IG5vdGlmeTo6YWN0aXZlLXBhZCB3aGVuIGF1dG8tc2VsZWN0aW5nIGEgcGFkIGR1ZSB0byBpdCBoYXZpbmcgYWN0aXZpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBFbnN1cmUgd2UgZW1pdCBub3RpZnk6OmFjdGl2ZS1wYWQgd2hlbiBhdXRvLXNlbGVjdGluZyBhIHBhZAoJICBkdWUgdG8gaXQgaGF2aW5nIGFjdGl2aXR5IGFuZCB1cyBub3QgaGF2aW5nIGFuIGV4aXN0aW5nIGFjdGl2ZQoJICBwYWQuIEZpeGVzICM1NjMxNDcKCjIwMDgtMTItMDQgMTM6Mjg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDb2Rpbmcgc3R5bGUgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBDb2Rpbmcgc3R5bGUgZml4ZXMuCgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIE1QRUcsIEFDMywgRFRTIGF1ZGlvLgoKMjAwOC0xMi0wNCAwOToyNjoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZ25vcmUgemVybyBzaXplZCBlc3NlbmNlIGVsZW1lbnRzLiBUaGV5J3JlIG9mdGVuIGluc2VydGVkIHRvIGZ1bGZpbGwgdGhlIHN0cmVhbWluZyByZXF1aXJlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIElnbm9yZSB6ZXJvIHNpemVkIGVzc2VuY2UgZWxlbWVudHMuIFRoZXkncmUgb2Z0ZW4gaW5zZXJ0ZWQKCSAgdG8gZnVsZmlsbCB0aGUgc3RyZWFtaW5nIHJlcXVpcmVtZW50cy4KCjIwMDgtMTItMDQgMDg6NTA6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogRml4IHNldHRpbmcgb2YgdGhlIGhlaWdodC93aWR0aCBhbmQgUEFSIG9mIHZpZGVvIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgRml4IHNldHRpbmcgb2YgdGhlIGhlaWdodC93aWR0aCBhbmQgUEFSIG9mIHZpZGVvIHN0cmVhbXMuCgoyMDA4LTEyLTA0IDA4OjM3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIFNNUFRFIEQxMCBlc3NlbmNlIChTTVBURSAzODZNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBTTVBURSBEMTAgZXNzZW5jZSAoU01QVEUgMzg2TSkuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBEb24ndCBzZXQgd2lkdGgvaGVpZ2h0IGFuZCBQQVIgb24gdGhlIGNhcHMgYXMgdGhvc2UgdmFsdWVzIGFyZQoJICB3cm9uZyBmb3IgbW9zdCBmaWxlcyAoaGVpZ2h0IGlzIHNvbWV0aW1lcyB0aGUgaGVpZ2h0IG9mIGEgZmllbGQKCSAgYW5kIGFzcGVjdCByYXRpbyBpcyBzb21lIHJhbmRvbSB2YWx1ZSkuCgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKToKCSAgRml4IGNhbGN1bGF0aW9uIG9mIGJsb2NrIGFsaWduIGlmIGl0IGlzbid0IHNldCBpbiB0aGUgZGVzY3JpcHRvci4KCjIwMDgtMTItMDMgMTY6MDg6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgQUVTMyBhdWRpbyAoU01QVEUgMzgyTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBBRVMzIGF1ZGlvIChTTVBURSAzODJNKS4KCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgRml4IGNvZGluZyBzdHlsZS4KCjIwMDgtMTItMDMgMTM6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0xMi0wMyAxMTo0MzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyk6CgkgIENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA4LTEyLTAzIDEwOjE1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IFJlbW92ZSBGSVhNRSwgemVyby1VTHMgYW5kIFVNSURzIGFyZSByZWFsbHkgaW52YWxpZCBhbmQgd2UgY2FuIHVzZSB0aGVtIGFzICJ1bnNldCIgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgUmVtb3ZlIEZJWE1FLCB6ZXJvLVVMcyBhbmQgVU1JRHMgYXJlIHJlYWxseSBpbnZhbGlkIGFuZCB3ZSBjYW4KCSAgdXNlIHRoZW0gYXMgInVuc2V0IiB2YWx1ZS4KCjIwMDgtMTItMDMgMDg6MDQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogVXNlIGEgc2luZ2xlICJ0cmFja18ldSIgc3JjIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIHRoZSB0cmFjayBJRCBvZiB0aGUgcGxheWJhY2sgcGFja2FnZSBmb3IgdGhlIHBhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgYSBzaW5nbGUgInRyYWNrXyV1IiBzcmMgcGFkIHRlbXBsYXRlIGFuZCB1c2UgdGhlIHRyYWNrIElECgkgIG9mIHRoZSBwbGF5YmFjayBwYWNrYWdlIGZvciB0aGUgcGFkIG5hbWUgaW5zdGVhZCBvZiB0aGUgdHJhY2sgSUQKCSAgb2YgdGhlIHNvdXJjZSBwYWNrYWdlLCBhcyB0aGUgbGF0dGVyIGNvdWxkIGJlIHRoZSBzYW1lIGZvcgoJICBtb3JlIHRoYW4gb25lIHRyYWNrIGlmIHRoZXkncmUgaW4gZGlmZmVyZW50IHBhY2thZ2VzLgoKMjAwOC0xMi0wMiAwNjoyMToyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogU29tZSBjb21waWxlcnMgY29tcGxhaW4gYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZTsgYWRkIGEgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogU29tZSBjb21waWxlcnMgY29tcGxhaW4gYWJvdXQKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZTsgYWRkIGEgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoKMjAwOC0xMi0wMSAxOTozNjozNSArMDAwMCAg7J2066y47ZiVIDxpd2luZ3NAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogRG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgdGhlIGxvY2sgYWdhaW4gaWYgd2UgYmFpbCBvdXQgYmVjYXVzZSBzb21lIHBhZCBpcyBmbHVzaGluZyBvciB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTog7J2066y47ZiVIDxpd2luZ3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOgoJICBEb24ndCBmb3JnZXQgdG8gcmVsZWFzZSB0aGUgbG9jayBhZ2FpbiBpZiB3ZSBiYWlsIG91dCBiZWNhdXNlIHNvbWUKCSAgcGFkIGlzIGZsdXNoaW5nIG9yIHdlJ3ZlIHJlYWNoZWQgRU9TLCBvdGhlcndpc2UgdGhpbmdzIHdpbGwgbG9jayB1cAoJICBuZXh0IHRpbWUgX3B1c2hfYnVmZmVyKCkgaXMgY2FsbGVkICgjNTYyODAyKS4KCjIwMDgtMTItMDEgMTY6Mzc6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2F0b21zLmM6IEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6IChidWlsZF9qcDJoX2V4dGVuc2lvbik6CgkgIEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCjIwMDgtMTItMDEgMTU6NTA6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmanBlZzIwMDAuYzogVXNlIG5ldyBpbWFnZS94LWpwYyBjYXBzIGZvciB0aGUgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIFVzZSBuZXcgaW1hZ2UveC1qcGMgY2FwcyBmb3IgdGhlIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtLgoJICBGb3Igbm93IGFzc3VtZSBzUkdCIGFzIGNvbG9yc3BhY2UsIGhhcyB0byBiZSByZWFkIGZyb20gdGhlIGRlc2NyaXB0b3IKCSAgc29tZWhvdyBsYXRlci4KCjIwMDgtMTItMDEgMTU6NDg6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcDJrLzogQWRkIGltYWdlL3gtanBjIGNhcHMgbmFtZSBmb3IgcmVhbCwgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0gZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiAoZ3N0X2phc3Blcl9lbmNfcmVzZXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF9qYXNwZXJfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfamFzcGVyX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2phc3Blcl9lbmNfZ2V0X2RhdGEpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJICBBZGQgaW1hZ2UveC1qcGMgY2FwcyBuYW1lIGZvciByZWFsLCByYXcgSlBFRzIwMDAgY29kZXN0cmVhbSBkYXRhLgoJICBJbiAwLjExIHdlIHNob3VsZCBtZXJnZSBpbWFnZS94LWoyYyBhbmQgaW1hZ2UveC1qcGMgYW5kIHNpbXBseSBkcm9wCgkgIHRoZSBub24tc3RhbmRhcmQgYm94aW5nIGluIHRoZSBqYXNwZXIgZWxlbWVudHMgYW5kIGhhbmRsZSBpdCBpbgoJICBxdG11eC9xdGRlbXV4LgoJICBpbWFnZS94LWpwYyB3aWxsIGJlIHVzZWQgYnkgbXhmZGVtdXggbGF0ZXIuCgkgIEFsc28gYWRkIHN1cHBvcnQgZm9yIEpQMiBvdXRwdXQgaW4ganAya2VuYy4KCjIwMDgtMTItMDEgMTU6MjQ6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgdGhlIGNvZGVjIG5hbWUsIGFuZCBpZiBwb3NzaWJsZSB0aGUgYXZnIGJpdHJhdGUsIHRvIHRoZSBwYWQncyB0YWdsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCB0aGUgY29kZWMgbmFtZSwgYW5kIGlmIHBvc3NpYmxlIHRoZSBhdmcgYml0cmF0ZSwgdG8gdGhlIHBhZCdzIHRhZ2xpc3QuCgoyMDA4LTEyLTAxIDE0OjI1OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElmIHRoZSBwcmVmYWNlIHJlZmVyZW5jZXMgYSBwcmltYXJ5IHBhY2thZ2UgdXNlIHRoaXMgYXMgdGhlIGRlZmF1bHQgcGxheWJhY2sgcGFja2FnZSB1bmxlc3Mgb25lIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSk6CgkgIElmIHRoZSBwcmVmYWNlIHJlZmVyZW5jZXMgYSBwcmltYXJ5IHBhY2thZ2UgdXNlIHRoaXMgYXMgdGhlIGRlZmF1bHQKCSAgcGxheWJhY2sgcGFja2FnZSB1bmxlc3Mgb25lIHdhcyBzcGVjaWZpZWQgYnkgdGhlICJwYWNrYWdlIiBwcm9wZXJ0eS4KCSAgSWYgdGhlcmUncyBubyBwcmVmYWNlIHByaW1hcnkgcGFja2FnZSBzdGlsbCB0cnkgdG8gdXNlIHRoZSBmaXJzdAoJICBtYXRlcmlhbCBwYWNrYWdlLgoKMjAwOC0xMS0zMCAxNzo1ODozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZiB0aGVyZSdzIG5vIGRlc2NyaXB0b3IgZm9yIHRoZSB0cmFjayBpbiB0aGUgdHJhY2sncyBzb3VyY2UgcGFja2FnZSBhbmQgdGhlcmUncyBhIHNpbmdsZSBkZXNjcmlwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICBJZiB0aGVyZSdzIG5vIGRlc2NyaXB0b3IgZm9yIHRoZSB0cmFjayBpbiB0aGUgdHJhY2sncyBzb3VyY2UKCSAgcGFja2FnZSBhbmQgdGhlcmUncyBhIHNpbmdsZSBkZXNjcmlwdG9yIHdpdGhvdXQgYSBsaW5rZWQgdHJhY2sKCSAgYXNzdW1lIHRoYXQgaXQgYmVsb25ncyB0byB0aGlzIHRyYWNrLgoKMjAwOC0xMS0zMCAxNzo0MjozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNvbWUgcmFuZG9tIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAuCgoyMDA4LTExLTMwIDE3OjI2OjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgdG9wLWxldmVsIHNvdXJjZSBwYWNrYWdlIG9yIG1hdGVyaWFsIHBhY2thZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZHMpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldCksIChnc3RfbXhmX2RlbXV4X2ZpbmRfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9teGZfZGVtdXhfZ2V0X3Byb3BlcnR5KSwgKGdzdF9teGZfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3VtaWRfZnJvbV9zdHJpbmcpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgdG9wLWxldmVsIHNvdXJjZSBwYWNrYWdlIG9yIG1hdGVyaWFsCgkgIHBhY2thZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgcGxheWJhY2suCgoyMDA4LTExLTMwIDE2OjIxOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE1ha2Ugc3VyZSB0aGF0IGRlbXV4LT5vZmZzZXQgaGFzIHRoZSBjb3JyZWN0IHZhbHVlIGJlZm9yZSBjYWxsaW5nIGFueSBnc3RfbXhmX2RlbXV4X2hhbmRsZV8qIGZ1bmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKToKCSAgTWFrZSBzdXJlIHRoYXQgZGVtdXgtPm9mZnNldCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUgYmVmb3JlCgkgIGNhbGxpbmcgYW55IGdzdF9teGZfZGVtdXhfaGFuZGxlXyogZnVuY3Rpb25zLgoKMjAwOC0xMS0zMCAxNDoxMjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNldCB0aGUgY29ycmVjdCBNUEVHIHZpZGVvIHZlcnNpb24gaWYgcG9zc2libGUgYW5kIGFkZCBzdXBwb3J0IGZvciBNUEVHNCB2aWRlbywgaW5jbHVkaW5nIGNvZGVjX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgIFNldCB0aGUgY29ycmVjdCBNUEVHIHZpZGVvIHZlcnNpb24gaWYgcG9zc2libGUgYW5kIGFkZCBzdXBwb3J0CgkgIGZvciBNUEVHNCB2aWRlbywgaW5jbHVkaW5nIGNvZGVjX2RhdGEuCgoyMDA4LTExLTI5IDIwOjI1OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgSlBFRzIwMDAgZW5jb2RlZCB2aWRlbyBlc3NlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX3ZpZGVvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGVuY29kZWQgdmlkZW8gZXNzZW5jZS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIFNldCB0aGUgZnJhbWVyYXRlIGluIHRoZSB2aWRlbyBjYXBzLgoKMjAwOC0xMS0yOSAyMDowNzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IERvbid0IHVucmVmIHRoZSBlbGVtZW50IGluc3RhbmNlIGlmIHdlIGRvbid0IG93biBhIHJlZmVyZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpOgoJICBEb24ndCB1bnJlZiB0aGUgZWxlbWVudCBpbnN0YW5jZSBpZiB3ZSBkb24ndCBvd24gYSByZWZlcmVuY2UuCgoyMDA4LTExLTI5IDEzOjMzOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lcgoJICA8eXNlbGtvd2l0eiBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sCgkgIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzdGlsbCB3b3JrLgoJICBGaXhlcyBidWcgIzU1NjA5MS4KCjIwMDgtMTEtMjggMTg6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogT25seSB0cnkgdG8gcHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgYXQgdGhlIGVuZCBvZiBmaWxlIG9uZSB0aW1lIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBwYWNrZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spOgoJICBPbmx5IHRyeSB0byBwdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBhdCB0aGUgZW5kIG9mIGZpbGUgb25lIHRpbWUKCSAgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIHBhY2tldCBpZiBpdCBmYWlscy4KCjIwMDgtMTEtMjggMTg6MTM6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgZW5jb2RlZCBhdWRpbyBlc3NlbmNlIChTTVBURSAzODhNIGFuZCAzODJNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfYXVkaW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgZW5jb2RlZCBhdWRpbyBlc3NlbmNlIChTTVBURSAzODhNIGFuZCAzODJNKS4KCjIwMDgtMTEtMjggMTQ6MjI6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOC0xMS0yOCAxMToyNDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzLCB3aGljaCB3aWxsIGxhdGVyIGJlIHVzZWQgZm9yIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaW5kZXhfdGFibGVfc2VnbWVudCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwKCSAgKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cywgd2hpY2ggd2lsbCBsYXRlciBiZQoJICB1c2VkIGZvciBzZWVraW5nLgoKMjAwOC0xMS0yOCAwOTo0OTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIGF1ZGlvcmVzYW1wbGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyBlbGVtZW50IG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFVwZGF0ZSBhdWRpb3Jlc2FtcGxlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBuZXcgZWxlbWVudCBuYW1lLgoKMjAwOC0xMS0yOCAwODozNzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBbmQgbm93IGFsc28gdXBkYXRlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBmcm9tIGF1ZGlvcmVzYW1wbGUgdG8gbGVnYWN5cmVzYW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgQW5kIG5vdyBhbHNvIHVwZGF0ZSB0aGUgZGVidWcgY2F0ZWdvcnkgZnJvbSBhdWRpb3Jlc2FtcGxlCgkgIHRvIGxlZ2FjeXJlc2FtcGxlLgoKMjAwOC0xMS0yNyAxOToyNzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIHRoZSBidWlsZCBzeXN0ZW0gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gdGhlIGJ1aWxkIHN5c3RlbSB0b28uCgoyMDA4LTExLTI3IDE5OjIyOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgb2xkIHNwZWV4cmVzYW1wbGUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTVlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYmZpbi5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2RlYnVnLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZV9zc2UuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOgoJICBSZW1vdmUgb2xkIHNwZWV4cmVzYW1wbGUgZmlsZXMuCgoyMDA4LTExLTI3IDE3OjA3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6IFJlbW92ZSBvbGQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICBSZW1vdmUgb2xkIGZpbGUuCgoyMDA4LTExLTI3IDE3OjA2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOiBBZGQgbWlzc2luZyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwOC0xMS0yNyAxNjo1ODozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgSW50ZWdyYXRlIHRoZSBtb3ZlZCBhdWRpb3Jlc2FtcGxlIGludG8gdGhlIGJ1aWxkIHN5c3RlbSBhbmQgcmVuYW1lIGl0IHRvIGxlZ2FjeXJlc2FtcGxlLiBGaXhlcyBidWcgIzU1ODEyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgSW50ZWdyYXRlIHRoZSBtb3ZlZCBhdWRpb3Jlc2FtcGxlIGludG8gdGhlIGJ1aWxkIHN5c3RlbSBhbmQKCSAgcmVuYW1lIGl0IHRvIGxlZ2FjeXJlc2FtcGxlLiBGaXhlcyBidWcgIzU1ODEyNC4KCjIwMDgtMTEtMjcgMTY6MjY6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgcmFuZG9tIGluZGV4IHBhY2ssIHdoaWNoIHByb3ZpZGVzIGEgc2VlayB0YWJsZSAoaW5jbHVkaW5nIGJvZHkgc2lkKSB0byB0aGUgc3RhcnQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3JhbmRvbV9pbmRleF9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayksIChnc3RfbXhmX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcmFuZG9tX2luZGV4X3BhY2tfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSByYW5kb20gaW5kZXggcGFjaywgd2hpY2ggcHJvdmlkZXMgYSBzZWVrCgkgIHRhYmxlIChpbmNsdWRpbmcgYm9keSBzaWQpIHRvIHRoZSBzdGFydCBvZiBwYXJ0aXRpb24gcGFja3MuCgkgIExhdGVyIHRoaXMgd2lsbCBiZSB1c2VkIGZvciByZWFkaW5nIGFsbCBpbmRleCB0YWJsZSBzZWdtZW50cyBvZgoJICB0aGUgY29tcGxldGUgZmlsZSBlZmZpY2llbnRseS4KCjIwMDgtMTEtMjcgMTA6MDk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgZnVuZGFtZW50YWwgc3VwcG9ydCBmb3IgRFYtRElGIGVzc2VuY2Ugc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaXNfZGVzY3JpcHRpdmVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgQWRkIGZ1bmRhbWVudGFsIHN1cHBvcnQgZm9yIERWLURJRiBlc3NlbmNlIHN0cmVhbXMuCgkgIEhhbmRsZSBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBwYWNrZXRzIGFzIG1ldGFkYXRhIHBhY2tldHMuCgoyMDA4LTExLTI3IDA4OjQ5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4Lio6IE9ubHkgdHJ5IHRvIHB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBvbmNlIGFuZCBub3Qgb24gZXZlcnkgS0xWIHBhY2tldCBpZiBpdCBmYWlsZWQgYmVmb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgT25seSB0cnkgdG8gcHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIG9uY2UgYW5kIG5vdCBvbiBldmVyeSBLTFYgcGFja2V0CgkgIGlmIGl0IGZhaWxlZCBiZWZvcmUuCgoyMDA4LTExLTI2IDEyOjQwOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYgdG8gaXQgd2hlbiBhIHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKToKCSAgTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmCgkgIHRvIGl0IHdoZW4gYSBzZXNzaW9uIGNsZWFudXAgb2NjdXJzIHdoZW4gd2UgYXJlIGVtaXRpbmcgYSBzaWduYWwuCgkgIEVtaXQgdGhlIG9uX25ld19zc3JjIHNpZ25hbCBmb3IgdGhlIENTUkMsIG5vdCB0aGUgU1NSQy4KCSAgRml4ZXMgIzU2MjMxOS4KCjIwMDgtMTEtMjYgMTI6MDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIEZpeGVzICM1NjIzMTIuCgoyMDA4LTExLTI2IDExOjQ0OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbiB0aGUgbWV0aG9kIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluCgkgIHRoZSBtZXRob2QgY2FsbC4KCSAgQWRkIHNpZ25hbCB0byByZXNldCBzeW5jIHBhcmFtZXRlcnMuCgkgIEF2b2lkIHBhcnNpbmcgdGhlIGNhcHMgdG8gZ2V0IGEgY2xvY2tfYmFzZSwgd2UgZ2V0IHRoaXMgZnJvbSB0aGUgc3luYwoJICBzaWduYWwgbm93LgoKMjAwOC0xMS0yNiAxMTozMDoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBQcm9wZXJseSBjb21iaW5lIGZsb3cgcmV0dXJucyBvZiB0aGUgc291cmNlIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksIChnc3RfbXhmX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgUHJvcGVybHkgY29tYmluZSBmbG93IHJldHVybnMgb2YgdGhlIHNvdXJjZSBwYWRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgcmVzZXQgcGFkIGZpZWxkcyB0b2dldGhlciB3aXRoIHRoZQoJICBtZXRhZGF0YSB0byBwcmV2ZW50IGludmFsaWQgbWVtb3J5IHJlZmVyZW5jZXMuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpOgoJICBGaXggdHlwby4KCjIwMDgtMTEtMjYgMTA6Mzc6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBXaGVuIG1lbXNldCdpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHplcm9lcyBvbmx5IHRvdWNoIHRoZSBwYXJ0IG9mIHRoaXMgZGVzY3JpcHRvciwgbm90IGl0J3MgcGFyZW50IHR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBXaGVuIG1lbXNldCdpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHplcm9lcyBvbmx5IHRvdWNoIHRoZSBwYXJ0CgkgIG9mIHRoaXMgZGVzY3JpcHRvciwgbm90IGl0J3MgcGFyZW50IHR5cGUuCgkgIFNldCBjb3JyZWN0IGRlZmF1bHQgdmFsdWVzIGZvciBhbGwgbWV0YWRhdGEgZmllbGRzLgoKMjAwOC0xMS0yNiAwNDo1NzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IEVuYWJsZSBsYXRlbmN5IGNvZGUsIHNpbmNlIHdlJ3JlIGRlZmluaXRlbHkgYWZ0ZXIgMC4xMC4xMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBFbmFibGUgbGF0ZW5jeSBjb2RlLCBzaW5jZSB3ZSdyZSBkZWZpbml0ZWx5IGFmdGVyIDAuMTAuMTIKCjIwMDgtMTEtMjUgMTg6Mjg6MTggKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBleHQvc3BjL2dzdHNwYy5jOiBQb3N0IGFuIGVycm9yIGFuZCBwdXNoIEVPUyB3aGVuIHdlIGNhbid0IHN0YXJ0IHBsYXliYWNrIGZvciBzb21lIHJlYXNvbi4gYWxzbyBhdm9pZCBhIGNyYXNoIHdoZW4gZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksIChzcGNfc2V0dXApOgoJICBQb3N0IGFuIGVycm9yIGFuZCBwdXNoIEVPUyB3aGVuIHdlIGNhbid0IHN0YXJ0IHBsYXliYWNrIGZvciBzb21lIHJlYXNvbi4KCSAgYWxzbyBhdm9pZCBhIGNyYXNoIHdoZW4gZmVkIGFuIGVtcHR5IGZpbGUuIEZpeGVzICM0ODA1NDMuCgoyMDA4LTExLTI1IDE2OjM3OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IE1ha2UgdW5pdCB0ZXN0IGFnYWluIGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzIHdpdGggdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHRlc3RfcGlwZWxpbmUpOgoJICBNYWtlIHVuaXQgdGVzdCBhZ2FpbiBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cyB3aXRoIHZhbGdyaW5kLgoKMjAwOC0xMS0yNSAxNToxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGV2ZW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IGV2ZW50IGxlYWsuCgoyMDA4LTExLTI1IDE0OjQ5OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU2V0IHZpZGVvIGRpbWVuc2lvbnMgYW5kIHBpeGVsIGFzcGVjdCByYXRpbyBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU2V0IHZpZGVvIGRpbWVuc2lvbnMgYW5kIHBpeGVsIGFzcGVjdCByYXRpbyBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMjUgMTA6MjY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBwYXJzaW5nIG9mIFJHQkEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQWRkIGluaXRpYWwgcGFyc2luZyBvZiBSR0JBIGRlc2NyaXB0b3JzLgoJICBEb24ndCBpbml0aWFsaXplIGRlc2NyaXB0b3IgR0FycmF5IHdpdGggemVyb2VzLgoKMjAwOC0xMS0yNSAwOTozODoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJld3JpdGUgcGFyc2luZyBvZiBkZXNjcmlwdG9ycyB0byBnbyB0b3AtZG93biBpbnN0ZWFkIG9mIGJvdHRvbS11cCB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHRoZSBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFJld3JpdGUgcGFyc2luZyBvZiBkZXNjcmlwdG9ycyB0byBnbyB0b3AtZG93biBpbnN0ZWFkIG9mIGJvdHRvbS11cAoJICB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHRoZSBidWZmZXIgZGF0YSBub24td3JpdGFibGUuCgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0xMS0yNSAwMDoyMDoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIG5ldyBkaXJlY3RvcnkgZm9yIG5ldyBhY21tcDNkZWMgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFkZCBuZXcgZGlyZWN0b3J5IGZvciBuZXcgYWNtbXAzZGVjIHBsdWdpbgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9hY21tcDNkZWMuYzoKCSAgQWRkIG5ldyBhY21tcDNkZWMgcGx1Z2luLCB3aGljaCB1c2VzIEFDTSBmb3IgZGVjb2RpbmcgbXAzIG9uIHdpbmRvd3MuCgoyMDA4LTExLTI0IDExOjMxOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE1ha2Ugc3VyZSB0byBvbmx5IG91dHB1dCBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlIGVsZW1lbnRzIGZvciBhIHRyYWNrIGlmIHRoZSBib2R5IFNJRCBvZiB0aGUgc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgTWFrZSBzdXJlIHRvIG9ubHkgb3V0cHV0IGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UgZWxlbWVudHMKCSAgZm9yIGEgdHJhY2sgaWYgdGhlIGJvZHkgU0lEIG9mIHRoZSBzdXJyb3VuZGluZyBwYXJ0aXRpb24gaXMKCSAgdGhlIHNhbWUgYXMgdGhlIGJvZHkgU0lEIG9mIHRoZSB0cmFjaydzIHNvdXJjZSBwYWNrYWdlLgoKMjAwOC0xMS0yNCAxMToxNzoxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzIGtleWZyYW1lLiBNYXJrIHRoZSBkaXNjb250IGZsYWcgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIE1hcmsKCSAgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHdlJ3ZlIG1vdmVkIGluIHRoZSBmaWxlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKTogTVAzCgkgIHN0cmVhbXMKCSAgYXJlIHBhcnNlZCBhbHJlYWR5LCBtYWtlcyBhdXRvcGx1Z2dlZCBwaXBlbGluZXMgc2hvcnRlci4KCjIwMDgtMTEtMjQgMTA6NDY6MDEgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyBBQzMvRFRTL0xQQ00gaW50byBNUEVHIFRTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgQUMzL0RUUy9MUENNIGludG8gTVBFRyBUUy4KCSAgRml4ZXMgYnVnICM1NTA2MTMuCgoyMDA4LTExLTI0IDEwOjQxOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWxsb3cgbm9uLU1YRiBLTFYgcGFja2V0cyBhbmQganVzdCBkcm9wIHRoZW0gaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvciBhbmQgaGFuZGxlIDkgYnl0ZSBwcm9kdWN0IHZlcnNpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKToKCSAgQWxsb3cgbm9uLU1YRiBLTFYgcGFja2V0cyBhbmQganVzdCBkcm9wIHRoZW0gaW5zdGVhZCBvZiB0aHJvd2luZwoJICBhbiBlcnJvciBhbmQgaGFuZGxlIDkgYnl0ZSBwcm9kdWN0IHZlcnNpb25zIGFzIHdyaXR0ZW4gYnkgQXZpZC4KCSAgVGhpcyBkb2Vzbid0IGFkZCBzdXBwb3J0IGZvciB0aGUgbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzCgkgIGJ1dCBhdCBsZWFzdCBtYWtlcyBpdCBwb3NzaWJsZSB0byBwYXJzZSB0aGVpciBoZWFkZXIgbWV0YWRhdGEuCgkgIEZpeCBhIGNvcHkmcGFzdGUgZXJyb3IgaW4gZGVidWcgb3V0cHV0LgoKMjAwOC0xMS0yMyAxNzo1MDowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svOiBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBObyBwcmludGYgcGxlYXNlLgoKMjAwOC0xMS0yMyAxMToyNTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBBY3R1YWxseSB3ZSBzdXBwb3J0IGEgbGVuZ3RoIHN0b3JlZCBpbnNpZGUgOCBieXRlcyBidXQgaXQgbXVzdCBiZSBzbWFsbGVyIHRoYW4gR19NQVhVSU5UIGZvciBHc3RCLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICBBY3R1YWxseSB3ZSBzdXBwb3J0IGEgbGVuZ3RoIHN0b3JlZCBpbnNpZGUgOCBieXRlcyBidXQgaXQgbXVzdAoJICBiZSBzbWFsbGVyIHRoYW4gR19NQVhVSU5UIGZvciBHc3RCdWZmZXIuCgoyMDA4LTExLTIzIDExOjE2OjM2ICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEZpeCBmb3JtYXQgc3RyaW5nLiBGaXhlcyBidWcgIzU2MTk5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKHJzbl9kdmRzcmNfcHJlcGFyZV9zdHJlYW1zaW5mb19ldmVudCk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nLiBGaXhlcyBidWcgIzU2MTk5Mi4KCjIwMDgtMTEtMjIgMTU6MzE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoKMjAwOC0xMS0yMiAxNToyNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY29weV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIEFkZCBwcm9wZXJ0eSB0byByZXR1cm4gYSBHVmFsdWVBcnJheSBvZiBhbGwga25vd24gUlRQU291cmNlcyBpbiB0aGUKCSAgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2NyZWF0ZV9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgUmVtb3ZlIHByb3BlcnRpZXMgdG8gc2V0IHRoZSB2YXJpb3VzIFNERVMgaXRlbXMsIGFuIGFwcGxpY2F0aW9uIGlzIG5ldmVyCgkgIHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgUlRQU291cmNlIGRhdGEuCgkgIENoYW5nZSB0aGUgU0RFUyBnZXR0ZXIgcHJvcGVydGllcyB0byBvbmUgU0RFUyBwcm9wZXJ0eSB0aGF0IHJldHVybnMgYWxsCgkgIFNERVMgaXRlbXMgaW4gYSBHc3RTdHJ1Y3R1cmUuCgoyMDA4LTExLTIyIDE1OjAyOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IE1ha2UgdGhlIHVuaXQgdGVzdCBhIGJpdCBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cywgZXNwZWNpYWxseSB3aXRoIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2UgdGhlIHVuaXQgdGVzdCBhIGJpdCBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cywgZXNwZWNpYWxseQoJICB3aXRoIHZhbGdyaW5kLgoKMjAwOC0xMS0yMiAxNDo1MTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGZpeGVzIGFuZCB1c2FnZSBvZiBndWludCBpbnN0ZWFkIG9mIGdpbnQgd2hlcmUgbmVnYXRpdmUgdmFsdWVzIGRvbid0IG1ha2Ugc2Vuc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChnc3RfbXhmX3VsX2hhc2gpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICBTb21lIG1vcmUgZm9ybWF0IHN0cmluZyBmaXhlcyBhbmQgdXNhZ2Ugb2YgZ3VpbnQgaW5zdGVhZCBvZiBnaW50CgkgIHdoZXJlIG5lZ2F0aXZlIHZhbHVlcyBkb24ndCBtYWtlIHNlbnNlLgoKMjAwOC0xMS0yMiAxNDo0MjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50NjQgb3IgZ3NpemUgZm9yIGFsbCBidWZmZXIgc2l6ZXMgYW5kIHVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciB0aGVtLiBPbmx5IGxvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfYW5kX2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3RpbWVzdGFtcF9wYXJzZSksIChteGZfZnJhY3Rpb25fcGFyc2UpLAoJICAobXhmX3V0ZjE2X3RvX3V0ZjgpLCAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfcGFyc2UpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50NjQgb3IgZ3NpemUgZm9yIGFsbCBidWZmZXIgc2l6ZXMgYW5kCgkgIHVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciB0aGVtLiBPbmx5IGxvY2FsIHRhZyBzZXQgc2l6ZXMKCSAgYXJlIHN0aWxsIGd1aW50MTYgYXMgdGhleSBjYW4ndCBiZSBsYXJnZXIuCgkgIE9ubHkgYWxsb3cgS0xWIHBhY2tldHMgb2Ygc2l6ZXMgYmVsb3cgMTw8MzIgYXMgR1N0cmVhbWVyIG9ubHkgdXNlcwoJICBndWludCBmb3IgYnVmZmVyIHNpemVzLiBUaGUgTVhGIHN0YW5kYXJkIGFsbG93cyBwYWNrZXQgc2l6ZXMgdXAKCSAgdG8gMTw8NjQuCgoyMDA4LTExLTIyIDEzOjE3OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCjIwMDgtMTEtMjIgMDg6MjM6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgIiV1IiBmb3IgYSBzaXplX3QgdmFyaWFibGUgaW4gdGhlIGZvcm1hdCBzdHJpbmcgdG8gcHJldmVudCBhIGNvbXBpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9zb2NrZXRfd3JpdGUpOgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiAiJXUiIGZvciBhIHNpemVfdCB2YXJpYWJsZSBpbgoJICB0aGUgZm9ybWF0IHN0cmluZyB0byBwcmV2ZW50IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMjEgMTY6MTc6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoKMjAwOC0xMS0yMSAxNTo0NToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBZGQgYSAiZmlsdGVyLWxlbmd0aCIgcHJvcGVydHkgdGhhdCBtYXBzIHRvIHRoZSBxdWFsaXR5IHZhbHVlcyBmb3IgY29tcGF0aWJpbHR5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBhICJmaWx0ZXItbGVuZ3RoIiBwcm9wZXJ0eSB0aGF0IG1hcHMgdG8gdGhlIHF1YWxpdHkgdmFsdWVzCgkgIGZvciBjb21wYXRpYmlsdHkgd2l0aCBhdWRpb3Jlc2FtcGxlLgoKMjAwOC0xMS0yMSAxMDozNzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgdGhlICJleHBlcmltZW50YWwiIGZsYWcgZnJvbSB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgdGhlICJleHBlcmltZW50YWwiIGZsYWcgZnJvbSB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbi4KCjIwMDgtMTEtMjEgMTA6Mjc6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIE1YRiBkZW11eGVyLiBDdXJyZW50bHkgaXQgc3VwcG9ydHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksIChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2J3Zl9jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9wYWRfZmluYWxpemUpLAoJICAoZ3N0X214Zl9wYWRfY2xhc3NfaW5pdCksIChnc3RfbXhmX3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfZmx1c2gpLCAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXRfbXhmX3N0YXRlKSwgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldCksIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wYXJ0aXRpb25fcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wcmltZXJfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9wcmVmYWNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc291cmNlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfdHJhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc2VxdWVuY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbG9jYXRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9zeXN0ZW1faXRlbSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcmFuZG9tX2luZGV4X3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaW5kZXhfdGFibGVfc2VnbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9hbmRfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9sb29wKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhaW4pLCAoZ3N0X214Zl9kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnlfdHlwZSksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X214Zl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9teGZfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X214Zl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9pc19tcGVnX3ZpZGVvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2lzX214Zl9wYWNrZXQpLCAobXhmX2lzX3BhcnRpdGlvbl9wYWNrKSwKCSAgKG14Zl9pc19oZWFkZXJfcGFydGl0aW9uX3BhY2spLCAobXhmX2lzX2JvZHlfcGFydGl0aW9uX3BhY2spLAoJICAobXhmX2lzX2Zvb3Rlcl9wYXJ0aXRpb25fcGFjayksIChteGZfaXNfZmlsbCksCgkgIChteGZfaXNfcHJpbWVyX3BhY2spLCAobXhmX2lzX21ldGFkYXRhKSwKCSAgKG14Zl9pc19yYW5kb21faW5kZXhfcGFjayksIChteGZfaXNfaW5kZXhfdGFibGVfc2VnbWVudCksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfc3lzdGVtX2l0ZW0pLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9jb250YWluZXJfbGFiZWwpLAoJICAobXhmX3VsX2lzX2VxdWFsKSwgKG14Zl91bF9pc196ZXJvKSwgKG14Zl91bF90b19zdHJpbmcpLAoJICAobXhmX3VtaWRfaXNfZXF1YWwpLCAobXhmX3VtaWRfaXNfemVybyksIChteGZfdW1pZF90b19zdHJpbmcpLAoJICAoZ3N0X214Zl91bF9oYXNoKSwgKGdzdF9teGZfdWxfZXF1YWwpLCAobXhmX3RpbWVzdGFtcF9wYXJzZSksCgkgIChteGZfdGltZXN0YW1wX2lzX3Vua25vd24pLCAobXhmX3RpbWVzdGFtcF9jb21wYXJlKSwKCSAgKG14Zl9mcmFjdGlvbl9wYXJzZSksIChteGZfdXRmMTZfdG9fdXRmOCksCgkgIChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcmVzZXQpLCAoX214Zl9tYXBwaW5nX3VsX2ZyZWUpLAoJICAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19yZXNldCksCgkgIChteGZfbG9jYWxfdGFnX3BhcnNlKSwgKGdzdF9teGZfbG9jYWxfdGFnX2ZyZWUpLAoJICAoZ3N0X21ldGFkYXRhX2FkZF9jdXN0b21fdGFnKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNldCksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV90cmFja19pZGVudGlmaWVyX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpLCAobXhmX21ldGFkYXRhX2xvY2F0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIE1YRiBkZW11eGVyLiBDdXJyZW50bHkgaXQgc3VwcG9ydHMKCSAgTVBFRyB2aWRlbyBhbmQgcmF3IGF1ZGlvIGFuZCBPUCAxYS9iL2MuCgoyMDA4LTExLTIxIDAwOjQ3OjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOiBGaXggZmx1c2hpbmcvc2Vla2luZyBwcm9ibGVtcyByZXR1cm5pbmcgZXJyb3IgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgRml4IGZsdXNoaW5nL3NlZWtpbmcgcHJvYmxlbXMgcmV0dXJuaW5nIGVycm9yIGNvZGUuCgkgIEZpeCBtcDMgZGVjb2Rpbmcgd2l0aCB3aW5YUCAoY3Jhc2hlZCByYW5kb21seSwgb2NjYXNpb25hbGx5KS4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBGaXggcHJvYmxlbXMgd2hlbiBmcmFtZXJhdGUgaXMgbWlzc2luZyBmcm9tIHZpZGVvLgoKMjAwOC0xMS0yMCAxODo0MTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ2V0X2N1cnJlbnRfdGltZXMpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKToKCSAgUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgSW1wcm92ZSB0aGUgdGltZSBmdW5jdGlvbiB0byBwcm92aWRlIG1vcmUgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYXJrIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2l0aCBhIGZsYWcuCgkgIFVzZSBydW5uaW5nX3RpbWUgaW5zdGVhZCBvZiB0aGUgbW9yZSB1c2VsZXNzIHRpbWVzdGFtcC4KCSAgVmFsaWRhdGUgYSBzb3VyY2Ugd2hlbiBhIHZhbGlkIFNERVMgaGFzIGJlZW4gcmVjZWl2ZWQuCgkgIFBhc3MgdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWUgd2hlbiBwcm9jZXNzaW5nIFNSIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfY3JlYXRlX3N0YXRzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGdldCBzb3VyY2Ugc3RhdHMuCgkgIE1hcmsgcGFyYW1zIGFzIFNUQVRJQ19TVFJJTkdTLgoJICBDYWxjdWxhdGUgdGhlIGJpdHJhdGUgYXQgdGhlIHNlbmRlciBTU1JDLgoJICBBdm9pZCBuZWdhdGl2ZSB2YWx1ZXMgaW4gdGhlIHJvdW5kIHRyaXAgdGltZSBjYWxjdWxhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXBkYXRlIHNvbWUgZG9jcyBhbmQgY2hhbmdlIHNvbWUgdmFyaWFibGUgbmFtZSB0byBtb3JlIGNsb3NlbHkgcmVmbGVjdAoJICB3aGF0IGl0IGNvbnRhaW5zLgoKMjAwOC0xMS0yMCAxNjowMToyNyArMDAwMCAgTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoKCSAgZ3N0L2RjY3AvOiBDb2RlU3R5bGUgaW1wcm92ZW1lbnRzIGFuZCBtaW5vciBmaXhlcyB0byB0aGUgRENDUCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgIENvZGVTdHlsZSBpbXByb3ZlbWVudHMgYW5kIG1pbm9yIGZpeGVzIHRvIHRoZSBEQ0NQIHBsdWdpbi4KCSAgRml4ZXMgIzU1MzgyMy4KCjIwMDgtMTEtMjAgMDg6MTk6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKToKCSAgSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZAoJICB2YXJpYWJsZS4KCjIwMDgtMTEtMTkgMTY6NDg6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgoyMDA4LTExLTE5IDA5OjA2OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMgbm90aWZpY2F0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksIChmcmVlX3N0cmVhbSksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jCgkgIG5vdGlmaWNhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbnRlcm5hbF9saW5rcyksIChjcmVhdGVfcnRjcF9zaW5rKSwKCSAgKHJlbW92ZV9ydGNwX3NpbmspLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfcnRjcF9ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZW5kIFNSIHBhY2tldHMgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQ2hlY2sgaWYgdGhlIFNSIHRpbWVzdGFtcHMgYXJlIHZhbGlkIGJ5IGNvbXBhcmluZyB0aGVtIHRvIHRoZSBSVFAKCSAgdGltZXN0YW1wcy4KCSAgU2lnbmFsIHRoZSBTUiBwYWNrZXQgYW5kIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gdG8gbGlzdGVuZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZWVuIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gZmlsdGVyIG91dAoJICBpbnZhbGlkIFNSIHBhY2tldHMuCgoyMDA4LTExLTE4IDE2OjUyOjExICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzogQXZvaWQgZGVhZGxvY2sgZHVyaW5nIHBhZCBhY3RpdmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIEF2b2lkIGRlYWRsb2NrIGR1cmluZyBwYWQgYWN0aXZhdGlvbi4KCSAgRml4ZXMgIzU2MTI0MS4KCjIwMDgtMTEtMTggMDE6MDk6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkKCSAgYWRkZWQuCgoyMDA4LTExLTE3IDE5OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZCBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQKCSAgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzIGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMTcgMTU6MTc6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgamkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlCgkgIHZhbHVlIGZyb20gdGhlIGppdHRlcmJ1ZmZlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgUGFzcyB0aGUgY2xvY2stcmF0ZSB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBBbHNvIHBhc3MgdGhlIGNsb2NrLXJhdGUgYWxvbmcgd2l0aCB0aGUgcnRwIHRpbWVzdGFtcCB3aGVuIGdldHRpbmcgdGhlCgkgIHN5bmMgcGFyYW1ldGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiBjbG9jay1yYXRlIGNoYW5nZXMgYW5kIHJldHVybiB0aGUgY2xvY2stcmF0ZSB0b2dldGhlciB3aXRoCgkgIHRoZSBydHAgdGltZXN0YW1wcyB1c2VkIGZvciBzeW5jLgoJICBEb24ndCB0cnkgdG8gY29uc3RydWN0IHRpbWVzdGFtcHMgd2hlbiB3ZSBoYXZlIG5vIGJhc2VfdGltZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgUmVxdWVzdCBhIG5ldyBjbG9jay1yYXRlIHdoZW4gdGhlIHBheWxvYWQgdHlwZSBjaGFuZ2VzLgoJICBSZXNldCB0aGUgaml0dGVyIGNhbGN1bGF0aW9uIHdoZW4gdGhlIGNsb2NrLXJhdGUgY2hhbmdlcy4KCjIwMDgtMTEtMTcgMDk6MzM6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlX2RhdGEuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZV9kYXRhLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwOC0xMS0xNSAwMjo1NjozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguKjogVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCjIwMDgtMTEtMTQgMjM6MDE6NTYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogQWRkIHNvbWUgb2Ygb3VyIGZhdm9yaXRlIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogQWRkIHNvbWUgb2Ygb3VyIGZhdm9yaXRlIGNvZGVjcy4KCjIwMDgtMTEtMTQgMjE6NDQ6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBHdWFyZCBhZ2FpbnN0IGEgTlVMTCBkZXJlZmVyZW5jZSBJIHNvbWVob3cgZW5jb3VudGVyZWQgLSB3aXRoIGEgRkxVU0hfU1RPUCBhcnJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgR3VhcmQgYWdhaW5zdCBhIE5VTEwgZGVyZWZlcmVuY2UgSSBzb21laG93IGVuY291bnRlcmVkIC0KCSAgd2l0aCBhIEZMVVNIX1NUT1AgYXJyaXZpbmcgZWl0aGVyIGJlZm9yZSBiYXNldHJhbnNmb3JtIF9zdGFydCgpLAoJICBvciBhZnRlciBfc3RvcCgpLgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIganVtcCBiYWNrd2FyZHMgd2hlbiB0eXBlZmluZGluZyBjb3JydXB0IG1vdiBmaWxlcy4KCjIwMDgtMTEtMTQgMjE6MjQ6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQuCgoyMDA4LTExLTE0IDIwOjM4OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCjIwMDgtMTEtMTQgMjA6MTc6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6IChidWlsZF9lc2RzX2V4dGVuc2lvbiksCgkgIChidWlsZF9tb3ZfYWFjX2V4dGVuc2lvbiksIChidWlsZF9qcDJoX2V4dGVuc2lvbiksCgkgIChidWlsZF9jb2RlY19kYXRhX2V4dGVuc2lvbik6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hdWRpb19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9xdF9tdXhfdmlkZW9fc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IChnc3RfcXRfbXV4X21hcF9mb3JtYXRfdG9faGVhZGVyKToKCSAgQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgQWxzbyBhY3R1YWxseSBpbXBsZW1lbnQgSVNPIEpQRUcyMDAwIG1qMiBmb3JtYXQuCgoyMDA4LTExLTE0IDE5OjUyOjI0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQ29uc3RydWN0IHNvdXJjZSBjYXBzIGluIG1vcmUgY29udmVudGlvbmFsIChhbmQgY29ycmVjdCkgbWFubmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKToKCSAgQ29uc3RydWN0IHNvdXJjZSBjYXBzIGluIG1vcmUgY29udmVudGlvbmFsIChhbmQgY29ycmVjdCkgbWFubmVyLgoKMjAwOC0xMS0xNCAxNjoxNTo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBubyBtb3JlIGVnZ2luZyB0aGUgcHVkZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm8gbW9yZSBlZ2dpbmcgdGhlIHB1ZGRpbmcKCjIwMDgtMTEtMTQgMTQ6MjM6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC1saWJzL2dzdC9wbGF5LzogUmVtb3ZlIGNydWZ0LiBUaGlzIGlzIG5vdCBlbnRlcmVkIGJ5IG1ha2UgYW5kIGl0cyBub3QgZXZlbiBjb21waWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5LnZjcHJvajoKCSAgUmVtb3ZlIGNydWZ0LiBUaGlzIGlzIG5vdCBlbnRlcmVkIGJ5IG1ha2UgYW5kIGl0cyBub3QgZXZlbiBjb21waWxhYmxlLgoKMjAwOC0xMS0xMyAyMjozMDo1NCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gY29ycmVjdGx5IGluIHRoZSBlbmNvZGVyIEFQSSwgYXMgd2VsbCBhcyBzb21lIGRlZmF1bHQgZ3N0cmVhbWVyaXNoIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNvcnJlY3RseSBpbiB0aGUgZW5jb2RlciBBUEksIGFzIHdlbGwKCSAgYXMgc29tZSBkZWZhdWx0IGdzdHJlYW1lcmlzaCBjb2xvcnNwYWNlIHByb3BlcnRpZXMuICBBbHNvLAoJICBhcHBhcmVudGx5LCBjaGFuZ2UgYSBidW5jaCBvZiBpbmRlbnRhdGlvbi4KCjIwMDgtMTEtMTMgMjE6NDQ6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwMmsvOiBBZGQganAya2VuYyB0byBqcDJrIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IChnc3RfamFzcGVyX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfY2xhc3NfaW5pdCksIChnc3RfamFzcGVyX2VuY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZW5jX3NldF9zcmNfY2FwcyksCgkgIChnc3RfamFzcGVyX2VuY19pbml0X2VuY29kZXIpLCAoZ3N0X2phc3Blcl9lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9qYXNwZXJfZW5jX2dldF9kYXRhKSwgKGdzdF9qYXNwZXJfZW5jX2NoYWluKSwKCSAgKGdzdF9qYXNwZXJfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfamFzcGVyX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phc3Blcl9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSAgKiBleHQvanAyay9nc3RqcDJrLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBqcDJrZW5jIHRvIGpwMmsgcGx1Z2luLgoKMjAwOC0xMS0xMyAyMTozMToxNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanAyay9nc3RqYXNwZXJkZWMuKjogTWFrZSBwYWQgdGVtcGxhdGUgY2FwcyByZWZsZWN0IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZGVjX25lZ290aWF0ZSksCgkgIChnc3RfamFzcGVyX2RlY19nZXRfcGljdHVyZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIE1ha2UgcGFkIHRlbXBsYXRlIGNhcHMgcmVmbGVjdCB0aGUgc3VwcG9ydGVkIGZvcm1hdHMuCgkgIEFkZCBvciBtb2RpZnkgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLCBhbmQgc2xpZ2h0bHkgc2ltcGxpZnkgaW1hZ2UKCSAgcGFzc2luZyB0byBlbmNvZGluZyBsaWJyYXJ5LgoKMjAwOC0xMS0xMyAxNzoyNDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoKMjAwOC0xMS0xMyAxNTo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgIFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMTEtMTMgMTU6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCjIwMDgtMTEtMTMgMTQ6MzE6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJICBVcGRhdGUgZG9jcy4KCjIwMDgtMTEtMTMgMTQ6MjE6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCjIwMDgtMTEtMTMgMTI6NTk6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgoyMDA4LTExLTEyIDEwOjMyOjI0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeCB1bmluaXRpYWxpemVkIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdW5pbml0aWFsaXplZCB3YXJuaW5ncwoKMjAwOC0xMS0xMSAxOTozMTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3F0bXV4KSwgKGNsZWFudXBfcXRtdXgpLAoJICAoY2hlY2tfcXRtdXhfcGFkKSwgKEdTVF9TVEFSVF9URVNUKSwgKHF0bXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCjIwMDgtMTEtMTEgMTk6MjQ6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2FkZF9tZXRhZGF0YV90YWdzKToKCSAgQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoKMjAwOC0xMS0xMCAxNToyNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2Ugb24gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2UKCSAgb24gdGhlIGNhcHMuCgoyMDA4LTExLTEwIDE0OjUzOjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogV2ltLCB5b3UncmUgYSBiYWQgYm95LiBZb3UgZG9uJ3Qgd2FudCBwZW9wbGUgdG8gY29udGFjdCB5b3Ugb3Igd2hhdD8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBXaW0sIHlvdSdyZSBhIGJhZCBib3kuIFlvdSBkb24ndCB3YW50IHBlb3BsZSB0byBjb250YWN0IHlvdSBvciB3aGF0PwoKMjAwOC0xMS0xMCAxNDowMTo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGlpci5jOiBGaXggbmFtZSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgIEZpeCBuYW1lIHRhZy4KCjIwMDgtMTEtMDggMDI6MDA6NTggKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIEZpeGVzICM1NTAyODAuCgoyMDA4LTExLTA3IDE3OjM1OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogQWRkIGlzLWxpdmUgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGlzLWxpdmUgcHJvcGVydHkuCgkgIEFkZCBzb21lIG1vcmUgZG9jcy4KCjIwMDgtMTEtMDYgMjI6NTQ6MzkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBGaXggYmFzaWMgbmF2aWdhdGlvbiBldmVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgRml4IGJhc2ljIG5hdmlnYXRpb24gZXZlbnRzCgoyMDA4LTExLTA2IDE0OjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpOgoJICBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoKMjAwOC0xMS0wNiAxMzowMDo1NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFNldCBmaWx0ZXJzIGluIFBBVVNFRCBvciBQTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBTZXQgZmlsdGVycyBpbiBQQVVTRUQgb3IgUExBWUlORy4KCjIwMDgtMTEtMDYgMTI6MTc6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IE1ha2UgcHJpdmF0ZSBzZWN0aW9uIHBhZHMgaGF2ZSBhIGNhcHMgc2V0IHNvIHRoZXkgYXJlIG5vdCB0cmllZCB0byBiZSBsaW5rZWQgaW4gcGFyc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBNYWtlIHByaXZhdGUgc2VjdGlvbiBwYWRzIGhhdmUgYSBjYXBzIHNldCBzbyB0aGV5IGFyZSBub3QgdHJpZWQKCSAgdG8gYmUgbGlua2VkIGluIHBhcnNlX2xhdW5jaCBmb3IgZXhhbXBsZS4KCjIwMDgtMTEtMDYgMTE6MzE6MDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IE5vIG5lZWQgdG8gcmVjbGFjdWxhdGUgZmx1c2ggaW4gdGhpcyBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBObyBuZWVkIHRvIHJlY2xhY3VsYXRlIGZsdXNoIGluIHRoaXMgY2FzZS4KCSAgRml4ZXMgc29tZSBiYWQgZGVjb2RlIGVycm9ycyBpbnRyb2R1Y2VkLgoKMjAwOC0xMS0wNiAxMDo0Mjo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogRml4IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIEZpeCB0eXBvLgoKMjAwOC0xMS0wNSAyMzozMTo0MSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEZpeCBSR0IgbWFzayBpbiBjYXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEZpeCBSR0IgbWFzayBpbiBjYXBzCgoyMDA4LTExLTA1IDIyOjI1OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZCBIZXh0aWxlIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBIZXh0aWxlIGVuY29kaW5nCgoyMDA4LTExLTA1IDE4OjUyOjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBIZXVyaXN0aWMgYXBwcm9hY2ggd2hlbiByZXN5bmNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEhldXJpc3RpYyBhcHByb2FjaCB3aGVuIHJlc3luY2luZy4KCjIwMDgtMTEtMDUgMTg6MTE6NTUgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6IExlbmd0aCBzaG91bGQgYmUgYSBndWludDggbm90IGEgZ2ludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICBMZW5ndGggc2hvdWxkIGJlIGEgZ3VpbnQ4IG5vdCBhIGdpbnQuCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENvbnZlcnQgdGV4dCB0byB1dGY4IGZvciBlYWNoIGRlc2NyaXB0b3Igc2VwYXJhdGVseSBhbmQgbm90CgkgIGNvbmNhdGVuYXRlIHRoZW0gZmlyc3QgYW5kIGNvbnZlcnQgYWZ0ZXIuCgoyMDA4LTExLTA0IDIwOjI2OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBTZW5kIHRhZyBldmVudC4gRml4ZXMgIzU1OTI4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgU2VuZCB0YWcgZXZlbnQuIEZpeGVzICM1NTkyODYuCgoyMDA4LTExLTA0IDE4OjAzOjU1ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOiBGaXggYW5vdGhlciBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIEZpeCBhbm90aGVyIG1lbWxlYWsuCgoyMDA4LTExLTA0IDE3OjI1OjA5ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgRml4IG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBGaXggbWVtbGVha3MuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMS0wNCAwODoyNDoxMCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzogRml4IG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IG1lbWxlYWsuCgoyMDA4LTExLTAzIDIyOjAwOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4YW1wbGVzL3NjYWxldGVtcG8vLmN2c2lnbm9yZTogQWRkIGV4YW1wbGUgdG8gY3ZzIGlnbm9yZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vLmN2c2lnbm9yZToKCSAgQWRkIGV4YW1wbGUgdG8gY3ZzIGlnbm9yZXMuCgoyMDA4LTExLTAzIDIxOjI3OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiBGaXggbWlzbWF0Y2hlZCBzaWduZWRuZXNzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICAob3Blbl9kZWNvZGVyKToKCSAgRml4IG1pc21hdGNoZWQgc2lnbmVkbmVzcyBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0wMyAwODo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBZGQgVE9ETyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciBlbmFibGluZyBTU0UvQVJNIHNwZWNpZmljIG9wdGltaXphdGlvbnMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlcik6CgkgIEFkZCBUT0RPIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIGVuYWJsaW5nIFNTRS9BUk0gc3BlY2lmaWMKCSAgb3B0aW1pemF0aW9ucyBhbmQgY2hvb3NpbmcgdGhlIGZhc3Rlc3QgaW1wbGVtZW50YXRpb24gYXQgcnVudGltZS4KCSAgQWRkIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgYXQgdHdvIHBsYWNlcyB0aGF0IHNob3VsZCByZWFsbHkgbmV2ZXIKCSAgYmUgcmVhY2hlZC4KCjIwMDgtMTEtMDIgMDk6MTk6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogRml4IGZvcm1hdCBzdHJpbmcgYW5kIGFyZ3VtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpOgoJICBGaXggZm9ybWF0IHN0cmluZyBhbmQgYXJndW1lbnRzLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlX3NzZS5oOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwOC0xMS0wMSAyMTozNzowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOiBEaXN0IHRoZSBwbGF5IHNjcmlwdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgRGlzdCB0aGUgcGxheSBzY3JpcHRzLgoKMjAwOC0xMS0wMSAxOTozODozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgbWlzc2luZyBoZWFkZXJzIHRvIE1ha2VmaWxlLmFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKSwgKF9iZW5jaG1hcmtfaW50X2Zsb2F0KSwKCSAgKF9iZW5jaG1hcmtfaW50X2ludCksIChfYmVuY2htYXJrX2ludGVnZXJfcmVzYW1wbGluZyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXJzIHRvIE1ha2VmaWxlLmFtLgoJICBVcGRhdGUgY29weXJpZ2h0LCB5ZWFycyBhbmQgbXkgbWFpbCBhZGRyZXNzLgoJICBCZW5jaG1hcmsgdGhlIGludGVnZXIgcmVzYW1wbGluZyBpbXBsZW1lbnRhdGlvbiBhZ2FpbnN0IHRoZQoJICBmbG9hdCBpbXBsZW1lbnRhdGlvbiBhbmQgdXNlIHRoZSBmYXN0ZXIgb25lIGZvciA4LzE2IGJpdCBpbnRlZ2VyCgkgIGlucHV0LiBPbiBtb3N0IHJlY2VudCBzeXN0ZW1zIHRoZSBmbG9hdGluZyBwb2ludCB2ZXJzaW9uIGlzIGZhc3Rlci4KCjIwMDgtMTAtMzEgMTg6Mzk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBsaW5raW5nIGlzIHdoYXQgaXMgaW50ZXJlc3RpbmcsIG5vdCB0aGF0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gYXMgdGhlIHJlc3VsdCBvZiB0aGUgbGlua2luZwoJICBpcyB3aGF0IGlzIGludGVyZXN0aW5nLCBub3QgdGhhdCBpdCBhY3R1YWxseSBydW5zLgoJICBGaXhlcyBjcm9zcy1jb21waWxhdGlvbiBhbmQgZml4ZXMgYnVnICM1NTg2MzkuCgoyMDA4LTEwLTMwIDE5OjU0OjM4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogQWRkIEFMQUMgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEFkZCBBTEFDIHN1cHBvcnQuCgkgIEZpeCBkZWNvZGUgb2YgbW9ubyBBQUMgZmlsZXMgY3JlYXRlZCBieSBpdHVuZXMuCgkgIFNldCBvdXRwdXQgZm9ybWF0IGNvcnJlY3RseSAoZG9uJ3QgYXNrIHF1aWNrdGltZSB0bwoJICByZXNhbXBsZSBmb3IgdXMpLgoJICBVc2UgYSBsYXJnZXIgZGVjb2RlIGJ1ZmZlciB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIGxhcmdlCgkgIEFMQUMgcGFja2V0cy4KCSAgRml4IGRlY29kZSB0byBsb29wIHVudGlsIHdlIGhhdmUgYWxsIG91dHB1dCBkYXRhLgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJICBGaXggaW5jbHVkZXMgc28gd2UgY29tcGlsZSBvbiBtb3JlIE9TZXMuCgoyMDA4LTEwLTMwIDE1OjMxOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGF0IGxlYXN0IEd0ayAyLjguMCBmb3IgdGhlIGRlbW9zICh0aGF0J3MgdGhlIG9sZGVzdCBJIGNhbiB0ZXN0IHdpdGg7IEknbSBmYWlybHkgY2VydGFpbiBHdGsgMi4wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBhdCBsZWFzdCBHdGsgMi44LjAgZm9yIHRoZSBkZW1vcyAodGhhdCdzIHRoZSBvbGRlc3QgSSBjYW4KCSAgdGVzdCB3aXRoOyBJJ20gZmFpcmx5IGNlcnRhaW4gR3RrIDIuMC4wIGlzIG5vdCBnb29kIGVub3VnaCBhbnkKCSAgbG9uZ2VyKTsgY2xlYW4gdXAgc29tZSB1bnVzZWQgR3RrLXJlbGF0ZWQgY29uZmlndXJlIGNydWZ0LgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgRGVmaW5lIEd0ayAyLjEyIGZ1bmN0aW9uIHRvIG5vb3Agd2hlbiBjb21waWxpbmcgYWdhaW5zdCBvbGRlciBHdGsuCgoyMDA4LTEwLTMwIDE0OjU1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IFRoZSBsZW5ndGggZm9yIHRoZSBidWZmZXIgY29udmVyc2lvbiBmdW5jdGlvbiBpcyB0aGUgbnVtYmVyIG9mIGF1ZGlvIGZyYW1lcywgaS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKToKCSAgVGhlIGxlbmd0aCBmb3IgdGhlIGJ1ZmZlciBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIHRoZSBudW1iZXIgb2YKCSAgYXVkaW8gZnJhbWVzLCBpLmUuIHdlIG5lZWQgdG8gbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICB0byBnZXQgdGhlIG51bWJlciBvZiB2YWx1ZXMuIEFsc28gc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0IGFmdGVyCgkgIHJ1bm5pbmcgaW4gdmFsZ3JpbmQuCgoyMDA4LTEwLTMwIDE0OjQ2OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IEFkZCBwaXBlbGluZSB1bml0IHRlc3RzIGZvciB0ZXN0aW5nIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyB3aXRoIHVwL2Rvd25zYW1wbGluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoZWxlbWVudF9tZXNzYWdlX2NiKSwKCSAgKGVvc19tZXNzYWdlX2NiKSwgKHRlc3RfcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlZXhyZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCBwaXBlbGluZSB1bml0IHRlc3RzIGZvciB0ZXN0aW5nIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyB3aXRoCgkgIHVwL2Rvd25zYW1wbGluZyBhbmQgZGlmZmVyZW50IGluL291dHJhdGVzLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBGaXggYnVncyBpZGVudGlmaWVkIGJ5IHRoZSB0ZXN0c3VpdGUuCgoyMDA4LTEwLTMwIDEzOjQ0OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBzdXBwb3J0IGZvciBpbnQ4LCBpbnQyNCBhbmQgaW50MzIgaW5wdXQgYnkgY29udmVydGluZyBpbnRlcm5hbGx5IHRvL2Zyb20gaW50MTYgb3IgZG91YmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgc3VwcG9ydCBmb3IgaW50OCwgaW50MjQgYW5kIGludDMyIGlucHV0IGJ5IGNvbnZlcnRpbmcgaW50ZXJuYWxseQoJICB0by9mcm9tIGludDE2IG9yIGRvdWJsZS4KCjIwMDgtMTAtMzAgMTM6Mzg6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLio6IEJldHRlciBmaXggZm9yICM1NDYzMTkgYW5kIHNpbWlsYXIgY2FzZXMgYnkgZXhwbGljaXRseSByZWdpc3RlcmluZyB3aGVuIHdlJ3JlIGluIHBsYXlpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBCZXR0ZXIgZml4IGZvciAjNTQ2MzE5IGFuZCBzaW1pbGFyIGNhc2VzIGJ5IGV4cGxpY2l0bHkKCSAgcmVnaXN0ZXJpbmcgd2hlbiB3ZSdyZSBpbiBwbGF5aW5nIHN0YXRlIG9yIG5vdC4KCjIwMDgtMTAtMzAgMTM6MDI6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IFdoaXRlc3BhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIFdoaXRlc3BhY2UuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWRkIGEgRklYTUU6LiBub3Qgc3VyZSBpZiB0aGlzIGNvZGUgZG9lcyB0aGUgZm9yd2FyZGluZyBjb3JyZWN0bHkuCgoyMDA4LTEwLTMwIDEyOjQzOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgZG91YmxlIHNhbXBsZXMgYXMgaW5wdXQgYW5kIHJlZmFjdG9yIHRoZSB1c2FnZSBvZiB0aGUgZGlmZmVyZW50IGNvbXBpbGF0aW9uIGZsYXZvcnMgb2YgdGhlIHNwZWV4IHJlc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoX2djZCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHNldHVwX3NwZWV4cmVzYW1wbGUpLAoJICAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKToKCSAgQWRkIHN1cHBvcnQgZm9yIGRvdWJsZSBzYW1wbGVzIGFzIGlucHV0IGFuZCByZWZhY3RvciB0aGUgdXNhZ2UKCSAgb2YgdGhlIGRpZmZlcmVudCBjb21waWxhdGlvbiBmbGF2b3JzIG9mIHRoZSBzcGVleCByZXNhbXBsZXIuCgoyMDA4LTEwLTMwIDEyOjEzOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTEwLTMwIDExOjUwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvYnVmZmVyLzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gYXVkaW9yaW5nYnVmZmVyIGVsZW1lbnQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4gdGhlIHBpcGVsaW5lIHRvIGNvbnZlcnQgcHVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9pbnRfcmluZ19idWZmZXJfaW5pdCksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX25ldyksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0Y2FwcyksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zZXRjYXBzKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3JlbmRlciksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3JhbmdlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19jaGVja2dldHJhbmdlX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIGF1ZGlvcmluZ2J1ZmZlciBlbGVtZW50IHRoYXQgY2FuIGJlIGluc2VydGVkIGluCgkgIHRoZSBwaXBlbGluZSB0byBjb252ZXJ0IHB1c2gtYmFzZWQgdXBzdHJlYW0gaW50byBhIHB1bGwtYmFzZWQKCSAgZG93bnN0cmVhbS4KCjIwMDgtMTAtMzAgMTE6NDM6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMTAtMzAgMDA6MTc6MTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IEFJRkYgaXMgYWx3YXlzIHNpZ25lZCwgZXZlbiBmb3IgOCBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIEFJRkYgaXMgYWx3YXlzIHNpZ25lZCwgZXZlbiBmb3IgOCBiaXQuCgoyMDA4LTEwLTI5IDE3OjAyOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IEZpeCB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCB0aGUgZG9jcy4KCjIwMDgtMTAtMjkgMTY6NTM6NTQgKzAwMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBIFJlYWxWaWRlbyB2aWRlbyBpbnNpZGUgYSBjb250YWluZXIgKGZvciBleGFtcGxlIE1LVikgc2hvdWxkIHVzZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2JpbiBTdG9ja2VyIDxyb2JpbiBhdCBuaWJvciBkb3Qgb3JnPgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpOgoJICBBIFJlYWxWaWRlbyB2aWRlbyBpbnNpZGUgYSBjb250YWluZXIgKGZvciBleGFtcGxlIE1LVikgc2hvdWxkIHVzZSB0aGUKCSAgUEFSIHdoaWNoIGlzIHNwZWNpZmllZCBvbiB0aGUgc2lua3BhZCBjYXBzLiBGaXhlcyAjNTU4NDE2LgoKMjAwOC0xMC0yOSAxMjoxMToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS4qOiBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZyB0byBtYWtlIGl0IG1vcmUgcm9idXN0IGFuZCBndWFyYW50ZWUgYSBjb250aW5vdXMgc3RyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdGFydCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZyB0byBtYWtlIGl0IG1vcmUgcm9idXN0IGFuZCBndWFyYW50ZWUKCSAgYSBjb250aW5vdXMgc3RyZWFtLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHNldHVwX3NwZWV4cmVzYW1wbGUpLAoJICAoY2xlYW51cF9zcGVleHJlc2FtcGxlKSwgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKSwKCSAgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSksIChsaXZlX3N3aXRjaF9hbGxvY19vbmx5XzQ4MDAwKSwKCSAgKGxpdmVfc3dpdGNoX2dldF9zaW5rX2NhcHMpLCAobGl2ZV9zd2l0Y2hfcHVzaCksCgkgIChzcGVleHJlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHNwZWV4cmVzYW1wbGUgYmFzZWQgb24gdGhlIGF1ZGlvcmVzYW1wbGUgdW5pdCB0ZXN0cy4KCjIwMDgtMTAtMjkgMDE6MDA6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IE1ha2Ugc3VyZSB0byBzdGFydCB0aGUgTkFWIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gUExBWUlORyAgYnkgcGFzc2luZyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBNYWtlIHN1cmUgdG8gc3RhcnQgdGhlIE5BViBwYWNrZXQgcHJvY2Vzc2luZyB3aGVuIGNoYW5naW5nCgkgIHN0YXRlIHRvIFBMQVlJTkcgIGJ5IHBhc3NpbmcgYSBmbGFnIHRoYXQgaW5kaWNhdGVzIHRoZSBzdGF0ZQoJICBjaGFuZ2UgaXMgaW4gcHJvZ3Jlc3MuCgkgIEZpeGVzOiAjNTQ2MzE5CgoyMDA4LTEwLTI4IDIwOjA2OjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTogUmVtb3ZlICRAIHRvIGZpeCBwYXJzZV9sYXVuY2ggd2FybmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgUmVtb3ZlICRAIHRvIGZpeCBwYXJzZV9sYXVuY2ggd2FybmluZwoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5MjoKCSAgQWRkIGEgdmVyc2lvbiB0aGF0IHVzZXMgZGVpbnRlcmxhY2UgYW5kIHh2aW1hZ2VzaW5rLgoKMjAwOC0xMC0yOCAxOTozMDozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS4qOiBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgR19MSUtFTFkgYW5kIGZyaWVuZHMsIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9maXhhdGVfY2FwcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBHX0xJS0VMWSBhbmQgZnJpZW5kcywgdXNlIEdTVF9ERUJVR19PQkpFQ1QKCSAgaW5zdGVhZCBvZiBHU1RfREVCVUcsIC4uLgoKMjAwOC0xMC0yOCAxODo0NDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgoyMDA4LTEwLTI4IDE4OjQxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YKCSAgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIFB1c2ggdGFncyBhbHJlYWR5IGlmIG9ubHkgb25lIHBhZCB3YXMgYWRkZWQsIG5vIG5lZWQgdG8gd2FpdCBmb3IKCSAgdGhlIHNlY29uZCBvbmUuCgkgIFdoZW4gZ2VuZXJhdGluZyBvdXIgaW5kZXggc2V0IGhhc192aWRlbyBhbmQgaGFzX2F1ZGlvIGlmIHdlIGZpbmQKCSAgdmlkZW8gb3IgYXVkaW8gaW4gY2FzZSB0aGUgRkxWIGhlYWRlciBoYXMgaW5jb3JyZWN0IGRhdGEuCgoyMDA4LTEwLTI4IDE2OjI4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEZpeGF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9maXhhdGVfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgIEZpeGF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuCgoyMDA4LTEwLTI4IDE2OjI1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEZpeGF0ZSB0aGUgcmF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuIEZpeGVzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksIChhdWRpb3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKToKCSAgRml4YXRlIHRoZSByYXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YKCSAgdGhlIGZpcnN0IG9uZS4gRml4ZXMgYnVnICM1NDk1MTAuCgoyMDA4LTEwLTI4IDExOjQ2OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IFVwZGF0ZSBTcGVleCByZXNhbXBsZXIgd2l0aCBsYXRlc3QgdmVyc2lvbiBmcm9tIFNwZWV4IEdJVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm00Lmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNWUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9iZmluLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZGVidWcuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKGNvbXB1dGVfZnVuYyksIChtYWluKSwgKHNpbmMpLAoJICAoY3ViaWNfY29lZiksIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLCAodXBkYXRlX2ZpbHRlciksCgkgIChzcGVleF9yZXNhbXBsZXJfaW5pdF9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfbWFnaWMpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGVfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfc2tpcF96ZXJvcyksCgkgIChzcGVleF9yZXNhbXBsZXJfcmVzZXRfbWVtKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgVXBkYXRlIFNwZWV4IHJlc2FtcGxlciB3aXRoIGxhdGVzdCB2ZXJzaW9uIGZyb20gU3BlZXggR0lULgoKMjAwOC0xMC0yOCAwMTo1Mzo0OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuKjogQ2FsY3VsYXRlIHdpZHRoIGZyb20gZGVwdGggY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkgIENhbGN1bGF0ZSB3aWR0aCBmcm9tIGRlcHRoIGNvcnJlY3RseS4KCSAgUmVhZCBTU05EIGhlYWRlciBwcm9wZXJseSAoZml4ZXMgMjQgYml0IEFJRkYgcmVhZGluZykuCgoyMDA4LTEwLTI3IDE3OjAxOjIyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQWRhcHQgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgeDI2NCBBUEkuICBGaXhlcyAjNTU1MjM4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKToKCSAgQWRhcHQgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgeDI2NCBBUEkuICBGaXhlcyAjNTU1MjM4LgoKMjAwOC0xMC0yNyAxNjozMjo0OSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFByZXZlbnQgZW5kbGVzcyBsb29wIGlmIGJ1ZmZlciBhbGxvYyBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgIFByZXZlbnQgZW5kbGVzcyBsb29wIGlmIGJ1ZmZlciBhbGxvYyBlcnJvci4KCjIwMDgtMTAtMjcgMDk6NDU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0IGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0CgkgIGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoKMjAwOC0xMC0yNyAwOTo0Mjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBvZiBjb3JlIGZvciB0aGUgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgb2YgY29yZSBmb3IgdGhlIGxhc3QgY2hhbmdlLgoKMjAwOC0xMC0yNyAwOTo0MToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9NYWtlZmlsZS5hbTogRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOgoJICBSZXdyaXRlIHRoZSBzY3JpcHQgdGFnIHBhcnNpbmcgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0byByZWFkCgkgIG1vcmUgZGF0YSB0aGFuIHdlIGhhdmUuIEFsc28gdXNlIEdTVF9SRUFEX1VJTlQyNF9CRSBkaXJlY3RseSBhbmQKCSAgZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoJICBUaGlzIHNob3VsZCBtYWtlIGFsbCBjcmFzaGVzIG9uIGZ1enplZCBGTFYgZmlsZXMgZGlzYXBwZWFyLgoKMjAwOC0xMC0yNyAwOTozNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQKCSAgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHJlZ2lvbi4KCjIwMDgtMTAtMjcgMDk6MzU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dAoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCjIwMDgtMTAtMjcgMDk6MzM6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZCB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOgoJICBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoKMjAwOC0xMC0yNyAwOTozMjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0KCSAgZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBGaXggc2VlayBldmVudCBoYW5kbGluZyB0byBsb29rIGF0IHRoZSBmbGFncyBvZiB0aGUgc2VlayBldmVudAoJICBpbnN0ZWFkIG9mIGFzc3VtaW5nIHNvbWUgcmFuZG9tIGZsYWdzLCBkb24ndCBzZW5kIHNlZ21lbnQtc3RhcnQKCSAgbWVzc2FnZXMgd2hlbiBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlIGFuZCBwdXNoIHNlZWsgZXZlbnRzIHVwc3RyZWFtCgkgIGlmIHdlIGNvdWxkbid0IGhhbmRsZSB0aGVtLgoKMjAwOC0xMC0yNyAwOToyNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgoyMDA4LTEwLTI3IDA5OjI1OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoJICBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpbGVzICh3aGljaCBhcmUgbW9yZSB0aGFuCgkgIG9mdGVuIGluY29ycmVjdCBhbmQgY2F1c2UgZmFpbGVkIHNlZWtzKS4KCSAgRm9yIHB1c2ggbW9kZSB3ZSBzdGlsbCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGFuZCBleHRlbmQgaXQKCSAgd2hpbGUgZG9pbmcgdGhlIHBsYXliYWNrLgoKMjAwOC0xMC0yNyAwOToyMDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpOgoJICBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsCgkgIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpcyBtdWNoCgkgIG1vcmUgc2ltcGxlLgoKMjAwOC0xMC0yNyAwOToxNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC4qOiBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZSBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZQoJICBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0IHdoZW4gc3RhcnRpbmcgYSBuZXcgc3RyZWFtIHRvIGdldAoJICBhbGwgb2xkIGVudHJpZXMgcmVtb3ZlZC4KCjIwMDgtMTAtMjcgMDk6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoKMjAwOC0xMC0yNyAwOToxMDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcyBoYW5kbGVkLgoKMjAwOC0xMC0yNyAwODo1NzoyNyArMDAwMCAgRGF2aWQgSMOkcmRlbWFuIDxkYXZpZEBoYXJkZW1hbi5udT4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IsIHdoaWNoIHByb3ZpZGVzIGFkZGl0aW9uYWwgZnJlcXVlbmNpZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhdmlkIEjDpHJkZW1hbiA8ZGF2aWQgYXQgaGFyZGVtYW4gZG90IG51PgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfbml0KToKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yLCB3aGljaCBwcm92aWRlcwoJICBhZGRpdGlvbmFsIGZyZXF1ZW5jaWVzIHRoYXQgc2hvdWxkIGJlIHNjYW5uZWQgYnkgYSBEVkIgYXBwbGljYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNTU3ODE0LgoKMjAwOC0xMC0yNyAwODo1Mjo1MCArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBGaXggRU9TIGxvZ2ljIGJ5IGNvcnJlY3RseSBwb3BwaW5nIHRoZSBjb2xsZWN0IHBhZCBidWZmZXJzIG9ubHkgd2hlbiB3ZSd2ZSBjaG9zZW4gdG8gdXNlIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0pOgoJICBGaXggRU9TIGxvZ2ljIGJ5IGNvcnJlY3RseSBwb3BwaW5nIHRoZSBjb2xsZWN0IHBhZCBidWZmZXJzIG9ubHkKCSAgd2hlbiB3ZSd2ZSBjaG9zZW4gdG8gdXNlIHRoZW0gaW5zdGVhZCBvZiBwb3BwaW5nIHRoZW0gYWx3YXlzIGFuZAoJICBzdG9yaW5nIHRoZW0gaW4gYSBwcml2YXRlIHF1ZXVlLgoJICBCZWZvcmUgdGhlIHBpcGVsaW5lIHdvdWxkIGRlYWRsb2NrIGlmIGFsbCBwYWRzIGdvIEVPUyBhdCB0aGUgc2FtZQoJICB0aW1lLiBGaXhlcyBidWcgIzU1Nzc2My4KCjIwMDgtMTAtMjYgMjA6MDc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoKPT09IHJlbGVhc2UgMC4xMC45ID09PQoKMjAwOC0xMC0yNCAyMjo0NToxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjkKCjIwMDgtMTAtMjQgMjE6NDM6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTEwLTI0IDE2OjQxOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuOC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuOC40IHByZS1yZWxlYXNlCgoyMDA4LTEwLTIwIDE0OjE5OjE3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogRml4IHJldmVyc2UgcGxheWJhY2sgcmVncmVzc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICBGaXggcmV2ZXJzZSBwbGF5YmFjayByZWdyZXNzaW9uLgoJICBGaXhlcyAjNTU3MDgwCgoyMDA4LTEwLTE5IDEyOjM5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogU2V0IGFwZXhzaW5rJ3MgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHVzZWQgYnkgYXV0b2F1ZGlvc2luayAodGhlcmUncyBubyBwb2ludCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCBhcGV4c2luaydzIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCB1c2VkIGJ5CgkgIGF1dG9hdWRpb3NpbmsgKHRoZXJlJ3Mgbm8gcG9pbnQgcmVhbGx5KS4gKCM1NTY1ODgpCgoyMDA4LTEwLTE2IDE3OjEyOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMyBwcmUtcmVsZWFzZQoKMjAwOC0xMC0xNiAxNjozNzozMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogUHJvcGVybHkgaGFuZGxlIHNvbWUgcmVzeW5jIGNhc2VzIGluIHRoZSBvcHRpbWlzZWQgYnVmZmVyaW5nIHN0cmF0ZWd5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgUHJvcGVybHkgaGFuZGxlIHNvbWUgcmVzeW5jIGNhc2VzIGluIHRoZSBvcHRpbWlzZWQKCSAgYnVmZmVyaW5nIHN0cmF0ZWd5LgoKMjAwOC0xMC0xNiAxNjoxODozMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2FjbWVuYy9NYWtlZmlsZS5hbTogUmVtb3ZlIGluY29ycmVjdCB1c2Ugb2YgRElSRUNUU09VTkRfTERGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMC0xNiAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGluY29ycmVjdCB1c2Ugb2YgRElSRUNUU09VTkRfTERGTEFHUwoKMjAwOC0xMC0xNiAxNToyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYzogRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbyBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpOgoJICBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvCgkgIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM1NTY1NjQuCgoyMDA4LTEwLTE2IDE1OjA2OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R5cGVmaW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCjIwMDgtMTAtMTYgMTQ6NTQ6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IExlYXZlIGFwZXhzaW5rIG91dCBvZiB0aGUgc3RhdGVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBMZWF2ZSBhcGV4c2luayBvdXQgb2YgdGhlIHN0YXRlcyB0ZXN0LgoKMjAwOC0xMC0xNiAxMzowNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0IHNlcW51bSBkaXNjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dAoJICBzZXFudW0gZGlzY29udGludWl0aWVzLgoJICBJbXByb3ZlIGdhcCBkZXRlY3Rpb24gYW5kIHJlY292ZXJ5LCByZXNldCBhbmQgZmx1c2ggdGhlIGppdHRlcmJ1ZmZlciBvbgoJICBzZXFudW0gcmVzdGFydC4gRml4ZXMgIzU1NjUyMC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIEZpeCB3cm9uZyBHX0xJS0VMWS4KCjIwMDgtMTAtMTYgMTE6NTU6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC44LjIgcHJlLXJlbGVhc2UgYnVtcCwgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBpbiBhIHRhcmJhbGwgb24gMjAwOC0xMC0xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjguMiBwcmUtcmVsZWFzZSBidW1wLCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IGluIGEKCSAgdGFyYmFsbCBvbiAyMDA4LTEwLTExCgoyMDA4LTEwLTE2IDA5OjUxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIFRSVUUuCgoyMDA4LTEwLTE2IDA5OjE4OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogTWFrZSBzdXJlIHRoZSBtcGVncHNkZW11eCBlbGVtZW50IGNyZWF0ZXMgdmFsaWQgbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgTWFrZSBzdXJlIHRoZSBtcGVncHNkZW11eCBlbGVtZW50IGNyZWF0ZXMgdmFsaWQgbmV3c2VnbWVudCBldmVudHMuCgkgIEZpeGVzICM1NTY0MjgKCjIwMDgtMTAtMTYgMDg6MTc6NTkgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogRml4ZXMgc2VnZmF1bHQgaW4gZ2V0X2VuY29kaW5nX2FuZF9jb252ZXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4ZXMgc2VnZmF1bHQgaW4gZ2V0X2VuY29kaW5nX2FuZF9jb252ZXJ0LgoJICBGaXhlcyAjNTU2NDgyCgoyMDA4LTEwLTE2IDA4OjEzOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBGaXhlcyBhIHNlZ2ZhdWx0IGluIHRoZSBhZGFwdGF0aW9uIGJ1ZmZlciBzaXplIHN0cmF0ZWd5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBGaXhlcyBhIHNlZ2ZhdWx0IGluIHRoZSBhZGFwdGF0aW9uIGJ1ZmZlciBzaXplIHN0cmF0ZWd5LgoJICBGaXhlcyAjNTU2NDQwCgoyMDA4LTEwLTE1IDE3OjQ1OjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogR3JhY2VmdWxseSBoYW5kbGUgdGhlIGNhc2VzIHdoZW4gd2UgZG9udCcgaGF2ZSBvdGhlcnBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9ldmVudCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBHcmFjZWZ1bGx5IGhhbmRsZSB0aGUgY2FzZXMgd2hlbiB3ZSBkb250JyBoYXZlIG90aGVycGFkLgoJICBGaXhlcyAjNTU2NDMwCgoyMDA4LTEwLTE0IDE1OjEzOjA1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogRml4IGRlYnVnZ2luZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGRlYnVnZ2luZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbi4KCSAgRml4ZXMgIzU1NjI3NAoKMjAwOC0xMC0xNCAxNDo1Mzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzogRml4IHNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIChmcm9tIE9TL1gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBGaXggc29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgKGZyb20gT1MvWCkKCjIwMDgtMTAtMTMgMTI6Mjc6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmb3IgbGF0ZXN0IHBsdWdpbnMgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZm9yIGxhdGVzdCBwbHVnaW5zIGNoYW5nZXMKCjIwMDgtMTAtMTMgMDc6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IChnc3RfYXBleHJhb3BfY29ubmVjdCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3ZvbHVtZSk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0xMC0xMiAyMTo1MjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzNC86IEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBGaXhlczogIzU1NTk2OSAjNTU1OTY4ICM1NTU5NjUKCjIwMDgtMTAtMTIgMTc6MDg6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgRml4ZXMgYnVnICM1NTYwMDMuCgoyMDA4LTEwLTEyIDE3OjA0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBhcGV4c2luayB0byBTVUJESVJTLiBGaXhlcyBidWcgIzU1NTkxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgYXBleHNpbmsgdG8gU1VCRElSUy4gRml4ZXMgYnVnICM1NTU5MTIuCgoyMDA4LTEwLTExIDExOjAyOjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOiBNYWtlIHRoZSBtZXRhZGF0YSB0ZXN0IG5vdCBmYWlsIHdoZW4ganBlZ2VuYyBpc24ndCBhdmFpbGFibGUuLi4uIGFzIGl0IGlzbid0IGhlcmUsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgTWFrZSB0aGUgbWV0YWRhdGEgdGVzdCBub3QgZmFpbCB3aGVuIGpwZWdlbmMgaXNuJ3QgYXZhaWxhYmxlLi4uLgoJICBhcyBpdCBpc24ndCBoZXJlLCBiZWNhdXNlIGl0J3Mgbm90IGluIHRoaXMgbW9kdWxlLCBhbmQKCSAgdGhlcmVmb3JlIG5vdCBpbiB0aGUgcGx1Z2luIHBhdGggd2hlbiB0aGUgY2hlY2sgcnVucy4KCjIwMDgtMTAtMTAgMTY6MzM6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0CgkgIGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3JrIHdpdGggKGkuZS4gdGhlIHBhZCdzIGNhcHMpLgoJICBBZGQgbm9uLWtleWZyYW1lIHZpZGVvIGZyYW1lcyB0byB0aGUgaW5kZXggdG9vIGJ1dCB3aXRob3V0IHRoZQoJICBrZXlmcmFtZSBmbGFnLgoJICBBZGQgYXVkaW8gZnJhbWVzIHRvIHRoZSBpbmRleCBvbmx5IGlmIHdlIGhhdmUgbm8gdmlkZW8gc3RyZWFtLgoKMjAwOC0xMC0xMCAxNjoxNTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbQoJICBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYXBzIGFyZSBzZXQuCgoyMDA4LTEwLTEwIDE1OjUxOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgZmxhY3BhcnNlIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyB0b28gYnVnZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBmbGFjcGFyc2UgZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIHRvbyBidWdneS4KCjIwMDgtMTAtMTAgMTE6MTc6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZyB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTAtMTAgIEphbiBTY2htaWR0ICA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZwoJICB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCjIwMDgtMTAtMTAgMTE6MDE6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZwoJICB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCjIwMDgtMTAtMDkgMTk6Mzg6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIFg4NiBhc3NlbWJseS4KCjIwMDgtMTAtMDkgMTY6NTE6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBmaXggdmFyaW91cyBidWlsZCBmaWxlcyB0byBhbGxvdyBmb3IgZGlzdGluZyBhbmQgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZhcmlvdXMgYnVpbGQgZmlsZXMgdG8gYWxsb3cgZm9yIGRpc3RpbmcgYW5kIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcy4KCjIwMDgtMTAtMDkgMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldCAobWF5YmUgYmV0dGVyKSBkdXJhdGlvbiBmcm9tCgkgIG1ldGFkYXRhIGxhdGVyIHdlJ2xsIHVzZSB0aGF0IGluc3RlYWQuCgoyMDA4LTEwLTA5IDE1OjQzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uCgkgIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmVhZGFibGUuCgoyMDA4LTEwLTA5IDE1OjI2OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgSWYgd2UgZ2V0IEdTVF9GTE9XX05PVF9MSU5LRUQgaW4gdGhlIHBhcnNlIGxvb3AgYnV0IGF0IGxlYXN0CgkgIG9uZSBvZiB0aGUgcGFkcyBpcyBsaW5rZWQgY29udGludWUgdGhlIGxvb3AuCgoyMDA4LTEwLTA5IDEwOjAxOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuKjogUGFzcyB0aGUgZGlzY29udCBmbGFnIGZyb20gdGhlIGlucHV0IGJ1ZmZlciBvbiB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbiB0aGUgQU1SIGVuY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICBQYXNzIHRoZSBkaXNjb250IGZsYWcgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIG9uIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluCgkgIHRoZSBBTVIgZW5jb2Rlci4KCjIwMDgtMTAtMDkgMTA6MDA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSk6CgkgIENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbAoJICB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWNvZGVyIGFuZCBoYXMgZGlmZmVyZW50IGNhcHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBjb2RlYyBpZCAxNCwgd2hpY2ggaXMgTVAzIHdpdGggOGtIeiBzYW1wbGluZwoJICByYXRlLgoJICBGaXggZW5kaWFubmVzcyBhbmQgc2lnbmVkbmVzcyBmb3IgcmF3IGF1ZGlvIGNvZGVjIGlkcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGFsYXcgYW5kIG11bGF3IGF1ZGlvLgoKMjAwOC0xMC0wOSAwOTo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZCBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pOgoJICBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZAoJICBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzIGVtcHR5LgoJICBBZGQgc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdGhlIGhlYWRlciBhbmQgdGFnIHNpemUuCgkgIERvbid0IHByaW50IHN5bmNocm9uaXppbmcgbWVzc2FnZSBpZiBldmVyeXRoaW5nIGlzIGZpbmUuCgoyMDA4LTEwLTA5IDA5OjI2OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nIG9mIHN0cmVhbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZmx2X211eF9jbGFzc19pbml0KSwgKGdzdF9mbHZfbXV4X2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfZmluYWxpemUpLCAoZ3N0X2Zsdl9tdXhfcmVzZXQpLAoJICAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZmx2X211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZmx2X211eF92aWRlb19wYWRfc2V0Y2FwcyksIChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfaGVhZGVyKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpLCAoZ3N0X2Zsdl9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcKCSAgb2Ygc3RyZWFtIG1ldGFkYXRhLgoKMjAwOC0xMC0wOSAwOToyMTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuKjogQWRkIGZsdXNoIHNlZWsgaGFuZGxlci4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEFkZCBmbHVzaCBzZWVrIGhhbmRsZXIuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCSAgU3luYyB0aGUgY29kZSBtb3JlIGFuZCB1c2UgI2RlZmluZXMgZm9yIEhFQURFUi4KCjIwMDgtMTAtMDkgMDg6NDM6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLio6IEZpeCB0aGUgZHVyYXRpb24gcXVlcnkuIEFsc28gc2V0IGNhcHMgb24gdGhlIHBhZHMgYW5kIGJ1ZmZlcnMgbW9yZSBjb3JyZWN0bHkuIFRha2VuIGZyb20gci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEZpeCB0aGUgZHVyYXRpb24gcXVlcnkuIEFsc28gc2V0IGNhcHMgb24gdGhlIHBhZHMgYW5kIGJ1ZmZlcnMgbW9yZQoJICBjb3JyZWN0bHkuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCjIwMDgtMTAtMDggMTY6MjA6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4LzogQWRkIEZsdWVuZG8gdG8gdGhlIExvbmcgTmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEFkZCBGbHVlbmRvIHRvIHRoZSBMb25nIE5hbWUuCgoyMDA4LTEwLTA4IDE1OjI1OjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eC4KCSAgRml4ZXMgIzU1NTE5My4KCjIwMDgtMTAtMDggMTU6MjI6MTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4CgoyMDA4LTEwLTA4IDEwOjIxOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBQcmV2ZW50IGEgZGl2aXNpb24gYnkgemVybyBpZiBsYXN0IG11eCByYXRlIHdhcyB6ZXJvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSksCgkgIChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgIFByZXZlbnQgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIGxhc3QgbXV4IHJhdGUgd2FzIHplcm8uCgkgIElmIHdlJ3JlIGdvaW5nIHRvIHNlbmQgYSBORVdTRUdNRU5UIGV2ZW50IGJ1dCB0aGUgc2VnbWVudCBzdGFydAoJICBhbmQgdGhlIGN1cnJlbnQgYnVmZmVyIHRpbWVzdGFtcCBkaWZmZXIgYnkgbW9yZSB0aGFuIGEgc2Vjb25kIHdlCgkgIHdpbGwgc3RhcnQgdGhlIE5FV1NFR01FTlQgYXQgdGhlIGJ1ZmZlciB0aW1lc3RhbXAuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgdGhlIHR2Mi0xXzI1Lm1wZyBmaWxlLCB3aGljaCBoYXMgMCBhcyBmaXJzdCBTQ1IKCSAgYnV0IHRoZSBmaXJzdCBQVFMgYXJlIGFyb3VuZCAxIGhvdXIgYW5kIDQwIG1pbnV0ZXMuCgkgIEZpeGVzIGJ1ZyAjNTUzNzU1LgoKMjAwOC0xMC0wNyAyMToyOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogRml4IG5leHQvcHJldiBjaGFwdGVyIHNlZWtpbmcgYXQgdGhlIGJlZ2lubmluZyBvciBlbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBGaXggbmV4dC9wcmV2IGNoYXB0ZXIgc2Vla2luZyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZC4KCSAgVXNlIDY0LWJpdCBzY2FsaW5nIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBjb252ZXJ0aW5nIE1QRUcKCSAgdGltZXN0YW1wcy4KCjIwMDgtMTAtMDcgMTg6NTQ6NDEgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBBZGQgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNoZWNrX2NvbGxpc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSBhbiBSVFBTb3VyY2Ugb2JqZWN0IGJ5IFNTUkMuCgkgIFNlZSAjNTU1Mzk2LgoKMjAwOC0xMC0wNyAxMzoxNDo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6IENob29zZSByaWdodCBwYWQgZm9yIHNlbmRpbmcgZXZlbnRzLiBGaXhlcyAjNTU1MjQ0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBDaG9vc2UgcmlnaHQgcGFkIGZvciBzZW5kaW5nIGV2ZW50cy4gRml4ZXMgIzU1NTI0NAoKMjAwOC0xMC0wNyAxMTozMzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfcGFkKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwgKHJlbW92ZV9yZWN2X3J0cCksCgkgIChyZW1vdmVfcmVjdl9ydGNwKSwgKHJlbW92ZV9zZW5kX3J0cCksIChyZW1vdmVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBTdGFydCBpbXBsZW1lbnRpbmcgcmVsZWFzaW5nIHBhZHMgb2YgZ3N0cnRwYmluLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJlbW92ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3Bfc2luayksIChyZW1vdmVfc2VuZF9ydHBfc2luayksCgkgIChyZW1vdmVfc2VuZF9ydGNwX3NyYyksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgaW4gZ3N0cnRwc2Vzc2lvbi4KCjIwMDgtMTAtMDcgMTA6MDI6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2Fwcyk6CgkgIE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUKCSAgc3RyZWFtcy4KCjIwMDgtMTAtMDYgMTY6MDE6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWMKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBTdGFydCB1c2luZyBjb3JlIGdlbyB0YWdzIChidW1wIHJlcSkuIEZpeCBoYW5kbGluZyBvZiBsb2NhdGlvbgoJICByZWZlcmVuY2VzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBTb3J0IGJsYWNrbGlzdGVkIGVsZW1lbnRzIGFuZCByZW1vdmUgbW92ZWQgb25lcy4gQWRkIG5ldyB0ZXN0LgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBBZGQgZmlyc3QgdGVzdHMgZm9yIG1ldGFkYXRhIGVsZW1lbnQuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1vdmUgZnJlZSB0byBjb3JyZWN0IHBsYWNlLgoKMjAwOC0xMC0wNiAxNTo1MzowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogU3RvcCB0ZXN0IG9uIHN0YXRlLWNoYW5nZSBlcnJvci4gU2hvdWxkIGJlIGFwcGxpZWQgb24gb3RoZXIgbW9kdWxlcyBpZiB3ZSBhZ3JlZSB0aGF0IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIFN0b3AgdGVzdCBvbiBzdGF0ZS1jaGFuZ2UgZXJyb3IuIFNob3VsZCBiZSBhcHBsaWVkIG9uIG90aGVyIG1vZHVsZXMgaWYKCSAgd2UgYWdyZWUgdGhhdCBpdCBtYWtlcyBzZW5zZS4KCjIwMDgtMTAtMDYgMTI6MDE6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogQWN0dWFsbHkgY29weSB0aGUgc3RydWN0dXJlIHBhc3NlZCBpbiB3aGVuIGFzc2lnbmluZyBpdCBiZWNhdXNlIGl0IGdldHMgZnJlZWQgc3RyYWlnaHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFjdHVhbGx5IGNvcHkgdGhlIHN0cnVjdHVyZSBwYXNzZWQgaW4gd2hlbiBhc3NpZ25pbmcgaXQgYmVjYXVzZQoJICBpdCBnZXRzIGZyZWVkIHN0cmFpZ2h0IGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLgoJICBSZTogcGF0X2luZm8gYW5kIHBtdF9pbmZvIEdzdFN0cnVjdHVyZXMuCgoyMDA4LTEwLTA2IDA4OjMyOjQxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBGaXggd3JvbmcgZmlyaW5nIG9mIGNyaXRpY2FsIGludHJvZHVjZWQgYnkgcHJldmlvdXMgb3B0aW1pc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBGaXggd3JvbmcgZmlyaW5nIG9mIGNyaXRpY2FsIGludHJvZHVjZWQgYnkgcHJldmlvdXMgb3B0aW1pc2F0aW9uLgoKMjAwOC0xMC0wMyAxNzoxMToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogV2FybiBhbmQgY2xhbXAgdG8gbWF4IGJpdHJhdGUgZm9yIHNhbXBsZXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKToKCSAgV2FybiBhbmQgY2xhbXAgdG8gbWF4IGJpdHJhdGUgZm9yIHNhbXBsZXJhdGUuCgkgIEZpeGVzICM1NTA0ODYuCgoyMDA4LTEwLTAzIDA5OjExOjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVyZSBwYXQgaXMgcG9pbnRpbmcgdG8gYSBmcmVlZCBzdHJ1Y3R1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggcG9zc2libGUgY3Jhc2ggd2hlcmUgcGF0IGlzIHBvaW50aW5nIHRvIGEgZnJlZWQgc3RydWN0dXJlLgoKMjAwOC0xMC0wMyAwNTo1Nzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogQWRkIG1hcHBpbmcgb2YgZm9ybWF0IGFuZCBtaW1lIHR5cGUgdG8geG1wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBBZGQgbWFwcGluZyBvZiBmb3JtYXQgYW5kIG1pbWUgdHlwZSB0byB4bXAuCgoyMDA4LTEwLTAyIDE0OjQyOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBSZXZlcnRpbmcuIFdpbGwgbmVlZCB0byB3YWl0IGZvciBjb3JlIDAuMTAuMjEgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgUmV2ZXJ0aW5nLiBXaWxsIG5lZWQgdG8gd2FpdCBmb3IgY29yZSAwLjEwLjIxIHJlbGVhc2UuCgoyMDA4LTEwLTAyIDEzOjUyOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBVc2UgY29yZSBnc3AgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgVXNlIGNvcmUgZ3NwIHRhZ3MuCgoyMDA4LTA5LTMwIDE3OjAzOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3IgR3N0SW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9maW5hbGl6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfYmFzZV9wYXJzZV9zZXRfaW5kZXgpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X2luZGV4KToKCSAgQWRkIHN1cHBvcnQgZm9yIEdzdEluZGV4LgoKMjAwOC0wOS0zMCAxNjo0MToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuKjogUHJvdmlkZSBhIHZmdW5jIGZvciB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoZXRoZXIgYSBmcmFtZSBpcyBpbnNpZGUgdGhlIHNlZ21lbnQgb3Igbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY29udmVydCksIChnc3RfYmFzZV9wYXJzZV9mcmFtZV9pbl9zZWdtZW50KToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBQcm92aWRlIGEgdmZ1bmMgZm9yIHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hldGhlciBhIGZyYW1lIGlzIGluc2lkZQoJICB0aGUgc2VnbWVudCBvciBub3QgYW5kIGFkZCBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkgIEZpeCBhcHByb3hpbWF0ZSBiaXRyYXRlIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDktMzAgMTY6MjI6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IEFwcHJveGltYXRlIHRoZSBhdmVyYWdlIGJpdHJhdGUsIGR1cmF0aW9uIGFuZCBzaXplIGlmIHBvc3NpYmxlIGFuZCBhZGQgYSBkZWZhdWx0IGNvbnZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpLCAoZ3N0X2Jhc2VfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2Jhc2VfcGFyc2VfbG9vcCksIChnc3RfYmFzZV9wYXJzZV9hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9jb252ZXJ0KSwgKGdzdF9iYXNlX3BhcnNlX3F1ZXJ5KToKCSAgQXBwcm94aW1hdGUgdGhlIGF2ZXJhZ2UgYml0cmF0ZSwgZHVyYXRpb24gYW5kIHNpemUgaWYgcG9zc2libGUKCSAgYW5kIGFkZCBhIGRlZmF1bHQgY29udmVyc2lvbiBmdW5jdGlvbiB3aGljaCB1c2VzIHRoaXMgZm9yCgkgIHRpbWU8LT5ieXRlIGNvbnZlcnNpb25zLgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6IChnc3RfZmxhY19wYXJzZV9nZXRfZnJhbWVfc2l6ZSk6CgkgIEZpeCBwYXJzaW5nIGlmIHVwc3RyZWFtIGdpdmVzIC0xIGFzIGR1cmF0aW9uLgoKMjAwOC0wOS0zMCAxNTowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0IHRoZSBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9zc3JjX2FjdGl2ZSksIChvbl9zc3JjX3NkZXMpLAoJICAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChvbl9zZW5kZXJfdGltZW91dCk6CgkgIFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdAoJICB0aGUgc2lnbmFscy4KCjIwMDgtMDktMzAgMTE6MTk6MTAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvOiBOZXcgcGx1Z2luIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBwbGF5YmFjayB1c2luZyBXaW5kb3dzIEF1ZGlvIFNlc3Npb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIE5ldyBwbHVnaW4gZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIHBsYXliYWNrIHVzaW5nIFdpbmRvd3MgQXVkaW8gU2Vzc2lvbgoJICBBUEkgKFdBU0FQSSkgYXZhaWxhYmxlIHdpdGggVmlzdGEgYW5kIG5ld2VyICgjNTIwOTAxKS4KCSAgQ29tZXMgd2l0aCBoYXJkY29kZWQgY2FwcyBhbmQgb2J2aW91c2x5IG5lZWRzIGxvdHMgb2YgbG92ZS4gSGF2ZW4ndAoJICBoYWQgdGltZSB0byB3b3JrIG9uIHRoaXMgY29kZSBzaW5jZSBpdCB3YXMgd3JpdHRlbiwgd2FzIGluaXRpYWxseSBqdXN0CgkgIGEgcXVpY2sgZXhwZXJpbWVudCB0byBwbGF5IGFyb3VuZCB3aXRoIHRoaXMgbmV3IEFQSS4KCjIwMDgtMDktMzAgMTA6NDM6NTQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcAoJICAoQXVkaW9GYWtlU2luay5Eb1JlbmRlclNhbXBsZSk6CgkgIEZpeCBhIGNvdXBsZSBvZiBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiB3YXJuaW5ncy4KCjIwMDgtMDktMzAgMTA6MjI6MTAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogVXNlIHRoZSBfVCgpIG1hY3JvIHRvIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaCAoQXVkaW9GYWtlU2luay5BdWRpb0Zha2VTaW5rKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaCAoVmlkZW9GYWtlU2luay5WaWRlb0Zha2VTaW5rKToKCSAgVXNlIHRoZSBfVCgpIG1hY3JvIHRvIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTLgoKMjAwOC0wOS0zMCAxMDoxNzo0MSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmMgKHBsdWdpbl9pbml0KTogRml4IHJldHVybiB0eXBlIG9mIHRoZSBHc3RVUklIYW5kbGVyOjpnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jIChwbHVnaW5faW5pdCk6CgkgIEZpeCByZXR1cm4gdHlwZSBvZiB0aGUgR3N0VVJJSGFuZGxlcjo6Z2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDktMjkgMDg6MjY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBGTEFDIHBhcnNlciwgYmFzZWQgb24gR3N0QmFzZVBhcnNlLiBBbHNvIGFkZCB0aGUgYml0IGFuZCBieXRlIHJlYWRlciB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gbGliZ3N0YmFzZSBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2Jhc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9iYXNlX2ZpbmFsaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9jaGVja19mcmFtZSksCgkgIChnc3RfYmFzZV9wYXJzZV9wYXJzZV9mcmFtZSksIChnc3RfYmFzZV9wYXJzZV9ieXRlcG9zX3RvX3RpbWUpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19ldmVudCksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2V2ZW50ZnVuYyksCgkgIChnc3RfYmFzZV9wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X2Jhc2VfcGFyc2Vfc3JjX2V2ZW50ZnVuYyksCgkgIChnc3RfYmFzZV9wYXJzZV9pc19zZWVrYWJsZSksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV9oYW5kbGVfYW5kX3B1c2hfYnVmZmVyKSwgKGdzdF9iYXNlX3BhcnNlX2RyYWluKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NoYWluKSwgKGdzdF9iYXNlX3BhcnNlX3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfbG9vcCksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2FjdGl2YXRlKSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NldF9taW5fZnJhbWVfc2l6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9nZXRfcXVlcnl0eXBlcyksIChnc3RfYmFzZV9wYXJzZV9xdWVyeSksCgkgIChnc3RfYmFzZV9wYXJzZV9oYW5kbGVfc2VlayksIChnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuYzogKGdzdF9iaXRfcmVhZGVyX25ldyksCgkgIChnc3RfYml0X3JlYWRlcl9uZXdfZnJvbV9idWZmZXIpLCAoZ3N0X2JpdF9yZWFkZXJfZnJlZSksCgkgIChnc3RfYml0X3JlYWRlcl9pbml0KSwgKGdzdF9iaXRfcmVhZGVyX2luaXRfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2JpdF9yZWFkZXJfc2V0X3BvcyksIChnc3RfYml0X3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF9iaXRfcmVhZGVyX2dldF9yZW1haW5pbmcpLCAoZ3N0X2JpdF9yZWFkZXJfc2tpcCksCgkgIChnc3RfYml0X3JlYWRlcl9za2lwX3RvX2J5dGUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmM6IChHRE9VQkxFX1NXQVBfTEVfQkUpLAoJICAoR0ZMT0FUX1NXQVBfTEVfQkUpLCAoZ3N0X2J5dGVfcmVhZGVyX25ldyksCgkgIChnc3RfYnl0ZV9yZWFkZXJfbmV3X2Zyb21fYnVmZmVyKSwgKGdzdF9ieXRlX3JlYWRlcl9mcmVlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9pbml0KSwgKGdzdF9ieXRlX3JlYWRlcl9pbml0X2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9zZXRfcG9zKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfcmVtYWluaW5nKSwgKGdzdF9ieXRlX3JlYWRlcl9za2lwKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDgpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQ4KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQ4KSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDgpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50MjRfYmUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6IChnc3RfZmxhY19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfZmxhY19wYXJzZV9pbml0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9mbGFjX3BhcnNlX3N0YXJ0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX3N0b3ApLCAoZ3N0X2ZsYWNfcGFyc2VfZ2V0X2ZyYW1lX3NpemUpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfY2hlY2tfdmFsaWRfZnJhbWUpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3N0cmVhbWluZm8pLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3ZvcmJpc2NvbW1lbnQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3BpY3R1cmUpLCAoX3ZhbHVlX2FycmF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX2hlYWRlcnMpLCAoZ3N0X2ZsYWNfcGFyc2VfZ2VuZXJhdGVfaGVhZGVycyksCgkgIChnc3RfZmxhY19wYXJzZV9wYXJzZV9mcmFtZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuaDoKCSAgQWRkIEZMQUMgcGFyc2VyLCBiYXNlZCBvbiBHc3RCYXNlUGFyc2UuIEFsc28gYWRkIHRoZSBiaXQgYW5kIGJ5dGUgcmVhZGVyCgkgIHRoYXQgd2lsbCBiZSBhZGRlZCB0byBsaWJnc3RiYXNlIGxhdGVyLgoJICBUaGUgRkxBQyBwYXJzZXIgaXMgY3VycmVudGx5IG5vdCAxMDAlIGJ1ZyBmcmVlIGFuZCBmYWlscyB0byBnZXQgdGhlCgkgIGNvcnJlY3QgZnJhbWUgc2l6ZSBmb3Igc29tZSBmcmFtZXMgaW4gc29tZSBzdHJlYW1zLgoKMjAwOC0wOS0yNyAwMToxMjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvOiBBZGQgaW4gVGl0bGUvQ2hhcHRlciBzZWVraW5nLCBhbmQgc2ltcGxlIGJ1dCBidWdneSBhdWRpbyBhbmQgc3VidGl0bGUgc3RyZWFtIHNlbGVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgQWRkIGluIFRpdGxlL0NoYXB0ZXIgc2Vla2luZywgYW5kIHNpbXBsZSBidXQgYnVnZ3kgYXVkaW8KCSAgYW5kIHN1YnRpdGxlIHN0cmVhbSBzZWxlY3Rpb24uCgoyMDA4LTA5LTI0IDE3OjIxOjQxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogUHJlZmVyIGtub3duLWdvb2QgZmlsdGVycywgY3JlYXRlIGRpcmVjdGx5IGJ5IEdVSUQgaWYgcG9zc2libGUsIGZhbGwgYmFjayB0byBjcmVhdGluZyBoaWdoZXN0LW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgUHJlZmVyIGtub3duLWdvb2QgZmlsdGVycywgY3JlYXRlIGRpcmVjdGx5IGJ5IEdVSUQgaWYgcG9zc2libGUsCgkgIGZhbGwgYmFjayB0byBjcmVhdGluZyBoaWdoZXN0LW1lcml0IGZpbHRlciBvdGhlcndpc2UuCgkgIEZpeGVzIHBsYXliYWNrIHdpdGggcmFuZG9tIGRzaG93IGZpbHRlcnMgaW5zdGFsbGVkIGluIHNvbWUKCSAgY2FzZXMuCgoyMDA4LTA5LTIzIDE4OjEzOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgRml4IHNvbWUgZG9jcy4KCjIwMDgtMDktMjMgMTc6MzQ6NDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBQYXRjaCBmcm9tOiBKb3NlcCBUb3JyYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggZnJvbTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBVc2UgYSBwcmVhbGxvY2F0ZWQgYnVmZmVyIHBlciBzdHJlYW0gZm9yIFBFUyBwYWNrZXRzIHNlbnQgb24gc3JjIHBhZHMuCgkgIEFkYXB0aXZlbHkgYWRqdXN0IGJ1ZmZlciBzaXplIGFwcHJvcHJpYXRlbHkuCgoyMDA4LTA5LTE3IDE0OjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQ2xlYW4gdXAgdGhlIGRlYnVnIGxvZ2dpbmcgY29kZSBhbmQgI2lmZGVmIG1lc3MgYSBiaXQ6IHdoZXRoZXIgb3Igbm90IGdzdHJlYW1lciBkZWJ1ZyBtZXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIENsZWFuIHVwIHRoZSBkZWJ1ZyBsb2dnaW5nIGNvZGUgYW5kICNpZmRlZiBtZXNzIGEgYml0OiB3aGV0aGVyIG9yIG5vdAoJICBnc3RyZWFtZXIgZGVidWcgbWVzc2FnZXMgc2hvdWxkIGJlIG91dHB1dCBzaG91bGQgbm90IGRlcGVuZCBvbiBhbgoJICBlbGVtZW50IHByb3BlcnR5OyBhbHNvLCBHU1RfRUxFTUVOVF9FUlJPUiB3aWxsIGxlYXZlIGEgbGluZSBpbiB0aGUgbG9nCgkgIGFscmVhZHksIHNvIG1lcmdlIHRoZSBtb3JlIHVzZWZ1bCBkZWJ1ZyBsb2cgbWVzc2FnZXMgd2l0aCB0aGUgbGVzcyB1c2VmdWwKCSAgZXJyb3IgZGVidWcgc3RyaW5ncy4KCjIwMDgtMDktMTcgMTQ6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBEb24ndCBwb3N0IExJQlJBUllfSU5JVCBlcnJvcnMgd2hlcmUgd2Ugc2hvdWxkIGJlIHBvc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICBEb24ndCBwb3N0IExJQlJBUllfSU5JVCBlcnJvcnMgd2hlcmUgd2Ugc2hvdWxkIGJlIHBvc3RpbmcKCSAgUkVTT1VSQ0UgT1BFTl9SRUFEIGVycm9ycy4gRml4ZXMgIzU1MjUwNi4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDktMTcgMDk6MDY6NTcgKzAwMDAgIE1pY2hhZWwgS3J1Zmt5IDxta3J1Zmt5QGxpbnV4dHYub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIGFkYXB0ZXJfbmFtZSBmb3IgYnVzIG1lc3NhZ2UgaW4gQVRTQyBjYXNlLiBGaXhlcyAjNTUyNTM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1pY2hhZWwgS3J1Zmt5CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIGFkYXB0ZXJfbmFtZSBmb3IgYnVzIG1lc3NhZ2UgaW4gQVRTQyBjYXNlLiBGaXhlcyAjNTUyNTM2LgoKMjAwOC0wOS0xNSAwOTozOTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOiBIZWxwIGd0ay1kb2MgdG8gcGFyc2UgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgSGVscCBndGstZG9jIHRvIHBhcnNlIHRoaXMgY29ycmVjdGx5LgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIEFkZCBtaXNzaW5nIGluY2x1ZGUuCgoyMDA4LTA5LTE1IDA5OjM0OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogT25seSBidWlsdCBzY2FsZXRlbXBvIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBPbmx5IGJ1aWx0IHNjYWxldGVtcG8gZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ay4KCjIwMDgtMDktMTMgMDE6Mzc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiBhbiBTUiBwYWNrZXQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgIERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0CgkgIHNlZW4gYW4gU1IgcGFja2V0LiBBdm9pZHMgbGFyZ2UgdHMtb2Zmc2V0cyBpbiBzb21lIGNhc2VzLgoKMjAwOC0wOS0xMCAyMzoxNToxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IE1ham9yIHJld3JpdGUgb2YgZHNob3dkZWN3cmFwcGVyLiBDb252ZXJ0cyBjb2RlIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgZHNob3dkZWN3cmFwcGVyLiBDb252ZXJ0cyBjb2RlIHRvCgkgIEMrKywgbW92ZXMgdG8gZGlyZWN0IHVzZSBvZiBEaXJlY3RTaG93IGJhc2UgY2xhc3NlcywKCSAgbWFrZSBhIGxvdCBvZiBjb2RlIGNsZWFyZXIsIHNpbXBsaWZ5LCBldGMuCgkgIEZpeCBkZWNvZGUgb2YgTVAzIG9uIFZpc3RhIGJ5IHdvcmtpbmcgYXJvdW5kIGFuIGFwcGFyZW50CgkgIGJ1ZyBpbiB0aGUgZGVjb2Rlci4KCjIwMDgtMDktMTAgMTI6MDU6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3MvZ3N0a3NjbG9jay5jIChnc3Rfa3NfY2xvY2tfd29ya2VyX3RocmVhZF9mdW5jLCBnc3Rfa3NfY2xvY2tfc3RhcnQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jIChnc3Rfa3NfY2xvY2tfd29ya2VyX3RocmVhZF9mdW5jLAoJICBnc3Rfa3NfY2xvY2tfc3RhcnQpOgoJICBTeW5jaHJvbml6ZSBLUyBjbG9jayBhcyBhIHNpbmdsZS1zaG90IG9wZXJhdGlvbiBmb3Igbm93LCB0aGVyZSdzIG5vdAoJICBtdWNoIHBvaW50IGluIGRvaW5nIGl0IHBlcmlvZGljYWxseSB1bnRpbCB3ZSdyZSBhY3R1YWxseSB1c2luZyB0aGUKCSAgS1MgdGltZXN0YW1wcyBmb3IgYW55dGhpbmcgZWxzZSB0aGFuIGp1c3QgZGlzY2FyZGluZyBvbGQgZnJhbWVzLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKGdzdF9rc192aWRlb19zcmNfb3Blbl9kZXZpY2UpOgoJICBQcm92aWRlIHRoZSBHc3RDbG9jayB3aGVuIG9wZW5pbmcgdGhlIGRldmljZSBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lLgoKMjAwOC0wOS0wOSAyMzo1ODowMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKEdTVF9ERUJVR19JU19FTkFCTEVELCBsYXN0X3RpbWVzdGFtcCwgZ3N0X2tzX3ZpZGVvX2RldmljZV9wcmVwYXJlX2J1ZmZlcnMsIGdzdF9rc192aWRlby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChHU1RfREVCVUdfSVNfRU5BQkxFRCwgbGFzdF90aW1lc3RhbXAsCgkgIGdzdF9rc192aWRlb19kZXZpY2VfcHJlcGFyZV9idWZmZXJzLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX2NyZWF0ZV9waW4sCgkgIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3JlcXVlc3RfZnJhbWUsCgkgIGdzdF9rc192aWRlb19kZXZpY2VfcmVhZF9mcmFtZSk6CgkgIEd1YXJkIGFnYWluc3QgY2FwdHVyaW5nIG9sZCBmcmFtZXMgYnkga2VlcGluZyB0cmFjayBvZiB0aGUgbGFzdAoJICB0aW1lc3RhbXAgYW5kIGFsc28gemVyby1maWxsIHRoZSBidWZmZXJzIGJlZm9yZSBlYWNoIGNhcHR1cmUuCgkgIE9ubHkgYXNzaWduIGEgbWFzdGVyIGNsb2NrIGlmIHRoZSBwaW4gaGFzbid0IGFscmVhZHkgZ290IG9uZS4KCSAgQWN0dWFsbHkgZnJlZSBidWZmZXJzIG9uIHRoZSB3YXkgZG93biB0byBhdm9pZCBhIGh1Z2UgbWVtb3J5IGxlYWssCgkgIGFzIHRoaXMgd2FzIHByZXZpb3VzbHkgZG9uZSB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIEFDUVVJUkUgZG93bndhcmRzCgkgIGFuZCB3ZSBub3cgc2tpcCB0aGF0IHN0YXRlIG9uIHRoZSB3YXkgZG93bi4KCSAgQWRkIHNvbWUgZGVidWcuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoREVGQVVMVF9ERVZJQ0VfUEFUSCwgREVGQVVMVF9ERVZJQ0VfTkFNRSwKCSAgREVGQVVMVF9ERVZJQ0VfSU5ERVgsIEtTX1dPUktFUl9MT0NLLCBLU19XT1JLRVJfVU5MT0NLLAoJICBLU19XT1JLRVJfV0FJVCwgS1NfV09SS0VSX05PVElGWSwgS1NfV09SS0VSX1dBSVRfRk9SX1JFU1VMVCwKCSAgS1NfV09SS0VSX05PVElGWV9SRVNVTFQsIEtTX1dPUktFUl9TVEFURV9TVEFSVElORywKCSAgS1NfV09SS0VSX1NUQVRFX1JFQURZLCBLU19XT1JLRVJfU1RBVEVfU1RPUFBJTkcsCgkgIEtTX1dPUktFUl9TVEFURV9FUlJPUiwgS3NXb3JrZXJTdGF0ZSwgZGV2aWNlX3BhdGgsIGRldmljZV9uYW1lLAoJICBkZXZpY2VfaW5kZXgsIHJ1bm5pbmcsIHdvcmtlcl90aHJlYWQsIHdvcmtlcl9sb2NrLAoJICB3b3JrZXJfbm90aWZ5X2NvbmQsIHdvcmtlcl9yZXN1bHRfY29uZCwgd29ya2VyX3N0YXRlLAoJICB3b3JrZXJfcGVuZGluZ19jYXBzLCB3b3JrZXJfc2V0Y2Fwc19yZXN1bHQsIHdvcmtlcl9wZW5kaW5nX3J1biwKCSAgd29ya2VyX3J1bl9yZXN1bHQsIGdzdF9rc192aWRlb19zcmNfcmVzZXQsCgkgIGdzdF9rc192aWRlb19zcmNfYXBwbHlfZHJpdmVyX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19vcGVuX2RldmljZSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jbG9zZV9kZXZpY2UsIGdzdF9rc192aWRlb19zcmNfd29ya2VyX2Z1bmMsCgkgIGdzdF9rc192aWRlb19zcmNfc3RhcnRfd29ya2VyLCBnc3Rfa3NfdmlkZW9fc3JjX3N0b3Bfd29ya2VyLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSwgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2xvY2ssCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X2NhcHMsIGdzdF9rc192aWRlb19zcmNfdGltZXN0YW1wX2J1ZmZlciwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jcmVhdGUpOgoJICBSZW1vdmUgRU5BQkxFX0NMT0NLX0RFQlVHIGRlZmluZSwgaXQncyBHU1RfTEVWRUxfREVCVUcgYWZ0ZXIgYWxsLgoJICBHZXQgcmlkIG9mIFBST1BfRU5TTEFWRV9LU0NMT0NLIGFuZCBhbHdheXMgc2xhdmUgdGhlIGtzIGNsb2NrIHRvIHRoZQoJICBHU3RyZWFtZXIgY2xvY2ssIGl0IGRvZXNuJ3Qgc2VlbSB0byBodXJ0IGFuZCBtYXRjaGVzIERpcmVjdFNob3cncwoJICBiZWhhdmlvci4gQXMgYW4gYWRkZWQgYm9udXMgd2UgdXN1YWxseSBnZXQgUHJlc2VudGF0aW9uVGltZSBzZXQgZm9yCgkgIGVhY2ggZnJhbWUsIHNvIHdlIGNhbiBleHBhbmQgb24gdGhpcyBsYXRlciBmb3Igc21hcnRlciBsYXRlbmN5CgkgIHJlcG9ydGluZyAoYnkgbG9va2luZyBhdCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUKCSAgZHJpdmVyIGFuZCB0aGUgdGltZSBhY2NvcmRpbmcgdG8gdGhlIEdTdHJlYW1lciBjbG9jaykuCgkgIFVzZSBhbiBpbnRlcm5hbCB3b3JrZXIgdGhyZWFkIGZvciBvcGVuaW5nIHRoZSBkZXZpY2UsIHNldHRpbmcgY2FwcywKCSAgY2hhbmdpbmcgaXRzIHN0YXRlIGFuZCBjbG9zaW5nIGl0LiBUaGlzIHdheSB3ZSdyZSBhIGxvdCBtb3JlCgkgIGNvbXBhdGlibGUgd2l0aCBkcml2ZXJzIHRoYXQgcmVseSBvbiBoYWNrcyB0byBkbyB2aWRlby1lZmZlY3RzCgkgIGJldHdlZW4gdGhlIGxvdy1sZXZlbCBOVCBBUEkgYW5kIHRoZSBhcHBsaWNhdGlvbi4gSWNrLgoJICBTdGFydCB0aGUga3MgY2xvY2sgYW5kIHNldCB0aGUgcGluIHRvIEtTU1RBVEVfUlVOIG9uIHRoZSBmaXJzdAoJICBjcmVhdGUoKSBzbyB0aGF0IHdlJ2xsIGhvcGVmdWxseSBnZXQgaG9sZCBvZiB0aGUgR1N0cmVhbWVyIGNsb2NrCgkgIGZyb20gdGhlIHZlcnkgYmVnaW5uaW5nLiBUaGlzIHdheSB0aGVyZSdzIG5vIGNoYW5jZSB0aGF0IHRoZQoJICB0aW1lc3RhbXBzIHdpbGwgbWFrZSBhIHN1ZGRlbiBqdW1wIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbQoJICB3aGVuIHdlJ3JlIHJ1bm5pbmcgd2l0aCBhIGNsb2NrLgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuYyAoQ0hFQ0tfT1BUSU9OU19GTEFHLAoJICBrc19vcHRpb25zX2ZsYWdzX3RvX3N0cmluZyk6CgkgIFJlb3JkZXIgdGhlIGZsYWdzIHRvIG1hdGNoIHRoZSBoZWFkZXJmaWxlIG9yZGVyLCBhbmQgbWFrZSB0aGUgc3RyaW5nCgkgIGEgYml0IG1vcmUgY29tcGFjdC4KCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fcHJvYmVfZmlsdGVyX2Zvcl9jYXBzKToKCSAgQXZvaWQgbGVha2luZyBLU1BST1BFUlRZX1BJTl9EQVRBUkFOR0VTLgoKMjAwOC0wOS0wOSAxNzo1NjoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQganAyayBwbHVnaW4uICBGaXhlcyAjNTUwNjU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2phc3Blcl9kZWNfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19yZXNldCksIChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2phc3Blcl9kZWNfbmVnb3RpYXRlKSwgKGdzdF9qYXNwZXJfZGVjX2dldF9waWN0dXJlKSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NoYWluKSwgKGdzdF9qYXNwZXJfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFzcGVyX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X2phc3Blcl9kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAgQWRkIGpwMmsgcGx1Z2luLiAgRml4ZXMgIzU1MDY1Ny4KCjIwMDgtMDktMDkgMTE6NDc6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4LzogRml4IGNvbmZsaWN0aW5nIHB1YmxpYyBuYW1lcyBpbiBuZXcgbXBlZyBkZW11eGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3N5bmNfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X2dldF90eXBlKSwgKGdzdF9mbHVwc19kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiAoZ3N0X2ZsdXRzX2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9mbHV0c19kZW11eF9wbHVnaW5faW5pdCk6CgkgIEZpeCBjb25mbGljdGluZyBwdWJsaWMgbmFtZXMgaW4gbmV3IG1wZWcgZGVtdXhlcnMuCgkgIEZpeGVzICM1NTA0NjgKCjIwMDgtMDktMDkgMDE6MTQ6MTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IFN1cHBvcnQgY2h1bmtzIGluIEFJRkYgaW4gYW55IG9yZGVyIGluIHB1bGwgbW9kZSwgYW5kIGFueSBvcmRlciBzbyBsb25nIGFzIHdlIGdldCBDT01NIGJlZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBTdXBwb3J0IGNodW5rcyBpbiBBSUZGIGluIGFueSBvcmRlciBpbiBwdWxsIG1vZGUsIGFuZCBhbnkgb3JkZXIgc28KCSAgbG9uZyBhcyB3ZSBnZXQgQ09NTSBiZWZvcmUgdGhlIGFjdHVhbCBkYXRhIChTU05EKSBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIHBsYXliYWNrIG9mIEFJRkMgZmlsZXMuCgoyMDA4LTA5LTA4IDIwOjI3OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmVzZXQgdGhlIHNlbGVjdG9yIHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX3Jlc2V0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXNldCksIChnc3RfaW5wdXRfc2VsZWN0b3JfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgdGhlIHNlbGVjdG9yIHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA4LTA5LTA1IDEzOjUyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgVHdlYWsgbGlwLXN5bmMgY29kZSwgZG9uJ3Qgc3RvcmUgb3VyIG93biBjb3B5IG9mIHRoZSB0cy1vZmZzZXQgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgZG9uJ3QgYWRqdXN0IHN5bmMgaWYgdGhlIGNoYW5nZSBpcyBsZXNzIHRoYW4gNG1zZWMuCgkgIEdldCB0aGUgUlRQIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBkaXJlY3RseSBmcm9tCgkgIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBvdXIgaW5hY2N1cmF0ZSB2ZXJzaW9uIGZyb20gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgR19MSUtFTFkgbWFjcm9zLCB1c2UgZ2xvYmFsIGRlZmluZXMgZm9yIG1heCBwYWNrZXQgcmVvcmRlciBhbmQKCSAgZHJvcG91dHMuCgkgIFJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgY2xvY2sgc2tldyBkZXRlY3Rpb24gd2hlbiBwYWNrZXRzIHNlcW51bXMgYXJlCgkgIGNoYW5nZWQgdW5leHBlY3RlZGx5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIEdfTElLRUxZIG1hY3Jvcy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXh0ZW5kZWQgUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiByZXBvcnQgdGhlIFJUUAoJICB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZm9yIGxpcC1zeW5jLgoJICBSZW1vdmUgc2VydmVyIHRpbWVzdGFtcCBnYXAgZGV0ZWN0aW9uIGNvZGUsIHRoZSBzZXJ2ZXIgY2FuIHNvbWV0aW1lcwoJICBtYWtlIGEgaHVnZSBnYXAgaW4gdGltZXN0YW1wcyAodGFsayBzcHVydHMsLi4uKSBzZWUgIzU0OTc3NC4KCSAgRGV0ZWN0IHRpbWV0YW1wIHdlaXJkbmVzcyBpbnN0ZWFkIGJ5IG9ic2VydmluZyB0aGUgc2VuZGVyL3JlY2VpdmVyCgkgIHRpbWVzdGFtcCByZWxhdGlvbiBhbmQgcmVzeW5jIGlmIGl0IGNoYW5nZXMgbW9yZSB0aGFuIDEgc2Vjb25kLgoJICBBZGQgbWV0aG9kIHRvIHJlcG9ydCBhYm91dCB0aGUgY3VycmVudCBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24KCSAgd2hpY2ggaXMgbmVlZGVkIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NlbmRlcl90aW1lb3V0KSwgKGNoZWNrX2NvbGxpc2lvbiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZSwgdGhlCgkgIGppdHRlcmJ1ZmZlciBjYW4gbm93IGRvIGFuIGFjY3VyYXRlIHJlcG9ydGluZyBhYm91dCB0aGlzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgRGVmaW5lIGdsb2JhbCBtYXgtcmVvcmRlciBhbmQgbWF4LWRyb3BvdXQgY29uc3RhbnRzIGZvciB1c2UgaW4gdmFyaW91cwoJICBzdWJzeXN0ZW1zLgoKMjAwOC0wOS0wNSAxMTowNzozMiArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBEVkIgQWRhcHRlciBuYW1lIHRvIHN0cnVjdHVyZSBzZW50IG92ZXIgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgRFZCIEFkYXB0ZXIgbmFtZSB0byBzdHJ1Y3R1cmUgc2VudCBvdmVyIGJ1cy4KCjIwMDgtMDktMDMgMTQ6MDI6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbXBlZyBkZW11eGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbXBlZyBkZW11eGVyCgoyMDA4LTA5LTAyIDE3OjQzOjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC86IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiAoZ3N0X2ZsdXRzX2RlbXV4X2RhdGFfY2IpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOS0wMiAxMjowNDozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBGbHVlbmRvIE1QRUcgUFMgYW5kIFRTIGRlbXV4ZXJzIHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcyBpcyBub3cgZHVhbCBsaWNlbnNlZCBNUEwgYW5kIExHUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5oOgoJICBBZGQgRmx1ZW5kbyBNUEVHIFBTIGFuZCBUUyBkZW11eGVycyB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMKCSAgaXMgbm93IGR1YWwgbGljZW5zZWQgTVBMIGFuZCBMR1BMLgoKMjAwOC0wOS0wMiAxMToyMzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChuZXdfcGFja2V0X2NiKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDktMDIgMDk6NTY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgKiBwby9MSU5HVUFTOgoJICBBZGQgJ2NhJyB0byBMSU5HVUFTLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBtb3JlIGZpbGVzIGZvciB0cmFuc2xhdGlvbiBhbmQgbW9yZSBmaWxlcyB3aGljaCB0b29scwoJICBzaG91bGQgc2tpcC4KCjIwMDgtMDktMDIgMDk6NDY6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X3dyaXRlX3RzX2hlYWRlcik6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA5LTAxIDE3OjU0OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIHN1YmRpcnMgaW4gTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIHN1YmRpcnMgaW4gTWFrZWZpbGUuYW0KCjIwMDgtMDktMDEgMTc6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiBBbGxvY2F0ZSBhIGZpeGVkIHNpemUgYnVmZmVyIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHVzaW5nIG1hbGxvYygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogKG1wZWd0c211eF9wcmVwYXJlX2FhYyk6CgkgIEFsbG9jYXRlIGEgZml4ZWQgc2l6ZSBidWZmZXIgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgbWFsbG9jKCkuCgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfbmV3KSwgKHRzbXV4X2ZyZWUpLAoJICAodHNtdXhfcHJvZ3JhbV9uZXcpLCAodHNtdXhfcHJvZ3JhbV9mcmVlKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV9mcmVlKSwgKHRzbXV4X3N0cmVhbV9jb25zdW1lKSwKCSAgKHRzbXV4X3N0cmVhbV9hZGRfZGF0YSk6CgkgIFVzZSBHU2xpY2UuCgoyMDA4LTA5LTAxIDE3OjQ3OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUc0IHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUc0IHZpZGVvLgoKMjAwOC0wOS0wMSAxNzo0MTozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvOiBGaXggYnVpbGQgb2YgbXBlZ3RzbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBGaXggYnVpbGQgb2YgbXBlZ3RzbXV4LgoKMjAwOC0wOS0wMSAxNjozODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIEZsdWVuZG8gTVBFRy1UUyBtdXhlciBhbmQgbGlidHNtdXggdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzIGlzIHJlbmFtZWQgdG8gbXBlZ3RzbXV4IHRvIHByZXZlbnQgY29uZmxpY3RzLiBBbHNvIGFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfYmFzZV9pbml0KSwKCSAgKG1wZWd0c211eF9jbGFzc19pbml0KSwgKG1wZWd0c211eF9pbml0KSwgKG1wZWd0c211eF9kaXNwb3NlKSwKCSAgKGdzdF9tcGVndHNtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tcGVndHNtdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKHJlbGVhc2VfYnVmZmVyX2NiKSwgKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKSwKCSAgKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtcyksIChtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtKSwKCSAgKG1wZWd0c211eF9jb2xsZWN0ZWQpLCAobXBlZ3RzbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChtcGVndHNtdXhfcmVsZWFzZV9wYWQpLCAobmV3X3BhY2tldF9jYiksCgkgIChtcGVndHNkZW11eF9wcmVwYXJlX3NyY3BhZCksIChtcGVndHNtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfYWFjKToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6IChtcGVndHNtdXhfcHJlcGFyZV9oMjY0KToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X25ldyksICh0c211eF9zZXRfd3JpdGVfZnVuYyksCgkgICh0c211eF9zZXRfcGF0X2ZyZXF1ZW5jeSksICh0c211eF9nZXRfcGF0X2ZyZXF1ZW5jeSksICh0c211eF9mcmVlKSwKCSAgKHRzbXV4X3Byb2dyYW1fbmV3KSwgKHRzbXV4X3NldF9wbXRfZnJlcXVlbmN5KSwKCSAgKHRzbXV4X2dldF9wbXRfZnJlcXVlbmN5KSwgKHRzbXV4X3Byb2dyYW1fYWRkX3N0cmVhbSksCgkgICh0c211eF9wcm9ncmFtX3NldF9wY3Jfc3RyZWFtKSwgKHRzbXV4X2dldF9uZXdfcGlkKSwKCSAgKHRzbXV4X2NyZWF0ZV9zdHJlYW0pLCAodHNtdXhfZmluZF9zdHJlYW0pLCAodHNtdXhfcGFja2V0X291dCksCgkgICh0c211eF93cml0ZV9hZGFwdGF0aW9uX2ZpZWxkKSwgKHRzbXV4X3dyaXRlX3RzX2hlYWRlciksCgkgICh0c211eF93cml0ZV9zdHJlYW1fcGFja2V0KSwgKHRzbXV4X3Byb2dyYW1fZnJlZSksCgkgICh0c211eF93cml0ZV9zZWN0aW9uKSwgKHRzbXV4X3dyaXRlX3NlY3Rpb25faGRyKSwKCSAgKHRzbXV4X3dyaXRlX3BhdCksICh0c211eF93cml0ZV9wbXQpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fZ2V0X3BpZCksICh0c211eF9zdHJlYW1fZnJlZSksCgkgICh0c211eF9zdHJlYW1fc2V0X2J1ZmZlcl9yZWxlYXNlX2Z1bmMpLCAodHNtdXhfc3RyZWFtX2NvbnN1bWUpLAoJICAodHNtdXhfc3RyZWFtX2F0X3Blc19zdGFydCksICh0c211eF9zdHJlYW1fYnl0ZXNfYXZhaWwpLAoJICAodHNtdXhfc3RyZWFtX2J5dGVzX2luX2J1ZmZlciksICh0c211eF9zdHJlYW1fZ2V0X2RhdGEpLAoJICAodHNtdXhfc3RyZWFtX3Blc19oZWFkZXJfbGVuZ3RoKSwKCSAgKHRzbXV4X3N0cmVhbV9maW5kX3B0c19kdHNfd2l0aGluKSwKCSAgKHRzbXV4X3N0cmVhbV93cml0ZV9wZXNfaGVhZGVyKSwgKHRzbXV4X3N0cmVhbV9hZGRfZGF0YSksCgkgICh0c211eF9zdHJlYW1fZ2V0X2VzX2Rlc2NycyksICh0c211eF9zdHJlYW1fcGNyX3JlZiksCgkgICh0c211eF9zdHJlYW1fcGNyX3VucmVmKSwgKHRzbXV4X3N0cmVhbV9pc19wY3IpLAoJICAodHNtdXhfc3RyZWFtX2dldF9wdHMpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgQWRkIEZsdWVuZG8gTVBFRy1UUyBtdXhlciBhbmQgbGlidHNtdXggdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzCgkgIGlzIHJlbmFtZWQgdG8gbXBlZ3RzbXV4IHRvIHByZXZlbnQgY29uZmxpY3RzLiBBbHNvIGFsbCByZWxldmFudAoJICBpbmZvcm1hdGlvbnMgYWJvdXQgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGFyZSBhZGRlZCB0byB0aGUgdG9wIG9mCgkgIGV2ZXJ5IGZpbGUgYnV0IGFwYXJ0IGZyb20gdGhhdCBubyBjaGFuZ2VzIGNvbXBhcmVkIHRvIHRoZSBsYXRlc3QKCSAgU1ZOIHZlcnNpb25zIGhhcHBlbmVkLgoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMDgtMDktMDEgMTY6MDU6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IE5vdyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0gaXMgJ2ZpeGVkJyAuLi4gcmVtb3ZlIGNydWZ0IGZyb20gdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pLCAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKToKCSAgTm93IHRoYXQgR3N0QmFzZVRyYW5zZm9ybSBpcyAnZml4ZWQnIC4uLiByZW1vdmUgY3J1ZnQgZnJvbSB0ZXN0cy4KCSAgQWRkIGRlYnVnZ2luZyBmb3IgY29oZXJlbmNlLgoKMjAwOC0wOS0wMSAxMzoyMzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IFJldXNlIHRoZSBnZXRfbGlua2VkX3BhZHMgZm9yIGJvdGggc291cmNlIGFuZCBzaW5rcGFkcyBiZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2V2ZW50KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIFJldXNlIHRoZSBnZXRfbGlua2VkX3BhZHMgZm9yIGJvdGggc291cmNlIGFuZCBzaW5rcGFkcyBiZWNhdXNlIHRoZXkgYXJlCgkgIHRoZSBzYW1lLgoJICBJbXBsZW1lbnQgYSBjdXN0dW0gZXZlbnQgaGFuZGxlciBhbmQgZ2V0IHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWQKCSAgZGlyZWN0bHkgaW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBkZWZhdWx0IChzbG93ZXIpIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wOC0zMSAxNTowMTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogKGNlbHRfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZAoJICBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIGluIHZhcmlvdXMgY2FsY3VsYXRpb25zOiB0aGUKCSAgZ3JhbnVsZXBvcyBpcyB0aGUgc2FtcGxlIG51bWJlciBvZiB0aGUgX2xhc3RfIHNhbXBsZSBpbiBhIGZyYW1lLCBub3QKCSAgdGhlIGZpcnN0LgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzogKGdzdF9jZWx0X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X2NlbHRfZW5jX2VuY29kZSksIChnc3RfY2VsdF9lbmNfY2hhaW4pLAoJICAoZ3N0X2NlbHRfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBpbiB0aGUgZW5jb2RlciBhbmQgZGV0ZWN0L2hhbmRsZQoJICBzdHJlYW0gZGlzY29udGludWl0aWVzLiBGaXhlcyBidWcgIzU0NzA3NS4KCjIwMDgtMDgtMzEgMTI6MjA6MzMgKzAwMDAgIFJvdiBKdXZhbm8gPHJvdmp1dmFub0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dCBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb3YgSnV2YW5vIDxyb3ZqdXZhbm8gYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOiAocG9wX3N0YXR1c19iYXIpLAoJICAoc3RhdHVzX2Jhcl9wcmludGYpLCAoZGVtb19ndWlfc2Vla19iYXJfZm9ybWF0KSwgKHVwZGF0ZV9wb3NpdGlvbiksCgkgIChkZW1vX2d1aV9zZWVrX2Jhcl9jaGFuZ2UpLCAoZGVtb19ndWlfZG9fY2hhbmdlX3JhdGUpLAoJICAoZGVtb19ndWlfZG9fc2V0X3JhdGUpLCAoZGVtb19ndWlfZG9fcmF0ZV9lbnRlcmVkKSwKCSAgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9hZHZhbmNlZCksIChkZW1vX2d1aV9kb190b2dnbGVfZGlzYWJsZWQpLAoJICAoZGVtb19ndWlfZG9fc2VlayksIChkZW1vX2d1aV9kb19wbGF5KSwgKGRlbW9fZ3VpX2RvX3BhdXNlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlfcGF1c2UpLCAoZGVtb19ndWlfZG9fb3Blbl9maWxlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X3ByZXYpLCAoZGVtb19ndWlfZG9fcGxheWxpc3RfbmV4dCksCgkgIChkZW1vX2d1aV9kb19hYm91dF9kaWFsb2cpLCAoZGVtb19ndWlfZG9fcXVpdCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zdHJpZGUpLCAoZGVtb19ndWlfcmVxdWVzdF9zZXRfb3ZlcmxhcCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zZWFyY2gpLCAoZGVtb19ndWlfcmF0ZV9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfc3RhcnRlZCksIChkZW1vX2d1aV9wbGF5aW5nX3BhdXNlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX2VuZGVkKSwgKGRlbW9fZ3VpX3BsYXllcl9lcnJvcmVkKSwKCSAgKGRlbW9fZ3VpX3N0cmlkZV9jaGFuZ2VkKSwgKGRlbW9fZ3VpX292ZXJsYXBfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9zZWFyY2hfY2hhbmdlZCksIChkZW1vX2d1aV9zZXRfcGxheWVyX2Z1bmMpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0X2Z1bmMpLCAoYnVpbGRfZ3ZhbHVlX2FycmF5KSwKCSAgKGNyZWF0ZV9hY3Rpb24pLCAoZGVtb19ndWlfc2hvd19mdW5jKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXIpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0KSwgKGRlbW9fZ3VpX3Nob3cpLCAoZGVtb19ndWlfZ2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fZ3VpX3NldF9wcm9wZXJ0eSksIChkZW1vX2d1aV9pbml0KSwgKGRlbW9fZ3VpX2NsYXNzX2luaXQpLAoJICAoZGVtb19ndWlfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOiAoaGFuZGxlX2Vycm9yX21lc3NhZ2UpLAoJICAoaGFuZGxlX3F1aXQpLCAobWFpbik6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOiAobm9fcGlwZWxpbmUpLAoJICAoZGVtb19wbGF5ZXJfZXZlbnRfbGlzdGVuZXIpLCAoZGVtb19wbGF5ZXJfc3RhdGVfY2hhbmdlZF9jYiksCgkgIChkZW1vX3BsYXllcl9lb3NfY2IpLCAoZGVtb19wbGF5ZXJfYnVpbGRfcGlwZWxpbmUpLCAoX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGVfZnVuYyksIChkZW1vX3BsYXllcl9zZXRfcmF0ZV9mdW5jKSwKCSAgKF9zZXRfc3RhdGVfYW5kX3dhaXQpLCAoZGVtb19wbGF5ZXJfbG9hZF91cmlfZnVuYyksCgkgIChkZW1vX3BsYXllcl9wbGF5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfcGF1c2VfZnVuYyksIChfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2Vla190b19mdW5jKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbl9mdW5jKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbl9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGUpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfbG9hZF91cmkpLCAoZGVtb19wbGF5ZXJfcGxheSksIChkZW1vX3BsYXllcl9wYXVzZSksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5KSwgKGRlbW9fcGxheWVyX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbiksCgkgIChkZW1vX3BsYXllcl9nZXRfcHJvcGVydHkpLCAoZGVtb19wbGF5ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fcGxheWVyX2luaXQpLCAoZGVtb19wbGF5ZXJfY2xhc3NfaW5pdCksCgkgIChkZW1vX3BsYXllcl9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzogKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfZmxvYXQpLAoJICAoYmVzdF9vdmVybGFwX29mZnNldF9zMTYpLCAob3V0cHV0X292ZXJsYXBfZmxvYXQpLAoJICAob3V0cHV0X292ZXJsYXBfczE2KSwgKGZpbGxfcXVldWUpLCAocmVpbml0X2J1ZmZlcnMpLAoJICAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtKSwgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3NpbmtfZXZlbnQpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X2NhcHMpLAoJICAoZ3N0X3NjYWxldGVtcG9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2NhbGV0ZW1wb19iYXNlX2luaXQpLCAoZ3N0X3NjYWxldGVtcG9fY2xhc3NfaW5pdCksCgkgIChnc3Rfc2NhbGV0ZW1wb19pbml0KToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dAoJICBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHJhdGUhPTEuMC4KCSAgSW50ZWdyYXRlIGl0IGludG8gdGhlIGRvY3MgYW5kIGFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgaXQuCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAwOC0wOC0zMCAyMDoyMjowMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBzb21lIG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBzb21lIG1lbWxlYWtzLgoKMjAwOC0wOC0zMCAwNjozMDo0MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBFT1MgaGFuZGxpbmcuICBDbGVhbiB1cCBhdCBvYmplY3QgZGlzcG9zYWwuICBIYW5kbGUgNDoyOjIgYW5kIDQ6NDo0IHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBFT1MgaGFuZGxpbmcuICBDbGVhbiB1cCBhdAoJICBvYmplY3QgZGlzcG9zYWwuICBIYW5kbGUgNDoyOjIgYW5kIDQ6NDo0IHZpZGVvLgoKMjAwOC0wOC0yOSAxNDowNToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBGb3J0ZS4KCjIwMDgtMDgtMjkgMTM6NTc6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgRklPTlJFQUQJY2hlY2ssIG5lZWRlZCBmb3IgdGhlIGRjY3Agc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCBGSU9OUkVBRAljaGVjaywgbmVlZGVkIGZvciB0aGUgZGNjcCBzcmMuCgoyMDA4LTA4LTI5IDEyOjE2OjI3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHRvIGluY2x1ZGUgbGF0ZXN0IHBsdWdpbnMsIGFkZCBhcGV4c3JjIGRpcmV0b3J5IHRvIGRpc3RlZCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB0byBpbmNsdWRlIGxhdGVzdCBwbHVnaW5zLCBhZGQgYXBleHNyYyBkaXJldG9yeSB0byBkaXN0ZWQgZmlsZXMKCjIwMDgtMDgtMjkgMTE6MzY6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLio6IEFkZCBjb2RlIGZvciBjYWxjdWxhdGluZyBwcm9wZXIgdGltZXN0YW1wL2R1cmF0aW9uIGZvciB0aGUgdHJhaWxpbmcgZW5jb2RlZCBidWZmZXJzIHRoYXQgZmFhYyB3aWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfaW5pdCksIChnc3RfZmFhY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mYWFjX2NoYWluKSwgKGdzdF9mYWFjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBBZGQgY29kZSBmb3IgY2FsY3VsYXRpbmcgcHJvcGVyIHRpbWVzdGFtcC9kdXJhdGlvbiBmb3IgdGhlIHRyYWlsaW5nCgkgIGVuY29kZWQgYnVmZmVycyB0aGF0IGZhYWMgd2lsbCBvdXRwdXQgd2hlbiByZWNlaXZpbmcgRU9TLgoKMjAwOC0wOC0yOSAwODo1NzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggQ0ZMQUdTIGFuZCBMSUJTIGZvciB0aGUgYXBleHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IENGTEFHUyBhbmQgTElCUyBmb3IgdGhlIGFwZXhzaW5rLgoKMjAwOC0wOC0yOCAyMjowMjoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19tZWRpYV90eXBlX2ZyZWUpOiBBdm9pZCBsZWFraW5nIHRoZSBLU0RBVEFSQU5HRSBtZW1iZXIgb2YgZWFjaCBLc1ZpZGVvTWVkaWFUeXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fbWVkaWFfdHlwZV9mcmVlKToKCSAgQXZvaWQgbGVha2luZyB0aGUgS1NEQVRBUkFOR0UgbWVtYmVyIG9mIGVhY2ggS3NWaWRlb01lZGlhVHlwZS4KCjIwMDgtMDgtMjggMTc6MTY6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2RjY3AvOiBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBGb3J0ZSAtIGFwcGFyZW50bHkgaXQgaGF0ZXMgY29uY2F0ZW5hdGluZyBhCgkgIG1hY3JvIGFyZ3VtZW50IHRoYXQgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZT8/CgoyMDA4LTA4LTI4IDE3OjAxOjMwICswMDAwICBKw6lyw6ltaWUgQmVybmFyZCA8Z3JlbWltYWlsQGdtYWlsLmNvbT4KCgkgIEFkZCBhcGV4c2luayBmb3IgYXVkaW8gb3V0cHV0IHRvIEFwcGxlIEFpclBvcnQgRXhwcmVzcyBXaXJlbGVzcyBkZXZpY2VzLiBGaXhlcyBidWcgIzU0MjUxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKw6lyw6ltaWUgQmVybmFyZCA8Z3JlbWltYWlsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hcGV4c2luay9MR1BMLTMuMC50eHQ6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IChnX3N0cmRlbCksIChnc3RfYXBleHJhb3Bfc2VuZCksCgkgIChnc3RfYXBleHJhb3BfcmVjdiksIChnc3RfYXBleHJhb3BfbmV3KSwgKGdzdF9hcGV4cmFvcF9mcmVlKSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfaG9zdCksIChnc3RfYXBleHJhb3BfZ2V0X2hvc3QpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF9wb3J0KSwgKGdzdF9hcGV4cmFvcF9nZXRfcG9ydCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3VzZXJhZ2VudCksIChnc3RfYXBleHJhb3BfZ2V0X3VzZXJhZ2VudCksCgkgIChnc3RfYXBleHJhb3BfY29ubmVjdCksIChnc3RfYXBleHJhb3BfZ2V0X2phY2t0eXBlKSwKCSAgKGdzdF9hcGV4cmFvcF9nZXRfamFja3N0YXR1cyksIChnc3RfYXBleHJhb3BfY2xvc2UpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF92b2x1bWUpLCAoZ3N0X2FwZXhyYW9wX3dyaXRlX2JpdHMpLAoJICAoZ3N0X2FwZXhyYW9wX3dyaXRlKSwgKGdzdF9hcGV4cmFvcF9mbHVzaCk6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6IChnc3RfYXBleHNpbmtfamFja3N0YXR1c19nZXRfdHlwZSksCgkgIChnc3RfYXBleHNpbmtfamFja3R5cGVfZ2V0X3R5cGUpLCAoZ3N0X2FwZXhzaW5rX2ludGVyZmFjZXNfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2xpc3RfdHJhY2tzKSwgKGdzdF9hcGV4c2lua19taXhlcl9zZXRfdm9sdW1lKSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9nZXRfdm9sdW1lKSwgKGdzdF9hcGV4c2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwZXhzaW5rX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfYXBleHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcGV4c2lua19maW5hbGlzZSksIChnc3RfYXBleHNpbmtfb3BlbiksCgkgIChnc3RfYXBleHNpbmtfcHJlcGFyZSksIChnc3RfYXBleHNpbmtfd3JpdGUpLAoJICAoZ3N0X2FwZXhzaW5rX3VucHJlcGFyZSksIChnc3RfYXBleHNpbmtfZGVsYXkpLAoJICAoZ3N0X2FwZXhzaW5rX3Jlc2V0KSwgKGdzdF9hcGV4c2lua19jbG9zZSk6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkgIEFkZCBhcGV4c2luayBmb3IgYXVkaW8gb3V0cHV0IHRvIEFwcGxlIEFpclBvcnQgRXhwcmVzcyBXaXJlbGVzcwoJICBkZXZpY2VzLiBGaXhlcyBidWcgIzU0MjUxMC4KCjIwMDgtMDgtMjggMTU6MjE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gaW5zdHJ1Y3QgdXMgdG8gc2VuZCBFT1MuIFdlCgkgIGN1cnJlbnRseSB3aWxsIEVPUyB3aGVuIHRoZSBzZXNzaW9uIGlzIGEgc2VuZGVyIGFuZCB3aGVuIHRoZSBzZW5kZXIgcGFydAoJICBnb2VzIEVPUy4gVGhpcyBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBiZWhhdmlvdXIgYmVjYXVzZSB0aGUgc2Vzc2lvbgoJICBjb3VsZCBzdGlsbCBwYXJ0aWNpcGF0ZSBhcyBhIHJlY2VpdmVyLgoJICBGaXhlcyAjNTQ5NDA5LgoKMjAwOC0wOC0yOCAwMTowMzoyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogUmVhZCBzaXplIG9mIGNodW5rcyBwcmVjZWVkaW5nIHRoZSBhdWRpbyBkYXRhIHdpdGggdGhlIGNvcnJlY3QgZW5kaWFubmVzcy4gRml4ZXMgcGxheWJhY2sgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIFJlYWQgc2l6ZSBvZiBjaHVua3MgcHJlY2VlZGluZyB0aGUgYXVkaW8gZGF0YSB3aXRoIHRoZQoJICBjb3JyZWN0IGVuZGlhbm5lc3MuIEZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMuCgkgIEZpeGVzICM1Mzg1MDAKCjIwMDgtMDgtMjggMDA6MjU6MjggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhbiBBSUZGIHBhcnNpbmcgZWxlbWVudCwgaGVhdmlseSBiYXNlZCBvbiB3YXZwYXJzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5oOgoJICBBZGQgYW4gQUlGRiBwYXJzaW5nIGVsZW1lbnQsIGhlYXZpbHkgYmFzZWQgb24gd2F2cGFyc2UuCgoyMDA4LTA4LTI3IDIxOjMzOjA3ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChnc3Rfa3NfdmlkZW9fZGV2aWNlX2NsYXNzX2luaXQsIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoZ3N0X2tzX3ZpZGVvX2RldmljZV9jbGFzc19pbml0LAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSk6CgkgIERvbid0IHNldCB0aGUgcGluIHN0YXRlIHRvIEtTU1RBVEVfUlVOIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIFNraXAgS1NTVEFURV9BQ1FVSVJFIHdoZW4gY2hhbmdpbmcgcGluIHN0YXRlIGRvd253YXJkcy4KCSAgQmUgbmljZSBhbmQgc3BlY2lmeSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBSZW1vdmUgdW51c2VkIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChERUZBVUxUX0VOQUJMRV9RVUlSS1MsIFBST1BfRU5BQkxFX1FVSVJLUywKCSAgZW5hYmxlX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19jbGFzc19pbml0LCBnc3Rfa3NfdmlkZW9fc3JjX2luaXQsCgkgIGdzdF9rc192aWRlb19zcmNfZmluYWxpemUsIGdzdF9rc192aWRlb19zcmNfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X2tzX3ZpZGVvX3NyY19yZXNldCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19hcHBseV9kcml2ZXJfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2Fwcyk6CgkgIEZpcnN0IGRyaXZlciBxdWlyazogd29yayBhcm91bmQgTG9naXRlY2gncyBob3N0aWxlIGRyaXZlciBzb2Z0d2FyZSB0bwoJICBpbXByb3ZlIHN0YWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuIFNlZSBjb21tZW50cyBmb3IgZGV0YWlscy4KCSAgUHJvdmlkZSBhIHByb3BlcnR5IHRvIGRpc2FibGUgZHJpdmVyIHF1aXJrcyAoZW5hYmxlZCBieSBkZWZhdWx0KS4KCSAgQmUgbmljZSBhbmQgc3BlY2lmeSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBSZW1vdmUgdW51c2VkIGRpc3Bvc2UgbWV0aG9kLgoJICBUd2VhayBpbmNsdWRlIG9yZGVyLgoKMjAwOC0wOC0yNyAxNTo0NToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEltcGxlbWVudCB0aGUgTEFURU5DWSBxdWVyeSBpbiBhIGJldHRlciB3YXkgYnkgdGFraW5nIHRoZSBsYXRlbmN5IG9mIGFsbCBzaW5rcGFkcyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgSW1wbGVtZW50IHRoZSBMQVRFTkNZIHF1ZXJ5IGluIGEgYmV0dGVyIHdheSBieSB0YWtpbmcgdGhlIGxhdGVuY3kgb2YgYWxsCgkgIHNpbmtwYWRzIGFuZCB0YWtpbmcgdGhlIG1pbi9tYXggaW5zdGVhZCBvZiBqdXN0IHRha2luZyBhIHJhbmRvbSBwYWQuCgoyMDA4LTA4LTI2IDEyOjMzOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLzogVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZSBhIHNtYWxsIHNwZWVkdXAgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgIFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUKCSAgYSBzbWFsbCBzcGVlZHVwIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYW5kbGUgY2hyb21hIGFuZCBsdW1hCgkgIGRpZmZlcmVudCB3aGljaCBpcyBuZWVkZWQgbGF0ZXIuCgoyMDA4LTA4LTI2IDExOjE4OjM4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuKjogRG9uJ3QgcHV0IGdsb2JhbHMgb25seSB1c2VkIGJ5IG9uZSAnLmMnIGZpbGUgaW4gYSBoZWFkZXIgIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkgIERvbid0IHB1dCBnbG9iYWxzIG9ubHkgdXNlZCBieSBvbmUgJy5jJyBmaWxlIGluIGEgaGVhZGVyICEKCSAgRGVjbGFyZSBpdCBhcyBzdGF0aWMsIGZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDgtMjYgMTE6MTM6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IFdob29wcywgdGhhdCB3YXMgb25lIGZpeCB0b28gbXVjaCA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9zZW5kX2J1ZmZlcik6CgkgIFdob29wcywgdGhhdCB3YXMgb25lIGZpeCB0b28gbXVjaCA6KQoKMjAwOC0wOC0yNiAxMTowODozNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogc2l6ZV90J3Mgc2l6ZSB2YXJpZXMgYnkgcGxhdGZvcm0vYXJjaGl0ZWN0dXJlLiBVc2UgZ2xpYiBjb252ZW5pZW5jZSBtYWNybyBpbnN0ZWFkLiBGaXhlcyBidWlsZCBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZGNjcF9zZW5kX2J1ZmZlciksIChnc3RfZGNjcF9zZXRfc29ja193aW5kb3dzaXplKToKCSAgc2l6ZV90J3Mgc2l6ZSB2YXJpZXMgYnkgcGxhdGZvcm0vYXJjaGl0ZWN0dXJlLiBVc2UgZ2xpYiBjb252ZW5pZW5jZQoJICBtYWNybyBpbnN0ZWFkLiBGaXhlcyBidWlsZCBvbiBtYWNvc3guCgkgIFJlbW92ZSBlbmRpbmcgJ1xuJyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wOC0yNiAxMTowMTo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6IFJlbW92ZSB1bnVzZWQgY29kZSBhbmQgZml4IGluY2x1ZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOiAoZ3N0X3BjYXBfcGFyc2VfY2xhc3NfaW5pdCk6CgkgIFJlbW92ZSB1bnVzZWQgY29kZSBhbmQgZml4IGluY2x1ZGVzLgoKMjAwOC0wOC0yNSAxNDozNzo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZwoJICBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzZWFyY2gtZWZmb3J0PTAgY3VycmVudGx5LCBpcyBwYWluZnVsbHkKCSAgc2xvdyBhbmQgbmVlZHMgc29tZSBjbGVhbnVwIGxhdGVyIHdoZW4gYWxsIHNlYXJjaC1lZmZvcnQgc2V0dGluZ3MKCSAgYXJlIGltcGxlbWVudGVkIGluIEMuCgoyMDA4LTA4LTI0IDIyOjA1OjQ4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbiBmb3IgbG93LWxhdGVuY3kgdmlkZW8gY2FwdHVyZSBvbiBXaW5kb3dzICgjNTE5OTM1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAgTmV3IHBsdWdpbiBmb3IgbG93LWxhdGVuY3kgdmlkZW8gY2FwdHVyZSBvbiBXaW5kb3dzICgjNTE5OTM1KS4KCSAgVXNlcyBLZXJuZWwgU3RyZWFtaW5nLCB0aGUgbG93ZXN0IGxldmVsIEFQSSBmb3IgZG9pbmcgdmlkZW8gY2FwdHVyZQoJICBvbiBXaW5kb3dzIChtb3JlIG9yIGxlc3MganVzdCByYXcgaW9jdGxzKS4KCjIwMDgtMDgtMjQgMTY6NTU6NDggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGJsb2JzLiBUaGFua3MgdG8gU3RlZmFuIGZvciBub3RpY2luZyEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIEFkZGVkIGRvY3VtZW50YXRpb24gYmxvYnMuIFRoYW5rcyB0byBTdGVmYW4gZm9yIG5vdGljaW5nIQoKMjAwOC0wOC0yNCAxMzo1MzoyOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW46IHBjYXBwYXJzZSAoIzUyMDg5OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgTmV3IHBsdWdpbjogcGNhcHBhcnNlICgjNTIwODk5KS4KCjIwMDgtMDgtMjQgMTM6MjM6NDQgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luOiB3aW5zY3JlZW5jYXAgKCM0NjM5NDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJICBOZXcgcGx1Z2luOiB3aW5zY3JlZW5jYXAgKCM0NjM5NDEpLgoKMjAwOC0wOC0yMyAwMDowMTozOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6IEZsaXAgbXBlZzEvbXBlZzIgYXJyYXlzIGZvciBtcGVnIGF1ZGlvLiBEZXRlY3Qgd2hpY2ggdHlwZSB0aGUgYXVkaW8gaXMgY29ycmVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICBGbGlwIG1wZWcxL21wZWcyIGFycmF5cyBmb3IgbXBlZyBhdWRpby4gRGV0ZWN0IHdoaWNoIHR5cGUgdGhlIGF1ZGlvCgkgIGlzIGNvcnJlY3RseSwgaW5zdGVhZCBvZiBiYWNrd2FyZHMuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcywgc2luY2UgdGhpcwoJICBtaXN0YWtlIHdhcyBjb21wbGV0ZWx5IHNlbGYtY29uc2lzdGVudC4KCjIwMDgtMDgtMjIgMDY6Mjc6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6IEFkZCwgYnV0IGNvbW1lbnRlZCBvdXQgeG1sL2VsZW1lbnQtZGMxMzk0LnhtbC4gSXRzIGRvY3VtZW50ZWQsIGJ1dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQsIGJ1dCBjb21tZW50ZWQgb3V0IHhtbC9lbGVtZW50LWRjMTM5NC54bWwuIEl0cyBkb2N1bWVudGVkLCBidXQKCSAgSSBjYW4ndCBnZXQgaXQgdG8gYmUgYnVpbGQuCgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgRml4IGRvYyB3YXJuaW5ncyBhbmQgcmVmb3JtYXQgdGhlIGRvYyBibG9jay4KCjIwMDgtMDgtMjEgMTM6MjI6MzggKzAwMDAgIExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCgkgIEFkZCBkY2NwIHBsdWdpbi4gRml4ZXMgIzU0MjM5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9SRUFETUU6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL1JFQURNRToKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUENsaWVudC5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BDbGllbnRTYXZlRmlsZS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQU2VydmVyU2VuZEZpbGUuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQQ2xpZW50UGxheU1pYy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BTZXJ2ZXJNaWMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQQ2xpZW50UGxheU1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BTZXJ2ZXJTZW5kTVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQQ2xpZW50UGxheVNwZWV4TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQU2VydmVyU2VuZFNwZWV4TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUENsaWVudFBsYXlNUDNTdHJlYW0uYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQU2VydmVyU2VuZE1QM1N0cmVhbS5jOgoJICBBZGQgZGNjcCBwbHVnaW4uIEZpeGVzICM1NDIzOTAuCgoyMDA4LTA4LTIwIDIyOjI0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgYml0cyB0aGF0IHByZXN1bWFibHkgd2VyZW4ndCBzdXBwb3NlZCB0byBiZSBjb21taXR0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIGJpdHMgdGhhdCBwcmVzdW1hYmx5IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUgY29tbWl0dGVkLgoKMjAwOC0wOC0yMCAyMTo0NDoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIG5ldyB3aW5kb3dzIEFDTSBlbmNvZGVyIHdyYXBwZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBBZGQgbmV3IHdpbmRvd3MgQUNNIGVuY29kZXIgd3JhcHBlci4KCjIwMDgtMDgtMTggMTE6MTM6MDcgKzAwMDAgIE1pY2hhZWwgS3J1Zmt5IDxta3J1Zmt5QGxpbnV4dHYub3JnPgoKCSAgc3lzL2R2Yi86IEFkZCBBVFNDIHR1bm5pbmcgYW5kIGNoYW5uZWxzLmNvbmYgcGFyc2luZyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1pY2hhZWwgS3J1Zmt5CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgQWRkIEFUU0MgdHVubmluZyBhbmQgY2hhbm5lbHMuY29uZiBwYXJzaW5nIHN1cHBvcnQuCgkgIEZpeGVzICM1Mzc0NTUKCjIwMDgtMDgtMTMgMjE6NTg6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy86IEluaXRpYWxpc2UgQ09NIHdpdGggZGVmYXVsdCBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgSW5pdGlhbGlzZSBDT00gd2l0aCBkZWZhdWx0IGZsYWdzLgoJICBPbmx5IGRlaW5pdGlhbGlzZSBpZiB0aGUgaW5pdGlhbGlzYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCgoyMDA4LTA4LTEzIDE0OjMxOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUKCSAgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBEb24ndCB0cnkgdG8gYWRqdXN0IHRoZSB0cy1vZmZzZXQgd2hlbiBpdCdzIHRvbyBiaWcgKD4gM3NlY29uZHMpCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NldF9zc3JjKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2QgdG8gc2V0IHNlc3Npb24gU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpLCAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NzcmMpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGRlZCBkZWJ1Z2dpbmcgZm9yIHRoZSBjb2xsaXNpb24gY2hlY2tzLgoJICBBZGQgbWV0aG9kIHRvIGNoYW5nZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBSZXNldCB0aGUgY2xvY2sgYmFzZSB3aGVuIHdlIGRldGVjdCBsYXJnZSBqdW1wcyBpbiB0aGUgc2VxbnVtcy4KCjIwMDgtMDgtMTIgMTY6MTM6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy4qOiBEbyBub3QgZGVhbCB3aXRoIGR1cGxpY2F0ZWQgaW5wdXQgKHRpbWVzdGFtcHMpLiAgSWYgbmVlZGVkLCBhIGdlbmVyaWMgZWxlbWVudCBjYW4gZG8gc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19yZXNldCksCgkgIChnc3RfeDI2NF9lbmNfY2hhaW4pLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBEbyBub3QgZGVhbCB3aXRoIGR1cGxpY2F0ZWQgaW5wdXQgKHRpbWVzdGFtcHMpLiAgSWYgbmVlZGVkLAoJICBhIGdlbmVyaWMgZWxlbWVudCBjYW4gZG8gc28uCgkgIERvIG5vdCBtYW5pcHVsYXRlIGlucHV0IHRpbWVzdGFtcHMgb24gdGhlIHdheSBvdXQsCgkgIHNpbmNlIHRoYXQgc2hpZnRzIHRoZSB0aW1lbGluZSBhbmQgQS9WIHN5bmMuCgoyMDA4LTA4LTEyIDE1OjQxOjQ4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBJbnRlZ3JhdGUgbmV3IHByb3BlcnRpZXMgaW50byBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgSW50ZWdyYXRlIG5ldyBwcm9wZXJ0aWVzIGludG8gZG9jdW1lbnRhdGlvbi4KCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIEZpeCB1cCBBUEkgcHJpb3IgdG8gZXZlbnR1YWwgcGx1Z2luIG1vdmUuCgkgIEFQSTogR3N0WDI2NEVuYzpwYXNzIChwcm92aWRlcyBtb3JlIG9wdGlvbnMsIGFuZCBjaGFuZ2VkIHRvIGVudW0pCgoyMDA4LTA4LTEyIDE0OjMxOjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIG1wbGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIG1wbGV4LgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA4LTA4LTEyIDEzOjA4OjM5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGFuZCB1bml0IHRlc3QgZm9yIHgyNjRlbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjRlbmMuYzogKHNldHVwX3gyNjRlbmMpLAoJICAoY2xlYW51cF94MjY0ZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHgyNjRlbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGFuZCB1bml0IHRlc3QgZm9yIHgyNjRlbmMuCgoyMDA4LTA4LTExIDE3OjI0OjU4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQWxsb2NhdGUgc29tZSBidWZmZXJzIGluIG1vcmUgYWRhcHRpdmUgYW5kIGVjb25vbWljYWwgZmFzaGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgIEFsbG9jYXRlIHNvbWUgYnVmZmVycyBpbiBtb3JlIGFkYXB0aXZlIGFuZCBlY29ub21pY2FsIGZhc2hpb24uCgoyMDA4LTA4LTExIDE1OjE2OjE0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHN1ZmZpY2llbnRseSB1cC10by1kYXRlIHgyNjQgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBzdWZmaWNpZW50bHkgdXAtdG8tZGF0ZSB4MjY0IEFQSS4KCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfcGFzc19nZXRfdHlwZSksCgkgIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIEV4cG9zZSBzb21lIG1vcmUgcGFyYW1ldGVycyBvZiB0aGUgeDI2NCBlbmNvZGVyIGFzIHByb3BlcnRpZXMuCgoyMDA4LTA4LTExIDA3OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgIFVzZSAiLSIgaW5zdGVhZCBvZiAiXyIgaW4gcHJvcGVydHkgbmFtZXMuIENhbiB3ZSBjYWxsIHRoZW0ganVzdAoJICAiZGV2aWNlIiBsaWtlIGV2ZXJ5d2hlcmUgZWxzZT8KCjIwMDgtMDgtMDggMTU6MDc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBDb2Rpbmcgc3R5bGUgYW5kIGxheW91dDsgcmUtb3JkZXIgc29tZSBmdW5jdGlvbnMgaW4gbW9yZSB0eXBpY2FsIGFuZCBuYXR1cmFsIGZsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19sb2dfY2FsbGJhY2spLAoJICAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX2ZsdXNoX2ZyYW1lcyk6CgkgIENvZGluZyBzdHlsZSBhbmQgbGF5b3V0OyByZS1vcmRlciBzb21lIGZ1bmN0aW9ucyBpbiBtb3JlCgkgIHR5cGljYWwgYW5kIG5hdHVyYWwgZmxvdy4KCjIwMDgtMDgtMDggMTQ6MTk6MTYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvOiBVc2UgR1F1ZXVlIGluIHN0ZWFkIG9mIGN1c3RvbSBxdWV1ZSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF94MjY0X2VuY19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19yZXNldCksIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLAoJICAoZ3N0X3gyNjRfZW5jX2ZsdXNoX2ZyYW1lcyksIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksCgkgIChnc3RfeDI2NF9lbmNfY2hhaW4pLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksCgkgIChnc3RfeDI2NF9lbmNfY2hhbmdlX3N0YXRlKSwgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgVXNlIEdRdWV1ZSBpbiBzdGVhZCBvZiBjdXN0b20gcXVldWUgY29kZS4KCSAgRmFjdG9yaXplIGZsdXNoaW5nIG91dCBlbmNvZGVyIGRlbGF5ZWQgZnJhbWVzLgoJICBGYWN0b3JpemUgaW5pdGlhbGl6YXRpb24gYW5kIHN0YXRlIGNoYW5nZSByZXNldC4KCjIwMDgtMDgtMDggMTA6NTY6MDIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgVXNlIGNvbmZpZ3VyZS1nZW5lcmF0ZWQgX3N0ZGludC5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICBVc2UgY29uZmlndXJlLWdlbmVyYXRlZCBfc3RkaW50LmguCgoyMDA4LTA4LTA4IDEwOjEzOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0LzogVXNlIHZpZGVvIGZvcm1hdCBsaWJyYXJ5IGFuZCBHU1RfV1JJVEVfKl9CRSBtYWNyb3Mgd2hlcmUgYXBwbGljYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksIChnc3RfeDI2NF9lbmNfbG9nX2NhbGxiYWNrKSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIFVzZSB2aWRlbyBmb3JtYXQgbGlicmFyeSBhbmQgR1NUX1dSSVRFXypfQkUgbWFjcm9zIHdoZXJlIGFwcGxpY2FibGUuCgkgIFVzZSBmaW5hbGl6ZSBpbiBzdGVhZCBvZiBkaXNwb3NlLgoJICBTZXQgdXAgZGVidWcgY2F0ZWdvcnkgYW5kIGxvZyBjYWxsYmFjay4KCjIwMDgtMDgtMDcgMTY6MjA6MzAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19wbHVnaW5faW5pdCk6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wOC0wNyAxNDozNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS4qOiBBbGxvdyByYXcgZmxvYXQgc2FtcGxlcyBhcyBpbnB1dCBmb3IgZW5jb2RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKGdzdF90d29fbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkgIEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCjIwMDgtMDgtMDcgMTM6MTU6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOiBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCjIwMDgtMDgtMDcgMDk6MDk6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIEFkZCBuZXcgZWxlbWVudCB0byBkb2NzLgoJICAqIGV4dC9qYWNrL2dzdGphY2suaAoJICBBZGQgbWlzc2luZyBmaWxlLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBSZW5hbWUgamFja2F1ZGlvc3JjIHRvIGphY2tfYXVkaW9fc3JjLgoKMjAwOC0wOC0wNyAwODo0Nzo0MCArMDAwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJICBleHQvamFjay86IEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgICogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgRml4ZXMgIzU0NTE5Ny4KCjIwMDgtMDgtMDYgMTU6NDk6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0d29sYW1lIGFuZCBjZWx0IHBsdWdpbnMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJICBBZGQgdHdvbGFtZSBhbmQgY2VsdCBwbHVnaW5zIHRvIHRoZSBkb2NzLgoKMjAwOC0wOC0wNSAwOTo0Mjo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUgaml0dGVyYnVmZmVyIGJlY2F1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlCgkgIGppdHRlcmJ1ZmZlciBiZWNhdXNlIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBtb2RpZnkgdGhlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBtZXRob2QgY29tbWVudCBhYm91dCByZXF1aXJpbmcgd3JpdGFibGUgbWV0YWRhdGEgb24gYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCk6CgkgIE1ha2UgdGhlIFJUQ1AgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlY2F1c2Ugd2Ugd2FudCB0byBtb2RpZnkgdGhlCgkgIG1ldGFkYXRhLgoJICBGaXhlcyAjNTQ2MzEyLgoKMjAwOC0wOC0wNSAwOTowNTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IE1vdmUgdGhlIHNlbGVjdC1hbGwgbG9naWMgaW50byB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHBhZC4gV2Ugd2FudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRjYXBzKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9hY3RpdmF0ZV9zaW5rcGFkKToKCSAgTW92ZSB0aGUgc2VsZWN0LWFsbCBsb2dpYyBpbnRvIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQKCSAgcGFkLiBXZSB3YW50IHRvIHJlbWVtYmVyIHRoZSBsYXN0IHBhZCB3aXRoIGFjdGl2aXR5IGluIHNlbGVjdC1hbGwgbW9kZS4KCSAgRml4IHRoZSBnZXRjYXBzIGZ1bmN0aW9uLCB3ZSBjYW4gcHJvZHVjZSB0aGUgdW5pb24gb2YgdGhlIHVwc3RyZWFtIGNhcHMKCSAgaW4gc2VsZWN0LWFsbCBtb2RlLCBub3QgdGhlIGludGVyc2VjdGlvbiBsaWtlIHByb3h5X2dldGNhcHMoKSBkb2VzLgoKMjAwOC0wOC0wNSAwOTowMDo1MCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgoyMDA4LTA4LTA1IDA4OjU4OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApOgoJICBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIEZpeGVzICM1NDM0ODAuCgoyMDA4LTA4LTAyIDE4OjQ4OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdCBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0CgkgIGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCjIwMDgtMDgtMDIgMTg6MzY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgRy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14ZXh0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfbW14KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYiksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2luaXQpOgoJICBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlCgkgIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QuCgoyMDA4LTA4LTAyIDE4OjMwOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQgY2FuIGJlIHVzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQKCSAgY2FuIGJlIHVzZWQgYnkgc2ltcGxlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcy4gVGhleSBvbmx5IGhhdmUgdG8gcHJvdmlkZQoJICBhIGZ1bmN0aW9uIGZvciBpbnRlcnBvbGF0aW5nIGEgc2NhbmxpbmUgb3IgY29weWluZyBhIHNjYW5saW5lLgoKMjAwOC0wOC0wMiAxODoxNTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzIG9mIGV2ZXJ5IGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKToKCSAgUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzCgkgIG9mIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMDgtMDIgMTg6MTM6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzCgkgIGRlZmluZWQuCgoyMDA4LTA4LTAyIDE4OjA5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCk6CgkgIEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDgtMDIgMTg6MDI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbiB0aGF0IGRvdWJsZXMvaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9ncmVhdGVzdF9jb21tb25fZGl2aXNvciksIChnc3RfZnJhY3Rpb25fZG91YmxlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZ2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgdGhhdCBkb3VibGVzL2hhbGZzIHRoZSBmcmFtZXJhdGUgaWYgYWxsIGZpZWxkcyBzaG91bGQgYmUgc2VudCBvdXQuCgoyMDA4LTA4LTAyIDE3OjM5OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChnc3RfdHdvX2xhbWVfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfdHdvX2xhbWVfcGFkZGluZ19nZXRfdHlwZSksIChnc3RfdHdvX2xhbWVfZW1waGFzaXNfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3JlbGVhc2VfbWVtb3J5KSwgKGdzdF90d29fbGFtZV9maW5hbGl6ZSksCgkgIChnc3RfdHdvX2xhbWVfYmFzZV9pbml0KSwgKGdzdF90d29fbGFtZV9jbGFzc19pbml0KSwKCSAgKGdzdF90d29fbGFtZV9zcmNfc2V0Y2FwcyksIChnc3RfdHdvX2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF90d29fbGFtZV9pbml0KSwgKGdzdF90d29fbGFtZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3R3b19sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfdHdvX2xhbWVfc2lua19ldmVudCksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pLCAoZ3N0X3R3b19sYW1lX3NldHVwKSwKCSAgKGdzdF90d29fbGFtZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3R3b19sYW1lX2dldF9kZWZhdWx0X3NldHRpbmdzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkgIEFkZCBUd29MQU1FIE1QMiBlbmNvZGluZyBlbGVtZW50LCBiYXNlZCBvbiB0aGUgTEFNRSBlbGVtZW50LgoKMjAwOC0wOC0wMiAxNzoyOTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIENFTFQgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cyBiYXNlZCBvbiB0aGUgU3BlZXggZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvZ3N0Y2VsdC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogKGdzdF9jZWx0X2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2NlbHRfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2NlbHRfZGVjX3Jlc2V0KSwKCSAgKGdzdF9jZWx0X2RlY19pbml0KSwgKGNlbHRfZGVjX2NvbnZlcnQpLAoJICAoY2VsdF9nZXRfc2lua19xdWVyeV90eXBlcyksIChjZWx0X2RlY19zaW5rX3F1ZXJ5KSwKCSAgKGNlbHRfZ2V0X3NyY19xdWVyeV90eXBlcyksIChjZWx0X2RlY19zcmNfcXVlcnkpLAoJICAoY2VsdF9kZWNfc3JjX2V2ZW50KSwgKGNlbHRfZGVjX3NpbmtfZXZlbnQpLAoJICAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKSwgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKSwKCSAgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2RhdGEpLCAoY2VsdF9kZWNfY2hhaW4pLAoJICAoY2VsdF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOiAoZ3N0X2NlbHRfZW5jX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X2NlbHRfZW5jX2Jhc2VfaW5pdCksIChnc3RfY2VsdF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY2VsdF9lbmNfZmluYWxpemUpLCAoZ3N0X2NlbHRfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfY2VsdF9lbmNfc2lua19nZXRjYXBzKSwgKGdzdF9jZWx0X2VuY19jb252ZXJ0X3NyYyksCgkgIChnc3RfY2VsdF9lbmNfY29udmVydF9zaW5rKSwgKGdzdF9jZWx0X2VuY19nZXRfbGF0ZW5jeSksCgkgIChnc3RfY2VsdF9lbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF9jZWx0X2VuY19zcmNfcXVlcnkpLAoJICAoZ3N0X2NlbHRfZW5jX3NpbmtfcXVlcnkpLCAoZ3N0X2NlbHRfZW5jX2luaXQpLAoJICAoZ3N0X2NlbHRfZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLCAoZ3N0X2NlbHRfZW5jX3NldHVwKSwKCSAgKGdzdF9jZWx0X2VuY19idWZmZXJfZnJvbV9kYXRhKSwgKGdzdF9jZWx0X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3RfY2VsdF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwgKGdzdF9jZWx0X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X2NlbHRfZW5jX2NoYWluKSwgKGdzdF9jZWx0X2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2NlbHRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfY2VsdF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEFkZCBDRUxUIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMgYmFzZWQgb24gdGhlIFNwZWV4IGVsZW1lbnRzLgoKMjAwOC0wOC0wMiAxNzoxNjozOSArMDAwMCAgVGFsIFNoYWxpZiA8dHNoYWxpZkBuYXJnaWxhLm9yZz4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IFVzZSBnX3NldGVudigpIGFuZCBnX3Vuc2V0ZW52KCkgaW5zdGVhZCBvZiBzZXRlbnYoKSB0byBmaXggY29tcGlsYXRpb24gd2l0aCBtaW5ndy4gRml4ZXMgYnVnIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpOgoJICBVc2UgZ19zZXRlbnYoKSBhbmQgZ191bnNldGVudigpIGluc3RlYWQgb2Ygc2V0ZW52KCkgdG8gZml4IGNvbXBpbGF0aW9uCgkgIHdpdGggbWluZ3cuIEZpeGVzIGJ1ZyAjNTQ1MjQ3LgoKMjAwOC0wOC0wMSAyMzozMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgoyMDA4LTA4LTAxIDE1OjM5OjQ0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlIG1vdmVkIHBsdWdpbnMgZnJvbSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBtb3ZlZCBwbHVnaW5zIGZyb20gc3BlYyBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjggPT09CgoyMDA4LTA3LTMxIDIyOjE1OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjgKCjIwMDgtMDctMzEgMjI6MDM6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA3LTI0IDIzOjUzOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vaWQucG86CgkgIEFkZCBJbmRvbmVzaWFuIHRyYW5zbGF0aW9uLgoKMjAwOC0wNy0yNCAwMDozMjozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkgIFN1cHBvcnQgZm9yIGNvbXBpbGluZyB3aXRoIE1TVkM6IHVzZSBfTVNDX1ZFUiBmb3IgZGV0ZWN0aW5nIE1TVkMgaW5zdGVhZAoJICBvZiBNU0NfVkVSLiBNYWtlIENhblBhY2tTYW1wbGVzIHRha2UgdGhlIHR5cGUgaXQncyBwYXNzZWQuIENoYW5nZSBzY29wZQoJICBvZiBhIHZhcmlhYmxlIGluIGxvYWRfaXQuY3BwIHRvIE1TVkMncyBzY29waW5nIHJ1bGVzLgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgIEZpeGVzICM1NDQ0NTcuCgoyMDA4LTA3LTIyIDA2OjI3OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuIEZpeGVzICM1NDQwNTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4gRml4ZXMgIzU0NDA1MC4KCjIwMDgtMDctMjEgMjE6MTI6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjaGVjayBmb3IgbmF2X3ByaW50LmggYW55IG1vcmUgLSBpdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIGxpYmR2ZG5hdiBkZXZlbG9wbWVudCBwYWNrYWdlIGlmIGxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY2hlY2sgZm9yIG5hdl9wcmludC5oIGFueSBtb3JlIC0gaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluCgkgIHRoZSBsaWJkdmRuYXYgZGV2ZWxvcG1lbnQgcGFja2FnZSBpZiBsaWJkdmRuYXYgaGVhZGVycyBkZXBlbmQgb24gaXQuCgkgIEZpeGVzOiAjNTQzODQ2CgoyMDA4LTA3LTIxIDE2OjAzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBMaW5rIHRoZSBsYWRzcGEgcGx1Z2luIHdpdGggLWxkbC4gSXQncyBuZWVkZWQgZm9yIGRsb3BlbigpIGFuZCBmcmllbmRzIGZvciBsb2FkaW5nIHRoZSBsYWRzcGEgcGx1Z2lucyBhbmQgcHJldmlvdXNseSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIExpbmsgdGhlIGxhZHNwYSBwbHVnaW4gd2l0aCAtbGRsLiBJdCdzIG5lZWRlZCBmb3IgZGxvcGVuKCkgYW5kIGZyaWVuZHMKCSAgZm9yIGxvYWRpbmcgdGhlIGxhZHNwYSBwbHVnaW5zIGFuZCBwcmV2aW91c2x5IHdhcyBsaW5rZWQgaW4gYnkKCSAgZ21vZHVsZS4gRml4ZXMgYnVnICM1NDM4NDguCgoyMDA4LTA3LTIxIDEwOjE2OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOiBVc2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgQ1hYRkxBR1MuIEdTVF9DRkxBR1MgY2FuIGNvbnRhaW4gY29tcGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIENYWEZMQUdTLiBHU1RfQ0ZMQUdTCgkgIGNhbiBjb250YWluIGNvbXBpbGVyIHBhcmFtZXRlcnMgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoJICBGaXhlcyBidWcgIzU0Mzg2MC4KCjIwMDgtMDctMjEgMTA6MTU6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbTogRGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlcy4gRml4ZXMgYnVnICM1NDM4NjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgRGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlcy4gRml4ZXMgYnVnICM1NDM4NjEuCgoyMDA4LTA3LTE5IDE0OjEyOjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjIgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuMiBwcmUtcmVsZWFzZQoKMjAwOC0wNy0xOSAxNDowMjo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc3QgYW5kIHJlY3Vyc2UgaW50byByZXNpbmR2ZCBzdWJkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXN0IGFuZCByZWN1cnNlIGludG8gcmVzaW5kdmQgc3ViZGlyCgoyMDA4LTA3LTE5IDEzOjQzOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gY29uZmlndXJlLmFjIHBpZWNlcyB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBjb25maWd1cmUuYWMgcGllY2VzIHRvbwoKMjAwOC0wNy0xOSAxMzoyOToyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby86IEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2x0LnBvOgoJICBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMKCSAgZmlsZS4KCjIwMDgtMDctMTkgMDA6NTg6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gcGx1Z2lucyB0aGF0IGhhdmUgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBwbHVnaW5zIHRoYXQgaGF2ZSBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wNy0xOCAwODozNDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5IGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kKCSAgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgQnVpbGQgdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4gb24gYWxsIGFyY2hpdGVjdHVyZXMgYnV0IHN0aWxsIG1hcmsgaXQKCSAgYXMgZXhwZXJpbWVudGFsLgoJICBCdWlsZCB0aGUgeDg2IGlubGluZSBhc3NlbWJseSBvbmx5IGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgaXMgc3VwcG9ydGVkCgkgIGFuZCBvbmx5IG9uIHg4NiBvciBhbWQ2NC4gRml4ZXMgYnVnICM1NDMyODYuCgoyMDA4LTA3LTE2IDE0OjE1OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBZGQgc29tZSBjYXN0cyB0byBmaXggdGhlIGJ1aWxkIG9uIEZvcnRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgQWRkIHNvbWUgY2FzdHMgdG8gZml4IHRoZSBidWlsZCBvbiBGb3J0ZQoKMjAwOC0wNy0xNCAxNDoxMzo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogRml4IGJ1aWxkIG9uIHg4Nl82NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCBvbiB4ODZfNjQKCjIwMDgtMDctMTQgMDc6NTA6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOiBSZW1vdmUgd2hpdGVzcGFjZSBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJlbW92ZSB3aGl0ZXNwYWNlIGxpbmUuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIE1ha2UgaXQgc28gdGhhdCBhdWRpby92aWRlbyBwYWRzIGFyZW4ndCBhZGRlZCB0byB0aGUgYmluCgkgIHVudGlsIGFmdGVyIGRhdGEgZmxvdyBzdGFydHMuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgIE1vdmUgdmlkZW8gYnVmZmVyIHF1ZXVlIG91dHNpZGUgcmVzaW5kdmRiaW4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgQ2hlY2sgdGhhdCB0aGUgbmF2X2Nsb2NrX2lkIGRpZG4ndCBhbHJlYWR5IGdldCB1bnNjaGVkdWxlZC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZW1vdmUgYXNzZXJ0IHRoYXQgc29tZXRpbWVzIHRyaWdnZXJzIGVycm9uZW91c2x5LgoKMjAwOC0wNy0xMyAxMDo1Njo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlIGFzc2VtYmx5IG9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBvbmx5IGhhbmRsZSB0aGlzIGFuZCBjYWxsaW5nIHRoZSBDCgkgIGltcGxlbWVudGF0aW9uIGZvciB0aGUgcmVtYWluaW5nIHBhcnQgZG9lc24ndCB3b3JrIGJlY2F1c2UgaXQgbmVlZHMKCSAgcHJldmlvdXMgY2FsY3VsYXRpb25zLgoKMjAwOC0wNy0xMyAxMDo1MjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFRoZSBTU0UgbWV0aG9kIGluIGZhY3Qgb25seSBuZWVkcyBNTVhFWFQsIGRlY2xhcmUgaXQgYXMgc3VjaC4KCjIwMDgtMDctMTEgMTQ6MDY6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIFR1cm4gZ19wcmludCdzIGludG8gZGVidWcgc3RhdGVtZW50cy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIEFkZCBhIGJsb2F0ZWQgaW1wbGVtZW50YXRpb24gb2YgYSByZWFsbHkgc2ltcGxlIGlkZWE6IFJlcGxhY2UgdGhlCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiB0aGUgb3V0cHV0IHZpZGVvIHdpdGggYSBwcmVzY3JpYmVkIG9uZSB3aGVuCgkgIG5lY2Vzc2FyeS4gVGhlcmUgbXVzdCBiZSBhbiBlYXNpZXIgd2F5LgoJICBTcGxpdCB0aGUgZHZkc3B1IG91dCBvZiB0aGUgcmVzaW5kdmRiaW4gYW5kIHB1dCBvdXQgdGhlIHN1YnBpY3R1cmUKCSAgc3RyZWFtIG9uIHRoZSBzdWJwaWN0dXJlIHBhZC4KCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFNlbmQgdmlkZW8tYXNwZWN0IGV2ZW50cyBkb3duIHRoZSBwaXBlIGZyb20gdGhlIGRlbXV4ZXIuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIEhhbmRsZSB0aW1lZC1zdGlsbHMgc29tZXdoYXQgdXNpbmcgZ19jb25kX3RpbWVkX3dhaXQsIHdpdGggYSBGSVhNRQoJICB0byBtYWtlIGl0IHVzZSBjbG9jay13YWl0aW5nIGxhdGVyLgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIERvbid0IG92ZXJ3cml0ZSB0aGUgbGFzdF9zdG9wIGluIHRoZSBiYXNlc3JjIHNlZ21lbnQgYWZ0ZXIgYSBzZWFtbGVzcwoJICBzZWVrLgoKMjAwOC0wNy0xMSAxMzo1NDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgQ29tbWl0IGZpbGUgdGhhdCBtb2FwIHNlZW1zIHRvIGhhdmUgbWlzc2VkOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29tbWl0IGZpbGUgdGhhdCBtb2FwIHNlZW1zIHRvIGhhdmUgbWlzc2VkOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoKMjAwOC0wNy0xMCAyMTowNjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24gdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlci5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzdGFnLmM6CgkgICogZ3N0L2FkZGVyL2dzdGFkZGVyLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbgoJICB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGVsaW5lcyBhcmUgInNpbXBsZSIKCSAgcGlwZWxpbmVzLgoKMjAwOC0wNy0xMCAyMDoyMzowOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IENvbnZlcnQgZXh0ZW5kZWQgZXZlbnQgdGV4dCB0byBVVEYtOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ29udmVydCBleHRlbmRlZCBldmVudCB0ZXh0IHRvIFVURi04LgoKMjAwOC0wNy0xMCAxODo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9jdW1lbnQgb25lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBEb2N1bWVudCBvbmUgbW9yZS4KCjIwMDgtMDctMTAgMDk6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDogRml4IGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IgcGFyc2luZywgb3V0IGJ5IDEgaW4gcG9zaXRpb24gb2YgdGV4dCBsZW5ndGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICBGaXggZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvciBwYXJzaW5nLCBvdXQgYnkgMSBpbiBwb3NpdGlvbiBvZgoJICB0ZXh0IGxlbmd0aC4KCjIwMDgtMDctMDkgMTI6MTM6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiBBZGQgYSBub3RlIHRvIHRoZSBkb2NzLCB0aGF0IGZlc3RpdmFsIG5lZWQgdG8gYmUgcnVubmluZy4gQWxzbyBsb2cgYW4gZXJyb3IgaXQgaXQgaXMgbm90Li4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgQWRkIGEgbm90ZSB0byB0aGUgZG9jcywgdGhhdCBmZXN0aXZhbCBuZWVkIHRvIGJlIHJ1bm5pbmcuIEFsc28gbG9nIGFuCgkgIGVycm9yIGl0IGl0IGlzIG5vdC4gRml4ZXMgIzU0MTMyNwoKMjAwOC0wNy0wOCAyMToyMDoyNyArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLio6IEFkZCB2aWV3LW9ubHkgcHJvcGVydHkgdG8gaWdub3JlIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICBBZGQgdmlldy1vbmx5IHByb3BlcnR5IHRvIGlnbm9yZSB0aGUgbmF2aWdhdGlvbiBldmVudHMKCjIwMDgtMDctMDggMTg6NTM6NDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOiBSZXZlcnQgcHJldmlvdXMgcGF0Y2ggYXBhcnQgZnJvbSB0eXBvIGZpeGVzOyB0aGUgcGF0Y2ggd2FzIG5vdCBpbmRlcGVuZGVudGx5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgUmV2ZXJ0IHByZXZpb3VzIHBhdGNoIGFwYXJ0IGZyb20gdHlwbyBmaXhlczsgdGhlIHBhdGNoIHdhcyBub3QKCSAgaW5kZXBlbmRlbnRseSB1c2VmdWwuCgoyMDA4LTA3LTA4IDE3OjQxOjU1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBBZGQgQUFDLCBBQzMgdG8gaGFuZGxlZCBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgQWRkIEFBQywgQUMzIHRvIGhhbmRsZWQgY29kZWNzLgoJICBGaXggaGFuZGxpbmcgb2YgZmx1c2ggZXZlbnRzLgoJICBJbXByb3ZlIGRlYnVnL2Vycm9yIG91dHB1dC4KCSAgRml4IGEgbnVtYmVyIG9mIHR5cG9zIGluIGNvbW1lbnRzIGFuZCB2YXJpYWJsZSBuYW1lcy4KCjIwMDgtMDctMDggMTU6MjQ6NDQgKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogSW1wbGVtZW50IFNlcnZlckN1dFRleHQgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEltcGxlbWVudCBTZXJ2ZXJDdXRUZXh0IG1lc3NhZ2UKCjIwMDgtMDctMDggMTQ6Mjg6MDggKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiLzogQWRkIHByb3BlcnR5IGZvciBzaGFyZWQgZGVza3RvcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgQWRkIHByb3BlcnR5IGZvciBzaGFyZWQgZGVza3RvcAoKMjAwOC0wNy0wOCAxNDowMToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZSBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUKCSAgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoKMjAwOC0wNy0wOCAxMzozMTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19zZXR1cCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCjIwMDgtMDctMDggMTM6Mjg6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC86IERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OgoJICBKb25hdGhhbiBSb3NzZXIgPGpvbmF0aGFuIGRvdCByb3NzZXIgYXQgcmQgZG90IGJiYyBkb3QgY28gZG90IHVrPgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzogKG1ldGFkYXRhcGFyc2VfaGFuZGxlX3VuaXRfdGFncyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIChtZXRhZGF0YXBhcnNlX3htcF9pdGVyX2FkZF90b190YWdfbGlzdCk6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3N0YXJ0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9sb29wKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoKMjAwOC0wNy0wNyAxMzoyMjoyNiArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IG1lbW9yeSBsZWFrIGJ5IHVucmVmZmluZyBzdHJ1Y3R1cmVzIHdoZW4gbm90IG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggbWVtb3J5IGxlYWsgYnkgdW5yZWZmaW5nIHN0cnVjdHVyZXMgd2hlbiBub3QgbmVlZGVkLgoJICBGaXhlcyAjNTM5MjkyLgoKMjAwOC0wNy0wNyAxMDo0Mzo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCjIwMDgtMDctMDYgMjA6NDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOiBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSBzb21lCgkgIHNwZWVkdXAgYXMgdGhleSdyZSB1c2VkIG9ubHkgb25jZSBhbmQgbmVlZCB0byBnZXQgbWFueSBsb2NhbCB2YXJpYWJsZXMKCSAgcGFzc2VkIGFzIHBhcmFtZXRlci4KCjIwMDgtMDctMDUgMTk6MjA6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgoyMDA4LTA3LTA1IDE5OjExOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIEZpeCBvdXRwdXR0aW5nIG9mIGFsbCBmaWVsZHMsIGkuZS4gZG91Ymxpbmcgb2YgdGhlIGZyYW1lcmF0ZS4KCjIwMDgtMDctMDUgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0IHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfZmllbGRzX3JlcXVpcmVkKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChfZG9faW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2luaXQpOgoJICBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0CgkgIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZGVpbnRlcmxhY2luZyBtZXRob2QgdmlhIEdPYmplY3QKCSAgcHJvcGVydGllcy4KCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgdXNlZAoJICBkZWludGVybGFjaW5nIG1ldGhvZCBhbmQgdG8gYWxsb3cgYWRqdXN0aW5nIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MuCgkgIE1vdmUgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIG1ldGhvZCBpbnRvCgkgIGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlcyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGlzIGRlaW50ZXJsYWNpbmcKCSAgbWV0aG9kIGZyb20gZGlmZmVyZW50IGluc3RhbmNlcy4KCjIwMDgtMDctMDUgMTI6MjI6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBnci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseQoJICBvcHRpbWl6ZWQgZ3JlZWR5aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA3LTA0IDE4OjU0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgoyMDA4LTA3LTA0IDE4OjUyOjM3ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggY2hlY2tpbmcgb2YgaGVhZGVycyBmb3IgdGhlIE9TUzQgcGx1Z2luIHRvIGZhaWwgaWYgYSBzaW5nbGUgaGVhZGVyIGRvZXNuJ3QgZXhpc3QgYWxyZWFkeS4gQUNfQ0hFQ0tfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNoZWNraW5nIG9mIGhlYWRlcnMgZm9yIHRoZSBPU1M0IHBsdWdpbiB0byBmYWlsIGlmIGEgc2luZ2xlCgkgIGhlYWRlciBkb2Vzbid0IGV4aXN0IGFscmVhZHkuIEFDX0NIRUNLX0hFQURFUlMgb25seSBmYWlscyBpZiBub25lCgkgIG9mIHRoZSBoZWFkZXJzIGlzIGZvdW5kLiBGaXhlcyBidWcgIzU0MTU0My4KCjIwMDgtMDctMDQgMTY6MDY6MDkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBGaXggYnVpbHQgb2YgdGhlIGZlc3RpdmFsIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIuZGxsIGFuZCBpbmNsdWRpbmcgd2luc29jayBoZWFkZXJzLiBGaXhlcyBidWcgIzU0MTUyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgRml4IGJ1aWx0IG9mIHRoZSBmZXN0aXZhbCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyLmRsbAoJICBhbmQgaW5jbHVkaW5nIHdpbnNvY2sgaGVhZGVycy4gRml4ZXMgYnVnICM1NDE1MjIuCgoyMDA4LTA3LTAzIDE0OjQ0OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCjIwMDgtMDctMDMgMTQ6MzE6MTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocHVzaF9wYWNrZXQpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCjIwMDgtMDctMDMgMTM6NDc6MTkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgoyMDA4LTA3LTAxIDIxOjQwOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS4qOiBRdWV1ZSBuZXctc2VnbWVudCBldmVudHMgYW5kIHNlbmQgdGhlbSBhZnRlciBjYXBzIGhhdmUgYmVlbiBkZXRlcm1pbmVkIGFuZCBzZXQsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgUXVldWUgbmV3LXNlZ21lbnQgZXZlbnRzIGFuZCBzZW5kIHRoZW0gYWZ0ZXIgY2FwcyBoYXZlIGJlZW4KCSAgZGV0ZXJtaW5lZCBhbmQgc2V0LCBzbyB0aGF0IHRoZSBkZWNvZGVyIHdpbGwgaGF2ZSBiZWVuIGF1dG8tcGx1Z2dlZC4KCjIwMDgtMDctMDEgMTE6Mjg6MTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvOiBNYWtlIHF0d3JhcHBlciBjb21waWxlL3dvcmsgb24gd2luMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSA6IE1pY2hhZWwgU21pdGggPG1zbWl0aCBAIHhpcGggZG90IG9yZz4KCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2luaXQpLAoJICAoY2xlYXJfQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgKGZpbGxfaW5kZXNjX21wMyksCgkgIChmaWxsX2luZGVzY19hYWMpLCAobWFrZV9zYW1yX21hZ2ljX2Nvb2tpZSksICh3cml0ZV9sZW4pLAoJICAobWFrZV9hYWNfbWFnaWNfY29va2llKSwgKG9wZW5fZGVjb2RlciksIChwcm9jZXNzX2J1ZmZlcl9jYiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzogKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9hdmMxKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9tcDR2KSwgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fc3RzZF9idWZmZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOiAoZ2V0X25hbWVfaW5mb19mcm9tX2NvbXBvbmVudCksCgkgIChkdW1wX2F2Y2NfYXRvbSksIChkdW1wX2ltYWdlX2Rlc2NyaXB0aW9uKSwKCSAgKEFsbG9jYXRlQXVkaW9CdWZmZXJMaXN0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgICogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9iYXNlX2luaXQpLCAob3Blbl9kZWNvZGVyKSwKCSAgKGRlY29tcHJlc3NDYiksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICBNYWtlIHF0d3JhcHBlciBjb21waWxlL3dvcmsgb24gd2luMzIuCgkgIExvdHMgb2YgZml4ZXMKCSAgRml4ZXMgIzUzMTg0MAoKMjAwOC0wNi0zMCAxOToxOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgUkdCIGJ1ZmZlcnMgLT4gYnBwIGlzIGluIGJpdHMsIHNvIGRpdmlkZSBieSA4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBSR0IgYnVmZmVycyAtPiBicHAgaXMgaW4gYml0cywgc28gZGl2aWRlIGJ5IDgKCjIwMDgtMDYtMzAgMDc6NTE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKHRvbXNtb2NvbXBfaW5pdCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLCAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLAoJICAodG9tc21vY29tcF9maWx0ZXJfc3NlKSwgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIFVzZSAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4uCgoyMDA4LTA2LTI5IDEwOjU2OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5IGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5CgkgIGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnNlZCB0byBMR1BMLiBVc2UgbWVtY3B5KCkgaW5zdGVhZAoJICBvZiB0aGUgc3BlZWR5IG1lbWNweSBldmVyeXdoZXJlIGluc3RlYWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVtb3ZlIG1hbnkgdW51c2VkIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDYtMjggMjA6NTE6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy4qOiBFeHBvc2UgdGhlIGFkZGl0aW9uYWwgTVBFRyBIRFRWIGZvcm1hdCBwcm9maWxlcyBhdmFpbGFibGUgaW4gbGF0ZXN0IG1qcGVndG9vbHMgdmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5oaDoKCSAgRXhwb3NlIHRoZSBhZGRpdGlvbmFsIE1QRUcgSERUViBmb3JtYXQgcHJvZmlsZXMgYXZhaWxhYmxlIGluIGxhdGVzdAoJICBtanBlZ3Rvb2xzIHZlcnNpb24uCgoyMDA4LTA2LTI4IDE4OjEzOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoKMjAwOC0wNi0yOCAxODoxMDo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgIERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncwoJICBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtZXRob2QuIEluc3RlYWQgaW1wbGVtZW50IGRlaW50ZXJsYWNlX2ZyYW1lCgkgIGZ1bmN0aW9uIGJ5IHRha2luZyB0aGUgb25lIGZyb20gZ3JlZWR5aC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpOgoJICBTbWFsbCBmaXggZm9yIHRoZSBDIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBEb24ndCB1c2UgdGhlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG9ubHkKCSAgdXNlZCBmb3IgdGhpcyBtZXRob2QgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gSW5zdGVhZCBpbXBsZW1lbnQKCSAgZGVpbnRlcmxhY2VfZnJhbWUgZnVuY3Rpb24gYW5kIG1ha2UgaXQgYSBiaXQgbW9yZSBlZmZpY2llbnQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRml4IGNvZGluZyBzdHlsZSBhbmQgcmVtb3ZlIHNjYW5saW5lcyBmdW5jdGlvbiBhcyBpdCdzIHVudXNlZCBub3cuCgoyMDA4LTA2LTI4IDE3OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbiB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuCgkgIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYXJrIHRoZSBTU0UgdmVyc2lvbiBhcyBNTVhFWFQgYXMgaXQgZG9lc24ndAoJICByZXF1aXJlIGFueSBTU0UgaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yNyAxMzoyMjozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBTZXQgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA2LTI2IDE1OjUyOjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoKMjAwOC0wNi0yNSAxNjowNTowOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDYtMjQgMTU6NDg6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgoyMDA4LTA2LTI0IDEyOjA4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzIG1lbW9yeSBhY2Nlc3NlcyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcwoJICBtZW1vcnkgYWNjZXNzZXMgYW5kIGZpeCB0aGUgd29ya2Fyb3VuZCBmb3IgdGhlIG1pc3NpbmcgcmlnaHQgc2hpZnQKCSAgb24gYnl0ZXMgdG8gdW5zZXQgdGhlIGhpZ2hlc3QgYml0IG9mIGV2ZXJ5IGJ5dGUuCgoyMDA4LTA2LTI0IDEwOjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRSBpbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UKCSAgaW5zdHJ1Y3Rpb24uCgoyMDA4LTA2LTI0IDEwOjEyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgoyMDA4LTA2LTI0IDA5OjQwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOiBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KToKCSAgRml4IEMgYW5kIE1NWCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgbW9yZS4KCjIwMDgtMDYtMjQgMDk6MTA6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgTU1YRVhUIGltcGxlbWVudGF0aW9uLgoJICBIYW5kbGUgb2RkIHdpZHRocyBhbmQgZG9uJ3QgcmVhZCBvdmVyIGFycmF5IGJvdW5kYXJpZXMgaW4gdGhlIE1NWEVYVAoJICBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIEZpeCBhIHNtYWxsIHJvdW5kaW5nIGJ1ZyBpbiB0aGUgTU1YIGltcGxlbWVudGF0aW9uLCB0aGUgTU1YCgkgIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWN0dWFsbHkgbmVlZCBNTVhFWFQgaW5zdHJ1Y3Rpb25zIHNvIGRvbid0IG1hcmsKCSAgaXQgYXMgc3VjaC4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgaW4gYm90aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA2LTIxIDIxOjIwOjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOiBVc2UgdGhlIHJpZ2h0IGkxOG4gaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBVc2UgdGhlIHJpZ2h0IGkxOG4gaGVhZGVyLgoKMjAwOC0wNi0yMSAwOTowNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZSBhc3NlbWJseSBvcHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9zc2UpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gYXMgU1NFIGFzIGl0IHVzZXMgU1NFIGluc3RydWN0aW9ucwoJICBhZGRpdGlvbmFsIHRvIE1NWCBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTIwIDE2OjU0OjI4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRml4IHByb2JsZW0gd2hlbiBlbXB0eSBzdHJpbmcgaXMgcHJvdmlkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeCBwcm9ibGVtIHdoZW4gZW1wdHkgc3RyaW5nIGlzIHByb3ZpZGVkLgoKMjAwOC0wNi0yMCAxNDo0ODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vIGJ1dCB1c2UgdGhlIE1NLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfYyksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbwoJICBidXQgdXNlIHRoZSBNTVhFWFQgb3B0aW1pemVkIGNvZGUgd2hlbmV2ZXIgcG9zc2libGUuCgoyMDA4LTA2LTIwIDE0OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMgd2hlbiBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzCgkgIHdoZW4gZmluYWxpemluZywgYWxsb2NhdGUgYnVmZmVycyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYW5kCgkgIHByb3Blcmx5IHJldHVybiBmbG93IHJldHVybnMgZnJvbSBnc3RfcGFkX3B1c2goKSBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0uCgoyMDA4LTA2LTIwIDEzOjQ1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyLgoKMjAwOC0wNi0yMCAxMzoyNDoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbCBlbmFibGVkIG9ubHkKCSAgYnkgLS1lbmFibGUtZXhwZXJpbWVudGFsLgoKMjAwOC0wNi0yMCAxMzowNzo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuKjogU2NoZWR1bGUgTkFWIHBhY2tldHMgYW5kIGFjdGl2YXRlIHRoZW0gd2l0aCBhbiBhc3luYyBjbG9jayBjYWxsYmFjayBhdCB0aGUgcmlnaHQgbW9tZW50LiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIFNjaGVkdWxlIE5BViBwYWNrZXRzIGFuZCBhY3RpdmF0ZSB0aGVtIHdpdGggYW4gYXN5bmMgY2xvY2sgY2FsbGJhY2sKCSAgYXQgdGhlIHJpZ2h0IG1vbWVudC4gVGhpcyBtYWtlcyBkZWxheWVkIG1lbnUgaGlnaGxpZ2h0cyBhcHBlYXIKCSAgYXQgdGhlIGNvcnJlY3QgdGltZSBhbmQgZml4ZXMgQmFjayBUbyBUaGUgRnV0dXJlLgoJICBXaGVuIG91dHB1dHRpbmcgbmV3IHNlZ21lbnQgaW4gZG9fc2VlaygpLCBjYWxjdWxhdGUgb3VyIHBvc2l0aW9uCgkgIHZhbHVlIHByb3Blcmx5LCBzbyB3ZSByZXBvcnQgdGhlIHJpZ2h0IHRpbWUgd2hlbiBwb3BwaW5nIGluIGFuZAoJICBvdXQgb2YgdGhlIG1lbnVzLgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIFdoZW4gaGFuZGxpbmcgYSBub24tZmx1c2hpbmcgc2VlaywgYWNjdW11bGF0ZSB0aGUgc2VnbWVudCwKCSAgcmF0aGVyIHRoYW4gaGF2aW5nIGV2ZXJ5IHNlZWsgc3RhcnQgZnJvbSAwIGFuZCBtZXNzaW5nIHdpdGggc3luYwoKMjAwOC0wNi0xOSAxMzoxODoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVXNlIEJPSUxFUlBMQVRFIG1hY3JvIGFuZCB1cGRhdGUgdGVzdCB0byB0aGUgbGF0ZXN0IGFwaSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBVc2UgQk9JTEVSUExBVEUgbWFjcm8gYW5kIHVwZGF0ZSB0ZXN0IHRvIHRoZSBsYXRlc3QgYXBpIGNoYW5nZXMuCgoyMDA4LTA2LTE5IDExOjI1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IERvbid0IHVzZSBhIGJ1ZmZlciBhZnRlciB1bnJlZmZpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiAob25fbmV3X2J1ZmZlcl9mcm9tX3NvdXJjZSk6CgkgIERvbid0IHVzZSBhIGJ1ZmZlciBhZnRlciB1bnJlZmZpbmcgaXQuCgoyMDA4LTA2LTE4IDA3OjAyOjU0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6IEFkZCBkZXNjcmlwdGlvbiB0YWcgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBBZGQgZGVzY3JpcHRpb24gdGFnIG1hcHBpbmcuCgoyMDA4LTA2LTE4IDA2OjMxOjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbAoJICBjb21tZW50cy4KCjIwMDgtMDYtMTcgMTk6NTI6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6IFBhcnNlIHRoZSBVUkkgYXJndW1lbnQgaW50byB0aGUgZGV2aWNlIG5hbWUgc28gZHZkOi8vL3BhdGgvdG8vaW1hZ2Ugd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICBQYXJzZSB0aGUgVVJJIGFyZ3VtZW50IGludG8gdGhlIGRldmljZSBuYW1lIHNvIGR2ZDovLy9wYXRoL3RvL2ltYWdlCgkgIHdvcmtzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBJbXBsZW1lbnQgYSB0cml2aWFsIGR1cmF0aW9uIHF1ZXJ5IHJlcG9ydGluZyB0aGUgY3VycmVudCBQR0MgbGVuZ3RoLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJlbmFtZSB0eXBvIGluIHRoZSBmdW5jdGlvbiBuYW1lLgoKMjAwOC0wNi0xNyAxMTowMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIGRlaW50ZXJsYWNlMiBwbHVnaW4gYWdhaW4gd2hpY2ggd2FzIGFjY2lkZW50bHkgZW5hYmxlZCB3aXRoIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBhZ2FpbiB3aGljaCB3YXMgYWNjaWRlbnRseSBlbmFibGVkCgkgIHdpdGggbGFzdCBjb21taXQuCgoyMDA4LTA2LTE3IDEwOjUzOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBNYWtlIHJlc2luZHZkIHdvcmsgd2l0aCBsaWJkdmRuYXYgPj0gNC4wLjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgTWFrZSByZXNpbmR2ZCB3b3JrIHdpdGggbGliZHZkbmF2ID49IDQuMC4wLgoKMjAwOC0wNi0xNyAwMTowODoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBsaWJkdmRuYXYgdG8gYnVpbGQgcmVzaW5kdmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGxpYmR2ZG5hdiB0byBidWlsZCByZXNpbmR2ZC4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSAgKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmg6CgkgIEZpcnN0IGNvbW1pdCBvZiBEVkQtVmlkZW8gcGxheWJhY2sgY29tcG9uZW50ICdyc25kdmRiaW4nCgkgIGFuZCBoZWxwZXIgZWxlbWVudHMuCgkgIFVzZSAtLWVuYWJsZS1leHBlcmltZW50YWwgZm9yIG5vdywgYnV0IGZlZWwgZnJlZSB0byBnaXZlIGl0IGEKCSAgdHJ5IHVzaW5nIHRoZSByZXNpbi1wbGF5IHNjcmlwdC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBBZGQgc29tZSBleHRyYSBndWFyZHMgZm9yIG1hbGZvcm1lZCBldmVudHMuCgoyMDA4LTA2LTE3IDAwOjM3OjQ5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBkaXJhYyByZXF1aXJlbWVudCB0byAwLjEwIGR1ZSB0byBhcGkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGRpcmFjIHJlcXVpcmVtZW50IHRvIDAuMTAgZHVlIHRvIGFwaSBjaGFuZ2VzLgoKMjAwOC0wNi0xNiAxNDoxMTozNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKQoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9ieXRlcywgZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOiBVc2UKCSAgR19HVUlOVDY0X0ZPUk1BVC4gQXZvaWQgb3ZlcmZsb3cgaW4gZ2V0X21heF9ieXRlcygpLgoKMjAwOC0wNi0xNiAxMjozNzozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogTW92ZSBkb2NibG9iIHVwd2FyZHMuIEJhbGFuY2UgdGFncyBhbmQgcmVzdG9yZSBibGFuayBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBNb3ZlIGRvY2Jsb2IgdXB3YXJkcy4gQmFsYW5jZSB0YWdzIGFuZCByZXN0b3JlIGJsYW5rIGxpbmUuCgoyMDA4LTA2LTE2IDExOjQ3OjM0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRml4IG91dCBvZiBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEZpeCBvdXQgb2YgZGF0ZSBkb2NzLgoKMjAwOC0wNi0xNiAxMToyOTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFBhdGNoIGZyb206IFZpbmNlbnQgR2VuaWV1eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggZnJvbTogVmluY2VudCBHZW5pZXV4CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCByZWZjb3VudCBpc3N1ZXMsIGZpeGVzICM1Mzg1NjAuCgoyMDA4LTA2LTE2IDA5OjIyOjMwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2UgdGhlIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIHRoZSBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTYgMDc6MDM6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoKMjAwOC0wNi0xMyAyMjo0Njo0MyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQwoJICBhbmQKCSAgSC4yNjQvQVZDIGluc2lkZSBGTFYuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2NoYWluKSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93YXVkaW9kZWNfc2V0dXBfZ3JhcGgpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd3ZpZGVvZGVjX2NoYWluKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NyY19nZXRjYXBzKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDogTG90IG9mIHJhbmRvbSBmaXhlcwoJICB0byBpbXByb3ZlIHN0YWJpbGl0eSAocmVmIGNvdW50aW5nLCBzYWZldHkgY2hlY2tzLi4uKQoKMjAwOC0wNi0xMyAxODoyNToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBEaXNhYmxlIHNpcHJvIG9uIDY0Yml0cywgaXQgY3Jhc2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfcHJvYmVfbW9kdWxlcyk6CgkgIERpc2FibGUgc2lwcm8gb24gNjRiaXRzLCBpdCBjcmFzaGVzLgoKMjAwOC0wNi0xMyAxODowMzoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBBZGQgcmF2ZXJzaW9ucyB3ZSBjYW4gc3VwcG9ydCBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoY2xvc2VfbGlicmFyeSksIChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3Byb2JlX21vZHVsZXMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICBBZGQgcmF2ZXJzaW9ucyB3ZSBjYW4gc3VwcG9ydCBvbiB0aGUgY2Fwcy4KCSAgUmVmYWN0b3IgdGhlIGxvYWRpbmcgb2YgdGhlIHJlYWwgY29kZWNzIGxpa2UgcmVhbHZpZGVvIHNvIHRoYXQgd2UgY2FuCgkgIGltcGxlbWVudCBwcm9iaW5nLgoJICBQcm9iZSBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgYnkgdHJ5aW5nIHRvIGxvYWQgdGhlIC5zbyBmaWxlcywgb25seSByZXBvcnQKCSAgdGhlIHZlcnNpb25zIG9uIHRoZSBjYXBzIHRoYXQgd2UgY2FuIGFjdHVhbGx5IGxvYWQuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldGNhcHMpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLAoJICAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3Byb2JlX21vZHVsZXMpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBDaGFuZ2UgdGhlIGxvYWRpbmcgb2YgdGhlIGxpYnJhcnkgbGlrZSB0aGUgYXVkaW8gZGVjb2Rlci4KCSAgUHJvYmUgdGhlIHN1cHBvcnRlZCBmb3JtYXRzIGJ5IHRyeWluZyB0byBsb2FkIHRoZSAuc28gZmlsZXMgYW5kIG9ubHkKCSAgcmVwb3J0IHRoZSB2ZXJzaW9ucyBvbiB0aGUgY2FwcyB0aGF0IHdlIGNhbiBhY3R1YWxseSBsb2FkLgoKMjAwOC0wNi0xMyAxNTo0NjowMyArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEhhbmRsZSBjaGFyYWN0ZXIgc2V0cyBpbiBzdHJpbmdzIGNvbWluZyBmcm9tIERWQiBTSSBhY2NvcmRpbmcgdG8gdGhlIERWQiBTSSBzcGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBIYW5kbGUgY2hhcmFjdGVyIHNldHMgaW4gc3RyaW5ncyBjb21pbmcgZnJvbSBEVkIgU0kgYWNjb3JkaW5nCgkgIHRvIHRoZSBEVkIgU0kgc3BlYy4KCjIwMDgtMDYtMTMgMTQ6MzM6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluLzogTW9yZSBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTEzIDExOjU5OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXgKCSAgZm9yIGV4YW1wbGVzIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlCgkgIGhhdmUgc2V2ZXJhbCB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMiAxNTo0NzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZCBiZWVmZWQgdXAgZXhhbXBsZSBhcHAgZnJvbSBidWcgIzQxMzQxOC4gSXQgbm93IGFsc28gdXNlcyBhcHBzaW5rIGluc3RlYWQgb2YgZmFrZXNpbmsgZm9yIG1vcmUgdWx0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IChvbl9uZXdfYnVmZmVyX2Zyb21fc291cmNlKSwKCSAgKG9uX3NvdXJjZV9tZXNzYWdlKSwgKG9uX3NpbmtfbWVzc2FnZSksIChtYWluKToKCSAgQWRkIGJlZWZlZCB1cCBleGFtcGxlIGFwcCBmcm9tIGJ1ZyAjNDEzNDE4LiBJdCBub3cgYWxzbyB1c2VzIGFwcHNpbmsKCSAgaW5zdGVhZCBvZiBmYWtlc2luayBmb3IgbW9yZSB1bHRpbWF0ZSBjb29sbmVzcy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9hcHBfc3JjX2NyZWF0ZSksCgkgIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBibG9jayBwcm9wZXJ0eSB0byBhbGxvdyBwdXNoIGJhc2VkIGltcGxlbWVudGF0aW9uIHRvIGJsb2NrIHdoZW4gd2UKCSAgZmlsbCB1cCB0aGUgYXBwc3JjIHF1ZXVlcy4KCSAgRW1pdCB0aGUgZW5vdWdoLWRhdGEgc2lnbmFsIHdoaWxlIHJlbGVhc2luZyBvdXIgbG9jay4KCjIwMDgtMDYtMTIgMTQ6NTA6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0xMiAxNDoyMDo0MCArMDAwMCAgU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmVAZ21haWwuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jaGFpbik6CgkgIEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIKCSAgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlcmVuY2UgY29kZSBhcyB3ZWxsLiBGaXhlcyAjNTI4NjE4LgoKMjAwOC0wNi0xMiAxMzo1MTo1MSArMDAwMCAgU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmVAZ21haWwuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jaGFpbik6CgkgIEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIKCSAgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlcmVuY2UgY29kZSBhcyB3ZWxsLiBGaXhlcyAjNTI4NjE4LgoKMjAwOC0wNi0xMiAxMzowNjozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IEluY2x1ZGUgc3RkbGliLmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwOC0wNi0xMSAxMToxMjo0OSArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDExOjEyOjE0ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMDc6NTg6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS4qOiBJbml0aWFsaXplIHdpbGRtaWRpIG9ubHkgb25jZSBpbiB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gaW5zdGVhZCBvZiBvbmNlIGZvciBldmVyeSBpbnN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIFNvbmljYWR2YW5jZTEgYXQgR01BSUwgZG90IENPTQoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2luaXQpLAoJICAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIEluaXRpYWxpemUgd2lsZG1pZGkgb25seSBvbmNlIGluIHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBpbnN0ZWFkCgkgIG9mIG9uY2UgZm9yIGV2ZXJ5IGluc3RhbmNlLiBUaGUgc2Vjb25kIGFuZCBmb2xsb3dpbmcgY2FsbHMgdG8gdGhlCgkgIHdpbGRtaWRpIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHdpbGwgZmFpbC4gRml4ZXMgYnVnICM1MjU2MTMuCgkgIEFsc28gZG9uJ3QgcmVnaXN0ZXIgdGhlIGVsZW1lbnQgYXQgYWxsIGlmIHdpbGRtaWRpIGluaXRpYWxpemF0aW9uCgkgIGZhaWxzLgoKMjAwOC0wNi0xMCAxMjo1NDo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgYWZ0ZXIgYWxsIHBhZHMgYXJlIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBhZnRlciBhbGwgcGFkcyBhcmUgYWRkZWQuCgoyMDA4LTA2LTA5IDE3OjU3OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEFkZCBzaW1wbGUgcmV2ZXJzZSBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCksIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKToKCSAgQWRkIHNpbXBsZSByZXZlcnNlIHBsYXliYWNrLgoKMjAwOC0wNi0wOSAxMjowNTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS4qOiBGaXggc2Vla2luZywgdGltZXN0YW1wcywgZHVyYXRpb24gYW5kIHNvbWUgbW9yZS4gRml4ZXMgIzUzNjMwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX2NvbnZlcnQpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3Jhd19wYXJzZV9nZXRfZnBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgRml4IHNlZWtpbmcsIHRpbWVzdGFtcHMsIGR1cmF0aW9uIGFuZCBzb21lIG1vcmUuIEZpeGVzICM1MzYzMDkuCgoyMDA4LTA2LTA2IDE2OjUwOjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkZWQgMyBtb3JlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHVzaW5nIGFwcHNyYyBpbiByYW5kb20tYWNjZXNzIG1vZGUsIHB1bGwtbW9kZSBzdHJlYW1pbmcgYW5kIHB1bGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6IChmZWVkX2RhdGEpLCAoc2Vla19kYXRhKSwKCSAgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6IChmZWVkX2RhdGEpLCAoc2Vla19kYXRhKSwKCSAgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzogKGZlZWRfZGF0YSksIChmb3VuZF9zb3VyY2UpLAoJICAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZGVkIDMgbW9yZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB1c2luZyBhcHBzcmMgaW4gcmFuZG9tLWFjY2VzcyBtb2RlLAoJICBwdWxsLW1vZGUgc3RyZWFtaW5nIGFuZCBwdWxsIG1vZGUgc2Vla2FibGUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfZG9fZ2V0X3NpemUpLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNYWtlIHN0cmVhbS10eXBlIHByb3BlcnR5IHdyaXRhYmxlLgoJICBVbnNldCBmbHVzaGluZyB3aGVuIHN0YXJ0aW5nIHNvIHRoYXQgd2UgcmV1c2UgYXBwc3JjLgoJICBJbmZvcm0gYmFzZXNyYyBhYm91dCB0aGUgY29uZmlndXJlZCBzaXplLgoJICBFbWl0IHNlZWstZGF0YSBzaWduYWwgd2hlbiB3ZSBhcmUgZ29pbmcgdG8gYSBkaWZmZXJlbnQgb2Zmc2V0IGluCgkgIHJhbmRvbS1hY2Nlc3MgbW9kZS4KCjIwMDgtMDYtMDYgMTQ6MTk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiBVc2UgZGVlcC1ub3RpZnkgdW50aWwgd2UgY2FuIGRlcGVuZCBvbiBhIHBsYXliaW4yIHdpdGggc3VwcG9ydCBmb3IgdGhlIHNvdXJjZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKGZvdW5kX3NvdXJjZSksIChtYWluKToKCSAgVXNlIGRlZXAtbm90aWZ5IHVudGlsIHdlIGNhbiBkZXBlbmQgb24gYSBwbGF5YmluMiB3aXRoIHN1cHBvcnQgZm9yIHRoZQoJICBzb3VyY2UgcHJvcGVydHkuCgoyMDA4LTA2LTA2IDEzOjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkgc2h1dGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5CgkgIHNodXRkb3duLgoKMjAwOC0wNi0wNSAxNjozODo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZGVkIGFuIGV4YW1wbGUgb24gaG93IHRvIHVzZSBhcHBzcmMgaW4gcGxheWJpbiBpbiBzdHJlYW1pbmcgbW9kZSBmcm9tIGFuIG1tYXBwZWQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChyZWFkX2RhdGEpLCAoc3RhcnRfZmVlZCksCgkgIChzdG9wX2ZlZWQpLCAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGRlZCBhbiBleGFtcGxlIG9uIGhvdyB0byB1c2UgYXBwc3JjIGluIHBsYXliaW4gaW4gc3RyZWFtaW5nIG1vZGUgZnJvbQoJICBhbiBtbWFwcGVkIGZpbGUuCgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiAobWFpbik6CgkgIFNldCBwaXBlbGluZSB0byBOVUxMIHRvIGZyZWUgcXVldWVkIGJ1ZmZlcnMuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChzdHJlYW1fdHlwZV9nZXRfdHlwZSksIChfZG9faW5pdCksCgkgIChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwgKGdzdF9hcHBfc3JjX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfZmx1c2hfcXVldWVkKSwgKGdzdF9hcHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY191bmxvY2spLCAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfc3RvcCksIChnc3RfYXBwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3RfYXBwX3NyY19jaGVja19nZXRfcmFuZ2UpLCAoZ3N0X2FwcF9zcmNfZG9fc2VlayksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpLCAoZ3N0X2FwcF9zcmNfc2V0X3N0cmVhbV90eXBlKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zdHJlYW1fdHlwZSksIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnl0ZXMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSksIChnc3RfYXBwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X2FwcF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X2FwcF9zcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X2FwcF9zcmNfdXJpX3NldF91cmkpLCAoZ3N0X2FwcF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTWVhc3VyZSBtYXggcXVldWUgc2l6ZSBpbiBieXRlcyBpbnN0ZWFkLgoJICBBZGQgc3VwcG9ydCBmb3IgMyBtb2RlcyBvZiBvcGVyYXRpb24sIHN0cmVhbWluZywgc2Vla2FibGUgYW5kCgkgIHJhbmRvbS1hY2Nlc3MsIG1ha2luZyBiYXNlc3JjIGhhbmRsZSB0aGUgc2NoZWR1bGluZyBtb2RlcyBmb3IgZWFjaC4KCSAgQWRkIGFwcHNyYzovLyB1cmkgaGFuZGxlciBzbyB0aGF0IGF1dG9tYXRpYyBwbHVnZ2luZyBjYW4gYmUgZG9uZSBmcm9tCgkgIHBsYXliaW4yIG9yIHVyaWRlY29kZWJpbiwgZm9yIGV4YW1wbGUuCgkgIEFkZGVkIHN1cHBvcnQgZm9yIGN1c3RvbSBzZWdtZW50IGZvcm1hdHMuCgkgIEFkZCBzdXBwb3J0IGZvciBwdXNoIGFuZCBwdWxsIGJhc2VkIG9wZXJhdGlvbnMgZnJvbSB0aGUgYXBwbGljYXRpb24uCgkgIEV4cGFuZCB0aGUgbWV0aG9kcyBzbyB0aGF0IGVycm9ycyBjYW4gYmUgZGV0ZWN0ZWQuCgkgIEZsdXNoIHRoZSBxdWV1ZWQgYnVmZmVycyBvbiBzZWVrcyBhbmQgd2hlbiBzaHV0dGluZyBkb3duLgoJICBBZGQgc2lnbmFscyB0byBpbmZvcm0gdGhlIGFwcCB0aGF0IGEgc2VlayBtdXN0IGhhcHBlbi4KCjIwMDgtMDYtMDUgMTE6MDc6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UKCSAgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseSBhbmQgZGl2aWRlL211bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdG8gZ2V0IHRoZSBjb3JyZWN0IHJlc3VsdC4KCjIwMDgtMDYtMDQgMjE6MTg6NTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd3ZpZGVvc2luay86IEZpeCB1cCBjb3B5cmlnaHQgbm90aWNlIG9uIG5ldyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgRml4IHVwIGNvcHlyaWdodCBub3RpY2Ugb24gbmV3IHBsdWdpbi4KCjIwMDgtMDYtMDQgMTc6MDI6MzggKzAwMDAgIEpvbiBUcm93YnJpZGdlIDx0cm93QHhpbWlhbi5jb20+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFVwZGF0ZSBwcm9wZXJ0aWVzIGZvciByZWNlbnQgZGlyYWMgY2hhbmdlcy4gIFBhdGNoIGZyb20gSm9uYXRoYW4gUm9zc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFVwZGF0ZSBwcm9wZXJ0aWVzIGZvciByZWNlbnQKCSAgZGlyYWMgY2hhbmdlcy4gIFBhdGNoIGZyb20gSm9uYXRoYW4gUm9zc2VyLgoKMjAwOC0wNi0wNCAxMTozMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogVHJ5IGhhcmRlciBub3QgdG8gY3Jhc2ggd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGJ1dCBoYXZlbid0IHNldCB1cCB0aGUgZW5jb2RlciB5ZXQgKGFzIG1heSBoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgIFRyeSBoYXJkZXIgbm90IHRvIGNyYXNoIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBidXQgaGF2ZW4ndCBzZXQKCSAgdXAgdGhlIGVuY29kZXIgeWV0IChhcyBtYXkgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZXJyb3JzIG91dCB3aXRoCgkgIG5vdC1uZWdvdGlhdGVkLCBmb3IgZXhhbXBsZSkuIEFsc28sIGFsd2F5cyBwdXNoIHRoZSBFT1MgZXZlbnQKCSAgZG93bnN0cmVhbS4KCjIwMDgtMDYtMDQgMDY6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBzaW5rIHBhZHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlCgkgIHJlcXVlc3RlZCBzaW5rIHBhZHMgdG8gZ3VhcmFudHVlZSBhIHVuaXF1ZSBuYW1lLiBBZGQgYSAiY2hhbm5lbCIKCSAgcHJvcGVydHkgdG8gR3N0SW50ZXJsZWF2ZVBhZCB0byBtYWtlIGl0IHBvc3NpYmxlIGZvciBhcHBsaWNhdGlvbnMKCSAgdG8gcmV0cmlldmUgdGhlIGNoYW5uZWwgbnVtYmVyIGluIHRoZSBvdXRwdXQgZm9yIGV2ZXJ5IHBhZC4KCSAgVXNlIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWNfc2ltcGxlKCkgaW5zdGVhZCBvZgoJICBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljKCkgdG8gc2F2ZSBzb21lIHJlbG9jYXRpb25zLgoKMjAwOC0wNi0wMyAxNTo0MTowNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgZml4IHBhY2thZ2UgbmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHBhY2thZ2UgbmFtZQoKMjAwOC0wNi0wMyAxNDozNTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlbiBnb2luZyBmcm9tIFBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWSBhcyB3ZSBvdGhlcndpc2UgZGVhZGxvY2suCgkgIEZpeGVzIGJ1ZyAjNTM2MjU4LgoKMjAwOC0wNi0wMyAxMToxMDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLio6IFBhcnNlIGNvZGVjX2RhdGEgYW5kIHVzZSB0aGUgbmFsdV9zaXplX2xlbmd0aCBmaWVsZCB0byBnZXQgdGhlIE5BTFUgbGVuZ3RoIGluIHBhY2tldGl6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X25hbF9ic19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX3Npbmtfc2V0Y2FwcyksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBQYXJzZSBjb2RlY19kYXRhIGFuZCB1c2UgdGhlIG5hbHVfc2l6ZV9sZW5ndGggZmllbGQgdG8gZ2V0IHRoZSBOQUxVCgkgIGxlbmd0aCBpbiBwYWNrZXRpemVkIGgyNjQuCgkgIFdoZW4gcXVldWVpbmcgYSBwYWNrZXRpemVkIGJ1ZmZlciBpbiByZXZlcnNlIG1vZGUsIGRvbid0IHVucmVmIHRoZQoJICBidWZmZXIgdHdpY2UuCgkgIEF2b2lkIGFjY2Vzc2luZyB0aGUgYnVmZmVyIFRJTUVTVEFNUCBmaWVsZCBhZnRlciB3ZSBwdXNoZWQgaXQgb24KCSAgdGhlIGFkYXB0b3IuCgoyMDA4LTA2LTAzIDA5OjAzOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAoZ3N0X2ludGVybGVhdmVfY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlcgoJICB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0eXBlIGZyb20gYSB0aHJlYWRzYWZlIGNvbnRleHQuCgoyMDA4LTA2LTAyIDIxOjUxOjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJldmVydCBhY2NpZGVudGFsIGFkZGl0aW9uIGluIGNvbmZpZ3VyZS5hYy4gU29ycnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0IGFjY2lkZW50YWwgYWRkaXRpb24gaW4gY29uZmlndXJlLmFjLiBTb3JyeS4KCjIwMDgtMDYtMDIgMTg6MjM6NTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhIG5ldyB3aW4zMiB2aWRlb3NpbmsuIFVzZXMgdGhlIERpcmVjdFNob3cgcmVuZGVyZXJzIGZvciBoaWdoLXBlcmZvcm1hbmNlIHZpZGVvIHJlbmRlcmluZyBvbiB3aW4zMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL1JFQURNRToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEFkZCBhIG5ldyB3aW4zMiB2aWRlb3NpbmsuIFVzZXMgdGhlIERpcmVjdFNob3cgcmVuZGVyZXJzIGZvcgoJICBoaWdoLXBlcmZvcm1hbmNlIHZpZGVvIHJlbmRlcmluZyBvbiB3aW4zMi4KCSAgQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgc29tZSBZVVYgZm9ybWF0cy4KCSAgUmFuayBQUklNQVJZLCBzaW5jZSBpdCdzIG11Y2ggbW9yZSB1c2VmdWwgZm9yIHRoZSBjb21tb24gY2FzZXMgdGhhdCB0aGUKCSAgZGlyZWN0ZHJhdyBzaW5rICh3aGljaCBvbmx5IGRvZXMgUkdCKS4KCjIwMDgtMDYtMDIgMTg6MDY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BjL01ha2VmaWxlLmFtOiBEaXN0IHRhZy5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgIERpc3QgdGFnLmgKCjIwMDgtMDYtMDIgMTc6MDY6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFsd2F5cyBkcmFpbiBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV3IHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NpbmtfZXZlbnQpOgoJICBBbHdheXMgZHJhaW4gYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5ldyBzZWdtZW50LgoKMjAwOC0wNi0wMiAxMjo0MjoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUKCSAgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIGlucHV0IGFzIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvZiB0aGUgb3V0cHV0LgoJICBGaXggc29tZSBicm9rZW4gbG9naWMgYW5kIG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChzcmNfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgY29ycmVjdCBoYW5kbGluZyBvZiBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMDgtMDYtMDIgMTA6MTg6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IEFkZCBiYXNpYyByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2Rpc3Bvc2UpLCAoY2xlYXJfcXVldWVkKSwKCSAgKGZsdXNoX3F1ZXVlZCksIChnc3RfZmFhZF9kcmFpbiksIChnc3RfZmFhZF9kb19yYXdfc2VlayksCgkgIChnc3RfZmFhZF9zcmNfZXZlbnQpLCAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgQWRkIGJhc2ljIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgQ2xlYXIgZGVjb2RlciBzdGF0ZSBhZnRlciBkaXNjb250cy4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgIE1hcmsgb3V0cHV0IGJ1ZmZlcnMgd2l0aCBhIGRpc2NvbnQgYWZ0ZXIgYSBkZWNvZGluZyBlcnJvci4KCjIwMDgtMDYtMDIgMDc6Mzc6MzEgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IEZpeCBtcGVnNHZpZGVvcGFyc2Ugb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLiBGaXhlcyBidWcgIzUzNjA0Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2VfaGFuZGxlX3Zvcyk6CgkgIEZpeCBtcGVnNHZpZGVvcGFyc2Ugb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLiBGaXhlcyBidWcgIzUzNjA0Mi4KCjIwMDgtMDUtMjkgMTk6NTY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6IERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpOgoJICBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yOSAxOToxMTo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiAobWFpbik6CgkgIERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTI4IDA4OjUzOjAwICswMDAwICBPbmthciBTaGluZGUgPG9ua2Fyc2hpbmRlQGdtYWlsLmNvbT4KCgkgIHN5cy92Y2QvdmNkc3JjLmM6IEFsbG93IHRoZSB0cmFjayB0byBiZSBzZXQgYnkgdXNpbmcgdGhlIHVyaS4gRml4ZXMgIzUzNTA0My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiA8b25rYXJzaGluZGUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfdmNkc3JjX3VyaV9zZXRfdXJpKToKCSAgQWxsb3cgdGhlIHRyYWNrIHRvIGJlIHNldCBieSB1c2luZyB0aGUgdXJpLiBGaXhlcyAjNTM1MDQzLgoKMjAwOC0wNS0yOCAwODoxNDoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNS0yNyAxNzo1Mzo1OCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBBZGQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgdG8gbm90IEkgZnJhbWUgYnVmZmVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgQWRkIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHRvIG5vdCBJIGZyYW1lIGJ1ZmZlcnMKCjIwMDgtMDUtMjcgMTY6NDg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgTWFrZSBzdXJlIG5vIHN0YXRlIGNoYW5nZXMgY2FuIGhhcHBlbiB3aGVuIHdlIHJlY29uZmlndXJlLgoKMjAwOC0wNS0yNyAxNjozMjoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgY29yZSBhbmQgYmFzZSBmb3IgbmV3IGF1ZGlvIGNsb2NrIHJlc2V0IG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBjb3JlIGFuZCBiYXNlIGZvciBuZXcgYXVkaW8gY2xvY2sgcmVzZXQgbWV0aG9kLgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCB0aGUgYXVkaW8gY2xvY2suIFNlZSAjNTIxNzYxLgoKMjAwOC0wNS0yNiAxNzo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpOgoJICBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCjIwMDgtMDUtMjYgMTA6Mjg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSksCgkgIChmb3J3YXJkX2V2ZW50X2Z1bmMpLCAoZm9yd2FyZF9ldmVudCksIChnc3RfaW50ZXJsZWF2ZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgaW50ZXJsZWF2ZSB1c2luZyBHc3RDb2xsZWN0cGFkcy4gVGhpcyBuZXcgdmVyc2lvbgoJICBhbHNvIHN1cHBvcnRzIGFsbW9zdCBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIGhhcyBiZXR0ZXIgY2FwcwoJICBuZWdvdGlhdGlvbi4gRml4ZXMgYnVnICM1MDY1OTQuCgkgIEFsc28gdXBkYXRlIGRvY3MgYW5kIGFkZCBzb21lIG1vcmUgZXhhbXBsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLCAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZXh0ZW5zaXZlIHVuaXQgdGVzdHMgZm9yIGludGVybGVhdmUuCgoyMDA4LTA1LTI2IDEwOjA5OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsIHdlIG5lZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywKCSAgd2UgbmVlZCB0byBkbyB0aGlzIHNvIHRoYXQgd2UgY2FuIGJldHRlciBoYW5kbGUgYSByZXN0YXJ0ZWQgc291cmNlLgoJICBGaXggc29tZSBjb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIFR3ZWFrIHRoZSBza2V3IHJlc3luYyBkaWZmLgoJICBVc2Ugb3VyIHdvcmtpbmcgc2VxbnVtIGNvbXBhcmUgZnVuY3Rpb24gaW4gLWJhc2UuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIGluc2VydCBjb2RlIHRvIG1ha2UgaXQgY2xlYXJlciBhbmQgbW9yZQoJICBwZXJmb3JtYW50IGJ5IG9ubHkgcmV0cmlldmluZyB0aGUgc2VxbnVtIG9mIHRoZSBpbnB1dCBidWZmZXIgb25jZSBhbmQgYnkKCSAgYWRkaW5nIHNvbWUgR19MSUtFTFkgY29tcGlsZXIgaGludHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGZvciBkdXBsaWNhdGUgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBGaXggYSBjb21tZW50LCB3ZSBkb24ndCBkbyBza2V3IGNvcnJlY3Rpb24gaGVyZS4uCgoyMDA4LTA1LTI2IDEwOjAwOjI0ICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSBhcmUgY2hhbmdlZCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpOgoJICBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuCgkgIHRoZXkgYXJlIGNoYW5nZWQgb24gcnRwYmluLgoKMjAwOC0wNS0yNiAwOTo1Nzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogKHN3aXRjaF90aW1lcik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoc2VuZF90YWdfZXZlbnQpOgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCjIwMDgtMDUtMjIgMTk6NDc6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdAoJICBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBwYXJhcHJhcGggYWJvdXQgdXNpbmcgYSBxdWV1ZSBhbmQgYXVkaW9jb252ZXJ0IGFmdGVyIHRoZSBzb3VyY2UKCSAgcGFkcyB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjIgMTg6NTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkIGFuZCB0aGUgZGVmYXVsdCBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkCgkgIGFuZCB0aGUgZGVmYXVsdCBnZXRjYXBzKCkgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29ycmVjdCByZXN1bHRzIGZvcgoJICBvdXIgc3JjIHBhZHMuCgkgIENvbXBsZXRlIGRvY3VtZW50YXRpb24gYW5kIGFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTA1LTIyIDE2OjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IChvcHRfc2hvd19taXhlcl9tZXNzYWdlcyksIChXQUlUX1RJTUUpLAoJICAoc2hvd19taXhlcl9tZXNzYWdlcyksIChwcm9iZV9taXhlcl90cmFja3MpLCAocHJvYmVfcGFkKSwKCSAgKHByb2JlX2RldGFpbHMpLCAocHJvYmVfZWxlbWVudCksIChtYWluKToKCSAgU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzCgkgIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYXQuIEFsc28gYWxsb3dzIHRlc3Rpbmcgb2YKCSAgbWl4ZXIgY2hhbmdlIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA4LTA1LTIyIDE1OjE0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zczQvOiBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6IChnc3Rfb3NzNF9taXhlcl9vcGVuKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lKSwKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWVfbm9mZCk6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOiAoZ3N0X29zczRfc2lua19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZQoJICBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCjIwMDgtMDUtMjIgMTQ6MDM6MDUgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IE1vdmUgc29tZSBjb2RlIGFyb3VuZCB0byBpbnRlZ3JhdGUgdGhlIHN0YXJ0Y29kZSBzZWFyY2hpbmcgd2l0aCB0aGUgb3RoZXIgYml0cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogKGdzdF9tcGVnNHZwYXJzZV9wdXNoKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIE1vdmUgc29tZSBjb2RlIGFyb3VuZCB0byBpbnRlZ3JhdGUgdGhlIHN0YXJ0Y29kZSBzZWFyY2hpbmcgd2l0aCB0aGUKCSAgb3RoZXIgYml0cyBvZiBwYXJzaW5nLCBhdm9pZCBhIHdob2xlIGJ1bmNoIG9mIHBlZWtzLgoJICBHZXQgcmlkIG9mIGludmFsaWQgZGF0YSB0aGF0IHNob3VsZCBub3QgaGFwcGVuIGFjY29yZGluZyB0byB0aGUgc3BlY3MuCgkgIEZpeGVzICM1MzM1NTkuCgoyMDA4LTA1LTIwIDA5OjM2OjU2ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIHRvIGdldCBhIG1vcmUgY29ycmVjdCBzZWVrIGJhciBpbiB0b3RlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9teXRodHZfc3JjX2luaXQpLCAoZ3N0X215dGh0dl9zcmNfY2xlYXIpLAoJICAoZG9fcmVhZF9yZXF1ZXN0X3Jlc3BvbnNlKSwgKGdzdF9teXRodHZfc3JjX2NyZWF0ZSksCgkgIChnc3RfbXl0aHR2X3NyY19zdGFydCk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gdG8gZ2V0IGEgbW9yZSBjb3JyZWN0IHNlZWsgYmFyIGluIHRvdGVtLgoJICBEaXNhYmxlIHF1ZXJ5IGFuZCBldmVudCBmdW5jdGlvbnMgYXMgdGhleSBkb24ndCB3b3JrIGFuZCBkbyBzb21lCgkgIHNtYWxsZXIgY2xlYW51cC4KCSAgRml4ZXMgYnVnICM1MzM3MzYuCgoyMDA4LTA1LTIwIDA5OjA0OjQ4ICswMDAwICBCcmlhbiBLb3JvcG9mZiA8YnJpYW5oa0Bjcy53YXNoaW5ndG9uLmVkdT4KCgkgIGV4dC9zcGMvOiBBZGQgc3VwcG9ydCBmb3Igc29tZSBlc3NlbnRpYWwgZmVhdHVyZXMgbGlrZSBzZWVraW5nLCByZWFkaW5nIHNvbmcgZHVyYXRpb24gYW5kIGV4dGVuZGVkIHRhZ3MuIEZpeGVzIGJ1ZyAjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIEtvcm9wb2ZmIDxicmlhbmhrIGF0IGNzIGRvdCB3YXNoaW5ndG9uIGRvdCBlZHU+CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnlfdHlwZSksIChnc3Rfc3BjX2RlY19pbml0KSwKCSAgKGdzdF9zcGNfZGVjX2Rpc3Bvc2UpLCAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfc3BjX2R1cmF0aW9uKSwgKGdzdF9zcGNfZmFkZW91dCksIChnc3Rfc3BjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5KSwgKHNwY19wbGF5KSwgKHNwY19zZXR1cCk6CgkgICogZXh0L3NwYy9nc3RzcGMuaDoKCSAgKiBleHQvc3BjL3RhZy5jOiAoc3BjX3RhZ19pc19leHRlbmRlZCksIChzcGNfdGFnX2lzX3RleHRfZm9ybWF0KSwKCSAgKHNwY190YWdfaXNfcHJlc2VudCksIChzcGNfdGFnX3VucGFja19kYXRlKSwgKHNwY190YWdfY2xlYXIpLAoJICAoc3BjX3RhZ19nZXRfaW5mbyksIChzcGNfdGFnX2ZyZWUpOgoJICAqIGV4dC9zcGMvdGFnLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzb21lIGVzc2VudGlhbCBmZWF0dXJlcyBsaWtlIHNlZWtpbmcsIHJlYWRpbmcgc29uZwoJICBkdXJhdGlvbiBhbmQgZXh0ZW5kZWQgdGFncy4gRml4ZXMgYnVnICM0NTQxNTEuCgoyMDA4LTA1LTE5IDEyOjMyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlCgkgIHRoYXQgdGhlIG9yaWdpbmFsIGNoYW5uZWwgcG9zaXRpb24gaXMgc2V0IG9uIHRoZSBvdXRwdXQuCgoyMDA4LTA1LTE5IDA3OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24gdGhlIG1vbm8gb3V0cHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uCgkgIHRoZSBtb25vIG91dHB1dCBidWZmZXJzIG9yIHNob3VsZCBiZSBkcm9wcGVkLgoKMjAwOC0wNS0xOCAxMDoyNzoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBPb3BzIC0gZml4IHRoZSBzcGVsbGluZyBvZiB0aGUgdmFyaWFibGUgSSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgT29wcyAtIGZpeCB0aGUgc3BlbGxpbmcgb2YgdGhlIHZhcmlhYmxlIEkgYWRkZWQuCgoyMDA4LTA1LTE3IDE5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZSBkb3duc3RyZWFtIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZQoJICBkb3duc3RyZWFtIHdpbGwgbmV2ZXIgZ2V0IHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wNS0xNyAxNDowNTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpIHJldHVybnMgc29tZXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKToKCSAgQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkKCSAgcmV0dXJucyBzb21ldGhpbmcsIGV2ZW4gaWYgdGhleSdyZSBub3Qgc2V0IGluIHRoZSBjYXBzLiBUaGlzIG1ha2VzCgkgIHN1cmUgdGhhdCB0aGUgb3V0cHV0IGNoYW5uZWxzIGNhbiBiZSBpbnRlcmxlYXZlZCBhZ2FpbiBjb3JyZWN0bHkKCSAgaW4gdGhlIG1vbm8vc3RlcmVvIGNhc2VzIHRvby4KCSAgRG9uJ3QgYXNrIGZvciB0aGUgcGVlcmNhcHMgb2YgdGhlIGN1cnJlbnQgcGFkIGluIGdldGNhcHMoKSBhcyB0aGlzCgkgIG1pZ2h0IGNhbGwgZ2V0Y2FwcygpIGFnYWluIGFuZCBkZWFkbG9jay4KCjIwMDgtMDUtMTYgMjI6MDA6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiBDaGVjayBzb21lIG1vcmUgY29tbW9uIGxvY2F0aW9ucyBmb3IgYSB2YWxpZCBjb25maWd1cmF0aW9uIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpOgoJICBDaGVjayBzb21lIG1vcmUgY29tbW9uIGxvY2F0aW9ucyBmb3IgYSB2YWxpZCBjb25maWd1cmF0aW9uIGZpbGUuCgkgIEZpeGVzIGJ1ZyAjNTMzNDM1LiBQYWNrYWdlcnMgc2hvdWxkIHN0aWxsICNkZWZpbmUgV0lMRE1JRElfQ0ZHCgkgIHRvIHRoZSBkaXN0cmlidXRpb25zIGRlZmF1bHQgbG9jYXRpb24uCgoyMDA4LTA1LTE2IDIxOjU2OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfMjQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uCgkgIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgRG9uJ3QgYWxsb3cgY2hhbmdlcyBvZiB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgYW5kIHNldCB0aGUgcG9zaXRpb24gb2YKCSAgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbm5lbCBvbiB0aGUgc3JjIHBhZCBjYXBzLgoJICBHZW5lcmFsIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpOgoJICBDaGVjayB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIG91dHB1dCBidWZmZXIgY2Fwcy4KCjIwMDgtMDUtMTYgMTk6NTY6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgQWRkIGxpYmdzdHZpZGVvIHRvIHRoZSBsaW5rLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBGaXggbGluayBvcmRlciwgYW5kIG1vdmUgTElCUyB0aGluZ3MgdG8gX0xJQlMKCjIwMDgtMDUtMTYgMTQ6NDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOiBSZW1vdmUgYm9ndXMgYXR0ZW1wdCB0byBwdWxsICdtZXRhZGF0YScgcGx1Z2luJ3MgYmFzZSBjbGFzcyBpbnRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIFJlbW92ZSBib2d1cyBhdHRlbXB0IHRvIHB1bGwgJ21ldGFkYXRhJyBwbHVnaW4ncyBiYXNlCgkgIGNsYXNzIGludG8gdGhlIGRvY3MuCgoyMDA4LTA1LTE0IDIxOjAyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBlcnJvciBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuCgkgIGVycm9yIGFuZCBzdG9wcGluZy4gVGhpcyBpcyBhIHBlcmZlY3RseSByZWNvdmVyYWJsZSBldmVudCBhbmQgd2UgZG9uJ3QKCSAgZm9yY2UgcGVvcGxlIHRvIHVzZSBhbiBydHBiaW4gdG8gZmlsdGVyIG91dCBiYWQgcGFja2V0cyBmaXJzdC4KCjIwMDgtMDUtMTQgMjA6NTc6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgc3JjcGFkIGFmdGVyIHdlIGNyZWF0ZWQgdGhlIHBhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiAoZ3N0X21wZWc0dnBhcnNlX2luaXQpOgoJICBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgc3JjcGFkIGFmdGVyIHdlIGNyZWF0ZWQgdGhlIHBhZC4uLgoKMjAwOC0wNS0xNCAxNjoyMTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgZGVpbnRlcmxlYXZlIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggYWdhaW4gbm93IHRoYXQgdGhlcmUgYXJlIHN1cHByZXNzaW9ucyBpbiBnc3Qucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGRlaW50ZXJsZWF2ZSB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIGFnYWluIG5vdyB0aGF0CgkgIHRoZXJlIGFyZSBzdXBwcmVzc2lvbnMgaW4gZ3N0LnN1cHAgd2hpY2ggbWFrZSB0aGlzIHdvcmsgZm9yIG1lLgoKMjAwOC0wNS0xNCAxNDoxOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcyB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMKCSAgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiB2YWxncmluZC9saWJjIGFmdGVyIF9leGl0IGZvciBzb21lCgkgIHJlYXNvbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKHBhZHNfY3JlYXRlZCksCgkgIChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMl84Y2gpLAoJICAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKSwKCSAgKG1ha2VfZmFrZV9zcmNfOGNoYW5zX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBkZWludGVybGVhdmUgdW5pdCB0ZXN0IGJpdHMgSSBoYWQgbG9jYWxseS4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDA4LTA1LTE0IDEzOjU3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHdoaWNoIG1hZGUgYmFzZXRyYW5zZm9ybSBoYW5kbGUgYnVmZmVyX2FsbG9jIGFuZCB3aGljaCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHdoaWNoIG1hZGUgYmFzZXRyYW5zZm9ybSBoYW5kbGUgYnVmZmVyX2FsbG9jCgkgIGFuZCB3aGljaCBicmVha3MgdGhpbmdzIGJhZGx5IGluIHRoZSBub24tcGFzc3Rocm91Z2ggY2FzZSBzaW5jZSBpdAoJICByZXR1cm5lZCBidWZmZXJzIHdpdGggYSBkaWZmZXJlbnQgKGllLiBzb21ldGltZXMgc21hbGxlcikgc2l6ZSB0aGFuCgkgIHRoZSBzaXplIHJlcXVlc3RlZC4KCjIwMDgtMDUtMTQgMDc6MzI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uCgkgIGdlbmVyYXRpb24uCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgRG9uJ3QgdXNlIGFsbG9jYSwgYWxsb3cgY2FwcyBjaGFuZ2VzIGFzIGxvbmcgYXMgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICBkb2VzIG5vdCBjaGFuZ2UsIGRvbid0IHVzZSBnX3dhcm5pbmcsIHJldHVybiBOT1RfTkVHT1RJQVRFRCBhcyBlYXJseQoJICBhcyBwb3NzaWJsZSBhbmQgc29tZSBvdGhlciBjbGVhbnVwLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgRG8gc29tZSByYW5kb20gY2xlYW51cC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwgKGRlaW50ZXJsZWF2ZV9wYWRfYWRkZWQpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBkZWludGVybGVhdmUgZWxlbWVudC4KCjIwMDgtMDUtMTMgMTc6MjE6MDcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLio6IFBhcnNlIHRoZSBjb25maWcgZGF0YSAoZWl0aGVyIG91dGJvdW5kIG9yIGluIHRoZSBzdHJlYW0pIHRvIHNldCB3aWR0aC9oZWlnaHQsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9zZXRfbmV3X2NhcHMpLCAoZ3N0X21wZWc0dnBhcnNlX2FsaWduKSwKCSAgKGdldF9iaXRzKSwgKG5leHRfc3RhcnRfY29kZSksIChnc3RfbXBlZzR2cGFyc2VfaGFuZGxlX3ZvcyksCgkgIChnc3RfbXBlZzR2cGFyc2VfcHVzaCksIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWc0dnBhcnNlX3NyY19xdWVyeSksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9tcGVnNHZwYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIFBhcnNlIHRoZSBjb25maWcgZGF0YSAoZWl0aGVyIG91dGJvdW5kIG9yIGluIHRoZSBzdHJlYW0pIHRvIHNldAoJICB3aWR0aC9oZWlnaHQsIGFwZWN0IHJhdGlvbiwgZnJhbWVyYXRlIGluIHRoZSBjYXBzIGlmIGFwcGxpY2FibGUuCgkgIE1hcmsgZnJhbWVzIGFzIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHdoZW4gdGhleSBhcmUgbm90CgkgIGludHJhIGZyYW1lcwoJICBTZXQgdGhlIHRpbWVzdGFtcHMgb2Ygb3V0Z29pbmcgYnVmZmVycyB0byB0aGUgYnVmZmVyIGluCgkgIHdoaWNoIHRoZSBWT1AgaGVhZGVyIHdhcyBmb3VuZC4KCSAgRHJvcCBpbmNvbWluZyBkYXRhIHVudGlsbCBjb25maWd1cmF0aW9uIGlzIGZvdW5kIChieSBkZWZhdWx0LAoJICBjb25maWd1cmFibGUgdXNpbmcgYSBwcm9wZXJ0eSkuCgkgIFJlcG9ydCBhIDEgZnJhbWUgbGF0ZW5jeS4gRml4ZXMgIzUzMjcyMy4KCjIwMDgtMDUtMTMgMTY6MTY6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgZGVidWcgZm9yIHdoZXJlIHdlIGFyZSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBmb3Igd2hlcmUgd2UgYXJlIHNlYXJjaGluZyBmb3IgbGlicmFyaWVzLgoKMjAwOC0wNS0xMyAxMDo1OTo0OSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IGJhc2V0cmFuc2Zvcm0gbmVnb3RpYXRpb24gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGxpdmVfc3dpdGNoX2FsbG9jX29ubHlfNDgwMDApLCAobGl2ZV9zd2l0Y2hfZ2V0X3NpbmtfY2FwcyksCgkgIChsaXZlX3N3aXRjaF9wdXNoKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBiYXNldHJhbnNmb3JtIG5lZ290aWF0aW9uIGNoYW5nZXMuCgkgIFNlZSBidWcgIzUyNjc2OC4KCjIwMDgtMDUtMTMgMDk6MDY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoKMjAwOC0wNS0xMiAxODo0Mzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYSBsb3dlciB0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEKCSAgbG93ZXIgdGltZXN0YW1wIHRoYW4gdGhlIGN1cnJlbnQgcGFja2V0LgoKMjAwOC0wNS0xMiAxNDoyODowOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0byBwcmV2ZW50IGEgbWVtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8KCSAgcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0xMiAxNDoxNzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBRdWlldGVuIHNvbWUgZG9jcyBvdXRwdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUXVpZXRlbiBzb21lIGRvY3Mgb3V0cHV0CgoyMDA4LTA1LTEyIDE0OjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDUtMTEgMTc6MjM6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmFuZG9tIGRvYyBvZiB0aGUgZGF5OiB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUmFuZG9tIGRvYyBvZiB0aGUgZGF5OiB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCjIwMDgtMDUtMDkgMTA6MjE6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBNYWtlIHN1cmUgYWxsIHNjaGVkdWxlIEVJVCBhbmQgbm9uLWFjdHVhbCB0cmFuc3BvcnQgc3RyZWFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1ha2Ugc3VyZSBhbGwgc2NoZWR1bGUgRUlUIGFuZCBub24tYWN0dWFsIHRyYW5zcG9ydCBzdHJlYW0KCSAgRUlUcyBhcmUgcGFyc2VkLiBBbHNvIGFkZCBwcmVzZW50LWZvbGxvd2luZyBmbGFnIGFuZAoJICBhY3R1YWwtdHJhbnNwb3J0LXN0cmVhbSBmbGFnIHRvIGVpdCBidXMgbWVzc2FnZS4KCjIwMDgtMDUtMDkgMDc6NDE6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTA4IDE5OjE2OjE3ICswMDAwICBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodEBudGx3b3JsZC5jb20+CgoJICBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLCBzbyBtYXNrIHRob3NlIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodCBudGx3b3JsZCBjb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogKGdzdF9vc3M0X21peGVyX3NsaWRlcl91bnBhY2tfdm9sdW1lKToKCSAgQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywKCSAgc28gbWFzayB0aG9zZSBvdXQgd2hlbiByZWFkaW5nIHRoZW0uIFByb2JhYmx5IG1ha2VzIHRoZSBtaXhlciBhcHBsZXQKCSAgd29yayBwcm9wZXJseSBpbiBzb21lIG1vcmUgY2FzZXMuCgoyMDA4LTA1LTA4IDA5OjQzOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX2Nsb2NrX3JhdGUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKToKCSAgVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTMyMDExLgoKMjAwOC0wNS0wOCAwNjoyMzozOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoKMjAwOC0wNS0wOCAwNjoyMDo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBMZXQgYXVkaW9yZXNhbXBsZSB1c2UgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIGJhc2V0cmFuc2Zvcm0gaW5zdGVhZCBvZiBpdCdzIG93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgTGV0IGF1ZGlvcmVzYW1wbGUgdXNlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBvZiBiYXNldHJhbnNmb3JtIGluc3RlYWQKCSAgb2YgaXQncyBvd24gc3R1ZmYuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoYWxsb2Nfb25seV80ODAwMCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb3Jlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIHJlY2VudCBiYXNldHJhbnNmb3JtIGJ1Z2ZpeCwgd2hlcmUgdXBzdHJlYW0KCSAgY2hhbmdlcyBjYXBzIHRvIHNvbWV0aGluZyB0aGF0IGNhbid0IGJlIHBhc3NlZCB0aHJvdWdoIGFueW1vcmUuCgoyMDA4LTA1LTA3IDIwOjI1OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOiBEb24ndCBkZWZpbmUgR1NUX0ZVTkNUSU9OLCBpZiBHTGliIHN1cHBvcnRzIE1TVkMgd2UnZCBtdWNoIHJhdGhlciB1c2UgdGhlIHJlYWwgdGhpbmcgdGhhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9GVU5DVElPTiwgaWYgR0xpYiBzdXBwb3J0cyBNU1ZDIHdlJ2QgbXVjaCByYXRoZXIKCSAgdXNlIHRoZSByZWFsIHRoaW5nIHRoYW4gaGF2aW5nICI/Pz8iIHVuY29uZGl0aW9uYWxseS4KCjIwMDgtMDUtMDcgMTA6Mzg6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwLzogQWRkIG1hcnNoYWwubGlzdCwgbWFrZSBpdCBjb21waWxlIGFuZCBhZGQgdG8gY3ZzaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwLy5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsLmxpc3QsIG1ha2UgaXQgY29tcGlsZSBhbmQgYWRkIHRvIGN2c2lnbm9yZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc2lua19zdG9wKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3VubG9jayksCgkgIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19zdG9wKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSksIChnc3RfYXBwX3NyY19zZXRfY2FwcyksCgkgIChnc3RfYXBwX3NyY19nZXRfY2FwcyksIChnc3RfYXBwX3NyY19zZXRfc2l6ZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc2l6ZSksIChnc3RfYXBwX3NyY19zZXRfc2Vla2FibGUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3NlZWthYmxlKSwgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnVmZmVycyksCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J1ZmZlcnMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQmVhdCBhcHBzcmMgaW4gc2hhcGUsIGFkZCBzaWduYWxzIGFuZCBhY3Rpb25zLgoJICBBZGQgc29tZSBkb2NzLgoJICBBZGQgcHJvcGVydGllcyBmb3IgY2Fwcywgc2l6ZSwgc2Vla2FiaWxpdHkgYW5kIG1heC1idWZmZXJzLgoJICBGaXggdW5sb2NrL3N0b3AgY29kZS4KCjIwMDgtMDUtMDcgMDc6NTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIHZlcnNpb25zIG9mIGNvcmUvYmFzZS4KCjIwMDgtMDUtMDUgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogU3RhcnQgc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19pbml0KSwgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfdW5sb2NrX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLAoJICAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwgKGdzdF9hcHBfc2lua19zdG9wKSwgKGdzdF9hcHBfc2lua19ldmVudCksCgkgIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3Npbmtfc2V0X2Ryb3ApLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9kcm9wKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgU3RhcnQgc29tZSBkb2NzLgoJICBBZGQgcHJvcGVydHkgdG8gZHJvcCBidWZmZXJzIHdoZW4gdGhlIHF1ZXVlIGlzIGZpbGxlZAoJICBGaXggdW5sb2NraW5nIGFuZCBmbHVzaGluZyB3aGVuIHRoZSBxdWV1ZXMgYXJlIGZpbGxlZC4KCjIwMDgtMDUtMDIgMTQ6NDA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgd2lsZG1pZGkgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgd2lsZG1pZGkgcGx1Z2luCgoyMDA4LTA0LTI5IDE5OjExOjU2ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiBEZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGJsb2Nrcy4gRml4ZXMgY29tcGlsYXRpb24gd2l0aCBnY2MgMi54IGFuZCBvdGhlciBjb21waWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IChnc3Rfc3J0X2VuY190aW1lc3RhbXBfdG9fc3RyaW5nKToKCSAgRGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBibG9ja3MuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGgKCSAgZ2NjIDIueCBhbmQgb3RoZXIgY29tcGlsZXJzLiBGaXhlcyBidWcgIzUzMDYxMS4KCjIwMDgtMDQtMjkgMDk6MDI6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBEZXRlY3QgU0kgcGlkcyAoTklULCBTRFQsIEVJVCBldGMuKSBiYXNlZCBvbiB0YWJsZSBpZCBhbmQgbm90IGJ5IHBpZCBudW1iZXIuIFRoaXMgYWxsb3dzIGZvciBleGFtcGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBEZXRlY3QgU0kgcGlkcyAoTklULCBTRFQsIEVJVCBldGMuKSBiYXNlZCBvbiB0YWJsZSBpZCBhbmQgbm90CgkgIGJ5IHBpZCBudW1iZXIuIFRoaXMgYWxsb3dzIGZvciBleGFtcGxlIHRoZSBFUEcgZGF0YSBmcm9tIFVLJ3MKCSAgZnJlZXNhdCB0byBiZSBwaWNrZWQgdXAuCgoyMDA4LTA0LTI1IDIzOjIyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvOiBDYXN0IE5VTEwgc2VudGluZWxzIHRvIHZvaWQgKiBhcyBOVUxMIGlzIGRlZmluZWQgYXMgYW4gaW50ZWdlciBjb25zdGFudCBpbiBtb3N0IGVudmlyb25tZW50cyB3aGVuIHVzaW5nIEMrKyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgQ2FzdCBOVUxMIHNlbnRpbmVscyB0byB2b2lkICogYXMgTlVMTCBpcyBkZWZpbmVkIGFzIGFuIGludGVnZXIKCSAgY29uc3RhbnQgaW4gbW9zdCBlbnZpcm9ubWVudHMgd2hlbiB1c2luZyBDKysgYW5kIGl0J3Mgc2l6ZSBtaWdodAoJICBiZSBkaWZmZXJlbnQgZnJvbSBhIHBvaW50ZXIuCgoyMDA4LTA0LTI1IDE4OjE4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IEFkZCBtb3JlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2luaXQpLCAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua19ldmVudCksCgkgIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfZW1pdF9zaWduYWxzKSwgKGdzdF9hcHBfc2lua19nZXRfZW1pdF9zaWduYWxzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfbWF4X2J1ZmZlcnMpLCAoZ3N0X2FwcF9zaW5rX2dldF9tYXhfYnVmZmVycyksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBBZGQgbW9yZSBkb2NzLgoJICBBZGQgc2lnbmFscyBmb3Igd2hlbiBwcmVyb2xsIGFuZCByZW5kZXIgYnVmZmVycyBhcmUgYXZhaWxhYmxlLgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBzaWduYWwgZW1pc3Npb24uCgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBtYXggcXVldWUgc2l6ZS4KCjIwMDgtMDQtMjUgMTg6MTM6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbTogVXNlIENYWEZMQUdTIHJhdGhlciB0aGFuIENGTEFHUzsgdGhlc2UgYXJlIEMrKyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICBVc2UgQ1hYRkxBR1MgcmF0aGVyIHRoYW4gQ0ZMQUdTOyB0aGVzZSBhcmUgQysrIGZpbGVzLgoJICBEZWZpbmUgcmVxdWlyZWQgY29uc3RhbnRzIGFwcHJvcHJpYXRlbHkuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmVkIGluY2x1ZGUgZGlyLCBsaWJyYXJpZXMuCgkgIERlZmluZSByZXF1aXJlZCBjb25zdGFudHMgYXBwcm9wcmlhdGVseS4KCjIwMDgtMDQtMjUgMTE6MzI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgoyMDA4LTA0LTI1IDExOjIyOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEgcHJvcGVydHkgdG8gZW5hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYQoJICBwcm9wZXJ0eSB0byBlbmFiZSBpdC4gV2Ugd2lsbCBsaWtlbHkgZW5hYmxlIGl0IGJ5IGRlZmF1bHQgd2hlbiB0aGUgYmFzZQoJICBkZXBheWxvYWRlcnMgaGF2ZSBhIGRlZmF1bHQgaGFuZGxlciBmb3IgdGhlbSBzbyB0aGF0IHdlIGRvbid0IHNlbmQgdGhlc2UKCSAgZXZlbnRzIGFsbCB0aHJvdWdoIHRoZSBwaXBlbGluZSBmb3Igbm93LgoKMjAwOC0wNC0yNSAwOTozNTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIEFkZCBzcmMgZXZlbnQgaGFuZGxlci4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgcHVzaGluZyBsb29wIHNvIHRoYXQgaXQgY2FuIHF1aWNrbHkgcmVhY3QgdG8KCSAgbG9zdCBwYWNrZXRzIGFuZCBpbnN0cnVjdCB0aGUgZGVwYXlsb2FkZXIgb2YgdGhlbS4gVGhpcyBjYW4gdGhlbiBiZSB1c2VkCgkgIHRvIGltcGxlbWVudCBlcnJvciBjb25jZWFsbWVudCBkYXRhLgoKMjAwOC0wNC0yNSAwODoyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UgdGhlIGRlZmF1bHRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZQoJICB0aGUgZGVmYXVsdHMgYXJlIHJlYWxseSBub3QgY29ycmVjdC4KCSAgSW1wbGVtZW50IGEgcXVlcnkgaGFuZGxlciBmb3IgdGhlIFJUQ1Agc3JjIHBhZCwgbW9zdGx5IHRvIGNvcnJlY3RseQoJICByZXBvcnQgYWJvdXQgdGhlIGxhdGVuY3kuCgoyMDA4LTA0LTI1IDA4OjE1OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgUlRQIHRpbWVzdGFtcCBhcyB0aGV5IGJvdGggYXJlIG5lZWRlZCB0byBjb25zdHJ1Y3QgdGhlIHRpbWluZyBvZgoJICBvdXRnb2luZyBwYWNrZXRzIGluIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFyZSB0aGVyZWZvcmUgYWxzbyBuZWVkZWQgdG8KCSAgbWFuYWdlIGxpcC1zeW5jLiBUaGlzIGZpeGVzIGxpcC1zeW5jIGlmIHRoZSBmaXJzdCBSVFAgcGFja2V0cyBhcnJpdmUKCSAgd2l0aCBhIHdpbGRseSBkaWZmZXJlbnQgZ2FwLgoKMjAwOC0wNC0yNSAwODowNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgoyMDA4LTA0LTI0IDIyOjE5OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBsaWJtcGNkZWMgQVBJIHdoaWNoIG1hZ2ljYWxseSBnZXRzIHVzIHN1cHBvcnQgZm9yIFNWOCBmaWxlcy4gQWxzbyBkbyBzb21lIHJhbmRvbSBjbGVhbnVwLiBGaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfZGlzcG9zZSksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgbGlibXBjZGVjIEFQSSB3aGljaCBtYWdpY2FsbHkgZ2V0cyB1cyBzdXBwb3J0CgkgIGZvciBTVjggZmlsZXMuIEFsc28gZG8gc29tZSByYW5kb20gY2xlYW51cC4gRml4ZXMgYnVnICM1MjY5MDUuCgoyMDA4LTA0LTI0IDIxOjI0OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjcuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC43LjEKCSAgPT09IHJlbGVhc2UgMC4xMC43ID09PQoKPT09IHJlbGVhc2UgMC4xMC43ID09PQoKMjAwOC0wNC0yNCAwMDoxODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC43CgoyMDA4LTA0LTI0IDAwOjE1OjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA0LTIyIDE1OjA3OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IGxlYWsgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24uIEZpeGVzICM1MjkzNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRG9uJ3QgbGVhayBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbi4gRml4ZXMgIzUyOTM3OC4KCjIwMDgtMDQtMjIgMDg6MTg6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFJlZiBjYXBzLCBzZWUgIzUyODI0NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAocmVxdWVzdF9wdF9tYXApOgoJICBSZWYgY2Fwcywgc2VlICM1MjgyNDUuCgoyMDA4LTA0LTIyIDAwOjIxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC42LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjYuNCBwcmUtcmVsZWFzZQoKMjAwOC0wNC0yMSAyMTo1NDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgoyMDA4LTA0LTIxIDIxOjUyOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogRG9uJ3QgbGVhayB0aGUgdGFncyBzdHJpbmcgYW5kIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlcik6CgkgIERvbid0IGxlYWsgdGhlIHRhZ3Mgc3RyaW5nIGFuZCB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODMuCgoyMDA4LTA0LTIxIDA4OjI2OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRG9uJ3QgbGVhayBwYWRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEF2b2lkIGEgY2FwcyBsZWFrLgoJICBEb24ndCBsZWFrIHJlZmNvdW50IGluIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEF2b2lkIGNhcHMgbGVha3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChyZXR1cm5fdHJ1ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIEZpeCBzb21lIG1vcmUgY2FwcyBsZWFrcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTggMTg6NTE6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCjIwMDgtMDQtMTcgMjM6MDE6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjYuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNi4zIHByZS1yZWxlYXNlCgoyMDA4LTA0LTE3IDE4OjI4OjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUmV2ZXJ0IHBhdGNoIHRoYXQgYWRkZWQgYSBsb29wIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFJldmVydCBwYXRjaCB0aGF0IGFkZGVkIGEgbG9vcCB0aW1lb3V0LgoJICBGaXhlcyAjNTI4NjE0LgoKMjAwOC0wNC0xNyAwNzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwgKGZyZWVfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9nZXRfZnJlZV9wYWRfbmFtZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgRG9uJ3QgbGVhayBhIHBhZG5hbWUuCgkgIERvbid0IGxlYWsgY2xpZW50IHN0cmVhbXMgbGlzdC4KCSAgTG9jayBydHBiaW4gd2hlbiBhc3NvY2lhdGluZyBzdHJlYW1zLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xNiAwOTo1MDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IGlubGN1ZGUgZGMxMzk0c3JjIGluIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0IGFzIGl0IHJlcXVpcmVzIHNwZWNpYWwgaGFyZHdhcmUuIEZpeGVzIGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbmxjdWRlIGRjMTM5NHNyYyBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdCBhcyBpdCByZXF1aXJlcwoJICBzcGVjaWFsIGhhcmR3YXJlLiBGaXhlcyBidWcgIzUyODAxMS4KCjIwMDgtMDQtMTYgMDk6NDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBPbmx5IGNoZWNrIGlmIHRoZSBnZW5lcmF0ZWQgZmluZ2VycHJpbnRzIGFyZSB2YWxpZCBCYXNlNjQuIFRoZSBmaW5nZXJwcmludHMgYXJlIGRpZmZlcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgT25seSBjaGVjayBpZiB0aGUgZ2VuZXJhdGVkIGZpbmdlcnByaW50cyBhcmUgdmFsaWQgQmFzZTY0LiBUaGUKCSAgZmluZ2VycHJpbnRzIGFyZSBkaWZmZXJlbnQgd2hlbiBydW5uaW5nIG9uIGRpZmZlcmVudCBhcmNoaXRlY3R1cmVzCgkgIHdoaWNoIGlzIGEpIG5vIHByb2JsZW0gYmVjYXVzZSB0aGUgZmluZ2VycHJpbnRzIGFyZSB0b2xlcmFudCBlbm91Z2gKCSAgYW5kIGIpIGlzIGNhdXNlZCBieSBsaWJvZmEuIEZpeGVzIGJ1ZyAjNTI4MjY2LgoKMjAwOC0wNC0xNiAwOTo0NTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBzb3VyY2UgZmlsZXMsIG5vIG1hdHRlciBpZiBvbmx5IHRpbWlkaXR5IG9yIHdpbGRtaWRpIG9yIG5vdGhpbmcgaXMgZm91bmQgYnkgY29uZmlnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgc291cmNlIGZpbGVzLCBubyBtYXR0ZXIgaWYgb25seSB0aW1pZGl0eSBvciB3aWxkbWlkaSBvcgoJICBub3RoaW5nIGlzIGZvdW5kIGJ5IGNvbmZpZ3VyZS4gRml4ZXMgYnVnICM1MjgwMDAuCgoyMDA4LTA0LTE0IDIwOjA5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46IFJlbW92ZSBzb3VwaHR0cHNyYyBwbHVnaW4gZnJvbSBzcGVjIGZpbGVzLCBpdCdzIG1vdmVkIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIHNvdXBodHRwc3JjIHBsdWdpbiBmcm9tIHNwZWMgZmlsZXMsIGl0J3MgbW92ZWQgdG8gLWdvb2QuCgoyMDA4LTA0LTEzIDIzOjExOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgc291cCB0ZXN0IGNlcnRpZmljYXRlcyBmcm9tIHRoZSBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgZGlzdC4KCjIwMDgtMDQtMTMgMjA6NTQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggY29tcGlsYXRpb24gYnkgY2FzdGluZyBzdHJpbmcgY29uc3RhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIEZpeCBjb21waWxhdGlvbiBieSBjYXN0aW5nIHN0cmluZyBjb25zdGFudHMuCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBGaXggV0lOSU5FVF9ESVIgdmFyaWFibGUgcmVmZXJlbmNlLgoKMjAwOC0wNC0xMiAyMzozMjoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgc291cCBwbHVnaW4gdGhhdCdzIG1vdmVkIHRvIC1nb29kICgjNTIzMTI0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBSZW1vdmUgc291cCBwbHVnaW4gdGhhdCdzIG1vdmVkIHRvIC1nb29kICgjNTIzMTI0KQoKMjAwOC0wNC0xMSAyMzoxOToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcyBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KToKCSAgSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcwoJICBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYSBOVUxMIHN0cmluZyAoIzUyNzYyMikuCgoyMDA4LTA0LTExIDE5OjMzOjUzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLio6IERvbid0IGluY3JlYXNlIGxhdGVuY3kgYnkgcXVldWluZyBidWZmZXJzIGluIGFuIGFzeW5jIHF1ZXVlIHdoZW4gdGhlIHN0cmVhbWluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6IChQUk9QX0RFVklDRV9OQU1FKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2RzaG93dmlkZW9zcmNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb3NyY19kaXNwb3NlKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3N0b3ApLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfdW5sb2NrKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2NyZWF0ZSksIChnc3RfZHNob3d2aWRlb3NyY19wdXNoX2J1ZmZlcik6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIERvbid0IGluY3JlYXNlIGxhdGVuY3kgYnkgcXVldWluZyBidWZmZXJzIGluIGFuIGFzeW5jIHF1ZXVlIHdoZW4KCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgY2FuJ3Qga2VlcCB1cCBvciBpc24ndCBzY2hlZHVsZWQgb2Z0ZW4KCSAgZW5vdWdoIGZvciBzb21lIG90aGVyIHJlYXNvbiwgYnV0IGp1c3QgZHJvcCB0aGUgcHJldmlvdXMgYnVmZmVyCgkgIGluIHRoYXQgY2FzZS4gQWxzbyBpbXBsZW1lbnQgR3N0QmFzZVNyYzo6dW5sb2NrIGZvciBmYXN0ZXIKCSAgdW5sb2NraW5nIHdoZW4gc2h1dHRpbmcgZG93bi4gKCM1MjA4OTIpLgoKMjAwOC0wNC0xMSAxODo0NjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci4qOiBSZW1vdmUgR3N0WE92ZXJsYXkgc3R1ZmYgYW5kIHVzZSBnZGtwaXhidWZzaW5rIHBsdXMgc29tZSByYXRoZXIgY3J1ZGUgZHJhd2luZy9zY2FsaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogKEVOQ19VTktOT1dOKSwgKGxhc3RfcGl4YnVmKSwKCSAgKGRyYXdfcGl4YnVmKSwgKGNoYW5nZV90YWdfbGlzdCksICh1cGRhdGVfZHJhd19waXhidWYpLAoJICAodWlfZHJhd2luZ19zaXplX2FsbG9jYXRlX2NiKSwgKG9uX2RyYXdpbmdNYWluX2V4cG9zZV9ldmVudCksCgkgIChvbl9idXR0b25TYXZlRmlsZV9jbGlja2VkKSwgKHVpX2NyZWF0ZSksIChtZV9nc3RfYnVzX2NhbGxiYWNrX3ZpZXcpLAoJICAobWVfZ3N0X3NldHVwX3ZpZXdfcGlwZWxpbmUpLCAocHJvY2Vzc19maWxlKToKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIFJlbW92ZSBHc3RYT3ZlcmxheSBzdHVmZiBhbmQgdXNlIGdka3BpeGJ1ZnNpbmsgcGx1cyBzb21lIHJhdGhlciBjcnVkZQoJICBkcmF3aW5nL3NjYWxpbmcgbG9naWMgdG8gbWFrZSB0aGlzIGNvbXBpbGUgYW5kIHdvcmsgb24gYWxsIHBsYXRmb3Jtcy4KCSAgRml4ZXMgIzUxODIyNy4KCjIwMDgtMDQtMTEgMTM6NTc6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZCBjb25mdXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkCgkgIGNvbmZ1c2lvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGRlaW50ZXJsYWNlX2RlYnVnKSwKCSAgKEdTVF9DQVRfREVGQVVMVCksIChnc3RfZGVpbnRlcmxhY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIF9zZXRfZWxlbWVudF9kZXRhaWxzX3NpbXBsZSBhbmQKCSAgcmVtb3ZlIHNwZWNpYWwgY29kZSBwYXRoIGZvciBZNDJCIHRvIGNhbGN1bGF0ZSBvZmZzZXRzIGFuZAoJICBzdHJpZGVzOyBsaWJnc3R2aWRlbyBrbm93cyBob3cgdG8gaGFuZGxlIHRoaXMgZm9ybWF0IG5vdy4KCjIwMDgtMDQtMTEgMTM6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvY2R4YXBhcnNlLzogUG9ydCBWQ0QgcGFyc2VyIChmb3JtZXJseSBjZHhhc3RyaXApIGZyb20gMC44IHRvIDAuMTAuIERvZXNuJ3QgZG8gYW55dGhpbmcgdGhlIDAuOCB2ZXJzaW9uIGRpZG4ndCBkbyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJICBQb3J0IFZDRCBwYXJzZXIgKGZvcm1lcmx5IGNkeGFzdHJpcCkgZnJvbSAwLjggdG8gMC4xMC4gRG9lc24ndCBkbwoJICBhbnl0aGluZyB0aGUgMC44IHZlcnNpb24gZGlkbid0IGRvIHRob3VnaC4KCjIwMDgtMDQtMTEgMDg6MTM6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL29zczQvOiBGaXggYXJndW1lbnRzIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0xMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKGdzdF9vc3M0X21peGVyX2VudW1fZ2V0X3ZhbHVlc19sb2NrZWQpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZGVsYXkpOiBGaXggYXJndW1lbnRzCgkgIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wNC0xMCAxNToyOTo0NCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEFkZCB3aW5pbmV0c3JjIGZvciBiYXNpYyBodHRwL2Z0cCBzdXBwb3J0IG9uIHdpbmRvd3MgKCM1MjA4OTcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuaDoKCSAgQWRkIHdpbmluZXRzcmMgZm9yIGJhc2ljIGh0dHAvZnRwIHN1cHBvcnQgb24gd2luZG93cyAoIzUyMDg5NykuCgoyMDA4LTA0LTEwIDEwOjAxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi9uc2YuaDogQ2hhbmdlIHByb3RvdHlwZSBvZiBwcm9jZXNzIGZ1bmN0aW9uIGhlcmUgdG9vIHRvIGF2b2lkICdpbmNvbXBhdGlibGUgYXNzaWdubWVudCcgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgIENoYW5nZSBwcm90b3R5cGUgb2YgcHJvY2VzcyBmdW5jdGlvbiBoZXJlIHRvbyB0byBhdm9pZAoJICAnaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQnIHdhcm5pbmdzLgoKMjAwOC0wNC0xMCAwNzoxMTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcyBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcwoJICBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwcyBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIFRoZSByZWFsIGZpeCB3b3VsZCBiZSB0byBpbXBsZW1lbnQgYW4gc2hvdXRjYXN0IHNlcnZlciBmb3IgdGhlIHVuaXQgdGVzdAoJICBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSB3b3JraW5nIGludGVybmV0IGNvbm5lY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTIxNzQ5LgoKMjAwOC0wNC0wOSAyMjoyNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoKMjAwOC0wNC0wOSAxMzo0Mzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbnNmL25lc19hcHUuKjogRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMgLSBpdCdzIGEgZ2NjIGV4dGVuc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6IChhcHVfcHJvY2Vzcyk6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljIC0gaXQncyBhIGdjYyBleHRlbnNpb24uCgoyMDA4LTA0LTA2IDIwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgIFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUKCSAgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHdoZW4gc3RhcnRpbmcgdXAgbXVsdGlwbGUgcGxheWJpbgoJICBvYmplY3RzIGNvbmN1cnJlbnRseSAoc2VlICM1MTIzODIpLgoKMjAwOC0wNC0wNiAwOTowMTo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpOgoJICBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgR1NUX1NPVVBfSFRUUF9TUkNfU0VTU0lPTl9JT19TVEFUVVNfUlVOTklORy4gRml4ZXMgYnVnICM1MjYzMzcuCgoyMDA4LTA0LTA2IDA4OjU4OjM5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgRml4ZXMgYnVnICM1MjYyNDcuCgoyMDA4LTA0LTA1IDExOjAzOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogQWxzbyBjaGVjayB0aGF0IHdlIGhhdmUgcHJvY2Vzc2VkIGF0IGxlYXN0IDEzNSBzZWNvbmRzIG9mIGF1ZGlvIHVudGlsIHdlIHN0b3AgYW5kIGNhbGN1bGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFsc28gY2hlY2sgdGhhdCB3ZSBoYXZlIHByb2Nlc3NlZCBhdCBsZWFzdCAxMzUgc2Vjb25kcyBvZiBhdWRpbwoJICB1bnRpbCB3ZSBzdG9wIGFuZCBjYWxjdWxhdGVkIGEgZmluZ2VycHJpbnQuCgoyMDA4LTA0LTA0IDIwOjQzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3N1YmVuYy9nc3RzcnRlbmMuKjogR3N0U3J0ZW5jID0+IEdzdFNydEVuYyBhbmQgZ3N0X3NydGVuY18gPT4gZ3N0X3NydF9lbmNfLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmg6CgkgIEdzdFNydGVuYyA9PiBHc3RTcnRFbmMgYW5kIGdzdF9zcnRlbmNfID0+IGdzdF9zcnRfZW5jXy4KCjIwMDgtMDQtMDQgMTk6MTg6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNpbXBsZSB1bml0IHRlc3RzIGZvciB0aGUgT0ZBIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKG9mYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3RzIGZvciB0aGUgT0ZBIHBsdWdpbi4KCjIwMDgtMDQtMDMgMTQ6MjM6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgb3NzdjQgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IG9zc3Y0IHBsdWdpbgoKMjAwOC0wNC0wMiAyMDoxODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5oOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsCgkgIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoKMjAwOC0wNC0wMSAyMjo0MDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBuZXcgc3J0ZW5jIHBsdWdpbiB0byBzdWJlbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3Qvc3J0ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuaDoKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbmFtZSBuZXcgc3J0ZW5jIHBsdWdpbiB0byBzdWJlbmMuCgoyMDA4LTA0LTAxIDIwOjMzOjE5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHNwZWMnYSdsZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjJ2EnbGVjCgoyMDA4LTA0LTAxIDE5OjUzOjUzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQ2FibGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlc2NyaXB0b3JzJyBmcmVxdWVuY3kncyBiY2QgaXMgbWVhc3VyZWQgaW4gMTAwSHogdW5pdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENhYmxlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZXNjcmlwdG9ycycgZnJlcXVlbmN5J3MgYmNkCgkgIGlzIG1lYXN1cmVkIGluIDEwMEh6IHVuaXRzIHNvIGFkanVzdCBtdWx0aXBsaWVyIGFjY29yZGluZ2x5LgoKMjAwOC0wNC0wMSAxMzo0Mjo1NSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBzcnQgc3VidGl0bGUgZW5jb2RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NydGVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmg6CgkgIEFkZCBzcnQgc3VidGl0bGUgZW5jb2RlcgoKMjAwOC0wMy0zMSAxNjoyNDo0MiArMDAwMCAga2FwaWwgPGthcGlsQGZsdWVuZG8uY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21kZWMuKjogSW5jcmVhc2UgdGhlIGFsbG93ZWQgc2FtcGxlcmF0ZXMgZm9yIHRoZSBtcy1nc20gZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGthcGlsIDxrYXBpbCBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIEluY3JlYXNlIHRoZSBhbGxvd2VkIHNhbXBsZXJhdGVzIGZvciB0aGUgbXMtZ3NtIGZvcm1hdC4KCSAgRml4ZXMgIzQ4MTM1NC4KCjIwMDgtMDMtMzAgMjE6MDY6NTggKzAwMDAgIEphbiBkZSBHcm9vdCA8amFuQGpnYy5ob21laXAubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwgKCM1MjUxMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbiBkZSBHcm9vdCA8amFuIGF0IGpnYyBob21laXAgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsICgjNTI1MTAwKS4KCjIwMDgtMDMtMjggMDk6NDg6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBSZXBlYXQgZGlzZXFjIGNhbGwgdG8gYWxsb3cgZm9yIHNvbWUgZGlzZXFjIHN3aXRjaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBSZXBlYXQgZGlzZXFjIGNhbGwgdG8gYWxsb3cgZm9yIHNvbWUgZGlzZXFjIHN3aXRjaGVzLgoKMjAwOC0wMy0yNyAxNjozMjoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzdCBvZmEgY29ycmVjdGx5ISBGaXhlcyBub24tdW5pbnN0YWxsZWQgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBvZmEgY29ycmVjdGx5ISBGaXhlcyBub24tdW5pbnN0YWxsZWQgYnVpbGQuCgoyMDA4LTAzLTI3IDE1OjU3OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogTWFrZSBkaXNlcWMgd29yayBtb3JlIHJlbGlhYmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBNYWtlIGRpc2VxYyB3b3JrIG1vcmUgcmVsaWFibHkuCgoyMDA4LTAzLTI2IDA3OjQwOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbnNmLzogUmVtb3ZlIG1lbWd1YXJkIGFnYWluIGFuZCBhcHBseSBob3BlZnVsbHkgYWxsIHByZXZpb3VzbHkgZHJvcHBlZCBsb2NhbCBwYXRjaGVzLiBTaG91bGQgYmUgcmVhbGx5IGJldHRlciB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICBSZW1vdmUgbWVtZ3VhcmQgYWdhaW4gYW5kIGFwcGx5IGhvcGVmdWxseSBhbGwgcHJldmlvdXNseSBkcm9wcGVkCgkgIGxvY2FsIHBhdGNoZXMuIFNob3VsZCBiZSByZWFsbHkgYmV0dGVyIHRoYW4gdGhlIG9sZCB2ZXJzaW9uIG5vdy4KCjIwMDgtMDMtMjUgMTY6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmLzogVW5icmVhayBjb21waWxhdGlvbiBieSBkaXNhYmxpbmcgbWVtZ3VhcmQgYW5kIGRvaW5nIHNvbWUgZGlydHkgaGFjayBmaXhlcyB0byBtYWtlIGl0IGNvbXBpbGUgb24gNjRiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6IChfbXlfZnJlZSk6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBVbmJyZWFrIGNvbXBpbGF0aW9uIGJ5IGRpc2FibGluZyBtZW1ndWFyZCBhbmQgZG9pbmcgc29tZSBkaXJ0eSBoYWNrCgkgIGZpeGVzIHRvIG1ha2UgaXQgY29tcGlsZSBvbiA2NGJpdHMuCgoyMDA4LTAzLTI1IDE1OjU2OjEzICswMDAwICBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXNAZmF0YWwuc2V0PgoKCSAgZ3N0L25zZi86IFVwZGF0ZSBvdXIgaW50ZXJuYWwgbm9zZWZhcnQgdG8gbm9zZWZhcnQtMi43LW1scyB0byBmaXggc2VnZmF1bHRzIG9uIHNvbWUgZmlsZXMuIEZpeGVzIGJ1ZyAjNDk4MjM3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlYXMgSGVucmlrc3NvbiA8YW5kcmVhcyBhdCBmYXRhbCBkb3Qgc2V0PgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9kaXM2NTAyLmg6CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9mZHNfc25kLmg6CgkgICogZ3N0L25zZi9mbW9wbC5jOgoJICAqIGdzdC9uc2YvZm1vcGwuaDoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICAqIGdzdC9uc2YvbG9nLmM6CgkgICogZ3N0L25zZi9sb2cuaDoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmg6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6CgkgICogZ3N0L25zZi9uZXM2NTAyLmg6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICAqIGdzdC9uc2Yvb3NkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgVXBkYXRlIG91ciBpbnRlcm5hbCBub3NlZmFydCB0byBub3NlZmFydC0yLjctbWxzIHRvIGZpeCBzZWdmYXVsdHMKCSAgb24gc29tZSBmaWxlcy4gRml4ZXMgYnVnICM0OTgyMzcuCgkgIFJlbW92ZSBzb21lIC8vIGNvbW1lbnRzLCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncyBhbmQgdXNlIHBvdygpCgkgIGluc3RlYWQgb2YgYSBzbG93LCBzZWxmbWFkZSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDMtMjUgMTU6MTc6NTggKzAwMDAgIEVkIENhdG11ciA8ZWRAY2F0bXVyLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBBZGQgc3VwcG9ydCBmb3IgbmVvbiAwLjI4LCB3aGljaCBkaWRuJ3QgY2hhbmdlIEFQSS4gRml4ZXMgYnVnICM1MjQwMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRWQgQ2F0bXVyIDxlZCBhdCBjYXRtdXIgZG90IGNvIGRvdCB1az4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBzdXBwb3J0IGZvciBuZW9uIDAuMjgsIHdoaWNoIGRpZG4ndCBjaGFuZ2UgQVBJLiBGaXhlcyBidWcgIzUyNDAzNS4KCjIwMDgtMDMtMjQgMTI6MzI6NTkgKzAwMDAgIFJlbmUgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmMgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfZ2FwX2J1ZmZlcnMpLAoJICAocmdhbmFseXNpc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmMgKHRlc3RfZ2FwKSwgKHJnbGltaXRlcl9zdWl0ZSk6CgkgIEFkZCB0ZXN0cyB0byB2ZXJpZnkgZ2FwLWF3YXJlbmVzcy4KCjIwMDgtMDMtMjIgMTk6MjY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBHSU8gYW5kIEdub21lVkZTIGFzIHRoZXkgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi4KCSAgRG9uJ3QgbGVhayB0aGUgaWN5IGNhcHMgaWYgd2UgYWxyZWFkeSBzZXQgdGhlbSBhbmQgZ2V0IGEgbmV3CgkgIGljeS1tZXRhaW50IGhlYWRlci4KCSAgVHJ5IGhhcmRlciB0byBzZXQgdGhlIGljeSBjYXBzIG9uIHRoZSBvdXRwdXQgYnVmZmVyIHRvIGhhdmUgY29ycmVjdAoJICBjYXBzIGZvciB0aGUgZmlyc3QgYnVmZmVyIGFscmVhZHkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBDaGVjayB0aGF0IHdlIGdldCBhIGJ1ZmZlciB3aXRoIGFwcGxpY2F0aW9uL3gtaWN5IGNhcHMgaWYgaXJhZGlvLW1vZGUKCSAgaXMgZW5hYmxlZCBhbmQgd2UgaGF2ZSBhbiBpY2VjYXN0IFVSTC4KCjIwMDgtMDMtMjIgMTg6MTg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpOgoJICBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBGaXhlcyBidWcgIzUyMzg1NC4KCjIwMDgtMDMtMjIgMTU6MDA6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAoZ3N0X2Fsc2FfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoZ3N0X2Fsc2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKGdzdF9hbHNhc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKGdzdF9jZF9wYXJhbm9pYV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZV92ZnNfc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZV92ZnNfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzogKGdzdF90aGVvcmFfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzogKGdzdF90aGVvcmFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zcmMuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X21peGVyX3RyYWNrX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgIChnc3RfYmFzZXJ0cHBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6IChnc3RfYXVkaW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAoZ3N0X2F1ZGlvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChnc3RfcGxheV9iYXNlX2Jpbl9jbGFzc19pbml0KSwKCSAgKHByZXJvbGxfdW5saW5rZWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzogKGdzdF9xdWV1ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAoZ3N0X3VyaV9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOiAoZ3N0X3ZpZGVvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOiAoZ3N0X3Y0bG1qcGVnc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6IChnc3RfdjRsbWpwZWdzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZQoJICBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHVzYWdlLAoJICBmZXdlciBhbGxvY2F0aW9ucyBhbmQgdGh1cyBsZXNzIG1lbW9yeSBkZWZyYWdtZW50YXRpb24uIERlcGVuZAoJICBvbiBjb3JlIENWUyBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MjM4MDYuCgoyMDA4LTAzLTIxIDE0OjUwOjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB7IH0gd2hpbGUgKDApIG1hY3Jvcy4gVGhpcyBmaXhlcyBhIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBnKysgNC4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8geyB9IHdoaWxlICgwKSBtYWNyb3MuIFRoaXMgZml4ZXMKCSAgYSB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggZysrIDQuMywgcmVzdWx0aW5nIGluIGEgYnVpbGQgZmFpbHVyZQoJICBiZWNhdXNlIG9mIC1XZXJyb3IuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIEluY2x1ZGUgPHN0cmluZy5oPiBmb3IgbWVtY3B5IGFuZCBmcmllbmRzIHRvIGZpeCB0aGUgYnVpbGQgd2l0aAoJICBnY2MgNC4zLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgdHJhaWxpbmcgYmFja3NsYXNoLgoKMjAwOC0wMy0yMCAxODoxMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IERvIGdfb2JqZWN0X25vdGlmeSgpIG9ubHkgd2hlbiBub3QgaG9sZGluZyB0aGUgbG9jayB0byBnZXQgdGhlIHByb3BlcnR5IGJlY2F1c2Ugb3RoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICBEbyBnX29iamVjdF9ub3RpZnkoKSBvbmx5IHdoZW4gbm90IGhvbGRpbmcgdGhlIGxvY2sgdG8gZ2V0IHRoZSBwcm9wZXJ0eQoJICBiZWNhdXNlIG90aGVyd2lzZSB3ZSBydW4gaW50byBhIGRlYWRsb2NrIHdpdGggdGhlIGRlZXAtbm90aWZ5IGhhbmRsZXJzCgkgIHRoYXQgYXJlIHBvc3NpYmx5IGluc3RhbGxlZC4KCjIwMDgtMDMtMjAgMTc6NDg6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZWxlYXNlIHRoZSBzZWxlY3RvciBsb2NrIHdoZW4gcGFkIGFsbG9jIGhhcHBlbnMgb24gYSBub24gc2VsZWN0ZWQgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHNlbGVjdG9yIGxvY2sgd2hlbiBwYWQgYWxsb2MgaGFwcGVucyBvbiBhIG5vbiBzZWxlY3RlZCBwYWQuCgoyMDA4LTAzLTIwIDE3OjA3OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogQWRkIHBhZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgYmVoYXZpb3VyIG9mIHRoZSB1bnNlbGVjdGVkIHBhZCwgaXQgY2FuIHJldHVybiBPSyBvciBOLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9pbml0KSwgKGdzdF9zZWxlY3Rvcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCk6CgkgIEFkZCBwYWQgcHJvcGVydHkgdG8gY29uZmlndXJlIGJlaGF2aW91ciBvZiB0aGUgdW5zZWxlY3RlZCBwYWQsIGl0IGNhbgoJICByZXR1cm4gT0sgb3IgTk9UX0xJTktFRCwgYmFzZWQgb24gdGhlIHVzZSBjYXNlLgoKMjAwOC0wMy0yMCAxNjo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IEZpZ3VyZSBvdXQgdGhlIGxvY2tpbmcgYSBiaXQgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3J1bm5pbmdfdGltZSksIChnc3Rfc2VsZWN0b3JfcGFkX3Jlc2V0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfd2FpdCksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9kaXNwb3NlKSwgKGdzdF9zZWdtZW50X3NldF9zdGFydCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfbGlua2VkX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfaXNfYWN0aXZlX3NpbmtwYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2FjdGl2YXRlX3NpbmtwYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSksIChnc3RfaW5wdXRfc2VsZWN0b3JfYmxvY2spLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgRmlndXJlIG91dCB0aGUgbG9ja2luZyBhIGJpdCBtb3JlLgoJICBNYXJrIGJ1ZmZlcnMgd2l0aCBkaXNjb250IGFmdGVyIHN3aXRjaGluZy4KCSAgRml4IGluaXRpYWwgc2VnbWVudCBmb3J3YXJkaW5nLCBtYWtlIHN1cmUgdG8gb25seSBmb3J3YXJkIG9uZSBzZWdtZW50CgkgIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgc2VxdWVuY2Ugb2YgYnVmZmVycy9zZWdtZW50cyBpcy4gU2VlICM1MjIyMDMuCgkgIEltcHJvdmUgZmx1c2hpbmcgd2hlbiBibG9ja2VkLgoJICBSZXR1cm4gTk9UX0xJTktFRCB3aGVuIGEgc3RyZWFtIGlzIG5vdCBzZWxlY3RlZC4KCSAgTm90IEFQSSBjaGFuZ2UgZm9yIHRoZSBzd2l0Y2ggc2lnbmFsIGluIHRoZSBkb2NzLgoJICBGaXggc3RhcnQvdGltZS9hY2N1bSB2YWx1ZXMgb2YgdGhlIG5ldyBzZWdtZW50LgoJICBDb3JyZWN0bHkgdW5sb2NrIGFuZCBmbHVzaCBhIGJsb2NraW5nIHNlbGVjdG9yIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA4LTAzLTIwIDE1OjU0OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhLzogQWRkIHNvbWUgdGhvdWdodHMgYW5kIEZJWE1FJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWRkIHNvbWUgdGhvdWdodHMgYW5kIEZJWE1FJ3MuCgoyMDA4LTAzLTIwIDE1OjQ5OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEluY2x1ZGUgc3RkbGliLmggZm9yIGFicy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMuCgoyMDA4LTAzLTE5IDE5OjU2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZnJlZXplLzogQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZnJlZXplL0ZBUToKCSAgKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgRkFRLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgQWRkIGEgc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iLgoKMjAwOC0wMy0xOSAxODo0NDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L29mYS9nc3RvZmEuYzogSW1wcm92ZSBkZWJ1Z2dpbmcsIGNsZWFuIHVwIGEgYml0IGFuZCByZWFsbHkgZ2VuZXJhdGUgdGhlIGZpbmdlcnByaW50IGFmdGVyIDEzNSBzZWNvbmRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOiAoY3JlYXRlX2ZpbmdlcnByaW50KSwgKGdzdF9vZmFfZXZlbnQpLAoJICAoZ3N0X29mYV90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICBJbXByb3ZlIGRlYnVnZ2luZywgY2xlYW4gdXAgYSBiaXQgYW5kIHJlYWxseSBnZW5lcmF0ZSB0aGUgZmluZ2VycHJpbnQKCSAgYWZ0ZXIgMTM1IHNlY29uZHMuCgoyMDA4LTAzLTE5IDE4OjE5OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvb2ZhL2dzdG9mYS5jOiBVc2UgR1BMIGFzIGxpY2Vuc2UsIHRoZSBwbHVnaW4gaXRzZWxmIGlzIExHUEwgYnV0IGxpYm9mYSBpcyBHUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIFVzZSBHUEwgYXMgbGljZW5zZSwgdGhlIHBsdWdpbiBpdHNlbGYgaXMgTEdQTCBidXQgbGlib2ZhIGlzIEdQTC4KCjIwMDgtMDMtMTkgMTg6MTQ6MTcgKzAwMDAgIEVyaWMgQnVlaGwgPGVyaWMuYnVlaGxAZ21haWwuY29tPgoKCSAgQWRkIGFuIE9GQSBlbGVtZW50LCB0aGUgc3VjY2Vzc29yIG9mIE11c2ljQnJhaW56IFRSTSBmaW5nZXJwcmludGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEVyaWMgQnVlaGwgPGVyaWMgZG90IGJ1ZWhsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9nc3RvZmEuYzogKGdzdF9vZmFfYmFzZV9pbml0KSwgKGdzdF9vZmFfZmluYWxpemUpLAoJICAoZ3N0X29mYV9jbGFzc19pbml0KSwgKGNyZWF0ZV9maW5nZXJwcmludCksIChnc3Rfb2ZhX2V2ZW50KSwKCSAgKGdzdF9vZmFfaW5pdCksIChnc3Rfb2ZhX3RyYW5zZm9ybV9pcCksIChnc3Rfb2ZhX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L29mYS9nc3RvZmEuaDoKCSAgQWRkIGFuIE9GQSBlbGVtZW50LCB0aGUgc3VjY2Vzc29yIG9mIE11c2ljQnJhaW56IFRSTSBmaW5nZXJwcmludGluZy4KCSAgRml4ZXMgYnVnICMzNTEzMDkuCgoyMDA4LTAzLTE4IDEwOjEyOjQwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2NoYWluKTogRml4IGEgYmFkIGZvcm1hdCBhcmd1bWVudCwgYW5kIGEgcG90ZW50aWFsIGludCBvdmVyZmxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9jaGFpbik6IEZpeCBhIGJhZCBmb3JtYXQgYXJndW1lbnQsCgkgIGFuZCBhIHBvdGVudGlhbCBpbnQgb3ZlcmZsb3cuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOiBJbmNsdWRlIDxuZWFhY2RlYy5oPiBpZiBmYWFkIGlzIG5lYWFjLgoJICBBdm9pZHMgYSAjd2FybmluZyBhYm91dCBhbiBpZ25vcmVkICNwcmFnbWEuCgoyMDA4LTAzLTE3IDE1OjUxOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IFVwZGF0ZSBzd2l0Y2ggZXhhbXBsZSB0byB1c2UgaW5wdXQgc2VsZWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBVcGRhdGUgc3dpdGNoIGV4YW1wbGUgdG8gdXNlIGlucHV0IHNlbGVjdG9yLgoKMjAwOC0wMy0xNyAwOTowMjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogSGFuZGxlIEhUVFAgc3RhdHVzIGNvZGUgMzAzIChTZWUgT3RoZXIpIHRoZSBzYW1lIHdheSBhcyAzMDIgKEZvdW5kKS4gTm90IHN1cmUgd2hhdCB0byBkbyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgSGFuZGxlIEhUVFAgc3RhdHVzIGNvZGUgMzAzIChTZWUgT3RoZXIpIHRoZSBzYW1lIHdheQoJICBhcyAzMDIgKEZvdW5kKS4gTm90IHN1cmUgd2hhdCB0byBkbyBhYm91dCBhbGwgdGhlIG90aGVyIDN4eAoJICByZWRpcmVjdCBzdGF0dXMgY29kZXMuIEZpeGVzIGJ1ZyAjNTIyODg0LgoKMjAwOC0wMy0xNCAyMTo0ODozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbTogTWFrZSBzdXJlIHRoZSBkc2hvdyBoZWxwZXIgbGlicmFyeSBoZWFkZXJzIGdldCBkaXN0cmlidXRlZCBpbiB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0aGUgZHNob3cgaGVscGVyIGxpYnJhcnkgaGVhZGVycyBnZXQgZGlzdHJpYnV0ZWQgaW4gdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDMtMTQgMTc6Mzg6MTAgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uaGs+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IFNpZ25pZmljYW50IGltcHJvdmVtZW50cy4gIEZpeGVzICM1MjEzOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjawoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogU2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzLiAgRml4ZXMgIzUyMTM5Mi4KCjIwMDgtMDMtMTQgMTc6MjI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBBZGQgbG90cyBvZiBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApOgoJICBBZGQgbG90cyBvZiBkZWJ1Z2dpbmcuCgkgIEZpeCB0aW1lIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDMtMTMgMTY6NDY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBWYXJpb3VzIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZmluYWxpemUpLCAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBBZGRlZCB0YWdzIHRvIHRoZSBwYWRzLgoJICBTZWxlY3QgYWN0aXZlIHBhZCBiYXNlZCBvbiB0aGUgcGFkIG9iamVjdCBpbnN0ZWFkIG9mIGl0cyBuYW1lLgoJICBGaXggcmVmY291bnQgaW4gc2V0X2FjdGl2ZV9wYWQuCgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgdGhlIG51bWJlciBvZiBwYWRzLgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgU2VsZWN0IHRoZSBhY3RpdmUgcGFkIGJhc2VkIG9uIHRoZSBwYWQgb2JqZWN0IGluc3RlYWQgb2YgaXRzIG5hbWUuCgkgIEZpeCBsb2NraW5nIHdoZW4gc2V0dGluZyB0aGUgYWN0aXZlIHBhZC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6IChjbGVhbnVwX3BhZCksCgkgIChzZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksIChydW5faW5wdXRfc2VsZWN0b3JfYnVmZmVyX2NvdW50KToKCSAgRml4ZXMgZm9yIHBhZCBpbnN0ZWFkIG9mIHBhZG5hbWUgZm9yIHBhZCBzZWxlY3Rpb24uCgoyMDA4LTAzLTEzIDE0OjI1OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzoKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhLmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoKMjAwOC0wMy0xMyAwOTo0NTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCjIwMDgtMDMtMTIgMTg6NDQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFNldCBjb3JyZWN0IHBpeGVsIGFzcGVjdCByYXRpbyBmb3IgdGhlIGVuY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NoYWluKToKCSAgU2V0IGNvcnJlY3QgcGl4ZWwgYXNwZWN0IHJhdGlvIGZvciB0aGUgZW5jb2Rlci4KCjIwMDgtMDMtMTEgMTI6NDA6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLio6IEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoZmluZF9hZGRfY29uZmxpY3RpbmdfYWRkcmVzc2VzKSwKCSAgKGNoZWNrX2NvbGxpc2lvbiksIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9uZXdfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgRml4ZXMgIzUyMDYyNi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcmVzZXQpLAoJICAocnRwX3NvdXJjZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1ldGhvZCB0byByZXNldCBzdGF0cy4KCjIwMDgtMDMtMTEgMTE6MzY6MDMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodCBiZSBibG9ja2VkIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGpvaW5fcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSk6CgkgIEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodAoJICBiZSBibG9ja2VkIGRvd25zdHJlYW0uIEFsc28gYXZvaWQgc3Bhd25pbmcgbXVsdGlwbGUgcnRjcCB0aHJlYWRzLgoJICBGaXhlcyAjNTIwODk0LgoKMjAwOC0wMy0xMSAxMDo0MzozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgRml4ZXMgIzUxOTAwNS4KCjIwMDgtMDMtMDggMDQ6Mjc6MDMgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSW1wcm92ZSB0aGUgaGVhZGVyIGNoZWNraW5nIHRvIGxvb2sgZm9yIHdoYXQgZmFhZDIgbG9va3MgZm9yIHRvby4gRml4ZXMgcGxheWJhY2sgb2Ygc2FtZSBhcHBsZSB0ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAobG9va3NfbGlrZV92YWxpZF9oZWFkZXIpOgoJICBJbXByb3ZlIHRoZSBoZWFkZXIgY2hlY2tpbmcgdG8gbG9vayBmb3Igd2hhdCBmYWFkMiBsb29rcwoJICBmb3IgdG9vLiBGaXhlcyBwbGF5YmFjayBvZiBzYW1lIGFwcGxlIHRyYWlsZXJzLgoJICBGaXhlcyBidWcgIzQ2OTk3OS4KCjIwMDgtMDMtMDcgMTM6Mjg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVhbGx5IGNoZWNrIGZvciBsaWJkYzEzOTQgPj0gMi4wLjAsIHBrZy1jb25maWcgdGhpbmtzIHRoYXQgMi4wLjAtcmNYIGlzIG5ld2VyIHRoYW4gMi4wLjAgc28gd2UgY2hlY2sgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlYWxseSBjaGVjayBmb3IgbGliZGMxMzk0ID49IDIuMC4wLCBwa2ctY29uZmlnIHRoaW5rcyB0aGF0CgkgIDIuMC4wLXJjWCBpcyBuZXdlciB0aGFuIDIuMC4wIHNvIHdlIGNoZWNrIGZvciB0aGlzIHRvby4KCjIwMDgtMDMtMDYgMDc6MDM6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBBZGQgYSBidW5jaCBvZiBwcm9wZXJ0aWVzIGNyaWJiZWQgZnJvbSB0aGUgZW5jb2RlciBwcm9ncmFtIGluIGRpcmFjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEFkZCBhIGJ1bmNoIG9mIHByb3BlcnRpZXMgY3JpYmJlZAoJICBmcm9tIHRoZSBlbmNvZGVyIHByb2dyYW0gaW4gZGlyYWMuCgoyMDA4LTAzLTA2IDAzOjE2OjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJld3JpdGUgRGlyYWMgZW5jb2RlciBwbHVnaW4gYmFzZWQgb24gU2Nocm9lZGluZ2VyIGdzdHJlYW1lciBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgUmV3cml0ZSBEaXJhYyBlbmNvZGVyIHBsdWdpbiBiYXNlZCBvbiBTY2hyb2VkaW5nZXIgZ3N0cmVhbWVyCgkgIGVsZW1lbnRzLgoKMjAwOC0wMy0wNSAwNjowMzowMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFBvcnQgbXBsZXggZWxlbWVudCB0byAwLjEwLiBGaXhlcyBidWcgIzUyMDMyOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4am9iLmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uaGg6CgkgIFBvcnQgbXBsZXggZWxlbWVudCB0byAwLjEwLiBGaXhlcyBidWcgIzUyMDMyOS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiAodGVzdF9zaW5rX2V2ZW50KSwgKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9tcGxleCksIChjbGVhbnVwX21wbGV4KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG1wbGV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbXBsZXggZWxlbWVudC4KCjIwMDgtMDMtMDUgMDU6Mzg6MDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBjb25maWd1cmUuYWM6IENsZWFuIHVwIGRldGVjdGlvbiBvZiBkaWZmZXJlbnQgbWpwZWd0b29sc0FQSSB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENsZWFuIHVwIGRldGVjdGlvbiBvZiBkaWZmZXJlbnQgbWpwZWd0b29sc0FQSSB2ZXJzaW9ucy4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSAgU3RyZWFtbGluZSBjb25kaXRpb25hbCBjb2RlIGZvciBldm9sdmluZyBtanBlZ3Rvb2xzIEFQSSwKCSAgb3B0aW1pemUgYW5kIGZpeC9wcmV2ZW50IGNyYXNoIGluIGxvZyBoYW5kbGluZywgdXNlCgkgIG5hbWVzL25pY2tzIGZvciBlbnVtcyBpbiB0aGUgdXN1YWwgd2F5IGFuZG0gaW5vciB1cGRhdGVzCgkgIGluIGNvZGUgYW5kIHByb3BlcnRpZXMvc2V0dGluZ3MuIFBhcnRpYWxseSBmaXhlcyBidWcgIzUyMDMyOS4KCjIwMDgtMDMtMDQgMTc6NDk6MTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGQgcGFyc2luZyBvZiBjYWJsZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIHBhcnNpbmcgb2YgY2FibGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IuCgoyMDA4LTAzLTAzIDEyOjQ4OjU2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaCBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2gKCSAgcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQ5ODIyMikKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDA4LTAzLTAzIDA2OjA0OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suYzogKGdzdF9hbHNhX21peGVyX3RyYWNrX2dldF90eXBlKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby5jOgoJICAqIGdzdC1saWJzL2dzdC9mZnQva2lzc19mZnRfZjY0LmM6IChraXNzX2ZmdF9mNjRfYWxsb2MpOgoJICAqIGdzdC1saWJzL2dzdC9wYnV0aWxzL21pc3NpbmctcGx1Z2lucy5jOgoJICAoZ3N0X21pc3NpbmdfdXJpX3NpbmtfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19kZWNvZGVyX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VuY29kZXJfbWVzc2FnZV9uZXcpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdHJ0Y3BidWZmZXIuYzoKCSAgKGdzdF9ydGNwX3BhY2tldF9ieWVfZ2V0X3JlYXNvbik6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19nZXRfYW55X2NhcHMpOgoJICAqIHN5cy92NGwvdjRsX2NhbGxzLmM6CgkgICogc3lzL3Y0bC92NGxzcmNfY2FsbHMuYzogKGdzdF92NGxzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGxzcmNfdHJ5X2NhcHR1cmUpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeGltYWdlc2lua194aW1hZ2VfbmV3KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChzZXR1cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlY29kZWJpbi5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOiAoc2V0dXBfZ25vbWV2ZnNzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoc2V0dXBfbXVsdGlmZHNpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChzZXR1cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoc2V0dXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKHNldHVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvY2xvY2stc2VsZWN0aW9uLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKHNldHVwKSwgKHRlYXJkb3duKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy92aWRlby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKHF1ZXJ5X3Bvc2l0aW9uc19lbGVtcyksCgkgIChxdWVyeV9wb3NpdGlvbnNfcGFkcyk6CgkgICogdGVzdHMvaWNsZXMvc3RyZXNzLXhvdmVybGF5LmM6IChteWNsb2NrKToKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkCgkgIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJ0cC5kZWY6CgkgIEFkZCBnc3RfcnRwX2J1ZmZlcl9zZXRfZXh0ZW5zaW9uX2RhdGEgdG8gdGhlIHN5bWJvbCBkZWZpbml0aW9uIGZpbGUuCgoyMDA4LTAzLTAzIDA0OjM5OjQ4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IEZpeCBhdWRpbyBkaXNjb250aW51aXR5IHRoYXQgaGFwcGVucyB3aGVuIHNpbGVudCBjaHVua3MgYXJlIGZvbGxvd2VkIGJ5IHJlYWwgZGF0YSBhZ2Fpbi4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfYXVkaW9fZGF0YSksCgkgIChnc3RfbXZlX2RlbXV4X2dldF90eXBlKToKCSAgRml4IGF1ZGlvIGRpc2NvbnRpbnVpdHkgdGhhdCBoYXBwZW5zIHdoZW4gc2lsZW50IGNodW5rcyBhcmUKCSAgZm9sbG93ZWQgYnkgcmVhbCBkYXRhIGFnYWluLiBGaXhlcyBidWcgIzUxOTkwNS4KCjIwMDgtMDMtMDEgMTI6NDk6MTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogQWRkIERWQi1DIHN1cHBvcnQuIFNwZWNpYWwgdGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3IgYSB0ZXN0aW5nIGdyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgQWRkIERWQi1DIHN1cHBvcnQuIFNwZWNpYWwgdGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlcgoJICBmb3IgYSB0ZXN0aW5nIGdyb3VuZC4KCjIwMDgtMDItMjggMTM6MjI6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogT25seSBzZW5kIFBNVHMgdG8gcHJvZ3JhbSBwYWRzIHRoYXQgdGhlIFBNVCBpcyBmb3IgZXZlbiBpZiBvbiBzYW1lIHBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE9ubHkgc2VuZCBQTVRzIHRvIHByb2dyYW0gcGFkcyB0aGF0IHRoZSBQTVQgaXMgZm9yIGV2ZW4gaWYKCSAgb24gc2FtZSBwaWQuCgkgIEFzIGEgYnktcHJvZHVjdCwgd2Ugbm93IG5vIGxvbmdlciBoYXJkY29kZSBhbnkgcHNpIHBpZCBudW1iZXJzLgoJICBBbHNvIHJlbW92ZSBwY3Igc3RyZWFtIGZyb20gb2xkIHBtdCB3aGVuIHdlIGFwcGx5IGEgbmV3IHBtdC4KCjIwMDgtMDItMjggMTA6NDE6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzIGFuZCBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YXRpbWUgYXMgbG9jYWwgdGltZSAodGhvc2UgY2hhbmdlcyBoYXMgYmVlbiBkb25lIGluIHByZXZpby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MgYW5kIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhdGltZSBhcyBsb2NhbCB0aW1lICh0aG9zZSBjaGFuZ2VzIGhhcyBiZWVuIGRvbmUgaW4gcHJldmlvdXMgY29taXQgYnV0IGhhZCB0byBiZSByZXZlcnQgaW4gMjAwOC0wMi0xMCBkdWUgdG8gZnJvemVuKQoKMjAwOC0wMi0yNyAyMzoyOTo0NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogUmVtb3ZlIHRoZSBHX1ZBTFVFX0hPTERTX0JPWEVEIGNoZWNrcy4gVGhleSB3ZXJlIG9ubHkgYWRkZWQgdG8gaGVscCBkZWJ1ZyB0aGUgZGF0YSBjb3JydXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIFJlbW92ZSB0aGUgR19WQUxVRV9IT0xEU19CT1hFRCBjaGVja3MuIFRoZXkgd2VyZQoJICBvbmx5IGFkZGVkIHRvIGhlbHAgZGVidWcgdGhlIGRhdGEgY29ycnVwdGlvbi4KCjIwMDgtMDItMjcgMTk6NDE6MTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IERvbid0IGZyZWUgdGhlIHByb2dyYW0gZGVzY3JpcHRvcnMsIHRoaXMgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlbSBpcyBzdGlsbHMgdG9yZWQgYWZ0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRG9uJ3QgZnJlZSB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9ycywgdGhpcyBzdHJ1Y3R1cmUKCSAgY29udGFpbmluZyB0aGVtIGlzIHN0aWxscyB0b3JlZCBhZnRlci4KCSAgRml4ZXMgZGF0YSBjb3JydXB0aW9uLgoKMjAwOC0wMi0yNyAxMjozNDowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRXh0cmEgY2hlY2tzIHRvIHByZXZlbnQgZGF0YSBjb3JydXB0aW9uL3NlZ2ZhdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBFeHRyYSBjaGVja3MgdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vc2VnZmF1bHRzLgoKMjAwOC0wMi0yNiAxNToxMzo1NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDgtMDItMjYgMTI6MDQ6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9uYXMvbmFzc2luay5jOiBGaXggYnVpbGQgd2FybmluZyBieSB1c2luZyBwb3J0YWJsZSBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOgoJICBGaXggYnVpbGQgd2FybmluZyBieSB1c2luZyBwb3J0YWJsZSBBUEkuCgoyMDA4LTAyLTI2IDEyOjAxOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzogRml4IGNoYW5naW5nIHRvIHNhbWUgcGFkIHR3aWNlIGJlZm9yZSBhIGNoYWluIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggY2hhbmdpbmcgdG8gc2FtZSBwYWQgdHdpY2UgYmVmb3JlIGEgY2hhaW4gY2FsbC4KCjIwMDgtMDItMjYgMDU6NTQ6MjYgKzAwMDAgIERhbmllbCBGaXNjaGVyIDxkYW5AZjNjLmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBsaWJkYzEzOTQgMi4wLjAgYW5kIGFib3ZlIGFuZCByZXF1aXJlIHRoaXMgdmVyc2lvbiBub3cuIEZpeGVzIGJ1ZyAjNTE0OTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBGaXNjaGVyIDxkYW4gYXQgZjNjIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGliZGMxMzk0IDIuMC4wIGFuZCBhYm92ZSBhbmQgcmVxdWlyZSB0aGlzIHZlcnNpb24KCSAgbm93LiBGaXhlcyBidWcgIzUxNDk2NC4KCjIwMDgtMDItMjYgMDU6MzY6MTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4gdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbgoJICB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCjIwMDgtMDItMjUgMDg6NTM6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IEFkZGVkICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB0byBtYWtlIGl0IHdvcmsgbGlrZSBhZ2dyZWdhdG9yIGluIDAuOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBBZGRlZCAic2VsZWN0LWFsbCIgcHJvcGVydHkgdG8gbWFrZSBpdCB3b3JrIGxpa2UgYWdncmVnYXRvciBpbiAwLjguCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCByZXNlbmQtbGF0ZXN0IGJlaGF2b2l1ci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBzZWxlY3Rvci4KCjIwMDgtMDItMjUgMDY6Mjk6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBtaWRpIHR5cGVmaW5kZXJzIGFuZCByZXF1aXJlIGJhc2UgQ1ZTIGFzIHRoZXkgbW92ZWQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIG1pZGkgdHlwZWZpbmRlcnMgYW5kIHJlcXVpcmUgYmFzZSBDVlMgYXMgdGhleSBtb3ZlZCB0aGVyZS4KCjIwMDgtMDItMjQgMDk6NTc6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogT25seSBkaXNhYmxlIHRoZSBleHQvdGltaWRpdHkgZGlyZWN0b3J5IGlmIGJvdGgsIHdpbGRtaWRpIF9hbmRfIHRpbWlkaXR5IGFyZSBub3QgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIE9ubHkgZGlzYWJsZSB0aGUgZXh0L3RpbWlkaXR5IGRpcmVjdG9yeSBpZiBib3RoLCB3aWxkbWlkaQoJICBfYW5kXyB0aW1pZGl0eSBhcmUgbm90IGF2YWlsYWJsZS4KCjIwMDgtMDItMjQgMDQ6MjQ6MjAgKzAwMDAgIEVtaWxpbyBQb3p1ZWxvIE1vbmZvcnQgPHBvY2h1QHVidW50dS5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEJ1aWxkIHRoZSB3aWxkbWlkaSBwbHVnaW4gaWYgaXQncyBlbmFibGVkIGFuZCBub3Qgb25seSB3aGVuIGJvdGgsIHRoZSB0aW1pZGl0eSBhbmQgd2lsZG1pZGkgcGx1Z2luLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodSBhdCB1YnVudHUgZG90IGNvbT4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEJ1aWxkIHRoZSB3aWxkbWlkaSBwbHVnaW4gaWYgaXQncyBlbmFibGVkIGFuZCBub3Qgb25seSB3aGVuCgkgIGJvdGgsIHRoZSB0aW1pZGl0eSBhbmQgd2lsZG1pZGkgcGx1Z2luLCBhcmUgZW5hYmxlZC4KCjIwMDgtMDItMjMgMTU6MDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgR1NUX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nIEMrKyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgR1NUX0NYWEZMQUdTIGFuZCB1c2UgdGhlbQoJICB3aGVuIGJ1aWxkaW5nIEMrKyBjb2RlLgoKMjAwOC0wMi0yMyAxMTo1Njo0MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11bHRpcHJvdG8gZHJpdmVyIChub3QgeWV0IG1lcmdlZCBpbnRvIHY0bC1kdmIgbWFpbmxpbmUgeWV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXVsdGlwcm90byBkcml2ZXIgKG5vdCB5ZXQgbWVyZ2VkIGludG8KCSAgdjRsLWR2YiBtYWlubGluZSB5ZXQpLgoJICBPbmx5IHdvcmtzIGZvciBEVkItUyBub3QgRFZCLVMyLCBEVkItVCwgRFZCLUMgb3Igb3RoZXIuCgoyMDA4LTAyLTIyIDEwOjE4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBVcGRhdGUgdG8gdmVyc2lvbiAwLjEwLjYuMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgVXBkYXRlIHRvIHZlcnNpb24gMC4xMC42LjEuCgoyMDA4LTAyLTIyIDA5OjU2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGRvY3MgZm9yIGVsZW1lbnRzIHRoYXQgaGF2ZSBtb3ZlZCB0byBvdGhlciBtb2R1bGVzIG9yIGJlZW4gcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVtb3ZlIGRvY3MgZm9yIGVsZW1lbnRzIHRoYXQgaGF2ZSBtb3ZlZCB0byBvdGhlciBtb2R1bGVzCgkgIG9yIGJlZW4gcmVuYW1lZC4KCjIwMDgtMDItMjIgMDc6MjA6MDMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19jaHVua19mcmVlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBQcmVmaXggcHJveHkgVVJJcyB3aXRoICJodHRwOi8vIiBpZiB0aGV5IGRvbid0IHN0YXJ0IHdpdGggaXQKCSAgYWxyZWFkeSBhbmQgY2F0Y2ggZXJyb3JzIGVhcmxpZXIsIGZpeGVzIGhhbmdpbmcgaW4gc29tZSBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzUxNDk0OC4KCjIwMDgtMDItMjIgMDY6NDI6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOiBBZGQgc3VwcHJlc3Npb25zIGZvciBTb3VuZFRvdWNoIHZhbGdyaW5kIHdhcm5pbmdzIGFuZCBhIHZhbGdyaW5kIHdhcm5pbmcgY2F1c2VkIGJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cHByZXNzaW9ucyBmb3IgU291bmRUb3VjaCB2YWxncmluZCB3YXJuaW5ncyBhbmQKCSAgYSB2YWxncmluZCB3YXJuaW5nIGNhdXNlZCBieSB0aGUgTEFEU1BBIHNpbmUgcGx1Z2luIGFuZAoJICBoYXBwZW5pbmcgb24gZXZlcnkgZXhpdCgpLgoJICBSZW1vdmUgR0lPIHN1cHByZXNzaW9ucyBhcyBpdCdzIG5vdyBpbiAtYmFzZS4KCjIwMDgtMDItMjIgMDY6MzM6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IERvbid0IGFsbG9jYXRlIGFuZCBjb3B5IHRoZSBkYXRhIHRvIGEgbmV3IHBsYWNlIGJ1dCBpbnN0ZWFkIHB1dCB0aGUgZGF0YSBmcm9tIGdteXRoICh3aGljaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKToKCSAgRG9uJ3QgYWxsb2NhdGUgYW5kIGNvcHkgdGhlIGRhdGEgdG8gYSBuZXcgcGxhY2UgYnV0IGluc3RlYWQKCSAgcHV0IHRoZSBkYXRhIGZyb20gZ215dGggKHdoaWNoIHdlIG93bikgaW50byB0aGUgYnVmZmVycyB0aGF0CgkgIGFyZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDgtMDItMjIgMDY6MzE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiBJZiBXSUxETUlESV9DRkcgaXMgbm90IGRlZmluZWQsIGRlZmluZSBpdCB0byB0aGUgZGVmYXVsdCB0aW1pZGl0eSBjb25maWd1cmUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIElmIFdJTERNSURJX0NGRyBpcyBub3QgZGVmaW5lZCwgZGVmaW5lIGl0IHRvIHRoZSBkZWZhdWx0CgkgIHRpbWlkaXR5IGNvbmZpZ3VyZSBmaWxlLgoKMjAwOC0wMi0yMiAwNjoxMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIGhhY2sgdG8gd29yayB3aXRoIG1qcGVndG9vbHMgMS45LjByYzMgYW5kIGFib3ZlIGFuZCBpbnN0ZWFkIHVzZSBtanBlZ19sb2dsZXZfdCgpIGZvciBnZXR0aW5nIHRoZSBsb2cgbGV2ZWxzLiBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBIYW5zIGRlIEdvZWRlIDxqIGRvdCB3IGRvdCByIGRvdCBkZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgUmVtb3ZlIGhhY2sgdG8gd29yayB3aXRoIG1qcGVndG9vbHMgMS45LjByYzMgYW5kIGFib3ZlIGFuZCBpbnN0ZWFkCgkgIHVzZSBtanBlZ19sb2dsZXZfdCgpIGZvciBnZXR0aW5nIHRoZSBsb2cgbGV2ZWxzLiBDaGVjayBmb3IgdGhpcwoJICBmdW5jdGlvbiBpbiBjb25maWd1cmUuYWMgYXMgdGhlIHBrZy1jb25maWcgZmlsZSBkb2Vzbid0IHRlbGwgdXMKCSAgd2hpY2ggcmVsZWFzZSBjYW5kaWRhdGUgd2UgaGF2ZS4gRml4ZXMgYnVnICM1MTc4OTYuCgoyMDA4LTAyLTIyIDA1OjQ4OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGZvciB0aGUgbmFzIHBsdWdpbiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIGl0IGFnYWluLiBGaXhlcyBidWcgIzUxNzg5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBmb3IgdGhlIG5hcyBwbHVnaW4gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCBpdAoJICBhZ2Fpbi4gRml4ZXMgYnVnICM1MTc4OTUuCgoyMDA4LTAyLTIyIDA1OjQyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSWdub3JlIHNvbWUgbW9yZSBlbGVtZW50cyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QsIGxpa2UgZGZidmlkZW9zaW5rIHdoaWNoIHByb2R1Y2VzIGEgc2VnZmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBzb21lIG1vcmUgZWxlbWVudHMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LCBsaWtlCgkgIGRmYnZpZGVvc2luayB3aGljaCBwcm9kdWNlcyBhIHNlZ2ZhdWx0LiBGaXhlcyBidWcgIzUxNzg1NC4KCjIwMDgtMDItMjIgMDU6MzM6NTkgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIFNvbWUgQzg5IGZpeGVzLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYl9wcm9wZXJ0eV9zZXRfdmVyc2lvbik6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfZGVjb2Rlcl9tZXNzYWdlX3NldF9lbmNvZGluZ3MpLAoJICAocmZiX2RlY29kZXJfc3RhdGVfc2V0X2VuY29kaW5ncyk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX25pdCksIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9zZHQpLAoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfZWl0KToKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ZiZGV2c2lua19zZXRjYXBzKSwgKGdzdF9mYmRldnNpbmtfcmVuZGVyKToKCSAgU29tZSBDODkgZml4ZXMsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZwoJICBvZiBhIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzNy4KCjIwMDgtMDItMjEgMjM6NTA6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4uLgoKPT09IHJlbGVhc2UgMC4xMC42ID09PQoKMjAwOC0wMi0yMSAwMDoxMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjYgLSBBIEJpZyBEZWVwIEJyZWF0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjYgLSBBIEJpZyBEZWVwIEJyZWF0aAoKMjAwOC0wMi0yMCAyMzozNToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDItMjAgMTY6MDQ6MzIgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFVzaW5nIHRoZSB3cm9uZyBHc3RGb3JtYXQgZm9yIHRoZSBmaWxlc2l6ZSwgYW5kIGZhaWwgc2VlayBwcm9wZXJseSBvbiBhbnl0aGluZyBidXQgX0JZVEVTIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0yMCAgQmFzdGllbiBOb2NlcmEgIDxoYWRlc3NAaGFkZXNzLm5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfZG9fc2VlayksCgkgIChnc3RfbXl0aHR2X3NyY19zdGFydCk6IFVzaW5nIHRoZSB3cm9uZyBHc3RGb3JtYXQgZm9yIHRoZSBmaWxlc2l6ZSwKCSAgYW5kIGZhaWwgc2VlayBwcm9wZXJseSBvbiBhbnl0aGluZyBidXQgX0JZVEVTIGZvcm1hdAoJICBGaXhlcyBidWcgIzUxNzY4NAoKMjAwOC0wMi0yMCAwOTozMzoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgoyMDA4LTAyLTE5IDExOjUwOjQ1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgY2hhbmdlIGdteXRoLTEuMCB0byBnbXl0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIGdteXRoLTEuMCB0byBnbXl0aAoKMjAwOC0wMi0xOSAxMDo1MTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3R0YS9NYWtlZmlsZS5hbTogTGluayB0dGEgcGx1Z2luIHdpdGggbGlibS4gRml4ZXMgYnVnICM1MTczOTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgIExpbmsgdHRhIHBsdWdpbiB3aXRoIGxpYm0uIEZpeGVzIGJ1ZyAjNTE3MzkxLgoKMjAwOC0wMi0xNCAxNzowOTozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRG8gbm90IGFzc3VtZSAiZGVzY3JpcHRvcnMiIHByb3BlcnR5IGluIHRoZSBwbXQgc3RydWN0dXJlIGlzIHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRG8gbm90IGFzc3VtZSAiZGVzY3JpcHRvcnMiIHByb3BlcnR5IGluIHRoZSBwbXQgc3RydWN0dXJlCgkgIGlzIHByZXNlbnQuCgkgIEZpeGVzICM1MTY0OTkuCgoyMDA4LTAyLTE0IDE2OjI1OjUxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcKCSAgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoKMjAwOC0wMi0xNCAxNDozMzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogU2V0IG5fbGluZV9jdHJsX2kgdG8gMCB3aGVuZXZlciB3ZSBmcmVlIGxpbmVfY3RybF9pLiBQYXRjaCBiYXNlZCBvbiBhbiBpZGVhIGJ5IEphbiBTY2htaWR0LCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChnc3RfZHZkX3NwdV9oYW5kbGVfbmV3X3NwdV9idWYpOgoJICBTZXQgbl9saW5lX2N0cmxfaSB0byAwIHdoZW5ldmVyIHdlIGZyZWUgbGluZV9jdHJsX2kuIFBhdGNoIGJhc2VkCgkgIG9uIGFuIGlkZWEgYnkgSmFuIFNjaG1pZHQsIGZpeGVzIGJ1ZyAjNTE2NDM2LgoKMjAwOC0wMi0xNCAxNDoyMjo1NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IE1ha2Ugc3VyZSB0aGUgZ3N0bXBlZ2Rlc2MgZGVidWcgbGluZXMgZG8gbm90IGNyaXRpY2FsIHdoZW4gR1NUX0RFQlVHIGlzIGVuYWJsZWQgYW5kIGFsc28gYWN0dWFsbHkgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTWFrZSBzdXJlIHRoZSBnc3RtcGVnZGVzYyBkZWJ1ZyBsaW5lcyBkbyBub3QgY3JpdGljYWwKCSAgd2hlbiBHU1RfREVCVUcgaXMgZW5hYmxlZCBhbmQgYWxzbyBhY3R1YWxseSBvdXRwdXQuCgkgIFRoYW5rcyB0byBBbGVzc2FuZHJvIERlY2luYSBmb3Igc3BvdHRpbmcuCgkgIEZpeGVzICM1MTY0NDgKCjIwMDgtMDItMTMgMjM6NTI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWxzbyBhZGQgZHNob3cgcGllY2VzIHRvIHRoZSBkaXN0ZWQgc3ViZGlycyB0byBmaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBbHNvIGFkZCBkc2hvdyBwaWVjZXMgdG8gdGhlIGRpc3RlZCBzdWJkaXJzIHRvIGZpeCBkaXN0Y2hlY2suCgoyMDA4LTAyLTEzIDE0OjQwOjMzICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIFJlLUZpeGVzICM1MTYwNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBSZS1GaXhlcyAjNTE2MDYxLgoKMjAwOC0wMi0xMyAxMToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBbGxvdyBnbXl0aCB2ZXJzaW9ucyBmcm9tIDAuNCB1cCB0byAwLjcuOTksIHRoZSBBUEkgZGlkbid0IGNoYW5nZSB1bnRpbCAwLjcgZm9ydHVuYXRlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxsb3cgZ215dGggdmVyc2lvbnMgZnJvbSAwLjQgdXAgdG8gMC43Ljk5LCB0aGUgQVBJIGRpZG4ndCBjaGFuZ2UKCSAgdW50aWwgMC43IGZvcnR1bmF0ZWx5LgoKMjAwOC0wMi0xMiAyMzoxNjoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEdlbmVyYXRlIHRoZSBkaXJlY3RzaG93IE1ha2VmaWxlcyBzbyB0aGF0IHRoZSBkaXJlY3RvcmllcyBnZXQgZGlzdGVkLiBTdGlsbCBuZWVkcyBzb21lIGNvbmZpZ3VyZSB0aW1lIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBHZW5lcmF0ZSB0aGUgZGlyZWN0c2hvdyBNYWtlZmlsZXMgc28gdGhhdCB0aGUgZGlyZWN0b3JpZXMKCSAgZ2V0IGRpc3RlZC4gU3RpbGwgbmVlZHMgc29tZSBjb25maWd1cmUgdGltZSBkZXRlY3Rpb24gdG8gZW5hYmxlCgkgIGJ1aWxkaW5nIHRoZW0gdW5kZXIgTWluZ1cuCgoyMDA4LTAyLTEyIDIzOjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbTogRG9uJ3QgaW5zdGFsbCBhIGhlYWRlciBmaWxlLiBXZSB3aWxsIGhhdmUgdG8gbWVyZ2UgdGhlc2UgdGFncyBpbnRvIGxpYmdzdHRhZyBhZnRlciB0aGUgcmVsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgYSBoZWFkZXIgZmlsZS4gV2Ugd2lsbCBoYXZlIHRvIG1lcmdlIHRoZXNlCgkgIHRhZ3MgaW50byBsaWJnc3R0YWcgYWZ0ZXIgdGhlIHJlbGVhc2UgYW5kIHVzZSB0aGVtIGZyb20gdGhlcmUuCgkgIEZpeGVzOiAjNTE1ODYwCgoyMDA4LTAyLTEyIDIyOjEwOjM5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGQgTWFrZWZpbGVzIHRvIHdpbjMyIHBsdWdpbnMgYW5kIGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgQWRkIE1ha2VmaWxlcyB0byB3aW4zMiBwbHVnaW5zIGFuZCBsaWIuCgkgIFRoZXkgd2lsbCBuZWVkIHRvIGJlIHRlc3RlZCBhbmQgcHJvYmFibHkgZml4ZWQgYnkgZGV2ZWxvcGVycwoJICB3b3JraW5nIHdpdGggbWluZ3cuIFRoaXMgaXMgYSBmaXJzdCBzdGVwIHRvIGluY2x1ZGUgc291cmNlIGZpbGVzCgkgIHdpdGggcmVsZWFzZXMuCgoyMDA4LTAyLTEyIDIxOjMxOjU3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCBsZWFrIG9mIGxvY2F0aW9uIHN0cmluZyByZXR1cm5lZCBmcm9tIGdzdF91cmlfZ2V0X2xvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgRml4IGxlYWsgb2YgbG9jYXRpb24gc3RyaW5nIHJldHVybmVkIGZyb20gZ3N0X3VyaV9nZXRfbG9jYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNTE2MTE0CgoyMDA4LTAyLTEyIDIxOjAxOjE3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJlbW92ZSBnbGltYWdlc2luaywgYXMgaXQncyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9CVUdTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZW1vdmUgZ2xpbWFnZXNpbmssIGFzIGl0J3MgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nbC4KCSAgRml4ZXMgIzUxNjA5NC4KCjIwMDgtMDItMTIgMTg6Mjk6MjkgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gRml4ZXMgIzUxNjA2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIEZpeGVzICM1MTYwNjEuCgoyMDA4LTAyLTEyIDExOjA4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogQ2hhaW4gdXAgZGlzcG9zZSBtZXRob2RzIHByb3Blcmx5LiBGaXhlcyBidWcgIzUxNTk3MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19kaXNwb3NlKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2Rpc3Bvc2UpOgoJICBDaGFpbiB1cCBkaXNwb3NlIG1ldGhvZHMgcHJvcGVybHkuIEZpeGVzIGJ1ZyAjNTE1OTcwLgoKMjAwOC0wMi0xMiAxMTowMjozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyA1MTU5MTkgZml4ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgNTE1OTE5IGZpeGVkIGluIG15IHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wMi0xMiAxMDo1NzoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBGaXggbGVha2luZyBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgRml4IGxlYWtpbmcgY2Fwcy4KCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiBmb3J3YXJkIG1vZGUuCgkgIENsZWFudXAgcXVldWVzIHdoZW4gZ29pbmcgdG8gUkVBRFkuIEZpeGVzICM1MTU4MTUuCgoyMDA4LTAyLTEyIDEwOjI0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdJTyBwbHVnaW4gYXMgaXQgd2FzIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1ZyAjNTE1OTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgIFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgR0lPIHBsdWdpbiBhcyBpdCB3YXMgbW92ZWQgdG8KCSAgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVnICM1MTU5NjQuCgoyMDA4LTAyLTEyIDEwOjIyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBzb21lIGZpbmFsaXplIGxlYWtzIGJ5IGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICBGaXggc29tZSBmaW5hbGl6ZSBsZWFrcyBieSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IG1ldGhvZC4KCjIwMDgtMDItMTIgMDU6MjE6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCjIwMDgtMDItMTIgMDU6MTk6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEZyZWUgdGhlIHJmYiBkZWNvZGVyIG9uIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJfc3JjX2Rpc3Bvc2UpOgoJICBGcmVlIHRoZSByZmIgZGVjb2RlciBvbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjEuCgoyMDA4LTAyLTExIDEzOjM0OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IEZyZWUgdGhlIGRldmljZSBzdHJpbmcgaW4gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZiZGV2c2lua19maW5hbGl6ZSk6CgkgIEZyZWUgdGhlIGRldmljZSBzdHJpbmcgaW4gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIyLgoKMjAwOC0wMi0xMSAxMzozMzoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBVbnNldCBHVmFsdWVzIGFmdGVyIHVzaW5nIHRoZW0uIEZpeGVzIGJ1ZyAjNTE1NzIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciB1c2luZyB0aGVtLiBGaXhlcyBidWcgIzUxNTcyMC4KCjIwMDgtMDItMTEgMDU6MTE6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRoZSBkdmIgcGx1Z2luIGZvciB0aGUgc3RhdGVzIHRlc3QuIEZpeGVzIGJ1ZyAjNTE1NTY3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgZHZiIHBsdWdpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0LiBGaXhlcyBidWcgIzUxNTU2Ny4KCjIwMDgtMDItMTAgMjE6MDM6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFJldmVydCBjaGFuZ2VzIHRvIDIwMDgtMDItMDkgZHVlIHRvIGZyb3plbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmVydCBjaGFuZ2VzIHRvIDIwMDgtMDItMDkgZHVlIHRvIGZyb3plbi4KCjIwMDgtMDItMTAgMTk6NDQ6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggSm9zZXAncyBzdXJuYW1lIGluIHRoZSBwcmV2aW91cyBmZXcgY29tbWl0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEpvc2VwJ3Mgc3VybmFtZSBpbiB0aGUgcHJldmlvdXMgZmV3IGNvbW1pdHMKCjIwMDgtMDItMTAgMTk6MDE6NDMgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IFRyaXZpYWwgZml4IGZvciBidWlsZCB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFRyaXZpYWwgZml4IGZvciBidWlsZCB3YXJuaW5nLgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgRml4ZXM6ICM1MTU1ODgKCjIwMDgtMDItMTAgMTg6MzY6NDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGFUaW1lIGFzIGxvY2FsIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YVRpbWUgYXMgbG9jYWwgdGltZS4KCjIwMDgtMDItMTAgMDQ6MzY6MTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MuCgoyMDA4LTAyLTA5IDAzOjM3OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbTogTGlzdGluZyB0aGUgbWFyc2hhbC5oIGluIHRoZSBub2Rpc3RfSEVBREVSUyBicmVha3MgZGlzdGNoZWNrLCBzbyBsZXQncyBub3QgZG8gdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIExpc3RpbmcgdGhlIG1hcnNoYWwuaCBpbiB0aGUgbm9kaXN0X0hFQURFUlMgYnJlYWtzIGRpc3RjaGVjaywgc28KCSAgbGV0J3Mgbm90IGRvIHRoYXQKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgY3Jhc2hpbmcgY2RhdWRpbyBwbHVnaW4gZnJvbSB0aGUgc3RhdGVzIHRlc3Qgc28gSSBjYW4gbWFrZQoJICBwcmUtcmVsZWFzZXMuCgoyMDA4LTAyLTA5IDAyOjMzOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IENvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYW5kIHNldCAta2IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZsdi5kc3A6CgkgIENvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYW5kIHNldCAta2IKCjIwMDgtMDItMDggMTg6MjI6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogQWRkIFVSSSBIYW5kbGVyIGZvciBkdmIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEFkZCBVUkkgSGFuZGxlciBmb3IgZHZiLgoJICBSZS1vcmRlciBwYWQgdGVtcGxhdGVzIHRvIHdvcmthcm91bmQgYSBidWcgaW4gcGxheWJhc2ViaW4uCgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIEFkZCBjb2RlIHRvIHBhcnNlIGNoYW5uZWxzIGZyb20gemFwLXN0eWxlIGNoYW5uZWxzLmNvbmYgZmlsZXMuCgoyMDA4LTAyLTA4IDA0OjIyOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBtdWx0aWZpbGUgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBSZW1vdmUgbXVsdGlmaWxlIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAzOjQ0OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvOiBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBTaG91bGQgYmUgbGVzcyBlcnJvciBwcm9uZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyBzdGFuZGFyZCBmdW5jdGlvbnMgaW5zdGVhZCBvZgoJICBjcmVhdGluZyBhIGRpcmVjdG9yeSBpbiB0aGUgY3VycmVudCBkaXIuCgoyMDA4LTAyLTA4IDAzOjI3OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBzcGVjdHJ1bSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWN0cnVtL3NwZWN0cnVtLnZjcHJvajoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBSZW1vdmUgc3BlY3RydW0gcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDI6NDg6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MsIHRvIGdldCAtV2Vycm9yIC1XYWxsIGludG8gdGhlIHRlc3RzIGFzIGZvcgoJICBvdGhlciBtb2R1bGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gLVdhbGwgLVdlcnJvcgoKMjAwOC0wMi0wOCAwMjowMDo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBSZW1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMToxMjowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IE1ha2UgRElTQUJMRV9ERVBSRUNBVEVEIGRlZmluZWQgKm9ubHkqIGR1cmluZyBDVlMsIG5vdCBkdXJpbmcgcHJlLXJlbGVhc2VzIG9yIHJlbGVhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2UgRElTQUJMRV9ERVBSRUNBVEVEIGRlZmluZWQgKm9ubHkqIGR1cmluZyBDVlMsIG5vdCBkdXJpbmcKCSAgcHJlLXJlbGVhc2VzIG9yIHJlbGVhc2VzLgoKMjAwOC0wMi0wOCAwMDo0ODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IERvbid0IHNjYW4gZGVsZXRlZCB4aW5nbXV4IGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBEb24ndCBzY2FuIGRlbGV0ZWQgeGluZ211eCBoZWFkZXIuCgoyMDA4LTAyLTA4IDAwOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgeGluZ211eCBwbHVnaW4sIGFzIHRoZSBlbGVtZW50IGhhcyBtb3ZlZCBpbnRvIG1wZWdhdWRpb3BhcnNlIGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXhfdGVzdGRhdGEuaDoKCSAgUmVtb3ZlIHRoZSB4aW5nbXV4IHBsdWdpbiwgYXMgdGhlIGVsZW1lbnQgaGFzIG1vdmVkIGludG8KCSAgbXBlZ2F1ZGlvcGFyc2UgaW4gLXVnbHkuCgoyMDA4LTAyLTA3IDIzOjM3OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogUmVtb3ZlIG1lbnRpb24gb2Ygbm9uLWV4aXN0ZW50IGhlYWRlcnMgdG8gZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgbWVudGlvbiBvZiBub24tZXhpc3RlbnQgaGVhZGVycyB0byBmaXggdGhlIGJ1aWxkLgoKMjAwOC0wMi0wNyAyMzozMDo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgR0lPIHBsdWdpbiB3aGljaCBoYXMgbm93IG1vdmVkIHRvIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW8uYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgIFJlbW92ZSBHSU8gcGx1Z2luIHdoaWNoIGhhcyBub3cgbW92ZWQgdG8gLWJhc2UuCgoyMDA4LTAyLTA3IDIxOjUzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIC0gdGhleSd2ZSBiZWNvbWUgYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZCByZXNwZWN0aXZlbHksIGluIHRoZSBnc3QtcGx1Zy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2ZpbHRlci52Y3Byb2o6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6CgkgIFJlbW92ZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIC0gdGhleSd2ZSBiZWNvbWUKCSAgYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZCByZXNwZWN0aXZlbHksIGluIHRoZQoJICBnc3QtcGx1Z2lucy1nb29kIGF1ZGlvZnggcGx1Z2luLgoKMjAwOC0wMi0wNyAyMTowMjoxOSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0XG5lb25cZ3N0bmVvbmh0dHBzcmMuYzogSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIF9IQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0XG5lb25cZ3N0bmVvbmh0dHBzcmMuYzoKCSAgSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIF9IQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgKiBnc3RcbXBlZ3ZpZGVvcGFyc2VcbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgVXNlIEdfR1VJTlQ2NF9DT05TVEFOVCBHTElCIG1hY3JvIGZvciBjb25zdGFudAoJICAqIHN5c1xkc2hvd3NyY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5c1xkc2hvd3NyY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93dmlkZW9kZWMuYwoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBBZGQgYSBEaXJlY3RTaG93IGRlY29kZXIgd3JhcHBlci4KCSAgKiB3aW4zMlxNQU5JRkVTVDoKCSAgQWRkIG5ldyB3aW4zMiBmaWxlcyB0byBNQU5JRkVTVAoJICAqIHdpbjMyXHZzNlxnc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyXHZzNlxsaWJnc3Rkc2hvdy5kc3A6CgkgICogd2luMzJcdnM2XGxpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkgICogd2luMzJcdnM2XGxpYmdzdGZsdi5kc3A6CgkgIEFkZCBuZXcgcHJvamVjdHMgdG8gYmFkIHdvcmtzcGFjZQoKMjAwOC0wMi0wNyAxNDo0NTowNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFBhcnNlIGNvbXBvbmVudCBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSBjb21wb25lbnQgZGVzY3JpcHRvci4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWRkIFNJIHBpZHMgdG8gZXZlcnkgcHJvZ3JhbSAoYnV0IGhhcmRjb2RlZCBjdXJyZW50bHkpLgoKMjAwOC0wMi0wNyAxMzo1OTo0MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIEFkZCBtb3JlIHRhZ3MuIEltcHJvdmUgdGVzdCBhcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbW9yZSB0YWdzLiBJbXByb3ZlIHRlc3QgYXBwLgoKMjAwOC0wMi0wNyAxMzo0ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6IEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBBZGQgYSBmaXhtZSBjb21tZW50LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggc2FtZSBsZWFrIGFzIGluIGlucHV0LXNlbGVjdG9yLgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIEltcHJvdmUgdGhlIHRlc3QuCgoyMDA4LTAyLTA3IDEzOjQxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wcm92ZSB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEltcHJvdmUgdGhlIGRvY3MuCgoyMDA4LTAyLTA3IDEyOjA1OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBUaGUgZGMxMzk0IHBsdWdpbiBzZWVtcyB0byB1c2UgQVBJIHRoYXQgd2FzIHJlbW92ZWQgb3IgY2hhbmdlZCBiZWZvcmUgdGhlIGZpbmFsIDIuMC4wIHJlbGVhc2UsIHNvIG9ubHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVGhlIGRjMTM5NCBwbHVnaW4gc2VlbXMgdG8gdXNlIEFQSSB0aGF0IHdhcyByZW1vdmVkIG9yIGNoYW5nZWQKCSAgYmVmb3JlIHRoZSBmaW5hbCAyLjAuMCByZWxlYXNlLCBzbyBvbmx5IGJ1aWxkIGl0IGlmIDIuMC4wLXJjNQoJICBpcyBhdmFpbGFibGUuIFNvbWVvbmUgbmVlZHMgdG8gcG9ydCBpdCB0byB0aGUgZmluYWwgQVBJLgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2NoYW5nZV9jYW1lcmFfdHJhbnNtaXNzaW9uKToKCSAgSW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY3B5IGFuZCB1c2UgZ191c2xlZXAgaW5zdGVhZCBvZiB1c2xlZXAuCgoyMDA4LTAyLTA3IDEwOjA0OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDItMDcgMDI6MDY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06IFB1dCBDRkxBR1MgYW5kIExJQlMgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICBQdXQgQ0ZMQUdTIGFuZCBMSUJTIGluIHRoZSByaWdodCBvcmRlcgoKMjAwOC0wMi0wNiAxODo1Njo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogeGltYWdlc3JjIGhhcyBtb3ZlZCB0byAtZ29vZCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IgdGhlIHJlcXVpcmVkIFggbGlicyBoZXJlIGFueSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHhpbWFnZXNyYyBoYXMgbW92ZWQgdG8gLWdvb2QsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yCgkgIHRoZSByZXF1aXJlZCBYIGxpYnMgaGVyZSBhbnkgbW9yZS4KCjIwMDgtMDItMDYgMTE6MDc6NDcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMDItMDUgMTc6MTA6MTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBBZGQgbW9yZSB0YWdzIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbW9yZSB0YWdzIG1hcHBpbmcuCgoyMDA4LTAyLTA1IDEyOjE5OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEhhbmRsZSBsYXRlbmN5IHF1ZXJpZXMgaW4gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBIYW5kbGUgbGF0ZW5jeSBxdWVyaWVzIGluIHNyYyBwYWRzLgoKMjAwOC0wMi0wNSAxMTo0MDo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBmbGFnIHRvIGJvdGggc2R0IGFuZCBuaXQgc3RydWN0dXJlcyB0byBzYXkgd2hldGhlciB0aGUgdGFibGUgaXMgZm9yIHRoZSBhY3R1YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgZmxhZyB0byBib3RoIHNkdCBhbmQgbml0IHN0cnVjdHVyZXMgdG8gc2F5CgkgIHdoZXRoZXIgdGhlIHRhYmxlIGlzIGZvciB0aGUgYWN0dWFsIG5ldHdvcmsvdHMKCSAgb3Igbm90LgoKMjAwOC0wMi0wNSAxMTozMDo0OSArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBGbHVzaCBwYWNrZXRpemVyIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKToKCSAgRmx1c2ggcGFja2V0aXplciB0b28uCgoyMDA4LTAyLTA0IDE5OjE1OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFIGFzIHRoZSBzdHVmZiBnZW5lcmF0ZWQgZnJvbSBpdCBpcyBub3QgdXNlZCBhbnl3YXkgYW5kIGNhbid0IGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCksCgkgIChnc3RfbGFkc3BhX2NsYXNzX2luaXQpLCAobGFkc3BhX2Rlc2NyaWJlX3BsdWdpbiksIChwbHVnaW5faW5pdCk6CgkgIERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUgYXMgdGhlIHN0dWZmIGdlbmVyYXRlZCBmcm9tIGl0IGlzIG5vdCB1c2VkCgkgIGFueXdheSBhbmQgY2FuJ3QgYmUgdXNlZC4KCSAgU3RvcmUgdGhlIGNsYXNzIHN0cnVjdCBvZiB0aGUgY29ycmVjdCB0eXBlIGluIHBhcmVudF9jbGFzcy4KCSAgUGFzcyB0aGUgTEFEU1BBX0Rlc2NyaXB0b3IgYXMgY2xhc3NfZGF0YSB0byB0aGUgY2xhc3NfaW5pdCBmdW5jdGlvbgoJICBhcyBwcmVwYXJhdGlvbiBmb3IgdGhlIHRpbWUsIHdoZW4gd2UgY2FuIGFkZCBwYWQgdGVtcGxhdGVzIGFuZCBmcmllbmRzCgkgIGluIGNsYXNzX2luaXQgYW5kIGFkZCBhIEZJWE1FIGZvciB0aGF0LgoJICBEb24ndCB1c2UgYSBjdXN0b20gaGFzaCB0YWJsZSBmb3IgcGFzc2luZyB0aGUgTEFEU1BBX0Rlc2NyaXB0b3JzIHRvCgkgIGJhc2VfaW5pdCBidXQgdXNlIGdfdHlwZV9zZXRfcWRhdGEgYW5kIGdfdHlwZV9nZXRfcWRhdGEuCgoyMDA4LTAyLTA0IDE2OjIyOjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogUmVhbGx5IGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIFJlYWxseSBmaXggdGhlIGJ1aWxkLgoJICBUT0RPIDogQXBwbHkgc3BhbmtPbWF0aWMyMDAwIG9uIHRoYXl0YW4ncyByZWFyIGVuZC4KCjIwMDgtMDItMDQgMTM6MTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJtanBlZ3Rvb2xzIDEuOC54LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAoR3N0TXBlZzJFbmNQaWN0dXJlUmVhZGVyLlN0cmVhbVBpY3R1cmVQYXJhbXMpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJtanBlZ3Rvb2xzIDEuOC54LgoKMjAwOC0wMi0wNCAxMTo0ODo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRG9uJ3QgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZSBhZnRlciBhZGRpbmcgaXQuIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgdGFrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZSBhZnRlciBhZGRpbmcgaXQuCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgdGFrZXMgb3duZXJzaGlwIG9mIGl0LgoKMjAwOC0wMi0wMyAxODoyMjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBVc2UgdGhlIGluY29taW5nIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBwcm92aWRlZCB0byBpbmZlciBhIGRlZmF1bHQgYXNwZWN0IHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgVXNlIHRoZSBpbmNvbWluZyBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgcHJvdmlkZWQgdG8gaW5mZXIgYQoJICBkZWZhdWx0IGFzcGVjdCByYXRpbywgd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlICdhc3BlY3QnCgkgIHByb3BlcnR5LgoJICBGaXhlczogIzQ5OTAwOAoKMjAwOC0wMi0wMyAxNzo0NzoyNSArMDAwMCAgQW5kcnplaiBNZW5kZWwgPGFuZHJ6ZWoubWVuZGVsQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHZhcmlhYmxlIG5hbWluZyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHRoZSBnbGltYWdlc2luayBwbHVnaW4uIEZpeGVzIGJ1ZyAjNTE0MDkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJ6ZWogTWVuZGVsIDxhbmRyemVqIGRvdCBtZW5kZWwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB2YXJpYWJsZSBuYW1pbmcgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCB0aGUgZ2xpbWFnZXNpbmsKCSAgcGx1Z2luLiBGaXhlcyBidWcgIzUxNDA5My4KCjIwMDgtMDItMDIgMjM6MjU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOiBEZW1vdGUgbWV0YWRhdGFkZW11eCB0byBHU1RfUkFOS19OT05FIGZvciB0aGUgcmVsZWFzZSwgaXQncyBub3QgcmVhZHkgdG8gYmUgYXV0b3BsdWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgRGVtb3RlIG1ldGFkYXRhZGVtdXggdG8gR1NUX1JBTktfTk9ORSBmb3IgdGhlIHJlbGVhc2UsIGl0J3Mgbm90CgkgIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkIHlldC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBmb3IgR1R5cGUgb24gcHBjMzIgYnkgcmVtb3ZpbmcgaXQsCgkgIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmludCB0aGUgR1R5cGUgdmFsdWUgYW55d2F5LgoKMjAwOC0wMi0wMiAyMDoyMjoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBNYXAgbW9yZSBFeGlmIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgbW9yZSBFeGlmIHRhZ3MuCgoyMDA4LTAyLTAxIDE3OjA4OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRG9uJ3QgbGVhayBldmVudCBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQuIEZpeGVzICM1MTI4MjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KToKCSAgRG9uJ3QgbGVhayBldmVudCBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQuIEZpeGVzICM1MTI4MjYuCgoyMDA4LTAyLTAxIDEzOjAyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMsIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMsIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpOgoJICBVc2UgdGhlIG5ldyBHc3RWaWRlb0Zvcm1hdCBBUEkgdG8gZ2V0IHN0cmlkZXMsIHBsYW5lIG9mZnNldHMgZXRjLi4KCSAgRm9yIFk0MkIgd2Ugc3RpbGwgbmVlZCB0byBjYWxjdWxhdGUgdGhlc2Ugb3Vyc2VsdmVzLCBzaW5jZSB0aGUgbGliCgkgIGluIC1iYXNlIGRvZXNuJ3Qga25vdyBhYm91dCB0aGlzIGZvcm1hdCB5ZXQgYW5kIHdlIGNhbid0IGJ1bXAgdGhlCgkgIHJlcXVpcmVtZW50IHRvIENWUyByaWdodCBub3cuIEZpeCB0aGUgWTQyQiBzdHJpZGUsIG9mZnNldCBhbmQgc2l6ZQoJICBjYWxjdWxhdGlvbnMgZm9yIG9kZCB3aWR0aHMgYW5kIGhlaWdodHMgd2hpbGUgd2UncmUgYXQgaXQgdGhvdWdoCgkgICh0byBtYXRjaCB0aG9zZSBpbiB2aWRlb3Rlc3RzcmMpLgoKMjAwOC0wMS0zMSAyMTo1NTo0NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTMxIDE3OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IChtZXRhZGF0YXBhcnNlX2pwZWdfcmVhZGluZyk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDgtMDEtMzEgMTc6MTg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogUmVhbGx5IGNsZWFuIHVwIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGp1c3QgdW5yZWZmaW5nIGFsbCBidWZmZXJzIGluIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19kaXNwb3NlKToKCSAgUmVhbGx5IGNsZWFuIHVwIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGp1c3QgdW5yZWZmaW5nIGFsbCBidWZmZXJzCgkgIGluIGl0LgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NyY19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X2FwcF9zcmNfZmluYWxpemUpOgoJICBGaXggZGlzcG9zZS9maW5hbGl6ZS4KCjIwMDgtMDEtMzEgMTU6NTI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggY29tcGlsZXIgd2FybmluZyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBtYXRjaCB3aGF0IGV2ZXJ5b25lIGlzIHBhc3NpbmcgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBtYXRjaCB3aGF0CgkgIGV2ZXJ5b25lIGlzIHBhc3NpbmcgaW4uLi4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZCBvbiBTb2xhcmlzIGJ5IHJlbW92aW5nIEdOVSBsZCBzcGVjaWZpYyBmbGFncyB0aGF0CgkgIGxvb2sgdW5uZWNlc3NhcnkuCgoyMDA4LTAxLTMxIDEwOjE2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06IEFkZCBzb21lIHJlbGV2YW50IHZhcmlhYmxlcyB0byBDRkxBR1MgYW5kIExJQkFERCwgZm9yIGV4YW1wbGUgb3VyIGNvbXBpbGVyIHdhcm5pbmdzIHBhcmFtdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBBZGQgc29tZSByZWxldmFudCB2YXJpYWJsZXMgdG8gQ0ZMQUdTIGFuZCBMSUJBREQsIGZvciBleGFtcGxlIG91cgoJICBjb21waWxlciB3YXJuaW5ncyBwYXJhbXRlcnMuCgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfc3RyaXBfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfY2FsY3VsYXRlX29mZnNldHMpLAoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfc3JjX2V2ZW50KSwgKGdzdF9iYXNlX21ldGFkYXRhX3NpbmtfYWN0aXZhdGUpOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6IChnc3RfbWV0YWRhdGFfZGVtdXhfaW5pdCksCgkgIChnc3RfbWV0YWRhdGFfZGVtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tZXRhZGF0YV9kZW11eF9kaXNwb3NlKToKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzogKGdzdF9tZXRhZGF0YV9tdXhfaW5pdCksCgkgIChnc3RfbWV0YWRhdGFfbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbWV0YWRhdGFfbXV4X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbWV0YWRhdGFfbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X21ldGFkYXRhX211eF9jcmVhdGVfY2h1bmtzX2Zyb21fdGFncyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6IChtZXRhZGF0YV9kaXNwb3NlKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIChtZXRhZGF0YXBhcnNlX2V4aWZfY29udGVudF9mb3JlYWNoX2VudHJ5X2Z1bmMpLAoJICAobWV0YWRhdGFtdXhfZXhpZl9mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJICAobWV0YWRhdGFtdXhfaXB0Y19mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOiAobWV0YWRhdGFtdXhfanBlZ19sYXp5X3VwZGF0ZSksCgkgIChtZXRhZGF0YW11eF9qcGVnX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOiAobWV0YWRhdGFtdXhfcG5nX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiAobWV0YWRhdGFwYXJzZV9qcGVnX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6IChtZXRhZGF0YXBhcnNlX3htcF90YWdfbGlzdF9hZGQpLAoJICAobWV0YWRhdGFtdXhfeG1wX2NyZWF0ZV9jaHVua19mcm9tX3RhZ19saXN0KToKCSAgRml4IGEgbWlsbGlvbiB3YXJuaW5ncyB0aGF0IHNob3dlZCB1cCBhZnRlciB0aGUgYWJvdmUgY2hhbmdlLgoKMjAwOC0wMS0zMSAwOTo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgoyMDA4LTAxLTMxIDA4OjU3OjE2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCjIwMDgtMDEtMzAgMjA6NTU6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igc291bmR0b3VjaCB0byBub3QgcHJvZHVjZSBzeW50YXggZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHNvdW5kdG91Y2ggdG8gbm90IHByb2R1Y2Ugc3ludGF4IGVycm9ycy4KCjIwMDgtMDEtMzAgMTk6MTk6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBidWlsZCB3aXRoIGV4ZW1waSA+PSAxLjk5LjUgYW5kIGZpeCB0aGUgaW5jbHVkZSBwYXRoIGZvciBleGVtcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKG1ldGFkYXRhbXV4X3htcF9mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgIEZpeCBidWlsZCB3aXRoIGV4ZW1waSA+PSAxLjk5LjUgYW5kIGZpeCB0aGUgaW5jbHVkZQoJICBwYXRoIGZvciBleGVtcGkuCgoyMDA4LTAxLTMwIDE2OjUzOjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJICBKdXN0IHVwdGFkZSB0aGUgVG9EbyBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCB1cHRhZGUgdGhlIFRvRG8gbGlzdC4KCjIwMDgtMDEtMzAgMTY6MDU6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBTcGVlZCB1cCBhIGJpdCBwbmcgbXV4ZXIuIEZpeCB4bXAgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gU3BlZWQgdXAgYSBiaXQgcG5nIG11eGVyLiBGaXggeG1wIG11eGVyLgoKMjAwOC0wMS0zMCAxNTo0MDo0NCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVnZW5lcmF0ZSBldmVyeXRoaW5nIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2VzIHdlIGhhZC4KCjIwMDgtMDEtMzAgMTU6MzQ6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vOiBVc2UgYXN5bmMgdmFyaWFudHMgb2YgdGhlIGNsb3NlIHN0cmVhbSBmdW5jdGlvbnMgdG8gcHJldmVudCBibG9ja2luZyBmb3IgYSBsb25nIHRpbWUgdGhlcmUgYW5kIGFkZCBzb21lIG1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6IChjbG9zZV9zdHJlYW1fY2IpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua19ldmVudCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19yZW5kZXIpLCAoZ3N0X2dpb19iYXNlX3Npbmtfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChjbG9zZV9zdHJlYW1fY2IpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfY3JlYXRlKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc2V0X3N0cmVhbSk6CgkgIFVzZSBhc3luYyB2YXJpYW50cyBvZiB0aGUgY2xvc2Ugc3RyZWFtIGZ1bmN0aW9ucyB0byBwcmV2ZW50IGJsb2NraW5nCgkgIGZvciBhIGxvbmcgdGltZSB0aGVyZSBhbmQgYWRkIHNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIGZvciBhIGNvcnJlY3QKCSAgc3RyZWFtLgoKMjAwOC0wMS0zMCAxMzozODo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IE1vdmUgLVdsIHBhcmFtZXRlciBmcm9tIF9MREFERCB0byBfTERGTEFHUyB0byBmaXggYXV0b2dlbi5zaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgLVdsIHBhcmFtZXRlciBmcm9tIF9MREFERCB0byBfTERGTEFHUyB0byBmaXggYXV0b2dlbi5zaC4KCjIwMDgtMDEtMzAgMTM6Mjk6MTUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2luaXQpOgoJICBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5CgkgIGVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwOC0wMS0zMCAxMzowODo0NSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0zMCAxMzowNjowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nb3RfaGVhZGVyc19jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9ib2R5X2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19yZXNwb25zZV9jYiksIChnc3Rfc291cGh0dHBfc3JjX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJveHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VwMi40IGFuZCByZXF1aXJlIGl0LiBBbHNvIGltcGxlbWVudCByZWRpcmVjdGlvbgoJICBhbmQgbWFudWFsIHByb3h5IHNwZWNpZmljYXRpb24uIEZpeGVzIGJ1ZyAjNTEwNzA4LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3Igc291cGh0dHBzcmMuCgoyMDA4LTAxLTMwIDEyOjU2OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBGaXggdGVzdCBhcHAgY29tcGlsYXRpb24uIEZpeCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gRml4IHRlc3QgYXBwIGNvbXBpbGF0aW9uLiBGaXggcHVsbCBtb2RlLgoKMjAwOC0wMS0yOSAxODo1NzoyNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcGF5bG9hZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldwoJICBwYXlsb2FkIHR5cGUgaW5zdGVhZCBvZiBhbHdheXMgZmlyaW5nIHRoZSBzaWduYWwuIEZpeGVzICM1MTI3NzQuCgoyMDA4LTAxLTI5IDE4OjA1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6IERlZmluZSBMT0dfTk9ORSBhbmQgZnJpZW5kcyBpZiB0aGV5J3JlIG5vdCBkZWZpbmVkIHlldC4gbWpwZWd0b29scyAxLjkuMHJjMyByZW1vdmVkIHRoZWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBEZWZpbmUgTE9HX05PTkUgYW5kIGZyaWVuZHMgaWYgdGhleSdyZSBub3QgZGVmaW5lZCB5ZXQuIG1qcGVndG9vbHMKCSAgMS45LjByYzMgcmVtb3ZlZCB0aGVpciBkZWZpbml0aW9ucyBidXQgd2l0aG91dCBpdCBkb2Vzbid0IG1ha2UgbXVjaAoJICBzZW5zZSB0byB3cml0ZSBhIGxvZyBoYW5kbGVyLgoKMjAwOC0wMS0yOSAxMTozMjoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGJhc2UgY2xhc3NlcyBmb3IgbWV0YWRhdGEgYW5kIGVxdWFsaXplciAobm8gaW50cm9zcGVjdGlvbiB5ZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIEFkZCBiYXNlIGNsYXNzZXMgZm9yIG1ldGFkYXRhIGFuZCBlcXVhbGl6ZXIgKG5vIGludHJvc3BlY3Rpb24geWV0KS4KCjIwMDgtMDEtMjkgMDc6NDM6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9SRUFETUU6IEZvcm1hdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgIEZvcm1hdHRpbmcuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTAxLTI5IDA3OjM4OjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZXBsYWNlIHRoZSBzd2l0Y2ggcGx1Z2luIHdpdGggdGhlIHNlbGVjdG9yIHBsdWdpbi4gQWRkIG91dHB1dC0gc2VsZWN0b3IgYXMgdGhlIG9wcG9zaXRlIG9mIGlucHV0LXNlbGVjdG9vICh3YXMgc3dpdGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGdzdC9zZWxlY3Rvci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3Ivc2VsZWN0b3IudmNwcm9qOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3N3aXRjaC9zd2l0Y2gudmNwcm9qOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgUmVwbGFjZSB0aGUgc3dpdGNoIHBsdWdpbiB3aXRoIHRoZSBzZWxlY3RvciBwbHVnaW4uIEFkZCBvdXRwdXQtCgkgIHNlbGVjdG9yIGFzIHRoZSBvcHBvc2l0ZSBvZiBpbnB1dC1zZWxlY3RvbyAod2FzIHN3aXRjaCkuIEFkZCBhIHRlc3QKCSAgZm9yIG91dHB1dC1zZWxlY3Rvci4gQWRkIGRvY3MgZm9yIHRoZSBlbGVtZW50cy4gVGhlIHZjcHJvaiBuZWVkcwoJICB1cGRhdGUuIEZpeGVzICM1MDAxNDIuCgoyMDA4LTAxLTI4IDIzOjE4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogVHJ5IHRvIGF2b2lkICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgaWYgZGVidWdnaW5nIGlzIGRpc2FibGVkIChub3QgYnVsbGV0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKToKCSAgVHJ5IHRvIGF2b2lkICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgaWYgZGVidWdnaW5nIGlzCgkgIGRpc2FibGVkIChub3QgYnVsbGV0IHByb29mLCBidXQgc2VlbXMgdG8gZG8gZm9yIG5vdykuICgjNTEyNjU0KQoKMjAwOC0wMS0yOCAxMTo0NzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOiBDbGVhbiB1cCBhIGJpdCBhbmQgb25seSBhbGxvY2F0ZSBhIHRlbXBvcmFyeSBidWZmZXIgZm9yIHRoZSBkYXRhIGlmIHByb2Nlc3Npbmcgc3RlcmVvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgQ2xlYW4gdXAgYSBiaXQgYW5kIG9ubHkgYWxsb2NhdGUgYSB0ZW1wb3JhcnkgYnVmZmVyIGZvciB0aGUgZGF0YQoJICBpZiBwcm9jZXNzaW5nIHN0ZXJlbyBkYXRhIGFzIEJQTURldGVjdCBkb3dubWl4ZXMgZnJvbSBzdGVyZW8gdG8KCSAgbW9ubyBhbmQgc3RvcmVzIHRoZSByZXN1bHQgaW4gdGhlIGlucHV0IGRhdGEuIFRoYW5rcyB0bwoJICBTdGVmYW4gS29zdCBmb3IgdGhlIHN1Z2dlc3Rpb25zLgoKMjAwOC0wMS0yNyAxNzowMjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IENhc3QgYSBkb3VibGUgdG8gYSBHc3RDbG9ja1RpbWVEaWZmIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBDYXN0IGEgZG91YmxlIHRvIGEgR3N0Q2xvY2tUaW1lRGlmZiB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wMS0yNyAxNjoxMjo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IFByaW50ZiBmb3JtYXQgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXguCgoyMDA4LTAxLTI3IDA3OjUxOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogRG9uJ3Qgc2VuZCBhIExBVEVOQ1kgZXZlbnQgZm9yIG5vdyB1bnRpbCB3ZSBnZXQgdGhlIHVzYWdlIHJpZ2h0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgRG9uJ3Qgc2VuZCBhIExBVEVOQ1kgZXZlbnQgZm9yIG5vdyB1bnRpbCB3ZSBnZXQgdGhlIHVzYWdlIHJpZ2h0LgoKMjAwOC0wMS0yNyAwNzozNzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guKjogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkgYW5kIG5vdGlmeSBhYm91dCBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeSBhbmQgbm90aWZ5IGFib3V0IGxhdGVuY3kgY2hhbmdlcy4KCSAgVW5mb3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIGEgZml4ZWQgbGF0ZW5jeSBidXQgaXQgY2hhbmdlcwoJICBhIGJpdCB3aXRoIGVhY2ggYnVmZmVyIHNvIHdlIG9ubHkgc2VuZCBhbiBMQVRFTkNZIGV2ZW50IHdpdGgKCSAgdGhlIG1heGltdW0gbGF0ZW5jeSBpZiBpdCBjaGFuZ2VzLgoJICBBbHdheXMgY2FsY3VsYXRlIHRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uLCBldGMgZnJvbSB0aGUgc2FtcGxlCgkgIHJhdGUgaW5zdGVhZCBvZiB1c2luZyBhIHByZS1jYWxjdWxhdGVkIGR1cmF0aW9uIGZvciBvbmUgc2FtcGxlCgkgIHRvIHByZXZlbnQgbGFyZ2Ugcm91bmRpbmcgZXJyb3JzLgoKMjAwOC0wMS0yNyAwNzozMjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbWpwZWd0b29scyAxLjkgd2hpbGUga2VlcGluZyBjb21wYXRpYmxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIEhhbnMgZGUgR29lZGUgPGogZG90IHcgZG90IHIgZG90IGRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IG1qcGVndG9vbHMgMS45IHdoaWxlIGtlZXBpbmcKCSAgY29tcGF0aWJsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuCgoyMDA4LTAxLTI3IDA2OjMxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6IE9ubHkgY29uc2lkZXIgYSBCUE0gdmFsdWUgYWJvdmUgMS4wIGFzIHZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIE9ubHkgY29uc2lkZXIgYSBCUE0gdmFsdWUgYWJvdmUgMS4wIGFzIHZhbGlkLgoKMjAwOC0wMS0yNyAwNTo1NjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvOiBBZGQgQlBNIGRldGVjdGlvbiBwbHVnaW4gYmFzZWQgb24gU291bmRUb3VjaCdzIGxpYkJQTS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5oaDoKCSAgKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIEJQTSBkZXRlY3Rpb24gcGx1Z2luIGJhc2VkIG9uIFNvdW5kVG91Y2gncyBsaWJCUE0uCgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFsbG93IHNhbXBsZSByYXRlcyB1bnRpbCBNQVggaW5zdGVhZCBvZiBvbmx5IDQ4a0h6IGFuZCByZW1vdmUgdGhlCgkgIGJ1ZmZlci1mcmFtZXMgZmllbGQgZnJvbSB0aGF0IGNhcHMuCgkgIENsZWFyIHRoZSByZW1haW5pbmcgc2FtcGxlcyBjb21wbGV0ZWx5IHdoZW4gbmVjZXNzYXJ5IHRvIGdldCBpbnRvCgkgIGEgY2xlYW4gc3RhdGUgYWdhaW4uCgoyMDA4LTAxLTI2IDE2OjE5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UKCSAgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoKMjAwOC0wMS0yNiAxNToxMjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IEFsbG93IHNlZWtpbmcgb25seSBpbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdCwgb3RoZXIgZm9ybWF0cyB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBbGxvdyBzZWVraW5nIG9ubHkgaW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQsIG90aGVyIGZvcm1hdHMgd2lsbAoJICBub3Qgd29yayBhcyBleHBlY3RlZC4gQWxzbyBoYW5kbGUgYSBzdG9wIHBvc2l0aW9uIG9mIC0xIGNvcnJlY3RseQoJICBmb3Igc2Vla3MsIG5ld3NlZ21lbnQgZXZlbnRzIGFuZCB0aGUgcXVlcmllcy4gVGhpcyBmaXhlcyBwbGF5YmFjawoJICB3aXRoIHRoZSBwaXRjaCBlbGVtZW50IGlmIHVwc3RyZWFtIGRvZXNuJ3Qga25vdyB0aGUgZHVyYXRpb24gb3IgaGFzCgkgIC0xIGFzIHN0b3AgcG9zaXRpb24gaW4gTkVXU0VHTUVOVCBldmVudHMgZm9yIG90aGVyIHJlYXNvbnMuIEJlZm9yZQoJICBzaW1wbHkgbm90aGluZyB3YXMgcGxheWVkIGFzIHRoZSBzZWdtZW50IHdhcyBnb2luZyBmcm9tIDAgdG8gMC4KCSAgU2VuZCBhIEdTVF9NRVNTQUdFX0RVUkFUSU9OIHdoZW5ldmVyIHRoZSByYXRlIG9yIHRlbXBvIGlzIGNoYW5nZWQKCSAgc28gYXBwbGljYXRpb25zIGNhbiB1cGRhdGUgdGhlaXIgY2FjaGVkIGR1cmF0aW9uLiBGaXhlcyBidWcgIzUwMzMwOC4KCSAgU29tZSByYW5kb20gY2xlYW51cCBhbmQgbWVtb3J5IGxlYWsgY2xvc2luZy4KCjIwMDgtMDEtMjYgMTQ6MzU6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tdXNlcGFjay86IEZpcnN0IGluY2x1ZGUgdGhlIGxpYm1wY2RlYyBoZWFkZXJzIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgYXMgdGhleSAjZGVmaW5lIFRSVUUgYW5kIEZBTFNFIHVuY29uZGl0aW9uYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgRmlyc3QgaW5jbHVkZSB0aGUgbGlibXBjZGVjIGhlYWRlcnMgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBhcyB0aGV5CgkgICNkZWZpbmUgVFJVRSBhbmQgRkFMU0UgdW5jb25kaXRpb25hbGx5IGFuZCB3ZSBvdGhlcndpc2UgZ2V0IGNvbmZsaWN0cwoJICB3aXRoIHRoZSBvbmVzIHRoYXQgR0xpYiBkZWZpbmVzLgoKMjAwOC0wMS0yNiAxMzoyNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdW5kdG91Y2ggMS4zLjEgYW5kIGFkZCBhbiB1Z2x5IHdvcmthcm91bmQgZm9yIHRoZSBoZWFkZXIgZGVmaW5pbmVkIFBBQ0tBR0UgYW5kIG90aGVyIHZhcmlhYmxlcyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdW5kdG91Y2ggMS4zLjEgYW5kIGFkZCBhbiB1Z2x5IHdvcmthcm91bmQgZm9yCgkgIHRoZSBoZWFkZXIgZGVmaW5pbmVkIFBBQ0tBR0UgYW5kIG90aGVyIHZhcmlhYmxlcyBmb3Igd2hpY2ggd2UgbmVlZAoJICBvdXIgb3duIHZhbHVlcyBmcm9tIGNvbmZpZy5oLgoKMjAwOC0wMS0yNiAxMjoxMTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmdsYWRlLTIuMCwgZm9yIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgbGliZ2xhZGUtMi4wLCBmb3IgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBPbmx5IHRyeSB0byBidWlsZCB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsgYW5kCgkgIGdsYWRlIChvdGhlcndpc2UgdGhlIGJ1aWxkIHdvdWxkIGp1c3QgZmFpbCAuLi4pOyBmaXggYnVpbGQgaW4KCSAgdW5pbnN0YWxsZWQgc2V0dXAuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IChvbl9jZWxsX2VkaXRlZCksICh1aV9hZGRfY29sdW1ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyAodXNlIEdMaWIgbWFjcm9zIHRvIGNhc3QgcG9pbnRlciA8LT4gaW50KS4KCjIwMDgtMDEtMjUgMTc6NDU6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NYWtlZmlsZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWV0YWRhdGFFZGl0b3JNYWluLmdsYWRlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIEFkZCBsb3Qgb2YgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBsb3Qgb2YgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMjUgMTc6MzU6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBPcGVuIGZyb250ZW5kIGluIE5VTEwtPlJFQURZIHNvIGNhcHMgYWJvdXQgZHZiIGFkYXB0ZXIgY2FuIGJlIHNlZW4gYnkgdGhlIGFwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgT3BlbiBmcm9udGVuZCBpbiBOVUxMLT5SRUFEWSBzbyBjYXBzIGFib3V0IGR2YiBhZGFwdGVyIGNhbiBiZQoJICBzZWVuIGJ5IHRoZSBhcHAuCgoyMDA4LTAxLTI1IDE2OjU4OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQgd2l0aCBhIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocGF5bG9hZF90eXBlX2NoYW5nZSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0CgkgIHdpdGggYSBzaWduYWwuCgoyMDA4LTAxLTI1IDE2OjAwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdCBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQKCSAgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZCB3aXRoIGVhY2ggYnVmZmVyIGluc3RlYWQuIEZpeGVzICM1MTE2ODYuCgoyMDA4LTAxLTI1IDE1OjQ5OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBUcmFjayBwdCBvbiBpbnB1dCBidWZmZXJzIGFuZCBnZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiBpdCBjaGFuZ2VzLgoJICBJZ25vcmUgcGFja2V0cyB3aXRoIHVua25vd24gY2xvY2stcmF0ZS4gU2VlICM1MTE2ODYuCgoyMDA4LTAxLTI1IDEyOjQ4OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUG9zdCBidXMgbWVzc2FnZSBhYm91dCBhZGFwdGVyIHR5cGUgYW5kIGl0J3MgY2FwYWJpbGl0aWVzLCB3aGVuIG9wZW5pbmcgdGhlIGZyb250ZW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBQb3N0IGJ1cyBtZXNzYWdlIGFib3V0IGFkYXB0ZXIgdHlwZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMsCgkgIHdoZW4gb3BlbmluZyB0aGUgZnJvbnRlbmQuCgkgIEFmdGVyIGZhaWxpbmcgdG8gcmVhZCBmcm9tIHRoZSBkdnIsIHBvc3QgYSBidXMgbWVzc2FnZSB0bwoJICBpbmZvcm0gdGhlIGFwcC4KCjIwMDgtMDEtMjUgMDk6NTA6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBUaGUgbG9naWMgZm9yIHRoZSBndWFyZCBpbnRlcnZhbCBjYWxjdWxhdGlvbiB3YXMgdG90YWxseSB3cm9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgVGhlIGxvZ2ljIGZvciB0aGUgZ3VhcmQgaW50ZXJ2YWwgY2FsY3VsYXRpb24gd2FzIHRvdGFsbHkgd3JvbmcuCgkgIEZpeGVkLgoKMjAwOC0wMS0yNSAwMTo0NDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZSB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZQoJICB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCjIwMDgtMDEtMjQgMTM6MjM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IE5vdyB3ZSBoYXZlIGZ1bGwgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBOb3cgd2UgaGF2ZSBmdWxsIGhpZXJhcmNoeS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICBSZWdlbmVyYXRlLgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICBBZGQgZG9jIGJsb2IgZm9yIG9iamVjdCBpbnN0YW5jZS4KCjIwMDgtMDEtMjQgMTA6MTU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgdGhpcyB0b28sIGhvcGVmdWxseSBmaXhlcyB0aGUgZG9jcyBidWlsZCAoZG9lcyBhdCBsZWFzdCBmb3IgbWUsIGFmdGVyIG1ha2UgY2xlYW4gaW4gZG9jcy9wbHVnaW5zKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgVXBkYXRlIHRoaXMgdG9vLCBob3BlZnVsbHkgZml4ZXMgdGhlIGRvY3MgYnVpbGQgKGRvZXMgYXQgbGVhc3QKCSAgZm9yIG1lLCBhZnRlciBtYWtlIGNsZWFuIGluIGRvY3MvcGx1Z2lucykuCgoyMDA4LTAxLTI0IDA4OjEyOjI5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogRml4IG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yLCB0aGUgbGVuZ3RoIGlzIGFjdHVhbGx5IHRoZSBkZXNjcmlwdG9yIGxlbmd0aCBub3Qgc3RvcmVkIGluIHRoZSBieXRlIGFmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciwgdGhlIGxlbmd0aCBpcyBhY3R1YWxseSB0aGUKCSAgZGVzY3JpcHRvciBsZW5ndGggbm90IHN0b3JlZCBpbiB0aGUgYnl0ZSBhZnRlci4KCSAgRml4IGJvdW5kcyBjaGVja2luZyB0byBiZSBtb3JlIGNvcnJlY3QuCgoyMDA4LTAxLTI0IDAwOjIyOjE3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2UgYW5kIGFkZCB0byByZWxldmFudCBidXMgbWVzc2FnZXMgdGhlIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZCB0aGUgbG9naWNhbCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIGFuZCBhZGQgdG8gcmVsZXZhbnQgYnVzIG1lc3NhZ2VzIHRoZSB0ZXJyZXN0cmlhbCBkZWxpdmVyeQoJICBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgdGhlIGxvZ2ljYWwgY2hhbm5lbCBkZXNjcmlwdG9yLgoJICBEbyBib3VuZHMgY2hlY2tpbmcgb24gZGF0YSBzdG9yZWQgaW4gZGVzY3JpcHRvciBiZWZvcmUgdXNlLgoKMjAwOC0wMS0yMyAxNjozNTozNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0yMyAxNTo1MToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbGliZGNhICh3aXRoIHRoZSBsaWJkdHMgY29tcGF0IGhlYWRlcikuIEZpeGVzIGJ1ZyAjNTExNTMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbGliZGNhICh3aXRoIHRoZSBsaWJkdHMgY29tcGF0CgkgIGhlYWRlcikuIEZpeGVzIGJ1ZyAjNTExNTMwLgoJICBTaG91bGQgcHJvYmFibHkgYmUgcG9ydGVkIHRvIGxpYmRjYSBhcyBzb21lIHBvaW50cyBhcyBpdCdzIHRoZQoJICBzdWNjZXNzb3Igb2YgbGliZHRzLgoKMjAwOC0wMS0yMyAxNDo1OTo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IERvIG5vdCBnbyBvbiBmb3JldmVyIGlmIHByb2JsZW0gd2l0aCByZWFkaW5nIGZyb20gZHZyLCByYXRoZXIgcmV0dXJuIE5VTEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIERvIG5vdCBnbyBvbiBmb3JldmVyIGlmIHByb2JsZW0gd2l0aCByZWFkaW5nIGZyb20gZHZyLCByYXRoZXIKCSAgcmV0dXJuIE5VTEwuCgkgIEhhbmRsZSBzb21lIGNsZWFudXAgaXNzdWVzIG9mIGNsb3NpbmcgZmlsZWRlc2NyaXB0b3JzIHdoZW4KCSAgZmFpbGluZyB0byB0dW5lIG9yIHNpbWlsYXIuCgoyMDA4LTAxLTIzIDEzOjE4OjI0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIG5vX2luc3QgaGVhZGVyIGZpbGVzIHRvIE1ha2VmaWxlLmFtIHNvIGRpc3Rpbmcgc3RpbGwgd29ya3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtaXNzaW5nIG5vX2luc3QgaGVhZGVyIGZpbGVzIHRvIE1ha2VmaWxlLmFtIHNvIGRpc3Rpbmcgc3RpbGwgd29ya3MKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA4LTAxLTIzIDEwOjM0OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHhpbmdoZWFkZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgeGluZ2hlYWRlciBwbHVnaW4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQgZWxlbWVudCBzdGF0ZSB0byBQTEFZSU5HIGJlZm9yZSBkb2luZyBzb21ldGhpbmcgZWxzZS4KCjIwMDgtMDEtMjMgMTA6MTE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHRoZSB4aW5nbXV4IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOiAoc2V0dXBfeGluZ211eCksCgkgIChjbGVhbnVwX3hpbmdtdXgpLCAoR1NUX1NUQVJUX1RFU1QpLCAoeGluZ211eF9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4X3Rlc3RkYXRhLmg6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB0aGUgeGluZ211eCBlbGVtZW50LgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwKCSAgKGdzdF94aW5nX211eF9maW5hbGl6ZSksICh4aW5nX3Jlc2V0KToKCSAgRml4IGEgbWVtbGVhayBhbmQgaW52YWxpZCBzZWVrIHRhYmxlcyB3aXRoIGxlc3MgdGhhbiAxMDAgTVAzIGZyYW1lcy4KCjIwMDgtMDEtMjMgMDk6NDk6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZWQgdGhlIHNhdGVsbGl0ZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgYWRkZWQgaW50byBuaXQncyB0cmFuc3BvcnQgc3RydWN0dXJlIGZvciBkZWxpdmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2VkIHRoZSBzYXRlbGxpdGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kCgkgIGFkZGVkIGludG8gbml0J3MgdHJhbnNwb3J0IHN0cnVjdHVyZSBmb3IgZGVsaXZlcnkKCSAgb3ZlciB0aGUgYnVzLgoKMjAwOC0wMS0yMiAyMDoyNzoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFBhcnNlZCBhbmQgYWRkZWQgbmV0d29yayBuYW1lIHRvIHRoZSBuaXQgc3RydWN0dXJlIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZWQgYW5kIGFkZGVkIG5ldHdvcmsgbmFtZSB0byB0aGUgbml0IHN0cnVjdHVyZSBzZW50CgkgIGluIHRoZSBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTk6NTk6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBSZW1vdmUgbGVha3MgaW50cm9kdWNlZCBieSBub3QgZnJlZWluZyBnX3N0cm5kdXAnZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZW1vdmUgbGVha3MgaW50cm9kdWNlZCBieSBub3QgZnJlZWluZyBnX3N0cm5kdXAnZCBzdHJpbmdzLgoJICBGaXggc3RhcnRfdGltZSBhbmQgZHVyYXRpb24gcGFyc2luZyBpbiBFSVQuCgoyMDA4LTAxLTIyIDE4OjQwOjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGV2ZW50IG5hbWUgYW5kIGRlc2NyaXB0aW9uIHRvIHRoZSBlaXQgc3RydWN0dXJlIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgZXZlbnQgbmFtZSBhbmQgZGVzY3JpcHRpb24gdG8gdGhlIGVpdCBzdHJ1Y3R1cmUKCSAgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE4OjA4OjAxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IFJldmVydCBjb25zdCByZW1vdmFsIGZyb20gcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgUmV2ZXJ0IGNvbnN0IHJlbW92YWwgZnJvbSBwcmV2aW91cyBjb21taXQuCgoyMDA4LTAxLTIyIDE4OjA0OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkZWQgZGVzY3JpcHRvciBzZWFyY2hpbmcgaW5mcmFzdHJ1Y3R1cmUgZnJvbSBGbHVlbmRvIFRTIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBZGRlZCBkZXNjcmlwdG9yIHNlYXJjaGluZyBpbmZyYXN0cnVjdHVyZSBmcm9tIEZsdWVuZG8gVFMgZGVtdXhlci4KCSAgQWRkIGNoYW5uZWwgbmFtZSBhbmQgcHJvdmlkZXIgdG8gdGhlIHNkdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUKCSAgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE3OjQzOjM1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFBhcnNlIE5BTCB1bml0cyBpbiBmb3J3YXJkIG1vZGUgdG8gbWFyayBkZWx0YSB1bml0cyBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMjIgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpOgoJICBQYXJzZSBOQUwgdW5pdHMgaW4gZm9yd2FyZCBtb2RlIHRvIG1hcmsgZGVsdGEgdW5pdHMgZmxhZ3MuCgoyMDA4LTAxLTIyIDEyOjA2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZWdlbmVyYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgUmVnZW5lcmF0ZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSAgQWRkIHZvcmJpc2lkZWMgYWthIHRybW9yLgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIEFkZCBzaG9ydCBkZXNjcmlwdGlvbi4KCjIwMDgtMDEtMjIgMDk6NTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgZW9sIFwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBlb2wgXAoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFBsYWNlIG9iamVjdCBuYW1lcyB0byBzdGFuZGFyZCBzZWN0aW9uYXMgcGx1Z2luIGRvbnQgZG9jdW1lbnQgdGhvc2UuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICByZWdlbmVyYXRlLgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBNYXJrIHByaXZhdGUgdmFycyBhbmQgYWRkIHNob3J0IGRlc2MuCgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICBBZGQgc2hvcnQgZGVzYy4KCjIwMDgtMDEtMjEgMTQ6MzM6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE9uZSBsZXNzIHRvIGRvLiBJdHMgJ251dicgbm90ICdudnUnLiBBcyBhbiBleHRyYSBib251cyBJIG1lbnRpb24gd2hhdCBpdCBhY3R1YWxseSBpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBPbmUgbGVzcyB0byBkby4gSXRzICdudXYnIG5vdCAnbnZ1Jy4gQXMgYW4gZXh0cmEgYm9udXMgSSBtZW50aW9uIHdoYXQKCSAgaXQgYWN0dWFsbHkgaXMuCgoyMDA4LTAxLTIxIDE0OjE5OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgbGlzdHMgYWdhaW4uIFRob3NlIHdob2xlIGNhbiBidWlsZCBpdm9yYmlzZGVjLCBteXRodHZzcmMsIG52dWRlbXV4IGFuZCB0aGVvcmFkZWNleHAsIHBsZWFzZSBjb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgVXBkYXRlIGxpc3RzIGFnYWluLiBUaG9zZSB3aG9sZSBjYW4gYnVpbGQgaXZvcmJpc2RlYywgbXl0aHR2c3JjLAoJICBudnVkZW11eCBhbmQgdGhlb3JhZGVjZXhwLCBwbGVhc2UgY29tbWl0IHRoZSBpbnNwZWN0L3BsdWdpbi14eHgueG1sLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgIFJlcGxhY2UgdmlkZW9wYXJzZSB3aXRoIHJhd3BhcnNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIEhlbHAgZ3RrLWRvYyB0byByZWNvZ25pemUgdGhlIG9iamVjdCBzdHJ1Y3QuCgoyMDA4LTAxLTIxIDEyOjQyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogRG9uJ3QgdXNlIGd0ay1kb2MgY29tbWVudCBzdHlsZSBmb3Igbm9uIGd0ay1kb2MgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBjb21tZW50IHN0eWxlIGZvciBub24gZ3RrLWRvYyBjb21tZW50cy4KCSAgTWFrZSBvbmUgc3RhdGljIGZ1bmN0aW9uIHN0YXRpYy4KCjIwMDgtMDEtMjEgMTI6MTk6MTMgKzAwMDAgIEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lQG1wMy10ZWNoLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS4qOiBQcm92aWRlIDQ6MjoyIHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZSBhdCBtcDMtdGVjaCBkb3Qgb3JnPgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwKCSAgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1faXApLCAoZ3N0X2RlaW50ZXJsYWNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUHJvdmlkZSA0OjI6MiBzdXBwb3J0CgkgIEFsc28gZGVpbnRlcmxhY2UgY2hyb21hIHBsYW5lcwoJICBBbGxvdyB0byB0dXJuIG9uL29mZiBkZWludGVybGFjaW5nCgkgIENoYW5nZSBvZiBkZWZhdWx0IHRocmVzaG9sZHMsIGluIG9yZGVyIHRvIHByb3ZpZGUgYWNjZXB0YWJsZSByZXN1bHRzCgkgIHdpdGggZGVmYXVsdCBwYXJhbXMuIEZpeGVzICM1MTEwMDEuCgoyMDA4LTAxLTIxIDExOjA0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogVXBkYXRlIGRvY3MgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFVwZGF0ZSBkb2NzIGZpbGUgdG9vLgoKMjAwOC0wMS0yMSAxMTowMTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kdmRzcHUvOiBGaXggdXAgZHZkc3B1IGVsZW1lbnQgYWdhaW4gYWZ0ZXIgcHJldmlvdXMgbmFtZXNwYWNlIG1hbmdsaW5nOiByZW5hbWUgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgdG8gb2xkIG5hbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzogKGdzdF9kdmRfc3B1X3JlbmRlcl9zcHUpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChkdmRzcHVfZGVidWcpLCAoR1NUX0NBVF9ERUZBVUxUKSwKCSAgKHN1YnBpY19zaW5rX2ZhY3RvcnkpLCAoZ3N0X2R2ZF9zcHVfYmFzZV9pbml0KSwKCSAgKGdzdF9kdmRfc3B1X2NsYXNzX2luaXQpLCAoZ3N0X2R2ZF9zcHVfaW5pdCksIChnc3RfZHZkX3NwdV9jbGVhciksCgkgIChnc3RfZHZkX3NwdV9kaXNwb3NlKSwgKGdzdF9kdmRfc3B1X2ZpbmFsaXplKSwKCSAgKGdzdF9kdmRfc3B1X2ZsdXNoX3NwdV9pbmZvKSwgKGdzdF9kdmRfc3B1X2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZHZkX3NwdV9zcmNfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfdmlkZW9fc2V0X2NhcHMpLAoJICAoZ3N0X2R2ZF9zcHVfdmlkZW9fcHJveHlfZ2V0Y2FwcyksIChnc3RfZHZkX3NwdV92aWRlb19ldmVudCksCgkgIChnc3RfZHZkX3NwdV92aWRlb19jaGFpbiksIChkdnNwdV9oYW5kbGVfdmlkX2J1ZmZlciksCgkgIChnc3RfZHZkX3NwdV9yZWRyYXdfc3RpbGwpLCAoZ3N0X2R2ZF9zcHVfcGFyc2VfY2hnX2NvbGNvbiksCgkgIChnc3RfZHZkX3NwdV9leGVjX2NtZF9ibGspLCAoZ3N0X2R2ZF9zcHVfZmluaXNoX3NwdV9idWYpLAoJICAoZ3N0X2R2ZF9zcHVfc2V0dXBfY21kX2JsayksIChnc3RfZHZkX3NwdV9oYW5kbGVfbmV3X3NwdV9idWYpLAoJICAoZ3N0X2R2ZF9zcHVfaGFuZGxlX2R2ZF9ldmVudCksIChnc3RfZHZkX3NwdV9hZHZhbmNlX3NwdSksCgkgIChnc3RfZHZkX3NwdV9jaGVja19zdGlsbF91cGRhdGVzKSwgKGdzdF9kdmRfc3B1X3N1YnBpY19jaGFpbiksCgkgIChnc3RfZHZkX3NwdV9zdWJwaWNfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kdmRfc3B1X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOiAoR1NUX1RZUEVfRFZEX1NQVSk6CgkgIEZpeCB1cCBkdmRzcHUgZWxlbWVudCBhZ2FpbiBhZnRlciBwcmV2aW91cyBuYW1lc3BhY2UgbWFuZ2xpbmc6CgkgIHJlbmFtZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSB0byBvbGQgbmFtZSwgbWF0Y2hpbmcgdGhhdCBpbgoJICBkdmRzcHUtcmVuZGVyLmMsIHRvIGF2b2lkIHVuZGVmaW5lZCBzeW1ib2wgZXJyb3Igd2hlbiBsb2FkaW5nCgkgIHRoZSBtb2R1bGU7IHNhbWUgZm9yIHRoZSBfcmVuZGVyIGZ1bmN0aW9uIGluIGR2ZHNwdS1yZW5kZXIuYzoKCSAgd2UgbXVzdCB1c2UgdGhlIHNhbWUgbmFtZSBpbiBib3RoIC5jIGZpbGVzOyBjaGFuZ2UgZnVuY3Rpb25zCgkgIG5vdyBjYWxsZWQgZ3N0Z3N0XyogYmFjayB0byBnc3RfKiBhZ2FpbjsgYW5kIHdoaWxlIHdlJ3JlIGF0IGl0LAoJICB3ZSBtYXkgYXMgd2VsbCBjYW5vbmljYWxpc2UgdGhlIG5hbWVzcGFjZSBwcm9wZXJseSwgbmFtZWx5IHRvCgkgIGdzdF9kdmRfc3B1XyouCgoyMDA4LTAxLTIxIDEwOjA2OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UgYW5kIGFkZGluZyBzeW1ib2xkIGZyb20gdW51c2VkIHRvIHNlY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlIGFuZCBhZGRpbmcgc3ltYm9sZCBmcm9tIHVudXNlZCB0byBzZWN0aW9ucy4KCjIwMDgtMDEtMjEgMDk6NTc6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0IGV2ZW4gbW9yZS4KCjIwMDgtMDEtMjEgMDc6NTQ6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSB4bWwgaW5jbHVkZXMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlZ2VuZXJhdGUgZmlsZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAwOC0wMS0yMSAwNzoyMjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHRoZSBidWlsZC4gR1NUX1RJTUVfQVJHUyB0YWtlcyBhIHRpbWVzdGFtcCBub3QgYSBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIEZpeCB0aGUgYnVpbGQuIEdTVF9USU1FX0FSR1MgdGFrZXMgYSB0aW1lc3RhbXAgbm90IGEgYnVmZmVyLgoKMjAwOC0wMS0yMCAwNTowNzo1MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZgoJICB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3aGljaCBpcyB3cm9uZyBhZnRlciBhIHNlZWsuCgoyMDA4LTAxLTE5IDE2OjEzOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSGFuZGxlIGZyYW1lc2l6ZXMgPiA0MDk2IHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgY29ycmVjdGx5IGluIHB1bGwgbW9kZSBhbmQgaGFuZGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCk6CgkgIEhhbmRsZSBmcmFtZXNpemVzID4gNDA5NiB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGNvcnJlY3RseQoJICBpbiBwdWxsIG1vZGUgYW5kIGhhbmRsZSBzaG9ydCByZWFkcyBiZXR0ZXIuCgkgIEFsc28gcHV0IG9mZnNldCBhbmQgb2Zmc2V0X2VuZCBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wMS0xOSAxNTo1MzozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEltcHJvdmUgaGFuZGxpbmcgb2YgdW5rbm93biBvciB0b28gc21hbGwgdXBzdHJlYW0gc2l6ZXMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfbG9vcCk6CgkgIEltcHJvdmUgaGFuZGxpbmcgb2YgdW5rbm93biBvciB0b28gc21hbGwgdXBzdHJlYW0gc2l6ZXMgaW4KCSAgcHVsbCBtb2RlLgoKMjAwOC0wMS0xOSAxNTozOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBmb3IgaGFuZGxpbmcgbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgaW4gcHVsbCBtb2RlIGNob29zZSB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9sb29wKSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBmb3IgaGFuZGxpbmcgbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIKCSAgaW4gcHVsbCBtb2RlIGNob29zZSB0aGUgbmV4dCBzbWFsbGVzdCBtdWx0aXBseSBvZiBmcmFtZXNpemUgYmVsb3cKCSAgNDA5NiBpbnN0ZWFkIG9mIGFsd2F5cyBoYW5kbGluZyAxMDI0IGZyYW1lcy4KCjIwMDgtMDEtMTkgMTQ6MzQ6NTAgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0IHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQKCSAgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aW9uIHF1ZXJ5LgoKMjAwOC0wMS0xOCAxNzozNzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFNldCB0aW1lc3RhbXBzIG1vcmUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgU2V0IHRpbWVzdGFtcHMgbW9yZSBjb3JyZWN0bHkuCgoyMDA4LTAxLTE4IDE2OjU2OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuKjogSW1wbGVtZW50IHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9pbml0KSwgKGdzdF9yYXdfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9zZXRfc3JjX2NhcHMpLCAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2NoYWluKSwgKGdzdF9yYXdfcGFyc2VfbG9vcCksCgkgIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCksIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIEltcGxlbWVudCBwdWxsIG1vZGUuCgoyMDA4LTAxLTE4IDEwOjA1OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTE4IDA5OjU0OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRW5hYmxlIHNwZWN0cnVtIHRlc3QgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBFbmFibGUgc3BlY3RydW0gdGVzdCBhZ2Fpbi4KCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cHByZXNzaW9ucyBmb3IgYSBzaW5nbGV0b24gaW4gR0lPIHRoYXQgY2FuJ3QgYmUgZnJlZWQuCgoyMDA4LTAxLTE4IDA4OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOiAoc2V0dXBfZXF1YWxpemVyKSwKCSAgKGNsZWFudXBfZXF1YWxpemVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGVxdWFsaXplcl9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgoyMDA4LTAxLTE4IDA3OjAzOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wIGxlYWtpbmcJdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKToKCSAgVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcAoJICBsZWFraW5nCXRoZW0uCgoyMDA4LTAxLTE4IDA1OjMyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgoyMDA4LTAxLTE4IDA1OjI0OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKHNvdXBfYWRkX3JhbmdlX2hlYWRlciksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2NodW5rKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgoyMDA4LTAxLTE3IDE4OjM5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jbGVhcl9xdWV1ZXMpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5kX3N0YXJ0X3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfaDI2NF9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIEZpeCBidWZmZXIgc3BsaXR0aW5nIGF0IHN5bmMgY29kZXMgYW5kIGxlZnRvdmVyIGJ1ZmZlciBhZnRlcgoJICBzY2FubmluZy4KCjIwMDgtMDEtMTcgMTY6MTA6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEZpeGVkIGFkZGluZyBFWElGIHRhZ3MgdG8gY29ycmVjdCBJRkQuIE1hcHBlZCBzb21lIFhNUCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYWRkaW5nIEVYSUYgdGFncyB0byBjb3JyZWN0IElGRC4gTWFwcGVkIHNvbWUgWE1QIHRhZ3MuCgoyMDA4LTAxLTE2IDE4OjI4OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogQWRkIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydCBmb3IgY29udGFpbmVycyB0aGF0IGRvbid0IGtub3cgaG93IHRvIHByb3Blcmx5IHNlbmQgZGF0YSBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfbmFsX2xpc3RfbmV3KSwKCSAgKGdzdF9uYWxfbGlzdF9wcmVwZW5kX2xpbmspLCAoZ3N0X25hbF9saXN0X2RlbGV0ZV9oZWFkKSwKCSAgKGdzdF9uYWxfYnNfaW5pdCksIChnc3RfbmFsX2JzX3JlYWQpLCAoZ3N0X25hbF9ic19lb3MpLAoJICAoZ3N0X25hbF9ic19yZWFkX3VlKSwgKGdzdF9oMjY0X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfaW5pdCksIChnc3RfaDI2NF9wYXJzZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF9oMjY0X3BhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfaDI2NF9wYXJzZV9jbGVhcl9xdWV1ZXMpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLCAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmRfc3RhcnRfcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBBZGQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0IGZvciBjb250YWluZXJzIHRoYXQgZG9uJ3Qga25vdyBob3cgdG8KCSAgcHJvcGVybHkgc2VuZCBkYXRhIGJldHdlZW4gSS1mcmFtZXMuCgoyMDA4LTAxLTE2IDA1OjQwOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIEdJTyBhbmQgcmVxdWlyZSBHSU8gMi4xNS4yIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIEdJTyBhbmQgcmVxdWlyZSBHSU8gMi4xNS4yIGZvciB0aGlzLgoKMjAwOC0wMS0xNCAxMDo1MjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBCaXRyYXRlIGlzIDQgYml0cywgbm90IDggc28gY2hlY2sgZm9yIDB4ZSBhcyBtYXhpbXVtIHZhbHVlIGluc3RlYWQgb2YgMHhmZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpOgoJICBCaXRyYXRlIGlzIDQgYml0cywgbm90IDggc28gY2hlY2sgZm9yIDB4ZSBhcyBtYXhpbXVtIHZhbHVlIGluc3RlYWQKCSAgb2YgMHhmZS4KCjIwMDgtMDEtMTQgMDk6MDk6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogUmVtb3ZlIGFjY2lkZW50aWFsbHkgbGVmdG92ZXIgZGVidWcgcHJpbnRmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlcik6CgkgIFJlbW92ZSBhY2NpZGVudGlhbGx5IGxlZnRvdmVyIGRlYnVnIHByaW50Zi4KCjIwMDgtMDEtMTQgMDg6NTY6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogQ2hvb3NlIHNtYWxsZXN0IHBvc3NpYmxlIGZyYW1lIHNpemUgZm9yIHRoZSBYaW5nIGhlYWRlciwgcHJvcGVybHkgc2V0IHRoZSB0aW1lc3RhbXAsIGR1ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChoYXNfeGluZ19oZWFkZXIpLAoJICAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLCAoZ3N0X3hpbmdfbXV4X2NoYWluKSwKCSAgKGdzdF94aW5nX211eF9zaW5rX2V2ZW50KToKCSAgQ2hvb3NlIHNtYWxsZXN0IHBvc3NpYmxlIGZyYW1lIHNpemUgZm9yIHRoZSBYaW5nIGhlYWRlciwgcHJvcGVybHkKCSAgc2V0IHRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uIGFuZCBvZmZzZXQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMsCgkgIG9ubHkgc2VuZCBORVdTRUdNRU5UIGV2ZW50cyBpbiBCWVRFIGZvcm1hdCBkb3duc3RyZWFtIGFuZCBhbHNvCgkgIGRyb3AgVkJSSSBoZWFkZXJzIGlmIGFscmVhZHkgZXhpc3RpbmcuCgoyMDA4LTAxLTEyIDA5OjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci86IE1ham9yIGNsZWFudXAgYW5kIHJld3JpdGUgb2YgeGluZ211eCB3aXRoIGxlc3MgYnVncyBhbmQgbmV3IGZlYXR1cmVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChwYXJzZV9oZWFkZXIpLCAoZ2V0X3hpbmdfb2Zmc2V0KSwKCSAgKGhhc194aW5nX2hlYWRlciksIChnZW5lcmF0ZV94aW5nX2hlYWRlciksCgkgIChnc3RfeGluZ19tdXhfYmFzZV9pbml0KSwgKGdzdF94aW5nX211eF9maW5hbGl6ZSksICh4aW5nX3Jlc2V0KSwKCSAgKGdzdF94aW5nX211eF9pbml0KSwgKGdzdF94aW5nX211eF9jaGFpbiksCgkgIChnc3RfeGluZ19tdXhfc2lua19ldmVudCksIChnc3RfeGluZ19tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgIE1ham9yIGNsZWFudXAgYW5kIHJld3JpdGUgb2YgeGluZ211eCB3aXRoIGxlc3MgYnVncyBhbmQgbmV3IGZlYXR1cmVzOgoJICAtIEhhbmRsZXMgb3RoZXIgbGF5ZXJzIGFzIDMKCSAgLSBXcml0ZSBUT0MKCjIwMDgtMDEtMTEgMTk6MTY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChjcmVhdGVfdGVzdF9idWZmZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6ICh0ZXN0X2J1ZmZlcl9uZXcpOgoJICBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoKMjAwOC0wMS0xMSAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIHJldHVybmluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZAoJICBvZiByZXR1cm5pbmcgYW4gZXJyb3IuIEZpeGVzIGEgVE9ETyBhcyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aS4KCjIwMDgtMDEtMTEgMTY6NDU6NTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwbWFuYWdlci86IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcyBkb3QgYWxhb3VpIGF0IGNvbGxhYm9yYSBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9jZXNzX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc3luY19ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9jbG9ja19yYXRlX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9yZWNvbnNpZGVyX2NhbGxiYWNrKSwgKHNvdXJjZV9wdXNoX3J0cCksCgkgIChzb3VyY2VfY2xvY2tfcmF0ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIEZpeGVzICM1MDg1ODcuCgoyMDA4LTAxLTExIDE1OjU4OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IFNtYWxsIG1lYW5pbmdsZXNzIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ191dGlsX2ZpbmRfc3RhcnRfY29kZSk6CgkgIFNtYWxsIG1lYW5pbmdsZXNzIGNsZWFudXAuCgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoc2Nhbl9rZXlmcmFtZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2hfZGVjb2RlKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgVHJhY2sgc2VnbWVudCBldmVudHMuCgkgIERvIHRoZSBmaXJzdCBwYXJ0IG9mIHJldmVyc2UgcGxheWJhY2sgYnkgc2VuZGluZyBkYXRhIGJldHdlZW4gdHdvCgkgIEktZnJhbWVzIHRvIHRoZSBkZWNvZGVyLgoKMjAwOC0wMS0xMCAyMDo1NzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgoyMDA4LTAxLTEwIDE0OjM0OjMwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoKMjAwOC0wMS0xMCAxMjozNjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgYXV0b2dlbi5zaDogQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncyBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MKCSAgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZSByZXF1aXJlIEdOVSBtYWtlIGluIGFsbW9zdAoJICBldmVyeSBNYWtlZmlsZSBhbnl3YXkuCgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQU1fUFJPR19DQ19DX08gYXMgYSBjb21waWxlciB0aGF0IGFjY2VwdHMgYm90aCAtYyBhbmQgLW8KCSAgYXQgdGhlIHNhbWUgdGltZSBpcyByZXF1aXJlZCBmb3IgcGVyIHRhcmdldCBmbGFncy4KCjIwMDgtMDEtMDkgMTQ6Mzk6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlciBwYWQgY2FuIHJlbmVnb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIKCSAgcGFkIGNhbiByZW5lZ290aWF0ZSB0by4gRml4ZXMgIzUwNzk0MC4KCjIwMDgtMDEtMDkgMTM6NTM6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxkaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEFkZCB0b3AtbGV2ZWwgY2hlY2sgdGFyZ2V0cyBzaW1pbGFyIHRvIG90aGVyIGdzdCBwYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZGluZyBjb3ZlcmFnZSByZXBvcnRzLiBBZGQgdG9wLWxldmVsCgkgIGNoZWNrIHRhcmdldHMgc2ltaWxhciB0byBvdGhlciBnc3QgcGFja2FnZXMuCgoyMDA4LTAxLTA2IDIyOjM1OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIEdTVF9DRkxBR1MuICBPdGhlcndpc2Ugd2UgZG9uJ3QgZ2V0IC1XYWxsIC1XZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9DRkxBR1MuICBPdGhlcndpc2Ugd2UgZG9uJ3QgZ2V0IC1XYWxsIC1XZXJyb3IuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBHZXR0aW5nIHRpcmVkIG9mIGRpcmVjdGZiJ3MgY2hhdHRlci4gIFF1aWV0IGl0LgoKMjAwOC0wMS0wNiAyMjowMDozMiArMDAwMCAgU2VhbiBEJ0VwYWduaWVyIDxzZWFuQGRlcGFnbmllci5jb20+CgoJICBBZGQgZmJkZXYtYmFzZWQgdmlkZW8gc2luay4gIExpbnV4LW9ubHkuICBTZWUgYnVnICM1MDY1NDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VhbiBEJ0VwYWduaWVyIDxzZWFuQGRlcGFnbmllci5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSAgQWRkIGZiZGV2LWJhc2VkIHZpZGVvIHNpbmsuICBMaW51eC1vbmx5LiAgU2VlIGJ1ZyAjNTA2NTQ5LgoKMjAwOC0wMS0wNiAxNjozNjozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIHRvIEdNZW1vcnlJbnB1dFN0cmVhbSBBUEkgY2hhbmdlcyBpbiBHTGliIFNWTiBhbmQgcmVxdWlyZSBnaW8tMi4wID49IDIuMTUuMSBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MDc1ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKGZyZWVfaW5wdXQpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBVcGRhdGUgdG8gR01lbW9yeUlucHV0U3RyZWFtIEFQSSBjaGFuZ2VzIGluIEdMaWIgU1ZOIGFuZCByZXF1aXJlCgkgIGdpby0yLjAgPj0gMi4xNS4xIGZvciB0aGlzLiBGaXhlcyBidWcgIzUwNzU4NC4KCSAgV2UgY2FuIGFsc28gcmVwb3J0IHRoZSBkdXJhdGlvbiBmb3IgZXZlcnkgR1NlZWthYmxlLCBub3Qgb25seQoJICBHRmlsZUlucHV0U3RyZWFtIGFuZCBHTWVtb3J5SW5wdXRTdHJlYW0uCgoyMDA4LTAxLTA2IDAzOjAxOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzCgkgIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdWxsc2NyZWVuaW5nIGJlaW5nIGFuCgkgIGV4ZWNwdGlvbikuICBEb2Vzbid0IGhhbmRsZSBleHBvc2UgZXZlbnRzIGRpcmVjdGx5IHRvIHRoZSBHTAoJICB3aW5kb3cuCgoyMDA4LTAxLTA2IDAxOjE5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlCgkgIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA4LTAxLTA0IDE4OjQ3OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBGaXhlcyAjNTA3MDIwLgoKMjAwOC0wMS0wMyAyMzozNTo1MiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGZpbGVzLgoKMjAwOC0wMS0wMiAyMDo0OToxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB2Y2RzcmMgaW4gc3RhdGVzIHRlc3QgYmVjYXVzZSBpdCB0YWtlcyB0b28gbXVjaCB0aW1lIHRvIGdldCB0byBQTEFZSU5HIGlmIGl0IGNhbiBmaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdmNkc3JjIGluIHN0YXRlcyB0ZXN0IGJlY2F1c2UgaXQgdGFrZXMgdG9vIG11Y2ggdGltZQoJICB0byBnZXQgdG8gUExBWUlORyBpZiBpdCBjYW4gZmluZCBhIGRldmljZS4KCjIwMDgtMDEtMDEgMDE6MTg6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiBEb24ndCBlbWl0IHNpZ25pdHVyZSB3aGVuIGdvaW5nIHRvIFJFQURZLCBiZWNhdXNlIGl0IG1pZ2h0IG5vdCBiZSByZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICBEb24ndCBlbWl0IHNpZ25pdHVyZSB3aGVuIGdvaW5nIHRvIFJFQURZLCBiZWNhdXNlIGl0IG1pZ2h0CgkgIG5vdCBiZSByZWFkeS4KCSAgKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgUmVtb3ZlIHVzZWxlc3MgY2FsbCB0aGF0IHNsZWVwcyBmb3IgNSBzZWNvbmRzLiAgWXVwLCBpdCBjYWxscwoJICBzbGVlcCgxKSA1IHRpbWVzLiAgR28gTkFTLgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEluaXRpYWxpemUgb3VyIGRlYnVnIGNhdGVnb3JpZXMgcHJvcGVybHkuCgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIERvbid0IHJlZ2lzdGVyIGVsZW1lbnQgZGV0YWlscyBmb3IgYSBub24tZWxlbWVudC4gIEJlIG11Y2ggbW9yZQoJICBydWRlIHdoZW4gc3ViY2xhc3MgZG9lc24ndCBzZXQgYSBwYWQgdGVtcGxhdGUgKGFzc2VydCEpLiAgRG9uJ3QKCSAgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZTsgd2UgZG9uJ3Qgb3duIGl0LgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIG5hc3NpbmsgZWxlbWVudCBpbiB0ZXN0cyBiZWNhdXNlIGl0IGhhcyB1bmF2b2lkYWJsZQoJICBsb25nIHRpbWVvdXRzLgoKMjAwNy0xMi0zMSAxMzoxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoKMjAwNy0xMi0zMSAwNzo1NToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZSByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcgYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlCgkgIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZwoJICBhIGNoZWNrIGZvciBwcmUtcGtnY29uZmlnIHZlcnNpb25zLgoKMjAwNy0xMi0yOSAxNzozMTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSk6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6IChkdmJfYmFzZV9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbmQgZG9uJ3QKCSAgYWJvcnQoKSBpbiBhbnkgY2FzZSBidXQgcHJvcGVybHkgcmVwb3J0IHRoZSBlcnJvci4KCjIwMDctMTItMjkgMTc6Mjk6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSB0byBsYXRlc3QgQVBJIGNoYW5nZXMgaW4gR0xpYi9HSU8gYW5kIHJlcXVpcmUgYXQgbGVhc3QgZ2lvLTIuMCAyLjE1LjAgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgIFVwZGF0ZSB0byBsYXRlc3QgQVBJIGNoYW5nZXMgaW4gR0xpYi9HSU8gYW5kIHJlcXVpcmUgYXQgbGVhc3QKCSAgZ2lvLTIuMCAyLjE1LjAgZm9yIHRoaXMuCgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9QTFVHSU5fTERGTEFHUyB0byBMREZMQUdTLgoKMjAwNy0xMi0yOSAwMDozNzo0MSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLgoJICBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBtb3N0bHkgY29ycmVjdGx5LiAgUmVlbmFibGUgaW4gYnVpbGQuCgoyMDA3LTEyLTI4IDExOjQ0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NvdXAvOiBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24gaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChzb3VwX2dvdF9oZWFkZXJzKToKCSAgVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uCgkgIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoKMjAwNy0xMi0yNyAwNToyNjowNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzCgkgIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGJlIGZpeGVkIHNvb24uCgoyMDA3LTEyLTI3IDA0OjE1OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUKCSAgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91cyBmb3JtYXRzIHRvCgkgIGRvd25sb2FkaW5nLiAgRml4IGEgZmV3IHBsYWNlcyB3aGVyZSB3ZSBsZWFrIEdMIHN0YXRlIHRvCgkgIG90aGVyIGVsZW1lbnRzIChiYWQsIGJ1dCBoYXJkIHRvIHByZXZlbnQpLgoKMjAwNy0xMi0yNyAwMDo1MjoyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL0JVR1M6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYQoJICBHc3RHTEJ1ZmZlckZvcm1hdCB0eXBlIHRoYXQgY29ycmVzcG9uZHMgdG8gaG93IHRvIHVzZSB0aGUKCSAgdGV4dHVyZSwgbm90IHRoZSBvcmlnaW5hbCB2aWRlbyBmb3JtYXQuICBDb252ZXJ0IGdzdGZsZmlsdGVyLmMKCSAgaW50byBhIGJhc2UgY2xhc3MsIGFkZCBnbGZpbHRlcmV4YW1wbGUgYW5kIGdsY29udmVydCBlbGVtZW50cy4KCSAgKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOgoJICBNaW5vciByYW1ibGluZ3MgYWJvdXQgY29sb3IgY29udmVyc2lvbiBtYXRyaWNlcy4KCjIwMDctMTItMjUgMDA6MzQ6MTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcwoJICBHTCByZW5kZXJpbmcgdG8gY3JlYXRlIGltYWdlcy4gIE1vcmUgY2xlYW51cC4KCjIwMDctMTItMjQgMjE6MjY6NDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgIENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgoyMDA3LTEyLTI0IDIxOjA0OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCjIwMDctMTItMjQgMjA6NTM6NTYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZQoJICBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLCBmaWx0ZXJpbmcgYWxsCgkgIHdvcmsuCgoyMDA3LTEyLTIzIDIyOjA0OjAwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlLzogUmVtb3ZlIHZpZGVvcGFyc2UgZWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbW92ZWQgdG8gZ3N0L3Jhd3BhcnNlLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9wYXJzZS9SRUFETUU6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBSZW1vdmUgdmlkZW9wYXJzZSBlbGVtZW50LCBiZWNhdXNlIGl0IHdhcyBtb3ZlZCB0byBnc3QvcmF3cGFyc2UvCgoyMDA3LTEyLTIzIDEwOjM0OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogQWx3YXlzIHNlZWsgb24gZnJhbWUgYm91bmRhcmllcywgd2lsbCBwcm9kdWNlIG5vdGhpbmcgdXNlZnVsIG90aGVyd2lzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCk6CgkgIEFsd2F5cyBzZWVrIG9uIGZyYW1lIGJvdW5kYXJpZXMsIHdpbGwgcHJvZHVjZSBub3RoaW5nIHVzZWZ1bAoJICBvdGhlcndpc2UuCgoyMDA3LTEyLTIzIDA2OjIyOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgbmV3IHBsdWdpbiByYXdwYXJzZSB0aGF0IGNvbnRhaW5zIGEgYmFzZSBjbGFzcyBmb3IgcmF3IGRhdGEgcGFyc2VycyBhbmQgdGhlIHR3byBlbGVtZW50cyBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6IChnc3RfYXVkaW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwgKGdzdF9hdWRpb19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYXJzZV91cGRhdGVfZnJhbWVfc2l6ZSksIChnc3RfYXVkaW9fcGFyc2VfZ2V0X2NhcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3Jhd19wYXJzZV9pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfZGlzcG9zZSksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX3NldF9zcmNfcGFkX3RlbXBsYXRlKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3Nfc2V0X211bHRpcGxlX2ZyYW1lc19wZXJfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfcmVzZXQpLCAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksCgkgIChnc3RfcmF3X3BhcnNlX2NvbnZlcnQpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3Jhd19wYXJzZV9zZXRfZnJhbWVzaXplKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2V0X2ZwcyksIChnc3RfcmF3X3BhcnNlX2dldF9mcHMpLAoJICAoZ3N0X3Jhd19wYXJzZV9pc19uZWdvdGlhdGVkKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksIChnc3RfdmlkZW9fcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X3RvX2ZvdXJjYyksCgkgIChnc3RfdmlkZW9fcGFyc2VfdXBkYXRlX2ZyYW1lX3NpemUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9jYXBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBwbHVnaW4gcmF3cGFyc2UgdGhhdCBjb250YWlucyBhIGJhc2UgY2xhc3MgZm9yIHJhdyBkYXRhCgkgIHBhcnNlcnMgYW5kIHRoZSB0d28gZWxlbWVudHMgYXVkaW9wYXJzZSBhbmQgdmlkZW9wYXJzZSB0aGF0IGNhbgoJICBiZSB1c2VkIHRvIHBhcnNlIHJhdyBhdWRpbyBhbmQgdmlkZW8uIFRoZXNlIGFyZSBpbnNwaXJlZCBieSB0aGUKCSAgb2xkIHZpZGVvcGFyc2UgZWxlbWVudCB3aGljaCB0aGUgbmV3IHJhd3BhcnNlIHBsdWdpbiBkZXByZWNhdGVzLgoKMjAwNy0xMi0yMiAwNTowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguICBDaGVja3BvaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZQoJICByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiAgQ2hlY2twb2ludCBiZWNhdXNlIEknbSBhYm91dAoJICB0byByZXdyaXRlIGEgYnVuY2ggb2YgY29kZS4KCjIwMDctMTItMjEgMTk6MDE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSAgU29tZSBJUFRDIHRhZ3MgbWFwcGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBJUFRDIHRhZ3MgbWFwcGVkLgoKMjAwNy0xMi0yMSAwOTo0NTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkgIFJlbW92ZWQgZ3N0bWV0YWRhdGFjb21tb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIGdzdG1ldGFkYXRhY29tbW9uLgoKMjAwNy0xMi0yMSAwMDowMzoxMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLCBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLAoJICBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW92ZSBHTERyYXdhYmxlLAoJICBzaW5jZSBHc3RHTERpc3BsYXkgbm93IGhhcyBhIGRlZmF1bHQgZHJhd2FibGUgYW5kIGNvbnRleHQuCgoyMDA3LTEyLTIwIDE3OjA3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNy0xMi0xOSAwOTo1MDo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIG1ldGFkYXRhIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIG1ldGFkYXRhIGVsZW1lbnRzLgoKMjAwNy0xMi0xOCAxNjowODoxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC86IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGVudW0sIGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCkgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSAoZ3N0X3NlbGVjdG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGVudW0sIGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcnVubmluZ190aW1lKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0LCBnc3Rfc2VnbWVudF9nZXRfdGltZXN0YW1wKQoJICAoZ3N0X3NlZ21lbnRfc2V0X3N0b3AsIGdzdF9zZWdtZW50X3NldF9zdGFydCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBDaGFuZ2Ugc28gdGhhdCB0aGUgc2lnbmFscyBhbmQKCSAgcHJvcGVydGllcyBkZWFsIGluIHJ1bm5pbmcgdGltZSwgbm90IGJ1ZmZlciB0aW1lLiBEb2N1bWVudCB0aGUKCSAgc2lnbmFscyBtb3JlLiBDaGFuZ2UgdWludDY0IGluIEFQSSB0byBpbnQ2NCwgdG8gcmVmbGVjdCB3aGF0J3MgaW4KCSAgR3N0U2VnbWVudC4KCjIwMDctMTItMTggMDk6MjY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0CgkgIGZpbGVzIChzZWUgIzM5MzYyNikuCgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgZm9yIGxpYmdzdHZpZGVvIGFkZGl0aW9ucyBpbgoJICBnbGltYWdlc2luay4gRGlzYWJsZSBnbGltYWdlc2luayB1bnRpbCB0aGUgbWlzc2luZyBmaWxlcyBnZXQKCSAgY2hlY2tlZCBpbi4KCjIwMDctMTItMTggMDE6MjU6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZCBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkCgkgIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnVmLiAgVW50ZXN0ZWQuICBXaWxsCgkgIGxpa2VseSBjcmFzaCB5b3VyIG1vdG9yY3ljbGUgaWYgeW91IHRyeSBpdC4KCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFJlbW92ZS4KCjIwMDctMTItMTcgMjE6MTI6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuKjogV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kIGFuIEVPUyBpbnN0ZWFkIG9mIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kCgkgIGFuIEVPUyBpbnN0ZWFkIG9mIGNhdXNpbmcgYW4gZXJyb3IuCgoyMDA3LTEyLTE3IDE1OjA5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUmV0dXJuIE9LIHdoZW4gYSBidWZmZXIgaXMgaWdub3JlZCwgbm90IE5PVF9MSU5LRUQuIE5vIHNlbnNlIGluIG1ha2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFJldHVybiBPSyB3aGVuCgkgIGEgYnVmZmVyIGlzIGlnbm9yZWQsIG5vdCBOT1RfTElOS0VELiBObyBzZW5zZSBpbiBtYWtpbmcgYSBzb3VyY2UKCSAgZWxlbWVudCBlcnJvciBvdXQ7IGF0IGxlYXN0IGZkc3JjIGNvbnNpZGVycyBOT1RfTElOS0VEIHRvIGJlIGEKCSAgZmF0YWwgZXJyb3IuIFBhdGNoIDExLzEyLiBUaGVyZSBpcyBubyBwYXRjaCAxMi8xMi4gRm9vLgoKMjAwNy0xMi0xNyAxNTowNjo0OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC86IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBNYWtlIHRoZSBibG9jaygpIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBNYWtlIHRoZSBibG9jaygpIHNpZ25hbCByZXR1cm4gdGhlCgkgIGxhc3Qgc3RvcCB0aW1lIG9mIHRoZSBhY3RpdmUgcGFkLiBQYXRjaCAxMC8xMi4KCjIwMDctMTItMTcgMTU6MDQ6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpIChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KTogRXhwb3NlICdsYXN0LXN0b3AtdGltZScgYXMgYQoJICBwYWQgcHJvcGVydHksIG5vdCBhbiBlbGVtZW50IHByb3BlcnR5LgoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IE1hcmsgdGhlIGxhc3Rfc3RvcCB0aW1lIGFzIHRpbWVzdGFtcCArCgkgIGR1cmF0aW9uLCBub3QgdGltZXN0YW1wLiBQYXRjaCA5LzEyLgoKMjAwNy0xMi0xNyAxNTowMTo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IFVzZSB0aGUKCSAgY29uZCBtZWNoYW5pc20gaW5zdGVhZCBvZiBibG9ja2VkIHBhZHMuIFBhdGNoIDgvMTIuCgoyMDA3LTEyLTE3IDE1OjAwOjE1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl93YWl0KSAoZ3N0X3NlbGVjdG9yX3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl93YWl0KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9kaXNwb3NlKTogQWRkIGluZnJhc3RydWN0dXJlIGZvciBuZXcgYmxvY2tpbmcKCSAgbWVjaGFuaXNtIHRoYXQgZG9lcyBub3QgdXNlIGdzdF9wYWRfc2V0X2Jsb2NrZWQsIHdoaWNoIGRvZXMgbm90CgkgIHdvcmsgb24gc2luayBwYWRzLiBQYXRjaCA3LzEyLgoKMjAwNy0xMi0xNyAxNDo1ODoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KTogQWRkIGxhc3Qtc3RvcC10aW1lIHJlYWRhYmxlCgkgIHByb3BlcnR5LiBQYXRjaCA2LzEyLgoKMjAwNy0xMi0xNyAxNDo1NTo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IEFkZCBzb21lIHN0YXRlIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IEFkZCBzb21lCgkgIHN0YXRlIHZhcmlhYmxlcy4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFB1c2ggYW55IHBlbmRpbmcgc3RvcCBldmVudC4KCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9wcm9wZXJ0eSk6IEZhY3RvciBvdXQgc2V0dGluZyB0aGUgYWN0aXZlCgkgIHBhZCB0byBhIGZ1bmN0aW9uLiBDbG9zZSB0aGUgc2VnbWVudCBvZiB0aGUgcHJldmlvdXMgYWN0aXZlIHBhZCBpZgoJICB0b2xkIHRvIGRvIHNvIHZpYSBhIHN0b3BfdGltZSAhPSBHU1RfQ0xPQ0tfVElNRV9OT05FLgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBJbXBsZW1lbnQgc3dpdGNoIHZtZXRob2QuIFBhdGNoIDUvMTIuCgoyMDA3LTEyLTE3IDE0OjUyOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogSW1wbGVtZW50IHRoZSBibG9jaygpIHNpZ25hbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHJlcGxhY2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IEltcGxlbWVudAoJICB0aGUgYmxvY2soKSBzaWduYWwuIFRoaXMgaW1wbGVtZW50YXRpb24gd2lsbCBiZSByZXBsYWNlZCBpbiBmdXR1cmUKCSAgcGF0Y2hlcywgaG93ZXZlci4gUGF0Y2ggNC8xMi4KCjIwMDctMTItMTcgMTQ6NDg6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6IEZpeCB2bWV0aG9kIHByb3RvdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6IEZpeAoJICB2bWV0aG9kIHByb3RvdHlwZXMuCgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaywgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBBZGQgZW1wdHkKCSAgdm1ldGhvZCBkZWZpbml0aW9ucy4gUGF0Y2ggMy8xMi4KCjIwMDctMTItMTcgMTQ6NDY6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLio6IEFkZCBgYmxvY2snIGFuZCBgc3dpdGNoJyBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6IEFkZAoJICBgYmxvY2snIGFuZCBgc3dpdGNoJyBzaWduYWxzLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OiBBZGQgZm9vIHRvIGdlbmVyYXRlIGEKCSAgbWFyc2hhbGxlciBmb3IgdGhlIGBzd2l0Y2gnIHNpZ25hbC4gUGF0Y2ggMi8xMi4KCjIwMDctMTItMTcgMTQ6NDM6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLio6IFJlcGxhY2Ugd2l0aCBmaWxlcyBmcm9tIGdzdHN0cmVhbXNlbGVjdG9yLltjaF0sIHJlZ2lzdGVyZWQgYXMgdGhlICJzd2l0Y2giIHBsdWdpbiwgd2l0aCAiR3N0Uy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IFJlcGxhY2Ugd2l0aCBmaWxlcyBmcm9tCgkgIGdzdHN0cmVhbXNlbGVjdG9yLltjaF0sIHJlZ2lzdGVyZWQgYXMgdGhlICJzd2l0Y2giIHBsdWdpbiwgd2l0aAoJICAiR3N0U3dpdGNoIiB0eXBlcy4gUGF0Y2ggMS8xMi4KCjIwMDctMTItMTcgMTQ6Mzc6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGlic291cCBwbHVnaW4gdG8gc3BlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpYnNvdXAgcGx1Z2luIHRvIHNwZWMKCjIwMDctMTItMTcgMTI6Mzc6MzYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCAicGFyc2Utb25seSIgcHJvcGVydHkgdG8gbWV0YWRhdGFkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkICJwYXJzZS1vbmx5IiBwcm9wZXJ0eSB0byBtZXRhZGF0YWRlbXV4LgoKMjAwNy0xMi0xNiAyMjo1NzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCjIwMDctMTItMTYgMDA6MTY6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkgZHJpdmVyLiA6KAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteQoJICBkcml2ZXIuIDooCgoyMDA3LTEyLTE1IDE5OjMxOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IKCSAgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCjIwMDctMTItMTUgMTc6NTI6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRnJlZSB0aGUgYWRhcHRlciBvbiBkaXNwb3NlIGFuZCBjb3JyZWN0bHkgcmVzZXQgb24gbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgRnJlZSB0aGUgYWRhcHRlciBvbiBkaXNwb3NlIGFuZCBjb3JyZWN0bHkgcmVzZXQgb24gbmV3c2VnbWVudCBldmVudHMuCgoyMDA3LTEyLTE1IDEzOjEwOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEltcHJvdmUgZHVyYXRpb24gcXVlcnkgYnkgZmlyc3QgYXNraW5nIHVwc3RyZWFtIGFuZCBpZiBpdCBjYW4ndCBoYW5kbGUgdGhlIHF1ZXJ5IHRyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19ldmVudCksIChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgSW1wcm92ZSBkdXJhdGlvbiBxdWVyeSBieSBmaXJzdCBhc2tpbmcgdXBzdHJlYW0gYW5kIGlmIGl0IGNhbid0IGhhbmRsZQoJICB0aGUgcXVlcnkgdHJ5IHRvIGdldCB0aGUgZHVyYXRpb24gaW4gYnl0ZXMgZnJvbSB1cHN0cmVhbSBhbmQgY29udmVydC4KCSAgRm9yIHNlZWtzLCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyB0aGlzIGFscmVhZHkgZmlyc3QgYW5kIGRvIG91cgoJICBjb252ZXJzaW9uIHRvIGJ5dGUgZm9ybWF0IG9ubHkgaWYgaXQgZG9lc24ndCBhbmQgaWYgd2UgZ2V0IGEKCSAgbmV3c2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBrZWVwIGl0IGFuZCBvbmx5IGRvIG91ciBjb252ZXJzaW9ucwoJICBpZiB0aGUgZXZlbnQgaGFzIGFub3RoZXIgZm9ybWF0LgoKMjAwNy0xMi0xNSAwNzozNzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctcmdiIGFuZCB2aWRlby94LXJhdy1ncmF5LiBBbHNvIHNlbmQgZG93bnN0cmVhbSBlbGVtZW50cyBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfdG9fZm91cmNjKSwKCSAgKGdzdF92aWRlb19wYXJzZV91cGRhdGVfYmxvY2tfc2l6ZSksIChnc3RfdmlkZW9fcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctcmdiIGFuZCB2aWRlby94LXJhdy1ncmF5LiBBbHNvIHNlbmQKCSAgZG93bnN0cmVhbSBlbGVtZW50cyBkb3duc3RyZWFtLCBub3QgdXBzdHJlYW0uCgoyMDA3LTEyLTE1IDA2OjMzOjM3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLio6IFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uCgkgIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgbW92ZSB0byAtYmFzZS4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgVXNlIHRoZSBuZXcgdmlkZW8tY29tbW9uLmggc3R1ZmYuICBSZWFkZCBzdXBwb3J0IGZvciBSR0IgdmlkZW8uCgoyMDA3LTEyLTE0IDE4OjE4OjM3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCBuZXcgbW9kdWxlIGZvciBjb21tb24gZnVuY3Rpb25zLiBVc2luZyBHU1RfVFlQRV9GUkFDVElPTiBmb3IgRXhpZiAoUylSYXRpb25hbCB0eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIG5ldyBtb2R1bGUgZm9yIGNvbW1vbiBmdW5jdGlvbnMuIFVzaW5nIEdTVF9UWVBFX0ZSQUNUSU9OIGZvciBFeGlmIChTKVJhdGlvbmFsIHR5cGVzLgoKMjAwNy0xMi0xNCAxNzo1MTo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLio6IEhhc2ggc3RyZWFtcyBieSBwaWQgYWdhaW4uIEFkZCBhIGxpbmtlZCBsaXN0IGluc2lkZSBlYWNoIHN0cmVhbSB3aXRoIGEgbGlzdCBvZiBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgIEhhc2ggc3RyZWFtcyBieSBwaWQgYWdhaW4uIEFkZCBhIGxpbmtlZCBsaXN0IGluc2lkZSBlYWNoCgkgIHN0cmVhbSB3aXRoIGEgbGlzdCBvZiBzdWJfdGFibGVzLiBGaXggbXVsdGlwbGUgc2VjdGlvbnMKCSAgYXMgaXQgd2FzIGJvcmtlZCB3aXRoIG15IGxhc3QgY29tbWl0LgoKMjAwNy0xMi0xNCAxNjoyMzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA3LTEyLTEzIDE3OjE5OjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQ29kZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29kZSBkb2N1bWVudGF0aW9uLgoKMjAwNy0xMi0xMyAxMjo0NTowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ha2VmaWxlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCBhIHRlc3QgYXBwbGljYXRpb24uIEFkZGVkIHNvbWUgRVhJRiB0YWdzLiBGaXhlZCBhIG11eGVyIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgdGVzdCBhcHBsaWNhdGlvbi4gQWRkZWQgc29tZSBFWElGIHRhZ3MuIEZpeGVkIGEgbXV4ZXIgYnVnLgoKMjAwNy0xMi0xMyAxMToyNTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBJbXBsZW1lbnQgYSBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZCwgaW1wbGVtZW50IHNlZWtpbmcgYW5kIHVzZSBBTlkgY2FwcyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeV90eXBlKToKCSAgSW1wbGVtZW50IGEgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWQsIGltcGxlbWVudCBzZWVraW5nCgkgIGFuZCB1c2UgQU5ZIGNhcHMgZm9yIHRoZSBzaW5rIHBhZCBhcyB0aGUgZWxlbWVudCBkb2Vzbid0IGNhcmUgd2hhdAoJICBjYXBzIHRoZSBpbnB1dCBoYXMgYW5kIGV2ZXJ5dGhpbmcgaXMgaGFuZGxlZCB2aWEgcHJvcGVydGllcy4KCjIwMDctMTItMTMgMTA6Mzg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSGFuZGxlIC0xIHZhbHVlcyBmb3IgdGhlIENPTlZFUlQgcXVlcnkgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfY29udmVydCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEhhbmRsZSAtMSB2YWx1ZXMgZm9yIHRoZSBDT05WRVJUIHF1ZXJ5IHRvby4KCjIwMDctMTItMTMgMTA6MTY6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogQWRkIFlWMTIgdG8gdGhlIHBhZCB0ZW1wbGF0ZXMgYXMgaXQgaXMgc3VwcG9ydGVkIHRvbyBhbmQgYWxsb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBBZGQgWVYxMiB0byB0aGUgcGFkIHRlbXBsYXRlcyBhcyBpdCBpcyBzdXBwb3J0ZWQgdG9vIGFuZCBhbGxvdwoJICAtMSBhcyBzdG9wIHBvc2l0aW9uIGZvciBORVdTRUdNRU5UIGV2ZW50cy4KCjIwMDctMTItMTMgMDg6NTQ6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTIHRvIGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTIHRvIGZpeCB0aGUgYnVpbGQuCgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGdfdmFsdWVfW3NnXWV0X2VudW0oKSBmb3IgZW51bSBwcm9wZXJ0aWVzLCBnX3ZhbHVlX1tzZ11ldF9pbnQoKQoJICBnaXZlcyBhIGdfY3JpdGljYWwoKS4KCjIwMDctMTItMTMgMDQ6NDM6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvOiBBZGQgYSBidW5jaCBvZiBmZWF0dXJlczogaGFuZGxlIGZvcm1hdCBzcGVjaWZpY2F0aW9uLCBoYW5kbGUgcXVlcmllcyBhbmQgY29udmVyc2lvbi4gIFdvcmtzIG11Y2ggbGlrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL1JFQURNRToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEFkZCBhIGJ1bmNoIG9mIGZlYXR1cmVzOiBoYW5kbGUgZm9ybWF0IHNwZWNpZmljYXRpb24sIGhhbmRsZQoJICBxdWVyaWVzIGFuZCBjb252ZXJzaW9uLiAgV29ya3MgbXVjaCBsaWtlIGEgbm9ybWFsIHBhcnNlciBub3cuCgoyMDA3LTEyLTEyIDE2OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZ3N0X3J0cF9zc3JjX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDctMTItMTIgMTI6MTE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBGaXggc29tZSBsZWFrcy4KCjIwMDctMTItMTIgMDQ6MTE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLio6IEFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiIGFzIHVzZWQgYnkgZmx1cHNwYXJzZS4gTW9zdCBjaGFuZ2VzIGFkYXB0ZWQgZnJvbSBhNTJkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpLAoJICAoZ3N0X2R0c2RlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2R0c2RlY19jaGFpbl9yYXcpLAoJICAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIgYXMgdXNlZCBieSBmbHVwc3BhcnNlLiBNb3N0CgkgIGNoYW5nZXMgYWRhcHRlZCBmcm9tIGE1MmRlYy4KCjIwMDctMTItMTIgMDI6MzM6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYQoJICBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhc2lvbmFsbHkKCSAgZHVlIHRvIGRpZmZlcmVudCB0aHJlYWRzIHRvdWNoaW5nIGJpdHMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMDctMTItMTEgMTY6Mzk6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLCAodW5pY29kaWZ5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksIChzb3VwX2ZpbmlzaGVkKSwKCSAgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLCAoc291cF9wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgUmVvcmdhbmlzZSBhIGJ1bmNoIG9mIHRoaW5ncyBhbmQgY2xlYW51cHMuCgkgIFVzZXMgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nICVsbHUuCgkgIFNlZSAjNTAyMzM1LgoKMjAwNy0xMi0xMSAxNjoyNjowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogRml4IGNhcHMgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2Fwcyk6CgkgIEZpeCBjYXBzIG1lbWxlYWsuCgoyMDA3LTEyLTExIDExOjU0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nCgkgIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoKMjAwNy0xMi0xMCAxODozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKG9uX3NzcmNfc2Rlcyk6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBVcGRhdGUgc29tZSBjb21tZW50cy4KCjIwMDctMTItMTAgMTc6MTg6MzUgKzAwMDAgIG11dGV4IGF0IHJ1bmJveCBkb3QgY29tIDxtdXRleEBydW5ib3guY29tPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGb3J3YXJkIHRoZSBxdWVyeSB1cHN0cmVhbSwgdGhlIGRlZmF1bHQgZWxlbWVudCBldmVudCBoYW5kbGVyIGRvZXMgc29tZXRoaW5nIGRpZmZlcmVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogPG11dGV4IGF0IHJ1bmJveCBkb3QgY29tPgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHRoZSBxdWVyeSB1cHN0cmVhbSwgdGhlIGRlZmF1bHQgZWxlbWVudCBldmVudCBoYW5kbGVyIGRvZXMKCSAgc29tZXRoaW5nIGRpZmZlcmVudC4gRml4ZXMgIzUwMjg3OS4KCjIwMDctMTItMTAgMTU6MzQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfc2RlcyksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX3NkZXMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBGaXggb2JqZWN0IHR5cGUgaW4gdGhlIHNpZ25hbCBjYWxsYmFja3MuCgoyMDA3LTEyLTEwIDE0OjAzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwgKHNkZXNfdHlwZV90b19uYW1lKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoCgkgIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpOgoJICBGaXggU1NSQyBwcm9wZXJ0eS4KCjIwMDctMTItMTAgMTE6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgRGVmaW5lIHNvbWUgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHNldCBTREVTIGFuZCBvdGhlciBjb25maWd1cmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfZnJhY3Rpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfZnJhY3Rpb24pLCAocnRwX3Nlc3Npb25fc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zZGVzX3N0cmluZyksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3NkZXMpLAoJICAoaXNfcnRjcF90aW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzaWduYWwgd2hlbiBuZXcgU0RFUyBpbmZvciBoYXMgYmVlbiBmb3VuZCBmb3IgYSBzb3VyY2UuCgkgIENyZWF0ZSBwcm9wZXJ0aWVzIGZvciBTREVTIGFuZCBvdGhlciBpbmZvLgoJICBTaW1wbGlmeSB0aGUgU0RFUyBBUEkuCgkgIEFkZCBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGludGVybmFsIHNvdXJjZSBvYmplY3Qgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3NvdXJjZV9nZXRfc3NyYyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2VfaXNfYXNfY3NyYyksIChydHBfc291cmNlX2lzX2FjdGl2ZSksCgkgIChydHBfc291cmNlX2lzX3ZhbGlkYXRlZCksIChydHBfc291cmNlX2lzX3NlbmRlciksCgkgIChydHBfc291cmNlX3JlY2VpdmVkX2J5ZSksIChydHBfc291cmNlX2dldF9ieWVfcmVhc29uKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfc2RlcyksIChydHBfc291cmNlX2dldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIEdPYmplY3QgcHJvcGVydGllcyBmb3IgdmFyaW91cyB0aGluZ3MuCgkgIERvbid0IGxlYWsgdGhlIGJ5ZSByZWFzb24uCgoyMDA3LTEyLTA5IDE5OjM3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgRW1pdCB0YWcgd2l0aCB0aGUgY29kZWMgbmFtZSBzbyBpdCBnZXRzIHByb3Blcmx5IHJlcG9ydGVkIGluIHRvdGVtIGFuZAoJICBvdGhlciBhcHBsaWNhdGlvbnMuCgoyMDA3LTEyLTA5IDA0OjMwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgoyMDA3LTEyLTA2IDEyOjQ1OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTEyLTA2IDEyOjQyOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjozNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28gdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvCgkgIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgaXMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mjk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCjIwMDctMTItMDYgMTA6NDg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogTWFyayBjcmMgdmFsdWVzIHRhYmxlIGFzIGNvbnN0YW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKGNyY190YWIpOgoJICBNYXJrIGNyYyB2YWx1ZXMgdGFibGUgYXMgY29uc3RhbnQuCgoyMDA3LTEyLTA1IDE3OjAwOjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZGVkIHNvbWUgdGFncyB0byBleGlmIHBhcnNlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHNvbWUgdGFncyB0byBleGlmIHBhcnNlci4KCjIwMDctMTItMDUgMTI6NDA6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBIHN1YiB0YWJsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIHRhYmxlX2lkIGFuZCBzdWJfdGFibGVfaWRlbnRpZmllciwgbm90IGJ5IHBpZC4gU28gaGFzaCB3aXRoIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQSBzdWIgdGFibGUgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciB0YWJsZV9pZCBhbmQKCSAgc3ViX3RhYmxlX2lkZW50aWZpZXIsIG5vdCBieSBwaWQuIFNvIGhhc2ggd2l0aCB0aGF0LgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBNYWtlIHN1cmUgaW5pdGlhbCBwaWRzIGFyZSBhZGRlZCBwcm9wZXJseSB0byBmaWx0ZXIsCgoyMDA3LTEyLTA1IDExOjI1OjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IERvbid0IHB1c2ggYnVmZmVycyBmcm9tIGFwcCB0aHJlYWQgd2hlbiB1bnNldHRpbmcgYHF1ZXVlLWJ1ZmZlcnMnLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBEb24ndCBwdXNoCgkgIGJ1ZmZlcnMgZnJvbSBhcHAgdGhyZWFkIHdoZW4gdW5zZXR0aW5nIGBxdWV1ZS1idWZmZXJzJywgaXQncwoJICBkYW5nZXJvdXMgYW5kIHRoZSBjaGFpbiBmdW5jdGlvbiB3aWxsIGRvIGl0IGZvciB1cyBhbnl3YXkuCgoyMDA3LTEyLTA0IDE3OjIwOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkgIE5vdyBjb21waWxlcyBldmVuIHdoZW4gbGliaXB0YyBpcyBtaXNzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGNvbXBpbGVzIGV2ZW4gd2hlbiBsaWJpcHRjIGlzIG1pc3NpbmcuCgoyMDA3LTEyLTA0IDE2OjQyOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJICBGaXhlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIG5vdyBtdXhlciB3cml0ZXMgdG8gcG5nIGFsc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIG5vdyBtdXhlciB3cml0ZXMgdG8gcG5nIGFsc28uCgoyMDA3LTEyLTAzIDE4OjI4OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIHNpZ25hbHMgZm9yIHBhdCwgcG10LCBuaXQsIGVpdCwgc2R0LiBSZXBsYWNlIHdpdGggYnVzIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgUmVtb3ZlIHNpZ25hbHMgZm9yIHBhdCwgcG10LCBuaXQsIGVpdCwgc2R0LiBSZXBsYWNlIHdpdGggYnVzCgkgIG1lc3NhZ2VzLgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBJbnN0ZWFkIG9mIGF0dGFjaGluZyB0byBzaWduYWxzLCB1c2UgdGhlIGJ1cyBtZXNzYWdlcy4KCSAgQWxzbyBmaXggdXAgc28gdGhlIGR2YnNyYyBzdGFydHMgb25seSBvdXRwdXR0aW5nIHRoZSBpbmZvIHRhYmxlcwoJICBsaWtlIFBBVCwgQ0FULCBOSVQsIFNEVCwgRUlUIGluc3RlYWQgb2YgdGhlIHdob2xlIHRzLgoKMjAwNy0xMi0wMyAxNjoxNDowMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBJUFRDIGNodW5rIHNlbnQgYXMgdGFnLiBNdXhlciBpbXBsZW1ldHMgR3N0VGFnU2V0dGVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBJUFRDIGNodW5rIHNlbnQgYXMgdGFnLiBNdXhlciBpbXBsZW1ldHMgR3N0VGFnU2V0dGVyIGludGVyZmFjZS4KCjIwMDctMTItMDMgMTM6MDg6MjYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogU2hvdWxkIGZpeCB0aGUgNjQtYml0IGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBTaG91bGQgZml4IHRoZSA2NC1iaXQgYnVpbGQKCjIwMDctMTEtMzAgMTg6MzA6MTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBFWElGIGFuZCBYTVAgY2h1bmtzIHNlbnQgYXMgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBFWElGIGFuZCBYTVAgY2h1bmtzIHNlbnQgYXMgdGFncy4KCjIwMDctMTEtMzAgMTQ6MDg6MTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogQWRkIENvUlJFIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgQ29SUkUgZW5jb2RpbmcKCjIwMDctMTEtMzAgMTM6MTg6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogQ1JDIGNoZWNrIHRoZSBwc2kgcGlkcy4gQ1JDIGNoZWNraW5nIGNvZGUgcmVsaWNlbmNlZCBmcm9tIE1QTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIENSQyBjaGVjayB0aGUgcHNpIHBpZHMuIENSQyBjaGVja2luZyBjb2RlIHJlbGljZW5jZWQgZnJvbSBNUEwuCgkgIFRoYW5rcyBGbHVlbmRvLgoKMjAwNy0xMS0zMCAxMjo1MzoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkgIEZpeGVkIGdldF9yYW5nZSBidWcgd2hlbiBpbmplY3RpbmcgYW5kIHN0cmlwcGluZy4gQW5kIG11eCBpcyBhbG1vc3QgZG9uZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBnZXRfcmFuZ2UgYnVnIHdoZW4gaW5qZWN0aW5nIGFuZCBzdHJpcHBpbmcuIEFuZCBtdXggaXMgYWxtb3N0IGRvbmUgbm93LgoKMjAwNy0xMS0zMCAxMDo0NjoyMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBVc2UgZ2xpYiBtYWNybyBmb3Igc3dhcHBpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFVzZSBnbGliIG1hY3JvIGZvciBzd2FwcGluZwoKMjAwNy0xMS0yOSAxMzozMjoxMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBEaXNhYmxlIENvcHlSZWN0IGVuY29kaW5nIGJ5IGRlZmF1bHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgRGlzYWJsZSBDb3B5UmVjdCBlbmNvZGluZyBieSBkZWZhdWx0CgkgIEFkZCBSUkUgZW5jb2RpbmcKCjIwMDctMTEtMjkgMTA6NDk6MTggKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50IG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50CgkgIG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW5kIGl0IGhhcyBzb21lIGxlYWtzLgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwKCSAgKHNvdXBfZmluaXNoZWQpLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB1bmxvY2soKS4KCSAgUGlja3MgdXAgdGhlIHNpemUgZnJvbSB0aGUgQ29udGVudC1MZW5ndGggaGVhZGVyIGFuZCBlbWl0IGEgZHVyYXRpb24KCSAgbWVzc2FnZS4KCSAgRG9uJ3QgbGVhayB0aGUgR01haW5Db250ZXh0IG9iamVjdC4KCSAgRml4ZXMgIzUwMDA5OS4KCjIwMDctMTEtMjkgMTA6NDQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIGRhdGEgd2hlbiB3ZSBhcmUgaW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3BhcmFtcyksCgkgIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSk6CgkgIERvbid0IGZyZWUgdW5pbml0aWFsaXplZCBkYXRhIHdoZW4gd2UgYXJlIGluIGVycm9yLgoKMjAwNy0xMS0yOCAxNDowMzozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBTZW5kaW5nIG1ha2UgYW5kIG1vZGVsIGluZGl2aWR1YWwgdGFncyBhbmQgbXV4ZXIgbm93IGxpbmtzIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kaW5nIG1ha2UgYW5kIG1vZGVsIGluZGl2aWR1YWwgdGFncyBhbmQgbXV4ZXIgbm93IGxpbmtzIGZpbmUuCgoyMDA3LTExLTI4IDA4OjEzOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBTbWFsbCBmaXhlcyBpbiBnZXRfcmFuZ2UgYW5kIGJldHRlciBzdHJ1Y3R1cmUgZm9yIGdlbmVyaWMgbXV4ZXIgYW5kIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXhlcyBpbiBnZXRfcmFuZ2UgYW5kIGJldHRlciBzdHJ1Y3R1cmUgZm9yIGdlbmVyaWMgbXV4ZXIgYW5kIGRlbXV4ZXIuCgoyMDA3LTExLTI2IDEzOjE5OjQ4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIFF1aWNrVGltZSBXcmFwcGVyIHBsdWctaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTI2ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIFF1aWNrVGltZSBXcmFwcGVyIHBsdWctaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOiBGaXgKCSAgYnVpbGQgb24gTWFjIE9TIFggTGVvcGFyZC4gSW5jb3JyZWN0IHByaW50ZiBmb3JtYXQgYXJndW1lbnRzLgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfaW5pdCksCgkgIChjbGVhcl9BdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAoZmlsbF9pbmRlc2NfbXAzKSwKCSAgKGZpbGxfaW5kZXNjX2FhYyksIChmaWxsX2luZGVzY19zYW1yKSwgKGZpbGxfaW5kZXNjX2dlbmVyaWMpLAoJICAobWFrZV9zYW1yX21hZ2ljX2Nvb2tpZSksIChvcGVuX2RlY29kZXIpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19zZXRjYXBzKSwgKHByb2Nlc3NfYnVmZmVyX2NiKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiAoYXVkaW9fY2Fwc19mcm9tX3N0cmluZyksCgkgIChmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzogKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9hdmMxKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9tcDR2KSwgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fc3RzZF9idWZmZXIpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9jb2RlY19kYXRhKToKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzogKGdldF9uYW1lX2luZm9fZnJvbV9jb21wb25lbnQpLAoJICAoZ2V0X291dHB1dF9pbmZvX2Zyb21fY29tcG9uZW50KSwgKGR1bXBfYXZjY19hdG9tKSwKCSAgKGR1bXBfaW1hZ2VfZGVzY3JpcHRpb24pLCAoZHVtcF9jb2RlY19kZWNvbXByZXNzX3BhcmFtcyksCgkgIChhZGRTSW50MzJUb0RpY3Rpb25hcnkpLCAoZHVtcF9jdnBpeGVsX2J1ZmZlciksCgkgIChEZXN0cm95QXVkaW9CdWZmZXJMaXN0KSwgKEFsbG9jYXRlQXVkaW9CdWZmZXJMaXN0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgICogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9pbml0KSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2ZpbmFsaXplKSwKCSAgKGZpbGxfaW1hZ2VfZGVzY3JpcHRpb24pLCAobmV3X2ltYWdlX2Rlc2NyaXB0aW9uKSwgKGNsb3NlX2RlY29kZXIpLAoJICAob3Blbl9kZWNvZGVyKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX3Npbmtfc2V0Y2FwcyksCgkgIChkZWNvbXByZXNzQ2IpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2RlcnNfcmVnaXN0ZXIpOiBJbml0aWFsIGltcG9ydCBvZiBRdWlja1RpbWUKCSAgd3JhcHBlciBqb2ludGx5IGRldmVsb3BwZWQgYnkgU29uZ2JpcmQgYXV0aG9ycyAoUGlvbmVlcnMgb2YgdGhlCgkgIEluZXZpdGFibGUpIGFuZCBGbHVlbmRvLgoKMjAwNy0xMS0yNiAxMDowODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDA3LTExLTI2IDA5OjM4OjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkgIE5vdyB3b3JrcyB3aGVuIGdldF9yYW5nZSBpcyBub3QgYXZhaWxhYmxlIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHdvcmtzIHdoZW4gZ2V0X3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgdXBzdHJlYW0uCgoyMDA3LTExLTI2IDA4OjQzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IFVwZGF0ZSBzcGVleCByZXNhbXBsZXIgdG8gbGF0ZXN0IFNWTi4gV2UncmUgbm93IGRvd24gdG8gb25seSB0aGUgY2hhbmdlcyBub3RlZCBpbiBSRUFETUUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X2lucHV0X2xhdGVuY3kpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9vdXRwdXRfbGF0ZW5jeSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIFVwZGF0ZSBzcGVleCByZXNhbXBsZXIgdG8gbGF0ZXN0IFNWTi4gV2UncmUgbm93IGRvd24gdG8gb25seSB0aGUKCSAgY2hhbmdlcyBub3RlZCBpbiBSRUFETUUgYWdhaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpOgoJICBBZGp1c3QgdG8gQVBJIGNoYW5nZXMuCgoyMDA3LTExLTI1IDEwOjQ1OjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZSB3aXRoIGdub25saW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUKCSAgd2l0aCBnbm9ubGluLgoKMjAwNy0xMS0yNSAxMDoxMjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogU2V0IGluaXRpYWwgc3RydWN0dXJlIG5hbWUgdG8gZml4IGFzc2VydGlvbiwgZHVlIHRvIHJlY2VudCBjYXBzIG5hbWUgY29uc3RyYWludHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIFNldCBpbml0aWFsIHN0cnVjdHVyZSBuYW1lIHRvIGZpeCBhc3NlcnRpb24sIGR1ZSB0byByZWNlbnQgY2FwcyBuYW1lCgkgIGNvbnN0cmFpbnRzLgoKMjAwNy0xMS0yMyAxNzo1MzozNyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBwYXQtaW5mbyBpcyBub3cgYSBzaWduYWwgbm90IGEgR09iamVjdCBwcm9wZXJ0eSB0aGF0IGdldHMgbm90aWZpZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIHBhdC1pbmZvIGlzIG5vdyBhIHNpZ25hbCBub3QgYSBHT2JqZWN0IHByb3BlcnR5IHRoYXQKCSAgZ2V0cyBub3RpZmllZC4KCSAgcGF0LWluZm8sIHBtdC1pbmZvIG5vdyBpbnN0ZWFkIG9mIHBhc3NpbmcgYSBHT2JqZWN0IGFzCgkgIGEgcGFyYW1ldGVyLCBwYXNzIGEgR3N0U3RydWN0dXJlLgoJICBOZXcgc2lnbmFsczogbml0LWluZm8sIHNkdC1pbmZvLCBlaXQtaW5mbyBmb3IgRFZCIFNJIGluZm9ybWF0aW9uCgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5oOgoJICBDYW0gY29kZSBub3cgdXNlcyB0aGUgcG10IEdzdFN0cnVjdHVyZSBwYXNzZWQgZnJvbSBtcGVndHNwYXJzZQoJICBzaWduYWxzIHJhdGhlciB0aGFuIHRoZSBHT2JqZWN0LgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVc2UgbmV3IHNpZ25hbHMgaW4gbXBlZ3RzcGFyc2UgYW5kIHVzZSBHc3RTdHJ1Y3R1cmVzIGFzIHBlcgoJICBtcGVndHNwYXJzZSdzIG1vZGlmaWVkIEFQSS4KCjIwMDctMTEtMjMgMTc6MzU6MjEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSAgTm93IHBhcnNlciBpcyBnZW5lcmljIChqdXN0IGFkZC9yZW1vdmUgYSBsaXN0IG9mIGNodW5rcykuIEFuZCBhIHRlbXBsYXRlIG9mIG11eGVyIGhhcyBiZWVuIGNyZWF0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgcGFyc2VyIGlzIGdlbmVyaWMgKGp1c3QgYWRkL3JlbW92ZSBhIGxpc3Qgb2YgY2h1bmtzKS4gQW5kIGEgdGVtcGxhdGUgb2YgbXV4ZXIgaGFzIGJlZW4gY3JlYXRlZC4KCjIwMDctMTEtMjMgMTA6MjE6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogT25seSBwb3N0IHRoZSBsYXRlbmN5IG1lc3NhZ2UgaWYgd2UgaGF2ZSBhIHJlc2FtcGxlciBzdGF0ZSBhbHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKToKCSAgT25seSBwb3N0IHRoZSBsYXRlbmN5IG1lc3NhZ2UgaWYgd2UgaGF2ZSBhIHJlc2FtcGxlciBzdGF0ZSBhbHJlYWR5LgoKPT09IHJlbGVhc2UgMC4xMC4xNyA9PT0KCjIwMDctMTEtMjMgMTA6MjE6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV9xdWVyeSksIChhdWRpb3Jlc2FtcGxlX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA3LTExLTIzIDEwOjAxOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFsc28gcG9zdCBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpOgoJICBBbHNvIHBvc3QgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMyAwODo0ODo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgZnVuY3Rpb25zIHRvIHB1c2ggdGhlIHJlbWFpbmluZyBzYW1wbGVzIGFuZCB0byBnZXQgdGhlIGxhdGVuY3kgb2YgdGhlIHJlc2FtcGxlci4gVGhlc2Ugd2lsbCBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9yZXNhbXBsZXJfZ2V0X2xhdGVuY3kpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2Zsb2F0KSwgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnRlcmxlYXZlZF9pbnQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBmdW5jdGlvbnMgdG8gcHVzaCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgYW5kIHRvIGdldCB0aGUgbGF0ZW5jeQoJICBvZiB0aGUgcmVzYW1wbGVyLiBUaGVzZSB3aWxsIGdldCBhZGRlZCB0byBTcGVleCBTVk4gaW4gdGhpcyBvciBhCgkgIHNsaWdodGx5IGNoYW5nZWQgZm9ybSBhdCBzb21lIHBvaW50IHRvbyBhbmQgc2hvdWxkIGdldCBtZXJnZWQgdGhlbgoJICBhZ2Fpbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5X3R5cGUpOgoJICBEcm9wIHRoZSBwcmVwZW5kaW5nIHplcm9lcyBhbmQgb3V0cHV0IHRoZSByZW1haW5pbmcgc2FtcGxlcyBvbiBFT1MuCgkgIEFsc28gcHJvcGVybHkgaW1wbGVtZW50IHRoZSBsYXRlbmN5IHF1ZXJ5IGZvciB0aGlzLiBzcGVleHJlc2FtcGxlCgkgIHNob3VsZCBiZSBjb21wbGV0ZWx5IHJlYWR5IGZvciBwcm9kdWN0aW9uIHVzZSBub3cuCgoyMDA3LTExLTIyIDA5OjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8gbWF4X2xhdGVuY3kgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubwoJICBtYXhfbGF0ZW5jeSByZXF1aXJlbWVudHMuCgoyMDA3LTExLTIxIDEwOjE4OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6IEFkZCBSRUFETUUgZXhwbGFpbmluZyB3aGVyZSB0aGUgcmVzYW1wbGluZyBjb2RlIHdhcyB0YWtlbiBmcm9tIGFuZCB3aGljaCBjaGFuZ2VzIHdlcmUgZG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICBBZGQgUkVBRE1FIGV4cGxhaW5pbmcgd2hlcmUgdGhlIHJlc2FtcGxpbmcgY29kZSB3YXMgdGFrZW4gZnJvbQoJICBhbmQgd2hpY2ggY2hhbmdlcyB3ZXJlIGRvbmUuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X2FsbG9jKSwgKHNwZWV4X3JlYWxsb2MpLAoJICAoc3BlZXhfZnJlZSk6CgkgIFVzZSBnX21hbGxvYygpIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgbWFsbG9jKCkgdG8gYWNoaWV2ZSBoaWdoZXIKCSAgcG9ydGFiaWxpdHkgYW5kIGRlZmluZSB0aGUgZnVuY3Rpb25zIGlubGluZS4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgQWRkIGJhY2sgc29tZSB1c2VsZXNzIHByZXByb2Nlc3NvciBzdHVmZiB0byBrZWVwIHRoZSBkaWZmIGJldHdlZW4KCSAgb3VyIHZlcnNpb24gYW5kIHRoZSBvbmUgZnJvbSB0aGUgU3BlZXggU1ZOIHJlcG9zaXRvcnkgbG93ZXIuCgoyMDA3LTExLTIxIDA5OjU2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgIFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIxIDA5OjQ1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBEb24ndCB0cnkgdG8gZmx1c2ggdGhlIGRlY29kZXIgb24gRU9TIHdoZW4gaXQgd2FzIG5vdCBpbml0aWFsaXplZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgIERvbid0IHRyeSB0byBmbHVzaCB0aGUgZGVjb2RlciBvbiBFT1Mgd2hlbiBpdCB3YXMgbm90IGluaXRpYWxpemVkLgoJICBGaXhlcyAjNDk4NjY3CgoyMDA3LTExLTIxIDA5OjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IEZpeCBidWlsZCBvbiBNYWMgT1MgWC4gKG1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX3dyaXRlKTogRml4IGJ1aWxkCgkgIG9uIE1hYyBPUyBYLiAobWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyKQoKMjAwNy0xMS0yMSAwODoyMToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZAoJICBpbiAtZ29vZC4KCjIwMDctMTEtMjAgMjA6MjM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogU29tZSBzbWFsbCBjbGVhbnVwIGFuZCBhZGRpdGlvbiBvZiBhIFRPRE8gaXRlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICBTb21lIHNtYWxsIGNsZWFudXAgYW5kIGFkZGl0aW9uIG9mIGEgVE9ETyBpdGVtLgoKMjAwNy0xMS0yMCAxMjo1NjowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwNy0xMS0yMCAwNzo1MjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgbWlzc2luZyBpbnNwZWN0aW9uIGZpbGVzIHRvIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBtaXNzaW5nIGluc3BlY3Rpb24gZmlsZXMgdG8gQ1ZTLgoKMjAwNy0xMS0yMCAwNzo0NzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHNwZWV4cmVzYW1wbGUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgZG8gYSBtYWtlIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgQWRkIHNwZWV4cmVzYW1wbGUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgZG8gYSBtYWtlIHVwZGF0ZS4KCjIwMDctMTEtMjAgMDc6MzA6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogSWYgdGhlIHJlc2FtcGxlciBnaXZlcyBsZXNzIG91dHB1dCBzYW1wbGVzIHRoYW4gZXhwZWN0ZWQgYWRqdXN0IHRoZSBvdXRwdXQgYnVmZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICBJZiB0aGUgcmVzYW1wbGVyIGdpdmVzIGxlc3Mgb3V0cHV0IHNhbXBsZXMgdGhhbiBleHBlY3RlZAoJICBhZGp1c3QgdGhlIG91dHB1dCBidWZmZXIgYW5kIHByaW50IGEgd2FybmluZy4KCjIwMDctMTEtMjAgMDc6MDI6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCByZXNhbXBsZSBlbGVtZW50IGJhc2VkIG9uIHRoZSBTcGVleCByZXNhbXBsaW5nIGFsZ29yaXRobS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RhcnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Jlc2V0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X2FsbG9jKSwgKHNwZWV4X3JlYWxsb2MpLAoJICAoc3BlZXhfZnJlZSksIChjb21wdXRlX2Z1bmMpLCAobWFpbiksIChzaW5jKSwgKGN1YmljX2NvZWYpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLCAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwgKHVwZGF0ZV9maWx0ZXIpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2luaXQpLCAoc3BlZXhfcmVzYW1wbGVyX2luaXRfZnJhYyksCgkgIChzcGVleF9yZXNhbXBsZXJfZGVzdHJveSksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGUpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9yYXRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZV9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcmF0aW8pLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9xdWFsaXR5KSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcXVhbGl0eSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X2lucHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X2lucHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X291dHB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9vdXRwdXRfc3RyaWRlKSwgKHNwZWV4X3Jlc2FtcGxlcl9za2lwX3plcm9zKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9yZXNldF9tZW0pLCAoc3BlZXhfcmVzYW1wbGVyX3N0cmVycm9yKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIHJlc2FtcGxlIGVsZW1lbnQgYmFzZWQgb24gdGhlIFNwZWV4IHJlc2FtcGxpbmcgYWxnb3JpdGhtLgoKMjAwNy0xMS0xOSAyMjowOTozNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJICBGaXhlZCBidWZmZXIgc3RyaXAgKHNhZmVyIHdpbCBwdWxsIGFuZCBhZnRlciBzZWVrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGJ1ZmZlciBzdHJpcCAoc2FmZXIgd2lsIHB1bGwgYW5kIGFmdGVyIHNlZWspLgoKMjAwNy0xMS0xOSAyMDozMDoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgoyMDA3LTExLTE5IDEzOjA1OjIzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkgIFN0cmlwIG91dCBpbiBwdWxsIG1vZGUgYWxzby4gU2VlayBhbmQgUXVlcnkgZnVuY3Rpb25zIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3RyaXAgb3V0IGluIHB1bGwgbW9kZSBhbHNvLiBTZWVrIGFuZCBRdWVyeSBmdW5jdGlvbnMgYWRkZWQuCgoyMDA3LTExLTE4IDIxOjA2OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V0eXBlcy5oOgoJICBTdHJpcCBvdXQgbWV0YWRhdGEgY2h1bmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3RyaXAgb3V0IG1ldGFkYXRhIGNodW5rcy4KCjIwMDctMTEtMTYgMTE6MTE6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWxzIHVzZSBBR19HU1RfUExVR0lOX0RPQ1MgKHNlZSAjMzQ0MDM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbHMgdXNlIEFHX0dTVF9QTFVHSU5fRE9DUyAoc2VlICMzNDQwMzkpLgoKMjAwNy0xMS0xNSAxOTowMzozMyArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEVuc3VyZSB0aGF0IHRoZSBwbHVnaW4gZG9lcyBub3QgY3Jhc2ggd2hlbiB0aGUgcHJvcGVydHkgcGF0LWluZm8gaXMgcXVlcmllZCBiZWZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdhaS1NaW5nIEhvIDx3ZWJyZWdib3ggYXQgeWFob28gZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiAoZm9yZWFjaF9zdHJlYW1fY2xlYXIpLAoJICAocmVtb3ZlX2FsbCksIChtcGVndHNfcGFja2V0aXplcl9jbGVhcik6CgkgIEVuc3VyZSB0aGF0IHRoZSBwbHVnaW4gZG9lcyBub3QgY3Jhc2ggd2hlbiB0aGUgcHJvcGVydHkgcGF0LWluZm8gaXMKCSAgcXVlcmllZCBiZWZvcmUgYSBQQVQgaXMgYXZhaWxhYmxlLiBJdCBhbHNvIGVuc3VyZXMgdGhhdCB0aGUgUEFUIGluZm8gaXMKCSAgY2xlYXJlZCB3aGVuIHRoZSBjaGFuZ2luZyBmcm9tIFBMQVlJTkcgdG8gUkVBRFkuCgkgIEZpeGVzICM0ODc4OTIuCgoyMDA3LTExLTE1IDE4OjUzOjU2ICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IEhhbmRsZSBzZWVraW5nIGNvcnJlY3RseS4gRml4ZXMgIzQ2MTA2OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXIgYXQgYmx1ZS1nYXRlIGRvdCBiZT4KCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgSGFuZGxlIHNlZWtpbmcgY29ycmVjdGx5LiBGaXhlcyAjNDYxMDY4LgoKMjAwNy0xMS0xNSAxODo0MTozMSArMDAwMCAgTWljaGFlbCBLw7Z0dGVyIDxtLmtvZXR0ZXJAb3JhaXNlLmRlPgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IEZpeCBzYW1wbGUgcmF0ZSBhbmQgY2xvY2tpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFlbCBLw7Z0dGVyIDxtIGRvdCBrb2V0dGVyIGF0IG9yYWlzZSBkb3QgZGU+CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfc2V0X3BhcmFtcyksIChhbHNhc3BkaWZzaW5rX2RlbGF5KSwgKHBsdWdpbl9pbml0KToKCSAgRml4IHNhbXBsZSByYXRlIGFuZCBjbG9ja2luZy4KCSAgUmVtb3ZlIGJ1ZmZlcl90aW1lIGFuZCBwZXJpb2RfdGltZSBhcyB0aGlzIHNlZW1zIHRvIGJyZWFrIG9uIHNvbWUKCSAgaGFyZHdhcmUuIEZpeGVzICM0ODU0NjIuCgoyMDA3LTExLTE1IDE3OjI2OjI1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCjIwMDctMTEtMTUgMTU6MzI6NDcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBkb24ndCBmb3JnZXQgdG8gaGFuZGxlIHRoZSBvZmZzZXQncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBkb24ndCBmb3JnZXQgdG8gaGFuZGxlIHRoZSBvZmZzZXQncwoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBwcmVjYWxjdWxhdGUgc29tZSBtYW55IHVzZWQgdmFsdWVzCgoyMDA3LTExLTE1IDA4OjI4OjI5ICswMDAwICBBcm1hbmRvIFRhZmZhcmVsIE5ldG8gPHRhZmZhcmVsQHNvbGlzLmNvb3AuYnI+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBTZXQgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIG91dHB1dCBidWZmZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQXJtYW5kbyBUYWZmYXJlbCBOZXRvIDx0YWZmYXJlbEBzb2xpcy5jb29wLmJyPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIFNldCB0aGUgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlcnMKCjIwMDctMTEtMTQgMTc6MDM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoKMjAwNy0xMS0xMiAyMTowNzozMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKToKCSAgQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBTcG90dGVkIGJ5IEdhYnJpZWwgQm91dmlnbmUuIEZpeGVzICM0OTQ0OTkuCgoyMDA3LTExLTEyIDE5OjIyOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZQoJICBhY3R1YWxseSBoYXZlIGRhdGEgdG8gcmVhZCBhdCB0aGUgZW5kIG9mIHRoZSB0YWcuIFRoaXMgYXZvaWRzIHRyeWluZwoJICB0byBhbGxvY2F0ZSBuZWdhdGl2ZSBidWZmZXJzLgoKMjAwNy0xMS0xMiAxNzoyNzowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICBBZGRlZCBhIGRlc2lnbiBwcm9wb3NhbCBmcm9tIG1ldGFkYXRhIHBhcnNlIGFuZCBtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGRlc2lnbiBwcm9wb3NhbCBmcm9tIG1ldGFkYXRhIHBhcnNlIGFuZCBtdXguCgoyMDA3LTExLTExIDIxOjEyOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvOiBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIEdzdE1lc3NhZ2VzIGJ5IHNwZWN0cnVtIHRvIGRlY2liZWwgaW5zdGVhZCBvZgoJICBkZWNpYmVsK3RocmVzaG9sZC4KCjIwMDctMTEtMTEgMTM6NTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlCgkgIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCjIwMDctMTEtMTEgMTI6NTQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgoyMDA3LTExLTA5IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDctMTEtMDkgMTU6NTM6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSAgRXh0cmFjdGluZyBtb3JlIGRldGFpbGVkIGluZm8gZnJvbSBYTVAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBFeHRyYWN0aW5nIG1vcmUgZGV0YWlsZWQgaW5mbyBmcm9tIFhNUC4KCjIwMDctMTEtMDggMTU6NTY6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0bwoJICB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWJlcnMgYW5kIGVuYWJsZSBmaWxsLgoKMjAwNy0xMS0wNyAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVxdWlyZSBHSU8gPj0gMC4xLjIgYW5kIGFkanVzdCB1bml0IHRlc3QgZm9yIGFuIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFJlcXVpcmUgR0lPID49IDAuMS4yIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IGZvciBhbiBBUEkgY2hhbmdlLgoKMjAwNy0xMS0wNyAxNTozNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZG9fc2xpZGVyX2ZpZGRsaW5nKToKCSAgRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoKMjAwNy0xMS0wNyAxNToxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uaDogQWRkIG1hY3JvIHRvIGNoZWNrIGlmIGEgc3RyZWFtIHN1cHBvcnRzIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgIEFkZCBtYWNybyB0byBjaGVjayBpZiBhIHN0cmVhbSBzdXBwb3J0cyBzZWVraW5nLgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOiAoZ3N0X2dpb19iYXNlX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19iYXNlX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX2Jhc2Vfc2lua19zdGFydCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX3VubG9jayksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua191bmxvY2tfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua19ldmVudCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19yZW5kZXIpLCAoZ3N0X2dpb19iYXNlX3NpbmtfcXVlcnkpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fYmFzZV9zcmNfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fYmFzZV9zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19pc19zZWVrYWJsZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3VubG9jayksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfY3JlYXRlKSwgKGdzdF9naW9fYmFzZV9zcmNfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgIFJlZmFjdG9yIGNvbW1vbiBHSU8gZnVuY3Rpb25zIHRvIEdzdEdpb0Jhc2VTaW5rIGFuZCBHc3RHaW9CYXNlU3JjCgkgIGJhc2UgY2xhc3NlcyB0aGF0IG9ubHkgcmVxdWlyZSBhIEdJbnB1dFN0cmVhbSBvciBHT3V0cHV0U3RyZWFtIHRvCgkgIHdvcmsuCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBVc2UgdGhlIG5ld2x5IGNyZWF0ZWQgYmFzZSBjbGFzc2VzIGhlcmUuCgkgICogZXh0L2dpby9nc3RnaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3N0cmVhbV9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zdHJlYW1fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3RyZWFtX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zdHJlYW1fc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgSW1wbGVtZW50IEdzdEdpb1N0cmVhbVNpbmsgYW5kIEdzdEdpb1N0cmVhbVNyYyB0aGF0IGhhdmUgYSBwcm9wZXJ0eQoJICB0byBzZXQgdGhlIEdJbnB1dFN0cmVhbS9HT3V0cHV0U3RyZWFtIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAobWVzc2FnZV9oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGdpb190ZXN0c3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGdpb3N0cmVhbXNyYyBhbmQgZ2lvc3RyZWFtc2luay4KCjIwMDctMTEtMDcgMTE6NDg6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmM6IFJlbW92ZSBub3dhZGF5cyB1bm5lY2Vzc2FyeSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgbm93YWRheXMgdW5uZWNlc3Nhcnkgd29ya2Fyb3VuZCBmb3IgYSBjcmFzaC4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19maW5hbGl6ZSksCgkgIChnc3RfZ2lvX3Npbmtfc3RhcnQpLCAoZ3N0X2dpb19zaW5rX3N0b3ApLAoJICAoZ3N0X2dpb19zaW5rX3VubG9ja19zdG9wKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19zcmNfc3RvcCksIChnc3RfZ2lvX3NyY191bmxvY2tfc3RvcCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgTWFrZSB0aGUgZmluYWxpemUgZnVuY3Rpb24gc2FmZXIsIGNsZWFuIHVwIGV2ZXJ5dGhpbmcgdGhhdCBjb3VsZCBzdGF5CgkgIGFyb3VuZC4KCSAgUmVzZXQgdGhlIGNhbmNlbGxhYmxlIGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lIGFmdGVyIGNhbmNlbGxpbmcKCSAgc29tZSBvcGVyYXRpb24uCgkgIERvbid0IHN0b3JlIHRoZSBHRmlsZSBpbiB0aGUgZWxlbWVudCwgaXQncyBvbmx5IG5lY2Vzc2FyeSBmb3IgY3JlYXRpbmcKCSAgdGhlIHN0cmVhbXMuCgoyMDA3LTExLTA2IDEyOjIzOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCB0aGUgbWFnbml0dWRlIGNhbGN1bGF0aW9uLgoKMjAwNy0xMS0wNCAxMTowNDoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLio6IEZpeCBjcmFzaGVyIGluIGNvbnN0cnVjdG9yIGR1ZSB0byB0aGUgYmFzZSBjbGFzcydzIGNvbnN0cnVjdG9yIG5vdCBuZWNlc3NhcmlseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKENEc2hvd0Zha2VTaW5rLkNEc2hvd0Zha2VTaW5rKToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOiAoQ0RzaG93RmFrZVNpbmsubV9ocmVzKToKCSAgRml4IGNyYXNoZXIgaW4gY29uc3RydWN0b3IgZHVlIHRvIHRoZSBiYXNlIGNsYXNzJ3MgY29uc3RydWN0b3IKCSAgbm90IG5lY2Vzc2FyaWx5IGJlaW5nIE5VTEwtc2FmZSAoZGVwZW5kcyBvbiB0aGUgU0RLIHZlcnNpb24gdXNlZAoJICBhcHBhcmVudGx5OyAjNDkyNDA2KS4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzogKGdzdF9kc2hvd2F1ZGlvc3JjX3ByZXBhcmUpOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOiAoZ3N0X2RzaG93dmlkZW9zcmNfc2V0X2NhcHMpOgoJICBGaXggYSBjb3VwbGUgb2YgTVNWQyBjb21waWxlciB3YXJuaW5ncyAoIzQ5MjQwNikuCgoyMDA3LTExLTAzIDE5OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoc2V0dXBfZmlsdGVyKToKCSAgQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBBbHNvIGhhbmRsZSBhIGJhbmR3aWR0aCBvZiByYXRlLzIgcHJvcGVybHkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBnZW5lcmF0ZSBhIE4tYmFuZCBlcXVhbGl6ZXIgd2l0aCAxIGJhbmRzLiBUaGUKCSAgcHJldmlvdXMgbGltaXQgb2YgMiB3YXMgY2F1c2VkIGJ5IGEgbm93YWRheXMgcmVwbGFjZWQgY2FsY3VsYXRpb24KCSAgZG9pbmcgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIG51bWJlciBvZiBiYW5kcyB3YXMgMS4KCjIwMDctMTEtMDIgMjE6NDU6MzggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoKMjAwNy0xMS0wMiAxNjo1MDo0MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgQWRkZWQgc3VwcG9ydCBmb3IgUE5HL1hNUC4gSW5kZW50YXRpb24uIEFuZCBmaXhlZCBwdWxsIG1vZGUgdG8gcGFyc2UgdGhlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzdXBwb3J0IGZvciBQTkcvWE1QLiBJbmRlbnRhdGlvbi4gQW5kIGZpeGVkIHB1bGwgbW9kZSB0byBwYXJzZSB0aGUgZmlsZS4KCjIwMDctMTEtMDIgMTI6MDM6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSAgTm93IG1ldGFkYXRhcGFyc2Ugd29ya3MgaW4gcHVzaCBvciBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgbWV0YWRhdGFwYXJzZSB3b3JrcyBpbiBwdXNoIG9yIHB1bGwgbW9kZS4KCjIwMDctMTEtMDEgMTY6MDQ6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgU29tZSBYTVAgc3R1ZmYgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIFhNUCBzdHVmZiBhZGRlZC4KCjIwMDctMTAtMzEgMTY6MjE6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIE5vdyBzZW5kaW5nIGlwdGMgdGFnIGluIHdob2xlIGNodW5rLiBSZWFkeSB0byBhbHNvIHNlbmQgZXhpZiBhbmQgeG1wIGluIHRoZSBzYW1lIHdheSAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgc2VuZGluZyBpcHRjIHRhZyBpbiB3aG9sZSBjaHVuay4gUmVhZHkgdG8gYWxzbyBzZW5kIGV4aWYgYW5kIHhtcCBpbiB0aGUgc2FtZSB3YXkgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoKMjAwNy0xMC0zMSAxNDo0NDo1NSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBTb21lIHJlZmFjdG9yaW5nIGluIFJBVyBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgU29tZSByZWZhY3RvcmluZyBpbiBSQVcgZW5jb2RpbmcKCjIwMDctMTAtMzEgMTQ6MDk6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkZWQgY29weXJlY3QgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiY29udGV4dC5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICAqIGdzdC9saWJyZmIvcmZidXRpbC5oOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICBBZGRlZCBjb3B5cmVjdCBlbmNvZGluZwoKMjAwNy0xMC0zMSAxMzozMTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2Ftc3djbGllbnQuYzogV2FybiBvbiBmYWlsZWQgd3JpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgV2FybiBvbiBmYWlsZWQgd3JpdGUuCgoyMDA3LTEwLTMwIDIxOjM3OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKG9uX2NvbmZpZ3VyZV9ldmVudCksCgkgIChvbl9nYWluX2NoYW5nZWQpLCAob25fYmFuZHdpZHRoX2NoYW5nZWQpLCAob25fZnJlcV9jaGFuZ2VkKSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMKCSAgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdXNoZXMgaXQgdGhyb3VnaCBhbiBlcXVhbGl6ZXIgYW5kCgkgIHBhaW50cyB0aGUgc3BlY3RydW0uIEZvciBldmVyeSBlcXVhbGl6ZXIgYmFuZCBpdCdzIHBvc3NpYmxlIHRvIHNldAoJICBnYWluLCBiYW5kd2lkdGggYW5kIGZyZXF1ZW5jeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoc2V0dXBfZmlsdGVyKToKCSAgQWRkIHNvbWUgZ3VhcmRpbmcgYWdhaW5zdCB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZyZXF1ZW5jaWVzIGFuZAoJICBiYW5kd2lkdGhzLiBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0xMC0zMCAyMToxODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseSBmaW5kIGRvY3VtZW50YXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseQoJICBmaW5kIGRvY3VtZW50YXRpb24sIHdoaWNoIGRvbid0IGNoYW5nZSBhbnl0aGluZyBvbiB6ZXJvIGdhaW4sIGV0Yy4KCSAgTWFrZSB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IG9mIHRoZSBiYW5kcyB3cml0YWJsZSwgcmVuYW1lIHRoZQoJICBiYW5kLXdpZHRoIHByb3BlcnR5IHRvIGJhbmR3aWR0aCBhbmQgY2hhbmdlIHRoZQltZWFuaW5nIHRvIHRoZQoJICBmcmVxdWVuY3kgZGlmZmVyZW5jZSBiZXR3ZWVuIGJhbmRlZGdlcywgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZQoJICBnYWluIHByb3BlcnR5IHRvIGRCIGluc3RlYWQgb2YgYSB3ZWlyZCBzY2FsZSBiZXR3ZWVuIC0xCWFuZCAxIHRoYXQKCSAgaGFzIG5vIHJlYWwgbWVhbmluZy4KCjIwMDctMTAtMzAgMjA6NTU6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgRml4IHRoZSBidWlsZC4KCjIwMDctMTAtMzAgMTg6MjE6MjIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhLy5naXRpZ25vcmU6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkgIENoYW5nZWQga2NsYXNzIHRvICJQYXJzZXIvRXh0cmFjdGVyL01ldGFkYXRhIiwgY2hhbmdlZCBjYXBzIHRvICJpbWFnZS9qcGVnLCB0YWdzLWV4dHJhY3Q9dHJ1ZS9mYWxzZSIgYW5kIGNoYW5nZWQgcHJpby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBrY2xhc3MgdG8gIlBhcnNlci9FeHRyYWN0ZXIvTWV0YWRhdGEiLCBjaGFuZ2VkIGNhcHMgdG8gImltYWdlL2pwZWcsIHRhZ3MtZXh0cmFjdD10cnVlL2ZhbHNlIiBhbmQgY2hhbmdlZCBwcmlvcml0eSB0byBHU1RfUkFOS19QUklNQVJZKzEuIEFsc28sIHNyY3BhZCBjYW4gb25seSB3b3JrIGluIHB1c2ggbW9kZSB1bnRpbCBmaXhlZCB0byBhbHNvIHdvcmsgaW4gcHVsbCBtb2RlLgoKMjAwNy0xMC0zMCAxMjo0OTowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgQ3JlYXRlZCBuZXcgcGx1Z2luICgnbWVkYWRhdGEnKSBhbmQgZWxlbWVudCAoJ21ldGFkYXRhcGFyc2UnKSB0aGF0IGV4dHJhY3QgbWV0YWRhdGEgZnJvbSBpbWFnZXMgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgcGx1Z2luICgnbWVkYWRhdGEnKSBhbmQgZWxlbWVudCAoJ21ldGFkYXRhcGFyc2UnKSB0aGF0IGV4dHJhY3QgbWV0YWRhdGEgZnJvbSBpbWFnZXMgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoKMjAwNy0xMC0yOSAxNTo1NDowNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBVbmNvbW1lbnQgdGhlIGxpbmUgdGhhdCBzZXRzIHRoZSBwaWQgZmlsdGVyLiBXcm9uZyB3YXkgdG8gd29yay1hcm91bmQgZHJpdmVyIGlzc3Vlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVuY29tbWVudCB0aGUgbGluZSB0aGF0IHNldHMgdGhlIHBpZCBmaWx0ZXIuIFdyb25nIHdheSB0bwoJICB3b3JrLWFyb3VuZCBkcml2ZXIgaXNzdWVzLgoKMjAwNy0xMC0yOCAxNToyMjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGJpdHJhdGUgcmFuZ2VzIGFuZCBjaGFuZ2UgZW51bSBuaWNrIGZvciBsb3cgY29tcGxleGl0eSBwcm9maWxlIGZyb20gTE9XIHRvIExDIGZvciBjb25zaXN0ZW5jeS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19wcm9maWxlX2dldF90eXBlKSwKCSAgKGdzdF9mYWFjX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCk6CgkgIEZpeCBiaXRyYXRlIHJhbmdlcyBhbmQgY2hhbmdlIGVudW0gbmljayBmb3IgbG93IGNvbXBsZXhpdHkKCSAgcHJvZmlsZSBmcm9tIExPVyB0byBMQyBmb3IgY29uc2lzdGVuY3kgKCM0OTAwNjApLgoKMjAwNy0xMC0yNyAxNjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpOgoJICBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwKCSAgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgdG8gYmUgbW9yZSB0aGFuIG9uZSBwYWQuIEZpeGVzICM0OTA2ODIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBhYm92ZS4KCjIwMDctMTAtMjcgMDg6MjA6NTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuKjogSW1wcm92ZWQgdmVyc2lvbiBub3QgZGFtYWdpbmcgaGVhZGVycyB1c2luZyBhIHNpbXBsZSBzdGF0ZSBtYWNoaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2VfYWxpZ24pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGVhbnVwKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2Rpc3Bvc2UpLCAoZ3N0X21wZWc0dnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDogSW1wcm92ZWQgdmVyc2lvbiBub3QKCSAgZGFtYWdpbmcgaGVhZGVycyB1c2luZyBhIHNpbXBsZSBzdGF0ZSBtYWNoaW5lLgoKMjAwNy0xMC0yNiAxNzoxODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogRml4IGJ1aWxkIGFnYWluc3QgdGhlIGxpYngyNjQgdmVyc2lvbiB0aGF0IHNoaXBzIHdpdGggZGViaWFuIHN0YWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICBGaXggYnVpbGQgYWdhaW5zdCB0aGUgbGlieDI2NCB2ZXJzaW9uIHRoYXQgc2hpcHMgd2l0aCBkZWJpYW4gc3RhYmxlLgoKMjAwNy0xMC0yNiAxNjowODowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGQgYSBzaW1wbGUgTVBFRzQgRVMgcGFyc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWc0dnBhcnNlX2NsZWFudXApLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfbXBlZzR2cGFyc2VfZGlzcG9zZSksCgkgIChnc3RfbXBlZzR2cGFyc2VfYmFzZV9pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOiBBZGQgYSBzaW1wbGUgTVBFRzQgRVMKCSAgcGFyc2VyLgoKMjAwNy0xMC0yNSAyMzo0Mjo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsKCSAgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgoyMDA3LTEwLTIzIDEzOjA4OjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWN0dWFsbHkgdXNlIHRoZSBjb2RlLXJhdGUtaHAgcGFyYW1ldGVyIGZvciBEVkItUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWN0dWFsbHkgdXNlIHRoZSBjb2RlLXJhdGUtaHAgcGFyYW1ldGVyIGZvciBEVkItUy4KCSAgSXQgdHVybnMgb3V0IHNldHRpbmcgdG8gQVVUTyBkb2VzIG5vdCBhbHdheXMgd29yayAoCgkgIGVzcGVjaWFsbHkgaW4gZGlzZXEgc2l0dWF0aW9ucykuIFNldCBieSBkZWZhdWx0IHRvCgkgIEZFQ19BVVRPLgoKMjAwNy0xMC0yMiAxNTo0NTo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKTogRG9uJ3QKCSAgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIKCSAgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIGVtaXQgdGhlbSBmb3IgMiBwYWRzIHNjZW5hcmlvcwoJICB0aG91Z2ggdG8gc3BlZWQgdXAgbWVkaWEgZGlzY292ZXJ5LgoKMjAwNy0xMC0xOSAxNjoyMDo1MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBBZGRlZCBwcm94eSBwcm9wZXJ0eSBvZiBkaXNlcWMtc291cmNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBBZGRlZCBwcm94eSBwcm9wZXJ0eSBvZiBkaXNlcWMtc291cmNlCgoyMDA3LTEwLTE4IDA2OjIwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBBZGQgYSBtaXNzaW5nIGJyZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICBBZGQgYSBtaXNzaW5nIGJyZWFrLgoKMjAwNy0xMC0xOCAwNjoxNDo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgoyMDA3LTEwLTE3IDE0OjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06IEFkZCBhbm90aGVyIG1pc3NpbmcgR1NUX0xJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgYW5vdGhlciBtaXNzaW5nIEdTVF9MSUJTLgoKMjAwNy0xMC0xNyAxNDozMzowMyArMDAwMCAgUmljaGFyZCBIdWx0IDxyaWNoYXJkQGltZW5kaW8uY29tPgoKCSAgZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbTogRml4IExJQlMgLSB3ZSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3RyZWFtZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmljaGFyZCBIdWx0IDxyaWNoYXJkIGltZW5kaW8gY29tPgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgIEZpeCBMSUJTIC0gd2UgbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZ3N0cmVhbWVyLgoKMjAwNy0xMC0xNyAxMDozMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kdmIvOiBGaXggc29tZSB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkgIEZpeCBzb21lIHdhcm5pbmdzLgoKMjAwNy0xMC0xNiAxOToyNDozMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBBZGQgdGhlIHNldCBlbmNvZGluZ3MgY2xpZW50IG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEFkZCB0aGUgc2V0IGVuY29kaW5ncyBjbGllbnQgbWVzc2FnZQoKMjAwNy0xMC0xNiAxODozMzo0NCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiByZW1vdmUgdGhlIHJmYmJ5dGVzdHJlYW0gZGVhZCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9yZmIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmVtb3ZlIHRoZSByZmJieXRlc3RyZWFtIGRlYWQgY29kZQoKMjAwNy0xMC0xNiAxNzozODowNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBzeXMvZHZiLzogSW50ZWdyYXRlIFNvQyB3b3JrIGRvbmUgYnkgQWxlc3NhbmRybyBmb3IgdGhlIEZyZWV2byBwcm9qZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2NhbS5jOgoJICAqIHN5cy9kdmIvY2FtLmg6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uaDoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJICAqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJICAqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5oOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkgICogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5oOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgICogc3lzL2R2Yi9nc3RkdmIuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEludGVncmF0ZSBTb0Mgd29yayBkb25lIGJ5IEFsZXNzYW5kcm8gZm9yIHRoZSBGcmVldm8gcHJvamVjdC4KCSAgQWRkcyBjYW0gc3VwcG9ydCB0byB0aGUgZHZiIHN0YWNrIGluIEdTdHJlYW1lciBhbmQgYSBuZXcKCSAgZWxlbWVudCAoYWN0dWFsbHkgYSBiaW4pIGNhbGxlZCBkdmJiYXNlYmluIHRoYXQgaW50ZWdyYXRlcwoJICBkdmJzcmMgYW5kIG1wZWd0c3BhcnNlIHRvIGEpIGhhbmRsZSBkZWNyeXB0aW9uIGFuZCBiKSBhbGxvdwoJICBhY3F1aXJpbmcgbXVsdGlwbGUgY2hhbm5lbHMgb24gc2FtZSB0cmFuc3BvbmRlciB3aXRob3V0CgkgIGtub3dpbmcgcGlkIG51bWJlcnMuCgoyMDA3LTEwLTE2IDE2OjUxOjIzICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEFkZCByZXF1ZXN0IHBhZCBmb3IgZ2V0dGluZyB0aGUgZnVsbCB0cmFuc3BvcnQgc3RyZWFtIGNvbWluZyBpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIEFkZCByZXF1ZXN0IHBhZCBmb3IgZ2V0dGluZyB0aGUgZnVsbCB0cmFuc3BvcnQgc3RyZWFtIGNvbWluZyBpbi4KCjIwMDctMTAtMTQgMTc6MjI6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHRoZSBoaWdoZXN0IGFsbG93ZWQgbmVvbiB2ZXJzaW9uIGZyb20gMC4yNi45OSB0byAwLjI3Ljk5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB0aGUgaGlnaGVzdCBhbGxvd2VkIG5lb24gdmVyc2lvbiBmcm9tIDAuMjYuOTkgdG8gMC4yNy45OS4KCSAgTm8gY29kZSBjaGFuZ2VzIGFyZSByZXF1aXJlZCB0byB3b3JrIHdpdGggdGhlIG5ld2VzdCBuZW9uIHZlcnNpb24uCgoyMDA3LTEwLTEwIDExOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUgQ1ZTLiAgVGhpcyBpcyBpbXBsaWNpdCBpbiB0aGUgLWJhc2UgQ1ZTIHJlcXVpcmVtZW50IGFscmVhZHksIHNvIHdlIG1pZ2h0IGp1c3Qgd2VsbCBzcGVsbCBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlIENWUy4gIFRoaXMgaXMgaW1wbGljaXQgaW4gdGhlIC1iYXNlIENWUwoJICByZXF1aXJlbWVudCBhbHJlYWR5LCBzbyB3ZSBtaWdodCBqdXN0IHdlbGwgc3BlbGwgaXQKCSAgb3V0LiAgQWxzbywgd2UgZG8gbmVlZCBhdCBsZWFzdCAwLjEwLjE0IGZvcgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4gIE1ha2UgY2hlY2sKCSAgZm9yIGdteXRoIGEgYml0IG1vcmUgcmVzdHJpY3RpdmUgc28gdGhpbmdzIGRvbid0IGJyZWFrCgkgIGlmIHRoZSBuZXh0IHZlcnNpb24gY2hhbmdlcyBBUEkuCgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIFdvcmsgYXJvdW5kIGFsc2EgYWxsb2NhIG1hY3JvcyB0cmlnZ2VyaW5nICdhbHdheXMgZXZhbHVhdGVzIHRvCgkgIHRydWUnIHdhcm5pbmdzIHdpdGggZ2NjLTQuMiBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMi4KCSAgQWxzbyBkb24ndCBsZWFrIHRoZSBkZXZpY2Ugc3RyaW5nLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBnKys0LjIgYW5kIC1XYWxsIC1XZXJyb3IgKGFsc28gbmVlZHMgcGx1Z2luCgkgIGRlZmluZSBmaXggZnJvbSBjb3JlIENWUykuIEZpeGVzICM0NjI3MzcuCgoyMDA3LTEwLTA5IDEwOjAxOjM5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoKMjAwNy0xMC0wOCAxNzo0Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6IChyZmJfYnVmZmVyX25ld19hbmRfYWxsb2MpOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfc29ja2V0X2dldF9idWZmZXIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKToKCSAgKiBnc3QvbnNmL25lczY1MDIuYzogKG5lczY1MDJfZXhlY3V0ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCjIwMDctMTAtMDggMTA6Mzk6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgV2hlbiBjbGVhcmluZyBwYXlsb2FkIG1hcHMsIGFsc28gY2xlYXIgc2Vzc2lvbnMgYW5kIHN0cmVhbXMgcGF5bG9hZAoJICBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChmaW5kX3BhZF9mb3JfcHQpOgoJICBJbXBsZW1lbnQgY2xlYXJpbmcgdGhlIHBheWxvYWQgbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgRm9yd2FyZCBmbHVzaCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KToKCSAgQ29ycmVjdGx5IHJlZmNvdW50IGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGVtLgoKMjAwNy0xMC0wOCAwNjowNzoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uYzogVXNlIEdJTyBmdW5jdGlvbiB0byBnZXQgYSBsaXN0IG9mIHN1cHBvcnRlZCBVUkkgc2NoZW1lcyBpbnN0ZWFkIG9mIGhhcmQgY29kaW5nIHNvbWV0aGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fZ2V0X3N1cHBvcnRlZF9wcm90b2NvbHMpOgoJICBVc2UgR0lPIGZ1bmN0aW9uIHRvIGdldCBhIGxpc3Qgb2Ygc3VwcG9ydGVkIFVSSSBzY2hlbWVzIGluc3RlYWQgb2YKCSAgaGFyZCBjb2Rpbmcgc29tZXRoaW5nLgoKMjAwNy0xMC0wNSAxNzoyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QgcmVwb3J0IHRpbWUgaW5zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLAoJICBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdAoJICByZXBvcnQgdGltZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGNsb2NrIHRpbWUgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAKCSAgcmVjb25zaWRlcmluZyBmb3JldmVyLgoKMjAwNy0xMC0wNSAxMjowNzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MgdXMgdG8gZ3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cwoJICB1cyB0byBncmVhdGx5IHNpbXBsaWZ5IHRoaW5ncyB3aGVuIHRoZSB0YWlsIGVsZW1lbnQgY2hhbmdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCk6CgkgIEZvcndhcmQgRkxVU0ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIHRhaWwtY2hhbmdlZCBjYWxsYmFjayBpbiBmYXZvdXIgb2YgYSBzaW1wbGUgYm9vbGVhbiB3aGVuIHdlCgkgIGluc2VydCBhIGJ1ZmZlciBpbiB0aGUgcXVldWUuCgkgIEFkZCBtZXRob2QgdG8gcGVlayB0aGUgdGFpbCBvZiB0aGUgYnVmZmVyLgoKMjAwNy0xMC0wNSAwODo1MTo0NCArMDAwMCAgR2F1dGllciBQb3J0ZXQgPGthc3NvdWxldEBnbWFpbC5jb20+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IFRoZSBzaXplIG9mIHRoZSBYaW5nIGhlYWRlciBpcyBhY3R1YWxseSA0MTcgYXMgaXQncyByb3VuZGVkIHRvIHRoZSBuZXh0IHNtYWxsZXIgaW50ZWdlci4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHYXV0aWVyIFBvcnRldCA8a2Fzc291bGV0IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICBUaGUgc2l6ZSBvZiB0aGUgWGluZyBoZWFkZXIgaXMgYWN0dWFsbHkgNDE3IGFzIGl0J3Mgcm91bmRlZCB0byB0aGUKCSAgbmV4dCBzbWFsbGVyIGludGVnZXIuIEZpeGVzICMzOTc3NTkuCgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoeGluZ19nZW5lcmF0ZV9oZWFkZXIpLAoJICAoeGluZ19wdXNoX2hlYWRlcik6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBGSVhNRXMgYW5kIFRPRE9zIGFuZCBjaGVjayBpZiB0aGUgbmV3c2VnbWVudAoJICBldmVudCB0byB0aGUgYmVnaW5uaW5nIHdhcyBzdWNjZXNzZnVsIGJlZm9yZSBwdXNoaW5nIHRoZSBoZWFkZXIgYWdhaW4uCgoyMDA3LTEwLTA1IDA4OjA1OjE0ICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRG9uJ3Qgc2tpcCBQQVQgd2l0aCB2ZXJzaW9uIG51bWJlciAwLiBGaXhlcyAjNDgzNDAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdhaS1NaW5nIEhvIDx3ZWJyZWdib3ggYXQgeWFob28gZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfc3RyZWFtX25ldyk6CgkgIERvbid0IHNraXAgUEFUIHdpdGggdmVyc2lvbiBudW1iZXIgMC4gRml4ZXMgIzQ4MzQwMC4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKG1wZWd0c19wYXJzZV9hcHBseV9wYXQpOgoJICBNYWtlIGFsbCB2YWx1ZXMgYWJvdmUgMCBtYXJrIGEgcmVmZXJlbmNlZCBwcm9ncmFtIGFzIHRoZXkgY2FuIGJlCgkgIGluY3JlbWVudGVkIGFuZCBvbmx5IDEgaGFkIG1hcmtlZCBhIHJlZmVyZW5jZWQgcHJvZ3JhbSBiZWZvcmUsIGNhdXNpbmcKCSAgYWN0dWFsbHkgcmVmZXJlbmNlZCBwcm9ncmFtcyB0byBiZSB1bnJlZmVyZW5jZWQuCgoyMDA3LTEwLTAyIDEwOjI5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5oOiBDaGFuZ2Ugc2lnbmF0dXJlIG9mIHB0IHRvIGZpeCBjb21waWxhdGlvbiBvbiBzb21lIHBsYXRmb3Jtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBDaGFuZ2Ugc2lnbmF0dXJlIG9mIHB0IHRvIGZpeCBjb21waWxhdGlvbiBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDctMTAtMDIgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoYXBwbHlfb2Zmc2V0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIERvbid0IGFkZCB0aGUgbGF0ZW5jeSB0byB0aGUgc2tldyBjb3JyZWN0ZWQgdGltZXN0YW1wLCBsYXRlbmN5IGlzIG9ubHkKCSAgdXNlZCB0byBzeW5jIGFnYWluc3QgdGhlIGNsb2NrLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHNlcnZlciB0aW1lc3RhbXAgZ29lcyBiYWNrd2FyZHMgb3Igd2lsZGx5IGp1bXBzIGJ5CgkgIHRlbXBvcmFyaWx5IHBhdXNpbmcgdGhlIHNrZXcgY29ycmVjdGlvbi4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA3LTEwLTAyIDEwOjEyOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9NYWtlZmlsZS5hbTogRm9yZ290IHRvIGNvbW1pdCBtYWtlZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgRm9yZ290IHRvIGNvbW1pdCBtYWtlZmlsZS4KCjIwMDctMTAtMDIgMDc6NDM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvc2luay5jOiBVcGRhdGUgdG8gQVBJIGNoYW5nZXMgaW4gR0lPLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19zdGFydCk6CgkgIFVwZGF0ZSB0byBBUEkgY2hhbmdlcyBpbiBHSU8uCgoyMDA3LTEwLTAxIDE0OjAxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBVc2UgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X21lZGlhX3RvX2NhcHMpOgoJICBVc2UgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoKMjAwNy0xMC0wMSAxMTo0MzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIFNEUCBkZW11eGVyIGVsZW1lbnQuIEZpeGVzICM0MjY2NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChfZG9faW5pdCksIChnc3Rfc2RwX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RwX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3NkcF9kZW11eF9pbml0KSwKCSAgKGdzdF9zZHBfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3NkcF9kZW11eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NkcF9kZW11eF9nZXRfcHJvcGVydHkpLCAoZmluZF9zdHJlYW1fYnlfaWQpLAoJICAoZmluZF9zdHJlYW1fYnlfcHQpLCAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGZpbmRfc3RyZWFtKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2ZyZWUpLCAoZ3N0X3NkcF9kZW11eF9jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9zZHBfZGVtdXhfY2xlYW51cCksIChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksCgkgIChnc3Rfc2RwX2RlbXV4X3BhcnNlX3J0cG1hcCksIChnc3Rfc2RwX2RlbXV4X21lZGlhX3RvX2NhcHMpLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwgKGdzdF9zZHBfZGVtdXhfZG9fc3RyZWFtX2VvcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl90aW1lb3V0KSwgKGdzdF9zZHBfZGVtdXhfY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3NkcF9kZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3NkcF9kZW11eF9oYW5kbGVfbWVzc2FnZSksIChnc3Rfc2RwX2RlbXV4X3N0YXJ0KSwKCSAgKGdzdF9zZHBfZGVtdXhfc2lua19ldmVudCksIChnc3Rfc2RwX2RlbXV4X3NpbmtfY2hhaW4pLAoJICAoZ3N0X3NkcF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgU0RQIGRlbXV4ZXIgZWxlbWVudC4gRml4ZXMgIzQyNjY1Ny4KCjIwMDctMTAtMDEgMDk6MjE6MTkgKzAwMDAgIG11dGV4IGF0IHJ1bmJveCBkb3QgY29tIDxtdXRleEBydW5ib3guY29tPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIHVzZWxlc3Mgc3JjIHBhZCB0aGF0IG9ubHkgcmVzdWx0cyBpbiBub3QgbGlua2VkIGVycm9ycywgZml4IGEgYnJva2VuIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogbXV0ZXggYXQgcnVuYm94IGRvdCBjb20KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfYWRhcHRhdGlvbl9maWVsZF9jb250cm9sKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKG1wZWd0c19wYXJzZV9iYXNlX2luaXQpLAoJICAobXBlZ3RzX3BhcnNlX2luaXQpLCAobXBlZ3RzX3BhcnNlX3B1c2gpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBSZW1vdmUgdXNlbGVzcyBzcmMgcGFkIHRoYXQgb25seSByZXN1bHRzIGluIG5vdCBsaW5rZWQgZXJyb3JzLAoJICBmaXggYSBicm9rZW4gcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgbWFrZSBNQVhfQ09OVElOVUlUWSBjb25zdGFudAoJICBjb25mb3JtIHRvIHRoZSBzdGFuZGFyZCB0byBzdG9wIG91dHB1dHRpbmcgY29ycnVwdGVkIGRhdGEuCgkgIEZpeGVzICM0ODEyNzYsICM0ODEyNzkuCgoyMDA3LTA5LTI5IDE5OjM2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogUmUtYXBwbHkgZG9jcyBwYXRjaCBmcm9tICM0NjgwMzk7IGZpeCB0YWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIFJlLWFwcGx5IGRvY3MgcGF0Y2ggZnJvbSAjNDY4MDM5OyBmaXggdGFiLgoJICAqIGdzdC9tcGVndHNwYXJzZS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbWFyc2hhbGxlciBmaWxlcyBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZS4KCjIwMDctMDktMjkgMDc6MDE6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vOiBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGFsbG93IHNldHRpbmcgdGhlIGxvY2F0aW9uIG9ubHkgd2hlbiB0aGUgZWxlbWVudCBpcyBub3QgcGxheWluZyBvciBwYXVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc2lua19yZW5kZXIpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfc2V0X3Byb3BlcnR5KToKCSAgU29tZSBtaW5vciBjbGVhbnVwIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvbmx5IHdoZW4gdGhlCgkgIGVsZW1lbnQgaXMgbm90IHBsYXlpbmcgb3IgcGF1c2VkLgoKMjAwNy0wOS0yOSAwNToyNjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgZ2lvJ3MgcGtnLWNvbmZpZyBmaWxlIG5hbWUgYXMgY3VycmVudGx5IGluIFNWTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgZ2lvJ3MgcGtnLWNvbmZpZyBmaWxlIG5hbWUgYXMgY3VycmVudGx5IGluIFNWTi4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pOgoJICBSZW1vdmUgc3BlY2lhbCBjYXNpbmcgZm9yIGEgTlVMTCBxdWVyeSBzdHJpbmcuIGdfc3Ryam9pbiB3b24ndCBhZGQKCSAgdGhlIHNlcGFyYXRvciBpZiB0aGVyZSdzIG9ubHkgb25lIHN0cmluZy4KCjIwMDctMDktMjggMTQ6NTE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX2NsaWVudCk6CgkgIEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEhhbmRsZSBjYXNlcyB3aGVyZSBpbnB1dCBidWZmZXJzIGhhdmUgbm8gdGltZXN0YW1wcyBzbyB0aGF0IG5vIGNsb2NrCgkgIHNrZXcgY2FuIGJlIGNhbGN1bGF0ZWQsIGluIHRoaXMgY2FzZSBpbnRlcnBvbGxhdGUgdGltZXN0YW1wcyBiYXNlZCBvbgoJICBydHAgdGltZXN0YW1wIGFuZCBhc3N1bWUgYSAwIGNsb2NrIHNrZXcuCgoyMDA3LTA5LTI4IDExOjE3OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGFwcGx5X2xhdGVuY3kpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIFVzZSBuZXcgLWNvcmUgbWV0aG9kIGZvciBkb2luZyBhIHBlZXIgcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1vdmUgaml0dGVyIGNvcnJlY3Rpb24gdG8gdGhlIGxvd2xldmVsIGppdHRlcmJ1ZmZlci4KCSAgSW5jcmVhc2UgdGhlIG1heCB3aW5kb3cgc2l6ZS4KCSAgV2hlbiBmaWxsaW5nIHRoZSB3aW5kb3csIGFscmVhZHkgc3RhcnQgZXN0aW1hdGluZyB0aGUgc2tldyB1c2luZyBhCgkgIHBhcmFib2xpYyB3ZWlnaHRpbmcgZmFjdG9yIHNvIHRoYXQgd2UgaGF2ZSBhIG11Y2ggYmV0dGVyIHN0YXJ0dXAKCSAgYmVoYXZpb3VyIHRoYXQgZ2V0cyBtb3JlIGFjY3VyYXRlIHdpdGggdGhlIG1vcmUgc2FtcGxlcyB3ZSBoYXZlLgoJICBJbmNyZWFzZSB0aGUgZGVmYXVsdCB3ZWlnaHRpbmcgZmFjdG9yIGZvciB0aGUgc3RlYWR5IHN0YXRlIHRvIGdldAoJICBzbW9vdGhlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0yOCAxMTowNzozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTm93IHRoYXQgd2UgcmVxdWlyZSBsaWJuZW9uID49IDAuMjYgcmVtb3ZlIHRoZSBuZW9uIDAuMjUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBzdHVmZi4gQWxzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm94eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBOb3cgdGhhdCB3ZSByZXF1aXJlIGxpYm5lb24gPj0gMC4yNiByZW1vdmUgdGhlIG5lb24gMC4yNSBiYWNrd2FyZAoJICBjb21wYXRpYmlsaXR5IHN0dWZmLiBBbHNvIGZpeCB0aGUgZGVmYXVsdCBsb2NhdGlvbi4KCjIwMDctMDktMjggMTA6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFdlIHJlcXVpcmUgbGlibmVvbiA+PSAyNiBub3cgZm9yIHRoZSBxdWVyeSBmaWVsZCBpbiBuZV91cmkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgcmVxdWlyZSBsaWJuZW9uID49IDI2IG5vdyBmb3IgdGhlIHF1ZXJ5IGZpZWxkIGluIG5lX3VyaS4KCjIwMDctMDktMjggMDk6Mjk6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBEb24ndCBkaXNjYXJkIEdFVCBwYXJhbWV0ZXJzIGZyb20gVVJMIGlmIGV4aXN0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIERvbid0IGRpc2NhcmQgR0VUIHBhcmFtZXRlcnMgZnJvbSBVUkwgaWYgZXhpc3RpbmcuCgkgIEZpeGVzICM0ODEyMDAuCgoyMDA3LTA5LTI3IDE0OjUyOjU4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuKjogQWRkZWQgYSBwcm9wZXJ0eSBmb3IgaW5jcmVtZW50YWwgc2NyZWVuIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICBBZGRlZCBhIHByb3BlcnR5IGZvciBpbmNyZW1lbnRhbCBzY3JlZW4gdXBkYXRlcwoKMjAwNy0wOS0yNyAxMzowMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuKjogUmVtb3ZlIHN1cGVyZmx1b3VzICdmcmFtZS1lbmNvZGVkJyBzaWduYWwgKHBlb3BsZSBjYW4gdXNlIGFuIHVwc3RyZWFtIGlkZW50aXR5J3MgJ2hhbmRvZmYnIHNpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgJ2ZyYW1lLWVuY29kZWQnIHNpZ25hbCAocGVvcGxlIGNhbgoJICB1c2UgYW4gdXBzdHJlYW0gaWRlbnRpdHkncyAnaGFuZG9mZicgc2lnbmFsIG9yIGEgcGFkCgkgIHByb2JlIGZvciB0aGlzIGlmIHRoZXkgbXVzdCBrbm93KS4KCjIwMDctMDktMjcgMTA6MDY6MjMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZSB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZQoJICB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgoyMDA3LTA5LTI2IDIwOjA4OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgIEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRHluYW1pY2FsbHkgYWRqdXN0IHRoZSBza2V3IGNhbGN1bGF0aW9uIHdpbmRvdyBzbyB0aGF0IHdlIGNhbGN1bGF0ZSBpdAoJICBvdmVyIGEgcGVyaW9kIG9mIGFyb3VuZCAyIHNlY29uZHMuCgoyMDA3LTA5LTI2IDE2OjQ0OjQyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogZml4IGJ1ZyBmcm9tIGdlbmVyaWMvc3RhdGVzLmdkYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBmaXggYnVnIGZyb20gZ2VuZXJpYy9zdGF0ZXMuZ2RiCgoyMDA3LTA5LTI2IDE2OjMwOjUwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZyBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZwoJICBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aG91dAoJICB0ZXN0aW5nKQoKMjAwNy0wOS0yNiAxMToxNzowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZSBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZQoJICBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgRml4IHJhdyBhdWRpbyBjYXBzIGdlbmVyYXRpb24uCgoyMDA3LTA5LTI0IDEwOjUzOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMjIgMTg6MzE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vTElOR1VBUzogQWRkZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICBBZGRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA5LTIyIDE4OjI5OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3BsLnBvOiBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPgoJICAqIHBvL3BsLnBvOgoJICBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjI5OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2ZpLnBvOiBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSWxra2EgVHVvaGVsYSA8aGlsZUBpa2kuZmk+CgkgICogcG8vZmkucG86CgkgIEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjI4OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2VzLnBvOiBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSm9yZ2UgR29uesOhbGV6IEdvbnrDoWxleiA8YWxvcmllbEBnbWFpbC5jb20+CgkgICogcG8vZXMucG86CgkgIEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjI3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2JnLnBvOiBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAY29udGFjdC5iZz4KCSAgKiBwby9iZy5wbzoKCSAgQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMSAxODowMDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeTogVXBkYXRlIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgVXBkYXRlIGhpZXJhcmNoeS4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBNYXJrIHByaXZhdGUgZmllbGRzIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3RzIHByaXZhdGUuCgoyMDA3LTA5LTIxIDE3OjMxOjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdGhlIEdJTyBwbHVnaW4gdG8gdGhlIGRvY3MgYW5kIGRvIGEgbWFrZSB1cGRhdGUgd2hpbGUgZG9pbmcgdGhhdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgdGhlIEdJTyBwbHVnaW4gdG8gdGhlIGRvY3MgYW5kIGRvIGEgbWFrZSB1cGRhdGUKCSAgd2hpbGUgZG9pbmcgdGhhdC4KCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfc3RhcnQpOgoJICBGaXggYSBzbWFsbCBtZW1sZWFrLgoKMjAwNy0wOS0yMSAxNzowNzo1NiArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBhIEdJTy9HVkZTIHBsdWdpbiB3aXRoIHNvdXJjZSBhbmQgc2luayBlbGVtZW50cy4gVGhpcyB3aWxsIG9ubHkgYmUgZW5hYmxlZCB3aGVuIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyBnaXZlbiB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb19lcnJvciksIChnc3RfZ2lvX3NlZWspLAoJICAoZ3N0X2dpb19nZXRfc3VwcG9ydGVkX3Byb3RvY29scyksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF90eXBlX3NpbmspLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdHlwZV9zcmMpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfcHJvdG9jb2xzKSwgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX3NldF91cmkpLCAoZ3N0X2dpb191cmlfaGFuZGxlcl9pbml0KSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZG9faW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2dpb19zaW5rX3N0b3ApLCAoZ3N0X2dpb19zaW5rX3VubG9jayksCgkgIChnc3RfZ2lvX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fc2lua19yZW5kZXIpLCAoZ3N0X2dpb19zaW5rX3F1ZXJ5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fc3JjX3N0b3ApLCAoZ3N0X2dpb19zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X2dpb19zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X2dpb19zcmNfdW5sb2NrKSwKCSAgKGdzdF9naW9fc3JjX3VubG9ja19zdG9wKSwgKGdzdF9naW9fc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfZ2lvX3NyY19jcmVhdGUpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIEFkZCBhIEdJTy9HVkZTIHBsdWdpbiB3aXRoIHNvdXJjZSBhbmQgc2luayBlbGVtZW50cy4gVGhpcyB3aWxsCgkgIG9ubHkgYmUgZW5hYmxlZCB3aGVuIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyBnaXZlbiB0byBjb25maWd1cmUKCSAgZm9yIG5vdyBhcyB0aGUgR0lPIEFQSSBpcyBub3Qgc3RhYmxlIHlldC4gRml4ZXMgIzQ3NjkxNi4KCjIwMDctMDktMjEgMTU6NDk6MjQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggdmFyaW91cyBuZXcgcGx1Zy1pbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCB2YXJpb3VzIG5ldyBwbHVnLWlucwoKMjAwNy0wOS0yMSAxNDo1NToxOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGRlZCBvZmZzZXQteCwgb2Zmc2V0LXksIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydHkgZm9yIHNlbGVjdGluZyBhIHJlZ2lvbiBmcm9tIHRoZSBzY3JlZW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgb2Zmc2V0LXgsIG9mZnNldC15LCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnR5CgkgIGZvciBzZWxlY3RpbmcgYSByZWdpb24gZnJvbSB0aGUgc2NyZWVuCgoyMDA3LTA5LTIxIDEwOjI3OjAyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogTWluaW11bSByYXcgZW5jb2RpbmcgaXMgd29ya2luZyBub3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgTWluaW11bSByYXcgZW5jb2RpbmcgaXMgd29ya2luZyBub3cKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgZml4IGFkZHJlc3Mgd2hpbGUgcmVhZGluZyBmcm9tIHN0cmVhbQoKMjAwNy0wOS0yMCAyMDo0MDowNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IHJhdyBlbmNvZGluZyBpcyB3b3JraW5nLCBidXQgaXQgbG9va3MgbGlrZSB0aGUgZmZtcGVnY29sb3JzcGFjZSBwbHVnaW4gY2FuJ3QgaGFuZGxlIGhpZ2ggcmVzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByYXcgZW5jb2RpbmcgaXMgd29ya2luZywgYnV0IGl0IGxvb2tzIGxpa2UgdGhlCgkgIGZmbXBlZ2NvbG9yc3BhY2UgcGx1Z2luIGNhbid0IGhhbmRsZSBoaWdoIHJlc29sdXRpb25zCgoyMDA3LTA5LTIwIDE4OjMwOjM1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogYnBwLCBkZXB0aCBhbmQgZW5kaWFubmVzcyBhcmUgbm93IHNldCBmcm9tIHRoZSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGJwcCwgZGVwdGggYW5kIGVuZGlhbm5lc3MgYXJlIG5vdyBzZXQgZnJvbSB0aGUKCSAgc3RyZWFtLgoKMjAwNy0wOS0yMCAxNzozODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogRml4IGNvbXBpbGF0aW9uIGFmdGVyIGNoYW5naW5nIHRoZSBuYW1lIG9mIGEgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IChtYWluKToKCSAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIGNoYW5naW5nIHRoZSBuYW1lIG9mIGEgbWV0aG9kLgoKMjAwNy0wOS0yMCAxNTowNjoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1lbW9yeSBsZWFrcy4gTW9yZSB0byBjb21lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgRml4IG1lbW9yeSBsZWFrcy4gTW9yZSB0byBjb21lLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEltcHJvdmVkIHN0YXRlIGNoYW5nZSB1bml0IHRlc3QuCgoyMDA3LTA5LTIwIDE0OjM0OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX2FjdGl2ZSksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX2FjdGl2ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19hY3RpdmUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCjIwMDctMDktMjAgMTM6NTk6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogQWRkIHByb3BlcnRpZXMsIHNpZ25hbHMgYW5kIGFjdGlvbnMgdG8gYWNjZXNzIHRoZSBlbGVtZW50IGV2ZW4gd2l0aG91dCBsaW5raW5nIHRvIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX21hcnNoYWxfT0JKRUNUX19WT0lEKSwKCSAgKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwgKGdzdF9hcHBfc2lua19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19kaXNwb3NlKSwgKGdzdF9hcHBfc2lua19maW5hbGl6ZSksCgkgIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwgKGdzdF9hcHBfc2lua19zdGFydCksCgkgIChnc3RfYXBwX3NpbmtfZXZlbnQpLCAoZ3N0X2FwcF9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9jYXBzKSwgKGdzdF9hcHBfc2lua19nZXRfY2FwcyksCgkgIChnc3RfYXBwX3NpbmtfaXNfZW9zKSwgKGdzdF9hcHBfc2lua19wdWxsX3ByZXJvbGwpLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgQWRkIHByb3BlcnRpZXMsIHNpZ25hbHMgYW5kIGFjdGlvbnMgdG8gYWNjZXNzIHRoZSBlbGVtZW50IGV2ZW4gd2l0aG91dAoJICBsaW5raW5nIHRvIHRoZSBsaWJyYXJ5LgoJICBGaXggc29tZSBtZXRob2QgbmFtZXMgYW5kIHNpZ25hdHVyZXMuCgoyMDA3LTA5LTE5IDIxOjE4OjI3ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3Qgc2V0IGNoYW5uZWwgcG9zaXRpb25zIG9uIHJlZ3VsYXIgbW9ubyBhbmQgc3RlcmVvIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF9zcmNnZXRjYXBzKSwgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgRG9uJ3Qgc2V0IGNoYW5uZWwgcG9zaXRpb25zIG9uIHJlZ3VsYXIgbW9ubyBhbmQgc3RlcmVvIGNhc2VzLgoJICBGaXhlcyAjNDc2MzcwLgoKMjAwNy0wOS0xOSAyMDo1NTo0MyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBJdCBpcyBub3cgcG9zc2libGUgdG8gY29ubmVjdCB0byBhIHZuY3NlcnZlci4gdGhlcmUgYXJlIHN0aWxsIHNvbWUgaXNzdWVzIHdpdGggdGhlIG91cHV0IG9mIHRoZSBzY3JlZW4uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBJdCBpcyBub3cgcG9zc2libGUgdG8gY29ubmVjdCB0byBhIHZuY3NlcnZlci4KCSAgdGhlcmUgYXJlIHN0aWxsIHNvbWUgaXNzdWVzIHdpdGggdGhlIG91cHV0IG9mCgkgIHRoZSBzY3JlZW4uIExvb2tzIGxpa2Ugc29tZSBsaW5lcyBhcmUgY29uZnVzZWQKCjIwMDctMDktMTkgMTg6MjI6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgoyMDA3LTA5LTE5IDEzOjUwOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLio6IERvbid0IGdlbmVyYXRlIGFuIGVycm9yIGZvciBvY2Nhc2lvbmFsIGRlY29kaW5nIGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAob3Blbl9saWJyYXJ5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIERvbid0IGdlbmVyYXRlIGFuIGVycm9yIGZvciBvY2Nhc2lvbmFsIGRlY29kaW5nIGVycm9ycy4KCSAgQWRkIG1heC1lcnJvcnMgcHJvcGVydHkuCgkgIEVycm9yIG91dCB3aGVuIHdlIHJlY2VpdmUgbWF4LWVycm9ycyBpbiBhIHJvdy4gRml4ZXMgIzQ3ODE1OS4KCjIwMDctMDktMTkgMTM6MDY6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBBZGQgcGFzc3dvcmQgcHJvcGVydHkgKHdyaXRlIG9ubHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEFkZCBwYXNzd29yZCBwcm9wZXJ0eSAod3JpdGUgb25seSkKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgUmVhZCB0aGUgcmVhc29uIG9uIGZhaWx1cmUKCSAgVXNlIHRoZSBwYXNzd29yZCBwcm9wZXJ0eSBmb3IgYXV0aGVudGljYXRpb24KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIGRlZmluZXMgZm9yIHZlcnNpb24gY2hlY2tpbmcKCjIwMDctMDktMTkgMTI6NTA6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkgY2hhaW4gdXAgdG8gdGhlIHBhcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KToKCSAgV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkKCSAgY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyB0byBmcmVlIGV2ZXJ5dGhpbmcsIGluY2x1ZGluZyBjYXBzLgoKMjAwNy0wOS0xOSAxMjo1MDowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseSBjaGFpbiB1cCB0byB0aGUgcGFyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpOgoJICBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseQoJICBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzIHRvIGZyZWUgZXZlcnl0aGluZywgaW5jbHVkaW5nIGNhcHMuCgoyMDA3LTA5LTE5IDA4OjM1OjEzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IFZOQyBBdXRoZW50aWNhdGlvbiBzaG91bGQgYmUgd29ya2luZyBub3cgdGVtcGVyYWx5IHdpdGggZmFrZSBwYXNzd29yZCAndGVzdHRlc3QnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgVk5DIEF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSB3b3JraW5nIG5vdwoJICB0ZW1wZXJhbHkgd2l0aCBmYWtlIHBhc3N3b3JkICd0ZXN0dGVzdCcKCjIwMDctMDktMTggMTY6MzI6MTkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogQWRkZWQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHNlY3VyaXR5IGhhbmRsaW5nIHN0YXJ0IGltcGxlbWVudGluZyBzZWN1cml0eSBoYW5kbGluZyBmb3IgcmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCBzZWN1cml0eSBoYW5kbGluZwoJICBzdGFydCBpbXBsZW1lbnRpbmcgc2VjdXJpdHkgaGFuZGxpbmcgZm9yIHJmYiAzLjMKCjIwMDctMDktMTggMTM6NTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoKMjAwNy0wOS0xOCAxMTo0NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcwoJICBhbmQgc3RhcnQvc3RvcC4gUmVwb3J0IG1lc3NhZ2UgdGltZXN0YW1wIGFzIHN0cmVhbSB0aW1lLCB3aGljaCBpcyB3aGF0CgkgIGFuIGFwcGxpY2F0aW9uIGNhbiB1bmRlcnN0YW5kLiAoWWVzIHRoZXNlIGFyZSBhZGFwdGVkIGZyb20gd2ltIHJlY2VudAoJICBsZXZlbCBlbGVtZW50IGNoYW5nZXMpCgoyMDA3LTA5LTE3IDIxOjEyOjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBhIG5ldyBwcm9wZXJ0eSBmb3IgdGhlIHJmYiB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIG5ldyBwcm9wZXJ0eSBmb3IgdGhlIHJmYiB2ZXJzaW9uCgoyMDA3LTA5LTE3IDAyOjAxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZQoJICBzc3JjIGRlbXV4ZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEZpeCByYWNlIGluIGNyZWF0aW5nIHRoZSBSVFAgYW5kIFJUQ1AgcGFkcyB3aGVuIGEgbmV3IFNTUkMgaXMgZGV0ZWN0ZWQuCgoyMDA3LTA5LTE2IDE5OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGNvbnZlcnRfcnRwdGltZV90b19nc3R0aW1lKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVjb25zdHJ1Y3QgR1NUIHRpbWVzdGFtcCBmcm9tIFJUUCB0aW1lc3RhbXBzIGJhc2VkIG9uIG1lYXN1cmVkIGNsb2NrCgkgIHNrZXcgYW5kIHN5bmMgb2Zmc2V0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfdGFpbF9jaGFuZ2VkKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF9jbG9ja19yYXRlKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wZWVrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWVhc3VyZSBjbG9jayBza2V3LgoJICBBZGQgY2FsbGJhY2sgdG8gYmUgbm90ZmllZCB3aGVuIGEgbmV3IHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIHRhaWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGNsb2NrIHNrZXcgZGV0ZWN0aW9uLCBpdCdzIG1vdmUgdG8gdGhlIGppdHRlcmJ1ZmZlciBub3cuCgoyMDA3LTA5LTE2IDA3OjI4OjE4ICswMDAwICBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXNAdGkuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZW5jLio6IEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGJhbmRtb2RlLiBGaXhlcyAjNDc3MzA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBDaGFybGVzIDxkY2hhcmxlcyBhdCB0aSBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2JhbmRtb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hbXJ3YmVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2FtcndiZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JlbmNfY2hhaW4pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBiYW5kbW9kZS4gRml4ZXMgIzQ3NzMwNi4KCjIwMDctMDktMTUgMTg6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgdG8gcHJvdGVjdCBvdXIgdmFyaWFibGVzLgoJICBGaXggc29tZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEltcGxlbWVudCBnZXRjYXBzIG9uIHRoZSBzZW5kZXIgc2lua3BhZCBzbyB0aGF0IHBheWxvYWRlcnMgY2FuIG5lZ290aWF0ZQoJICB0aGUgcmlnaHQgU1NSQy4KCjIwMDctMDktMTIgMjE6MjM6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFZhcmlvdXMgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChmcmVlX3Nlc3Npb24pLAoJICAoZ2V0X2NsaWVudCksIChmcmVlX2NsaWVudCksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZnJlZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBWYXJpb3VzIGxlYWsgZml4ZXMuCgoyMDA3LTA5LTEyIDE4OjA0OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNhbGNfbnRwX25zX2Jhc2UpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgIENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBOVFAgdGltZXMgaW4gU1IgcGFja2V0cy4KCSAgU2V0IGNhcHMgb24gbmV3IGdob3N0cGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBDbGVhbiBkZWJ1ZyBzdGF0ZW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbnRlcm5hbF9saW5rcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBudHAtbnMtYmFzZSBwcm9wZXJ0eSB0byBjb252ZXJ0IHJ1bm5pbmdfdGltZSB0byBOVFAgdGltZS4KCSAgSGFuZGxlIE5FV1NFR01FTlQgZXZlbnRzIG9uIHNlbmQgYW5kIHJlY3YgUlRQIHBhZHMgc28gdGhhdCB3ZSBjYW4KCSAgY2FsY3VsYXRlIHRoZSBydW5uaW5nIHRpbWUgYW5kIHRodXMgTlRQIHRpbWUgb2YgdGhlIHBhY2tldHMuCgkgIFNpbXBsaWZ5IGdldHRpbmcgdGhlIGN1cnJlbnQgTlRQIHRpbWUgdXNpbmcgdGhlIHBpcGVsaW5lIGNsb2NrLgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zLgoJICBVc2UgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZSBpbnN0ZWFkIG9mIHRoZSBjbG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9uLgoJICBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiBkaWZmZXJlbnQgc3RyZWFtcywgdGhpcyBtaWdodCBiZSB1c2VkIGxhdGVyCgkgIHRvIGdldCB0aGUgaW50ZXIgc3RyZWFtIGxhdGVuY3kuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTaW1wbGUgY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgTWFrZSB0aGUgY2xvY2sgc2tldyB3aW5kb3cgYSBsaXR0bGUgYmlnZ2VyLgoJICBBcHBseSB0aGUgY2xvY2sgc2tldyB0byBhbGwgYnVmZmVycywgbm90IGp1c3Qgb25lIHdpdGggYSBuZXcgdGltZXN0YW1wLgoJICBDYWxjdWxhdGUgYW5kIGRlYnVnIHNlbmRlciBjbG9jayBkcmlmdC4KCSAgVXNlIGV4dGVuZGVkIGxhc3QgdGltZXN0YW1wIHRvIGludGVycG9sbGF0ZSBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDktMTIgMDg6Mzg6MjIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA5LTA5IDE5OjA1OjE5ICswMDAwICBUaG9tYXMgR3JlZW4gPHRvbTc4OTk5QGdtYWlsLmNvbT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IFdpdGggbGlibmVvbiAyLjYsIHdlIG5lZWQgdG8gc2V0IHRoZSBORV9TRVNTRkxBR19JQ1lQUk9UTyBmbGFnIGlmIHdlIHdhbnQgSUNZIHN0cmVhbXMgdG8gYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRob21hcyBHcmVlbiAgPHRvbTc4OTk5IGdtYWlsIGNvbT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBXaXRoIGxpYm5lb24gMi42LCB3ZSBuZWVkIHRvIHNldCB0aGUgTkVfU0VTU0ZMQUdfSUNZUFJPVE8KCSAgZmxhZyBpZiB3ZSB3YW50IElDWSBzdHJlYW1zIHRvIGJlIGhhbmRsZWQgdG9vLCBvdGhlcndpc2UKCSAgbGlibmVvbiB3aWxsIGVycm9yIG91dCB3aXRoIGEgJ2Nhbid0IHBhcnNlIHJlcG9uc2UnIGVycm9yLgoJICBGaXhlcyAjNDc0Njk2LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIFVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlIGJ5IFlvdXJzIFRydWx5LgoKMjAwNy0wOS0wOSAxODoyMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBmb3IgdGhlIGZhYWQgYW5kIHRoZSB4dmlkIGNvbmZpZ3VyZSBjaGVja3MsIHNvIHRoZXkgc3RpbGwgd29yay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gZm9yIHRoZSBmYWFkIGFuZCB0aGUKCSAgeHZpZCBjb25maWd1cmUgY2hlY2tzLCBzbyB0aGV5IHN0aWxsIHdvcmsgd2hlbiBjcm9zcy1jb21waWxpbmcuCgkgIEZpeGVzICM0NTIwMDkuCgoyMDA3LTA5LTA3IDE1OjU0OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIFRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIgZm9yIG5vdGljaW5nLgoKMjAwNy0wOS0wNiAyMDozNzo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgoyMDA3LTA5LTA2IDA3OjI2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiBSZW1vdmUgZml4ZWQgcG9pbnQgRkZUIGFzIGl0J3Mgbm90IHVzZWQgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzoKCSAgUmVtb3ZlIGZpeGVkIHBvaW50IEZGVCBhcyBpdCdzIG5vdCB1c2VkIGFueW1vcmUuCgoyMDA3LTA5LTA2IDA3OjIxOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0IGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXR1cCksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQKCSAgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZSBjb250ZW50cywKCSAgYXZlcmFnZSBhbGwgRkZUcyBkb25lIGluIG9uZSBpbnRlcnZhbCBmb3IgYmV0dGVyIHJlc3VsdHMsIHVzZQoJICBhIGJldHRlciB3aW5kb3dpbmcgZnVuY3Rpb24sIGFsbG93IHBvc3RpbmcgdGhlIHBoYXNlIGluIHRoZSBtZXNzYWdlCgkgIGFuZCBhY3R1YWxseSBkbyBhbiBGRlQgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiYW5kcyBpbnN0ZWFkCgkgIG9mIGludGVycG9sYXRpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWN0cnVtX3N1aXRlKToKCSAgSW1wcm92ZSB0aGUgdW5pdHMgdGVzdHMgYnkgY2hlY2tpbmcgZm9yIGEgMTEwMjVIeiBzaW5lIHdhdmUKCSAgYW5kIGFkZCB1bml0IHRlc3RzIGZvciBhbGwgNCBzdXBwb3J0ZWQgc2FtcGxlIHR5cGVzLgoKMjAwNy0wOS0wNSAyMTowOTowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3Qgc2V0IExPTkcgZm9yIHdpZHRoL2hlaWdodCBpbiBjYXBzLgoJICBTZXQgY29ycmVjdCBvdXRwdXQgYnVmZmVyIHNpemUgd2hlbiBjYXBzIGNoYW5nZWQuCgkgIFRoZSBjdXN0b20gbWVzc2FnZSBzZW50IHRvIHRoZSBkZWNvZGVyIHNob3VsZCBub3QgaW5jbHVkZSB0aGUgZm9ybWF0IGFuZAoJICBzdWJmb3JtYXQuIEZpeGVzICM0NzE1NTQuCgoyMDA3LTA5LTA0IDE1OjIzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yICgjNDczNTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yCgkgICgjNDczNTYyKS4KCjIwMDctMDktMDQgMDI6MjI6MjAgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgTm9zZWZhcnQgLT4gTkVTIFNvdW5kIEZvcm1hdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm9zZWZhcnQgLT4gTkVTIFNvdW5kIEZvcm1hdAoKMjAwNy0wOS0wNCAwMjoxNjo1MyArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJICBnc3QvbnNmL2dzdG5zZi4qOiBBZGQgc3VwcG9ydCBmb3IgKHZlcnkpIGJhc2ljIHRhZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTAzICBKb2hhbiBEYWhsaW4gIDxqb2hhbkBnbm9tZS5vcmc+CgkgICogZ3N0L25zZi9nc3Ruc2YuYzogKGdzdF9uc2ZkZWNfZmluYWxpemUpLCAoc3RhcnRfcGxheV90dW5lKToKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgKHZlcnkpIGJhc2ljIHRhZ2dpbmcuCgoyMDA3LTA5LTAzIDIxOjE5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChjYXBzX2NoYW5nZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgSGFuZGxlIHN5bmNfcnRjcCBidWZmZXJzIGZyb20gdGhlIFNTUkMgZGVtdXhlciB0byBwZXJmb3JtIGxpcC1zeW5jLgoJICBTZXQgdGhlIGRlZmF1bHQgbGF0ZW5jeSBjb3JyZWN0bHkuCgkgIEFkZCBzb21lIG1vcmUgcG9pbnRzIHdoZXJlIHdlIGNhbiBnZXQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHRzLW9mZnNldCBwcm9wZXJ0eSB0byBjb250cm9sIHRpbWVzdGFtcGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRmVlZCBydHBzZXNzaW9uIG1hbmFnZXIgd2l0aCBOVFAgdGltZSBiYXNlZCBvbiBwaXBlbGluZSBjbG9jayB3aGVuCgkgIGhhbmRsaW5nIFJUUCBwYWNrZXRzIGFuZCBSVENQIHRpbWVvdXRzLgoJICBQZXJmb3JtIGFsbCBSVENQIHdpdGggdGhlIHN5c3RlbSBjbG9jay4KCSAgU2V0IGNhcHMgb24gUlRDUCBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWxzbyBkZW11eCBSVENQIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHNlc3Npb25fc3RhcnRfcnRjcCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVtb3ZlIHRoZSBnZXRfdGltZSBjYWxsYmFjaywgdGhlIEdTdHJlYW1lciBwYXJ0IHdpbGwgZmVlZCB1cyB3aXRoCgkgIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIFNwbGl0IHN5bmMgdGltaW5nIGFuZCBSVENQIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgRmFjdG9yIG91dCBjb21tb24gUkIgaGFuZGxpbmcgZm9yIFNSIGFuZCBSUi4KCSAgU2VuZCBvdXQgU1IgUlRDUCBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgTW92ZSBTUiBhbmQgUlIgcGFja2V0IGluZm8gZ2VuZXJhdGlvbiB0byB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBjYXBzIG9uIGluY29tbWluZyBidWZmZXJzIHRvIGdldCB0aW1pbmcgaW5mb3JtYXRpb24gd2hlbiB0aGV5IGFyZQoJICB0aGVyZS4KCSAgQ2FsY3VsYXRlIGNsb2NrIHNjZXcgb2YgdGhlIHJlY2VpdmVyIGNvbXBhcmVkIHRvIHRoZSBzZW5kZXIgYW5kIGFkanVzdAoJICB0aGUgcnRwIHRpbWVzdGFtcHMuCgkgIENhbGN1bGF0ZSB0aGUgcm91bmQgdHJpcCBpbiBzb3VyY2VzLgoJICBEbyBTUiBhbmQgUlIgY2FsY3VsYXRpb25zIGluIHRoZSBzb3VyY2UuCgoyMDA3LTA5LTAzIDIwOjA3OjE3ICswMDAwICBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJICBnbXl0aHNyYyBjb2RlIHJld3JpdGU7CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnbXl0aHNyYyBjb2RlIHJld3JpdGU7CgoyMDA3LTA4LTMxIDE1OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0IHdlIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0CgkgIHdlIGNhbiBoYW5kbGUgdGhlIHJ0cCB3cmFwYXJvdW5kIGNvcnJlY3RseS4KCjIwMDctMDgtMjkgMTY6NTY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW1wcm92ZSBDb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEltcHJvdmUgQ29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBBbHNvIHBhcnNlIHRoZSBzaW5rIGNhcHMgZm9yIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiBvbmx5IHJlbHlpbmcgb24gdGhlCgkgIHJlc3VsdCBvZiB0aGUgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBmZXRjaCB0aGUgY2xvY2sgcmF0ZSBmb3IgcGF5bG9hZHMgd2UgYXJlIHNlbmRpbmcgb3V0IHNvCgkgIHRoYXQgd2UgY2FuIHVzZSBpdCBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDgtMjkgMTY6MjA6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IElmIGFsbCBpbmZvcm1hdGlvbiBpcyBrbm93biBhdCB0aW1lIG9mIHNldHRpbmcgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOgoJICBJZiBhbGwgaW5mb3JtYXRpb24gaXMga25vd24gYXQgdGltZSBvZiBzZXR0aW5nIHN0YXJ0LXRpbWUKCSAgcHJvcGVydHksIHNlbmQgbmV3IHNlZ21lbnRzIHRoZW4uCgoyMDA3LTA4LTI5IDAxOjIyOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi4qOiBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdCBjYW4gZ2VuZXJhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdAoJICBjYW4gZ2VuZXJhdGUgY29ycmVjdCBTUiBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfYmFzZV90aW1lKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF90aW1lc3RhbXBfc3luYyksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZHMgZm9yIHNldHRpbmcgc3luYyBwYXJhbWV0ZXJzLgoJICBTZXQgY29ycmVjdCBSVFAgdGltZSBpbiBTUiBwYWNrZXRzIHVzaW5nIHRoZSBzeW5jIHBhcmFtcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZWNvcmQgbGFzdCBSVFAgPC0+IEdTVCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gdG8gY29udmVydCBOVFAKCSAgdG8gUlRQIHRpbWVzdGFtcHMgaW4gU1IgcGFja2V0cy4KCjIwMDctMDgtMjggMjA6MzA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBGSVhNRS4KCSAgUmVsZWFzZSBMT0NLIHdoZW4gcGVyZm9ybWluZyBzZXNzaW9uIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgQWRkIHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgUlRQIHBhY2tldHMgd2l0aCB0aGUgc2Vzc2lvbiBTU1JDLgoKMjAwNy0wOC0yOCAwODoxMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IERvbid0IG5lZWQgdGhpcyBpbmNsdWRlIChmaXhlcyBjb21waWxhdGlvbiBpbiB1bmluc3RhbGxlZCBzZXR1cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIERvbid0IG5lZWQgdGhpcyBpbmNsdWRlIChmaXhlcyBjb21waWxhdGlvbiBpbiB1bmluc3RhbGxlZCBzZXR1cCkuCgoyMDA3LTA4LTI3IDIxOjE3OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBEb24ndCB0cnkgdG8gYWRkIG91ciBsYXRlbmN5IHRvIGludmFsaWQgcGVlciBtYXggbGF0ZW5jeSB2YWx1ZXMuCgoyMDA3LTA4LTI3IDE0OjU2OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCjIwMDctMDgtMjcgMTQ6NDE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbTogQ29tbWl0IHRoZSBtYWtlZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgIENvbW1pdCB0aGUgbWFrZWZpbGUgdG9vLgoKMjAwNy0wOC0yNyAxNDozMzo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkdmRzcHUgZWxlbWVudCBkb25hdGVkIGJ5IEZsdWVuZG8uIEl0IGltcGxlbWVudHMgYSBEVkQgU3ViLVBpY3R1cmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kdmRzcHUvLmN2c2lnbm9yZToKCSAgKiBnc3QvZHZkc3B1L05vdGVzLnR4dDoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzogKGR2ZHNwdV9yZWNhbGNfcGFsZXR0ZSksCgkgIChkdmRzcHVfdXBkYXRlX3BhbGV0dGVzKSwgKGR2ZHNwdV9jbGVhcl9jb21wX2J1ZmZlcnMpLAoJICAoZHZkc3B1X2dldF9uaWJibGUpLCAoZHZkc3B1X2dldF9ybGVfY29kZSksIChkdmRzcHVfZHJhd19ybGVfcnVuKSwKCSAgKHJsZV9lbmRfeCksIChkdmRzcHVfcmVuZGVyX2xpbmUpLCAoZHZkc3B1X3VwZGF0ZV9jaGdjb2wpLAoJICAoZHZkc3B1X3JlbmRlcl9saW5lX3dpdGhfY2hnY29sKSwgKGR2ZHNwdV9ibGVuZF9jb21wX2J1ZmZlcnMpLAoJICAoZ3N0ZHZkc3B1X3JlbmRlcl9zcHUpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChkdmRzcHVfYmFzZV9pbml0KSwgKGR2ZHNwdV9jbGFzc19pbml0KSwKCSAgKGR2ZHNwdV9pbml0KSwgKGR2ZHNwdV9jbGVhciksIChkdmRzcHVfZGlzcG9zZSksIChkdmRzcHVfZmluYWxpemUpLAoJICAoZHZkc3B1X2ZsdXNoX3NwdV9pbmZvKSwgKGR2ZHNwdV9idWZmZXJfYWxsb2MpLCAoZHZkc3B1X3NyY19ldmVudCksCgkgIChkdmRzcHVfdmlkZW9fc2V0X2NhcHMpLCAoZHZkc3B1X3ZpZGVvX3Byb3h5X2dldGNhcHMpLAoJICAoZHZkc3B1X3ZpZGVvX2V2ZW50KSwgKGR2ZHNwdV92aWRlb19jaGFpbiksCgkgIChkdnNwdV9oYW5kbGVfdmlkX2J1ZmZlciksIChkdmRzcHVfcmVkcmF3X3N0aWxsKSwKCSAgKGdzdGR2ZHNwdV9wYXJzZV9jaGdfY29sY29uKSwgKGR2ZHNwdV9leGVjX2NtZF9ibGspLAoJICAoZHZkc3B1X2ZpbmlzaF9zcHVfYnVmKSwgKGR2ZHNwdV9zZXR1cF9jbWRfYmxrKSwKCSAgKGR2ZHNwdV9oYW5kbGVfbmV3X3NwdV9idWYpLCAoZHZkc3B1X2hhbmRsZV9kdmRfZXZlbnQpLAoJICAoZHZkc3B1X2R1bXBfZGNzcSksIChkdmRzcHVfYWR2YW5jZV9zcHUpLAoJICAoZHZkc3B1X2NoZWNrX3N0aWxsX3VwZGF0ZXMpLCAoZHZkc3B1X3N1YnBpY19jaGFpbiksCgkgIChkdmRzcHVfc3VicGljX2V2ZW50KSwgKGR2ZHNwdV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0ZHZkc3B1X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHUgZWxlbWVudCBkb25hdGVkIGJ5IEZsdWVuZG8uIEl0IGltcGxlbWVudHMgYSBEVkQgU3ViLVBpY3R1cmUKCSAgVW5pdCwgZGVjb2RpbmcgYW5kIG92ZXJsYXlpbmcgRFZEIHN1YnRpdGxlcyBhbmQgbWVudSBncmFwaGljcy4KCSAgKiBnc3QvbXBlZzJzdWIvLmN2c2lnbm9yZToKCSAgKiBnc3QvbXBlZzJzdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcyc3ViL05vdGVzLnR4dDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9tcGVnMnN1YnQudmNwcm9qOgoJICBEZWxldGUgb2xkIGFuZCBicm9rZW4gbXBlZzJzdWJ0IGVsZW1lbnQgdGhhdCB3YXMgbmV2ZXIgcG9ydGVkIGZyb20gMC44CgoyMDA3LTA4LTI0IDE3OjAzOjE1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCjIwMDctMDgtMjQgMTU6NTY6NTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBNYWtlIHN3aXRjaCBtb3JlIHJlbGlhYmxlIGFuZCBhbHNvIG5vdCBsb2NrIHVwIHdoZW4gc2luayBwYWQgY2FwcyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluKToKCSAgTWFrZSBzd2l0Y2ggbW9yZSByZWxpYWJsZSBhbmQgYWxzbyBub3QgbG9jayB1cCB3aGVuCgkgIHNpbmsgcGFkIGNhcHMgY2hhbmdlLgoKMjAwNy0wOC0yNCAxNTozMToyNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IEltcGxlbWVudAoJICBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgoyMDA3LTA4LTI0IDExOjIzOjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogVXBkYXRlIGxpY2VuY2VzIHRvIHJlZmxlY3QgTEdQTC1uZXNzIG9mIHRoZXNlIGZpbGVzIGFsc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgVXBkYXRlIGxpY2VuY2VzIHRvIHJlZmxlY3QgTEdQTC1uZXNzIG9mIHRoZXNlIGZpbGVzIGFsc28uCgoyMDA3LTA4LTIzIDIxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFCgkgIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRm9vIHR5cGVzIHRoYXQKCSAgZmFyc2lnaHQgcmVnaXN0ZXJzIChsdWNraWx5IEdUeXBlIG5hbWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSkuIFNob3VsZAoJICBmaW5hbGx5IGZpeCAjNDMwNjY0LgoKMjAwNy0wOC0yMyAxNzoyMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIHZpYSBjb25maWd1cmUgKHRoaXMgZW5zdXJlcyB0aGUgd2luMzIgdmVyc2lvbiBvZiBjb25maWcuaCBpcyB1cC10by1kYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQXV0b21hdGljYWxseSBnZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggdmlhIGNvbmZpZ3VyZSAodGhpcwoJICBlbnN1cmVzIHRoZSB3aW4zMiB2ZXJzaW9uIG9mIGNvbmZpZy5oIGlzIHVwLXRvLWRhdGUgd2hlbiBhIHJlbGVhc2UKCSAgaXMgbWFkZSwgIzQzMzM3MykuIGNvbmZpZy5oLmluIGZpbGUgbWlnaHQgbmVlZCBzb21lIG1vcmUgd29yay4KCjIwMDctMDgtMjMgMTM6MjQ6MzMgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgUG9ydCBmZXN0aXZhbCBwbHVnaW4gdG8gR1N0cmVhbWVyLTAuMTAgKCM0NjEzNzcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBQb3J0IGZlc3RpdmFsIHBsdWdpbiB0byBHU3RyZWFtZXItMC4xMCAoIzQ2MTM3NykuCgoyMDA3LTA4LTIyIDE1OjMyOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCB1bnJlZiB0aGUgYnVmZmVyIHdoZW4gaXQgd2FzIGNsaXBwZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgdGhlIGJ1ZmZlciB3aGVuIGl0IHdhcyBjbGlwcGVkLgoKMjAwNy0wOC0yMiAxNDo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaAoJICBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgRmxhc2ggcGxheWVycyBjYW4gc3VwcG9ydCBpdCBhcyB3ZWxsIHRoaXMgd2F5LgoKMjAwNy0wOC0yMiAxNDowMzo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZSBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvIHB1c2ggdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZQoJICBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvCgkgIHB1c2gKCSAgdGFncyBhbmQgZW1pdCBuby1tb3JlLXBhZHMuIEZpeCBzb21lIHByaW50ZiB0eXBpbmcgaW4gZGVidWdnaW5nLgoKMjAwNy0wOC0yMSAxNzoxODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2ggdGhlIGJ1Zi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoCgkgIHRoZSBidWZmZXIgYXMgZmFzdCBhcyBwb3NzaWJsZS4KCSAgRml4IHR5cG8gaW4gY29tbWVudC4KCjIwMDctMDgtMjEgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoKMjAwNy0wOC0yMSAxNTo1OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4KCjIwMDctMDgtMjEgMTI6NTk6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IERvbid0IHVzZSBOVUxMIGNhcHMgZm9yIHNyY3BhZCBpcyBub3QgeWV0IGNvbm5lY3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRG9uJ3QgdXNlIE5VTEwgY2FwcyBmb3Igc3JjcGFkIGlzIG5vdCB5ZXQgY29ubmVjdGVkLgoKMjAwNy0wOC0yMCAxNDoyMzo0NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGFyc2VyIHdyaXR0ZW4gYnk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZW1hcnNoYWwubGlzdDoKCSAgQWRkIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXJzZXIgd3JpdHRlbiBieToKCSAgQWxlc3NhbmRybyBEZWNpbmEuIEluY2x1ZGVzIGEgY291cGxlIG9mIGZpbGVzIGZyb20gdGhlCgkgIEZsdWVuZG8gdHJhbnNwb3J0IHN0cmVhbSBkZW11eGVyIHRoYXQgRmx1ZW5kbyBoYXZlCgkgIGtpbmRseSBhbGxvd2VkIHRvIGJlIGxpY2VuY2VkIHVuZGVyIExHUEwgYWxzby4KCjIwMDctMDgtMjAgMDk6MTM6NDcgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IEFkZCBleGFtcGxlcyBmb3IgbGl2ZSBteXRodHY6Ly8gVVJJcyB0byBkb2NzICgjNDY4MDM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzcyBhdCBoYWRlc3MgbmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIEFkZCBleGFtcGxlcyBmb3IgbGl2ZSBteXRodHY6Ly8gVVJJcyB0byBkb2NzICgjNDY4MDM5KS4KCSAgQWxzbyBjb252ZXJ0IHNvbWUgdGFicyBpbnRvIHNwYWNlcy4KCjIwMDctMDgtMTkgMTk6MTY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjAxOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChicHdzaW5jX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChscHdzaW5jX3N1aXRlKToKCSAgQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgoyMDA3LTA4LTE3IDE1OjA1OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgY2hhbmdlIGZyZXF1ZW5jeQoJICBwcm9wZXJ0aWVzIHRvIGZsb2F0cyB0byBzYXZlIGEgYml0IG9mIG1lbW9yeSwgZXZlbiBpbnRzIHdvdWxkIGluCgkgIHRoZW9yeSBiZSBlbm91Z2guIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBjdXRvZmYgZm9yIGNvbnNpc3RlbmN5CgkgIHJlYXNvbnMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIGFib3ZlIGNoYW5nZXMuCgoyMDA3LTA4LTE3IDA2OjU1OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLgoKMjAwNy0wOC0xNiAxOToyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3N0YXJ0KSwgKGJwd3NpbmNfcXVlcnkpLAoJICAoYnB3c2luY19xdWVyeV90eXBlKSwgKGJwd3NpbmNfZXZlbnQpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgUmVzZXQgcmVzaWR1ZSBsZW5ndGggb25seSB3aGVuIGFjdHVhbGx5IGNyZWF0aW5nIGEgcmVzaWR1ZS4KCjIwMDctMDgtMTYgMTc6MTE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogT3ZlcnJpZGUgdGhlIHByZXJvbGwgdm1ldGhvZCBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHJlbmRlciBtZXRob2QgdHdpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpOgoJICBPdmVycmlkZSB0aGUgcHJlcm9sbCB2bWV0aG9kIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgcmVuZGVyIG1ldGhvZAoJICB0d2ljZS4KCjIwMDctMDgtMTYgMTE6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggRU9TIGhhbmRsaW5nLgoJICBDb252ZXJ0IHNvbWUgREVCVUcgaW50byBXQVJOSU5Hcy4KCSAgUGF1c2UgdGFzayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayk6CgkgIFVzZSBzeXN0ZW0gY2xvY2sgZm9yIFJUQ1Agc2Vzc2lvbiBtYW5hZ2VtZW50IHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpOgoJICBSZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBlbWl0aW5nIHNpZ25hbHMuCgoyMDA3LTA4LTE2IDExOjM0OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KToKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCjIwMDctMDgtMTYgMDk6NDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAobHB3c2luY190cmFuc2Zvcm0pLCAobHB3c2luY19zdGFydCksIChscHdzaW5jX3F1ZXJ5KSwKCSAgKGxwd3NpbmNfcXVlcnlfdHlwZSksIChscHdzaW5jX2V2ZW50KSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgoyMDA3LTA4LTE2IDA3OjA3OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBEb24ndCBsZWFrIGxpa2UgaGVsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgRG9uJ3QgbGVhayBsaWtlIGhlbGwuCgoyMDA3LTA4LTE2IDA2OjQ5OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBnZW5lcmljIHN0YXRlLWNoYW5nZSB0ZXN0IHN1aXRlIHRvIGhlbHAgdG8gZmkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBBZGQgZ2VuZXJpYyBzdGF0ZS1jaGFuZ2UgdGVzdCBzdWl0ZSB0byBoZWxwIHRvIGZpIGxlYWtzLgoKMjAwNy0wOC0xNSAxMzoyODozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCjIwMDctMDgtMTUgMTM6MjY6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS4qOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgIHBhdGNoIGJ5OiA8ZGVsZXRlIGlmIG5vdCBzb21lb25lIGVsc2UncyBwYXRjaD4KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCjIwMDctMDgtMTQgMTc6NDc6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogRG9uJ3QgdXNlIG5ldyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKToKCSAgRG9uJ3QgdXNlIG5ldyBBUEkuCgoyMDA3LTA4LTE0IDE3OjM4OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IE1ha2UgbG92ZSB0byBhcHBzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwgKGdzdF9hcHBfc2lua19zdGFydCksCgkgIChnc3RfYXBwX3Npbmtfc3RvcCksIChnc3RfYXBwX3NpbmtfZXZlbnQpLCAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLAoJICAoZ3N0X2FwcF9zaW5rX3JlbmRlciksIChnc3RfYXBwX3NpbmtfZ2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9jYXBzKSwgKGdzdF9hcHBfc2lua19lbmRfb2Zfc3RyZWFtKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgTWFrZSBsb3ZlIHRvIGFwcHNpbmsuCgkgIE1ha2UgaXQgc3VwcG9ydCBwdWxsaW5nIG9mIHRoZSBwcmVyb2xsIGJ1ZmZlci4KCSAgQWRkIGRvY3MgYW5kIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeCBzb21lIHJhY2VzIHdydCB0byBFT1MgaGFuZGxpbmcgYW5kIHN0b3BwaW5nLgoJICBJbXBsZW1lbnQgZ2V0Y2Fwcy4KCSAgSW1wbGVtZW50IEZMVVNISU5HLgoJICBBUEk6IGdzdF9hcHBfc2lua19wdWxsX3ByZXJvbGwoKQoKMjAwNy0wOC0xNCAxNDo1NjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpOgoJICBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoKMjAwNy0wOC0xNCAxNDoyMjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9hZGFwdGVyX2ZsdXNoKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KTogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwKCSAgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogUGFyc2UKCSAgbW9yZSBtZXRhZGF0YSB0eXBlcyBhbmQga2V5ZnJhbWVzIGluZGV4LgoKMjAwNy0wOC0xMyAxMzo1MDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZSBhbGwgb3RoZXIgZG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtCgkgIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZQoJICBhbGwgb3RoZXIgZG9jcyB2aWEgbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoKMjAwNy0wOC0xMyAwNjoxNjo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEyIDIwOjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgoyMDA3LTA4LTEyIDIwOjUzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoc2V0dXBfYnB3c2luYyksCgkgIChjbGVhbnVwX2Jwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYnB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCjIwMDctMDgtMTIgMjA6MTk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChzZXR1cF9scHdzaW5jKSwKCSAgKGNsZWFudXBfbHB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChscHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoKMjAwNy0wOC0xMiAxNTo0MTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTA4LTEyIDEyOjQ2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZSBvbiBzdHJlYW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc3RhcnQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChscHdzaW5jX3N0YXJ0KToKCSAgUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZQoJICBvbiBzdHJlYW0gY2hhbmdlcy4KCjIwMDctMDgtMTEgMjE6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgoyMDA3LTA4LTExIDE1OjU4OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlciBrZXJuZWwgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlcgoJICBrZXJuZWwgc2l6ZS4KCjIwMDctMDgtMTAgMTc6MTY6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlciBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAocnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfbmV3KSwgKGNvbXBhcmVfc2VxbnVtKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wb3ApLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZmx1c2gpLCAocnRwX2ppdHRlcl9idWZmZXJfbnVtX3BhY2tldHMpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIKCSAgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lIGJ1Z3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLAoJICAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX2J5ZV9zc3JjKSwgKHNlc3Npb25fY2xlYW51cCk6CgkgIFVzZSBuZXcgaml0dGVyYnVmZmVyIGNvZGUuCgkgIEV4cG9zZSBzb21lIG5ldyBzaWduYWxzIGluIHByZXBhcmF0aW9uIGZvciBoYW5kbGluZyBFT1MuCgoyMDA3LTA4LTEwIDA1OjUxOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkCgkgIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgYnVmZmVyLgoKMjAwNy0wOC0xMCAwNTozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93IGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYnB3c2luY193aW5kb3dfZ2V0X3R5cGUpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cKCSAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQW5kIGFub3RoZXIgc21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA1OjIwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX2dldF91bml0X3NpemUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIC0gU3VwcG9ydCBkb3VibGUgaW5wdXQKCSAgLSBGaXggcHJvY2Vzc2luZyBmb3IgaW5wdXQgd2l0aCA+MSBjaGFubmVscwoJICAtIFNwZWNpZnkgZnJlcXVlbmN5IGluIEh6CgkgIC0gU3BlY2lmeSBhY3R1YWwgZmlsdGVyIGtlcm5lbCBsZW5ndGgKCSAgLSBVc2UgdHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwIGFzIHdlJ3JlIHdvcmtpbmcKCSAgb3V0IG9mIHBsYWNlIGFueXdheQoJICAtIEZhY3RvciBvdXQgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIGFuZCB1cGRhdGUgdGhlIGZpbHRlcgoJICBrZXJuZWwgd2hlbiB0aGUgcHJvcGVydGllcyBhcmUgc2V0CgkgIEZpeCBiYW5kcGFzcyBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gdG8gYWN0dWFsbHkgZ2VuZXJhdGUKCSAgYSBiYW5kcGFzcyBmaWx0ZXIgYnkgY3JlYXRpbmcgYSBoaWdocGFzcyBpbnN0ZWFkIG9mIGEgc2Vjb25kCgkgIGxvd3Bhc3MuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgU21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA0OjQ0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkCgkgIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8gdGhlIG5leHQgb2RkIG51bWJlci4KCSAgQWxzbyByZW1vdmUgbm93IG9ic29sZXRlIEZJWE1Fcy4KCjIwMDctMDgtMTAgMDQ6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuCgkgIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdG9wYmFuZCBhdHRlbnVhdGlvbiBidXQgYSBiaXQgc2xvd2VyCgkgIHJvbGxvZmYuCgoyMDA3LTA4LTEwIDA0OjIxOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGEgaGlnaHBhc3MgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGEgaGlnaHBhc3MgbW9kZS4KCjIwMDctMDgtMTAgMDQ6MDY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCjIwMDctMDgtMDkgMTk6MjM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgQWRkIFRPRE9zIGFuZCBGSVhNRXMgYW5kIHJlbW92ZSB0d28gd3JvbmcgRklYTUVzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgRklYTUVzIGFuZCBhIG5ldyBUT0RPLgoKMjAwNy0wOC0wOSAxODowODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lciBpcyBhIEMrKyBrZXl3b3JkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLAoJICAocHJvY2Vzc182NCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldHVwKSwKCSAgKGxwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksIChscHdzaW5jX3RyYW5zZm9ybSksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lcgoJICBpcyBhIEMrKyBrZXl3b3JkLgoJICBJbXBsZW1lbnQgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBpbiBIeiBpbnN0ZWFkIG9mIGZyYWN0aW9uCgkgIG9mIHNhbXBsaW5nIGZyZXF1ZW5jeS4KCSAgUmVtb3ZlIHNvbWUgdW5lY2Vzc2FyeSBGSVhNRXMgYW5kIGFkZCBzb21lIFRPRE9zLCBhZGQgc29tZQoJICByZXF1aXJlZCBsb2NraW5nIGFuZCByZWZhY3RvciB0aGUga2VybmVsIGdlbmVyYXRpb24gaW50byBhCgkgIHNlcGFyYXRlIGZ1bmN0aW9uIHRoYXQgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgcHJvcGVydGllcwoJICBjaGFuZ2Ugbm93LgoJICBBbmQgdXNlIEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcAoJICBhcyB0aGUgY29udm9sdXRpb24gaXMgZG9uZSBvdXQgb2YgcGxhY2UgYW55d2F5LiBTaG91bGQKCSAgYmUgZG9uZSBpbiBwbGFjZSBsYXRlci4KCjIwMDctMDgtMDkgMTc6Mzk6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgdGhlIHN0ZXJlbyBlbGVtZW50IHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19iYXNlX2luaXQpLAoJICAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KSwgKGdzdF9zdGVyZW9faW5pdCksCgkgIChnc3Rfc3RlcmVvX3RyYW5zZm9ybV9pcCksIChnc3Rfc3RlcmVvX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3RlcmVvX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgUG9ydCB0aGUgc3RlcmVvIGVsZW1lbnQgdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA3LTA4LTA5IDExOjAxOjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgUG9ydHVndWVzZSAoQnJhemlsaWFuKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN1Ym1pdHRlZCBieTogUmFwaGFlbCBIaWdpbm8gPHBoaGlnaW5vQGdtYWlsLmNvbT4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3B0X0JSLnBvOgoJICBBZGRlZCBQb3J0dWd1ZXNlIChCcmF6aWxpYW4pIHRyYW5zbGF0aW9uLgoKMjAwNy0wOC0wOSAxMTowMDowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA4LTA4IDIwOjQ3OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeSBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeQoJICBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCjIwMDctMDgtMDggMTU6MTU6NTYgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBBZGQgY29ubmVjdGlvbiBzcGVlZCBwcm9wZXJ0eSB0byBsaWJtbXMuIEZpeGVzICM0NjQ2NzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfaW5pdCksCgkgIChnc3RfbW1zX3N0YXJ0KSwgKGdzdF9tbXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9tbXNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGQgY29ubmVjdGlvbiBzcGVlZCBwcm9wZXJ0eSB0byBsaWJtbXMuIEZpeGVzICM0NjQ2NzguCgoyMDA3LTA4LTA3IDE1OjIxOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLio6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FjdGl2YXRlX3B1c2gpLCAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFycy4KCjIwMDctMDgtMDcgMTA6NTE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChvcGVuX2xpYnJhcnkpOgoJICBSZW1vdmUgZnJhZ21lbnQgYW5kIHRpbWVzdGFtcCBjb3JyZWN0aW9uIGNvZGUgZnJvbSB0aGUgZGVjb2RlciB0byBtYWtlCgkgIHRoZSBjYXBzIGFuZCBidWZmZXIgY29udGVudHMgY29tcGF0aWJsZSB3aXRoIG1hdHJvc2thL2ZmZGVjX3J2eDAvLi4uCgoyMDA3LTA3LTMwIDEyOjQzOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuc2tpcDogQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZQoJICBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYmxlIHN0cmluZ3MuIFNob3VsZCBob3BlZnVsbHkgcGFjaWZ5CgkgIGJyb2tlbiB0b29scyBhbmQgbWFrZSBpdCBjbGVhcmVyIHRoYXQgdGhlc2UgZmlsZXMgYXJlIGxlZnQgb3V0CgkgIGludGVudGlvbmFsbHkgKCM0NjE2MDEgYW5kIG90aGVycykuCgoyMDA3LTA3LTMwIDA5OjUyOjM2ICswMDAwICBJYW4gTXVucm8gPGltdW5yb0BuZXRzcGFjZS5uZXQuYXU+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEluY2x1ZGUgb3VyIG93biAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4gKHdoaWNoIG1heSBub3QgYmUgYXZhaWxhYmxlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBJYW4gTXVucm8gIDxpbXVucm8gYXQgbmV0c3BhY2UgbmV0IGF1PgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgSW5jbHVkZSBvdXIgb3duICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPiAod2hpY2ggbWF5IG5vdAoJICBiZSBhdmFpbGFibGUpLgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBOYXRpdmUgSFAtVVggY29tcGlsZXIgZG9zbid0IHNlZW0gdG8gbGlrZSBlbnVtIHR5cGVkZWZzIGJlZm9yZSB0aGUKCSAgYWN0dWFsIGVudW0gd2FzIGRlZmluZWQuCgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICBGaXggd3JvbmcgdXNhZ2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8gKCM0NjEzNzMpLgoKMjAwNy0wNy0yNiAxNjoxNjowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBVc2UgdGhlIHByb3BlciBjb250ZXh0IHZhcmlhYmxlIHdoZW4gc2V0dGluZyB0aGUgcGFzc3dvcmQgIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgVXNlIHRoZSBwcm9wZXIgY29udGV4dCB2YXJpYWJsZSB3aGVuIHNldHRpbmcgdGhlIHBhc3N3b3JkICEKCSAgTE9HID0+IFdBUk5JTkcgZm9yIGVycm9ycy4KCSAgR2l2ZSBwcm9wZXIgcGF0aCB3aGVuIG9wZW5pbmcgdGhlIGNvZGVjIChuZWVkcyBhICcvJyBhdCB0aGUgZW5kKS4KCjIwMDctMDctMjUgMTg6MTA6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9NYWtlZmlsZS5hbTogQW5kIGRpc3QgdGhlIG5ldyBoZWFkZXIgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICBBbmQgZGlzdCB0aGUgbmV3IGhlYWRlciBmaWxlIHRvby4KCjIwMDctMDctMjUgMTQ6MzY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9nc3RyZWFsLmg6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlLgoKMjAwNy0wNy0yNSAxMzoyOTowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdAoJICByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoKMjAwNy0wNy0yNSAwNTo1NTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lio6IERvbid0IGluaXRpYWxpemUgdGltaWRpdHkgaW4gcGx1Z2luX2luaXQgZm9yIHNpbWlsYXIgcmVhc29uIGFzIGJlbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJICBEb24ndCBpbml0aWFsaXplIHRpbWlkaXR5IGluIHBsdWdpbl9pbml0IGZvciBzaW1pbGFyIHJlYXNvbiBhcyBiZWxvdy4KCjIwMDctMDctMjQgMTU6MTM6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS4qOiBEb24ndCBpbml0aWFsaXplIHdpbGRtaWRpIGluIHBsdWdpbl9pbml0IGFzIGl0IGFsc28gc2V0dXBzIGF1ZGlvIGZpbHRlcnMgd2hpY2ggaXMgc2xvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyksCgkgIChnc3Rfd2lsZG1pZGlfaW5pdCksIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgRG9uJ3QgaW5pdGlhbGl6ZSB3aWxkbWlkaSBpbiBwbHVnaW5faW5pdCBhcyBpdCBhbHNvIHNldHVwcyBhdWRpbwoJICBmaWx0ZXJzIHdoaWNoIGlzIHNsb3cuCgoyMDA3LTA3LTI0IDE0OjM2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvOiBJbXByb3ZlZCBzZWFyY2ggYWxnb3JpdGhtIGZvciBsb2NhdGlvbiBvZiByZWFsIC5zbyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgSW1wcm92ZWQgc2VhcmNoIGFsZ29yaXRobSBmb3IgbG9jYXRpb24gb2YgcmVhbCAuc28gZmlsZXMuCgkgIEZpeGVzICMzOTM0NjEKCjIwMDctMDctMjQgMDU6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZAoJICByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoKMjAwNy0wNy0yMyAwOToxMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCjIwMDctMDctMjAgMTE6Mzc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbQoJICBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld29yayB0aGUgZ2FpbiBtYXBwaW5nLgoKMjAwNy0wNy0yMCAxMTowMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2RpcmFjL01ha2VmaWxlLmFtOiBBbHNvIGluY2x1ZGUgc3RkbGliIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgQWxzbyBpbmNsdWRlIHN0ZGxpYiBoZXJlLgoKMjAwNy0wNy0xOSAxNToyOTo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBGaXggdGhlIGJ1aWxkYm90IHdpdGggdGhlIGN2c2lnbm9yZSBpdCB3YW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IHRoZSBidWlsZGJvdCB3aXRoIHRoZSBjdnNpZ25vcmUgaXQgd2FudHMuCgoyMDA3LTA3LTE5IDE1OjA1OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X3NlZWtfdG9fcHJldl9rZXlmcmFtZSksIChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfQkVVSTI0KSwgKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfZGVtdXhfcXVlcnlfdHlwZXMpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBJdCBkb2VzIG5vdCBkbyBzZWVraW5nIHlldCwgaXQgc3VwcG9ydHMgcHVsbCBhbmQgcHVzaCBtb2RlIHNvCgkgIFlFUwoJICB5b3UgY2FuIHVzZSBpdCB0byBwbGF5IHlvdXR1YmUgdmlkZW9zIGRpcmVjdGx5IGZyb20gYW4gSFRUUCB1cmkuCgkgIE5vdCBzbyBtdWNoIHRlc3RpbmcgZG9uZSB5ZXQgYnV0IGl0IHBhcnNlcyBtZXRhZGF0YSwgcmVwbHkgdG8KCSAgZHVyYXRpb24gcXVlcmllcywgZXRjLi4uCgoyMDA3LTA3LTE5IDA5OjA4OjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYyAoR1NUX1NUQVJUX1RFU1QsIHRpbWlkaXR5X3N1aXRlLCBtYWluKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYyAoR1NUX1NUQVJUX1RFU1QsIHRpbWlkaXR5X3N1aXRlLAoJICBtYWluKToKCSAgQWRkIHR5cGVmaW5kIHRlc3QgZm9yIG1pZGkuCgoyMDA3LTA3LTE4IDIwOjU2OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogSWYgd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50LCBkb24ndCB0cnkgdG8gcHVzaCBidWZmZXJzIG91dCBpbiByZXNwb25zZSAod2l0aG91dCBmaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIElmIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudCwgZG9uJ3QgdHJ5IHRvIHB1c2ggYnVmZmVycyBvdXQKCSAgaW4gcmVzcG9uc2UgKHdpdGhvdXQgZmlyc3Qgc2VuZGluZyBpdCBvbiEpLgoJICBJbnN0ZWFkLCBmbHVzaCBpbnRlcm5hbCBidWZmZXJzIG9uIHJlY2VpdmluZyBmbHVzaCBldmVudHMuCgkgIEZpeGVzIHBsYXliYWNrIGFmdGVyIHNlZWtpbmcuCgoyMDA3LTA3LTE4IDA4OjAwOjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEFkZCBiYXNpYyBkb2NzLiBVc2UgZ2xpYnMgbWVtIHJvdXRpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IChnc3RfYmF5ZXIycmdiX3NldF9jYXBzKSwKCSAgKGdzdF9iYXllcjJyZ2JfcmVzZXQpOgoJICBBZGQgYmFzaWMgZG9jcy4gVXNlIGdsaWJzIG1lbSByb3V0aW5lcy4KCjIwMDctMDctMTggMDc6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoKMjAwNy0wNy0xOCAwNzo0Mjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNy0xNiAwOToxOToxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGNsaXBfb3V0Z29pbmdfYnVmZmVyKToKCSAgRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNy0wNy0xNCAxODo0ODoyNSArMDAwMCAgSGFucyBkZSBHb2VkZSA8ai53LnIuZGVnb2VkZUBoaHMubmw+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBhZGQgc2V2ZXJhbCBtaXNzaW5nIHN1cHBvcnRlZCBtaW1lLXR5cGVzIHRvIHRoZSBtb2RwbHVnIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIYW5zIGRlIEdvZWRlIDxqLncuci5kZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgYWRkIHNldmVyYWwgbWlzc2luZyBzdXBwb3J0ZWQgbWltZS10eXBlcyB0byB0aGUgbW9kcGx1ZyBwbHVnaW4uCgkgIEZpeGVzICM0NTY5MDEuCgoyMDA3LTA3LTEzIDE2OjQ2OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvciBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvcgoJICBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZCB3ZQoJICB3ZXJlbid0IGFjdHVhbGx5IF91c2luZ18gdGhlIGluZm9ybWF0aW9uIGZvciBsaWJjaGVjayBvdXJzZWx2ZXMKCSAgYW55d2F5LgoKMjAwNy0wNy0xMiAxMTo1NToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoKMjAwNy0wNy0xMSAyMzo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAodm1uY19tYWtlX2J1ZmZlcik6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0wOSAwNjowNTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUkVRVUlSRU1FTlRTOiBTeW5jIHdpdGggY2hhbmdlcyBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOgoJICBTeW5jIHdpdGggY2hhbmdlcyBpbiAtdWdseS4KCjIwMDctMDctMDggMTk6MDY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSRVFVSVJFTUVOVFM6IEFkZCBkb3dubG9hZCBsb2NhdGlvbiBvZiBsaWJhbXJ3Yi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOgoJICBBZGQgZG93bmxvYWQgbG9jYXRpb24gb2YgbGliYW1yd2IuCgoyMDA3LTA3LTA2IDIxOjA3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgbWlzc2luZyBpbnNwZWN0IGZpbGVzLiBGaXhlcyBidWlsZCAoIzQ1NDMxMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICBBZGQgbWlzc2luZyBpbnNwZWN0IGZpbGVzLiBGaXhlcyBidWlsZCAoIzQ1NDMxMykuCgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyk6CgkgIFNjcmVhbSBhIGJpdCBsb3VkZXIgd2hlbiBpbml0aWFsaXNhdGlvbiBmYWlscy4KCSAgKiBnc3QtbGlicy9SRUFETUU6CgkgICogZ3N0LWxpYnMvZXh0Ly5jdnNpZ25vcmU6CgkgIFJlbW92ZSBzb21lIGNydWZ0LgoKMjAwNy0wNy0wNSAyMjoyODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOiBEaXN0IGhlYWRlciBmaWxlcy4gRml4ZXMgIzQ1NDA3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgIERpc3QgaGVhZGVyIGZpbGVzLiBGaXhlcyAjNDU0MDc4LgoKMjAwNy0wNy0wNSAwODo0NTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICBGaXggY29tbWVudCBzdGFydC4KCjIwMDctMDctMDQgMTE6NTY6NTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jIChkdmJzcmNfZGV0YWlscywgQVJHX0RWQlNSQ19BREFQVEVSLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jIChkdmJzcmNfZGV0YWlscywgQVJHX0RWQlNSQ19BREFQVEVSLAoJICBBUkdfRFZCU1JDX0ZST05URU5ELCBBUkdfRFZCU1JDX0RJU0VRQ19TUkMsIEFSR19EVkJTUkNfRlJFUVVFTkNZLAoJICBBUkdfRFZCU1JDX1BPTEFSSVRZLCBnc3RfZHZic3JjX2NsYXNzX2luaXQsIGdzdF9kdmJzcmNfaW5pdCwKCSAgZ3N0X2R2YnNyY19zZXRfcHJvcGVydHksIGdzdF9kdmJzcmNfZ2V0X3Byb3BlcnR5LAoJICBnc3RfZHZic3JjX29wZW5fZnJvbnRlbmQsIGdzdF9kdmJzcmNfb3Blbl9kdnIsIHJlYWRfZGV2aWNlLAoJICBnc3RfZHZic3JjX2NyZWF0ZSwgZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcnMpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmggKGFkYXB0ZXJfbnVtYmVyLCBmcm9udGVuZF9udW1iZXIpOgoJICBSZW1vdmVkIHByb3BlcnR5ICJkZXZpY2UiLiBBZGRlZCBwcm9wZXJ0aWVzICJhZGFwdGVyIiBhbmQgImZyb250ZW5kIi4KCSAgRml4ZXMgIzQ1MzYzNi4KCSAgUmVuYW1lIGZyZXEgcHJvcGVydHkgdG8gZnJlcXVlbmN5LgoKMjAwNy0wNy0wMyAxNzowOToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiBGaXggcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgIEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgoyMDA3LTA3LTAzIDA5OjE4OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBbHNvIGRvY3VtZW50IEFNUi1XQiBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICBBbHNvIGRvY3VtZW50IEFNUi1XQiBlbGVtZW50cy4KCjIwMDctMDctMDMgMDg6MTY6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IENsZWFudXAgdGhlIHNlY3Rpb24gZmlsZSBzbyB0aGF0IC11bnVzZWQgaXMgZW1wdHkgYWdhaW4gKGFuZCB1c2VmdWwgdG8gc3BvdCBuZXcgZG9jcykuIEFkZCBub3QgeWV0IGFkZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBDbGVhbnVwIHRoZSBzZWN0aW9uIGZpbGUgc28gdGhhdCAtdW51c2VkIGlzIGVtcHR5IGFnYWluIChhbmQgdXNlZnVsIHRvCgkgIHNwb3QgbmV3IGRvY3MpLiBBZGQgbm90IHlldCBhZGRlZCBkb2NzIHRvIHNnbWwgZmlsZS4gQWRkIG1vcmUgaGVhZGVyCgkgIHRvIE1ha2VmaWxlLmFtIHRvIG1ha2UgdGhlbSBpbnRyb3NwZWN0YWJsZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgVXBkYXRlIHRoZSBkb2MgYmxvYnMuCgoyMDA3LTA3LTAzIDA4OjAxOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlLzogQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgoyMDA3LTA3LTAzIDA3OjUyOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBBY3RpdmF0ZSBkb2Mgc2VjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgQWN0aXZhdGUgZG9jIHNlY3Rpb24uCgoyMDA3LTA3LTAzIDA3OjQxOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvOiBGaXggbGljZW5jZSAoYm90aCBhcmUgR1BMKS4gQWRkIGVsZW1lbnQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIEZpeCBsaWNlbmNlIChib3RoIGFyZSBHUEwpLiBBZGQgZWxlbWVudCBkb2NzLgoKMjAwNy0wNy0wMyAwNzozMDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L211c2ljYnJhaW56L2dzdHRybS5oOiBGaXggX2dldF90eXBlIHNpZ25hdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBGaXggX2dldF90eXBlIHNpZ25hdHVyZS4KCjIwMDctMDctMDMgMDc6MTY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNy0wNi0yOSAxNToyMzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBNYWtlIGEgYnVuY2ggb2YgZnVuY3Rpb25zIHN0YXRpYywgYW5kIG1vdmUgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBzdGFydCBvZiBibG9ja3MgdG8gYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc3JjX2ZpeGF0ZSksCgkgIChnc3RfZGMxMzk0X2NyZWF0ZSksIChnc3RfZGMxMzk0X2NhcHNfc2V0X2Zvcm1hdF92bW9kZV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplX3JhbmdlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZnJhbWVyYXRlX2xpc3QpLCAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfZnJhY190b19jb25zdCksCgkgIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKToKCSAgTWFrZSBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBzdGF0aWMsIGFuZCBtb3ZlIHZhcmlhYmxlIGRlY2xhcmF0aW9ucwoJICB0byB0aGUgc3RhcnQgb2YgYmxvY2tzIHRvIGF2b2lkIHByb2JsZW1zIG9uIG9sZGVyIGdjYy4KCSAgTWFrZSBzdXJlIHRvIHVuc2V0IHZhbHVlIHR5cGVzLgoKMjAwNy0wNi0yOSAxNDo0ODo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBUaGUgY29ycmVjdCBmb3VyY2MgZm9yIHRoZSA0OjE6MSBwYWNrZWQgZm9ybWF0IGlzICdJWVUxJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpOgoJICBUaGUgY29ycmVjdCBmb3VyY2MgZm9yIHRoZSA0OjE6MSBwYWNrZWQgZm9ybWF0IGlzICdJWVUxJy4KCSAgV2l0aCBDVlMgb2YgZmZtcGVnY29sb3JzcGFjZSBmcm9tIHBsdWdpbnMtYmFzZSwgSSBjYW4gbm93CgkgIGdldCAzMCBmcHMgZnJvbSB0aGUgaVNpZ2h0LgoKMjAwNy0wNi0yOSAxNDoxMToyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBDaGFuZ2UgYSBnX3ByaW50IHRvIGEgR1NUX0RFQlVHIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKToKCSAgQ2hhbmdlIGEgZ19wcmludCB0byBhIEdTVF9ERUJVRyBtZXNzYWdlLgoKMjAwNy0wNi0yOSAxMzowOToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE9vcHMsIGFkZCBhbiBhdHRyaWJ1dGlvbiBmb3IgQW50b2luZSBUcmVtYmxheSB0b28gLSB0aGUgb3JpZ2luYWwgcGF0Y2ggYXV0aG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT29wcywgYWRkIGFuIGF0dHJpYnV0aW9uIGZvciBBbnRvaW5lIFRyZW1ibGF5IHRvbyAtIHRoZSBvcmlnaW5hbCBwYXRjaCBhdXRob3IuCgoyMDA3LTA2LTI5IDEzOjAzOjI3ICswMDAwICBFcmljIEpvbmFzIDxqb25hc0BtaXQuZWR1PgoKCSAgQ29tbWl0IG5ldyBkYzEzOTRzcmMgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2Jhc2VfaW5pdCksCgkgIChnc3RfZGMxMzk0X2NsYXNzX2luaXQpLCAoZ3N0X2RjMTM5NF9pbml0KSwKCSAgKGdzdF9kYzEzOTRfc3JjX2ZpeGF0ZSksIChnc3RfZGMxMzk0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGMxMzk0X2dldF9wcm9wZXJ0eSksIChnc3RfZGMxMzk0X2dldGNhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRjYXBzKSwgKGdzdF9kYzEzOTRfZ2V0X3RpbWVzKSwgKGdzdF9kYzEzOTRfY3JlYXRlKSwKCSAgKGdzdF9kYzEzOTRfcGFyc2VfY2FwcyksIChnc3RfZGMxMzk0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2Zvcm1hdF92bW9kZV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpLCAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemUpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemVfcmFuZ2UpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mcmFtZXJhdGVfbGlzdCksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9jb25zdF90b19mcmFjKSwKCSAgKGdzdF9kYzEzOTRfZ2V0X2FsbF9kYzEzOTRfY2FwcyksIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9mcmFjX3RvX2NvbnN0KSwKCSAgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9jaGFuZ2VfY2FtZXJhX3RyYW5zbWlzc2lvbiksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgQ29tbWl0IG5ldyBkYzEzOTRzcmMgZWxlbWVudC4KCSAgUGF0Y2ggQnk6IEVyaWMgSm9uYXMgPCBqb25hcyBhdCBtaXQgZG90IGVkdSA+CgkgIENsb3NlOiAjMzg3MjUxCgoyMDA3LTA2LTI4IDEwOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IFJlZ2lzdGVyIG5ldyBwcm9wZXJ0eSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgIFJlZ2lzdGVyIG5ldyBwcm9wZXJ0eSBhcyB3ZWxsLgoKMjAwNy0wNi0yOCAwOTozNjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC4qOiBBZGQgcHJvcGVydHkgdG8gYWRqdXN0IHRoZSBjZW50ZXIsIHNlbnNpdGl2aXR5IGlzIG5vdyB0aGUgZGlzdGFuY2UgZnJvbSB0aGlzIGNlbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBhZGp1c3QgdGhlIGNlbnRlciwgc2Vuc2l0aXZpdHkgaXMgbm93IHRoZSBkaXN0YW5jZSBmcm9tCgkgIHRoaXMgY2VudGVyLgoKMjAwNy0wNi0yNyAxNTozMzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC86IEFkZCBsZWZ0IGFuZCBib3R0b20gb2Zmc2V0IHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgcG9zaXRpb24gb2YgdGhlIHBhdHRlcm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6IChnc3RfdmlkZW9fbWFya19kcmF3X2JveCksCgkgIChnc3RfdmlkZW9fbWFya180MjApLCAoZ3N0X3ZpZGVvX21hcmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fbWFya19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIEFkZCBsZWZ0IGFuZCBib3R0b20gb2Zmc2V0IHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgcG9zaXRpb24gb2YgdGhlCgkgIHBhdHRlcm4uCgoyMDA3LTA2LTI1IDEyOjQ3OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCjIwMDctMDYtMjUgMTE6MDI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnY29uZi86IFJlbW92ZSBkeXNmdW5jdGlvbmFsIGRpcmVjdG9yeSAodGhpcyBzdHVmZiBpcyBpbiAtZ29vZCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdjb25mLy5jdnNpZ25vcmU6CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkgIFJlbW92ZSBkeXNmdW5jdGlvbmFsIGRpcmVjdG9yeSAodGhpcyBzdHVmZiBpcyBpbiAtZ29vZCkuCgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgaTE4biBiaW5kdGV4dGRvbWFpbiBzdHVmZi4KCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZyBHU1RfRkxPV19FUlJPUjsgbWlub3IgY2xlYW51cHMuCgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBtb3JlIHNvdXJjZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzIChmaXhlcyAjNDUwNjA1KS4KCjIwMDctMDYtMjMgMTE6MjQ6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbnRyaWJ1dGVkIGJ5OiBXZW56aGVuZyBIdSA8ZGJfbG9ic3RlckAxNjMuY29tPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vemhfQ04ucG86CgkgIEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDYtMjIgMTU6MzA6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLAoJICBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWQsIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9idWZmZXJhbGxvYywgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN3aXRjaF9tdXRleCwgR1NUX1NXSVRDSF9MT0NLLAoJICBHU1RfU1dJVENIX1VOTE9DSyk6CgkgIEFkZCBhbiBleHRyYSBsb2NrIHRvIHByb3RlY3QgYWdhaW5zdCBjZXJ0YWluIHZhcmlhYmxlcyBpbnN0ZWFkIG9mCgkgIHVzaW5nIHRoZSBvYmplY3QgbG9jay4gRml4IGNhc2Ugd2hlcmUgY2FwcyBhcmUgZGlmZmVyZW50IGluIHRoZQoJICBzaW5rIHBhZHMgY2F1c2VzIGRlYWRsb2NrLiBVcGRhdGUgZXhhbXBsZSB0byB1c2UgZGlmZmVyZW50IGNhcHMKCSAgb24gZWFjaCBzaW5rIHBhZC4KCjIwMDctMDYtMjIgMTQ6Mjc6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTUFJTlRBSU5FUlM6CgkgIFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCjIwMDctMDYtMjIgMTA6NDY6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKGdzdF9iejJkZWNfaW5pdCk6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogKGdzdF9iejJlbmNfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAoZ3N0X2RpdnhlbmNfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfaW5pdCk6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCk6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9pbml0KToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2luaXQpOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6IChnc3RfZnJlZXplX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6IChnc3Rfc3lzdGVtX2VuY29kZV9pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6IChnc3RfbnNmZGVjX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfaW5pdCk6CgkgIEZpeCBsZWFrcy4KCjIwMDctMDYtMjEgMTg6NDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZS1lbmFibGUgVkNEIHNvdXJjZSBhbmQgZml4IHVwIHJlbGVhc2Ugbm90ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFTEVBU0U6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBSZS1lbmFibGUgVkNEIHNvdXJjZSBhbmQgZml4IHVwIHJlbGVhc2Ugbm90ZXMuCgoyMDA3LTA2LTIwIDEwOjE1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgoyMDA3LTA2LTIwIDA4OjU2OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKHNldHVwX3NwZWN0cnVtKSwKCSAgKGNsZWFudXBfc3BlY3RydW0pLCAoR1NUX1NUQVJUX1RFU1QpLCAoc3BlY3RydW1fc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3Igc3BlY3RydW0gZWxlbWVudC4KCjIwMDctMDYtMjAgMDg6NDI6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi86IEFkZCBuZXdzZWdtZW50IGFuZCBkaXNjb250IGhhbmRsaW5nLiBTb21lIGNvZGUgY2xlYW51cHMuIERvbid0IGxlYWsgdGhlIGFkYXB0ZXIsIHVucmVmIGl0IGluIGEgbmV3IGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9hbXJ3YmRlY19ldmVudCksIChnc3RfYW1yd2JkZWNfY2hhaW4pLAoJICAoZ3N0X2FtcndiZGVjX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9wdWxsX2hlYWRlciksIChnc3RfYW1yd2JwYXJzZV9sb29wKToKCSAgQWRkIG5ld3NlZ21lbnQgYW5kIGRpc2NvbnQgaGFuZGxpbmcuIFNvbWUgY29kZSBjbGVhbnVwcy4gRG9uJ3QgbGVhawoJICB0aGUgYWRhcHRlciwgdW5yZWYgaXQgaW4gYSBuZXcgZmluYWxpemUgbWV0aG9kIGluc3RlYWQuIFN5bmMgdGhlCgkgIHBhcnNlciB3aXRoIHRoZSBhbXItbmIgY2hhbmdlcy4KCjIwMDctMDYtMTkgMTA6NDU6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUy4KCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuNSB0byB0aGUgZG9hcCBmaWxlLgoKPT09IHJlbGVhc2UgMC4xMC41ID09PQoKMjAwNy0wNi0xOSAxMDozMjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlbGVhc2UgMC4xMC41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNQoKMjAwNy0wNi0xOSAwOTozNzo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA3LTA2LTE1IDA5OjI3OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IENvbnZlcnQgbGluZSBlbmRpbmdzIHRvIENSTEYgYW5kIG1hcmsgYXMgYmluYXJ5IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG5lb24uZHNwOgoJICBDb252ZXJ0IGxpbmUgZW5kaW5ncyB0byBDUkxGIGFuZCBtYXJrIGFzIGJpbmFyeSBmaWxlcy4KCjIwMDctMDYtMTMgMTE6NDg6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvTWFrZWZpbGUuYW06IERpc2FibGUgVkNEIGJ1aWxkIGJlY2F1c2Ugd2UncmUgZnJvemVuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIFZDRCBidWlsZCBiZWNhdXNlIHdlJ3JlIGZyb3plbi4uCgoyMDA3LTA2LTEzIDExOjM3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUG9ydCBWQ0QgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpLCAoZ3N0X3ZjZHNyY19jbGFzc19pbml0KSwgKGdzdF92Y2RzcmNfaW5pdCksCgkgIChnc3RfdmNkc3JjX21zZiksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKSwKCSAgKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92Y2RzcmNfY3JlYXRlKSwgKGdzdF92Y2RzcmNfc3RhcnQpLCAoZ3N0X3ZjZHNyY19zdG9wKSwKCSAgKGdzdF92Y2RzcmNfdXJpX3NldF91cmkpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIFBvcnQgVkNEIGVsZW1lbnQuCgoyMDA3LTA2LTEyIDIxOjI4OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIG1lZ3ZpZGVvcGFyc2UsIGxpYmRzaG93IGFuZCBkc2hvd3NyY3dyYXBwZXIgdG8gd2luMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBtZWd2aWRlb3BhcnNlLCBsaWJkc2hvdyBhbmQgZHNob3dzcmN3cmFwcGVyIHRvIHdpbjMyCgkgIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICBSZW1vdmUgcXRkZW11eCwgZGlyZWN0ZHJhdywgZGlyZWN0c291bmQgYW5kIHdhdmVmb3JtIHByb2plY3QgZmlsZXMKCSAgZnJvbSB0aGUgd29ya3NwYWNlIGFzIHRoZXkgaGF2ZSBiZWVuIG1vdmVkIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAyMDoyMjoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby9QT1RGSUxFUy5pbjogUmVtb3ZlIHF0ZGVtdXggZnJvbSB0aGUgdHJhbnNsYXRpb24gbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFJlbW92ZSBxdGRlbXV4IGZyb20gdGhlIHRyYW5zbGF0aW9uIGxpc3QuCgoyMDA3LTA2LTEyIDIwOjE1OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgKiBnc3QvdmlkZW9jcm9wL3ZpZGVvY3JvcC52Y3Byb2o6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyB0byAtZ29vZC4KCjIwMDctMDYtMTIgMTk6MzY6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBxdGRlbXV4IHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LnZjcHJvajoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBNb3ZlIHF0ZGVtdXggdG8gLWdvb2QuCgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gcmVmbGVjdCB3YXZwYWNrICYgcXRkZW11eCBtb3ZpbmcgdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDE4OjUzOjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIG5vdyB0aGF0IGl0IGlzIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBSZW1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBub3cgdGhhdCBpdCBpcyBpbiAtZ29vZC4KCjIwMDctMDYtMDggMjA6MjA6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSB3YXZwYWNrIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgKiBleHQvd2F2cGFjay9tZDUuYzoKCSAgKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICBNb3ZlIHdhdnBhY2sgdG8gZ29vZC4KCjIwMDctMDYtMDggMTc6MzY6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zLCBhcyB0aGV5J3ZlIG1vdmVkIHRvIEdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvZ3N0LnNsbjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM3L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgUmVtb3ZlIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zLCBhcyB0aGV5J3ZlIG1vdmVkIHRvIEdvb2QKCjIwMDctMDYtMDggMTY6NDk6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBXaGVuIGRyaXZpbmcgdGhlIHBpcGVsaW5lLCBhbHNvIHBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBnZXQgYSBub3QtbGlua2VkIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfbG9vcCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfbG9vcCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9sb29wKToKCSAgV2hlbiBkcml2aW5nIHRoZSBwaXBlbGluZSwgYWxzbyBwb3N0IGFuIGVycm9yIHdoZW4gd2UgZ2V0IGEKCSAgbm90LWxpbmtlZCBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0uCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA2LTA4IDA4OjEyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUKCSAgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgZG9uJ3QgaGFuZGxlIHRoZSB3YXkgd2UgdXNlIGl0IGluCgkgIHRoZSB3YXkgd2UgZXhwZWN0IGl0IHRvLgoKMjAwNy0wNi0wNiAxODozMDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UsIGFuZCByZW1vdmUgc3BlY2lhbC1jYXNpbmcgZm9yIGVxdWFsaXplciBhbmQgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLCBhbmQgcmVtb3ZlCgkgIHNwZWNpYWwtY2FzaW5nIGZvciBlcXVhbGl6ZXIgYW5kIHJ0cG1hbmFnZXIgYXMgaXQncyBub3QgbmVlZGVkIGFueQoJICBsb25nZXIuCgoyMDA3LTA2LTA2IDE1OjU4OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogU3ByaW5rbGUgaW4gc29tZSBYU3luYyBjYWxscyB0byBhdm9pZCByYWNpbmVzcyB3aXRoIGJyb2tlbiBkcml2ZXJzIChBVEkpIHdoZW4gcmUtdXNpbmcgYSBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX3N0b3ApLAoJICAoZ3N0X2dsaW1hZ2Vfc2lua19jcmVhdGVfd2luZG93KSwgKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgU3ByaW5rbGUgaW4gc29tZSBYU3luYyBjYWxscyB0byBhdm9pZCByYWNpbmVzcyB3aXRoIGJyb2tlbgoJICBkcml2ZXJzIChBVEkpIHdoZW4gcmUtdXNpbmcgYSBzaW5nbGUgZ2xpbWFnZXNpbmsuCgoyMDA3LTA2LTA2IDExOjAzOjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS86IEZpeCBzb21lIHNpbGx5IGJ1Z3Mgd2l0aCBjYWxjdWxhdGluZyB0aGUgZ3VhcmQgc2l6ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICAobXBlZ191dGlsX3BhcnNlX2V4dGVuc2lvbl9wYWNrZXQpLCAobXBlZ191dGlsX3BhcnNlX3NlcXVlbmNlX2hkciksCgkgIChtcGVnX3V0aWxfcGFyc2VfcGljdHVyZV9oZHIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKToKCSAgRml4IHNvbWUgc2lsbHkgYnVncyB3aXRoIGNhbGN1bGF0aW5nIHRoZSBndWFyZCBzaXplcy4KCSAgUHJvcGVybHkgY29tcGFyZSB0aGUgb2xkIHNlcXVlbmNlIGhlYWRlciBzdHJ1Y3R1cmUgd2l0aCB0aGUgbmV3IG9uZS4KCSAgRG9uJ3QgZXJyb3Igb3V0IG9uIGFuIGludmFsaWQgc2VxdWVuY2UgLSBqdXN0IGlnbm9yZSBpdC4KCjIwMDctMDYtMDYgMDk6MTE6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogUHJpbnRmIGZpeCBpbiBkZWJ1ZyBzdGF0ZW1lbnQ7IGFsc28gcHJpbnQgdGhlIHJpZ2h0IG51bWJlciB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKToKCSAgUHJpbnRmIGZpeCBpbiBkZWJ1ZyBzdGF0ZW1lbnQ7IGFsc28gcHJpbnQgdGhlIHJpZ2h0IG51bWJlciB0aGVyZS4KCjIwMDctMDYtMDYgMDg6MDY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsLzogQWRkIEdTVF9DRkxBR1MsIHdoaWNoIGFwcGFyZW50bHkgc29tZWhvdyBmaXhlcyB0aGUgYnVpbGQgc29tZXdoZXJlICgjNDQ0NDk5KTsgaW5pdGlhbGlzZSB2YXJpYWJsZSB0byBhdm9pZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZfcHJvY2Vzc19ldmVudHMpOgoJICBBZGQgR1NUX0NGTEFHUywgd2hpY2ggYXBwYXJlbnRseSBzb21laG93IGZpeGVzIHRoZSBidWlsZCBzb21ld2hlcmUKCSAgKCM0NDQ0OTkpOyBpbml0aWFsaXNlIHZhcmlhYmxlIHRvIGF2b2lkIGZhbHNlIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA3LTA2LTA1IDE0OjE3OjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHVwIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHVwIHNwZWMgZmlsZQoKMjAwNy0wNi0wMSAxNDozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBwbHVnaW4gdG8gZ2VuZXJhdGUgYSBwYXR0ZXJuIGRldGVjdGFibGUgYnkgdmlkZW9kZXRlY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOiAoZ3N0X3ZpZGVvX21hcmtfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZHJhd19ib3gpLCAoZ3N0X3ZpZGVvX21hcmtfNDIwKSwKCSAgKGdzdF92aWRlb19tYXJrX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fbWFya19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19tYXJrX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fbWFya19jbGFzc19pbml0KSwgKGdzdF92aWRlb19tYXJrX2luaXQpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHBsdWdpbiB0byBnZW5lcmF0ZSBhIHBhdHRlcm4gZGV0ZWN0YWJsZSBieSB2aWRlb2RldGVjdC4KCjIwMDctMDYtMDEgMTE6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBEb24ndCBsZWFrIGJ1ZmZlciB3aGVuIHJldHVybmluZyBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKToKCSAgRG9uJ3QgbGVhayBidWZmZXIgd2hlbiByZXR1cm5pbmcgYW4gZXJyb3IuCgoyMDA3LTA2LTAxIDA5OjU4OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogRGVwcmVjYXRlZCAidXJpIiBwcm9wZXJ0eS4gIENsZWFuIHVwIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPjoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdGFydCksIChnc3RfbmVvbmh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgRGVwcmVjYXRlZCAidXJpIiBwcm9wZXJ0eS4gIENsZWFuIHVwIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgQ2hhbmdlIGRlZmF1bHQgVXNlci1BZ2VudCB0byB0aGUgc2xpZ2h0bHkgbW9yZSBkZXNjcmlwdGl2ZQoJICAiR1N0cmVhbWVyIG5lb25odHRwc3JjIi4KCSAgVmFyaW91cyBvdGhlciBzbWFsbCBjbGVhbnVwcywgbW9zdGx5IHByb3BlcnR5IHJlbGF0ZWQuCgoyMDA3LTA1LTMxIDE5OjEyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuaDogTm8gcmVhc29uIHRvIHVzZSBncG9pbnRlcnMgaW5zdGVhZCBvZiB0eXBlZCBwb2ludGVzIGhlcmUgYXMgZmFyIGFzIEkgY2FuIHNlZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgTm8gcmVhc29uIHRvIHVzZSBncG9pbnRlcnMgaW5zdGVhZCBvZiB0eXBlZCBwb2ludGVzIGhlcmUgYXMgZmFyIGFzIEkKCSAgY2FuIHNlZS4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFnaWMgbWFya2VycyBmb3IgdGhpbmdzIHRoYXQgYXJlbid0IG1lYW50IHRvIGJlCgkgIHBhcnNlZCBieSBndGstZG9jLiBNYWtlcyBndGstZG9jIGNvbXBsYWluIGEgYml0IGxlc3MuCgoyMDA3LTA1LTMwIDE0OjUyOjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgdmlkZW9zaWduYWwgcGx1Z2luIHdpdGggdHdvIHBsdWdpbnMgdG8gYW5hbHlzZSB2aWRlbyBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzogKGdzdF92aWRlb19hbmFseXNlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19hbmFseXNlX3Bvc3RfbWVzc2FnZSksIChnc3RfdmlkZW9fYW5hbHlzZV80MjApLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19hbmFseXNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3Bvc3RfbWVzc2FnZSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NhbGNfYnJpZ2h0bmVzcyksIChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2RldGVjdF9pbml0KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5oOgoJICBBZGRlZCB2aWRlb3NpZ25hbCBwbHVnaW4gd2l0aCB0d28gcGx1Z2lucyB0byBhbmFseXNlIHZpZGVvIGZyYW1lcy4KCSAgQWRkZWQgdmlkZW9hbmFseXNlIHRvIHJlcG9ydCBhYm91dCBicmlnaHRuZXNzIGFuZCB2YXJpYW5jZSBpbiB2aWRlbwoJICBmcmFtZXMuCgkgIEFkZGVkIHZpZGVvZGV0ZWN0IHRvIGRldGVjdCBwcmVkZWZpbmVkIHBhdHRlcm5zIGluIGEgdmlkZW8gc2lnbmFsLgoKMjAwNy0wNS0zMCAwOTozMDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBNb3JlIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIE1vcmUgdXBkYXRlcy4KCjIwMDctMDUtMzAgMDk6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzOyB1cGRhdGUgaW5zcGVjdCBpbmZvIGZvciBydHBtYW5hZ2VyID0+IGdzdHJ0cG1hbmFnZXIgcmVuYW1lLCBob3BlZnVsbHkgdGhhdCBtYWtlcyB0aGUgYnVpbGQgYm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICBVcGRhdGVzOyB1cGRhdGUgaW5zcGVjdCBpbmZvIGZvciBydHBtYW5hZ2VyID0+IGdzdHJ0cG1hbmFnZXIgcmVuYW1lLAoJICBob3BlZnVsbHkgdGhhdCBtYWtlcyB0aGUgYnVpbGQgYm90cyBoYXBweSBhZ2Fpbi4KCjIwMDctMDUtMjggMTY6Mzc6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIG5hbWUuIEZpeGVzICM0MzA2NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUKCSAgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCjIwMDctMDUtMjQgMDg6MzU6MjMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfcHJpbWFyeV9zdXJmYWNlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfb2Zmc2NyZWVuX3N1cmZhY2UpLAoJICAoRW51bU1vZGVzQ2FsbGJhY2syKSwgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCjIwMDctMDUtMjMgMjI6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlciBpbnRlcmZhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIKCSAgaW50ZXJmYWNlIG5vdy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgQWRkIGludGVyZmFjZXMgaW1wbGVtZW50ZWQgYnkgV2luZG93cyBzaW5rcy4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5ICBhbmQgaW1wbGVtZW50IHRoZSBtaXhlciBpbnRlcmZhY2UuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgIEFkZCBhIG5ldyBnc3QgbGlicmFyeSB3aGljaCBhbGxvdyB0byBjcmVhdGUgaW50ZXJuYWwgRGlyZWN0IFNob3cKCSAgZ3JhcGggKHBpcGVsaW5lcykgdG8gd3JhcCBXaW5kb3dzIHNvdXJjZXMsIGRlY29kZXJzIG9yIGVuY29kZXJzLgoJICBJdCBpbmNsdWRlcyBhIERpcmVjdFNob3cgZmFrZSBzb3VyY2UgYW5kIHNpbmsgYW5kIHV0aWxpdHkgZnVuY3Rpb25zLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgQWRkIGEgbmV3IHBsdWdpbiB0byB3cmFwIERpcmVjdFNob3cgc291cmNlcyBvbiBXaW5kb3dzLgoJICBJdCBnZXRzIGRhdGEgZnJvbSBhbnkgd2ViY2FtLCBkdiBjYW0sIG1pY3JvLiBXZSBjb3VsZCBhZGQKCSAgdHYgdHVubmVyIGNhcmQgbGF0ZXIuCgoyMDA3LTA1LTIzIDE4OjAwOjE1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogU2VwYXJhdGUgdGhlIGF1dGhvcnMgYnkgbmV3bGluZXMgaW5zdGVhZCBvZiBub3RoaW5nLiBGaXhlcyAjNDQwNzc0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+OgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIFNlcGFyYXRlIHRoZSBhdXRob3JzIGJ5IG5ld2xpbmVzIGluc3RlYWQgb2Ygbm90aGluZy4gRml4ZXMgIzQ0MDc3NC4KCjIwMDctMDUtMjMgMTY6MTQ6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6IEFkZCBkb2MgeG1sIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgQWRkIGRvYyB4bWwgZmlsZS4KCjIwMDctMDUtMjMgMTM6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb2N1bWVudCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBEb2N1bWVudCBzdHVmZi4KCSAgQWRkIGNsZWFyLXB0LW1hcCBhY3Rpb24gc2lnbmFsIHdoZXJlIG5lZWRlZC4KCjIwMDctMDUtMjIgMTE6MTQ6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsCgkgIGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSwgZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5LAoJICBwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaCAoYXVkaW9maWx0ZXIpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmMgKEFSR19OVU1fQkFORFMsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0LAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYyAoYnB3c2luY19zZXRfY2Fwcyk6CgkgIEFkZCBmaXhtZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoU1BFQ1RSVU1fV0lORE9XX0JBU0UsCgkgIFNQRUNUUlVNX1dJTkRPV19MRU4sIGdzdF9zcGVjdHJ1bV9pbml0LCBnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLiBUdXJuIHR3byBmaXhlZCB2YWx1ZXMgaW50byAjZGVmaW5lcy4KCjIwMDctMDUtMjIgMTE6MDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgZWxlbWVudCBhbmQgcHJvcGVydGllcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTA1LTIxIDEyOjQzOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMDctMDUtMjEgMTE6Mzc6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCjIwMDctMDUtMjEgMTE6MTc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZCBhbGxvdyB0byBzZXQgdGhlIGRpZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZAoJICBhbGxvdyB0byBzZXQgdGhlIGRpZmZlcmVudCBleHRyYSBwcm9jZXNzaW5nIG1vZGVzIGluc3RlYWQgb2Ygb25seQoJICBhbGxvd2luZyBub25lIGFuZCB0aGUgZGVmYXVsdCBvbmUuCgoyMDA3LTA1LTIwIDIxOjMxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzIHRoZSB3YXZwYWNrIHN0dWZmIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcwoJICB0aGUgd2F2cGFjayBzdHVmZiBub3cgbmVlZHMgaW5wdXQgd2l0aCAzMiBiaXQgd2lkdGggKGFuZCByYW5kb20gZGVwdGgpCgkgIHRoaXMgaXMgbmVlZGVkIG5vdy4gVGhlIGV4YW1wbGUgcGlwZWxpbmVzIGZvciB0aGUgcGFyc2VyIGFuZCBkZWNvZGVyCgkgIGFyZSBzdGlsbCBmaW5lLgoKMjAwNy0wNS0yMCAxNToxMjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBGaXggZG9jcyBidWlsZCBhbmQgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgRml4IGRvY3MgYnVpbGQgYW5kIGhpZXJhcmNoeS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjE0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgoyMDA3LTA1LTE5IDEwOjA2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBiaXRzIGZvciBkZWludGVybGVhdmUgY2hlY2sgd2hpY2ggaXNuJ3QgaW4gQ1ZTIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBiaXRzIGZvciBkZWludGVybGVhdmUgY2hlY2sgd2hpY2ggaXNuJ3QgaW4gQ1ZTIHlldC4KCjIwMDctMDUtMTkgMTA6MDE6NDUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzogKGdzdF9yZ19saW1pdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9jbGFzc19pbml0KSwgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19saW1pdGVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2Jhc2VfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX2NsYXNzX2luaXQpLCAoZ3N0X3JnX3ZvbHVtZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ192b2x1bWVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ192b2x1bWVfZGlzcG9zZSksIChnc3Rfcmdfdm9sdW1lX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfcmdfdm9sdW1lX3NpbmtfZXZlbnQpLCAoZ3N0X3JnX3ZvbHVtZV90YWdfZXZlbnQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9yZXNldCksIChnc3Rfcmdfdm9sdW1lX3VwZGF0ZV9nYWluKSwKCSAgKGdzdF9yZ192b2x1bWVfZGV0ZXJtaW5lX2dhaW4pOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChzZXR1cF9yZ2xpbWl0ZXIpLAoJICAoY2xlYW51cF9yZ2xpbWl0ZXIpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoY3JlYXRlX3Rlc3RfYnVmZmVyKSwKCSAgKHZlcmlmeV90ZXN0X2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksIChyZ2xpbWl0ZXJfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKGV2ZW50X2Z1bmMpLCAoc2V0dXBfcmd2b2x1bWUpLAoJICAoY2xlYW51cF9yZ3ZvbHVtZSksIChzZXRfcGxheWluZ19zdGF0ZSksIChzZXRfbnVsbF9zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksICh0ZXN0X2J1ZmZlcl9uZXcpLAoJICAoZmFpbF91bmxlc3NfdGFyZ2V0X2dhaW4pLCAoZmFpbF91bmxlc3NfcmVzdWx0X2dhaW4pLAoJICAoZmFpbF91bmxlc3NfZ2FpbiksIChHU1RfU1RBUlRfVEVTVCksIChyZ3ZvbHVtZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoKMjAwNy0wNS0xOCAxNjo0NTo1NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlCgoyMDA3LTA1LTE4IDEyOjM5OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0IG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydAoJICBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyBmb3JtYXRzLCBub3QganVzdCB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgRml4ZXM6ICM0Mzk0MDUKCjIwMDctMDUtMTggMDk6MzU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYyAoZ3N0X2FtcndiZGVjX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsIF9kb19pbml0LCBnc3RfYW1yd2JkZWNfYmFzZV9pbml0LCBnc3RfYW1yd2JkZWNfY2xhc3NfaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmMgKGdzdF9hbXJ3YmRlY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jIChnc3RfYW1yd2JlbmNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YmVuY19iYXNlX2luaXQsIGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jIChnc3RfYW1yd2JwYXJzZV9kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0LCBnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgRmlyc3Qgcm91bmQgb2YgY2xlYW51cHMsIHRoYXQgdXNlIEdTVF9CT0lMRVJQTEFURSwgR1NUX0VMRU1FTlRfREVUQUlMUywKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIGFkZCBsb2ctY2F0ZWdvcnkuCgoyMDA3LTA1LTE3IDEwOjU5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYIGlzICQjQCgqJSQjICEgRm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1gKCSAgaXMgJCNAKColJCMgISBGb3IgdGhvc2Ugd29uZGVyaW5nLCB0aGUgZXZlbnQgaGFuZGxpbmcgbmVlZHMgdG8gYmUgZG9uZQoJICBpbiB0aGUgbWFpbiB0aHJlYWQgYWZ0ZXIgYWxsLi4KCjIwMDctMDUtMTcgMTA6MDg6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR18wLCBBUkdfTkJfU09VUkNFUywgQVJHX0FDVElWRV9TT1VSQ0UsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR18wLCBBUkdfTkJfU09VUkNFUywgQVJHX0FDVElWRV9TT1VSQ0UsCgkgIEFSR19TVEFSVF9WQUxVRSwgQVJHX1NUT1BfVkFMVUUsIEFSR19MQVNUX1RTLCBBUkdfUVVFVUVfQlVGRkVSUywKCSAgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLCBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwKCSAgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldGNhcHMsIGdzdF9zd2l0Y2hfZGlzcG9zZSwKCSAgdW5yZWZfYnVmZmVyLCB1bnJlZl9idWZmZXJzX2FuZF9kZXN0cm95X2xpc3QsIGdzdF9zd2l0Y2hfaW5pdCwKCSAgZ3N0X3N3aXRjaF9iYXNlX2luaXQsIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAobmVlZF90b19zZW5kX25ld3NlZ21lbnQsIHF1ZXVlX2J1ZmZlcnMsCgkgIHN0b3BfdmFsdWUsIHN0YXJ0X3ZhbHVlLCBjdXJyZW50X3N0YXJ0LCBsYXN0X3RzLCBzdG9yZWRfYnVmZmVycyk6CgkgIEFkZCBoYW5kbGluZyBvZiBhcHBsaWNhdGlvbiBwcm92aWRlZCBzdG9wIGFuZCBzdGFydCB2YWx1ZXMsIGFsbG93aW5nCgkgIEEvViBzeW5jIGFjcm9zcyAyIHN3aXRjaCBlbGVtZW50cy4KCjIwMDctMDUtMTcgMDk6NDE6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkL3Rhc2sgZm9yIHRoZSBjb2NvYSBldmVudF9sb29wLCBlbHNlIGl0IHdvdWxkbid0CgkgIHN0b3AuCgoyMDA3LTA1LTE2IDE3OjE0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBEb24ndCBjcmFzaCB3aGVuIHdlIGdldCBhIGJ1ZmZlciBhbmQgb3VyIGlucHV0IGNhcHMgaGF2ZW4ndCBiZWVuIHNldCB5ZXQ7IGFsc28sIGRvbid0IGxlYWsgYWxsIHRoZSBpbnB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbik6CgkgIERvbid0IGNyYXNoIHdoZW4gd2UgZ2V0IGEgYnVmZmVyIGFuZCBvdXIgaW5wdXQgY2FwcyBoYXZlbid0IGJlZW4gc2V0CgkgIHlldDsgYWxzbywgZG9uJ3QgbGVhayBhbGwgdGhlIGlucHV0IGJ1ZmZlcnMgKHJlYWxhdWRpb2RlYyBvbmx5KS4KCjIwMDctMDUtMTYgMTM6NTA6NTEgKzAwMDAgIFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KCgkgIFVzZSBleHRlcm5hbCBzaGFyZWQgbGliYW1yd2IuIEZpeGVzICM0MjM3NDEgKHdpdGggbG90cyBvZiBjbGVhbnVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9SRUFETUU6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmggKF9fR1NUX0FNUldCREVDX0hfXyk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmggKF9fR1NUX0FNUldCRU5DX0hfXyk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oIChfX0dTVF9BTVJXQlBBUlNFX0hfXyk6CgkgICogZ3N0LWxpYnMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvYW1yd2IvUkVBRE1FOgoJICBVc2UgZXh0ZXJuYWwgc2hhcmVkIGxpYmFtcndiLiBGaXhlcyAjNDIzNzQxICh3aXRoIGxvdHMgb2YgY2xlYW51cCkuCgoyMDA3LTA1LTE1IDIxOjIzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmMgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOiBUaGlzIG5lZWRzIGEgdmVyc2lvbiBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKToKCSAgVGhpcyBuZWVkcyBhIHZlcnNpb24gY2hlY2suCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkLgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNS0xNSAxMzoyOTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoKMjAwNy0wNS0xNSAwMzo0NTo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCjIwMDctMDUtMTUgMDI6NTQ6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGEgQmF5ZXItdG8tUkdCIGNvbnZlcnRlci4gIFlvdSBrbm93IHlvdSB3YW50IG9uZSwgdWgtaHVoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9nc3RiYXllci5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgQWRkIGEgQmF5ZXItdG8tUkdCIGNvbnZlcnRlci4gIFlvdSBrbm93IHlvdSB3YW50IG9uZSwgdWgtaHVoLgoJICBQYXJ0aWFsIGZpeCBmb3IgIzMxNDE2MC4KCjIwMDctMDUtMTQgMTg6MDM6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR19BQ1RJVkVfU09VUkNFLCBBUkdfU1RPUF9WQUxVRSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHX0FDVElWRV9TT1VSQ0UsIEFSR19TVE9QX1ZBTFVFLAoJICBBUkdfTEFTVF9UUywgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0LCBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHByZXZpb3VzX3NpbmtwYWQsIG5iX3NpbmtwYWRzLCBzdG9wX3ZhbHVlLAoJICBjdXJyZW50X3N0YXJ0LCBsYXN0X3RzKToKCSAgQWxsb3cgYXBwbGljYXRpb24gdG8gcHJvdmlkZSBhIHN0b3AgdGltZXN0YW1wLCBzbyBhIG5ldyBzZWdtZW50CgkgIHVwZGF0ZSBjYW4gYmUgc2VudCBiZWZvcmUgc3dpdGNoaW5nLgoKMjAwNy0wNS0xNCAxNToyODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgY2xlYXItcHQtbWFwIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdCBjbG9jay1yYXRlIHRvIC0xIHRvIG1hcmsgdW5rbm93IGNsb2NrIHJhdGUuCgkgIEZpeCBmbHVzaGluZy4KCjIwMDctMDUtMTMgMTk6NTc6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgQnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPi4KCjIwMDctMDUtMTMgMDc6MDg6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTWFrZSByZWRpcmVjdGlvbiB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIEZpeGVzICM0MTM4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIE1ha2UgcmVkaXJlY3Rpb24gdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBGaXhlcyAjNDEzODE4LgoKMjAwNy0wNS0xMSAxMToyMDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMTI6Mzg6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcG9wLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGb3JtYXQgYXJnIGZpeCAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KQoKMjAwNy0wNS0xMCAwNzo0MTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29tbW9uL200L2dzdC14MTEubTQ6IFJlc3RvcmUgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vbTQvZ3N0LXgxMS5tNDoKCSAgUmVzdG9yZSBDRkxBR1MgYW5kIExJQlMuCgkgICogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgcHJldmlvdXMgcGF0Y2guCgoyMDA3LTA1LTEwIDA2OjM1OjMxICswMDAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFNhdmUgYW5kIHJlc3RvcmUgQ0ZMQUdTIGZvciBPcGVuR0wgY2hlY2suIEZpeGVzICM0MzcyNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU2F2ZSBhbmQgcmVzdG9yZSBDRkxBR1MgZm9yIE9wZW5HTCBjaGVjay4gRml4ZXMgIzQzNzI2MC4KCjIwMDctMDUtMDkgMjA6MDE6MjEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBBZGQgZGlyZWN0cmF3IGFuZCBkaXJlY3Rzb3VuZCBzaW5rcyBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgQWRkIGRpcmVjdHJhdyBhbmQgZGlyZWN0c291bmQgc2lua3MgcHJvcGVydGllcy4KCjIwMDctMDUtMDkgMTc6NTg6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGhvcGVmdWxseSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoaG9wZWZ1bGx5KS4KCjIwMDctMDUtMDkgMTE6MjQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCjIwMDctMDUtMDYgMTU6MjU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IFVzZSBHTW9kdWxlIGluc3RlYWQgb2YgdXNpbmcgZGxzeW0oKSBkaXJlY3RseS4gRml4ZXMgIzQzMDU5OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBVc2UgR01vZHVsZSBpbnN0ZWFkIG9mIHVzaW5nIGRsc3ltKCkgZGlyZWN0bHkuIEZpeGVzICM0MzA1OTguCgoyMDA3LTA1LTA0IDIxOjAyOjU4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jcyBmb3IgV2luZG93cyBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCBkb2NzIGZvciBXaW5kb3dzIHNpbmtzLgoKMjAwNy0wNS0wNCAxNzoyMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiBGaXggZXZlbnQgaGFuZGxpbmcgYSBiaXQgYnkgcmVwbGFjaW5nIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlIHdyaXR0ZW4gYnkgc29tZW9uZSBlbHNlIHdpdGggY29tcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX3NyY19ldmVudCksIChzcGVlZF9zaW5rX2V2ZW50KSwKCSAgKHNwZWVkX2NoYWluKSwgKHNwZWVkX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBldmVudCBoYW5kbGluZyBhIGJpdCBieSByZXBsYWNpbmcgY29tcGxldGVseSBkdWJpb3VzIGNvZGUKCSAgd3JpdHRlbiBieSBzb21lb25lIGVsc2Ugd2l0aCBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZSB3cml0dGVuCgkgIGJ5IG1lLiBTaG91bGQgYXQgbGVhc3QgZml4ICM0MTIwNzcgdGhvdWdoLgoKMjAwNy0wNS0wNCAxNjoxMTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiBBZGQgZGVidWcgY2F0ZWdvcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKigpIHV0aWxpdHkgZnVuY3Rpb25zOyB1c2UgZ3N0X3V0aWxfc2NhbGUqKCk7IGFkZCBndC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX3NyY19xdWVyeSksIChzcGVlZF9jaGFpbiksCgkgIChwbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qKCkgdXRpbGl0eSBmdW5jdGlvbnM7CgkgIHVzZSBnc3RfdXRpbF9zY2FsZSooKTsgYWRkIGd0ay1kb2MgYmx1cmIuCgoyMDA3LTA1LTA0IDEyOjMyOjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU3RvcmUgcmVhbCB1c2VyIG5hbWUgaW4gdGhlIHNlc3Npb24uCgoyMDA3LTA1LTAzIDE2OjQ5OjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKGxvb3AsIG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLCBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobG9vcCwgbXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsCgkgIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoR1NUX0NBVF9ERUZBVUxULCBnc3Rfc3dpdGNoX2RldGFpbHMsCgkgIGdzdF9zd2l0Y2hfc3JjX2ZhY3RvcnksIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZCwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2J1ZmZlcmFsbG9jLCBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkcywKCSAgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQsIGdzdF9zd2l0Y2hfYmFzZV9pbml0LAoJICBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKEdzdFN3aXRjaCwgR3N0U3dpdGNoQ2xhc3MsIF9Hc3RTd2l0Y2gsCgkgIGVsZW1lbnQsIGFjdGl2ZV9zaW5rcGFkLCBzcmNwYWQsIG5iX3NpbmtwYWRzLCBuZXdzZWdtZW50X2V2ZW50cywKCSAgbmVlZF90b19zZW5kX25ld3NlZ21lbnQpOgoJICBQb3J0IHN3aXRjaCBlbGVtZW50IGFuZCBleGFtcGxlIHByb2dyYW0gdG8gMC4xMC4KCjIwMDctMDUtMDIgMTg6MzE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEhhbmRsZSBESVNDT05UIGJ1ZmZlcnMgYnkgY29ycmVjdGx5IHNldHRpbmcgdGhlIERJU0NPTlQgZmxhZwoJICBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIFNlbmQgbmV3c2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxNjo1ODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0IHNhbXBsZS4gV2l0aCB0aGUgZml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdAoJICBzYW1wbGUuIFdpdGggdGhlIGZpeGVkIGVycm9yIGhhbmRsaW5nIHRoaXMgd29ya3Mgbm93IGFzIGV4cGVjdGVkCgkgIHdpdGhvdXQgcHVzaGluZyB0aGUgbGFzdCBzYW1wbGUgYWx0aG91Z2ggaXQgd2Fzbid0IHJlcXVlc3RlZC4KCjIwMDctMDUtMDIgMTY6NDU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoIHN0b3AgcG9zaXRpb24gPT0gLS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aAoJICBzdG9wIHBvc2l0aW9uID09IC0xIGFuZCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHRoZSB0YXNrIG9uIHNlZWsganVzdAoJICBwYXVzZSBpdC4KCjIwMDctMDUtMDIgMTY6MTk6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCjIwMDctMDUtMDIgMTU6MTM6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGdldCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0CgkgIHdhcyBlYXN5IHRvIGdldCB0aGUgdGFzayBwYXVzZWQgYnV0IG5vIGVycm9yIGJlaW5nIHBvc3RlZCBvbiB0aGUgYnVzLgoKMjAwNy0wNC0zMCAxNTozOTowOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYwoKMjAwNy0wNC0zMCAxMzo0MTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpOgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFJlbmFtZSBSVENQIHNlbmQgcGFkLCBsaWtlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEFsbG93IGdldHRpbmcgYW4gUlRDUCBwYWQgZm9yIHJlY2VpdmluZyBldmVuIGlmIHdlIGRvbid0IHJlY2VpdmUgUlRQLgoJICBmaXggaGFuZGxpbmcgb2Ygc2VuZF9ydHBfc3JjIHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2hlbiBubyBwdCBtYXAgY291bGQgYmUgZm91bmQsIGZhbGwgYmFjayB0byB0aGUgc2lua3BhZCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IHBhZCBuYW1lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBVbmxvY2sgc2Vzc2lvbiB3aGVuIHBlcmZvcm1pbmcgYSBjYWxsYmFjay4KCSAgQWRkIGNhbGxiYWNrcyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gb2JqZWN0LgoJICBGaXggc2VuZGluZyBvZiBSVFAgcGFja2V0cy4KCSAgZmlyc3QgYXR0ZW1wdCBhdCBhZGRpbmcgTlRQIHRpbWVzIGluIHRoZSBTUiBwYWNrZXRzLgoJICBTbWFsbCBkZWJ1ZyBhbmQgZG9jIGltcHJvdmVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBVcGRhdGUgc3RhdHMgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA0LTI5IDE0OjQ2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBSZW1vdmUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBSZW1vdmUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nCgkgIEZpeCBpbnRlcnZhbCBmb3IgQllFL1JUQ1AgcGFja2V0cy4KCjIwMDctMDQtMjkgMTQ6MDE6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IENvbW1pdCByZXN1bHQgb2YgcnVubmluZyBzY2Fub2JqLXVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgQ29tbWl0IHJlc3VsdCBvZiBydW5uaW5nIHNjYW5vYmotdXBkYXRlCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTA0LTI5IDEzOjUzOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IFJlcXVpcmUgYXV0b21ha2UgMS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIFJlcXVpcmUgYXV0b21ha2UgMS43CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBNYWtlZmlsZS5hbSBhY2NvcmRpbmdseS4KCjIwMDctMDQtMjkgMTM6NDk6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgamFjayBhbmQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgamFjayBhbmQgdXBkYXRlLgoKMjAwNy0wNC0yOCAxMjo0Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgYnVpbGQgZXF1YWxpemVyIHVubGVzcyB3ZSBoYXZlIGNvcmUgZnJvbSBDVlMgKGl0IHdvbid0IHdvcmsgd2l0aCBlYXJsaWVyIHZlcnNpb25zIGR1ZSB0byBHc3RDaGlsZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGJ1aWxkIGVxdWFsaXplciB1bmxlc3Mgd2UgaGF2ZSBjb3JlIGZyb20gQ1ZTIChpdCB3b24ndAoJICB3b3JrIHdpdGggZWFybGllciB2ZXJzaW9ucyBkdWUgdG8gR3N0Q2hpbGRQcm94eSBicm9rZW5lc3MpLgoJICBBbHNvIHVwIHJlcXVpcmVtZW50cyB0byBsYXN0IHJlbGVhc2VkIGNvcmUvYmFzZS4KCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA3LTA0LTI3IDE1OjMzOjQ2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IENhbGN1bGF0ZSBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5IHRvIGdlbmVyYXRlIGEgcGVyZmVjdCBzdHJlYW0gKCM0MzM4ODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChfdGhlb3JhX2dyYW51bGVfdGltZSksCgkgICh0aGVvcmFfZGVjX3B1c2hfZm9yd2FyZCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfZGVjb2RlX2J1ZmZlcik6IENhbGN1bGF0ZSBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5CgkgIHRvIGdlbmVyYXRlIGEgcGVyZmVjdCBzdHJlYW0gKCM0MzM4ODgpLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfY2hlY2tfZGlzY29udCk6IEdsaWIgcHJvdmlkZXMgQUJTLgoKMjAwNy0wNC0yNyAxNTowOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3JlY29uc2lkZXIpOgoJICBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgU2ltcGxpZnkgdGltb3V0IGhhbmRsaW5nIGFuZCBhZGQgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwgKHNlc3Npb25fc2RlcyksCgkgIChzZXNzaW9uX2J5ZSksIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBIYW5kbGUgdGltZW91dCBvZiBpbmFjdGl2ZSBzb3VyY2VzIGFuZCBzZW5kZXJzLgoJICBJbXBsZW1lbnQgQllFIHNjaGVkdWxpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWVtYmVycyB0byBjaGVjayBmb3IgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfYnllX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgUkZDIGFsZ29yaXRobSBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcG9ydGluZyBpbnRlcnZhbC4KCjIwMDctMDQtMjYgMTQ6MzE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgoyMDA3LTA0LTI1IDE2OjM4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxNTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGVidWdpbmcgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDEzOjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIERvbid0IHNlbmQgUlRDUCByaWdodCBiZWZvcmUgd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICBJbXByb3ZlIHJlcG9ydCBibG9ja3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIENsZWFudXBzLCBhZGQgbWV0aG9kcyB0byBhY2Nlc3Mgc3RhdHMuCgoyMDA3LTA0LTI1IDA4OjMwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBGaXggZm9yIHJlbmFtZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0cF9zZXNzaW9uX3NldF9jbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfY25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X2VtYWlsKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9lbWFpbCksIChydHBfc2Vzc2lvbl9zZXRfcGhvbmUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Bob25lKSwgKHJ0cF9zZXNzaW9uX3NldF9sb2NhdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24pLCAocnRwX3Nlc3Npb25fc2V0X3Rvb2wpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Rvb2wpLCAocnRwX3Nlc3Npb25fc2V0X25vdGUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25vdGUpLCAoc291cmNlX3B1c2hfcnRwKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fZ2V0X3JlcG9ydGluZ19pbnRlcnZhbCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAoc2Vzc2lvbl9zZGVzKSwgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFByZXBhcmUgZm9yIGltcGxlbWVudGluZyBTU1JDIHNhbXBsaW5nLgoJICBDcmVhdGUgU1NSQyBmb3IgdGhlIHNlc3Npb24uCgkgIEFkZCBtZXRob2RzIHRvIHNldCB0aGUgU0RFUyBlbnRyaWVzLgoJICBmaXggYWNjb3VudGluZyBvZiBzZW5kZXJzL3JlY2VpdmVycy4KCSAgSW1wbGVtZW50IFNSL1JSL1NERVMgUlRDUCByZXBvcnRpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBJbXBsZW1lbnQgZXh0ZW5kZWQgc2VxdWVuY2UgbnVtYmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFJlbmFtZSBzb21lIGZpZWxkcy4KCjIwMDctMDQtMjQgMTU6NDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoKMjAwNy0wNC0yMSAxOTozOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9NYWtlZmlsZS5hbTogRml4IGRpc3RjaGVjaywgaG9wZWZ1bGx5IChydHBtYW5hZ2VyIGlzIGFscmVhZHkgaW4gR1NUX1BMVUdJTlNfQUxMKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBGaXggZGlzdGNoZWNrLCBob3BlZnVsbHkgKHJ0cG1hbmFnZXIgaXMgYWxyZWFkeSBpbiBHU1RfUExVR0lOU19BTEwpLgoKMjAwNy0wNC0yMSAxOToyMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCjIwMDctMDQtMjEgMTQ6MTQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IE1ha2UgbW9yZSBmdW5jdGlvbnMgc3RhdGljLCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIE1ha2UgbW9yZSBmdW5jdGlvbnMgc3RhdGljLCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoKMjAwNy0wNC0yMSAxMzo1NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9yZXNhbXBsZSBzaHV0ZG93biBjcmFzaGVyICgjNDIwMTA2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb3Jlc2FtcGxlIHNodXRkb3duIGNyYXNoZXIgKCM0MjAxMDYpLgoKMjAwNy0wNC0yMCAxNTozMTozMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGQUFEIGZhaWxzIHRvIGRlY29kZSBsb3cgKGUuZy4gOCBrSHopIHNhbXBsZSByYXRlIEFBQyBkYXRhIGluIHF1aWNrdGltZSBiZWNhdXNlIG9mIHNhbXBsZSByYXRlIG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX29wZW5fZGVjb2Rlcik6CgkgIEZBQUQgZmFpbHMgdG8gZGVjb2RlIGxvdyAoZS5nLiA4IGtIeikgc2FtcGxlIHJhdGUgQUFDIGRhdGEgaW4KCSAgcXVpY2t0aW1lIGJlY2F1c2Ugb2Ygc2FtcGxlIHJhdGUgbWlzbWF0Y2hlcy4KCSAgUmVlbmFibGUgb3ZlcnJpZGluZyB0aGUgaW1wbGljaXQgU0JSIGJlaGF2aW91ciAoYWNjaWRlbnRseSBjaGFuZ2VkPykKCSAgdG8gYWxsb3cgcGxheWJhY2sgb2YgdGhlc2UgZmlsZXMuCgoyMDA3LTA0LTE5IDE1OjQzOjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hhbmdlIHJ0cG1hbmFnZXIgZGlzYWJsaW5nIHRvIGtlZXAgLWJhZCByZWxlYXNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoYW5nZSBydHBtYW5hZ2VyIGRpc2FibGluZyB0byBrZWVwIC1iYWQgcmVsZWFzYWJsZS4KCjIwMDctMDQtMTggMTk6NDU6MzIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgRml4IHd0YXkncyBoYWNrLiAgcnRwbWFuYWdlciBpcyBkaXNhYmxlZCBpbiBjb25maWd1cmUuYWMgb24gbGluZSAyNjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEZpeCB3dGF5J3MgaGFjay4gIHJ0cG1hbmFnZXIgaXMgZGlzYWJsZWQgaW4gY29uZmlndXJlLmFjIG9uCgkgIGxpbmUgMjY4LgoKMjAwNy0wNC0xOCAxOToyNjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9NYWtlZmlsZS5hbTogQWRkIHJ0cG1hbmFnZXIgZGlyIHRvIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgQWRkIHJ0cG1hbmFnZXIgZGlyIHRvIGRpc3QuCgoyMDA3LTA0LTE4IDE4OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZGVkIG5ldyBmaWxlcyBmb3Igc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgdGhlIHNlc3Npb24gbWFuYWdlciBjYW4gbm93IGFsc28gcmVxdWVzdCBhIHB0LW1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfdGltZSksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgV2UgY2FuIGFzayBmb3IgcHQtbWFwIG5vdyB0b28gd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIG5lZWRzIGl0LgoJICBIb29rIHVwIHRvIHRoZSBuZXcgc2Vzc2lvbiBtYW5hZ2VyLCBpbXBsZW1lbnQgdGhlIG5lZWRlZCBjYWxsYmFja3MgZm9yCgkgIHB1c2hpbmcgZGF0YSwgZ2V0dGluZyBjbG9jayB0aW1lIGFuZCByZXF1ZXN0aW5nIGNsb2NrLXJhdGVzLgoJICBSZW5hbWUgcnRjcF9zcmMgdG8gc2VuZF9ydGNwX3NyYyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcyBSVENQIGlzIHRvCgkgIGJlIHNlbmQgdG8gY2xpZW50cy4KCSAgQWRkIGNvZGUgdG8gc3RhcnQgYW5kIHN0b3AgdGhlIHRocmVhZCB0aGF0IHdpbGwgc2NoZWR1bGUgUlRDUCB0aHJvdWdoCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLAoJICAob25fYnllX3NzcmMpLCAocnRwX3Nlc3Npb25fbmV3KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgpLAoJICAoc291cmNlX3B1c2hfcnRwKSwgKHNvdXJjZV9jbG9ja19yYXRlKSwgKGNoZWNrX2NvbGxpc2lvbiksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfY25hbWUpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYXBwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9wcm9kdWNlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVGhlIGFkdmFuY2VkIGJlZ2lubmluZ3Mgb2YgdGhlIG1haW4gc2Vzc2lvbiBtYW5hZ2VyIHRoYXQgaGFuZGxlcyB0aGUKCSAgcGFydGljaXBhbnQgZGF0YWJhc2Ugb2YgUlRQU291cmNlcywgU1NSQyBwcm9iYXRpb24sIFNTUkMgY29sbGlzaW9ucywKCSAgcGFyc2UgUlRDUCB0byB1cGRhdGUgc291cmNlIHN0YXRzLiBldGMuLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2VfbmV3KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3J0cF9mcm9tKSwgKHJ0cF9zb3VyY2Vfc2V0X3J0Y3BfZnJvbSksCgkgIChwdXNoX3BhY2tldCksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX2J5ZSksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBPYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgYW4gU1NSQyBhbmQgaXRzIHN0YXRlIGluIHRoZSBkYXRhYmFzZS4KCSAgQ2FsY3VsYXRlcyB0aGUgaml0dGVyIGFuZCB0cmFuc2l0IHRpbWVzIG9mIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFZhcmlvdXMgc3RhdHMgcmVnYXJkaW5nIHRoZSBzZXNzaW9uIGFuZCBzb3VyY2VzLgoJICBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgUlRDUCBpbnRlcnZhbC4KCjIwMDctMDQtMTcgMTA6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBwL01ha2VmaWxlLmFtOiBGaXggQ0ZMQUdTIGFuZCBob3BlZnVsbHkgIzQzMDU5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUyBhbmQgaG9wZWZ1bGx5ICM0MzA1OTQuCgoyMDA3LTA0LTE3IDA4OjQ4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi90eXBlcy5oOiBSZW5hbWUgI2lmbmRlZiBoZWFkZXIgZ3VhcmQgc3ltYm9sIHRvIHNvbWV0aGluZyBsZXNzIGdlbmVyaWMsIHNvIHR5cGVzLmggZG9lc24ndCBnZXQgc2tpcHBlZCBvdmVyIHdoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgUmVuYW1lICNpZm5kZWYgaGVhZGVyIGd1YXJkIHN5bWJvbCB0byBzb21ldGhpbmcgbGVzcyBnZW5lcmljLCBzbwoJICB0eXBlcy5oIGRvZXNuJ3QgZ2V0IHNraXBwZWQgb3ZlciB3aGVuIGNvbXBpbGluZyBvbiBNaW5nVy4gSW5jbHVkZQoJICBHTGliIGhlYWRlcnMgYW5kIHVzZSB0aG9zZSB0byBzZXQgdGhlIGVuZGlhbm5lc3MgYW5kIHRoZSBiYXNpYwoJICB0eXBlcyBzbyB0aGF0IHRoaXMgaXNuJ3QgZW50aXJlbHkgYnJva2VuIGZvciBub24teDg2IGFyY2hpdGVjdHVyZXMuCgoyMDA3LTA0LTE3IDA4OjA0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBVc2UgR19MSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgTElUVExFX0VORElBTiwgc28gc3R1ZmYgY29tcGlsZXMgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9hdWRpb19pbml0KToKCSAgVXNlIEdfTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIExJVFRMRV9FTkRJQU4sIHNvIHN0dWZmIGNvbXBpbGVzIG9uCgkgIE1pbmdXIChubyBpZGVhIHRob3VnaCB3aHkgd2UgYWRkIGEgQllURV9PUkRFUiBlbmRpYW5uZXNzIGZpZWxkIGlmCgkgIHRoZSBhdWRpbyBpcyBjb21wcmVzc2VkKS4KCjIwMDctMDQtMTYgMjI6MjA6MDMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBpZiBIQVZFX0xPQ0FMVElNRV9SIGlzIHVuZGVmaW5pZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IChnc3RfY2xvY2tfb3ZlcmxheV9yZW5kZXJfdGltZSk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBpZiBIQVZFX0xPQ0FMVElNRV9SIGlzIHVuZGVmaW5pZWQKCSAgKiBnc3QtbGlicy9nc3QvcmlmZi9yaWZmLW1lZGlhLmM6IChnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpOgoJICBVc2UgdGhlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgZm9ybWF0cy4KCjIwMDctMDQtMTQgMTc6MTg6MTQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgVXBkYXRlIHByb2plY3RzIGZpbGVzLgoKMjAwNy0wNC0xMyAwOToyMDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIFJldHVybiBGTE9XX09LIGZyb20gUlRDUCBtZXNzYWdlcyBmb3Igbm93LgoKMjAwNy0wNC0xMiAxMDo1MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldCBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldAoJICBjYWxjdWxhdGlvbnMuCgoyMDA3LTA0LTEyIDA4OjE4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKHB0X21hcF9yZXF1ZXN0ZWQpOgoJICBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEVtaXQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCjIwMDctMDQtMTEgMTM6NDk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjbG9ja19yYXRlX3JlcXVlc3QpLCAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGNhY2hpbmcgcHQgbWFwcy4KCSAgQ29ubmVjdCB0byBzaWduYWxzIHRvIGNvbGxlY3QgcHQgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCByZXF1ZXN0X2Nsb2NrX3JhdGUgc2lnbmFsLgoJICBVc2Ugc2NhbGUgaW5zdGVhdCBvZiBzY2FsZV9pbnQgYmVjYXVzZSB0aGUgbGF0ZXIgZG9lcyBub3QgZGVhbCB3aXRoCgkgIG5lZ2F0aXZlIG51bWJlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCjIwMDctMDQtMTEgMDk6NTM6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX21kaGQpOgoJICBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIEZpeGVzICM0MjY5NzIuCgoyMDA3LTA0LTEwIDA5OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGVtaXRpbmcgcHQgbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRml4IHNpZ25hbHMuCgoyMDA3LTA0LTA2IDEyOjI4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFByb3ZpZGUgYSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fcHJvdmlkZV9jbG9jayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByb3ZpZGUgYSBjbG9jay4KCjIwMDctMDQtMDYgMTI6MDc6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCjIwMDctMDQtMDUgMTY6MTA6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIEZpeCBkb3VibGUgdW5yZWYoKSBpbiBlcnJvciBjYXNlcy4KCjIwMDctMDQtMDUgMTU6MDU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCjIwMDctMDQtMDUgMTM6NTQ6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIEFkZGVkIFJUUFN0cmVhbSB0byBtYW5hZ2Ugc3RyZWFtIHBlciBTU1JDLCBlYWNoIHdpdGggaXRzIG93bgoJICBqaXR0ZXJidWZmZXIgYW5kIHB0ZGVtdXguCgkgIEFkZGVkIFNTUkNEZW11eC4KCSAgQ29ubmVjdCB0byB2YXJpb3VzIFNTUkMgYW5kIFBUIHNpZ25hbHMgYW5kIGNyZWF0ZSBnaG9zdHBhZHMsIGxpbmsgc3R1ZmYuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBydHBiaW4gdG8gZWxlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBjYXBzIGFuZCBmb3J3YXJkIEdzdEZsb3dSZXR1cm4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIGV2ZW50IGhhbmRsaW5nCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3J0cF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3J0cF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBuZXctcHQtcGFkIHNpZ25hbC4KCjIwMDctMDQtMDUgMTM6NDk6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vbmwucG86CgkgIHVwZGF0ZSBkdXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGR1dGNoCgoyMDA3LTA0LTA1IDEzOjQ1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3VibWl0dGVkIGJ5OiBNb2dlbnMgSmFlZ2VyIDxtb2dlbnNAamFlZ2VyLnRmPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vZGEucG86CgkgIEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDQtMDQgMTA6MjM6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgoyMDA3LTA0LTA0IDA3OjM2OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0gZXN0YWJsaXNoaW5nIGxpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLQoJICBlc3RhYmxpc2hpbmcgbGlua3MuCgoyMDA3LTA0LTAzIDIyOjM2OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCjIwMDctMDQtMDMgMTM6Mjc6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBydHAgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBydHAgcGx1Z2luCgoyMDA3LTA0LTAzIDExOjM1OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoKMjAwNy0wNC0wMyAwOTo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOiBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCjIwMDctMDQtMDMgMDk6MTM6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKGFzeW5jX2ppdHRlcl9xdWV1ZV9uZXcpLAoJICAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksIChhc3luY19qaXR0ZXJfcXVldWVfcmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfaGlnaF90aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9tYXhfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9nZXRfZ19xdWV1ZSksIChjYWxjdWxhdGVfdHNfZGlmZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5sb2NrKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWRfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2luc2VydF9hZnRlcl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfcG9wKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfYmxvY2tpbmdfdW5sb2NrZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAobmV3X3BhZCksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoZ3N0X3J0cF9jbGllbnRfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9jbGllbnRfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9maW5hbGl6ZSksIChnc3RfcnRwX2NsaWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9jbGllbnRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfY2xpZW50X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9jbGllbnRfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0Y2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZnJlZV9mdW5jKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChwcml2X2NvbXBhcmVfcnRwX3NlcV9sdCksCgkgIChjb21wYXJlX3J0cF9idWZmZXJzX3NlcV9udW0pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9wdF9kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2dldGNhcHMpLCAoZmluZF9wYWRfZm9yX3B0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoKMjAwNy0wMy0zMCAwNDo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGggd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aAoJICB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGhpcyBhbmQgbGV0IGF1ZGlvY29udmVydCBjb252ZXJ0CgkgIHRvIGFjY2VwdGVkIGZvcm1hdHMgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiB0aGUgZWxlbWVudCBmb3Igbio4IGRlcHRocy4KCSAgVGhpcyBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igbm9uLW4qOCBkZXB0aHMgYW5kIHByZXZlbnRzIHNvbWUgdXNlbGVzcwoJICBtZW1vcnkgYWxsb2NhdGlvbnMuIEZpeGVzICM0MjE1OTgKCSAgQWxzbyBhZGQgYSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0MiBpbiB3YXZwYWNrZW5jIGZvciBub3cuLi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDb25zaWRlciB0aGUgY2hhbmdlIGFib3ZlIGluIHRoZSB1bml0IHRlc3RzIGFuZCB0ZXN0IGlmIHRoZSBjb3JyZWN0CgkgIGNhcHMgYXJlIGFjY2VwdGVkIGFuZCBzZXQuIEFsc28gY2hlY2sgZm9yIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBpbgoJICB0aGUgd2F2cGFja3BhcnNlIHVuaXQgdGVzdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2Fwcyk6CgkgIFNldCBjYXBzIG9uIHRoZSBzcmMgcGFkIGFzIHNvb24gYXMgcG9zc2libGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEZpeCBpbmRlbnRpb24uIGdzdC1pbmRlbnQgaXMgbm93IGNhbGxlZCBieSBjaWNsLgoKMjAwNy0wMy0yOCAxNToxNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMgd2l0aCBoMjY0IHZpZGVvKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX2N0dHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcwoJICB3aXRoIGgyNjQgdmlkZW8pLgoJICBVc2UgdGhlIG9mZnNldCBwcmVzZW50IGluICdjdHRzJyB0byBjYWxjdWxhdGUgdGhlIFBUUyBmb3IgZWFjaCBwYWNrZXQKCSAgYW5kIHNldCB0aGUgUFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MjMyODMKCjIwMDctMDMtMjcgMTg6MDA6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiBBZGQgc29tZSBkZWJ1ZyBsb2cgYW5kIGZpeCBhIHN0dXBpZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jaGFpbik6IEFkZCBzb21lCgkgIGRlYnVnIGxvZyBhbmQgZml4IGEgc3R1cGlkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gYnVnLgoKMjAwNy0wMy0yNiAxNDo0OTo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSBmb3IgeDI2NCBlbmNvZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGZvciB4MjY0IGVuY29kZXIKCjIwMDctMDMtMjUgMTM6MDY6MjYgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIEFkZCBsaWJ4MjY0LWJhc2VkIGgyNjQgZW5jb2RlciBwbHVnaW4gKCM0MjExMTApLiBQcm9iYWJseSBkb2Vzbid0IGhhbmRsZSAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMgY29ycmVjdGx5IHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lcyBhdCBpdG9uaXMgdHY+CgkgIFBhdGNoIGJ5OiBKb3NlZiBabG9tZWsgPGpvc2VmLnpsb21layBhdCBpdG9uaXMgdHY+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfbWVfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX2FuYWx5c2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9pbml0KSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfZnJlZSksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX3B1dCksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2dldCksIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfY2xvc2VfZW5jb2RlciksIChnc3RfeDI2NF9lbmNfZGlzcG9zZSksCgkgIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksIChnc3RfeDI2NF9lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBBZGQgbGlieDI2NC1iYXNlZCBoMjY0IGVuY29kZXIgcGx1Z2luICgjNDIxMTEwKS4gUHJvYmFibHkgZG9lc24ndAoJICBoYW5kbGUgJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzIGNvcnJlY3RseSB5ZXQuCgoyMDA3LTAzLTI0IDE5OjQ2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8gMS1jaGFubmVsIG91dHB1dCBjYXBzIChJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOgoJICBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvCgkgIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSSBndWVzcyB0ZWNobmljYWxseSB3ZSBzaG91bGQgc2V0IHRoZQoJICBwb3NpdGlvbiBmb3IgZWFjaCBjaGFubmVsIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiBpdCdzIG5vbi1OT05FLAoJICBidXQgSSdsbCBzYXZlIHRoYXQgYXMgYSB0YXNrIGZvciBhbm90aGVyIGRheSkuCgoyMDA3LTAzLTIzIDE4OjQxOjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvdm1uYy92bW5jZGVjLmM6IFJlZGVzaWduIHRvIGluY2x1ZGUgYSBwYXJzZXIgZm9yIHJhdyBmaWxlcyAobm8gdGltZXN0YW1wcyBpbiB0aGF0IG1vZGUgeWV0LCB0aG91Z2gpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6IChnc3Rfdm1uY19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfaW5pdCksICh2bW5jX2RlY19maW5hbGl6ZSksIChnc3Rfdm1uY19kZWNfcmVzZXQpLAoJICAodm1uY19oYW5kbGVfd212aV9yZWN0YW5nbGUpLCAocmVuZGVyX2NvbG91cl9jdXJzb3IpLAoJICAocmVuZGVyX2N1cnNvciksICh2bW5jX21ha2VfYnVmZmVyKSwgKHZtbmNfaGFuZGxlX3dtdmRfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmZfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmdfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmhfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmpfcmVjdGFuZ2xlKSwgKHJlbmRlcl9yYXdfdGlsZSksIChyZW5kZXJfc3VicmVjdCksCgkgICh2bW5jX2hhbmRsZV9yYXdfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX2NvcHlfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX2hleHRpbGVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3BhY2tldCksCgkgICh2bW5jX2RlY19zZXRjYXBzKSwgKHZtbmNfZGVjX2NoYWluX2ZyYW1lKSwgKHZtbmNfZGVjX2NoYWluKSwKCSAgKHZtbmNfZGVjX3NldF9wcm9wZXJ0eSksICh2bW5jX2RlY19nZXRfcHJvcGVydHkpOgoJICBSZWRlc2lnbiB0byBpbmNsdWRlIGEgcGFyc2VyIGZvciByYXcgZmlsZXMgKG5vIHRpbWVzdGFtcHMgaW4gdGhhdAoJICBtb2RlIHlldCwgdGhvdWdoKS4KCjIwMDctMDMtMjIgMjI6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZiBzb3VyY2UgcGFkcyAtIHRoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZgoJICBzb3VyY2UgcGFkcyAtIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIGFib3V0IHRoZSBvcmRlciBvZiB0aGUgbGlzdAoJICBpbiB0aGUgR3N0RWxlbWVudCBzdHJ1Y3QsIGFuZCB3ZSB3YW50IGEgdmVyeSBzcGVjaWZpYyBvcmRlcjsgbGFzdGx5LAoJICBzb21lIG1vcmUgZGVidWdnaW5nLgoKMjAwNy0wMy0yMiAyMTowNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEFsbG9jIHVzZXIgYWdlbnQgc3RyaW5nIG9ubHkgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCk6CgkgIEFsbG9jIHVzZXIgYWdlbnQgc3RyaW5nIG9ubHkgb25jZS4KCjIwMDctMDMtMjIgMTY6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcyBpcyBubyBjbGVhbiBzb2x1dGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MKCSAgaXMgbm8gY2xlYW4gc29sdXRpb24gYW5kIGluIGdlbmVyYWwgdGhlcmUncyBubyByZWFzb24gd2h5IG9uZSB3YW50cwoJICB0byBwYXJzZSBmcmFtZWQgd2F2cGFjayBkYXRhIGFnYWluLgoKMjAwNy0wMy0yMiAxNTo1Mjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcwoJICBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrZGVjICEgc29tZWF1ZGlvc2luayIgcGlwZWxpbmVzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBBY2NlcHQgZnJhbWVkIGFuZCBub24tZnJhbWVkIGlucHV0LCB3YXZwYWNrcGFyc2UgZG9lc24ndCBjYXJlLiBUbwoJICBwcmV2ZW50ICJ3YXZwYWNrcGFyc2UgISB3YXZwYWNrcGFyc2UgISAuLi4iIHBpcGVsaW5lcyBsb3dlciB0aGUKCSAgcmFuayBvZiB3YXZwYWNrcGFyc2UgYnkgb25lLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2twYXJzZSAhCgkgIC4uLiIgcGlwZWxpbmVzLgoKMjAwNy0wMy0yMiAxNDozNzowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOiBVc2UgR1NUX0FMTF9MREZMQUdTLCB3aGljaCBhY3R1YWxseSBleGlzdHMsIGJ1dCBtYXliZSBEYXZpZCBjYW4gY29uZmlybSB0aGF0IHdhcyB3aGF0IGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9BTExfTERGTEFHUywgd2hpY2ggYWN0dWFsbHkgZXhpc3RzLCBidXQgbWF5YmUgRGF2aWQKCSAgY2FuIGNvbmZpcm0gdGhhdCB3YXMgd2hhdCBoZSB3YW50ZWQuCgoyMDA3LTAzLTIyIDExOjA4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIFRoYW5rcyB0byBKYW4gYW5kIE1pa2UgZm9yIG5vdGljaW5nIG15IG1pc3Rha2UuCgoyMDA3LTAzLTIyIDAwOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90IGFzIGEgcG9pbnRlciB0byBzYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90CgkgIGFzIGEgcG9pbnRlciB0byBzYXZlIHR3byBzbWFsbCwgYnV0IHVzZWxlc3MgbWFsbG9jcy4gVGhpcyBhbHNvIG1ha2VzCgkgIGl0IHBvc3NpYmxlIHRvIGRyb3AgdGhlIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgRm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMgYWxzbyBzZXQgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIHRoZSBzYW1lIHdheSB3YXZwYWNrZW5jIGRvZXMgaXQuCgoyMDA3LTAzLTIxIDIzOjUwOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBCYXNlVHJhbnNmb3JtLWJhc2VkIGVsZW1lbnRzIHdpbGwgbGlrZWx5IGJyZWFrIGJlY2F1c2Ugb2Ygd3JvbmcKCSAgdW5pdC1zaXplLiBBbHNvIHBsdWcgYSBwb3NzaWJsZSBtZW1sZWFrIHRoYXQgaGFwcGVucyB3aGVuIGRlY29kaW5nCgkgIGZhaWxzIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMDMtMTggMTc6NTc6NDggKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZCBjYXVzZSBkZWFkbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbik6CgkgIERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZAoJICBjYXVzZSBkZWFkbG9ja3MuCgoyMDA3LTAzLTE2IDE4OjM4OjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCjIwMDctMDMtMTYgMTY6Mjc6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2Ugd2lsbCBjb250YWluIGEgcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlCgkgIHdpbGwgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgTlNWaWV3LgoKMjAwNy0wMy0xNiAxMToyMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvOiBNb3ZlIHRoZSBNUEVHIHNwZWNpZmljIGJ5dGUgcGFyc2luZyBpbnRvIHRoZSBtcGVncGFja2V0aXNlciBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfdXRpbF9maW5kX3N0YXJ0X2NvZGUpLAoJICAoY29sbGVjdF9wYWNrZXRzKSwgKHNldF9wYXJfZnJvbV9kYXIpLCAoc2V0X2Zwc19mcm9tX2NvZGUpLAoJICAobXBlZ191dGlsX3BhcnNlX2V4dGVuc2lvbl9wYWNrZXQpLCAobXBlZ191dGlsX3BhcnNlX3NlcXVlbmNlX2hkciksCgkgIChtcGVnX3V0aWxfcGFyc2VfcGljdHVyZV9oZHIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9waWN0dXJlKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIE1vdmUgdGhlIE1QRUcgc3BlY2lmaWMgYnl0ZSBwYXJzaW5nIGludG8gdGhlIG1wZWdwYWNrZXRpc2VyIGNvZGUuCgkgIEFkZCBwYXJzaW5nIG9mIHBpY3R1cmUgdHlwZXMsIHRoYXQganVzdCBmZWVkcyBpbnRvIGEgZGVidWcgbWVzc2FnZQoJICBmb3Igbm93LgoJICBGaXggc29tZSA2NC1iaXQgZm9ybWF0IHN0cmluZ3MuCgoyMDA3LTAzLTE2IDEwOjE1OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNy0wMy0xNiAwOTo1Nzo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6IEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KToKCSAgQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCjIwMDctMDMtMTUgMjA6NDg6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCBtcGVnMXZpZGVvcGFyc2UgdG8gMC4xMCBhbmQgZ2l2ZSBpdCByYW5rIFNFQ09OREFSWS0xLCBzbyB0aGF0IGl0J3MgYmVsb3cgZXhpc3RpbmcgZGVjb2RlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvbXAxdmlkZW9wYXJzZS52Y3Byb2o6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ19wYWNrZXRpc2VyX2luaXQpLAoJICAobXBlZ19wYWNrZXRpc2VyX2ZyZWUpLCAobXBlZ19wYWNrZXRpc2VyX2FkZF9idWYpLAoJICAobXBlZ19wYWNrZXRpc2VyX2ZsdXNoKSwgKG1wZWdfZmluZF9zdGFydF9jb2RlKSwKCSAgKGdldF9uZXh0X2ZyZWVfYmxvY2spLCAoY29tcGxldGVfY3VycmVudF9ibG9jayksCgkgIChhcHBlbmRfdG9fY3VycmVudF9ibG9jayksIChzdGFydF9uZXdfYmxvY2spLCAoaGFuZGxlX3BhY2tldCksCgkgIChjb2xsZWN0X3BhY2tldHMpLCAobXBlZ19wYWNrZXRpc2VyX2hhbmRsZV9lb3MpLAoJICAobXBlZ19wYWNrZXRpc2VyX2dldF9ibG9jayksIChtcGVnX3BhY2tldGlzZXJfbmV4dF9ibG9jayk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChtcGVndmlkZW9wYXJzZV9nZXRfdHlwZSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfYmFzZV9pbml0KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jbGFzc19pbml0KSwKCSAgKG1wdl9wYXJzZV9yZXNldCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfaW5pdCksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZGlzcG9zZSksIChzZXRfcGFyX2Zyb21fZGFyKSwKCSAgKHNldF9mcHNfZnJvbV9jb2RlKSwgKG1wZWd2aWRlb3BhcnNlX3BhcnNlX3NlcSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfdGltZV9jb2RlKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLnZjcHJvajoKCSAgUG9ydCBtcGVnMXZpZGVvcGFyc2UgdG8gMC4xMCBhbmQgZ2l2ZSBpdCByYW5rIFNFQ09OREFSWS0xLCBzbwoJICB0aGF0IGl0J3MgYmVsb3cgZXhpc3RpbmcgZGVjb2RlcnMuCgkgIFJlbmFtZSBpdCB0byBtcGVndmlkZW9wYXJzZSB0byByZWZsZWN0IHRoYXQgaXQgaGFuZGxlcyBNUEVHLTEgYW5kCgkgIE1QRUctMiBub3cuCgkgIFJlLXdyaXRlIHRoZSBwYXJzaW5nIGNvZGUgc28gdGhhdCBpdCBjb2xsZWN0cyBwYWNrZXRzIGRpZmZlcmVudGx5CgkgIGFuZCB0aW1lc3RhbXBzIFBpY3R1cmUgcGFja2V0cyBjb3JyZWN0bHkuCgkgIEFkZCBhIGxpc3Qgb2YgRklYTUUncyBhdCB0aGUgdG9wLgoKMjAwNy0wMy0xNSAxMDo1MjoyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCB0cmlnZ2VyIGRpc2NvbnRpbnVpdGllcyBmb3IgdmVyeSBzbWFsbCBpbXBlcmZlY3Rpb25zOyBhIGZpbHRlciBmbHVzaCB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgIERvbid0IHRyaWdnZXIgZGlzY29udGludWl0aWVzIGZvciB2ZXJ5IHNtYWxsIGltcGVyZmVjdGlvbnM7IGEgZmlsdGVyCgkgIGZsdXNoIHdpbGwgc291bmQgYmFkLCBhbmQgbWFueSBwbHVnaW5zIGhhdmUgcm91bmRpbmcgZXJyb3JzIGxlYWRpbmcKCSAgdG8gdGhlc2UuCgoyMDA3LTAzLTE0IDE3OjE2OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSGFuZGxlIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpLAoJICAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pLCAoYXVkaW9yZXNhbXBsZV9wdXNodGhyb3VnaCk6IEhhbmRsZQoJICBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6IEFkZCBhIHRlc3QgZm9yIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IFVwZGF0ZWQuCgoyMDA3LTAzLTE0IDE2OjMzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgoyMDA3LTAzLTE0IDE2OjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIEFjY2VwdCBhbnkga2luZCBvZiByZXNvbHV0aW9ucy4KCSAgV29ya3MgaW4gZnVsbHNjcmVlbi4gQ2FuIG1heGltaXplLgoJICBPbmx5IHRoaW5nIGxlZnQgYmVmb3JlIGJlaW5nIGFibGUgdG8gbW92ZSB0aGlzIHRvIC1nb29kIGlzIGRvY3VtZW50YXRpb24KCSAgYW5kIGVtYmVkZGVkIHdpbmRvdyBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNTozMzoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9zdi5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTAzLTE0IDE0OjQ4OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogU2luY2UgSSByZWFsbHkgYW0gbm90IGludGVyZXN0ZWQgaW4gYSBkZWJ1ZyBsaW5lIGZvciBlYWNoIHNhbXBsZSBiZWluZyBwcm9jZXNzZWQsIG1vdmUgdGhlIGxpYnJhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbml0KToKCSAgU2luY2UgSSByZWFsbHkgYW0gbm90IGludGVyZXN0ZWQgaW4gYSBkZWJ1ZyBsaW5lIGZvciBlYWNoIHNhbXBsZQoJICBiZWluZyBwcm9jZXNzZWQsIG1vdmUgdGhlIGxpYnJhcnkncyBkZWJ1Z2dpbmcgdG8gaXRzIG93biBjYXRlZ29yeSwKCSAgbGliYXVkaW9yZXNhbXBsZQoKMjAwNy0wMy0xNCAxNDo0ODowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCk6CgkgIEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFkZCBzb21lIGNvbW1lbnRzIGFib3V0IGZsb2F0IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE0OjA5OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgYWRkIGRlYnVnZ2luZyBhbmQgcmVmb3JtYXQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRlYnVnZ2luZyBhbmQgcmVmb3JtYXQgZG9jcwoKMjAwNy0wMy0xMyAxODowMTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ2F1ZGlvcGFyc2UvOiBSZW1vdmUgYm9ndXMgMm5kIGNvcHkgb2YgbXAzcGFyc2UgLSBpdCdzIGFjdHVhbGx5IGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL21wZWdhdWRpb3BhcnNlLnZjcHJvajoKCSAgUmVtb3ZlIGJvZ3VzIDJuZCBjb3B5IG9mIG1wM3BhcnNlIC0gaXQncyBhY3R1YWxseQoJICBpbiAtdWdseS4KCjIwMDctMDMtMTIgMTE6NDc6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6IFRoZSBidWlsZGJvdCBkZW1hbmRzIC5jdnNpZ25vcmUgZmlsZXMsIGFuZCBJIGNvbXBseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgIFRoZSBidWlsZGJvdCBkZW1hbmRzIC5jdnNpZ25vcmUgZmlsZXMsIGFuZCBJIGNvbXBseS4KCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDMtMTEgMDA6NDg6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGFwcHNyYy9hcHBzaW5rIGV4YW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICBBZGQgYXBwc3JjL2FwcHNpbmsgZXhhbXBsZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgQWRkIGFwcHNpbmsuCgoyMDA3LTAzLTEwIDIwOjEwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogUHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoTkFTX2NyZWF0ZUZsb3cpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IChnc3Rfc2Zfc3JjX2NyZWF0ZSk6CgkgIFByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeGVzLgoKMjAwNy0wMy0wOSAwODo1ODoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUKCSAgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuZCBpcyBjb250cm9sYWJsZS4gTW9yZSBzdWJjbGFzc2VzIHdpbGwKCSAgZm9sbG93LgoKMjAwNy0wMy0wOCAxNToyNDo1MiArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay86IE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEluY2x1ZGVzIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb19jbGllbnRfaW5pdCksCgkgIChqYWNrX3Byb2Nlc3NfY2IpLCAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwKCSAgKGphY2tfc2h1dGRvd25fY2IpLCAoY29ubmVjdGlvbl9maW5kKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX21ha2VfY29ubmVjdGlvbiksIChnc3RfamFja19hdWRpb19nZXRfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fYWRkX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX3JlbW92ZV9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X25ldyksIChnc3RfamFja19hdWRpb19jbGllbnRfZnJlZSksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfZ2V0X2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkgIE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlCgkgIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGVjdGVkIGphY2sgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBqYWNrCgkgIGNvbm5lY3Rpb24uCgkgIE1ha2Ugc29tZSBzdHVmZiBhIGJpdCBtb3JlIHRocmVhZHNhZmUuCgkgIEFjdGl2YXRlIHRoZSBqYWNrIGNsaWVudCBBU0FQLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19mcmVlX2NoYW5uZWxzKSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIFVzZSBuZXcgY2xpZW50IG9iamVjdCB0byBtYW5hZ2UgY29ubmVjdGlvbnMuCgkgIERvbid0IHJlbW92ZSBhbmQgcmVjcmVhdGUgYWxsIHBvcnRzLCB0cnkgdG8gcmV1c2UgdGhlbS4KCjIwMDctMDMtMDcgMTI6MDc6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIFVzZSB0aGUgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGhlcmUgdG9vIGFuZCBhZGQgZGVidWcKCSAgb3V0cHV0IHRvIHRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgbm90IGJlIGNhbGxlZCBhdCBhbGwgYnkKCSAgdGhlIHdhdnBhY2sgbGlicmFyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIENoYW5nZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgbmFtZXMgdG8gY29uZm9ybSB0byB0aGUgY29udmVudGlvbnMuCgoyMDA3LTAzLTA3IDExOjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcKCSAgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGRlbXV4LmMgd291bGQgZW5kIHVwIGluIHRoZSBkZWZhdWx0IGNhdGVnb3J5LgoKMjAwNy0wMy0wNyAxMToyMzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9ldmVudCksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sKCSAgc2VnbWVudC4KCjIwMDctMDMtMDYgMTM6NTc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgQWRkIEZJWE1FcyBmb3Igc3R1ZmYgdGhhdCBsb29rcyByYXRoZXIgd3JvbmcuCgoyMDA3LTAzLTA1IDA4OjMwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCjIwMDctMDMtMDQgMjE6MzY6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmFzL25hc3NpbmsuYzogU29tZSBtb3JlIGNsZWFudXBzL2NoYW5nZXM7IHVzZSBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbmFzX3NpbmtfaW5pdCksIChnc3RfbmFzX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfbmFzX3NpbmtfdW5wcmVwYXJlKToKCSAgU29tZSBtb3JlIGNsZWFudXBzL2NoYW5nZXM7IHVzZSBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDctMDMtMDQgMjA6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmFzLzogQnVuY2ggb2YgbmFzc2luayBjbGVhbi11cHM6IG1ha2UgYnVpbGQgYnkgYWRkaW5nIHRoZSByaWdodCBDRkxBR1MgYW5kIExJQlMgdG8gTWFrZWZpbGUuYW07IHJlbmFtZSBzdHJ1Y3R1cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL1JFQURNRToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNfc2lua19nZXRfdHlwZSksCgkgIChnc3RfbmFzX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9uYXNfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9uYXNfc2lua19pbml0KSwgKGdzdF9uYXNfc2lua19maW5hbGl6ZSksCgkgIChnc3RfbmFzX3NpbmtfZ2V0Y2FwcyksIChnc3RfbmFzX3NpbmtfcHJlcGFyZSksCgkgIChnc3RfbmFzX3NpbmtfdW5wcmVwYXJlKSwgKGdzdF9uYXNfc2lua19kZWxheSksCgkgIChnc3RfbmFzX3NpbmtfcmVzZXQpLCAoZ3N0X25hc19zaW5rX3dyaXRlKSwKCSAgKGdzdF9uYXNfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X25hc19zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmFzX3Npbmtfb3BlbiksIChnc3RfbmFzX3NpbmtfY2xvc2UpLCAoTkFTX2ZsdXNoKSwKCSAgKE5BU19zZW5kRGF0YSksIChOQVNfRXZlbnRIYW5kbGVyKSwgKGdzdF9uYXNfc2lua19zaW5rX2dldF9mb3JtYXQpLAoJICAoTkFTX2NyZWF0ZUZsb3cpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICBCdW5jaCBvZiBuYXNzaW5rIGNsZWFuLXVwczogbWFrZSBidWlsZCBieSBhZGRpbmcgdGhlIHJpZ2h0IENGTEFHUwoJICBhbmQgTElCUyB0byBNYWtlZmlsZS5hbTsgcmVuYW1lIHN0cnVjdHVyZSwgbWFjcm9zIGFuZCBmdW5jdGlvbnMKCSAgYWNjb3JkaW5nIHRvIGNhbm9uaWNhbCBuYW1pbmcgc2NoZW1lOyBtb3ZlIHNvbWUgdGhpbmdzIGFyb3VuZCBhIGJpdDsKCSAgdXNlIEdTVF9DQVRfREVGQVVMVCBpbnN0ZWFkIG9mIEdTVF9DQVRfKiBldmVyeXdoZXJlOyByZW1vdmUgUkVBRE1FCgkgIGZpbGUgdGhhdCBkaWRuJ3QgcmVhbGx5IGNvbnRhaW4gYW55IHVzZWZ1bCBpbmZvcm1hdGlvbiBhbnl3YXkgKHRoZQoJICB1c2VmdWwgYml0cyBoYXZlIGJlZW4gbW92ZWQgaW50byB0aGUgJ2hvc3QnIHByb3BlcnR5IGRlc2NyaXB0aW9uKS4KCjIwMDctMDMtMDQgMTY6Mzg6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBDaGFpbiB1cCBpbiBmaW5hbGl6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSk6CgkgIENoYWluIHVwIGluIGZpbmFsaXplLgoKMjAwNy0wMy0wMyAyMjoyODowMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgRml4IHVwIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIGRpc3QuCgoyMDA3LTAzLTAzIDIyOjEzOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgVk1uYyBkZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAoZ3N0X3ZtbmNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfY2xhc3NfaW5pdCksIChnc3Rfdm1uY19kZWNfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfcmVzZXQpLCAodm1uY19oYW5kbGVfd212aV9yZWN0YW5nbGUpLAoJICAocmVuZGVyX2NvbG91cl9jdXJzb3IpLCAocmVuZGVyX2N1cnNvciksICh2bW5jX21ha2VfYnVmZmVyKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmRfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmVfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmZfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmdfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmhfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmpfcmVjdGFuZ2xlKSwKCSAgKHJlbmRlcl9yYXdfdGlsZSksIChyZW5kZXJfc3VicmVjdCksICh2bW5jX2hhbmRsZV9yYXdfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX2hleHRpbGVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3BhY2tldCksCgkgICh2bW5jX2RlY19zZXRjYXBzKSwgKHZtbmNfZGVjX2NoYWluKSwgKHZtbmNfZGVjX2NoYW5nZV9zdGF0ZSksCgkgICh2bW5jX2RlY19zZXRfcHJvcGVydHkpLCAodm1uY19kZWNfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIFZNbmMgZGVjb2Rlci4KCSAgU3RpbGwgbWlzc2luZyBzdXBwb3J0IGZvcjoKCSAgLSByZWN0YW5nbGUgdHlwZXMgSSBkaWRuJ3QgZmluZCBpbiBteSBzYW1wbGVzIChlLmcuIGNvcHksIFJSRSwKCSAgWlJMRSkKCSAgLSBhbHBoYS1jb21wb3NpdGVkIGN1cnNvcnMKCjIwMDctMDMtMDMgMTA6MjM6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbTogSW5zdGFsbCB0aGUgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgSW5zdGFsbCB0aGUgaGVhZGVycy4KCjIwMDctMDMtMDMgMTA6MTA6MzAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC86IEFkZCBHc3RBcHBCdWZmZXIgdGhhdCBpbmNsdWRlcyBhIGNhbGxiYWNrIGFuZCBjbG9zdXJlIGZvciBwcm9wZXIgaGFuZGxpbmcgb2YgZGF0YSBjaHVua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgIEFkZCBHc3RBcHBCdWZmZXIgdGhhdCBpbmNsdWRlcyBhIGNhbGxiYWNrIGFuZCBjbG9zdXJlIGZvcgoJICBwcm9wZXIgaGFuZGxpbmcgb2YgZGF0YSBjaHVua3MuCgoyMDA3LTAzLTAzIDA5OjA2OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEhhY2tpbmcgdG8gYWRkcmVzcyBpc3N1ZXMgaW4gNDEzNDE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEhhY2tpbmcgdG8gYWRkcmVzcyBpc3N1ZXMgaW4gNDEzNDE4LgoKMjAwNy0wMy0wMyAwODoxNjo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNb3ZlIHRoZSBhcHAgbGlicmFyeSB0byBnc3QtbGlicy9nc3QvYXBwIChkdWghKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1vdmUgdGhlIGFwcCBsaWJyYXJ5IHRvIGdzdC1saWJzL2dzdC9hcHAgKGR1aCEpCgoyMDA3LTAzLTAyIDE5OjQzOjQ4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkgIENvbW1pdCBOQVMgU2luaywgY2xvc2VkIGJ1Z3ppbGxhIDM0NTYzMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29tbWl0IE5BUyBTaW5rLCBjbG9zZWQgYnVnemlsbGEgMzQ1NjMzCgoyMDA3LTAzLTAyIDE4OjI0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogQSBmZXcgc21hbGwgY2xlYW4tdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KSwgKGdzdF9kdHNkZWNfc2lua19ldmVudCk6CgkgIEEgZmV3IHNtYWxsIGNsZWFuLXVwcy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgTW9yZSBkZWJ1ZyBvdXRwdXQgZm9yIGZhaWx1cmUgY2FzZXMuCgoyMDA3LTAzLTAyIDE4OjEwOjA2ICswMDAwICBZb3VuZy1IbyBDaGEgPGdhbmFkaXN0QGNob2xsaWFuLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IERvbid0IGRvIGZvcmNlZCBkb3dubWl4aW5nIHRvIHN0ZXJlbywgYnV0IGNoZWNrIHdoYXQgZG93bnN0cmVhbSBjYW4gZG8gYW5kIGxldCBsaWJkdHMgZG8gdGhlIGRvdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5nLUhvIENoYSAgPGdhbmFkaXN0IGF0IGNob2xsaWFuIG5ldD4KCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19oYW5kbGVfZnJhbWUpLAoJICAoZ3N0X2R0c2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBkbyBmb3JjZWQgZG93bm1peGluZyB0byBzdGVyZW8sIGJ1dCBjaGVjayB3aGF0IGRvd25zdHJlYW0KCSAgY2FuIGRvIGFuZCBsZXQgbGliZHRzIGRvIHRoZSBkb3dubWl4aW5nIGJhc2VkIG9uIHRoYXQgKCM0MDA1NTUpLgoKMjAwNy0wMy0wMiAxMzozMzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBzcHVyaW91cyBjb25mbGljdCBtYXJrZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBzcHVyaW91cyBjb25mbGljdCBtYXJrZXIKCjIwMDctMDMtMDIgMTI6MDQ6MDIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IFNpbXBsaWZ5IF9zZXRfdXJpKCkgYW5kIF9zZXRfcHJveHkoKSBhbmQgcmVtb3ZlIHRoZSB1bnVzZWQgaXNodHRwIG1lbWJlciAoIzM4ODA1MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyICA8bHV0eiB0b3Bmcm9zZSBkZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF91cmkpLCAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJveHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFNpbXBsaWZ5IF9zZXRfdXJpKCkgYW5kIF9zZXRfcHJveHkoKSBhbmQgcmVtb3ZlIHRoZSB1bnVzZWQgaXNodHRwCgkgIG1lbWJlciAoIzM4ODA1MCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGJvZ3VzIFVSSSB0byBzb21ldGhpbmcgdGhhdCBhY3R1YWxseSBleGlzdHMsIG90aGVyd2lzZSB3ZSBqdXN0CgkgIGJ5cGFzcyB0aGUgdGVzdCAoYW5kIGFsc28gdG8gc29tZXRoaW5nIHRoYXQgZG9lc24ndCByZWRpcmVjdCwgc2luY2UKCSAgbmVvbmh0dHBzcmMgZG9lc24ndCBzZWVtIHRvIGhhbmRsZSB0aGlzIHZlcnkgZ3JhY2VmdWxseSB5ZXQpCgoyMDA3LTAzLTAyIDExOjE0OjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIEFkZCBwYXRjaCBmcm9tIEJ1ZyAzNTcwNTUgZnJvbSBDaHJpcyBMb3JkLCBhZGRpbmcgc3VwcG9ydCBmb3IgVm9yYmlzIHN0cmVhbXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBwYXRjaCBmcm9tIEJ1ZyAzNTcwNTUgZnJvbSBDaHJpcyBMb3JkLCBhZGRpbmcgc3VwcG9ydCBmb3IgVm9yYmlzIHN0cmVhbXMKCjIwMDctMDMtMDEgMTc6Mjc6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4KCSAgcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdmVyc2lvbnMuCgoyMDA3LTAyLTI4IDE5OjMxOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTI3IDExOjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5CgkgIG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIHdpdGhpbiBhbiBOU0FwcCAod2hpY2ggaGFzIGFscmVhZHkgZ290CgkgIGEgY29jYSBldmVudCBsb29wKS4KCSAgUmVtb3ZlIGFsbCB1bnVzZWQgY29kZS4KCjIwMDctMDItMjYgMjE6MDE6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGEgbmV3IHBsdWdpbi9saWJyYXJ5IHRvIG1ha2UgaXQgZWFzeSBmb3IgYXBwcyB0byBzaG92ZSBkYXRhIGludG8gYSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBhIG5ldyBwbHVnaW4vbGlicmFyeSB0byBtYWtlIGl0IGVhc3kgZm9yIGFwcHMgdG8gc2hvdmUKCSAgZGF0YSBpbnRvIGEgcGlwZWxpbmUuCgoyMDA3LTAyLTI2IDEwOjMyOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHNvdXJjZSBwYWRzLCB0byBhdm9pZCBuZWdvdGlhdGlvbiBlcnJvcnMgaW4gY2VydGFpbiBzaXR1YXRpb25zIChlLmcuIGRlYyAhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpOgoJICBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHNvdXJjZSBwYWRzLCB0byBhdm9pZCBuZWdvdGlhdGlvbgoJICBlcnJvcnMgaW4gY2VydGFpbiBzaXR1YXRpb25zIChlLmcuIGRlYyAhIGNzICEgeGltYWdlc2luayBhbmQgdGhlCgkgIGltYWdlc2luayB3aW5kb3cgaXMgcmVzaXplZCk7IGFsc28sIHNvbWUgbWlub3IgY2xlYW4tdXBzLgoKMjAwNy0wMi0yNCAyMjo1Mjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoKMjAwNy0wMi0yMCAyMTozNDowMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBBZGQgYSBuZXcgd2F2ZWZvcm0gcGx1Z2luIHdoaWNoIGluY2x1ZGVzIGFuIGF1ZGlvIHNpbmsKCSAgZWxlbWVudCB1c2luZyB0aGUgV2F2ZUZvcm0gd2luMzIgQVBJLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdGhlIG5ldyBwcm9qZWN0IGZpbGUgZm9ybSB3YXZlZm9ybSBwbHVnaW4uCgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xNiAxNjoyNjozMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBlcXVhbGl6ZXIgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZXF1YWxpemVyIHBsdWdpbgoKMjAwNy0wMi0xMyAxNDoyMjo1MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBcIGluIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBcIGluIE1ha2VmaWxlLmFtCgoyMDA3LTAyLTEzIDA5OjQ0OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuIEFsc28gZml4IHR5cG8gaW4gdGltaWRpdHkuY2ZnIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuIEFsc28gZml4IHR5cG8gaW4KCSAgdGltaWRpdHkuY2ZnIGNoZWNrLgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICBBbHNvIGJ1aWxkIGlmIG5vIGNvbmZpZyB3YXMgZGV0ZWN0ZWQgYXQgY29uZmlndXJlIHRpbWUuCgoyMDA3LTAyLTExIDE1OjQ2OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2Vjb25kIG1pZGkgcmVuZGVyZXIuIEZpeCBzb21lIGRvdWJsZSBmcmVlcyBhbmQgbGVha3MuIENsZWFuIHVwIGxvZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfYmFzZV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9jbGFzc19pbml0KSwgKGdzdF93aWxkbWlkaV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9zcmNfY29udmVydCksIChnc3Rfd2lsZG1pZGlfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93aWxkbWlkaV9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3Rfd2lsZG1pZGlfZ2V0X3NlZ21lbnQpLAoJICAoZ3N0X3dpbGRtaWRpX2dldF9uZXdfc2VnbWVudF9ldmVudCksIChnc3Rfd2lsZG1pZGlfc3JjX2V2ZW50KSwKCSAgKGdzdF93aWxkbWlkaV9hY3RpdmF0ZSksIChnc3Rfd2lsZG1pZGlfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF93aWxkbWlkaV9hbGxvY2F0ZV9idWZmZXIpLCAoZ3N0X3dpbGRtaWRpX2NsaXBfYnVmZmVyKSwKCSAgKGdzdF93aWxkbWlkaV9maWxsX2J1ZmZlciksIChnc3Rfd2lsZG1pZGlfZ2V0X2J1ZmZlciksCgkgIChnc3Rfd2lsZG1pZGlfbG9vcCksIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93aWxkbWlkaV9zZXRfcHJvcGVydHkpLCAoZ3N0X3dpbGRtaWRpX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2lsZG1pZGlfdHlwZWZpbmQpLCAod2lsZG1pZGlfb3Blbl9jb25maWcpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBBZGQgc2Vjb25kIG1pZGkgcmVuZGVyZXIuIEZpeCBzb21lIGRvdWJsZSBmcmVlcyBhbmQgbGVha3MuIENsZWFuIHVwCgkgIGxvZ2dpbmcuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMi0xMSAxMTo1OTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBbHNvIHVwZGF0ZSB0aGUgY29tbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgaGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBBbHNvIHVwZGF0ZSB0aGUgY29tbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgaGFjay4KCjIwMDctMDItMTEgMTE6MzU6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVGVsbCB0aGUgY29kZSB3aGljaCBmYWFkIGl0IGlzLCBzbyB0aGF0IHdlIGNhbiBhZGp1c3QgdGhlIGhhY2tzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBUZWxsIHRoZSBjb2RlIHdoaWNoIGZhYWQgaXQgaXMsIHNvIHRoYXQgd2UgY2FuIGFkanVzdCB0aGUgaGFja3MKCSAgbmVlZGVkLgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgTWFrZSBvdXIgaGFja3MgZGVwZW5kZW50IG9uIHRoZSBmYWRkIGxpYiBpbiB1c2UuCgoyMDA3LTAyLTExIDEwOjU4OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBmYWFkIGRldGVjdGlvbiB0byBzdXBwb3J0IGFsc28gZmFkZCB3aXRoIG5ldyBzeW1ib2wgcHJlZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBmYWFkIGRldGVjdGlvbiB0byBzdXBwb3J0IGFsc28gZmFkZCB3aXRoIG5ldyBzeW1ib2wgcHJlZml4LgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCjIwMDctMDItMDggMTU6MDA6MDAgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgoJICBBZGQgdGltaXRpdHkgbWlkaSByZW5kZXIgcGx1Z2luICgjNDAzOTkyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9jbGFzc19pbml0KSwgKGdzdF90aW1pZGl0eV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9zZXRfc29uZ19vcHRpb25zKSwgKGdzdF90aW1pZGl0eV9zcmNfY29udmVydCksCgkgIChnc3RfdGltaWRpdHlfc3JjX3F1ZXJ5KSwgKGdzdF90aW1pZGl0eV9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfdGltaWRpdHlfZ2V0X3NlZ21lbnQpLCAoZ3N0X3RpbWlkaXR5X2dldF9uZXdfc2VnbWVudF9ldmVudCksCgkgIChnc3RfdGltaWRpdHlfc3JjX2V2ZW50KSwgKGdzdF90aW1pZGl0eV9hY3RpdmF0ZSksCgkgIChnc3RfdGltaWRpdHlfYWN0aXZhdGVwdWxsKSwgKGdzdF90aW1pZGl0eV9hbGxvY2F0ZV9idWZmZXIpLAoJICAoZ3N0X3RpbWlkaXR5X2NsaXBfYnVmZmVyKSwgKGdzdF90aW1pZGl0eV9maWxsX2J1ZmZlciksCgkgIChnc3RfdGltaWRpdHlfZ2V0X2J1ZmZlciksIChnc3RfdGltaWRpdHlfbG9vcCksCgkgIChnc3RfdGltaWRpdHlfY2hhbmdlX3N0YXRlKSwgKGdzdF90aW1pZGl0eV90eXBlZmluZCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkgIEFkZCB0aW1pdGl0eSBtaWRpIHJlbmRlciBwbHVnaW4gKCM0MDM5OTIpCgoyMDA3LTAyLTA3IDEyOjI5OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogR1NUX1BBRF9QQVJFTlQgZG9lc24ndCByZXR1cm4gYSBHc3RPYmplY3Qgd2l0aCBhbiBpbmNyZW1lbnRlZCByZWZjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5KToKCSAgR1NUX1BBRF9QQVJFTlQgZG9lc24ndCByZXR1cm4gYSBHc3RPYmplY3Qgd2l0aCBhbiBpbmNyZW1lbnRlZCByZWZjb3VudC4KCSAgU3dpdGNoZWQgdG8gdXNpbmcgZ3N0X3BhZF9nZXRfcGFyZW50KCkuCgoyMDA3LTAyLTA2IDE2OjAwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoKSBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSgpIGNhbGwuCgoyMDA3LTAyLTA2IDEwOjE2OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBJbmNyZWFzZSByZXF1aXJlZCBsaWJzbmRmaWxlIHZlcnNpb24gdG8gYSB2ZXJzaW9uIHRoYXQncyBrbm93biB0byBoYXZlIHRoZSBmdW5jdGlvbiBzZl93cml0ZV9zeW5jKCkgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgSW5jcmVhc2UgcmVxdWlyZWQgbGlic25kZmlsZSB2ZXJzaW9uIHRvIGEgdmVyc2lvbiB0aGF0J3Mga25vd24gdG8KCSAgaGF2ZSB0aGUgZnVuY3Rpb24gc2Zfd3JpdGVfc3luYygpIHRvIG1ha2UgdGhlIGJ1aWxkIGJvdHMgaGFwcHkuCgoyMDA3LTAyLTA2IDA5OjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogRml4IGJ1aWxkIChpbnN0YWxsZWQgc2V0dXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJICBGaXggYnVpbGQgKGluc3RhbGxlZCBzZXR1cCkuCgoyMDA3LTAyLTA1IDE4OjQyOjQ1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvc25kZmlsZS86IFBvcnQgc2ZzcmMgdG8gMC4xMCwgcHVsbCBvciBwdXNoLCB3aXRoIHJhbmRvbSBhY2Nlc3Mgd29vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IFBvcnQgc2ZzcmMgdG8gMC4xMCwgcHVsbCBvciBwdXNoLCB3aXRoCgkgIHJhbmRvbSBhY2Nlc3Mgd29vLgoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAwNy0wMi0wMiAxODozNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSk6CgkgIFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgR1ZhbHVlQXJyYXksIHNvIGl0J3MgbW9yZSBlYXNpbHkgYmluZGFibGUgYW5kIHRoZSByYW5nZSBvZiB0aGUKCSAgdmFsdWVzIHBhc3NlZCBpbiBpcyBkZWZpbmVkIGFuZCBjaGVja2VkIGV0Yy47IGFsc28gZG8gc29tZQoJICBsb2NraW5nLgoKMjAwNy0wMi0wMiAxNzozOToyMSArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGF0IGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgoyMDA3LTAyLTAyIDEzOjI4OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWM6IGV4dC9NYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMi0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtCgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5oOiBQb3J0IHNmc2luayB0byAwLjEwLiBXb3JrcyBpbiBwdWxsIG9yCgkgIHB1c2ggbW9kZSB3aXRoIGludGVybGVhdmVkIGZsb2F0IG9yIGludCBkYXRhLgoKMjAwNy0wMi0wMiAxMTowOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBTZXQgcmFuayB0byBOT05FIHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgYXV0b3BsdWdnZWQgYnkgYXV0b2F1ZGlvc2luayAod2hpY2ggZGlkbid0IGhhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgdG8gTk9ORSBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IGF1dG9wbHVnZ2VkIGJ5IGF1dG9hdWRpb3NpbmsKCSAgKHdoaWNoIGRpZG4ndCBoYXBwZW4gcHJldmlvdXNseSBiZWNhdXNlIHRoZSBrbGFzcyBzdHJpbmcgZGlkbid0CgkgIGNvbnRhaW4gYW55dGhpbmcgYXV0b2F1ZGlvc2luayB3YXMgbG9va2luZyBmb3IpLgoKMjAwNy0wMS0zMSAxMDowMjowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlYWwvOiBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgoyMDA3LTAxLTMxIDA4OjMyOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lCgkgIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCjIwMDctMDEtMzEgMDg6MTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCksCgkgIChnc3RfbGFkc3BhX2NsYXNzX2luaXQpOgoJICBJbXByb3ZlIEtsYXNzaWZpY2F0aW9uIGFuZCByZWR1Y2UgY29kZSBzbGlnaGx5LgoKMjAwNy0wMS0zMCAxNzoxOTozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQb3J0IG9mIG9zeHZpZGVvIHBsdWdpbiB0byAwLjEwLiBEbyBOT1QgY29uc2lkZXIgMTAwJSBzdGFibGUgIQoJICBGaXhlcyAjNDAyNDcwCgoyMDA3LTAxLTI5IDIwOjUxOjAyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNy0wMS0yOCAxODoyODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCk6CgkgIEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChjaGVja19idXNfZm9yX2Vycm9ycyksCgkgICh0ZXN0X3dpdGhfY2FwcyksIChtYWluKToKCSAgQmxvY2sgc3RyZWFtaW5nIHRocmVhZCBiZWZvcmUgY2hhbmdpbmcgZmlsdGVyIGNhcHMgd2hpbGUgdGhlCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgcmFuZG9tIG5vdC1uZWdvdGlhdGVkCgkgIGVycm9ycyBqdXN0IGJlY2F1c2UgR1N0cmVhbWVyIGNhbid0IGhhbmRsZSB0aGF0IHlldC4KCjIwMDctMDEtMjggMTc6MzU6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvOiBhZGQgR3N0Q29udHJvbGxlciBzdXBwb3J0IHRvIGxhZHNwYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2NsYXNzX2dldF9wYXJhbV9zcGVjKToKCSAgYWRkIEdzdENvbnRyb2xsZXIgc3VwcG9ydCB0byBsYWRzcGEKCjIwMDctMDEtMjggMTM6MDE6MDIgKzAwMDAgIFJvc2ZyYW4gQm9yZ2VzIDxyb3NmcmFuLmJvcmdlc0BpZG50Lm9yZy5icj4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFJlbW92ZSBzbGVlcCBjYWxscywgdGhleSd2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGxpYnJhcnkgbm93IC4uLiAoIzM1NDQ1MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9zZnJhbiBCb3JnZXMgPHJvc2ZyYW4gZG90IGJvcmdlcyBhdCBpZG50IG9yZyBicj4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc3RhcnQpLAoJICAoZ3N0X215dGh0dl9zcmNfbmV4dF9wcm9ncmFtX2NoYWluKToKCSAgUmVtb3ZlIHNsZWVwIGNhbGxzLCB0aGV5J3ZlIGJlZW4gbW92ZWQgaW50byB0aGUgbGlicmFyeSBub3cgLi4uCgkgICgjMzU0NDUxKS4KCjIwMDctMDEtMjcgMTY6MDg6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKToKCSAgQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgoyMDA3LTAxLTI1IDIzOjI3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUKCSAgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBzZXQgdGhlIGNvcnJlY3QgZm9ybWF0IGluIHRoZSBzZWVraW5nIHF1ZXJ5IGFuZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGhlYWRlcnMgYXJlIG5vdCByZWFkIHlldCBhbmQgd2UgY2FuJ3Qgc2F5CgkgIGFueXRoaW5nIGFib3V0IG91ciBzZWVraW5nIGNhcGFiaWxpdGllcy4KCjIwMDctMDEtMjUgMjE6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgoyMDA3LTAxLTI1IDEyOjA1OjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKGdzdF9tdWx0aV9maWxlX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX3ZpZGVvX2NyZWF0ZV9idWZmZXIpLAoJICAoZ3N0X212ZV92aWRlb19wYWxldHRlKSwgKGdzdF9tdmVfdmlkZW9fY29kZV9tYXApLAoJICAoZ3N0X212ZV9hdWRpb19pbml0KSwgKGdzdF9tdmVfYXVkaW9fZGF0YSksIChnc3RfbXZlX3RpbWVyX2NyZWF0ZSksCgkgIChnc3RfbXZlX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcHVzaF9jaHVuayk6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6IChtdmVfZW5jb2RlX2ZyYW1lMTYpOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6IChtdmVfZW5jb2RlX2ZyYW1lOCk6CgkgIFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgRml4ZXMgYnVpbGQgb24gbWFjIG9zIHguCgkgIDx3aW5nbz4gb28gbG9vayBhdCBtZSBteSBuYW1lIGlzIGVkd2FyZCBpJ20gaGFja2luZyBvbiBtYWNvcyB3b29vCgoyMDA3LTAxLTI0IDExOjI5OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgoyMDA3LTAxLTIzIDE0OjU0OjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgd29yayBpZiBpdCdzIGFscmVhZHkgdGhlcmUgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3b3JrIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSB0b28KCjIwMDctMDEtMTcgMTc6Mjk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBVc2UgYnJlYWsgaGVyZSBpbnN0ZWFkIG9mIGdvdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zZXRfcHJvcGVydHkpOgoJICBVc2UgYnJlYWsgaGVyZSBpbnN0ZWFkIG9mIGdvdG8uCgoyMDA3LTAxLTEzIDE5OjEyOjMyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOiBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKToKCSAgVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKTogUmVtb3ZlIHNyYyBwYWRzLCBub3Qgc2luayBwYWRzLiBJCgkgIHNlZW0gdG8gaGF2ZSByZXZlcnNlIG1pZGFzIGRpc2Vhc2UhCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOiBQcm94eSB0aW1lc3RhbXBzLCBvZmZzZXRzLCBkdXJhdGlvbnMsCgkgIGFuZCBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLiBGaXhlcyAjMzk1NTk3LCBJIHRoaW5rLgoKMjAwNy0wMS0xMyAxODowMTo0MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZQoJICBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfc2V0Y2FwcywgZ3N0X2ludGVybGVhdmVfc3JjX2dldGNhcHMpCgkgIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogU2V0IGEgc2V0Y2FwcyBhbmQgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUKCSAgc3JjIHBhZCwgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IHB1bGwtbW9kZSBuZWdvdGlhdGlvbi4KCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6IFJlbmFtZWQgZnJvbQoJICBnc3RfaW50ZXJsZWF2ZV9zZXRjYXBzLCBhcyBpdCBvbmx5IGRvZXMgdGhlIHNpbmsgbG9naWMgbm93LgoJICBJbXBsZW1lbnQgYm90aCBmb3IgcHVsbC1tb2RlIGFuZCBwdXNoLW1vZGUuCgkgIChnc3RfaW50ZXJsZWF2ZV9wcm9jZXNzKTogU2V0IGNhcHMgb24gb3VyIG91dGdvaW5nIGJ1ZmZlci4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19hY3RpdmF0ZV9wdWxsKTogRml4IHNvbWUgbW9yZSBib2d1cyBjYXN0cy4KCSAgV2hhdCBpcyB1cCB3aXRoIHRoaXMuCgoyMDA3LTAxLTEzIDEyOjM3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQ2xlYW4gdXAgYSBiaXQsIG1vc3RseSB0aGUgZGVidWcgc3RhdGVtZW50czsgZml4IGRlYWRsb2NrIGluIF9zZXRfcHJvcGVydHkoKSBpbiB0aGUgZXJyb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChkb19yZWFkX3JlcXVlc3RfcmVzcG9uc2UpLAoJICAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKSwgKGdzdF9teXRodHZfc3JjX2dldF9wb3NpdGlvbiksCgkgIChnc3RfbXl0aHR2X3NyY19kb19zZWVrKSwgKGdzdF9teXRodHZfc3JjX3N0YXJ0KSwKCSAgKGdzdF9teXRodHZfc3JjX25leHRfcHJvZ3JhbV9jaGFpbiksIChnc3RfbXl0aHR2X3NyY19nZXRfc2l6ZSksCgkgIChnc3RfbXl0aHR2X3NyY19oYW5kbGVfZXZlbnQpLCAoZ3N0X215dGh0dl9zcmNfaGFuZGxlX3F1ZXJ5KSwKCSAgKGdzdF9teXRodHZfc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfbXl0aHR2X3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X215dGh0dl9zcmNfdXJpX2dldF90eXBlKToKCSAgQ2xlYW4gdXAgYSBiaXQsIG1vc3RseSB0aGUgZGVidWcgc3RhdGVtZW50czsgZml4IGRlYWRsb2NrIGluCgkgIF9zZXRfcHJvcGVydHkoKSBpbiB0aGUgZXJyb3IgY2FzZXM7IGZpeCB1cCBxdWVyeSBmdW5jdGlvbi4KCjIwMDctMDEtMTIgMjE6NTg6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgUmVtb3ZlIGZpeGF0ZS9vdWlqYSBzdHVmZiwgdGhhbmtmdWxseSwgZHVlIHRvIHRoZSBuZXcKCSAgcGFydC1uZWdvdGlhdGlvbi50eHQgcHVsbC1tb2RlIG5lZ290aWF0aW9uIHNjaGVtZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHNfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBJbXBsZW1lbnQgdXBzdHJlYW0gc2V0X2NhcHMgcHVsbAoJICBwcm94eWluZyBmb3IgcHVsbCBtb2RlLiBOb3cgdGhpcyB3b3JrczogbGFkc3BhLXNpbmUtZmNhYyAhCgkgIGF1ZGlvY29udmVydCAhIGFsc2FzaW5rLgoKMjAwNy0wMS0xMiAxOTowMjozNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIE15dGhUViBjbGllbnQgc291cmNlIHBsdWdpbiBjcmVhdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXl0aFRWIGNsaWVudCBzb3VyY2UgcGx1Z2luIGNyZWF0ZWQuCgoyMDA3LTAxLTEyIDE3OjE2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3hxdF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfcXVpY2t0aW1lX3BhcnNlX3NkKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF94cXRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3hxdF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE1ha2UgbmV3IHBsdWdpbiBlbnRyeSBwb2ludCB3aXRoIHF1aWNrdGltZSByZWxlYXRlZCBzdHVmZi4KCjIwMDctMDEtMTIgMTI6MTA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbTogRGlzdCBhbGwgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgbmV3IGZpbGVzLgoKMjAwNy0wMS0xMiAxMDoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoKMjAwNy0wMS0xMiAxMDoyNTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuKjogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3NhbXBsZV9yYXRlX2NiKSwKCSAgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDctMDEtMTIgMTA6MjQ6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWVuYy5jOiBGaXggdHlwbyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KToKCSAgRml4IHR5cG8gaW4gZG9jcy4KCjIwMDctMDEtMTIgMTA6MjI6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzogKHF0ZGVtdXhfdHlwZV9nZXQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBNb3ZlIGRlYnVnZ2luZy90YWJsZXMgaW50byBzZXBhcmF0ZSBmaWxlcy4KCSAgQWRkIDIvNC8xNiBjb2xvciBwYWxsZXRlZSBzdXBwb3J0LgoJICBGaXggcmF3IDE1IGJpdCBSR0IgaGFuZGxpbmcuCgkgIFVzZSBtb3JlIEZPVVJDQyBjb25zdGFudHMuCgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTAxLTExIDE5OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKToKCSAgTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoKMjAwNy0wMS0xMSAxMjoyODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogU3VwcG9ydCBTRUVLSU5HIHF1ZXJ5IChiYWQgbmV3cyBub3cgZGVsaXZlcmVkIHByb3Blcmx5ISk7IGFkZCBldmVudCBmdW5jdGlvbiB0byBzb3VyY2UgcGFkcyB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X212ZV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9tdmVfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbXZlX2FkZF9zdHJlYW0pOgoJICBTdXBwb3J0IFNFRUtJTkcgcXVlcnkgKGJhZCBuZXdzIG5vdyBkZWxpdmVyZWQgcHJvcGVybHkhKTsgYWRkIGV2ZW50CgkgIGZ1bmN0aW9uIHRvIHNvdXJjZSBwYWRzIHRvIG1ha2Ugc3VyZSBzZWVrcyBhcmVuJ3QgcHJvcGFnYXRlZAoJICB1cHN0cmVhbSwgZXZlbiBpZiB0aGV5IGFyZW4ndCBoYW5kbGVkLgoKMjAwNy0wMS0xMSAxMTozOTo1NiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQWRkIEludGVycGxheSBNVkUgZm9ybWF0IGRlbXV4ZXIvZGVjb2RlciBhbmQgbXV4ZXIvZW5jb2Rlci4gRGVtdXhlciBkb2Vzbid0IHN1cHBvcnQgc2Vla2luZyB5ZXQsIGJ1dCBzZWVtcyB0byB3b3JrIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL1RPRE86CgkgICogZ3N0L212ZS9nc3RtdmUuYzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSAgKiBnc3QvbXZlL212ZS5oOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9kZWMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOgoJICBBZGQgSW50ZXJwbGF5IE1WRSBmb3JtYXQgZGVtdXhlci9kZWNvZGVyIGFuZCBtdXhlci9lbmNvZGVyLiBEZW11eGVyCgkgIGRvZXNuJ3Qgc3VwcG9ydCBzZWVraW5nIHlldCwgYnV0IHNlZW1zIHRvIHdvcmsgZmluZSBvdGhlcndpc2UuCgkgIENsb3NlcyAjMzQ4OTczLgoKMjAwNy0wMS0wOSAxMDowNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgKGFkZCBMSUJTIGFuZCBDRkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2Ugc3R1ZmYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIChhZGQgTElCUyBhbmQgQ0ZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIHN0dWZmKS4KCjIwMDctMDEtMDcgMjI6MDM6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZAoJICBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIFRoZSBpbnRlcmxlYXZlciBjYW4gb3BlcmF0ZSBpbiBwdWxsIG9yIHB1c2ggbW9kZSBidXQgdGhlCgkgIGRlaW50ZXJsZWF2ZXIgaXMgbW9yZSBsaWtlIGEgZGVtdXhlciBhbmQgY2FuIG9ubHkgb3BlcmF0ZSBpbiBwdXNoCgkgIG1vZGUuCgoyMDA3LTAxLTA2IDE5OjIzOjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBQcm9wZXJseSBkZXRlY3QgdGhlIHR3byBhcmNoaXRlY3R1cmVzIG9uIHdoaWNoIHRoZSByZWFsIHBsdWdpbiBjYW4gYmUgYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUHJvcGVybHkgZGV0ZWN0IHRoZSB0d28gYXJjaGl0ZWN0dXJlcyBvbiB3aGljaCB0aGUgcmVhbCBwbHVnaW4gY2FuIGJlCgkgIGJ1aWx0LgoJICBGaXhlcyAjMzkzNjIyCgoyMDA3LTAxLTA2IDE3OjIyOjEyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYwoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2Fwcyk6IE1vdmUgYXJvdW5kIGluIHRoZSBzb3VyY2UKCSAgZmlsZS4uLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSwgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOgoJICBDYWxsIG91aWphX2NhcHMgaW4gcHJlcGFyZSgpIGluc3RlYWQgb2YgZG9fcHVsbHMoKSwgYSBiaXQgZWFybGllci4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGF2ZSBjYXBzIHdoZW4gd2UgZG8gdGhlIHBhZF9hbGxvY19idWZmZXIoKS4KCSAgKGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2Fwcyk6IFVzZSBzZWxmLT5jYXBzIGluc3RlYWQgb2YgdGhlCgkgIHBhZCBjYXBzLCB3aGljaCBtaWdodCBub3QgYmUgc2V0IHlldC4KCjIwMDctMDEtMDYgMTU6NTY6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpOiBBZGQgYSBmaXhhdGUgZnVuY3Rpb24sIHRvIGFzc2lzdCBpbgoJICBwYXRob2xvZ2ljYWwgbGFkc3BhLXNpbmUtZmNhYyAhIGZha2VzaW5rIGNhbi1hY3RpdmF0ZS1wdWxsPXRydWUKCSAgY2FzZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogQWRkCgkgIG5mcmFtZXMgYXJncyBzbyB0aGF0IGdldHJhbmdlIGNhbiB0ZWxsIGxhZHNwYSBob3cgbWFueSBmcmFtZXMgdG8KCSAgcHJvY2Vzcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMpOiBzZXRjYXBzIG5lZWRzIHRvIGJlIGNhbGxlZAoJICBiZWZvcmUgcHJvY2Vzc2luZywgd2hpY2ggbm9ybWFsbHkgaGFwcGVucyB3aGVuIGNoYWluaW5nIGEgYnVmZmVyCgkgIHRvIGEgcGFkLiBIb3dldmVyIGluIGdldHJhbmdlIG1vZGUgd2l0aCBubyBzaW5rcyB3ZSBuZWVkIHRvIGNoZWNrCgkgIGV4cGxpY2l0bHkgZm9yIHRoaXMgY29uZGl0aW9uLCBndWVzcyBzb21lIGNhcHMgdG8gdXNlLCBhbmQgdXNlCgkgIHRob3NlIHRvIHNldGNhcHMoKS4gSGVuY2UgdGhpcyBteXN0aWNhbCBmdW5jdGlvbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogUHVsbCBpbiBieXRlcywgbm90IHNhbXBsZXMuCgkgIERpdmluZSB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IEludGVycHJldCB0aGUgbGVuZ3RoIGFzIGJ5dGVzLAoJICBub3Qgc2FtcGxlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKTogbmZyYW1lcz1HX01BWFVJTlQsIHdpbGwgYmUgbGltaXRlZAoJICBieSBpbmNvbWluZyBidWZmZXIgc2l6ZXMuCgoyMDA3LTAxLTA2IDE0OjA4OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IERvbid0IGNhbGwgdGhlIFJBRnJlZURlY29kZXIgc2luY2UgaXQgcmFuZG9tbHkgY2F1c2VzIHNlZ2ZhdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICBEb24ndCBjYWxsIHRoZSBSQUZyZWVEZWNvZGVyIHNpbmNlIGl0IHJhbmRvbWx5IGNhdXNlcyBzZWdmYXVsdHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgIGluZGVudCBwcm9wZXJseS4KCjIwMDctMDEtMDYgMTA6NTg6MTMgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBJbXBsZW1lbnQgZXJyb3IgcmVjb3Zlcnkgb24gc2V0Y2FwcyBmYWlsdXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLCAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgSW1wbGVtZW50IGVycm9yIHJlY292ZXJ5IG9uIHNldGNhcHMgZmFpbHVyZS4KCjIwMDctMDEtMDYgMTA6NDE6NDYgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9yZWFsLzogQWRkZWQgUmVhbEF1ZGlvIHdyYXBwZXIgZWxlbWVudGZhY3RvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksIChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfYmFzZV9pbml0KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF9hdWRpb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgIEFkZGVkIFJlYWxBdWRpbyB3cmFwcGVyIGVsZW1lbnRmYWN0b3J5LgoJICBNb2RpZmllZCBzdHJ1Y3R1cmVzIHNvIGl0IGNhbiBhbHNvIHdvcmsgb24geDg2XzY0IHVzaW5nIHRoZQoJICBhZGVxdWF0ZSAuc28gLgoKMjAwNy0wMS0wNSAxODozMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KToKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlcgoJICB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLWV4dGVybmFsIGhhcwoJICBiZWVuIHNwZWNpZmllZCEpLCBkaXNhYmxlIHRoZSBiaXRzIGluIHF0ZGVtdXggdGhhdCB1c2UgaXQuIEZpeGVzCgkgIGJ1aWxkIG9uIE1pbmdXICgjMzkyODU2KS4KCjIwMDctMDEtMDUgMTg6MTU6NTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlYWwgdmlkZW8gLnNvIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgZm9yIHg4Nl82NCwgc28gd2UgY2FuIGJ1aWxkIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlYWwgdmlkZW8gLnNvIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgZm9yIHg4Nl82NCwgc28gd2UgY2FuIGJ1aWxkIHRoZQoJICBSZWFsIHBsdWdpbiBvbiBpMzg2IEFORCB4ODZfNjQuCgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICBOZXcgcGx1Z2luIGZpbGUgZm9yIHJlYWwgLnNvIHdyYXBwZXIgcGx1Z2lucy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19hbGxvY19idWZmZXIpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSksIChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLAoJICAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2Jhc2VfaW5pdCksIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgTW92ZWQgUmVhbFZpZGVvIGVsZW1lbnQgdG8gc2VwYXJhdGUgZmlsZQoJICBDbGVhbmVkIHVwIGNvZGUgc29tZSBtb3JlLgoJICBNYWtlIGl0IHdvcmsgb24geDg2XzY0LgoJICBUcnkgc2V2ZXJhbCBwb3NzaWJsZSBsb2NhdGlvbnMgZm9yIC5zbwoJICBTZXBhcmF0ZSBvcGVuaW5nL2Nsb3NpbmcgbGlicmFyaWVzIGluIHNlcGFyYXRlIGZ1bmN0aW9ucy4KCjIwMDctMDEtMDUgMTY6MDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMKCSAgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmVhZHkgYmVlbiBpbml0ZWQgdmlhIHRoZSBHT3B0aW9uIHN0dWZmLgoKMjAwNy0wMS0wNSAxNDowMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY29tcGlsZSByZmJzb3VyY2UgaWYgd2UgZG9uJ3QgaGF2ZSBzeXMvc29ja2V0LmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY29tcGlsZSByZmJzb3VyY2UgaWYgd2UgZG9uJ3QgaGF2ZSBzeXMvc29ja2V0LmguCgkgIFNob3VsZCBmaXggY29tcGlsYXRpb24gb24gTWluZ1cuCgoyMDA3LTAxLTA0IDE2OjM5OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1saWJzL2V4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9leHQvYW1yd2IvUkVBRE1FOgoJICBhZGQgZGlyZWN0b3JpZXMgaW4gdGhlIHJpZ2h0IHBsYWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGlyZWN0b3JpZXMgaW4gdGhlIHJpZ2h0IHBsYWNlCgoyMDA3LTAxLTA0IDE2OjMyOjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvUkVBRE1FOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9ydW4uc2g6CgkqIGdzdC1saWJzL01ha2VmaWxlLmFtOgoJICBtb3ZlIGFtcndiIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgYW1yd2IgY29kZQoKMjAwNy0wMS0wNCAxNjozMjo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgbW92ZSBhbXJ3YiBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIGFtcndiIGNvZGUKCj09PSByZWxlYXNlIDAuMTAuMTIgPT09CgoyMDA3LTAxLTA0IDEyOjQ5OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogc3BsaXQgb3V0IEdTVF9DRkxBR1MgaW50byBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyBhbmQgR1NUX0NGTEFHUyBzbyB0aGF0IEdTVF9CQVNFX0NGTEFHUyBjYW4gZ28gaW5iZXR3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHNwbGl0IG91dCBHU1RfQ0ZMQUdTIGludG8gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgYW5kIEdTVF9DRkxBR1MKCSAgc28gdGhhdCBHU1RfQkFTRV9DRkxBR1MgY2FuIGdvIGluYmV0d2VlbiB0aGVtLCBtYWtpbmcgc3VyZQoJICB3ZSB1c2UgdW5pbnN0YWxsZWQgZ3N0LWxpYnMgaGVhZGVycwoJICAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3JpZmYvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvdGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBhZGFwdAoKMjAwNy0wMS0wNCAwOTo1MTo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB0aGF0IHJldmVhbCBwb3RlbnRpYWwgYnVncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF90eXBlKToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3Npbmtfb3Blbik6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQKCSAgcmV2ZWFsIHBvdGVudGlhbCBidWdzLgoKMjAwNy0wMS0wNCAwOTo0NDo1NyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfcmVzZXQpOgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTI2MzgpLiBBbHNvIHNpbXBsaWZ5IERpcmVjdERyYXcgY2hlY2sgYSBiaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IENWUyBpZ25vcmUgZm9yIG5lb25odHRwc3JjIHRlc3QgYmluYXJ5LgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNy0wMS0wMyAxNjo0MToxMCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoaWlyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfaGVhZGVyX2xvYWQpLAoJICAoZ3N0X251dl9kZW11eF9zdHJlYW1fZXh0ZW5kX2hlYWRlcik6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYQoJICBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCjIwMDctMDEtMDIgMTE6MDY6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsLmM6IFVzZSBjb2RlY19kYXRhIHN1cHBsaWVkIGluIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIChnc3RfcmVhbGRlY19zZXRjYXBzKTogVXNlIGNvZGVjX2RhdGEgc3VwcGxpZWQgaW4gY2Fwcy4KCSAgKGdzdF9yZWFsZGVjX2dldF9wcm9wZXJ0eSk6IENvcnJlY3RseSByZXR1cm4gZGVmYXVsdCBwYXRoLgoJICAoZ3N0X3JlYWxkZWNfY2xhc3NfaW5pdCk6IFJlbW92ZSB1bnVzZWQgc3RhdGVfY2hhbmdlIG1ldGhvZC4KCjIwMDctMDEtMDEgMTg6MDY6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgYnVpbGQgdGhlIHBsdWdpbiBvbiAzMmJpdCB4ODYgYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGJ1aWxkIHRoZSBwbHVnaW4gb24gMzJiaXQgeDg2IGFyY2hpdGVjdHVyZXMuCgoyMDA3LTAxLTAxIDE3OjQ3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgTmV3IHBsdWdpbiBmb3IgZGVjb2RpbmcgUmVhbFZpZGVvIFN0cmVhbXMgdXNpbmcgdGhlIHg4NiAzMmJpdCBzaGFyZWQgbGlicmFyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKGdzdF9yZWFsZGVjX2FsbG9jX2J1ZmZlciksCgkgIChnc3RfcmVhbGRlY19kZWNvZGUpLCAoZ3N0X3JlYWxkZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxkZWNfYWN0aXZhdGVfcHVzaCksIChnc3RfcmVhbGRlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsZGVjX2luaXQpLCAoZ3N0X3JlYWxkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZWFsZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbGRlY19maW5hbGl6ZSksCgkgIChnc3RfcmVhbGRlY19zZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxkZWNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsZGVjX2NsYXNzX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBOZXcgcGx1Z2luIGZvciBkZWNvZGluZyBSZWFsVmlkZW8gU3RyZWFtcyB1c2luZyB0aGUgeDg2IDMyYml0CgkgIHNoYXJlZCBsaWJyYXJpZXMuCgkgIENsb3NlcyAjMzU0MTc0CgoyMDA2LTEyLTMwIDEyOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlIGRldGFpbGluZyB3aGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UKCSAgZGV0YWlsaW5nIHdoaWNoIGVsZW1lbnQgaXQgYWN0dWFsbHkgaXMgdGhhdCdzIG1pc3NpbmcgKCMzOTA2NzMpLgoKMjAwNi0xMi0yMiAxNjoyMzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBZGRlZCBzZWVrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzZWVrIHN1cHBvcnQuCgoyMDA2LTEyLTIyIDEwOjE1OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMTc6MDU6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCByZWxlYXNlIHNlY3Rpb24gZm9yIDAuMTAuNAoKPT09IHJlbGVhc2UgMC4xMC40ID09PQoKMjAwNi0xMi0yMSAxNTo0NTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC40ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoKMjAwNi0xMi0yMSAxNTo0MDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMjEgMTQ6MDc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgZHVwbGljYXRlIGNoYW5nZWxvZyBlbnRyeSBhYm91dCByZXZlcnRpbmcgYSBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBkdXBsaWNhdGUgY2hhbmdlbG9nIGVudHJ5IGFib3V0IHJldmVydGluZyBhIHByZXZpb3VzIGNvbW1pdAoKMjAwNi0xMi0yMSAxNDowMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDEyOjU4OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMDg6MjA6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDA4OjEyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChjbGVhbnVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jOiAodGVhcmRvd25fc3VicGFyc2UpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6IChjbGVhbnVwX3RleHRvdmVybGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKGNsZWFudXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNsZWFudXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKGNsZWFudXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyksCgkgIChjbGVhbnVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6IChzZXR1cF92b3JiaXN0YWcpLAoJICAoY2xlYW51cF92b3JiaXN0YWcpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0xOCAxNzoxMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbSBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbQoJICBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdGE7IGluc3RlYWQsIHBvc3QgInByb2dyZXNzIiBlbGVtZW50CgkgIG1lc3NhZ2VzIGFzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLiBBcHBzIG1pZ2h0IGdldCBjb25mdXNlZCBhbmQgZG8KCSAgc2lsbHkgdGhpbmdzIHRvIHRoZSBwaXBlbGluZSBzdGF0ZSBpZiB0aGV5IHNlZSBidWZmZXJpbmcgbWVzc2FnZXMKCSAgZnJvbSBkaWZmZXJlbnQgc291cmNlcyBhbmQgZG9uJ3QgcmVhbGl6ZSB0aGV5IGNvbWUgZnJvbSBkaWZmZXJlbnQKCSAgc291cmNlcyAoIzM4NzE2MCkuCgoyMDA2LTEyLTE4IDE2OjQ3OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgTEFEUFNBIHBsdWdpbiBmcm9tIC1nb29kIGZvciB0aGUgcmVsZWFzZSwgYXMgaXQncyBub3QgcXVpdGUgcmVhZHkgdG8gYmUgZW5hYmxlZCBieSBkZWZhdWx0IGluIHRoZSAtZ29vZCBtb2R1bGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvKjoKCSAgTW92ZSBMQURQU0EgcGx1Z2luIGZyb20gLWdvb2QgZm9yIHRoZSByZWxlYXNlLCBhcyBpdCdzIG5vdCBxdWl0ZQoJICByZWFkeSB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIC1nb29kIG1vZHVsZSB5ZXQuCgoyMDA2LTEyLTE4IDE1OjUxOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91ciBlcnJvciBzdGF0ZSBhZnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KToKCSAgUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91cgoJICBlcnJvciBzdGF0ZSBhZnRlciB0aGUgZmx1c2guIEZpeGVzICMzNzQyMTMKCjIwMDYtMTItMTggMTM6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcgYW5kIGRvbid0IGFkZCB0aGUgcGFkLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgaXQgZG9lc24ndCBjaGVjayBmb3IgYSBOVUxMIHBhZCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgRml4ZXMgIzM4NzEzNwoKMjAwNi0xMi0xOCAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIEZpeGVzICMzODcxMjIuCgoyMDA2LTEyLTE4IDEwOjAyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOiBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sgaW5zdGFsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrCgkgIGluc3RhbGxzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgIEZpeGVzOiAjMzg3MDc2CgoyMDA2LTEyLTE3IDIwOjE5OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0xNyAyMDoxOTozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlcGxhY2Ugc29tZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBuYW1lcytlbWFpbCBhZGRyZXNzZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlcGxhY2Ugc29tZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBuYW1lcytlbWFpbCBhZGRyZXNzZXMKCjIwMDYtMTItMTYgMTU6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgSW1wbGVtZW50IHNlZWtpbmcgcXVlcnkgc28gYXBwcyBjYW4gcXVlcnkgc2Vla2FiaWxpdHkgcHJvcGVybHkKCSAgKHNlZSAjMzY1NDE0KS4gRml4IGR1cmF0aW9uIHF1ZXJ5LgoKMjAwNi0xMi0xNSAxMjoxODoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgZG9hcCBmaWxlCgoyMDA2LTEyLTE1IDA5OjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogVGhlc2UgZGVidWcgc3RhdGVtZW50cyBzaG91bGQgYmUgdXNpbmcgTE9HIGxldmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBUaGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSB1c2luZyBMT0cgbGV2ZWwuCgoyMDA2LTEyLTE0IDE1OjQ1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDogRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgKENWRS0yMDA2LTQxOTIpICgjMzg1Nzg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgKENWRS0yMDA2LTQxOTIpICgjMzg1Nzg4KS4KCjIwMDYtMTItMTMgMTc6MTI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwNi0xMi0xMiAxNjoxMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEZpeCBtaW5vciBtZW0gbGVhayBpbiByZWRpcmVjdCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIEZpeCBtaW5vciBtZW0gbGVhayBpbiByZWRpcmVjdCBjb2RlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzogKGhhbmRvZmZfY2IpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobmVvbmh0dHBzcmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwZXItYmFzaWMgdW5pdCB0ZXN0IGZvciAjMzg0MTQwLgoKMjAwNi0xMi0xMiAxMjo0NjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IFNldCBvZmZzZXQgb24gYnVmZmVycyBwdXNoZWQgb3V0IChpZDNkZW11eCBnZXRzIGNvbmZ1c2VkIGlmIHRoZSBmaXJzdCBidWZmZXIgZG9lcyBub3QgaGF2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIFNldCBvZmZzZXQgb24gYnVmZmVycyBwdXNoZWQgb3V0IChpZDNkZW11eCBnZXRzIGNvbmZ1c2VkIGlmIHRoZQoJICBmaXJzdCBidWZmZXIgZG9lcyBub3QgaGF2ZSBhbiBvZmZzZXQgb2YgMCkuIEZpeGVzICMzODQxNDAuCgoyMDA2LTEyLTEyIDExOjQ2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTWlub3IgY2xlYW4tdXBzOyByZW1vdmUgbmV3bGluZXMgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLCAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKG9vbV9jYWxsYmFjayk6CgkgIE1pbm9yIGNsZWFuLXVwczsgcmVtb3ZlIG5ld2xpbmVzIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0xMi0xMSAxNzozMzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZQoJICBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzICMzNzg2MTMuCgoyMDA2LTEyLTExIDA5OjUxOjE3ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBtb2RwbHVnIGR1cmF0aW9uIHF1ZXJ5LiBGaXhlcyAjMzg0Mjk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PikuCgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IG1vZHBsdWcgZHVyYXRpb24gcXVlcnkuIEZpeGVzICMzODQyOTQuCgoyMDA2LTEyLTA4IDE3OjA2OjQzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBGaXhlcyAjMzgzNDcxLgoKMjAwNi0xMi0wNyAxMTozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgoyMDA2LTEyLTA2IDE2OjU3OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9qYWNrLy5jdnNpZ25vcmU6IElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoKMjAwNi0xMi0wNiAxNjoxNDozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB0aGUgSmFjayByZXF1aXJlbWVudCB0byB0aGUgdmVyc2lvbiB3aGVyZSBJIHRoaW5rIG9wdGlvbnNfdCBhcHBlYXJlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB0aGUgSmFjayByZXF1aXJlbWVudCB0byB0aGUgdmVyc2lvbiB3aGVyZSBJIHRoaW5rIG9wdGlvbnNfdAoJICBhcHBlYXJlZAoKMjAwNi0xMi0wMSAxMDozNTozOSArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL01BTklGRVNUOiBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGRvdCBjb20+CgkgIFBhcnRpYWxseSBmaXhlcyAjMzgxMTc1CgoyMDA2LTExLTMwIDE1OjA4OjA4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19ldmVudCk6CgkgIENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgoyMDA2LTExLTMwIDExOjU5OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTExLTMwIDExOjQ5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfaW5pdCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcGF1c2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RvcCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kZWxheSksCgkgIChnc3RfamFja19jb25uZWN0X2dldF90eXBlKSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoKMjAwNi0xMS0yNyAxNzoxNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IKCSAgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCjIwMDYtMTEtMjYgMTc6MjM6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IFNlbmQgZXZlbnRzIG9uIHRoZSByaWdodCBwYWRzLCBzaW5jZSB0aGV5IGRvbid0IHdvcmsgdmVyeSB3ZWxsIGlmIHlvdSBzZW5kIHRoZW0gaW4gdGhlIHdyb25nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zcmNfZXZlbnQpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX2NoYWluKToKCSAgU2VuZCBldmVudHMgb24gdGhlIHJpZ2h0IHBhZHMsIHNpbmNlIHRoZXkgZG9uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYKCSAgeW91IHNlbmQgdGhlbSBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgoKMjAwNi0xMS0yNCAwOTowNTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zIGFuZCBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvcG9seXAvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcyBhbmQgZnVuY3Rpb25zCgoyMDA2LTExLTIxIDEzOjAwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHJmYnNyYyBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCByZmJzcmMgcGx1Z2luCgoyMDA2LTExLTE5IDEyOjAyOjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGlicmZiL01ha2VmaWxlLmFtOiBDb21waWxlIHdpdGggYXBwcm9wcmlhdGUgY2ZsYWdzLiBGaXhlcyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgQ29tcGlsZSB3aXRoIGFwcHJvcHJpYXRlIGNmbGFncy4gRml4ZXMgYnVpbGQuCgoyMDA2LTExLTE3IDE4OjUxOjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBUT05FIHBhcmFtZXRlciBmb3IgRFZCLVMgd2hlbiB3ZSBzaG91bGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTE3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfdHVuZSk6CgkgIEFjdHVhbGx5IHNldCB0aGUgVE9ORSBwYXJhbWV0ZXIgZm9yIERWQi1TIHdoZW4gd2Ugc2hvdWxkLgoKMjAwNi0xMS0xNyAwMzo1MTowNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4ZXMgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4ZXMgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgoKMjAwNi0xMS0xNyAwMzoyOTozMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOiBPb3BzLCBhZGQgdGhpcyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOiAgT29wcywgYWRkIHRoaXMgZmlsZS4KCjIwMDYtMTEtMTcgMDM6MTU6NDAgKzAwMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIDxhbmRydW5rb0BnbWFpbC5jb20+CgoJICBQb3J0IGxpYnJmYiB0byAwLjEwICgjMzc2MTA2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyA8YW5kcnVua29AZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYi5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uaDoKCSAgKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgUG9ydCBsaWJyZmIgdG8gMC4xMCAoIzM3NjEwNikuCgoyMDA2LTExLTE2IDE4OjIyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwYy9nc3RzcGMuYzogRml4IGJ1aWxkIHdpdGggZGlzYWJsZWQgZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3BsYXkpOgoJICBGaXggYnVpbGQgd2l0aCBkaXNhYmxlZCBnc3QtZGVidWcuCgoyMDA2LTExLTE1IDE2OjE5OjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDYtMTEtMTUgMTI6MzU6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLAoJICBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tZSBjb2RlIGludG8gX3Jlc2V0KCkKCSAgZnVuY3Rpb25zICgjMzUyNjA1KS4KCjIwMDYtMTEtMTQgMTU6MDQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbWlzc2luZyBmaWxlcyBmcm9tIFNQRUMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGZpbGVzIGZyb20gU1BFQwoKMjAwNi0xMS0xNCAxMjozMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLio6IEZpeCBtaW5vciBwcmludGYgZm9ybWF0IGlzc3VlOyByZW1vdmUgb3Zlcmx5IHBhcmFub2lkIGNoZWNrcyBpbiBjcmVhdGUgZnVuY3Rpb247IGZpeCBHT2JqZWN0IGJvaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19jcmVhdGUpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEZpeCBtaW5vciBwcmludGYgZm9ybWF0IGlzc3VlOyByZW1vdmUgb3Zlcmx5IHBhcmFub2lkIGNoZWNrcyBpbgoJICBjcmVhdGUgZnVuY3Rpb247IGZpeCBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMTEtMTQgMTE6NDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgoyMDA2LTExLTE0IDExOjM5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIGNkYXVkaW8gdG8gaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgY2RhdWRpbyB0byBpZ25vcmUuCgoyMDA2LTExLTE0IDEwOjUyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBkaXN0IGNkYXVkaW8gZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3QgY2RhdWRpbyBkaXIuCgoyMDA2LTExLTE0IDEwOjQyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGNkYXVkaW8gYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBjZGF1ZGlvIGJ1aWxkLgoKMjAwNi0xMS0xNCAxMDozMToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgZ2l2ZSBjcmVkaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdpdmUgY3JlZGl0CgoyMDA2LTExLTE0IDEwOjI1OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBBZGRlZCB5NG0gdGVzdC4gRml4ZXMgIzM3MjI0My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoeTRtZW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGRlZCB5NG0gdGVzdC4gRml4ZXMgIzM3MjI0My4KCjIwMDYtMTEtMTMgMTg6NTU6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBjb25maWd1cmUuYWM6IEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfYmFzZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NsYXNzX2luaXQpLCAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9yZXNldCksIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9mcmFtZV9oZWFkZXIpLCAoZ3N0X3k0bV9lbmNvZGVfY2hhaW4pLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0X3Byb3BlcnR5KSwgKGdzdF95NG1fZW5jb2RlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeTRtX2VuY29kZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFBvcnQgb2YgeTRtZW5jb2RlIHRvIDAuMTAuCgoyMDA2LTExLTExIDAwOjIyOjI0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEEgbGl0dGxlIHBsdWdneSB0byBtYWtlIHNlbnNlIG91dCBvZiB0aGUgcmFuZG9tIGNodW5rcyB3ZSBnZXQgZnJvbSBtdWx0aWZpbGVzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEEgbGl0dGxlIHBsdWdneSB0byBtYWtlIHNlbnNlIG91dCBvZiB0aGUgcmFuZG9tIGNodW5rcyB3ZSBnZXQKCSAgZnJvbSBtdWx0aWZpbGVzcmMuCgoyMDA2LTExLTEwIDE5OjE4OjMzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06IExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAwNi0xMS0xMCAxOTowNzo0MyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlc2luay86IFJlbW92ZSB0aGUgb2xkIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9tdWx0aWZpbGVzaW5rLnZjcHJvajoKCSAgUmVtb3ZlIHRoZSBvbGQgb25lLgoKMjAwNi0xMS0xMCAxODo1MToxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCjIwMDYtMTEtMDkgMTQ6MDA6MzQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KQoJICAoZ3N0X2R2YnNyY19jcmVhdGUpLCAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLAoJICAoZ3N0X2R2YnNyY190dW5lKSwgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXJzKToKCSAgUmVuYW1lIHNldF9wZXNfZmlsdGVyIHRvIHNldF9wZXNfZmlsdGVycyBmb3IgY29uc2lzdGVuY3kuCgkgIERvIHJ1bi10aW1lIHBpZCBmaWx0ZXJpbmcuCgoyMDA2LTExLTA4IDExOjI3OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRG8gbm90IGNhbGwgb3V0cHV0X2Zyb250ZW5kX3N0YXRzIGZyb20gYSBtZXRob2QgdGhhdCBkb2VzIG5vdCBoYXZlIHRoZSBnc3RkdmJzcmMgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChyZWFkX2RldmljZSk6CgkgIERvIG5vdCBjYWxsIG91dHB1dF9mcm9udGVuZF9zdGF0cyBmcm9tIGEgbWV0aG9kIHRoYXQgZG9lcyBub3QKCSAgaGF2ZSB0aGUgZ3N0ZHZic3JjIG9iamVjdC4KCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQsIHNvcnJ5IGd1eXMhCgoyMDA2LTExLTA3IDE0OjQ2OjU2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuKjogRm9yY2UgUEFUIHRvIGFsd2F5cyBiZSBpbiB0aGUgZmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChyZWFkX2RldmljZSksIChnc3RfZHZic3JjX2NyZWF0ZSksCgkgIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksIChnc3RfZHZic3JjX3R1bmUpLAoJICAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcik6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgRm9yY2UgUEFUIHRvIGFsd2F5cyBiZSBpbiB0aGUgZmlsdGVyLgoJICBUcnkgdG8gY29udGludWUgcmVhZGluZyBhZnRlciBmYWlsaW5nIDEwIHRpbWVzLgoKMjAwNi0xMS0wNCAxMzoyNjo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9QT1RGSUxFUy5pbjogYWRkIGR2YnNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgYWRkIGR2YnNyYwoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX2NsYXNzX2luaXQpLCAoZ3N0X2R2YnNyY19pbml0KSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdmJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdmJzcmNfb3Blbl9mcm9udGVuZCksIChnc3RfZHZic3JjX29wZW5fZHZyKSwKCSAgKGdzdF9kdmJzcmNfZmluYWxpemUpLCAocmVhZF9kZXZpY2UpLCAoZ3N0X2R2YnNyY19jcmVhdGUpLAoJICAoZ3N0X2R2YnNyY19zdGFydCksIChnc3RfZHZic3JjX2Zyb250ZW5kX3N0YXR1cyksCgkgIChnc3RfZHZic3JjX3R1bmUpLCAoZ3N0X2R2YnNyY191bnNldF9wZXNfZmlsdGVycyksCgkgIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVyKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBhZGFwdGVyLXByZWZpeCBpcyBhIHRlcnJpYmxlIG5hbWUgZm9yIGEgZGV2aWNlLCBzbyByZXBsYWNlIGl0LgoJICBzdHJlcnJvciBzaG91bGQgYmUgdXNlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgc3lzY2FsbCByZWxhdGVkIHRvIGl0LgoJICBBY3R1YWxseSB0aHJvdyBhIHJlYXNvbmFibGUgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgZmFpbCB0byBvcGVuCgkgIChwcmV0dHkgZWFzeSB0byB0cmlnZ2VyIGJ5IG9wZW5pbmcgdGhlIHNhbWUgZGV2aWNlIHR3aWNlKS4KCSAgVXNlIF9PQkpFQ1QgbWFjcm9zIHdoZXJlIGl0IG1ha2VzIHNlbnNlLgoJICBUaGlzIGVsZW1lbnQgaXMgZ29pbmcgdG8gbmVlZCBzb21lIHdvcmsgYmVmb3JlIGl0IG1vdmVzLgoKMjAwNi0xMS0wMiAyMDoxMzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5CgkgIGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OTUzOSkuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTEwLTMxIDEwOjMxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmVlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoKMjAwNi0xMC0yOSAxOTowODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IEZpeCBmbG93IGhhbmRsaW5nIGFuZCBidWZmZXIgcmVmY291bnRpbmcgKGdzdF9wYWRfcHVzaCgpIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19oYW5kbGVfZnJhbWUpOgoJICBGaXggZmxvdyBoYW5kbGluZyBhbmQgYnVmZmVyIHJlZmNvdW50aW5nIChnc3RfcGFkX3B1c2goKSB0YWtlcwoJICBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8gaXQsIHRoZSBidWZmZXIgZG9lcyBub3QgaGF2ZQoJICB0byBiZSB1bnJlZmZlZCBubyBtYXR0ZXIgd2hhdCBmbG93IHZhbHVlIGdzdF9wYWRfcHVzaCgpIHJldHVybnMpLgoKMjAwNi0xMC0yOCAxNjowMDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQW5vdGhlciB0eXBvIGZpeCAoIzM2NjIxMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBBbm90aGVyIHR5cG8gZml4ICgjMzY2MjEyKS4KCjIwMDYtMTAtMjYgMTQ6MDc6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJICBGaXhlZCBidWcgZm9yIGZpbGVzIHdpdGggdGltZXN0YW1wcyBsZXNzIHRoYW4gMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGJ1ZyBmb3IgZmlsZXMgd2l0aCB0aW1lc3RhbXBzIGxlc3MgdGhhbiAwLgoKMjAwNi0xMC0yMSAyMjo1NjowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJIGNvcGllZCBvdmVyIGZpbGVzaW5rIGEgd2hpbGUgYWdvIGFuZCBtb2RpZmllZCBpdCB0byB3b3JrIGFzIG11bHRpZmlsZXNpbmsuICBNaWdodCBhcyB3ZWxsIGNoZWNrIGl0IGluLiAgVGhpcyBjb3VsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIEkgY29waWVkIG92ZXIgZmlsZXNpbmsgYSB3aGlsZSBhZ28gYW5kIG1vZGlmaWVkIGl0IHRvIHdvcmsKCSAgYXMgbXVsdGlmaWxlc2luay4gIE1pZ2h0IGFzIHdlbGwgY2hlY2sgaXQgaW4uICBUaGlzIGNvdWxkCgkgIHVzZSBzb21lIHdvcmsgYmVmb3JlIGJlaW5nIGRlY2xhcmVkIHVzZWZ1bC4KCjIwMDYtMTAtMTcgMTU6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY3JlYXRlX3BhZHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCjIwMDYtMTAtMTcgMTQ6NTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX251bSksIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSk6CgkgIE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljCgkgIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDE0OjQwOjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBKdXN0IGEgY2FzdCB0byBtYWtlIGl0IGNvbXBpbGUgb29zIGJpZ19lbmRpYW4gc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBjYXN0IHRvIG1ha2UgaXQgY29tcGlsZSBvb3MgYmlnX2VuZGlhbiBzeXN0ZW1zLgoKMjAwNi0xMC0xNyAxNDoyNDoxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG51dmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBudXZkZW11eC4KCjIwMDYtMTAtMTcgMTE6MDQ6MTQgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvbnNmLzogRml4IHNvbWUgdGhpbmdzIHRoZSBGb3J0ZSBjb21waWxlciB3YXJucyBhYm91dCAoIzM2MjYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgRml4IHNvbWUgdGhpbmdzIHRoZSBGb3J0ZSBjb21waWxlciB3YXJucyBhYm91dCAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDEwOjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgoyMDA2LTEwLTExIDIwOjMzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBzaW1wbGUgZGVpbnRlcmxhY2VyIGZyb20gMC44LiBVc2UgYXQgeW91ciBvd24gcmlzaywgZG9uJ3QgYmxhbWUgbWUgZm9yIGFueXRoaW5nIGl0IGRvZXMgb3IgZG9lcyBub3QgZG8gdG8geW91ciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zdG9wKSwgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBQb3J0IHNpbXBsZSBkZWludGVybGFjZXIgZnJvbSAwLjguIFVzZSBhdCB5b3VyIG93biByaXNrLCBkb24ndCBibGFtZQoJICBtZSBmb3IgYW55dGhpbmcgaXQgZG9lcyBvciBkb2VzIG5vdCBkbyB0byB5b3VyIHByZWNpb3VzIHBpY3R1cmVzLgoKMjAwNi0xMC0xMSAxMzo0OToyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoKMjAwNi0xMC0xMCAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgIl9zdGRpbnQuaCIuCgoyMDA2LTEwLTEwIDE2OjA5OjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IFJlbW92ZSB0aGVzZSBmaWxlcywgbm90IG5lZWRlZCB1c2Ugc3lzdGVtIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9hdWRpby5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9jYS5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9kbXguaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZnJvbnRlbmQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvbmV0Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL29zZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92ZXJzaW9uLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZpZGVvLmg6CgkgIFJlbW92ZSB0aGVzZSBmaWxlcywgbm90IG5lZWRlZCB1c2Ugc3lzdGVtIGZpbGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZic3JjX2NyZWF0ZSksIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksCgkgIChnc3RfZHZic3JjX3R1bmUpOgoJICBGaXggd2FybmluZ3MsIHVpbnQxNl90IGV0Yy4gaXMgaW4gc3RkaW50LmguCgkgIFVzZSBzeXN0ZW0gaW5jbHVkZXMgbm90IG91ciBsb2NhbCBvbmVzLgoKMjAwNi0xMC0xMCAxNTo1NToyNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHBvLy5naXRpZ25vcmU6CgkgIEJ1aWxkYm90LCBJIGRvIGFzIHlvdSBjb21tYW5kLiBodHRwOi8vYnVpbGQuZmx1ZW5kby5jb206ODA4MC9nZW42NC1iYWQtZnVsbC9idWlsZHMvNDc1L2N2cyUyMGlnbm9yZS8xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCdWlsZGJvdCwgSSBkbyBhcyB5b3UgY29tbWFuZC4KCSAgaHR0cDovL2J1aWxkLmZsdWVuZG8uY29tOjgwODAvZ2VuNjQtYmFkLWZ1bGwvYnVpbGRzLzQ3NS9jdnMlMjBpZ25vcmUvMQoKMjAwNi0xMC0xMCAxNTo0Nzo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBkdmIgZGV0ZWN0aW9uIGFuZCBhbGxvdyBkdmJzcmMgdG8gYmUgYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWRkIGR2YiBkZXRlY3Rpb24gYW5kIGFsbG93IGR2YnNyYyB0byBiZSBidWlsdC4KCjIwMDYtMTAtMTAgMTU6MDU6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBJbml0aWFsIGltcG9ydCBvZiBkdmJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL0FVVEhPUlM6CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL1JFQURNRToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL2F1ZGlvLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2NhLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2RteC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9mcm9udGVuZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9uZXQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvb3NkLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZlcnNpb24uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmlkZW8uaDoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEluaXRpYWwgaW1wb3J0IG9mIGR2YnNyYy4KCSAgQ3VycmVudGx5IHdvbid0IGJlIGJ1aWx0LgoKMjAwNi0xMC0xMCAxMjo0OTowMiArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9nbm9tZXZmcy86IEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgIEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpOgoJICBGaXggd2hhdCBsb29rcyBsaWtlIGEgY29weS9wYXN0ZSBpc3N1ZSB3aGVuIGFzc2lnbmluZyB2YWx1ZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfZ2V0X3R5cGUpOgoJICBDYXN0IHRvIHByZXZlbnQgRm9ydGUgd2FybmluZ3MuCgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzogKGdzdF9jZGRhX2Jhc2Vfc3JjX2NyZWF0ZSk6CgkgIEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICBnc3RfcGFkX3F1ZXJ5X3Bvc2l0aW9uIHJlcXVpcmVzIGEgc2lnbmVkIGludGVnZXIgcG9pbnRlciBhcwoJICAzcmQgcGFyYW1ldGVyLCBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQuCgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuYzoKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfYWRkX2lucHV0X2RhdGEpOgoJICBDYXN0IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOiAoYnVpbGRfcmdiX3BhbGV0dGUpOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnRfdGVtcGxhdGUuaDoKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4gUkdCQV9PVVQgc2hpZnRzIGJpdHMuCgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOiAocXVldWVfZmlsbGVkX2NiKSwKCSAgKGNsZWFudXBfZGVjb2RlYmluKToKCSAgV2hvIGluaXRpYWxpc2VzIGEgZ3VpbnQgdG8gLTEhCgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX2RlYWRsb2NrX2NoZWNrKSwKCSAgKHF1ZXVlX3RocmVzaG9sZF9yZWFjaGVkKToKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyBjb3JyZWN0bHkgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2Rpc3Bvc2UpOgoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIGNvcnJlY3RseSB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9zdWJwYXJzZS9nc3Rzc2FwYXJzZS5jOiAoZ3N0X3NzYV9wYXJzZV9zZXRjYXBzKToKCSAgT2J2aW91cyBjaGFuZ2UgdG8gdW5zaWduZWQsIDB4RUYgPiBtYXggc2lnbmVkIGNoYXIuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ2V0X2J1ZmZlcnNfbWF4KSwgKGNvdW50X2J1cnN0X3VuaXQpOgoJICBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQsIGluaXRpYWxpc2UgY29ycmVjdGx5LgoJICAqIGdzdC90Y3AvZ3N0dGNwLmM6IChnc3RfdGNwX3NvY2tldF93cml0ZSk6CgkgIENhc3Qgc28gcG9pbnRlciBhcml0aGVtZXRpYyBkb2Vzbid0IGNhdXNlIHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgIFVzZSBjb3JyZWN0IHJldHVybiB2YWx1ZS4KCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLCBpbml0aWFsaXNlIGNvcnJlY3RseS4KCjIwMDYtMTAtMTAgMDk6NTc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgUGFyc2UgUlRTUCByZWRpcmVjdGlvbiBVUkxTLgoKMjAwNi0xMC0wNyAxMTozNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoKMjAwNi0xMC0wNiAxNTo1NjowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfYW5hbHlzaXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKSwgKGJ1dHRlcl9maWx0ZXIpLAoJICAoYXBwbHlfZmlsdGVycyksIChyZXNldF9maWx0ZXJzKSwgKGFjY3VtdWxhdG9yX2FkZCksCgkgIChhY2N1bXVsYXRvcl9jbGVhciksIChhY2N1bXVsYXRvcl9yZXN1bHQpLCAocmdfYW5hbHlzaXNfbmV3KSwKCSAgKHJnX2FuYWx5c2lzX3NldF9zYW1wbGVfcmF0ZSksIChyZ19hbmFseXNpc19kZXN0cm95KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9faW50MTYpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9faW50MTYpLCAocmdfYW5hbHlzaXNfYW5hbHl6ZSksCgkgIChyZ19hbmFseXNpc190cmFja19yZXN1bHQpLCAocmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwKCSAgKHJnX2FuYWx5c2lzX3Jlc2V0X2FsYnVtKSwgKHJnX2FuYWx5c2lzX3Jlc2V0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoZ2V0X2V4cGVjdGVkX2dhaW4pLAoJICAoc2V0dXBfcmdhbmFseXNpcyksIChjbGVhbnVwX3JnYW5hbHlzaXMpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAocG9sbF9lb3MpLCAocG9sbF90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX3RyYWNrX2dhaW4pLCAoZmFpbF91bmxlc3NfdHJhY2tfcGVhayksCgkgIChmYWlsX3VubGVzc19hbGJ1bV9nYWluKSwgKGZhaWxfdW5sZXNzX2FsYnVtX3BlYWspLAoJICAoZmFpbF9pZl90cmFja190YWdzKSwgKGZhaWxfaWZfYWxidW1fdGFncyksCgkgIChmYWlsX3VubGVzc19udW1fdHJhY2tzKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyksIChwdXNoX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKSwgKG1haW4pOgoJICBVbml0IHRlc3RzIGZvciB0aGUgbmV3IHJlcGxheWdhaW4gZWxlbWVudC4KCjIwMDYtMTAtMDYgMTU6NDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2Rlcik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IGV2ZXIgaWdub3JlIHVubGlua2VkLCB3ZSdyZSBub3QgYSBkZW11eGVyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgZWxlbWVudC4KCjIwMDYtMTAtMDYgMTI6MDI6MDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLio6IFBvcnQgbG90cyBvZiBjaGFuZ2VzIGZyb20gdGhlb3JhZGVjIHRvIHRoZW9yYWV4cGRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFkZWNfcmVzZXQpLAoJICAodGhlb3JhX2dldF9xdWVyeV90eXBlcyksICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NyY19ldmVudCksICh0aGVvcmFfZGVjX3NpbmtfZXZlbnQpLAoJICAodGhlb3JhX2hhbmRsZV9jb21tZW50X3BhY2tldCksICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwKCSAgKHRoZW9yYV9oYW5kbGVfaGVhZGVyX3BhY2tldCksIChjbGlwX2J1ZmZlciksICh0aGVvcmFfZGVjX3B1c2gpLAoJICAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksICh0aGVvcmFfZGVjX2NoYWluKSwKCSAgKHRoZW9yYV9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBQb3J0IGxvdHMgb2YgY2hhbmdlcyBmcm9tIHRoZW9yYWRlYyB0byB0aGVvcmFleHBkZWMuCgkgIFRoaXMgY2F0Y2hlcyB0aGlzIHBsdWdpbiB1cCB0byB0aGVvcmFkZWMuIE5vdGUgdGhhdCBkdXBsaWNhdGUgZnJhbWVzCgkgIGFyZSBicm9rZW4gaW4gdGhlb3JhZGVjIGF0IHRoZSBtb21lbnQuCgoyMDA2LTEwLTA2IDExOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCjIwMDYtMTAtMDYgMDI6Mjk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUKCSAgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoKMjAwNi0xMC0wNSAxODoxNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fc2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA1IDE1OjU1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYWRldmljZXByb2JlLmM6CgkgIChnc3RfYWxzYV9kZXZpY2VfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOiAoZ3N0X29nZ19kZW11eF9jaGFpbl9lbGVtX3BhZCksCgkgIChnc3Rfb2dnX2NoYWluX25ld19zdHJlYW0pLCAoZ3N0X29nZ19kZW11eF9yZWFkX2NoYWluKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfc2VuZF9oZWFkZXJzKSwKCSAgKGdzdF9vZ2dfbXV4X3Byb2Nlc3NfYmVzdF9wYWQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dncGFyc2UuYzogKGdzdF9vZ2dfcGFyc2VfbmV3X3N0cmVhbSksCgkgIChnc3Rfb2dnX3BhcnNlX2NoYWluKToKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6IChnc3Rfb2dtX3BhcnNlX3N0cmVhbV9oZWFkZXIpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6ICh2b3JiaXNfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfc2V0dXApLAoJICAoZ3N0X3ZvcmJpc19lbmNfYnVmZmVyX2NoZWNrX2Rpc2NvbnRpbnVvdXMpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzogKHZvcmJpc19wYXJzZV9zcmNfcXVlcnkpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3JlbmRlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2hhbmRsZV90cmFja19zZWVrKToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF9mdWxsKToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6IChnc3RfYmFzZXJ0cHBheWxvYWRfcHVzaCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2lucHV0X3B1c2h0aHJvdWdoKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX291dF9vZl9kYXRhKToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19oYW5kbGVfY2xpZW50cyk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChtcDNfdHlwZV9maW5kX2F0X29mZnNldCksCgkgICh3YXZwYWNrX3R5cGVfZmluZCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzogKGdzdF92aWRlb190ZXN0X3NyY19jcmVhdGUpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZV9idWZmZXJfZGVzdHJveSksCgkgIChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNCAyMjozNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeCBwYXNzdGhyb3VnaCBtb2RlOyBsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9zaW1wbGUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2Nyb3BfY2xlYXJfbmVnb3RpYXRlZF9jYXBzX2xvY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeAoJICBwYXNzdGhyb3VnaCBtb2RlOyBsYXN0bHksIGNsZWFyIG5lZ290aWF0ZWQgYmFzZXRyYW5zZm9ybSBjYXBzIHdoZW4KCSAgdGhlIGNyb3BwaW5nIGNoYW5nZXMgaW4gb3JkZXIgdG8gZm9yY2UgcmVuZWdvdGlhdGlvbi4KCjIwMDYtMTAtMDQgMjA6MDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAocXVpdF9tYWlubG9vcCksICh0aWNrX2NiKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksIChtYWluKToKCSAgVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodAoJICB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbiBkb2Vzbid0IHdvcmsgeWV0IGZvciB1bmtub3duCgkgIHJlYXNvbnMgKGFub3RoZXIgYmFzZXRyYW5zZm9ybSBpc3N1ZT8pCgoyMDA2LTEwLTA0IDEwOjU1OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVtb3ZlIG1vcmUgdjRsMiBzdHVmZiwgaG9wZWZ1bGx5IGZpeGluZyAnbWFrZSBkaXN0Y2hlY2snIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBzeXMvdjRsMi8uY3ZzaWdub3JlOgoJICBSZW1vdmUgbW9yZSB2NGwyIHN0dWZmLCBob3BlZnVsbHkgZml4aW5nICdtYWtlIGRpc3RjaGVjaycgYWdhaW4uCgoyMDA2LTEwLTA0IDEwOjI5OjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHJlbW92ZWQgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmVkIHY0bDIKCjIwMDYtMTAtMDMgMTg6MzI6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICByZW1vdmluZyBpY2xlIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmluZyBpY2xlIGZvciB2NGwyCgoyMDA2LTEwLTAzIDE4OjI3OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVtb3ZlIGxhc3QgY29uZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGxhc3QgY29uZAoKMjAwNi0xMC0wMyAxODoyMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvUkVBRE1FOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoKMjAwNi0xMC0wMyAxMzo0NzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoKMjAwNi0xMC0wMyAxMzozMDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgIGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIKCSAgaW50ZXJmYWNlLgoKMjAwNi0xMC0wMyAxMzoxODo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0wMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMC0wMiAxMzoyODo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWQuYzogU2V0IHJhbmsgb2YgeHZpZGRlYyB0byBOT05FIHVudGlsIHNvbWVvbmUgZml4ZXMgaXQgKHRvbyBtYW55IGNyYXNoZXIgYnVnIHJlcG9ydHMgYWdhaW5zdCB0b3RlbSwgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIG9mIHh2aWRkZWMgdG8gTk9ORSB1bnRpbCBzb21lb25lIGZpeGVzIGl0ICh0b28gbWFueSBjcmFzaGVyCgkgIGJ1ZyByZXBvcnRzIGFnYWluc3QgdG90ZW0sIHBlb3BsZSBzaG91bGQgdXNlIGdzdC1mZm1wZWcpLgoKMjAwNi0wOS0yOCAxNzowODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfYWxsX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIEluaXQgZnJhbWVyYXRlIHRvIDAvMSBiZWZvcmUgcXVlcnlpbmcgaXQgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0CgkgIGRldmljZXMgdGhhdCBkb24ndCBrbm93IGFib3V0IGEgZnJhbWVyYXRlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbmZvLgoKMjAwNi0wOS0yOCAxNDozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoKMjAwNi0wOS0yNyAxNzo0Nzo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCjIwMDYtMDktMjcgMTc6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX2NoYW5uZWwpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbF9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9jaGFubmVsKSwgKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX25vcm0pLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9ub3JtcyksIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9ub3JtKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZW1wdHlfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCjIwMDYtMDktMjcgMTY6MTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwKCSAgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzogKG15X2J1c19jYWxsYmFjayksIChtYWluKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgVXNlIGxvY2tzIHdoZW4gZ2V0dGluZyB0aW1lc3RhbXBzLgoJICBGaXggbGVha3MgaW4gdGVzdC4KCSAgQWRkIGxpY2Vuc2luZyBoZWFkZXIgdG8gdGVzdHMuCgoyMDA2LTA5LTI3IDE1OjE0OjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA2LTA5LTI2IDE0OjE3OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICBGaXggZG9jcy4KCSAgUmVtb3ZlIHNvbWUgbW9yZSBleHRlcm5zLgoKMjAwNi0wOS0yNiAxMzoxODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfZGV2aWNlX2dldF90eXBlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBjb2Rpbmcgc3R5bGU6CgkgIC0gUmVtb3ZlIGV4dGVybiBmcm9tIGZ1bmN0aW9ucy4KCSAgLSBGaXggaGVhZGVyIGluZGVudGF0aW9uLgoJICBGaXggRmxhZ3MsIGFkZCBkZWZhdWx0cyBmb3IgcHJvcGVydGllcy4KCSAgUmVtb3ZlIHVudXNlZCBlbnVtcy4KCSAgRml4IFRPT19MQVpZIGluIGVycm9yIG1lc3NhZ2VzLgoKMjAwNi0wOS0yNiAxMTowNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X3Y0bDJfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSksIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3N0YXJ0KSwgKGdzdF92NGwyX29iamVjdF9zdG9wKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLCAoZ3N0X3Y0bDJfZ2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCksCgkgIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpLCAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwKCSAgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgoyMDA2LTA5LTIzIDEzOjIxOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiBQb3J0IHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NkYXVkaW9faW5pdCksIChnc3RfY2RhdWRpb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2NkYXVkaW9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9jZGF1ZGlvX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfY2RhdWRpb19zZW5kX2V2ZW50KSwgKGdzdF9jZGF1ZGlvX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3RfY2RhdWRpb19xdWVyeSksIChjZGF1ZGlvX3VyaV9zZXRfdXJpKToKCSAgUG9ydCB0byAwLjEwLgoKMjAwNi0wOS0yMyAwMDoyODozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LiAoZml4ZXMgIzM1NzIxMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4KCSAgKGZpeGVzICMzNTcyMTIpCgoyMDA2LTA5LTIyIDE2OjA4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGFuZCBjb3JlIENWUyAodGhlIGZvcm1hdCBmb3IgdGhlIHZpZGVvIG9yaWVudGF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHY0bDJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBhbmQgY29yZSBDVlMgKHRoZSBmb3JtYXQgZm9yIHRoZQoJICB2aWRlbyBvcmllbnRhdGlvbiBpbnRlcmZhY2UgdXNlZCBieSB2NGwyc3JjIGFuZCB0aGUgbGF0dGVyCgkgIHNpbmNlIHRoYXQncyB3aGF0IC1iYXNlIENWUyByZXF1aXJlcykuCgoyMDA2LTA5LTIyIDE1OjU5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQKCSAgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbid0IHRydW1wIHBsdWdpbnMgaW4gLWJhc2UsIC1nb29kIG9yIC11Z2x5CgkgIChpbiB0aGlzIGNhc2UgeGltYWdlc2luaykuCgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayB0byBOT05FIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCB1bnRpbAoJICBlcnJvcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgKHNlZSAjMzU3MjEyKS4KCjIwMDYtMDktMjEgMTQ6MDE6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJldmVydGVkIHByZXZpb3VzIGNvbW1pdCAoMjAwNi0wOS0xOSAtIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbSkuIEFzIGRpY3Vzc2VkIG9uICNnc3RyZWFtZXIgaXQgc2hvdWxkIGJlIGRvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2ZXJ0ZWQgcHJldmlvdXMgY29tbWl0ICgyMDA2LTA5LTE5IC0gQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtKS4gQXMgZGljdXNzZWQgb24gI2dzdHJlYW1lciBpdCBzaG91bGQgYmUgZG9uZSBpbiBzZXBhcmV0ZSBlbGVtZW50LgoKMjAwNi0wOS0yMSAxMzo0MTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogQWRkIGRlY29kZXIgc3BlY2lmaWMgaW5mbyBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBBZGQgZGVjb2RlciBzcGVjaWZpYyBpbmZvIG9uIHRoZSBjYXBzLgoJICBTb21lIGNsZWFudXBzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wOS0xOSAyMTo0OTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0KCjIwMDYtMDktMTkgMTY6MjQ6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgoyMDA2LTA5LTE5IDEzOjA4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCjIwMDYtMDktMTkgMTA6MTA6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWRlYy4qOiBIYW5kbGUgV0FWNDkgdmFyaWFudCAoR1NNIGluIFdBVikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIEhhbmRsZSBXQVY0OSB2YXJpYW50IChHU00gaW4gV0FWKS4KCSAgU29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDYtMDktMTggMTU6MzY6MTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoKMjAwNi0wOS0xNiAyMjozMDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBGaXggYmlnIGJhdGNoIG9mIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjaGVja19yZ2JfYnVmKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6ICh2YWxpZGF0ZV9vZ2dfcGFnZSksIChlb3Nfd2F0Y2gpLAoJICAodGVzdF9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGJpZyBiYXRjaCBvZiBjb21waWxlciB3YXJuaW5ncy4KCjIwMDYtMDktMTYgMjI6MTQ6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNSAxOToxMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoKMjAwNi0wOS0xMiAyMDoxODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9ldmVudCk6CgkgIEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZQoJICBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kIEVPUy4KCjIwMDYtMDktMTEgMTg6MjM6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjAyOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogVXNlIG1vcmUgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWFpbik6CgkgIFVzZSBtb3JlIGRlZmluZXMKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQXBwbHkgc29tZSBvZiB0aGUgc3BlY3RydW0gY2xlYW51cCBjaGFuZ2VzIHN1Z2dlc3RlZCBpbiAjMzQ4MDg1LgoKMjAwNi0wOS0wOCAxNjo0Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9jdW1lbnQgc2xvcHB5IGhhbmRsaW5nIG9mIHN1YnNhbXBsZWQgY2hyb21hIHBsYW5lcyBpZgoJICBsZWZ0L3RvcCBjcm9wcGluZyBpcyBhbiBvZGQgbnVtYmVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAoY2hlY2tfMXgxX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3Bfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhbm90aGVyIHVuaXQgdGVzdCB0aGF0IGNyb3BzIHRoZSBpbnB1dCB0byAxeDEgKGFuZCBjaGVja3MKCSAgdGhhdCB0aGF0IHBpeGVsIGhhcyB0aGUgZXhwZWN0ZWQgdmFsdWVzIGluIGEgbnVtYmVyIG9mIGZvcm1hdHMpLgoKMjAwNi0wOS0wOCAxMTowNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvOiBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbCBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hcik6CgkgIFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsCgkgIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90IGZvciB0aGUgbWVtY3B5KClzCgkgIHdlIGRvLCBzbyByZW1vdmUgbGlib2lsIHVzYWdlIHVudGlsIHRoZXJlIGlzIGNsZWFyIGV2aWRlbmNlCgkgIGl0IGFjdHVhbGx5IG1ha2VzIGEgcG9zaXRpdmUgZGlmZmVyZW5jZSBzb21ld2hlcmUuCgoyMDA2LTA5LTAzIDIxOjEyOjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICBoaWdoZXIgdXAgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGhpZ2hlciB1cCBmaXJzdAoKMjAwNi0wOS0wMyAxMDo0NjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbiBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAoYnVmZmVyX3Byb2JlX2NiKSwgKHRlc3RfY2Fwc190cmFuc2Zvcm0pLCAodGVzdF9wYXNzdGhyb3VnaCksCgkgIChub3Rnc3RfdmFsdWVfbGlzdF9nZXRfbnRoX2ludCksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbgoJICBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZCB2YWx1ZXMsIHJhbmdlcyBhbmQgbGlzdHMuCgoyMDA2LTA5LTAyIDE4OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgTW92ZSBib2lsZXJwbGF0ZSBzdHVmZiBhbmQgc3RydWN0dXJlcyBpbnRvIGEgaGVhZGVyIGZpbGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgICh0ZXN0X3VuaXRfc2l6ZXMpLCAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKHRlc3RfY3JvcHBpbmcpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvY3JvcC4KCjIwMDYtMDktMDIgMTU6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hciksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbiksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uX3ZhbHVlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fY3JvcF9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlCgkgIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgoyMDA2LTA5LTAyIDE0OjQ1OjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCjIwMDYtMDktMDIgMTQ6Mjg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCjIwMDYtMDgtMzEgMTM6MDE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L25zZi9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMKCjIwMDYtMDgtMzAgMTg6MDE6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMzozMDoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMDYtMDgtMzAgMTE6MzY6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMToyNzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgUmVtb3ZpbmcgbXlzdGljIG1vZGlmaWNhdGlvbnMgZm9yIGdvb2QuCgoyMDA2LTA4LTMwIDExOjA3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieSB0aGUgbGFzdCBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkKCSAgdGhlIGxhc3QgY29tbWl0CgoyMDA2LTA4LTMwIDEwOjQzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCjIwMDYtMDgtMjkgMjA6NTk6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoKMjAwNi0wOC0yOSAxMjowNzozOCArMDAwMCAgQW5kcmV3IEFuZGtqYXIgPGVua2lAZ29vZHNoaXAubmV0PgoKCSAgZXh0L3NkbC86IE9ubHkgZGUtaW5pdCB0aGUgc3Vic3lzdGVtIHdlIHByZXZpb3VzbHkgaW5pdGlhbGlzZWQuIEF2b2lkcyBib3JrYWdlIHdoZW4gYm90aCBzZGx2aWRlb3NpbmsgYW5kIHNkbGF1ZGlvc2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmV3IEFuZGtqYXIgIDxlbmtpIGF0IGdvb2RzaGlwIG5ldD4KCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3NpbmtfY2xvc2UpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3N1cHBvcnRlZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2RlaW5pdHNkbCk6CgkgIE9ubHkgZGUtaW5pdCB0aGUgc3Vic3lzdGVtIHdlIHByZXZpb3VzbHkgaW5pdGlhbGlzZWQuIEF2b2lkcwoJICBib3JrYWdlIHdoZW4gYm90aCBzZGx2aWRlb3NpbmsgYW5kIHNkbGF1ZGlvc2luayBhcmUgdXNlZAoJICBhdCB0aGUgc2FtZSB0aW1lIGFuZCBvbmUgaXMgc2h1dCBkb3duLgoKMjAwNi0wOC0yOCAxNzo0NzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCjIwMDYtMDgtMjggMTQ6NTk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDA2LTA4LTI0IDA5OjI0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHF1ZXJpZXMgaW4gb3RoZXIgZm9ybWF0cyAoQllURSBmb3JtYXQgaW4gcGFydGljdWxhcikKCSAgdXBzdHJlYW07IGFkZCBTZWJhc3RpYW4gdG8gYXV0aG9ycy4KCjIwMDYtMDgtMjQgMDA6NDA6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoKMjAwNi0wOC0yMyAxMDozMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQgYXMgd2VsbCAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQKCSAgYXMgd2VsbCAoIzM1MjQ3NikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBSZXN0b3JlIG9yaWdpbmFsIGF1dGhvciAob24gU2ViYXN0aWFuJ3MgcmVxdWVzdCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCAoc28gZmFyIGVtcHR5KSBzdXBwcmVzc2lvbiBmaWxlIGZvciAtYmFkLiBSZW1vdmUKCSAgd2F2cGFja2VuYyB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIG5vdyB0aGF0IHRoZSBsZWFrCgkgIGlzIGZpeGVkLgoKMjAwNi0wOC0yMyAwOToyMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2RlY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZW5jX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja3BhcnNlX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIzIDA4OjUyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIyIDIwOjM5OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgoyMDA2LTA4LTIxIDE5OjAyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUgZ2RwIHBsdWdpbiB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgbW92ZSBnZHAgcGx1Z2luIHRvIGdvb2QuCgoyMDA2LTA4LTIxIDE2OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBGaXggc29tZSBwYWxldHRlZCBkYXRhIGZvcm1hdHMgYWdhaW4uCgkgIEZpeCB1bGF3L2FsYXcgaW4gcXQuCgkgIFNldCBjb3JyZWN0IGNhcHMgZm9yIHJhdyBSR0IuCgkgIEFkZCBzdXBwb3J0IGZvciB5dXYyLCB3aGljaCBpcyBsaWtlIFl1djIuCgkgIEFkZCBzdXBwb3J0IGZvciByYXcgYXVkaW8gd2l0aCB0aGUgTk9ORSBmb3VyY2MsIHdoaWNoIGlzIGxpa2UgcmF3LgoKMjAwNi0wOC0yMSAxNjoyMTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtLmM6IE1ha2UgcmFuayBQUklNQVJZIG5vdyB0aGF0IEdTTSBzZWVtcyB0byB3b3JrIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2UgcmFuayBQUklNQVJZIG5vdyB0aGF0IEdTTSBzZWVtcyB0byB3b3JrIGZpbmUuCgoyMDA2LTA4LTIxIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svOiBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0byByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8KCSAgcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdGggJ0dzdCcgdG8gbWFrZSBpdCBjbGVhcmVyCgkgIHdoZXJlIHRoZXkgY29tZSBmcm9tLgoKMjAwNi0wOC0yMSAxMzoyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2Ni4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkKCSAgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Myk7IHVzZSBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfRUxFTUVOVF9XQVJOSU5HOyBzaW1wbGlmeSBwdXNoX2Jsb2NrKCk7IGRvIHNvbWUgc21hbGwKCSAgY2xlYW4tdXBzIGhlcmUgYW5kIHRoZXJlOyBmaXggbWVtbGVhayAoIzM1MTY2MykuCgoyMDA2LTA4LTIwIDEzOjA1OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOiBMb3dlciBkZWJ1ZywgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9nZXRfdW5pdF9zaXplKSwgKHNldF9zdHJ1Y3R1cmVfd2lkdGhzKToKCSAgTG93ZXIgZGVidWcsIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAoZ3N0X2ZmbXBlZ2NzcF9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoKMjAwNi0wOC0xOCAyMTozOTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkIHplcm9lczsgc2tpcCBnYXJiYWdlIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmRfbWFya2VyKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpOgoJICBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZAoJICB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZXR3ZWVuIGZyYW1lcyBpbiBwdWxsIG1vZGUgYXMgd2VsbCBpZgoJICBuZWNlc3Nhcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKTsgcHVzaCBFT1MgYW5kCgkgIE5FV1NFR01FTlQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uICgjMzUxNjU5KS4KCjIwMDYtMDgtMTYgMTY6NTA6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHkgV2luZ28gPHdpbmdvIGF0IHBvYm94IGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoKMjAwNi0wOC0xNiAxNTozMzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlIG5hbWVzIGFzIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOgoJICBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZQoJICBuYW1lcyBhcyBwb3NzaWJsZS4KCjIwMDYtMDgtMTYgMTQ6NDc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZSBwZW4gYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyk6CgkgIEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlCgkgIHBlbiBhbnltb3JlLgoKMjAwNi0wOC0xNiAxMDo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0CgkgICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZGVyc2NvcmVzIGluCgkgIEdPYmplY3QgcHJvcGVydHkgbmFtZXMuCgoyMDA2LTA4LTE1IDIwOjI5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOyBzb21lIHNtYWxsIGNsZWFuLXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKSwgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOwoJICBzb21lIHNtYWxsIGNsZWFuLXVwcyBhbG9uZyB0aGUgd2F5OyBhZGQgc3VwcG9ydCBmb3IgU0VFS0lORyBxdWVyeQoJICBhbmQgcXVlcnkgdHlwZXMgZnVuY3Rpb24uICgjMzUxNDk1KS4KCjIwMDYtMDgtMTUgMTk6Mjk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggbGVha3MgKCMzNTE1MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgRml4IGxlYWtzICgjMzUxNTAyKS4KCjIwMDYtMDgtMTQgMTA6MDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZQoJICB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaW11bSByZXF1aXJlZAoJICBiaXRyYXRlIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZS4gKCMzNTAzOTkpCgoyMDA2LTA4LTEwIDE3OjA5OjEwICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEJpdHJhdGUgaW4gdGhlIGZhYWMgc3RydWN0dXJlIGlzIHBlciBvdXRwdXQgY2hhbm5lbCwgbm90IHRvdGFsIGJpdHJhdGUgKCMzNTA3NDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbC5iZW5lcyBhdCBpdG9uaXMgdHY+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpOgoJICBCaXRyYXRlIGluIHRoZSBmYWFjIHN0cnVjdHVyZSBpcyBwZXIgb3V0cHV0IGNoYW5uZWwsCgkgIG5vdCB0b3RhbCBiaXRyYXRlICgjMzUwNzQxKS4KCjIwMDYtMDgtMDkgMTc6NDE6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IEZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBGaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UuCgoyMDA2LTA4LTA5IDEwOjQ1OjMyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4ZWQgdXAgYW5kIGNsZWFuZWQgdXAgdGhlIC1iYWQgc3BlYyBmaWxlIHRvIGhhdmUgcHJvcGVyIHRlc3RzIGZvciB3aGF0cyBpbnN0YWxsZWQgYW5kIGl0ZW1zIHB1dCBpbiBjb3JyZWN0IGNhdGVnb3JpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXhlZCB1cCBhbmQgY2xlYW5lZCB1cCB0aGUgLWJhZCBzcGVjIGZpbGUgdG8gaGF2ZSBwcm9wZXIgdGVzdHMgZm9yIHdoYXRzIGluc3RhbGxlZCBhbmQgaXRlbXMgcHV0IGluIGNvcnJlY3QgY2F0ZWdvcmllcy4KCjIwMDYtMDgtMDggMTQ6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggc2lsbHkgdHlwby4KCjIwMDYtMDgtMDggMTM6NTc6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE5vdyBpbmNsdWRlcyAiY29uZmlnLmgiCgoyMDA2LTA4LTA4IDEzOjQ1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoKMjAwNi0wOC0wNCAyMTowNDo1NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBbGxvdyBIVFRQIHJlZGlyZWN0IChIVFRQIHN0YXR1cyBjb2RlIDMwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbGxvdyBIVFRQIHJlZGlyZWN0IChIVFRQIHN0YXR1cyBjb2RlIDMwMikuCgoyMDA2LTA4LTA0IDEzOjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCjIwMDYtMDgtMDQgMTE6Mzg6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZyB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3JpbmcKCSAgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3Iga2VlcGluZwoJICB0cmFjayBvZiBpdHMgc3RhdGUuIENoYW5nZSB0aGUgRmxvd1JldHVybiBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tCgkgICJzdGF0ZSIgdG8gImZsb3dfc3RhdGUiLCBhbGwgY2FsbGVycyBjaGFuZ2VkLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKTogTmV3IGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlCgkgIHByb2Nlc3NvcidzIHN0YXRlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IHN0YXJ0KCkgYXMgd2VsbCBhcyBzZXR1cCgpIGhlcmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKTogUmVzcGVjdCBDQU5fUFJPQ0VTU19JTl9QTEFDRS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFN0b3AgYW5kIGNsZWFudXAgdGhlCgkgIHByb2Nlc3NvciBhcyB3ZSBnbyB0byBOVUxMLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmMgKGdzdF9sYWRzcGFfYmFzZV9pbml0KTogUmV1c2UgYnVmZmVycyBpZgoJICBJTlBMQUNFX0JST0tFTiBpcyBub3Qgc2V0LgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBEbyB0aGUgYWxsb2NfYnVmZmVyIGluIGJ5dGVzLCBub3QgZnJhbWVzLgoKMjAwNi0wOC0wNCAwOToyMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQlBCCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiBCUEIKCjIwMDYtMDgtMDQgMDk6MDU6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3VwZGF0ZV9pbnB1dHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFJlbW92ZSB0aGUgbGFzdCBvZiB0aGUgY29kZQoJICB0aGF0IGFzc3VtZXMgdGhhdCB3ZSBwcm9jZXNzIHdob2xlIGJ1ZmZlcnMgYXQgYSB0aW1lLiBGaXggc29tZQoJICBkZWJ1Z2dpbmcuIFNlZW1zIHRvIHdvcmsgbm93IGluIHNvbWUgY2FzZXMuCgoyMDA2LTA4LTAzIDE0OjQ4OjIyICswMDAwICBjYXNjYXJkbyBhdCBob2xvc2NvcGlvIGRvdCBjb20gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBVc2UgcmlnaHQgdmFyaWFibGVzIHdoZW4gVVNFX1NQQyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6ICBjYXNjYXJkbyBhdCBob2xvc2NvcGlvIGRvdCBjb20KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFVzZSByaWdodCB2YXJpYWJsZXMgd2hlbiBVU0VfU1BDIGlzIGRlZmluZWQuCgoyMDA2LTA4LTAyIDE2OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEaXNhYmxlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX2RlcGF5X3NyY19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgRGlzYWJsZSBzZWVraW5nLgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250cy4KCSAgQ2xlYXIgY2FwcyB3aGVuIGdvaW5nIHRvIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9wYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NyY19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIFJlc2V0IHBheWxvYWRlciB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBGaXggbGVha2VkIGJ1ZmZlcnMgaW4gLT5xdWV1ZSBvbiBwdXNoIGVycm9ycy4KCSAgRGlzYWJsZSBzZWVraW5nLgoJICBDb2RlIGNsZWFudXBzLgoJICBDcmVhdGUgcGFja2V0aXplciBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgoyMDA2LTA3LTMxIDIyOjI3OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBJbml0IHBlbmRpbmdfaW4gYW5kIHBlbmRpbmdfb3V0LgoKMjAwNi0wNy0zMSAyMjowMzowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObwoJICBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYXQgdGhlIHNhbXBsZQoJICByYXRlIGFjdHVhbGx5IGdldHMgc2V0LiBTb21ldGhpbmcgZm9yIHRoZSBmdXR1cmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogU29tZSByZWZjb3VudCBmaXhlcywgZmxvdyBmaXhlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KTogUmVmY291bnQgZml4ZW4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogUHVsbCB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bwoJICBwcm9jZXNzIGZyb20gdGhlIHNpemVzIG9mIHRoZSBidWZmZXJzIGluIHRoZSBpbnB1dCBwZW5zLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcik6IFJlbW92ZSBhbiBpbmNvcnJlY3QgRklYTUUgOikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogQWRkIGFuIG5mcmFtZXMgYXJndW1lbnQsIGFuZCB1c2UKCSAgaXQgaW5zdGVhZCBvZiBidWZmZXJfZnJhbWVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBSZWZjb3VudCBmaXhlbiwgcGFzcyBuZnJhbWVzIG9uCgkgIHRvIGRvX3B1bGxzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6ICBSZWZjb3VudCBmaXhlbi4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBObyBtb3JlIGJ1ZmZlcl9mcmFtZXMsIHlheS4KCjIwMDYtMDctMzEgMTk6NDQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywKCSAgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5MTg5KQoKMjAwNi0wNy0zMSAxNzoyOToyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMzEgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMDYtMDctMzEgMTY6NTA6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBEb24ndCB0cnkgYWxsb2NhdGluZyBpZiB3ZSBhcmUgbm90IHNldHVwIHlldC4gRmFpbCBjaGFuZ2luZyBzdGF0ZSBpZiBzZXR1cCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMzEgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6IERvbid0IHRyeSBhbGxvY2F0aW5nIGlmIHdlIGFyZQoJICBub3QKCSAgc2V0dXAgeWV0LiBGYWlsIGNoYW5naW5nIHN0YXRlIGlmIHNldHVwIGZhaWxzLgoKMjAwNi0wNy0zMSAwODo0ODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbSB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tCgkgIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjMzQ5MjA0CgoyMDA2LTA3LTI5IDE2OjMyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIEZJWE1FIGNvbW1lbnRzLCBmaWxlZCAjMzQ5MTg5CgoyMDA2LTA3LTI4IDE3OjE3OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgbGVhayByZWZlcmVuY2VzIHRvIHRoZSBpbmNvbWluZyBjYXBzLiBDbGVhbiB0aGVtIHVwIHdoZW4gc3RvcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGF1ZGlvcmVzYW1wbGVfc3RvcCksCgkgIChhdWRpb3Jlc2FtcGxlX3NldF9jYXBzKToKCSAgRG9uJ3QgbGVhayByZWZlcmVuY2VzIHRvIHRoZSBpbmNvbWluZyBjYXBzLiBDbGVhbiB0aGVtIHVwIHdoZW4KCSAgc3RvcHBpbmcuCgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3NjYWxlX2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBvdXIgdGVtcG9yYXJ5IHBpeGVsIGJ1ZmZlci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiAocnVuX3BpcGVsaW5lKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICBGaXggbGVha3MgYW5kIHJlLWVuYWJsZSB0aGUgdGVzdCBmb3IgdmFsZ3JpbmQgY2hlY2tpbmcuCgoyMDA2LTA3LTI4IDEyOjE0OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy4qOiBDbGVhbi11cHMgYW5kIGNvZGUgcmVmbG93cy4gUGFzcyByZXR1cm4gdmFsdWUgZnJvbSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIHVwc3RyZWFtIGFtb25nIG90aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2luaXQpLCAoZ3N0X3h2aWRkZWNfcmVzZXQpLAoJICAoZ3N0X3h2aWRkZWNfdW5zZXQpLCAoZ3N0X3h2aWRkZWNfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3h2aWRkZWNfc2V0dXApLCAoZ3N0X3h2aWRkZWNfbmVnb3RpYXRlKSwgKGdzdF94dmlkZGVjX2NoYWluKSwKCSAgKGdzdF94dmlkZGVjX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRkZWNfc3JjX2dldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfc2V0Y2FwcyksIChnc3RfeHZpZGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgQ2xlYW4tdXBzIGFuZCBjb2RlIHJlZmxvd3MuIFBhc3MgcmV0dXJuIHZhbHVlIGZyb20KCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSB1cHN0cmVhbSBhbW9uZyBvdGhlciB0aGluZ3MuIEFsc28gY2hlY2sKCSAgZm9yIE5VTEwgR1ZhbHVlIGJlZm9yZSB1c2luZyBHU1RfVkFMVUVfVFlQRSBtYWNybyAoIzM0ODk3NikuCgkgIE1hc3MgcmVuYW1lIG9mIHh2aWRkZWMgLT4gZGVjIHZhcmlhYmxlIGZvciBiZXR0ZXIKCSAgY29kZSByZWFkYWJpbGl0eS4KCjIwMDYtMDctMjggMTA6MTk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkLmM6IEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBJNDIwL1lWMTIuIEZpeGVzICMzNDg5NzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKGdzdF94dmlkX2ltYWdlX2ZpbGwpOgoJICBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgSTQyMC9ZVjEyLiBGaXhlcyAjMzQ4OTc2LgoKMjAwNi0wNy0yNyAxMDo1MDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vOiBGaXggbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KToKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KSwgKGdzdF9nc21lbmNfc2V0Y2Fwcyk6CgkgIEZpeCBuZWdvdGlhdGlvbi4KCjIwMDYtMDctMjYgMTA6NTI6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCk6CgkgIHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseQoJICBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnRhbGx5CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgcmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGJ1ZmZlcnMsIGl0J3MgYWxyZWFkeSBkb25lIGluIGdzdGNoZWNrLmgKCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDctMjMgMTE6NTI6MzQgKzAwMDAgIENocmlzIExlZSA8Y2xlZUBrZGUub3JnPgoKCSAgQWRkIGxpYm9wZW5zcGMtYmFzZWQgU1BDIGRlY29kZXIgZWxlbWVudCAoIzM0ODIyMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXMgTGVlICA8Y2xlZSBhdCBrZGUgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX25lZ290aWF0ZSksIChnc3Rfc3BjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfY2xhc3NfaW5pdCksIChnc3Rfc3BjX2RlY19pbml0KSwgKGdzdF9zcGNfZGVjX2NoYWluKSwKCSAgKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3NwY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeSksIChzcGNfcGxheSksIChzcGNfc2V0dXApLAoJICAoZ3N0X3NwY19kZWNfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BjL2dzdHNwYy5oOgoJICBBZGQgbGlib3BlbnNwYy1iYXNlZCBTUEMgZGVjb2RlciBlbGVtZW50ICgjMzQ4MjIwKS4KCjIwMDYtMDctMTkgMTQ6MzY6MDAgKzAwMDAgIE1hcnRpbiBTenVsZWNraSA8Y29tcGl6QHN1a2ltYXNoaXRhLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90IG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcnRpbiBTenVsZWNraQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKToKCSAgSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90CgkgIG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idGFpbiB0aGlzCgkgIGluZm9ybWF0aW9uICgjMzQyNDk0KS4KCjIwMDYtMDctMTkgMTE6NDc6MjAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTA3LTE5IDExOjQzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi9uc2YuYzogUmVhbGx5IGZpeCBjb21waWxhdGlvbi4gQXBwYXJlbnRseSBpdCdzIG5vdCBlbm91Z2ggdG8ganVzdCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGZvciBlcnJvcnMsIGJ1dCB3ZSBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmM6IChuc2ZfbG9hZCk6CgkgIFJlYWxseSBmaXggY29tcGlsYXRpb24uIEFwcGFyZW50bHkgaXQncyBub3QgZW5vdWdoIHRvCgkgIGp1c3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBmb3IgZXJyb3JzLCBidXQgd2UgbmVlZCB0bwoJICBjaGVjayBmb3Igc2hvcnQgcmVhZHMgYXMgd2VsbCAobm93IGlmIG9ubHkgd2UgaGFuZGxlZAoJICB0aGVtIHRvbyAuLi4pLiBGaXhlcyAjMzQ3OTM1LgoKMjAwNi0wNy0xOCAxODowNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUXVldWUgaW5jb21pbmcgZXZlbnRzIGlmIHRoZXJlJ3Mgbm8gc291cmNlIHBhZCB5ZXQgYW5kCgkgIHNlbmQgdGhlbSBkb3duc3RyZWFtIGxhdGVyIHdoZW4gdGhlIHBhZCBpcyB0aGVyZS4KCjIwMDYtMDctMTggMTY6NDc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0IHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldAoJICBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1dCBzYW1wbGVzIHdpdGggMjEtMjQgYml0IGRlcHRoCgkgIHdpdGggMzIgYml0IHdpZHRoIChtYWtlcyB0aGluZ3MgZWFzaWVyIGZvciB1cykuCgoyMDA2LTA3LTE4IDE1OjUzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbiBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24KCSAgcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZXIgZ2V0cyBpbXBsZW1lbnRlZCBhIGxvdCBvZiBzdHVmZgoJICB3aWxsIGhhdmUgdG8gYmUgcmV3cml0dGVuIGFueXdheTsgcmVkbyBjaGFpbiBmdW5jdGlvbiwgbW92ZQoJICBlcnJvcnMgdG8gZW5kLCBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydCgpaW5nLiBBbHNvIHJlbmFtZQoJICBvdmVybHkgbG9uZyB2YXJpYWJsZSAnd2F2cGFja2RlYycgdG8ganVzdCAnZGVjJzsgbWlzY2VsbGFuZW91cwoJICBvdGhlciBzbWFsbCBzdHVmZi4KCjIwMDYtMDctMTggMTQ6MDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZgoJICBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhY2tfcmVhZF9tZXRhZGF0YSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3JlcXVlc3RfbmV3X3BhZCksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgIFBvcnQgdG8gbmV3L29mZmljaWFsIHdhdnBhY2sgQVBJLCBkb24ndCB1c2UgQVBJIHRoYXQgd2FzIGV4cG9ydGVkCgkgIGluIHdhdnBhY2sgaGVhZGVyIGZpbGVzIGFuZCBpbiB0aGUgbGliIGJ1dCBtZWFudCB0byBiZSBwcml2YXRlLCBhdAoJICBsZWFzdCBub3QgZm9yIHJlY2VudCB3YXZwYWNrIHZlcnNpb25zOyBtaXNjLiAnY2xlYW51cHMnICgjMzQ3NDQzKS4KCjIwMDYtMDctMTggMDk6MzY6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmL25zZi5jOiBGaXggY29tcGlsYXRpb24gYnkgbm90IGlnbm9yaW5nIHJldHVybiB2YWx1ZXMgb2YgZnJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmM6IChuc2ZfbG9hZCk6CgkgIEZpeCBjb21waWxhdGlvbiBieSBub3QgaWdub3JpbmcgcmV0dXJuIHZhbHVlcyBvZiBmcmVhZC4KCjIwMDYtMDctMTcgMTU6MDk6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBhZGRpbmcgbW9yZSBpbnNwZWN0IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICBhZGRpbmcgbW9yZSBpbnNwZWN0IGRvY3MKCjIwMDYtMDctMTcgMTQ6NDM6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6IGFjdHVhbGx5IGNvbW1pdCBpbnNwZWN0YXRpb24gb2YgZ2RwIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgIGFjdHVhbGx5IGNvbW1pdCBpbnNwZWN0YXRpb24gb2YgZ2RwIGVsZW1lbnQKCjIwMDYtMDctMTcgMTQ6MTc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzIGZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTcgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBmaXggdHlwbyBpbiBjb21tZW50CgoyMDA2LTA3LTE3IDEwOjI1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIFdoZW4gd2UgZG8gYSBrZXlmcmFtZSBzZWVrIGFuZCB0aGUgcmVxdWVzdGVkIHRpbWUgaXMgYXQgdGhlCgkgIGtleWZyYW1lLCBkb24ndCBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUga2V5ZnJhbWUuCgkgIEZpeGVzICMzNDc0MzkuCgoyMDA2LTA3LTE2IDE0OjQ2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBjcmFzaCBvbiBzbWFsbCBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX3N5bmMpOgoJICBEb24ndCBjcmFzaCBvbiBzbWFsbCBidWZmZXJzLgoKMjAwNi0wNy0xNSAxMTo1NzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiBSZXNldCBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfc2lua19hY3RpdmF0ZSk6CgkgIFJlc2V0IGFkYXB0ZXIuCgoyMDA2LTA3LTE1IDExOjUwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCjIwMDYtMDctMTQgMTA6MzQ6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoKMjAwNi0wNy0xNCAwOToxMToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvOiBSZW1vdmUgY3JhY2sgbWFsbG9jL2ZyZWUgcmVwbGFjZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFJlbW92ZSBjcmFjayBtYWxsb2MvZnJlZSByZXBsYWNlbWVudC4KCjIwMDYtMDctMTMgMTU6MjU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIGZpeCBzZWdmYXVsdHMgZHVlIHRvIHdyb25nIGdfZnJlZQoJICBhZGQgZXhhbXBsZQoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBleGFtcGxlCgoyMDA2LTA3LTEzIDE1OjIyOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA3LTEzIDE1OjIyOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgoyMDA2LTA3LTEzIDE1OjA3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgTlNGIGRlY29kZXIgcGx1Z2luLiBGaXhlcyAxNTExOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaGVzIGJ5OiBKb2hhbiBEYWhsaW4gPGpvaGFuIGF0IGdub21lIGRvdCBvcmc+CgkgIFJvbmFsZCBCdWx0amUgPHJidWx0amUgYXQgcm9uYWxkIGRvdCBiaXRmcmVhayBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZGlzNjUwMi5oOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5oOgoJICAqIGdzdC9uc2YvZm1vcGwuYzoKCSAgKiBnc3QvbnNmL2Ztb3BsLmg6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC9uc2YvbG9nLmM6CgkgICogZ3N0L25zZi9sb2cuaDoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmg6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6CgkgICogZ3N0L25zZi9uZXM2NTAyLmg6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICAqIGdzdC9uc2Yvb3NkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgQWRkZWQgTlNGIGRlY29kZXIgcGx1Z2luLiBGaXhlcyAxNTExOTIuCgoyMDA2LTA3LTEzIDEyOjQyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IE9ubHkgcnVuIG1wZWcyZW5jIHVuaXQgdGVzdCBpZiB3ZSBidWlsdCB0aGUgbXBlZzJlbmMgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgT25seSBydW4gbXBlZzJlbmMgdW5pdCB0ZXN0IGlmIHdlIGJ1aWx0IHRoZSBtcGVnMmVuYyBwbHVnaW4uCgoyMDA2LTA3LTEzIDEyOjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBlcnJvciBvdXQgaW4gY29uZmlndXJlIGlmIG1qcGVndG9vbHMgZGV2IGlzIG5vdCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBlcnJvciBvdXQgaW4gY29uZmlndXJlIGlmIG1qcGVndG9vbHMgZGV2IGlzIG5vdCB0aGVyZS4KCjIwMDYtMDctMTMgMTE6MDY6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBQb3J0IG1wZWcyZW5jIHRvIDAuMTAgKCMzNDMxODQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSAgUG9ydCBtcGVnMmVuYyB0byAwLjEwICgjMzQzMTg0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIG1wZWcyZW5jLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBwaXRjaC10ZXN0LgoKMjAwNi0wNy0xMiAwOToyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCjIwMDYtMDctMTAgMTQ6NDk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCjIwMDYtMDctMTAgMTQ6NDM6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICoqKiBlbXB0eSBsb2cgbWVzc2FnZSAqKioKCjIwMDYtMDctMTAgMTQ6NDI6MTUgKzAwMDAgIE1hdGhpcyBIb2ZlciA8bWF0aGlzLmhvZmVyQGRyZWFtbGFiLm5ldD4KCgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXRoaXMgSG9mZXIgPG1hdGhpcyBkb3QgaG9mZXIgYXQgZHJlYW1sYWIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldF9jYXBzKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfZGlzcG9zZSksIChnc3RfaWlyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9pbml0KSwgKGlpcl9zZXRfY2FwcyksCgkgIChpaXJfdHJhbnNmb3JtX2lwKSwgKGlpcl9zZXRfcHJvcGVydHkpLCAoaWlyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXRfY2FwcyksIChscHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDYtMDctMTAgMDk6NTc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgoyMDA2LTA3LTEwIDA5OjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSk6CgkgIEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCjIwMDYtMDctMDcgMTQ6MzA6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgoyMDA2LTA3LTA3IDExOjQ0OjA1ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBSZW1vdmUgdW5sb2NrIGZ1bmN0aW9uLiBzdGFydC9zdG9wIHdpbGwgZG8gZXZlcnl0aGluZyBuZWVkZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZmluYWxpemUpLAoJICAocmVxdWVzdF9kaXNwYXRjaCksIChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdG9wKSwgKHNldF9wcm94eSksIChzZXRfdXJpKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpLCAoc2l6ZV9oZWFkZXJfaGFuZGxlcik6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmVtb3ZlIHVubG9jayBmdW5jdGlvbi4gc3RhcnQvc3RvcCB3aWxsIGRvIGV2ZXJ5dGhpbmcgbmVlZGVkCgkgIFJlbW92ZWQgY29kZSB0aGF0IHdhcyBuZXZlciBjYWxsZWQuCgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlci4gRG9uJ3Qgc2VuZCBFT1MgLSBwYXJlbnQgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgRG8gbm90IGVzY2FwZSBwYXRoLiBGaXhlcyAjMzQ2NzIzLgoJICBBZGRpdGlvbmFsIGNvZGUgY2xlYW51cHMuCgoyMDA2LTA3LTAzIDIwOjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgSVY0MSBmb3VyY2MgKHNlZSBidWcgIzE3MTExMSk7IGRvbid0IG91dHB1dCBjb25mdXNpbmcKCSAgZGVidWcgbWVzc2FnZSB3aGVuIHNraXBwaW5nIGF0b21zLgoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDYtMjIgMTA6MTA6NTEgKzAwMDAgIENvZHkgUnVzc2VsbCA8YnJhdHNjaGVAZ25vbWUub3JnPgoKCSAgZ3N0LzogQXZvaWQgdW5uZWNlc3NhcnkgY2xhc3MgY2FzdCBjaGVjayBpbiBjbGFzc19pbml0IGZ1bmN0aW9ucyAoIzMzNzc0NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ29keSBSdXNzZWxsIDxicmF0c2NoZSBhdCBnbm9tZSBvcmc+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6CgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgQXZvaWQgdW5uZWNlc3NhcnkgY2xhc3MgY2FzdCBjaGVjayBpbiBjbGFzc19pbml0CgkgIGZ1bmN0aW9ucyAoIzMzNzc0NykuCgoyMDA2LTA2LTIwIDExOjA3OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDogRml4IG1vZHBsdWcgb24gQU1ENjQuIEZpeGVzICMzNDUzMzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkgIEZpeCBtb2RwbHVnIG9uIEFNRDY0LiBGaXhlcyAjMzQ1MzM2LgoKMjAwNi0wNi0xOSAxNDowNzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNoZWNrIHNvIHRoYXQgZnV0dXJlIGxpYm5lb24gQVBJIGNoYW5nZXMgd29uJ3QgYnJlYWsgdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjaGVjayBzbyB0aGF0IGZ1dHVyZSBsaWJuZW9uIEFQSSBjaGFuZ2VzIHdvbid0IGJyZWFrIHRoZSBidWlsZC4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBGaXggYnVpbGQgd2l0aCBsaWJuZW9uLTAuMjYueCAoIzM0NTE4MikuCgoyMDA2LTA2LTE5IDEzOjE3OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMKCjIwMDYtMDYtMTcgMTU6MDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwgIzM0MzYwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LAoJICAjMzQzNjAyKS4KCjIwMDYtMDYtMTYgMTU6NDM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB0ZXN0IGNhc2UgZm9yIGJ1ZyAjMzQyNzg5IGZpeGVkIGJlbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6ICh0ZXN0X3JldXNlKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdGVzdCBjYXNlIGZvciBidWcgIzM0Mjc4OSBmaXhlZCBiZWxvdy4KCjIwMDYtMDYtMTYgMTU6MTc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEltcGxlbWVudCBHc3RCYXNlVHJhbnNmb3JtOjpzdGFydCBhbmQgOjpzdG9wIHNvIHRoYXQgYXVkaW9yZXNhbXBsZSBjYW4gY2xlYXIgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3RhcnQpLCAoYXVkaW9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9yZXNhbXBsZV9nZXRfcHJvcGVydHkpOgoJICBJbXBsZW1lbnQgR3N0QmFzZVRyYW5zZm9ybTo6c3RhcnQgYW5kIDo6c3RvcCBzbyB0aGF0IGF1ZGlvcmVzYW1wbGUKCSAgY2FuIGNsZWFyIGl0cyBpbnRlcm5hbCBzdGF0ZSBwcm9wZXJseSBhbmQgYmUgcmV1c2VkIGluc3RlZCBvZgoJICBjYXVzaW5nIG5vbi1uZWdvdGlhdGVkIGVycm9ycyB3aXRoIHBsYXliaW4gdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzCgkgICgjMzQyNzg5KS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgIE5lZWQgdG8gc2V0IGVsZW1lbnQgc3RhdGUgaGVyZSBzbyB0aGF0IDo6c3RhcnQgYW5kIDo6c3RvcCBhcmUKCSAgY2FsbGVkLgoKMjAwNi0wNi0xNiAxMjozNTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNi0xNiAwOTo0OTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fd2luZG93X2Rlc3Ryb3kpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHBvcnQgdG8gZGVyaXZlIGZyb20gYmFzZXRyYW5zZm9ybSBhbmQgc2VuZCByZXN1bHRzIHZpYSBtZXNzYWdlcwoJICAobGlrZSBsZXZlbCBlbGVtZW50KQoKMjAwNi0wNi0xNSAxNTo1ODowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCjIwMDYtMDYtMTUgMDg6NTA6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgRml4ZXMgIzM0NDk0NC4KCjIwMDYtMDYtMTQgMTg6MDc6NTEgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgZXh0L3NvdW5kdG91Y2gvOiBNYWtlIHBpdGNoIGVsZW1lbnQgY29udHJvbGxhYmxlIHZpYSBHc3RDb250cm9sbGVyIGludGVyZmFjZSAoIzM0NDgyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiAgPHdvdXRlciBhdCBrYW5nYXJvb3QgbmV0PgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBNYWtlIHBpdGNoIGVsZW1lbnQgY29udHJvbGxhYmxlIHZpYSBHc3RDb250cm9sbGVyIGludGVyZmFjZQoJICAoIzM0NDgyMSkuCgkgICogY29uZmlndXJlLmFjOgoJICBVcCBjb3JlIHJlcXVpcmVtZW50cyB0byAwLjEwLjguMS9DVlMgYmVjYXVzZSBlYXJsaWVyCgkgIEdzdENvbnRyb2xsZXJzIGNhbid0IGhhbmRsZSBmbG9hdCBwcm9wZXJ0aWVzIGNvcnJlY3RseS4KCSAgQ2hlY2sgZm9yIEdzdENvbnRyb2xsZXIgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzogKG1haW4pOgoJICBBZGQgc21hbGwgdGVzdCBwcm9ncmFtIGZvciB0aGUgYWJvdmUgKHdlbGNvbWUgdG8gdGhlIDgwcyEpLgoKMjAwNi0wNi0xNCAwOTozMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3IGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldwoJICBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdGhlciBzdHVmZi4gU2V0IGR1cmF0aW9uCgkgIHRvICd1bmtub3duJyBpbiBpbml0aWFsIGhlYWRlciBhbmQgcmVzZW5kIGhlYWRlciB3aXRoIHByb3BlcgoJICBkdXJhdGlvbiBvbiBFT1M7IHVwZGF0ZSBTZWJhc3RpYW4ncyBlLW1haWwgYWRkcmVzcy4KCjIwMDYtMDYtMTIgMTE6MzA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleC86ICNkZWZpbmUgcmVkIGdyZWVuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiLy5jdnNpZ25vcmU6CgkgICogZXh0L2RpcmVjdGZiLy5jdnNpZ25vcmU6CgkgICNkZWZpbmUgcmVkIGdyZWVuCgoyMDA2LTA2LTEyIDExOjA0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0xMSAyMjozNzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMDYtMTEgMTM6NTc6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogcmVxdWlyZSBhbTE3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIHJlcXVpcmUgYW0xNwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGNsZWFuIHVwIGJ1aWxkIGZ1cnRoZXIKCjIwMDYtMDYtMTAgMTU6MzM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoKMjAwNi0wNi0wOSAxNzozODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTLCBmaXhlcyBidWlsZCBvbiBjeWd3aW4gKCMzNDM4NjYpLgoKMjAwNi0wNi0wNiAxNjoyNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGFwdCB0byBuZXcgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGFwdCB0byBuZXcgYXBpCgoyMDA2LTA2LTA2IDE2OjE0OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L01ha2VmaWxlLmFtOgoJICBidWlsZCBnZHAgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgZ2RwIHBsdWdpbnMKCjIwMDYtMDYtMDYgMTU6MTY6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA2LTA2IDE0OjM5OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgYWRkIHZlcnNpb24gMS4wCgoyMDA2LTA2LTAyIDE3OjAxOjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICB0ZXN0cy9jaGVjay86IERvbid0IGJ1c3ktd2FpdCBpbiB0ZXN0czsgdGhpcyB3YXMgY2F1c2luZyB0ZXN0IHRpbWVvdXRzIHZlcnkgZnJlcXVlbnRseSB3aGVuIHJ1bm5pbmcgdW5kZXIgdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOiAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdldF9mbG9hdF9tY19jYXBzKSwgKGdldF9pbnRfbWNfY2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgYnVzeS13YWl0IGluIHRlc3RzOyB0aGlzIHdhcyBjYXVzaW5nIHRlc3QgdGltZW91dHMgdmVyeQoJICBmcmVxdWVudGx5IHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZC4KCjIwMDYtMDYtMDIgMTY6NDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBzbWFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgZml4ZXMKCjIwMDYtMDYtMDIgMTM6NDM6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IFRoZW9yYSA0OjQ6NCBwaXhlbCBmb3JtYXQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlXzQ0NF9pbWFnZSksICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgVGhlb3JhIDQ6NDo0IHBpeGVsIGZvcm1hdCBzdXBwb3J0LgoKMjAwNi0wNi0wMiAxMDoyODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcyBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSk6CgkgIGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzCgkgIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ2RwcGF5X3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIGNyYwoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA2LTAxIDE5OjE5OjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuaDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJvcHRpb25zLmg6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suaDoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmg6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFkZWMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYWVuYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhcGFyc2UuaDoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvY2xvY2suaDoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBhdWRpb3BheWxvYWQuaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5oOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuaDoKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuaDoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5oOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmg6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5oOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmg6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGpwZWdzcmMuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5oOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5oOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5oOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmg6CgkgICogdGVzdHMvb2xkL3Rlc3RzdWl0ZS9hbHNhL3NpbmVzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0zMSAxOToyNjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuaDogRm9yZ290IHRvIGNvbW1pdCB0aGUgaGVhZGVyIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIEZvcmdvdCB0byBjb21taXQgdGhlIGhlYWRlciBmaWxlIHRvby4KCjIwMDYtMDUtMzEgMTM6Mzc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZGVkIEdzdFNlZ21lbnQgdG8gY29udHJvbCBzZWdtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2xhc3NfaW5pdCksIChnc3RfZmFhZF9pbml0KSwKCSAgKGdzdF9mYWFkX2Rpc3Bvc2UpLCAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChjbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGRlZCBHc3RTZWdtZW50IHRvIGNvbnRyb2wgc2VnbWVudHMuCgkgIEFkZGVkIGNsaXBwaW5nL2Ryb3BwaW5nIG9mIG91dGdvaW5nIGJ1ZmZlcnMgaW4gb3JkZXIgdG8gaGF2ZSBhY2N1cmF0ZQoJICBzZWVraW5nIHdvcmtpbmcgcHJvcGVybHkuCgoyMDA2LTA1LTI4IDE3OjA4OjE3ICswMDAwICBMdXR6IE3DvGxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvYnoyLzogVXNlIGdzdF90eXBlX2ZpbmRfaGVscGVyXyogZnVuY3Rpb25zIGZvciB0eXBlZmluZGluZzsgdXNlIGNvcnJlY3QgY2FwcyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IGFkZCBzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE3DvGxsZXIgIDxsdXR6IGF0IHRvcGZyb3NlIGRlPgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKGdzdF9iejJkZWNfY2hhaW4pLCAoZ3N0X2J6MmRlY19pbml0KSwKCSAgKGdzdF9iejJkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9iejJkZWNfY2xhc3NfaW5pdCk6CgkgIFVzZSBnc3RfdHlwZV9maW5kX2hlbHBlcl8qIGZ1bmN0aW9ucyBmb3IgdHlwZWZpbmRpbmc7IHVzZQoJICBjb3JyZWN0IGNhcHMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBhZGQgc3RhdGUgY2hhbmdlCgkgIGZ1bmN0aW9uIGFuZCByZXNldCBkZWNvZGVyIGluIGl0OyBkb24ndCB1bnJlZiBidWZmZXIgaWYKCSAgcGFkX3B1c2ggZmFpbHM7IHVzZSBmaXhlZCBjYXBzIG9uIHNvdXJjZSBwYWQuICgjMzQxNTI0KS4KCjIwMDYtMDUtMjYgMjI6MzU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl9mcmVxdWVuY3lfY2hhbmdlZCksCgkgIChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBmaXggdHlwbwoKMjAwNi0wNS0yNiAxMzoxNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AKCSAgdGltZS4KCjIwMDYtMDUtMjYgMTE6NDg6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoKMjAwNi0wNS0yNCAxMTo1Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgoyMDA2LTA1LTIyIDE4OjAwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwby9QT1RGSUxFUy5pbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwgKHBsdWdpbl9pbml0KToKCSAgcG8vUE9URklMRVMuaW46CgkgIFRocm93IGFuIGVycm9yIHdoZW4gdGhlIGZpbGUgaXMgZW5jcnlwdGVkLiBNb3ZlIHBsdWdpbl9pbml0IHN0dWZmCgkgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUsIGFkZCBzdHVmZiBmb3IgaTE4biwgbWFrZSBkZWJ1ZyBjYXRlZ29yeQoJICBzdGF0aWMuCgoyMDA2LTA1LTIyIDE2OjI0OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzaWdoLCByZWFsbHkgZG9uJ3QgYnVpbGQgdGhlc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNpZ2gsIHJlYWxseSBkb24ndCBidWlsZCB0aGVzZQoKMjAwNi0wNS0yMiAxNjowODozNCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBOZXcgcGx1Z2luOiBoMjY0cGFyc2UgKCMzNDA2MzgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCB4ZXJpcyBkb3QgY3o+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5hbGl6ZSksIChnc3RfaDI2NF9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2luaXQpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2gyNjRfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBOZXcgcGx1Z2luOiBoMjY0cGFyc2UgKCMzNDA2MzgpCgoyMDA2LTA1LTIyIDE1OjUzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucyBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3BheV9jaGFpbiksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMKCSAgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBjbGVhbiB1cCBtb3JlCgoyMDA2LTA1LTIyIDE0OjM3OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoKMjAwNi0wNS0yMiAxMzo0MDoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCjIwMDYtMDUtMjIgMTM6MjU6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbCBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9nZHBfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9wYXlfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9kaXNwb3NlKSwgKGdzdF9nZHBfc3RhbXBfYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2dkcF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpLCAoZ2RwZGVwYXlfcHVzaF9wZXJfYnl0ZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwZGVwYXlfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlciksIChnZHBwYXlfc3VpdGUpLAoJICAobWFpbik6CgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwKCSAgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgoyMDA2LTA1LTIxIDE2OjQxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgoyMDA2LTA1LTIxIDE2OjIzOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgdXNlIG5ldyB0aHJlc2hob2xkIHByb3BlcnR5CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbiksCgkgIChnc3Rfc3BlY3RydW1fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGdzdF9hZGFwdGVyLCBzdXBwb3J0IG11bHRpcGxlLWNoYW5uZWxzLCBhZGQgdGhyZXNob2xkIHByb3BlcnR5IGZvcgoJICByZXN1bHQsIGFkZCBkb2NzLCBmaXggcmVzdWx0aW5nIHNwZWN0cnVtIHJhbmdlICh3YXMgaW5jbHVkaW5nIG1pcnJvcmVkCgkgIHJlc3VsdHMpCgoyMDA2LTA1LTIwIDIyOjQyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogKGdzdF9zcGVjdHJ1bV9maXhfZG90KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgoyMDA2LTA1LTE5IDE4OjU4OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCjIwMDYtMDUtMTkgMTg6MzE6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTE5IDE0OjE3OjA0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuKjogVXNlIHNhbXBsaW5nIHJhdGUgZnJvbSBzZXRfY2Fwcy4gQ29tbWVudCBvdXQgc29tZSBtb3JlIHVudXNlZCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfYmFzZV9pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xhc3NfaW5pdCksIChhbHNhc3BkaWZzaW5rX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19kaXNwb3NlKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3Byb3BlcnR5KSwgKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19jbG9zZSksIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSksCgkgIChhbHNhc3BkaWZzaW5rX3dyaXRlX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfZXZlbnQpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZXMpLCAoYWxzYXNwZGlmc2lua19jdXJyZW50X2RlbGF5KSwKCSAgKGdlbmVyYXRlX2llYzk1OF96ZXJvX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfcmVuZGVyKSwKCSAgKGlnbm9yZV9hbHNhX2VyciksIChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgIFVzZSBzYW1wbGluZyByYXRlIGZyb20gc2V0X2NhcHMuIENvbW1lbnQgb3V0IHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCjIwMDYtMDUtMTggMTk6MzQ6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFgxMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYMTEKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaWZhY2Vfc3VwcG9ydGVkKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgQ29kZSBjbGVhbnVwcywgZml4IGRlYnVnIG1hY3JvcwoKMjAwNi0wNS0xOCAxMzoxMjoxOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdGNoZWNrPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBkaXN0Y2hlY2s/CgoyMDA2LTA1LTE4IDEyOjUxOjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYW4gYWxzYSBwbHVnaW4gdG8gb3V0cHV0IElFQzk1OCBmcmFtZXMgb3ZlciBTL1BESUYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19iYXNlX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19jbGFzc19pbml0KSwgKGFsc2FzcGRpZnNpbmtfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2Rpc3Bvc2UpLCAoYWxzYXNwZGlmc2lua19zZXRfcHJvcGVydHkpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfcHJvcGVydHkpLCAoYWxzYXNwZGlmc2lua19wcm92aWRlX2Nsb2NrKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xvc2UpLCAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpLAoJICAoYWxzYXNwZGlmc2lua193cml0ZV9mcmFtZSksIChhbHNhc3BkaWZzaW5rX2V2ZW50KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWVzKSwgKGFsc2FzcGRpZnNpbmtfY3VycmVudF9kZWxheSksCgkgIChnZW5lcmF0ZV9pZWM5NThfemVyb19mcmFtZSksIChhbHNhc3BkaWZzaW5rX3JlbmRlciksCgkgIChpZ25vcmVfYWxzYV9lcnIpLCAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICBBZGQgYW4gYWxzYSBwbHVnaW4gdG8gb3V0cHV0IElFQzk1OCBmcmFtZXMgb3ZlciBTL1BESUYKCjIwMDYtMDUtMTcgMDk6Mzk6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFJlbW92ZSB1bnVzZWQgY2FwcyBjcnVmdCBmcm9tIGNoYWluIGZ1bmN0aW9uIGFsdG9nZXRoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgUmVtb3ZlIHVudXNlZCBjYXBzIGNydWZ0IGZyb20gY2hhaW4gZnVuY3Rpb24gYWx0b2dldGhlci4KCjIwMDYtMDUtMTcgMDk6MTU6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgY2FwcyB3YXMgc2V0IHRvIHNvbWV0aGluZywgYW5kIGlmIGl0IGRpZCwgdGhlIGZ1bmN0aW9uIGNhbGxlZCB0byBmaWxsIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IGNhcHMgd2FzIHNldCB0byBzb21ldGhpbmcsIGFuZCBpZiBpdCBkaWQsIHRoZQoJICBmdW5jdGlvbiBjYWxsZWQgdG8gZmlsbCB0aGF0IHZhcmlhYmxlIGFjdHVhbGx5IHNldHMgdGhlIGNhcHMgb24gdGhlCgkgIHNvdXJjcGFkLCBzbyB3ZSBjYWxsIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHVzaW5nCgkgIEdTVF9QQURfQ0FQUyhmYWFkLT5zcmNwYWQpLgoKMjAwNi0wNS0xNSAxMDoxMDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IGNoYW5nZXMgd2l0aCBhZGRpdGlvbnMgYW5kIHJlbW92YWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgY2hhbmdlcyB3aXRoIGFkZGl0aW9ucyBhbmQgcmVtb3ZhbHMKCjIwMDYtMDUtMTMgMTg6Mzk6MTMgKzAwMDAgIFlvdW5nLUhvIENoYSA8Z2FuYWRpc3RAY2hvbGxpYW4ubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBJZiB3ZSBlbmNvdW50ZXIgYSBkZWNvZGluZyBlcnJvciwgZG9uJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5LCBidXQgdHJ5IHRvIHJlc3luYyAob3Igc2VlIGlmIHdlIGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmctSG8gQ2hhICA8Z2FuYWRpc3QgY2hvbGxpYW4gbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIElmIHdlIGVuY291bnRlciBhIGRlY29kaW5nIGVycm9yLCBkb24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHksCgkgIGJ1dCB0cnkgdG8gcmVzeW5jIChvciBzZWUgaWYgd2UgaGF2ZSBiZXR0ZXIgbHVjayB3aXRoIHRoZSBuZXh0CgkgIGJ1ZmZlciBpbiBjYXNlIG9mIGZyYW1lZCBpbnB1dCkuIE9ubHkgZXJyb3Igb3V0IGFmdGVyIGZpdmUKCSAgY29uc2VjdXRpdmUgZXJyb3JzLiBGaXhlcyAjMzQxNTYzLgoKMjAwNi0wNS0xMiAxMDo0Mzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogQ29tcGlsZSBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeHZpZGVuY19pbml0KSwgKGdzdF94dmlkZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF94dmlkZW5jX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF94dmlkZW5jX3NldHVwKSwKCSAgKGdzdF94dmlkZW5jX3NldGNhcHMpLCAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwgKGdzdF94dmlkZW5jX2NoYWluKSwKCSAgKGdzdF94dmlkZW5jX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRlbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgIENvbXBpbGUgZml4ZXMuCgoyMDA2LTA1LTEyIDA5OjI4OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZXh0L3h2aWQvOiB4dmlkIHBsdWdpbiB0byBzdXBwb3J0IG1vcmUgY2FwYWJpbGl0aWVzIG9mIFh2aUQgY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAoZ3N0X3h2aWRfaW5pdCksIChnc3RfeHZpZF9zdHJ1Y3R1cmVfdG9fY3NwKSwKCSAgKGdzdF94dmlkX2NzcF90b19jYXBzKSwgKGdzdF94dmlkX2ltYWdlX2dldF9zaXplKSwKCSAgKGdzdF94dmlkX2ltYWdlX2ZpbGwpOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jbGFzc19pbml0KSwKCSAgKGdzdF94dmlkZGVjX2luaXQpLCAoZ3N0X3h2aWRkZWNfcmVzZXQpLCAoZ3N0X3h2aWRkZWNfdW5zZXQpLAoJICAoZ3N0X3h2aWRkZWNfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3h2aWRkZWNfc2V0dXApLAoJICAoZ3N0X3h2aWRkZWNfYWRkX3BhciksIChnc3RfeHZpZGRlY19uZWdvdGlhdGUpLAoJICAoZ3N0X3h2aWRkZWNfZGVjb2RlKSwgKGdzdF94dmlkZGVjX2NoYWluKSwKCSAgKGdzdF94dmlkZGVjX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRkZWNfc3JjX2dldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfc3JjX2xpbmspLCAoZ3N0X3h2aWRkZWNfc2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19wcm9maWxlX2dldF90eXBlKSwKCSAgKGdzdF94dmlkZW5jX3F1YW50X3R5cGVfZ2V0X3R5cGUpLCAoZ3N0X3h2aWRlbmNfcGFzc19nZXRfdHlwZSksCgkgIChnc3RfeHZpZGVuY19nZXRfdHlwZSksIChnc3RfeHZpZGVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfY2xhc3NfaW5pdCksIChnc3RfeHZpZGVuY19pbml0KSwKCSAgKGdzdF94dmlkZW5jX2ZpbmFsaXplKSwgKGdzdF94dmlkZW5jX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF94dmlkZW5jX3NldHVwKSwgKGdzdF94dmlkZW5jX3NldGNhcHMpLCAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2NoYWluKSwgKGdzdF94dmlkZW5jX2ZsdXNoX2J1ZmZlcnMpLAoJICAoZ3N0X3h2aWRlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeHZpZGVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZCBwbHVnaW4gdG8gc3VwcG9ydCBtb3JlIGNhcGFiaWxpdGllcyBvZiBYdmlEIGNvZGVjLgoJICBGaXhlcyAjMzM5NDYyLgoJICBTb21lIG1vcmUgY2xlYW51cHMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTA1LTExIDIwOjQ3OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHV0IGJhY2sgLW5vLXVuZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHV0IGJhY2sgLW5vLXVuZGVmaW5lZAoKMjAwNi0wNS0xMSAxNzo1OTo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTEgMDk6MDk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZQoJICBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uYWwgZXNkcyBib3guIFByb21vdGUgdGhlCgkgIGRlZmF1bHQgQUFDIHRvIG1wMyB3aGVuIGluZGljYXRlZC4gRml4ZXMgIzMzMDYzMi4KCjIwMDYtMDUtMTAgMTc6NDQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBEb24ndCAjZGVmaW5lIGdzdF91dGlsX2R1bXBfbWVtKCksIHVzZSBzb21ldGhpbmcgbW9yZQoJICBzcGVjaWZpYyBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDYtMDUtMDggMTk6MjE6MTggKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoKMjAwNi0wNS0wOCAxNToyMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKHF0ZGVtdXhfZHVtcF9tdmhkKToKCSAgRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBBbHNvIHJlcG9ydCBkdXJhdGlvbiBpbiBwdXNoIG1vZGUgc2luY2Ugd2UgY2FuLgoKMjAwNi0wNS0wOCAxMTo1NTowMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGF1dG9nZW4uc2g6IGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDogKENPTkZJR1VSRV9ERUZfT1BUKToKCSAgbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZQoKMjAwNi0wNS0wNiAwMDoxNTo1OSArMDAwMCAgTWFjaWVqIEthdGFmaWFzeiA8bWF0aHJpY2tAbWF0aHJpY2sub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoKMjAwNi0wNS0wNSAyMDoxMjo1OSArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uLgoKMjAwNi0wNS0wNSAxNTo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IFVzZSAoTlVMTCkgaW5zdGVhZCBvZiBqdXN0IE5VTEwgaW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19wcmVwYXJlKToKCSAgVXNlIChOVUxMKSBpbnN0ZWFkIG9mIGp1c3QgTlVMTCBpbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyby4KCjIwMDYtMDUtMDQgMTU6MzI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjMgPT09CgoyMDA2LTA1LTA0IDE1OjI4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCjIwMDYtMDUtMDQgMTU6MDk6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIFBlcmZvcm0gdmVyc2lvbiBudW1iZXIgc3VyZ2VyeSB0byBjb3JyZWN0bHkgcmVsZWFzZSB0YXJiYWxscyBvZiAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBlcmZvcm0gdmVyc2lvbiBudW1iZXIgc3VyZ2VyeSB0byBjb3JyZWN0bHkgcmVsZWFzZSB0YXJiYWxscyBvZiAwLjEwLjMKCjIwMDYtMDUtMDQgMTQ6NTI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgoyMDA2LTA1LTA0IDE0OjUxOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTA0IDA5OjI5OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCjIwMDYtMDUtMDMgMjE6NDg6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTA1LTAzIDE2OjU0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOiBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIGZvciBnc3QvdGFnL3RhZy5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBmb3IgZ3N0L3RhZy90YWcuaAoKMjAwNi0wNS0wMyAxNDozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEgZGVhZCBjb2RlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhCgkgIGRlYWQgY29kZSBibG9jay4KCjIwMDYtMDUtMDMgMTM6MjA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBFdmVyeWJvZHkgbG92ZXMgZG9jcyAtIGFkZCBkb2NzIGZvciBtdXNpY2JyYWlueiBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIEV2ZXJ5Ym9keSBsb3ZlcyBkb2NzIC0gYWRkIGRvY3MgZm9yIG11c2ljYnJhaW56IHBsdWdpbi4KCjIwMDYtMDUtMDMgMTI6MDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBtdXNpY2JyYWlueiBkaXIgdG8gRElTVF9TVUJESVJTIGFzIHdlbGwgKGZpeGVzIGRpc3RjaGVjaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIG11c2ljYnJhaW56IGRpciB0byBESVNUX1NVQkRJUlMgYXMgd2VsbCAoZml4ZXMgZGlzdGNoZWNrKS4KCjIwMDYtMDUtMDMgMTE6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEZvcmdvdCB0byBjb21taXQgdGhpcyBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRm9yZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCjIwMDYtMDUtMDMgMTE6Mjc6NDIgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgTXVzaWNCcmFpbnogVFJNIHBsdWdpbiAoIzMzNjg5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9iYXNlX2luaXQpLAoJICAoZ3N0X3RybV9jbGFzc19pbml0KSwgKGdzdF90cm1faW5pdCksIChnc3RfdHJtX3NldGNhcHMpLAoJICAoZ3N0X3RybV9jaGFpbiksIChnc3RfdHJtX2VtaXRfc2lnbmF0dXJlKSwgKGdzdF90cm1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90cm1fZ2V0X3Byb3BlcnR5KSwgKGdzdF90cm1fY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIFBvcnQgTXVzaWNCcmFpbnogVFJNIHBsdWdpbiAoIzMzNjg5OCkuCgoyMDA2LTA1LTAzIDEwOjI1OjQ2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCAjMzM0NzQ4OiB1c2UgZmFrZV9jb2RlY19kYXRhIGlmIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZmlyc3QgYnVmZmVyIHdlIHByb2Nlc3MgZG9lc24ndCBsb29rIGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChsb29rc19saWtlX3ZhbGlkX2hlYWRlciksIChnc3RfZmFhZF9jaGFpbik6CgkgIEZpeCAjMzM0NzQ4OiB1c2UgZmFrZV9jb2RlY19kYXRhIGlmIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZmlyc3QKCSAgYnVmZmVyIHdlIHByb2Nlc3MgZG9lc24ndCBsb29rIGxpa2UgcGxhdXNpYmxlIEFBQyBkYXRhIChlLmcuCgkgIHJlc2VydmVkIHZhbHVlcyBmb3IgcmF0ZSwgb3IgY2hhbm5lbHMpLiBGaXhlcyBwbGF5YmFjayBvZiBBcHBsZSdzCgkgIG1vdmllIHRyYWlsZXJzLgoKMjAwNi0wNS0wMiAyMTo1Mjo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoKMjAwNi0wNS0wMSAyMTozNzo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgoyMDA2LTA1LTAxIDE3OjU4OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmVkIHRvIGdvb2QuICBDbG9zZXMgIzMzNjExMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIG1vdmVkIHRvIGdvb2QuICBDbG9zZXMgIzMzNjExMAoKMjAwNi0wNC0zMCAxNjoxNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTMwIDE1OjMyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcwoKMjAwNi0wNC0zMCAxNToxMzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgc2lnbmFscwoKMjAwNi0wNC0zMCAxNToxMTo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgaWdub3JlIG1vcmU7IGFkZCBuZXcgaW5zcGVjdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmU7IGFkZCBuZXcgaW5zcGVjdCBmaWxlcwoKMjAwNi0wNC0zMCAxNDo1OTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgcmVtb3ZlIGZpbGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBjdnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBmaWxlcyB0aGF0IHNob3VsZCBub3QgYmUgaW4gY3ZzCgoyMDA2LTA0LTMwIDE0OjU4OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEZpeCB1cCBkb2NzIGZvciB0YWdsaWIgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICBGaXggdXAgZG9jcyBmb3IgdGFnbGliIHBsdWdpbgoJICBBbHNvIHNjYW4gLmNjIGZpbGVzCgoyMDA2LTA0LTMwIDE0OjU1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoKMjAwNi0wNC0yOSAxODo0NjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkgY2FzZSBvZiBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KQoJICBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNC0yOSAxODoxODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvIGl0cyBvd24gc3ViY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50bwoJICBpdHMgb3duIHN1YmNsYXNzLgoKMjAwNi0wNC0yOSAxNTozNjoxNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogYWRkZWQgaXJhZGlvLW1vZGUgc3VwcG9ydCBhcyBpbiBnbm9tZXZmc3NyYyB0byBlbmFibGUgY29ubmVjdGlvbnMgd2l0aCBpY3lkZW11eCB0aGF0IHdpbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgYWRkZWQgaXJhZGlvLW1vZGUgc3VwcG9ydCBhcyBpbiBnbm9tZXZmc3NyYyB0byBlbmFibGUKCSAgY29ubmVjdGlvbnMgd2l0aCBpY3lkZW11eCB0aGF0IHdpbGwgc2VuZCB0aXRsZSB0YWcgbWVzc2FnZXMgb24KCSAgc2hvdXRjYXN0L2ljZWNhc3Qgc3RyZWFtcy4gSSd2ZSBhbHNvIGFkZGVkIGlyYWRpbyBwcm9wZXJ0aWVzCgkgIGlyYWRpby1uYW1lLCBpcmFkaW8tZ2VucmUsIGlyYWRpby11cmwuCgkgIGFkZGVkIHVzZXItYWdlbnQgcHJvcGVydHkgYmVjYXVzZSBzb21lIHNob3V0Y2FzdCBzdHJlYW1zIGRvbid0IHJldHVybgoJICBkYXRhIGlmIHRoZSBHRVQgcmVxdWVzdHMgZG9uJ3QgaGF2ZSBhIFVzZXItQWdlbnQuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdG5lb24uZHNwOgoJICB1c2UgZGVidWcgdmVyc2lvbiBvZiBsaWJuZW9uIGluIGRlYnVnIG1vZGUKCjIwMDYtMDQtMjggMjE6NDM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgZWxlbWVudCByZW5hbWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbGVtZW50IHJlbmFtZWQKCjIwMDYtMDQtMjggMTk6NDY6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIG1ha2UgR3N0RWxlbWVudERldGFpbHMgY29uc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dncGFyc2UuYzoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxqcGVnc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgbWFrZSBHc3RFbGVtZW50RGV0YWlscyBjb25zdAoKMjAwNi0wNC0yOCAxOToyNDo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgcmVtb3ZlZCBwbHVnaW4gZG9jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIHBsdWdpbiBkb2MKCjIwMDYtMDQtMjggMTk6MjM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBtb3ZlZCB4aW1hZ2VzcmMgdG8gZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZWQgeGltYWdlc3JjIHRvIGdvb2QKCjIwMDYtMDQtMjggMTY6NTE6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgYm9yZ2lmeSBuYW1pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgbmFtaW5nCgoyMDA2LTA0LTI4IDE2OjQ2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIGRvYyB0d2Vha3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB0d2Vha3MKCjIwMDYtMDQtMjggMTY6MTU6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgoyMDA2LTA0LTI4IDE1OjMzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGVkYW50aWMgY2xlYW51cHMKCjIwMDYtMDQtMjggMTQ6MTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFkZCBzdXBwb3J0IGZvciBvdGhlciBmb3JtYXRzIGF1ZGlvcmVzYW1wbGUgY2FuIGhhbmRsZSBzdWNoIGFzIDMyIGJpdHMgaW4gYW5kIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChyZXNhbXBsZV9zZXRfc3RhdGVfZnJvbV9jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG90aGVyIGZvcm1hdHMgYXVkaW9yZXNhbXBsZSBjYW4gaGFuZGxlIHN1Y2ggYXMKCSAgMzIgYml0cyBpbiBhbmQgZmxvYXQgYW5kIDY0IGJpdHMgZmxvYXQuIEZpeGVzICMzMDE3NTkKCjIwMDYtMDQtMjggMTE6MDQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IElmIHdlIHJ1biBpbnRvIGEgZGVjb2RpbmcgZXJyb3IsIHRyeSByZS1vcGVuaW5nIHRoZSBkZWNvZGVyIHdpdGggZmFhY0RlY0luaXQyKCkgdXNpbmcgZmFrZSBjb2RlYyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChhYWNfcmF0ZV9pZHgpLAoJICAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9vcGVuX2RlY29kZXIpLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2RlciksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgSWYgd2UgcnVuIGludG8gYSBkZWNvZGluZyBlcnJvciwgdHJ5IHJlLW9wZW5pbmcgdGhlIGRlY29kZXIKCSAgd2l0aCBmYWFjRGVjSW5pdDIoKSB1c2luZyBmYWtlIGNvZGVjIGRhdGEgY3JlYXRlZCBmcm9tIHRoZQoJICBkYXRhIHRoZSBkZW11eGVyIGdhdmUgdXMuIFNob3VsZCBmaXggYSB3aG9sZSBidW5jaCBvZgoJICBHU3RyZWFtZXItZmFhZCBwcm9ibGVtcyBpbmNsLiAnY2hhbm5lbCBjb3VwbGluZyBub3QKCSAgaW1wbGVtZW50ZWQnLCAnbWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQnCgkgIGV0Yy4gKCMxNzMwMDcsICMzMzI4OTIpLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTIwIDE4OjAyOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNi0wNC0yMCAxNzoyOTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgoyMDA2LTA0LTIwIDA5OjQ4OjA1ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgQWRkIHF0ZHJ3IG1pbWUgdHlwZS4KCSAgRml4ZXMgIzMzOTA0MQoKMjAwNi0wNC0xOSAwOToyNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBGaXhlcyAjMzM4OTM1LgoKMjAwNi0wNC0xNyAxOTo0MzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoKMjAwNi0wNC0xNyAxODo0NDo0OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuKjogQXBwbHkgZml4IGZyb20gal4gZm9yIEFQSSBjaGFuZ2UgaW4gbGlidGhlb3JhZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIEFwcGx5IGZpeCBmcm9tIGpeIGZvciBBUEkgY2hhbmdlIGluIGxpYnRoZW9yYWRlYy4KCSAgSW1wbGVtZW50IDQ6MjoyIHBpeGVsIGZvcm1hdC4gVW50ZXN0ZWQgYXQgdGhlIG1vbWVudC4KCjIwMDYtMDQtMTQgMTM6MTI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogRml4IHRyYWNrL2FsYnVtIHBlYWsgdGFnIHZhbHVlczsgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpOgoJICBGaXggdHJhY2svYWxidW0gcGVhayB0YWcgdmFsdWVzOyB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kCgkgIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkuCgoyMDA2LTA0LTEzIDIxOjQ1OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoKMjAwNi0wNC0xMiAyMTo1NzowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCjIwMDYtMDQtMTEgMTY6MTg6MTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggdmVyc2lvbmluZyBtYWNybyBhbmQgYWRkIHRyYW5zbGF0aW9uIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmVyc2lvbmluZyBtYWNybyBhbmQgYWRkIHRyYW5zbGF0aW9uIGZpbGVzCgoyMDA2LTA0LTEwIDE3OjE2OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgoyMDA2LTA0LTEwIDE0OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgoyMDA2LTA0LTEwIDEzOjU4OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogRml4IGJ1aWxkIChjbGFzc19pbml0IGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWlzbWF0Y2gpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIChjbGFzc19pbml0IGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWlzbWF0Y2gpLgoKMjAwNi0wNC0xMCAwODozMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgoyMDA2LTA0LTA5IDE4OjMwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZG9uZSBzb21lIGNsZWFucyBpbiBzb3VyY2VzCgkgICogd2luMzIvdnM2OgoJICBhZGQgcHJvamVjdCBmaWxlcyBmb3IgbmVvbiwgcXRkZW11eAoKMjAwNi0wNC0wOSAxNzoxNDoyMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDogcmVwbGFjZSBkZWJ1ZyBtYWNyb3Mgd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgcGFyYW1ldGVycyBieSBhIHNpbXBsZSBhbGlhcyB0byBnc3RyZWFtZXIgc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgIHJlcGxhY2UgZGVidWcgbWFjcm9zIHdpdGggdmFyaWFibGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMKCSAgYnkgYSBzaW1wbGUgYWxpYXMgdG8gZ3N0cmVhbWVyIHN0YW5kYXJkIGRlYnVnIG1hY3JvcwoJICAoI2RlZmluZSBSRVNBTVBMRV9FUlJPUiBHU1RfRVJST1IsIF9fVkFfQVJHU19fIGlzIG5vdAoJICBzdXBwb3J0ZWQgYnkgTVNWQyA2LjAgYW5kIDcuMSkKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBkZWZpbmUgTV9QSSBhbmQgcmludCBmb3IgV0lOMzIKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0YXVkaW8uZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RyaWZmLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0dGFnLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0dmlkZW8uZGVmOgoJICBhZGQgbmV3IGV4cG9ydGVkIGZ1bmN0aW9ucwoJICAqIHdpbjMyL3ZzNjoKCSAgdXBkYXRlIHByb2plY3QgZmlsZXMKCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDQ6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjQxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyNTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwKCSAgKHF0ZGVtdXhfZHVtcF9zdGNvKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIEZpeCB0aW1lc3RhbXBzIGZvciBBTVIgYW5kIElNQTQuICBGaXhlcyAoIzMzNzQzNikuCgkgIENyZWF0ZSBhIGR1bW15IHNlZ21lbnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGVkaXQgbGlzdC4KCjIwMDYtMDQtMDcgMTY6NTk6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6IFVwZGF0ZXMuCgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCBleGFtcGxlIHJlc291cmNlIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA2LTA0LTA3IDE1OjUzOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvIDI1ZnBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvCgkgIDI1ZnBzCgoyMDA2LTA0LTA3IDE1OjQ3OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKG1haW4pOgoJICBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCjIwMDYtMDQtMDcgMTU6Mjc6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChjb21wb3NpdGVfcGl4ZWwpLCAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMDYgMTk6MTY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9maW5kX2luZGV4KSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLCAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIEF2b2lkIG92ZXJmbG93cyBpbiBwcm9sb2d1ZSBpbWFnZSBkZXRlY3Rpb24gY29kZS4KCSAgQXZvaWQgcm91bmRvZmYgZXJyb3JzIGluIHRpbWVzdGFtcCBjYWxjdWxhdGlvbnMuCgoyMDA2LTA0LTA2IDE0OjIwOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgIG1vcmUgZGlzdGNoZWNrIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIGRpc3RjaGVjayBmaXhlcwoKMjAwNi0wNC0wNiAxNDowODowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGNsZWFuIHVwIHNvIHJlcG9ydCBwcm9wZXJseSBvbiBtaXNzaW5nIHN0dWZmIGZpeCBtb2RwbHVnIGRldGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGNsZWFuIHVwIHNvIHJlcG9ydCBwcm9wZXJseSBvbiBtaXNzaW5nIHN0dWZmCgkgIGZpeCBtb2RwbHVnIGRldGVjdGlvbgoKMjAwNi0wNC0wNiAxMjo1MjoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvOiBkb24ndCBkaXN0IGFtciB3YiBzb3VyY2UgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgIGRvbid0IGRpc3QgYW1yIHdiIHNvdXJjZSBjb2RlCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTA2IDA5OjM3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQWRkIGJhY2sgInVyaSIgcHJvcGVydHkgYW5kIG1hcmsgaXQgYXMgZGVwcmVjYXRlZDsgdW5kb2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgYmFjayAidXJpIiBwcm9wZXJ0eSBhbmQgbWFyayBpdCBhcyBkZXByZWNhdGVkOyB1bmRvZXMKCSAgQVBJL0FCSSBicmVha2FnZSBmcm9tIDIwMDYtMDItMjQuCgoyMDA2LTA0LTA1IDA4OjM2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApOgoJICBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMKCSAgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBBbHNvIHBlcmZvcm0gRU9TIHdoZW4gd2UgcnVuIHBhc3QgdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDYtMDQtMDQgMTE6MjA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE1hcmsgZGlzY29udGludWl0aWVzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIFBvc3QgYmV0dGVyIGVycm9ycyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBIYW5kbGUgRU9TIGFuZCBzZWdtZW50IGVuZCBwcm9wZXJseS4KCjIwMDYtMDQtMDQgMDg6NDA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1hcmsgbGF0ZXN0IGNoYW5nZSBhcyBmaXhpbmcgYSBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXJrIGxhdGVzdCBjaGFuZ2UgYXMgZml4aW5nIGEgYnVnLgoKMjAwNi0wNC0wNCAwODozMToxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIEltcGxlbWVudCBjb3JyZWN0IGFjY3VyYXRlIGFuZCBrZXlmcmFtZSBzZWVraW5nLgoJICBVc2UgX0RFQlVHX09CSkVDVCB3aGVuIHBvc3NpYmxlLgoKMjAwNi0wNC0wMyAxMTowODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBPbmx5IHJ1biB0aGUgaWQzdjJtdXggY2hlY2sgaWYgdGFnbGliIGlzIGF2YWlsYWJsZSBhbmQgdGhlIHRhZ2xpYiBwbHVnaW4gaGFzIGJlZW4gYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBPbmx5IHJ1biB0aGUgaWQzdjJtdXggY2hlY2sgaWYgdGFnbGliIGlzIGF2YWlsYWJsZSBhbmQKCSAgdGhlIHRhZ2xpYiBwbHVnaW4gaGFzIGJlZW4gYnVpbHQuCgoyMDA2LTA0LTAzIDEwOjU3OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbTogRG9uJ3Qgc2V0IHBsdWdpbmRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgRG9uJ3Qgc2V0IHBsdWdpbmRpci4KCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMgaXNuJ3QgYSBnb29kIGlkZWEgZm9yIGluc3RhbGxlZCBwbHVnaW5zLgoKMjAwNi0wNC0wMyAxMDo1MTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIEFYX0NSRUFURV9TVERJTlRfSCB0byBjcmVhdGUgX3N0ZGludC5oLCBuZWVkZWQgYnkgdGhlIGR0cyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIEFYX0NSRUFURV9TVERJTlRfSCB0byBjcmVhdGUgX3N0ZGludC5oLCBuZWVkZWQgYnkKCSAgdGhlIGR0cyBwbHVnaW4uCgoyMDA2LTA0LTAzIDEwOjM0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgR1NUX09SSUdJTiA9PiBHU1RfUEFDS0FHRV9PUklHSU4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBHU1RfT1JJR0lOID0+IEdTVF9QQUNLQUdFX09SSUdJTgoJICBHU1RfUEFDS0FHRSA9PiBHU1RfUEFDS0FHRV9OQU1FCgoyMDA2LTA0LTAyIDEwOjQyOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgIGFkZCBtb3JlIHBsdWdpbnMgdG8gZG9jcwoKMjAwNi0wNC0wMiAwOTozMzoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHRoZSBhbHBoYWJldCwgYSB0cmlja3kgY29uY2VwdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdGhlIGFscGhhYmV0LCBhIHRyaWNreSBjb25jZXB0CgoyMDA2LTA0LTAyIDA5OjE3OjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIGxpYm9pbCBjaGVjaywgZHRzIHVzZXMgaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsaWJvaWwgY2hlY2ssIGR0cyB1c2VzIGl0CgoyMDA2LTA0LTAxIDE2OjUwOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuaDoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCjIwMDYtMDQtMDEgMTU6MzY6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IHVzZSBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdXNlIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrCgoyMDA2LTA0LTAxIDEwOjE2OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIGRvY3MvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNC0wMSAxMDoxNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICA1IHNlY29uZCB0aW1lb3V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA1IHNlY29uZCB0aW1lb3V0CgoyMDA2LTA0LTAxIDEwOjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICByZW5hbWUgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIHRlc3QKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW4uYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5jOgoJKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMy0zMSAxNzo1MjozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAodGVybWluYXRlX3BsYXliYWNrKSwgKG1haW4pOgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTY6MzI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTU6MjE6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjLzogRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8KCSAgeWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgoyMDA2LTAzLTMxIDE0OjI2OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFkZCBhdXRvY29uZmVyeSBmb3IgdGhlb3JhZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhdXRvY29uZmVyeSBmb3IgdGhlb3JhZGVjLgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIHRoZW9yYSBkaXJlY3RvcnkuCgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYWRlY19iYXNlX2luaXQpLAoJICAoZ3N0X3RoZW9yYWRlY19jbGFzc19pbml0KSwgKGdzdF90aGVvcmFkZWNfaW5pdCksCgkgIChnc3RfdGhlb3JhZGVjX3Jlc2V0KSwgKGluY19ncmFudWxlcG9zKSwgKHRoZW9yYV9nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3RoZW9yYWRlY19ncmFudWxlX2Nsb2NrdGltZSksICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9kZWNfc2lua19jb252ZXJ0KSwgKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc2lua19xdWVyeSksICh0aGVvcmFfZGVjX3NyY19ldmVudCksCgkgICh0aGVvcmFfZGVjX3NpbmtfZXZlbnQpLCAodGhlb3JhX2hhbmRsZV9jb21tZW50X3BhY2tldCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfaGVhZGVyX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX3B1c2gpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksICh0aGVvcmFfZGVjX2NoYWluKSwKCSAgKHRoZW9yYV9kZWNfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBBZGQgdGhlb3JhIHBsdWdpbiBmb3IgdGhlb3JhLWV4cCBkZWNvZGVyLiBWZXJ5IGhlYXZpbHkgYmFzZWQgb24gdGhlCgkgIGV4aXN0aW5nIHRoZW9yYSBkZWNvZGVyIHBsdWdpbi4KCjIwMDYtMDMtMjkgMTY6NTQ6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtLzogQ2xlYW51cHMsIGZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfY2xhc3NfaW5pdCksIChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19maW5hbGl6ZSksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19jbGFzc19pbml0KSwgKGdzdF9nc21lbmNfaW5pdCksCgkgIChnc3RfZ3NtZW5jX2ZpbmFsaXplKSwgKGdzdF9nc21lbmNfY2hhaW4pOgoJICBDbGVhbnVwcywgZml4IGxlYWtzLgoJICBIYW5kbGUgZXZlbnRzIGFuZCBESVNDT05ULgoJICBVc2UgYWRhcHRlciBpbiB0aGUgZGVjb2Rlci4KCjIwMDYtMDMtMjkgMTY6NTA6MDggKzAwMDAgIFJlbmF0byBBcmF1am8gT2xpdmVpcmEgRmlsaG8gPHJlbmF0b3hAZ21haWwuY29tPgoKCSAgQWRkZWQgbmV3IHBsdWdpbiBhbXJ3YiBwYXJzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW5hdG8gQXJhdWpvIE9saXZlaXJhIEZpbGhvIDxyZW5hdG94IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL1JFQURNRToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9ydW4uc2g6CgkgICogZXh0L2FtcndiL2dzdGFtcndiLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmRlY19pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19zZXRjYXBzKSwgKGdzdF9hbXJ3YmRlY19ldmVudCksIChnc3RfYW1yd2JkZWNfY2hhaW4pLAoJICAoZ3N0X2FtcndiZGVjX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmVuY19pbml0KSwKCSAgKGdzdF9hbXJ3YmVuY19maW5hbGl6ZSksIChnc3RfYW1yd2JlbmNfc2V0Y2FwcyksCgkgIChnc3RfYW1yd2JlbmNfY2hhaW4pLCAoZ3N0X2FtcndiZW5jX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hbXJ3YnBhcnNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfcXVlcnl0eXBlcyksIChnc3RfYW1yd2JwYXJzZV9xdWVyeSksCgkgIChnc3RfYW1yd2JwYXJzZV9jaGFpbiksIChnc3RfYW1yd2JwYXJzZV9yZWFkX2hlYWRlciksCgkgIChnc3RfYW1yd2JwYXJzZV9sb29wKSwgKGdzdF9hbXJ3YnBhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2FtcndicGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9hbXJ3YnBhcnNlX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgQWRkZWQgbmV3IHBsdWdpbiBhbXJ3YiBwYXJzZS4KCSAgUmVuYW1lZCBhdWRpby9BTVIgdG8gYXVkaW8vQU1SLVdCIGFzIHBlciBzcGVjLgoJICBGaXhlcyAjMzMzMzA3CgoyMDA2LTAzLTI3IDE3OjA2OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgoyMDA2LTAzLTI3IDEwOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgQ1hYIHRhZyBmcm9tIEFTX0xJQlRPT0xfVEFHUywganVzdCBsaWtlIHdlIGRpZCBmb3IgLWdvb2QgYW5kIC11Z2x5LiBGaXhlcyBidWlsZCBvbiBzb21lIHN5c3RlbXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIENYWCB0YWcgZnJvbSBBU19MSUJUT09MX1RBR1MsIGp1c3QgbGlrZSB3ZQoJICBkaWQgZm9yIC1nb29kIGFuZCAtdWdseS4gRml4ZXMgYnVpbGQgb24gc29tZSBzeXN0ZW1zCgkgIGFuZCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVxdWlyZWQgZm9yIEMrKyBjb2RlLgoKMjAwNi0wMy0yNiAxOTo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLio6IEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0bwoJICBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSBjYW4ndAoJICBhZGp1c3Qgb2Zmc2V0cyB5ZXQgd2hlbiB3ZSBnZXQgaXQsIGFzIHdlIGRvbid0CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIHRhZyB5ZXQgZm9yIHN1cmUgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBkbyBzb21lIG1pbm9yIGNsZWFuaW5nIHVwIGhlcmUgYW5kIHRoZXJlIGFuZCBhZGQKCSAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wMy0yNSAyMTo1NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91ciBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIKCSAgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWlkMyBjYXBzOyBhbHNvLAoJICBkb24ndCB1c2UgYWxyZWFkeS1mcmVlZCBzdHJpbmdzIGluIGRlYnVnIG1lc3NhZ2VzOwoJICBmaW5hbGx5LCBhZGp1c3QgYnVmZmVyIG9mZnNldHMgb24gYnVmZmVycyBzZW50IG91dC4KCjIwMDYtMDMtMjUgMTM6MDI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsCgkgIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmaXhlZCBwcm9wZXJseSAoYW5kIG1ha2UKCSAgYnVpbGRib3RzIGhhcHB5KS4KCjIwMDYtMDMtMjUgMDU6MzE6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgoyMDA2LTAzLTIzIDA5OjE1OjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBQYXRjaCB0byBtYXJrIG91dGdvaW5nIGVuY29kZWQgYnVmZmVycyBhcyBkZWx0YS11bml0cyAob3Igbm90KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KSwgKGdzdF94dmlkZW5jX3NldHVwKSwKCSAgKGdzdF94dmlkZW5jX2NoYWluKToKCSAgUGF0Y2ggdG8gbWFyayBvdXRnb2luZyBlbmNvZGVkIGJ1ZmZlcnMgYXMgZGVsdGEtdW5pdHMgKG9yIG5vdCkuCgkgIE5vdGUgdGhhdCB0aGlzIHBhdGNoIGFsc28gcGF0Y2hlczoKCSAgLSB0aGUgc2V0dGluZyBvZiBmaW5jciBhbmQgZmJhc2UgaW4geHZpZC1lbmNvZGVyIGNyZWF0aW9uIGJhc2VkIG9uCgkgIGNhcHMgZnJhbWVyYXRlCgkgIC0gbWFrZXMgMCwgcmF0aGVyIHRoYW4gMiwgdGhlIGRlZmF1bHQgbWF4X2JfZnJhbWVzLCBhcyB0aGUgY3VycmVudAoJICB4dmlkZW5jIGRvZXMgbm90IHNlZW0gImZ1bGx5IHByZXBhcmVkIiB0byBoYW5kbGUgYi1mcmFtZQoJICAiZWZmZWN0cyIsIHN1Y2ggYXMgZW5jb2RlciByZXR1cm5pbmcgMCBlbmNvZGVkIGJ5dGVzLCBldGMuCgkgIEZpeGVzICMzMzU1ODUKCjIwMDYtMDMtMjIgMTk6NTE6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMgYWRkaXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMgYWRkaXRpb25zCgoyMDA2LTAzLTIyIDE3OjEzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy86IFRyeSB0aGF0IGFnYWluIChub3Qgb25seSBzaG91bGQgaXQgYmUgTU9EUExVR18gaW5zdGVhZCBvZiBNT0RGSUxFLCBhbHNvIHRoYXQgZGVmaW5lIGlzIGFscmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSAgVHJ5IHRoYXQgYWdhaW4gKG5vdCBvbmx5IHNob3VsZCBpdCBiZSBNT0RQTFVHXyBpbnN0ZWFkCgkgIG9mIE1PREZJTEUsIGFsc28gdGhhdCBkZWZpbmUgaXMgYWxyZWFkeSBzZXQgaW4gc3RkYWZ4Lmg7CgkgIHdoYXQgd2UgcmVhbGx5IG5lZWQgaXMgc29tZSBtb3JlICNpZm5kZWZzKS4KCjIwMDYtMDMtMjIgMTU6MDI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOiBNb3JlIGdjYy00LjEgZml4ZXMgKHdlIGRvbid0IG5lZWQgZmlsZSBzYXZpbmcsIHNvIGp1c3QgZGVmaW5lIE1PRFBMVUdfTk9fRklMRVNBVkUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgTW9yZSBnY2MtNC4xIGZpeGVzICh3ZSBkb24ndCBuZWVkIGZpbGUgc2F2aW5nLCBzbyBqdXN0CgkgIGRlZmluZSBNT0RQTFVHX05PX0ZJTEVTQVZFLiBUaGF0IHdheSwgdGhlIGNvbXBpbGVyIHdvbid0CgkgIGNvbXBsYWluIGFib3V0IG1vZHBsdWcgaWdub3JpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiBmd3JpdGUKCSAgYW55IGxvbmdlciBhbmQgd2UgbWlnaHQgZXZlbiBzYXZlIGEgZmV3IGJ5dGVzIGFzIHdlbGwpLgoKMjAwNi0wMy0yMiAxNDozMTo0NyArMDAwMCAgV291dGVyIFBhZXNvbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBBZGQgbmV3IGxpYnNvdW5kdG91Y2gtYmFzZWQgcGl0Y2ggcGx1Z2luICgjMzMxMzM1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc29uICA8d291dGVyIGF0IGthbmdhcm9vdCBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIEFkZCBuZXcgbGlic291bmR0b3VjaC1iYXNlZCBwaXRjaCBwbHVnaW4gKCMzMzEzMzUpLgoKMjAwNi0wMy0yMSAxNjowMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4xIGFuZCAtV2Vycm9yICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjEgYW5kIC1XZXJyb3IgKCMzMjczNTUpLgoKMjAwNi0wMy0yMCAwODo1OToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoKMjAwNi0wMy0xNyAxNjozNDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoKMjAwNi0wMy0xNSAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpOgoJICBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCjIwMDYtMDMtMTUgMTQ6Mzk6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2luaXQpLCAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICAtIFVucmVmIHRoZSBHc3RBZGFwdGVyIGluIGZpbmFsaXplLgoJICAtIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLCBzaG9ydGVyIGFuZCBzYWZlci4KCSAgLSBGcmVlIHVudXNlZCBRdERlbXV4U3RyZWFtIHdoZW4gbm90IHVzZWQuCgoyMDA2LTAzLTE0IDE3OjI0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwgbW92aW5nIGl0IGZyb20gX2NsYXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsCgkgIG1vdmluZyBpdCBmcm9tIF9jbGFzc19pbml0KCkgdG8gYmVnaW5uaW5nIG9mIF9iYXNlX2luaXQoKS4KCjIwMDYtMDMtMTMgMTc6MjI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZAoJICBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgb2YgdGhlIHBsdWdpbiAodGFnbGlibXV4ID0+IHRhZ2xpYikKCjIwMDYtMDMtMTMgMTI6MTQ6MTggKzAwMDAgIE1pa2hhaWwgWmFiYWx1ZXYgPG1oekBhbHRsaW51eC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBEb24ndCBjaGVjayBmb3IgZmlsZSB0aGF0IG9ubHkgZXhpc3RzIGluIENWUyBidXQgaXNuJ3QgZGlzdGVkICgjMzM0NDE3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pa2hhaWwgWmFiYWx1ZXYgIDxtaHogYWx0bGludXggb3JnPgoJICAqIGF1dG9nZW4uc2g6CgkgIERvbid0IGNoZWNrIGZvciBmaWxlIHRoYXQgb25seSBleGlzdHMgaW4gQ1ZTIGJ1dCBpc24ndAoJICBkaXN0ZWQgKCMzMzQ0MTcpCgoyMDA2LTAzLTEzIDEwOjA1OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCjIwMDYtMDMtMTIgMjM6NTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBkaXN0Y2hlY2suCgoyMDA2LTAzLTEyIDE1OjMzOjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9mcmVlKToKCSAgZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldAoJICBpbnN0ZWFkLgoKMjAwNi0wMy0xMiAxNToyNTo1MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQyBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDCgkgIGJ1aWxkYm90IGhhcHB5LgoJICBJIHdpbGwganVzdCB1c2UgdGhlIHNhbWUgY29tbWVudCBSb25hbGQgdXNlZCB3aGVuIGhlIGFkZGVkIHRoZXNlIGxpbmVzOgoJICBZZXQgQW5vdGhlciBIYWNrICh0bSkgZm9yIGtlcm5lbCBoZWFkZXIgYm9ya2VkbmVzcy4KCjIwMDYtMDMtMTIgMTU6MDI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCjIwMDYtMDMtMTIgMTQ6NDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIFBQQy1idWlsZGJvdCBoYXBweS4KCjIwMDYtMDMtMTEgMjI6NTA6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoKMjAwNi0wMy0xMSAxNzowODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBjb21waWxlIHRoZSB0YWdsaWIgcGx1Z2luIGlmIGEgQysrIGNvbXBpbGVyIGlzIHByZXNlbnQuIFVzZSBHU1RfREVGQVVMVF9FTEVNRU5UUyBtYWNybyBmcm9tIGNvbW1vbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgY29tcGlsZSB0aGUgdGFnbGliIHBsdWdpbiBpZiBhIEMrKyBjb21waWxlciBpcwoJICBwcmVzZW50LiBVc2UgR1NUX0RFRkFVTFRfRUxFTUVOVFMgbWFjcm8gZnJvbSBjb21tb24vCgkgIGZvciBhbGwgdGhlIGRlZmF1bHRzIHN0dWZmLgoKMjAwNi0wMy0xMSAxMToxMjozMCArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIGFkZGVkIG5ldyBlbGVtZW50IHRvIGFkZCBYaW5nIGhlYWRlcnMgdG8gTVAzIGZpbGVzICh0aGlzIGFsbG93cyBkZWNvZGVyIHRvIGZpZ3VyZSBvdXQgdGhlIGxlbmd0aCBvZiBWQlIgZmlsZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDogYWRkZWQgbmV3IGVsZW1lbnQgdG8gYWRkIFhpbmcgaGVhZGVycwoJICB0byBNUDMgZmlsZXMgKHRoaXMgYWxsb3dzIGRlY29kZXIgdG8gZmlndXJlIG91dCB0aGUgbGVuZ3RoIG9mIFZCUgoJICBmaWxlcykKCjIwMDYtMDMtMTEgMTA6NTg6MDggKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlcgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBmaXggd3JpdGluZyBvZiBUUE9TIHRhZ3MgKGFsYnVtIG51bWJlciksCgkgIGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoKMjAwNi0wMy0xMCAyMjo0MToxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy86IEZpeCBtb2RwbHVnIGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBtb2RwbHVnIGNvbXBpbGF0aW9uLgoKMjAwNi0wMy0xMCAxNzoxMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6ICogY29uZmlndXJlLmFjOiAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOiAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6ICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOiAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6ICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6IG1vZHBsdWcgcGx1Z2luIHBvcnRlZCB0byAwLjEwICgjMzMyNTk4LCBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+KS4KCjIwMDYtMDMtMTAgMTM6NDk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy4qOiBTb21lIGNsZWFuLXVwczsgbW9yZSBkZWJ1ZyBvdXRwdXQ7IHVzZSBibG9ja3NpemUgcHJvcGVydHkgb2YgR3N0QmFzZVNyYyBpbnN0ZWFkIG9mIHJlLXJlZ2lzdGVyaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfdXJpaGFuZGxlcl9pbml0KSwKCSAgKGdzdF9tbXNfYmFzZV9pbml0KSwgKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2luaXQpLAoJICAoZ3N0X21tc19maW5hbGl6ZSksIChnc3RfbW1zX2NyZWF0ZSksIChnc3RfbW1zX3N0YXJ0KSwKCSAgKGdzdF9tbXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9tbXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tbXNfdXJpX2dldF91cmkpOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIFNvbWUgY2xlYW4tdXBzOyBtb3JlIGRlYnVnIG91dHB1dDsgdXNlIGJsb2Nrc2l6ZSBwcm9wZXJ0eQoJICBvZiBHc3RCYXNlU3JjIGluc3RlYWQgb2YgcmUtcmVnaXN0ZXJpbmcgb3VyIG93bjsgbWFrZSBkZWJ1ZwoJICBjYXRlZ29yeSBhY3R1YWxseSBiZSB1c2VkLgoKMjAwNi0wMy0wOSAyMDowMjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCjIwMDYtMDMtMDkgMTc6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA5ICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgcmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoKMjAwNi0wMy0wOCAxMjoxNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZSAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlCgkgICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgZm9yIHRoYXQKCSAgKGZpeGVzICMzMzIwNjYpLgoKMjAwNi0wMy0wNiAxMzoxNTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay86IEZvcmdvdCB0aG9zZSB0d28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOiAoZ3N0X211c2VwYWNrX3JlYWRlcl9wZWVrKToKCSAgRm9yZ290IHRob3NlIHR3by4KCjIwMDYtMDMtMDYgMTM6MTM6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogU29tZSBjbGVhbnVwczsgcGF1c2UgdGFzayB3aGVuIHB1c2ggZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksIChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9tdXNlcGFja2RlY19sb29wKSwKCSAgKGdzdF9tdXNlcGFja2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBTb21lIGNsZWFudXBzOyBwYXVzZSB0YXNrIHdoZW4gcHVzaCBmYWlscy4KCjIwMDYtMDMtMDUgMTM6MDM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoKMjAwNi0wMy0wNCAyMDowNDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbi9kdXJhdGlvbiBxdWVyeWluZyAobW9zdGx5IGZvciByYXcgQUFDIHN0cmVhbXMpOyBtYWtlIHNlZWtpbmcgaW4gci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX3NlbmRfdGFncyksCgkgIChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2RvX3Jhd19zZWVrKSwgKGdzdF9mYWFkX3NyY19ldmVudCksCgkgIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGdzdF9mYWFkX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9mYWFkX3NyY19xdWVyeSksIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uL2R1cmF0aW9uIHF1ZXJ5aW5nIChtb3N0bHkgZm9yCgkgIHJhdyBBQUMgc3RyZWFtcyk7IG1ha2Ugc2Vla2luZyBpbiByYXcgQUFDIHN0cmVhbXMgd29yazsgcG9zdAoJICB0YWdzIHdpdGggY29kZWMgbmFtZSBpZiB0aGlzIGlzIGEgcmF3IEFBQyBzdHJlYW0uCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAzLTAzIDE4OjEwOjEyICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLmM6IERlY2xhcmUgdmFyaWFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgYW5kIG1ha2UgZ2NjLTIuOXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2hhaW4pOgoJICBEZWNsYXJlIHZhcmlhYmxlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGFuZCBtYWtlIGdjYy0yLjl4CgkgIGhhcHB5IChmaXhlcyAjMzMzMjgzOyBwYXRjaCBieTogSmVucyBHcmFuc2V1ZXIpLgoKMjAwNi0wMy0wMyAxMTowNzo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zIHdoZW4gcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMKCSAgd2hlbiBwYXJzaW5nLgoJICBBbHNvIGxldCdzIGJlIGEgYml0IGxlc3MgdnVsZ2FyIGluIG91ciB3YXJuaW5nIG1lc3NhZ2VzIDopCgoyMDA2LTAzLTAyIDE4OjIzOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGF1ZGlvcmVzYW1wbGUgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgYXVkaW9yZXNhbXBsZSB0byBkb2NzLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIEFkZCByZXZpc2lvbiBkYXRlLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfZGlzcG9zZSksCgkgIChhdWRpb3Jlc2FtcGxlX2dldF91bml0X3NpemUpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fY2FwcyksCgkgIChyZXNhbXBsZV9zZXRfc3RhdGVfZnJvbV9jYXBzKSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoYXVkaW9yZXNhbXBsZV9zZXRfY2FwcyksIChhdWRpb3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGF1ZGlvcmVzYW1wbGVfcHVzaHRocm91Z2gpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICBBZGRlZCBkb2NzLgoJICBTbWFsbCBjb2RlIGNsZWFudXBzLgoKMjAwNi0wMi0yOCAxMTo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2YKCSAgc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoc2VlICMzMjcwODMpCgoyMDA2LTAyLTI1IDIxOjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgoyMDA2LTAyLTI0IDE5OjQ5OjMyICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBwYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgoyMDA2LTAyLTI0IDE3OjE1OjM1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBbGxvdyBhdXRvbWFrZSAxLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWxsb3cgYXV0b21ha2UgMS45CgoyMDA2LTAyLTI0IDE3OjAyOjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIENoYW5nZWQgcHJvcGVydHkgbmFtZSBmcm9tICJ1cmkiIHRvICJsb2NhdGlvbiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHByb3BlcnR5IG5hbWUgZnJvbSAidXJpIiB0byAibG9jYXRpb24iLgoKMjAwNi0wMi0yMiAxNDozNzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIE1lcmdlIHBhdGNoIGZyb20gIzMxNzA0OCBmb3IgYnVpbGRpbmcgb24gQ3lnd2luLiBQYXRjaCBieQoJICBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIE1vdmUgbm9ybWFsIGRlYnVnIG91dHB1dCB0byBMT0cgbGV2ZWwgbm90IEVSUk9SLgoKMjAwNi0wMi0yMiAwOTozMzoyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieSA6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgQWRkIGltYWdlL3BuZyBmb3IgZm91cmNjICdwbmcgJwoKMjAwNi0wMi0yMSAxNTo0NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3VyZWx5IHRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgPj0gYS5iLCBub3QgPT0gYS5iCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3VyZWx5IHRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgPj0gYS5iLCBub3QgPT0gYS5iCgoyMDA2LTAyLTIwIDIxOjE5OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmV0dXJuX2J1ZiksCgkgIChnc3RfeGltYWdlc3JjX29wZW5fZGlzcGxheSksIChnc3RfeGltYWdlc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2VzcmNfc3RvcCksIChnc3RfeGltYWdlc3JjX3VubG9jayksCgkgIChnc3RfeGltYWdlc3JjX3JlY2FsYyksIChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwKCSAgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfY2xlYXJfYnVmcG9vbCksIChnc3RfeGltYWdlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2Rpc3Bvc2UpLCAoZ3N0X3hpbWFnZXNyY19maW5hbGl6ZSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfc2V0X2NhcHMpLAoJICAoZ3N0X3hpbWFnZXNyY19maXhhdGUpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfaGFuZGxlX3hlcnJvciksCgkgICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpLCAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpLAoJICAoeGltYWdldXRpbF94Y29udGV4dF9jbGVhciksCgkgICh4aW1hZ2V1dGlsX2NhbGN1bGF0ZV9waXhlbF9hc3BlY3RfcmF0aW8pLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZmluYWxpemUpLCAoZ3N0X3hpbWFnZV9idWZmZXJfZnJlZSksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9pbml0KSwgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX25ldyksCgkgIChnc3RfeGltYWdldXRpbF94aW1hZ2VfZGVzdHJveSk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoKMjAwNi0wMi0yMCAyMDo1MjowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGV2ZW50IGhhbmRsaW5nIGFkZGVkIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKMjAwNi0wMi0yMCAxOToxMzozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTIG5hbm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUyBuYW5vCgo9PT0gcmVsZWFzZSAwLjEwLjEgPT09CgoyMDA2LTAyLTIwIDE5OjEyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoKMjAwNi0wMi0yMCAxMzowODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0IGVuYWJsZWQgZm9yIHRoZSBidWlsZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0CgkgIGVuYWJsZWQgZm9yIHRoZSBidWlsZCwgYnV0IGl0IGhlbHBzIG1lIHdpbiB0aGUgZmVhdHVyZS1jb3VudAoJICBjb21wZXRpdGlvbnMgb29oIHllYWguCgoyMDA2LTAyLTE5IDIzOjQ1OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVsZWFzZSAwLjEwLjAuMyAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMC4zIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoKMjAwNi0wMi0xOSAyMDowMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9iejIvOiBBZGQgcHJvcGVyIGNvcHlyaWdodCBoZWFkZXJzIGlkZW50aWZ5aW5nIEx1dHogTcO8bGxlciBhcyB0aGUgYXV0aG9yIGFuZCBjb3B5cmlnaHQgaG9sZGVyICgjMzMxNjAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2J6Mi9nc3RiejIuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICBBZGQgcHJvcGVyIGNvcHlyaWdodCBoZWFkZXJzIGlkZW50aWZ5aW5nIEx1dHogTcO8bGxlcgoJICBhcyB0aGUgYXV0aG9yIGFuZCBjb3B5cmlnaHQgaG9sZGVyICgjMzMxNjAwKS4KCjIwMDYtMDItMTcgMTg6MjU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4IGVudHJpZXMgKCMzMzE1ODIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXgKCSAgZW50cmllcyAoIzMzMTU4MikuCgoyMDA2LTAyLTE3IDE2OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZSBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdGhhdC4KCSAgRml4ZXMgIzMzMTU0My4KCjIwMDYtMDItMTcgMTY6MDA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWxlYXNlIDAuMTAuMC4yIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4wLjIgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgoyMDA2LTAyLTE3IDE1OjAzOjEyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCB1cGRhdGVzCgoyMDA2LTAyLTE2IDE0OjAyOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNi0wMi0xNSAxMjoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoKMjAwNi0wMi0xNSAwOTo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMKCSAgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDYtMDItMTQgMTg6NTA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgRG9uJ3QgYW5zd2VyIGR1cmF0aW9uIHF1ZXJ5LiBUaGlzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBpbnRvIHJlcGx5aW5nCgkgIEZBTFNFIHRvIHNlZWsgZXZlbnRzLgoKMjAwNi0wMi0xNCAxMjoyNjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFJldHVybiBGTE9XX1VORVhQRUNURUQgb24gRU9TLCBub3QgRkxPV19FUlJPUi4gQWxzbywgbm8gbmVlZCB0byBwdXNoIG91ciBvd24gRU9TIGV2ZW50IG9uIEVPUywgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfY3JlYXRlKSwKCSAgKGdzdF9tbXNfc3RhcnQpOgoJICBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIG9uIEVPUywgbm90IEZMT1dfRVJST1IuIEFsc28sIG5vIG5lZWQgdG8KCSAgcHVzaCBvdXIgb3duIEVPUyBldmVudCBvbiBFT1MsIHRoZSBiYXNlIGNsYXNzIHdpbGwgZG8gdGhhdCBmb3IgdXM7CgkgIGZpeCBib2d1cyBxdWVyeSBjb2RlOyBwb3N0IHNlbWktZGVjZW50IGVycm9ycyBvbiB0aGUgYnVzIHdoZW4gYW4KCSAgZXJyb3Igb2NjdXJzIGluIDo6c3RhcnQoKSwgb3RoZXJ3aXNlIHRoZSB1c2VyIHdpbGwgZ2V0IHRvIHNlZQoJICB3aGF0ZXZlciBjcnlwdGljIGRlZmF1bHQgbWVzc2FnZSBHc3RCYXNlU3JjIGNvbWVzIHVwIHdpdGguCgoyMDA2LTAyLTE0IDExOjM2OjMwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24gc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbgoJICBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCjIwMDYtMDItMTQgMTE6MjQ6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIEVycm9ycyBvdXQgZ3JhY2VmdWxseS4KCjIwMDYtMDItMTMgMjI6MDQ6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGUpLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIEl0IHN0aWxsIG5lZWRzIHNvbWUgbG92ZSBmb3Igc2Vla2luZy4KCjIwMDYtMDItMTMgMTc6MDI6MDkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVlemUvRkFROgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmcmVlemUgcGx1Z2luIHBvcnRlZCB0byAwLjEwIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKMjAwNi0wMi0xMCAxNzo0MToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgY2R4YXBhcnNlLCBtYWtlcyBWQ0QgcGxheWJhY2sgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICBQb3J0IGNkeGFwYXJzZSwgbWFrZXMgVkNEIHBsYXliYWNrIHdvcmsuCgoyMDA2LTAyLTEwIDEzOjE2OjQ5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wMi0wNyAxODozMTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdW51c2VkIHZhcgoKMjAwNi0wMi0wNyAxODowMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUKCSAgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYnVnLCBhbmQgbWFrZXMKCSAgdGhlIGR1bXAgb2Ygb2Zmc2V0cyBjb21wYXJhYmxlIHRvIG90aGVyIHRvb2xzCgoyMDA2LTAyLTA3IDE3OjU1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgZG9jIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB1cGRhdGVzCgoyMDA2LTAyLTA3IDE3OjU0OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nCgkgIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoKMjAwNi0wMi0wNiAyMDo1MTo0OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIE5vdyBpdCB1c2VzIGxpYm5lb24gMC4yNS41IHRoYXQgc3VwcG9ydHMgc2hvdXRjYXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGl0IHVzZXMgbGlibmVvbiAwLjI1LjUgdGhhdCBzdXBwb3J0cyBzaG91dGNhc3QuCgoyMDA2LTAyLTA2IDE4OjIxOjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2J6Mi9nc3RiejJlbmMuYzogQWNjZXBkICJBTlkiIGNhcHMuIFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mICJ4LWJ6MiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IEFjY2VwZCAiQU5ZIiBjYXBzLiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZgoJICAieC1iejIiLgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mICJ4LWJ6MiIuIEluaXRpYWwKCSAgY2FwcyBhcmUgIkFOWSIuCgkgIChnc3RfYnoyZGVjX2NoYWluKTogQ29uZmlndXJlIHRoZSBzb3VyY2UgcGFkIGlmIHdlIGNhbiBmaWd1cmUgb3V0CgkgIHRoZSBtaW1lIHR5cGUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhLgoJICAoZ3N0X2J6MmRlY19bZ2V0LHNldF1fcHJvcGVydHkpOgoJICAoZ3N0X2J6MmRlY19jbGFzc19pbml0OiBOZXcgcHJvcGVydHkgImZpcnN0X2J1ZmZlcl9zaXplIi4KCjIwMDYtMDItMDYgMTU6NDE6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgSGFuZGxlIHNlZWtpbmcgaW4gYSBsZXNzIGJyb2tlbiB3YXkuCgkgIEZpeCBBTVIgY2FwcyB0byBtYXRjaCB0aGUgQU1SIGRlY29kZXIuCgkgIFNldCBmaXJzdCB0aW1lc3RhbXAgb24gQU1SIHNhbXBsZXMgdG8gMCBmb3Igbm93LgoJICBSZW1vdmUgc29tZSBcbiBpbiBERUJVRyBzdHJpbmdzLgoJICBVc2UgX3NjYWxlX2ludCBmb3IgbWF4aW11bSBwcmVjaXNpb24uCgoyMDA2LTAyLTA2IDEyOjU2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy86IFJlbW92ZSBvbGQgZmlsZXMsIGFwZXRhZyBpcyBpbiBnc3QtcGx1Z2lucy1nb29kIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvYXBldGFnLmM6CgkgIFJlbW92ZSBvbGQgZmlsZXMsIGFwZXRhZyBpcyBpbiBnc3QtcGx1Z2lucy1nb29kIG5vdy4KCjIwMDYtMDItMDYgMDk6NTQ6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9iejIvOiBObyBuZWVkIHRvIGluaXQgcGFyZW50X2NsYXNzLCB0aGUgYm9pbGVycGxhdGUgZG9lcyBpdCBmb3IgeW91LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jIChnc3RfYnoyZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmMgKGdzdF9iejJkZWNfY2xhc3NfaW5pdCk6IE5vIG5lZWQgdG8gaW5pdAoJICBwYXJlbnRfY2xhc3MsIHRoZSBib2lsZXJwbGF0ZSBkb2VzIGl0IGZvciB5b3UuCgoyMDA2LTAyLTA2IDA5OjQwOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBIb29rIGl0IHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNSAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICByZXZpZXdlZCBieTogQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06IEhvb2sgaXQgdXAuCgkgICogZXh0L2J6Mi9nc3RiejIuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiBOZXcgcGx1Z2luLCBpbXBsZW1lbnRzIGJ6MiBlbmNvZGluZyBhbmQKCSAgZGVjb2RpbmcgKCMzMDMxNjcpLgoKMjAwNi0wMi0wMyAxMDoxMzoyMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG9wZW5nbCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBvcGVuZ2wgcGx1Z2luCgoyMDA2LTAxLTMwIDE1OjQ3OjQ3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIChsaWJnc3RnbGltYWdlc2lua19sYV9DRkxBR1MpOiBBZGQgUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicy4KCjIwMDYtMDEtMjkgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfc2V0Y2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcKCSAgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFJld3JpdGUgYSBiaXQsIG1vc3RseSB0byBmaXggZmxvdyBsb2dpYyBhbmQgdG8gbWFrZSBzZWVraW5nIHdvcmsuCgkgIEZpeCBidWZmZXIvZXZlbnQgcmVmY291bnRpbmcuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuIEFkZAoJICB3aWR0aCBvZiAzMiB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuIFVzZSBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTAxLTI4IDEyOjQ1OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL2dsc2luay9NYWtlZmlsZS5hbTogZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgoyMDA2LTAxLTI4IDA0OjM5OjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgoyMDA2LTAxLTI3IDEyOjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgJ2ZyYW1lZCcgZmllbGQgaW4gY2FwczsgUG9ydCBzeW5jaW5nIGZvciByYXcgc3RyZWFtcyBmcm9tIDAuOCBicmFuY2ggKGZvciBBQUMrIHJhZGlvIHN0cmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLCAoZ3N0X2ZhYWRfc3luYyksIChnc3RfZmFhZF9jaGFpbik6CgkgIEhhbmRsZSAnZnJhbWVkJyBmaWVsZCBpbiBjYXBzOyBQb3J0IHN5bmNpbmcgZm9yIHJhdyBzdHJlYW1zCgkgIGZyb20gMC44IGJyYW5jaCAoZm9yIEFBQysgcmFkaW8gc3RyZWFtcykgKCMzMjg3MjIpLgoKMjAwNi0wMS0yNyAwMTozMToxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBGaXggb3V0cHV0IHN0cmlkZSBjb3B5aW5nLCBzbyB0aGF0IGl0IGRpc3BsYXlzIGNvcnJlY3RseSBvbiBmcmFtZWJ1ZmZlciBkZXZpY2VzIHRoYXQgZG9uJ3QgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc3VwcG9ydGVkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfeG92ZXJsYXlfc2V0X3h3aW5kb3dfaWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZWluaXRzZGwpLCAoZ3N0X3NkbHZfcHJvY2Vzc19ldmVudHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVzdHJveSksIChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBGaXggb3V0cHV0IHN0cmlkZSBjb3B5aW5nLCBzbyB0aGF0IGl0IGRpc3BsYXlzIGNvcnJlY3RseSBvbgoJICBmcmFtZWJ1ZmZlciBkZXZpY2VzIHRoYXQgZG9uJ3QgbWF0Y2ggb3VyIGltcGxpY3QgR1N0cmVhbWVyIHN0cmlkZQoJICBhcnJhbmdlbWVudC4KCSAgRml4IGxvY2tpbmcgdGhpbmdzLiBPZmZlciBYT3ZlcmxheSBvbmx5IHdoZW4gU0RMIGlzIHJ1bm5pbmcgYWdhaW5zdAoJICBYLiBNYWtlIG5vbi1zY2FsZWQgKGFuZCB1Z2x5KSBlbWJlZGRpbmcgd29yayB2aWEgWCBPdmVybGF5LiBJdCBjYW4ndAoJICBhY3R1YWxseSBtYXRjaCB0aGUgZW1iZWRkZWQgd2luZG93IHNpemUgYmVjYXVzZSB0aGVyZSdzIG5vIHdheSB0bwoJICBmaWd1cmUgb3V0IHdoYXQgc2l6ZSB0aGF0IHNob3VsZCBiZSBmcm9tIHRoZSBYT3ZlcmxheSBpbnRlcmZhY2UuCgkgIFNlZSBjb21tZW50IGluIHNkbHZpZGVvc2luay5jCgoyMDA2LTAxLTI2IDE2OjIzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoKMjAwNi0wMS0yNSAxNDo0NDowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBKdXN0IGNoYWluIHVwIGZpbmFsaXplIGNhbGxzIChjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZmluYWxpemUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBjaGFpbiB1cCBmaW5hbGl6ZSBjYWxscyAoY2FsbGluZyBwYXJlbnRfY2xhc3MtPmZpbmFsaXplKS4KCjIwMDYtMDEtMjUgMTQ6MjA6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgRmluYWxpemUgbWV0aG9kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIG90aGVycyBzbWFsbCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmluYWxpemUgbWV0aG9kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIG90aGVycyBzbWFsbCBjaGFuZ2VzLgoKMjAwNi0wMS0yNCAyMTozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay86IEZpeCBzZWVraW5nIGluIG11c2VwYWNrIGZpbGVzIChpdCdzIHN0aWxsIGluY3JlZGlibHkgc2xvdywgYnV0IEkgZG9uJ3QgdGhpbmsgdGhhdCBpcyBvdXIgcGx1Z2luJ3MgZmF1bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2NsYXNzX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19ldmVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwgKGdzdF9tdXNlcGFja2RlY19zcmNfY29udmVydCksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksIChnc3RfbXVzZXBhY2tkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzogKGdzdF9tdXNlcGFja19yZWFkZXJfcGVlayksCgkgIChnc3RfbXVzZXBhY2tfcmVhZGVyX3NlZWspLCAoZ3N0X211c2VwYWNrX3JlYWRlcl90ZWxsKSwKCSAgKGdzdF9tdXNlcGFja19yZWFkZXJfZ2V0X3NpemUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBGaXggc2Vla2luZyBpbiBtdXNlcGFjayBmaWxlcyAoaXQncyBzdGlsbCBpbmNyZWRpYmx5IHNsb3csIGJ1dCBJCgkgIGRvbid0IHRoaW5rIHRoYXQgaXMgb3VyIHBsdWdpbidzIGZhdWx0KS4gQ2xlYW4gdXAgY29kZSBhbmQgZ2V0CgkgIHJpZCBvZiBvbGQgY3J1ZnQuIFBvc3QgdGFncyB3aXRoIGFsbCBraW5kIG9mIG5lYXQgaW5mb3JtYXRpb24gbGlrZQoJICByZXBsYXkgZ2FpbiBhbmQgc3VjaCBvbiB0aGUgYnVzLCBpZiBpdCBpcyBhdmFpbGFibGUuIEFkZCBhCgkgICdtdXNlcGFja2RlYycgZGVidWcgY2F0ZWdvcnkuCgoyMDA2LTAxLTI0IDExOjU4OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBJZiBzYW1wbGVfc2l6ZSBpcyBhdmFpbGFibGUsIHVzZSB0aGF0IGZvciB0aGUgc2FtcGxlcycgZHVyYXRpb24gaW4KCSAgdGhlIGluZGV4LiBUaGlzIGVuYWJsZXMgc2luZ2xlIGZyYW1lIHN0cmVhbXMgdG8gd29yayAoYW5kIEkgaW1hZ2luZQoJICBmaXhlcyBzb21lIG90aGVyIGNhc2VzKS4KCSAgVGVzdGVkIG9uIHRlc3RzdWl0ZSwgbm8gcmVncmVzc2lvbi4KCjIwMDYtMDEtMjMgMTU6MTA6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjogXyBWUDMxIDogdmlkZW8veC12cDMgXyBBVkRKIDogaW1hZ2UvanBlZyBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6CgkgIF8gVlAzMSA6IHZpZGVvL3gtdnAzCgkgIF8gQVZESiA6IGltYWdlL2pwZWcKCSAgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kdiwgc3lzdGVtc3RyZWFtPShib29sZWFuKWZhbHNlCgkgIF8gMHg2ZDczMDAxNyA6IGF1ZGlvL3gtYWRwY20sIGxheW91dD0oc3RyaW5nKXF1aWNrdGltZQoKMjAwNi0wMS0yMSAxODozNToyOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBVcGRhdGUgZnJvbSBzd2ZkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBVcGRhdGUgZnJvbSBzd2ZkZWMuCgoyMDA2LTAxLTIxIDExOjQzOjUzICswMDAwICBGYWJyaXppbyA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBGaXggOGJpdCBjYXNlICgjMzI3MTMzLCBiYXNlZCBvbiBwYXRjaCBieTogRmFicml6aW8KCSAgR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgkgIEFsc28sICJHX0xJVFRMRV9FTkRJQU4iIGFuZCAiR19CSUdfRU5ESUFOIiBhcmUgbm90CgkgIHZhbGlkIGxpdGVyYWxzIGZvciBlbmRpYW5uZXNzIGluIGNhcHMgc3RyaW5ncywKCSAgb25seSAiTElUVExFX0VORElBTiIgYW5kICJCSUdfRU5ESUFOIiBhcmUgdmFsaWQuCgoyMDA2LTAxLTIwIDE3OjA0OjM4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBGaXhlZCBzdGF0ZSB0cmFuc2ljdGlvbnMgUExBWUlORy0+TlVMTC0+UExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHN0YXRlIHRyYW5zaWN0aW9ucyBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HLgoKMjAwNi0wMS0xOSAxNjo0OToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFNvbWUgbWlub3IgaW1wcm92ZW1lbnRzIG9uIGxvZyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgbWlub3IgaW1wcm92ZW1lbnRzIG9uIGxvZyBtZXNzYWdlcy4KCjIwMDYtMDEtMTggMTg6NTQ6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgoyMDA2LTAxLTE3IDE2OjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZQoJICBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCjIwMDYtMDEtMTcgMTM6MTQ6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXhpbmcgdmVyc2lvbmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4aW5nIHZlcnNpb25pbmcKCjIwMDYtMDEtMTYgMTI6MzA6NDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgUmVtb3ZlZCBnc3RfYmFzZV9zcmNfc2V0X2xpdmUgZnJvbSBtbXMgYW5kIG5lb24sIGFuZCBub3cgY2FsbGluZyBwYXJlbnRfY2xhc3MtPmRpc3Bvc2UgaW4gZGlzcG9zZSBvbiBzZGxhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgZ3N0X2Jhc2Vfc3JjX3NldF9saXZlIGZyb20gbW1zIGFuZCBuZW9uLCBhbmQgbm93IGNhbGxpbmcgcGFyZW50X2NsYXNzLT5kaXNwb3NlIGluIGRpc3Bvc2Ugb24gc2RsYXVkaW8uCgoyMDA2LTAxLTExIDIwOjU5OjM5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIE5vdyBpbXBsZW1lbnRpbmcgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIHVzaW5nIEdTVF9CT0lMRVJfUExBVEVfRlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpbXBsZW1lbnRpbmcgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIHVzaW5nIEdTVF9CT0lMRVJfUExBVEVfRlVMTC4KCjIwMDYtMDEtMTEgMTU6MzQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50Lmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VubWl4ZXIuaDoKCSAgcmVtb3ZlIG9sZCAoYnJva2VuKSBzdW5hdWRpbyBwbHVnaW4gZnJvbSBiYWQgYXMgdGhlcmUgaXMgYSBuZXcgd29ya2luZyBvbmUgaW4gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgKGJyb2tlbikgc3VuYXVkaW8gcGx1Z2luIGZyb20gYmFkIGFzIHRoZXJlIGlzIGEgbmV3IHdvcmtpbmcgb25lCgkgIGluIC1nb29kCgoyMDA2LTAxLTExIDE0OjQxOjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIFJlcGxhY2VkIHdyb25nIHN0eWxlIGNvZGUgYnkgR1NUX0JPSUxFUlBMQVRFLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVwbGFjZWQgd3Jvbmcgc3R5bGUgY29kZSBieSBHU1RfQk9JTEVSUExBVEUuCgoyMDA2LTAxLTExIDExOjA0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBDbG9zZXMgIzMyNjUyNAoKMjAwNi0wMS0wOSAxODoyMDo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCwgc2RsYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCwgc2RsYXVkaW9zaW5rLgoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwNi0wMS0wNSAxNzowMzoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAocGx1Z2luX2luaXQpOgoJICBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCjIwMDYtMDEtMDQgMTk6Mzk6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgU29tZSBpbXByb3ZlbWVudHMgaW4gY2FuY2VsbGF0aW9uIGFuZCBkZWJ1ZyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgaW1wcm92ZW1lbnRzIGluIGNhbmNlbGxhdGlvbiBhbmQgZGVidWcgbWVzc2FnZXMuCgoyMDA2LTAxLTA0IDEzOjI2OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmVtb3ZlZCBub3QgbmVlZCB0aHJlYWQgYW5kIGNoYW5nZWQgdG8gcHVzaCBvdXQgYmxvY2tzaXplIGJ5dGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBub3QgbmVlZCB0aHJlYWQgYW5kIGNoYW5nZWQgdG8gcHVzaCBvdXQgYmxvY2tzaXplIGJ5dGVzLgoKPT09IHJlbGVhc2UgMC4xMC4yID09PQoKMjAwNi0wMS0wMyAxNzozMzoxNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDogQXMgYmVmb3JlLCBidXQgZm9yIG9fYnVmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIEFzIGJlZm9yZSwgYnV0IGZvciBvX2J1ZgoKMjAwNi0wMS0wMyAxNzoyNzoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDogRGVjbGFyZSBzdHJ1Y3QgX1Jlc2FtcGxlU3RhdGUuYnVmZmVyIGFzIHVuc2lnbmVkIGNoYXIgKiwgbm90IHZvaWQgKiwgc2luY2Ugd2UgZG8gYXJpdGhtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIERlY2xhcmUgc3RydWN0IF9SZXNhbXBsZVN0YXRlLmJ1ZmZlciBhcyB1bnNpZ25lZCBjaGFyICosIG5vdCB2b2lkICosCgkgIHNpbmNlIHdlIGRvIGFyaXRobWV0aWMgb24gaXQuCgoyMDA2LTAxLTAyIDE1OjA1OjA5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG5lb24gcGx1Z2luIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5lb24gcGx1Z2luIHRvIHNwZWMgZmlsZQoKMjAwNS0xMi0zMCAxNTo0MToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc21vb3Rod2F2ZS8uZ2l0aWdub3JlOgoJKiBleHQvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBleHQvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgbW92ZSBzbW9vdGh3YXZlIHRvIGdzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBzbW9vdGh3YXZlIHRvIGdzdAoKMjAwNS0xMi0yOCAyMTowNzoxNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbmVvbmh0dHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG5lb25odHRwc3JjLgoKMjAwNS0xMi0xOSAxNToxOTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NoYWluKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKToKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgR2V0IHNvbWV0aGluZyBmcm9tIHRoZSBwZWVyIHBhZCBvbmNlIHdlJ3ZlIGNoZWNrZWQgaWYgdGhlcmUgaXMgYSBwZWVyIHBhZC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBDb3VwbGUgb2YgZml4ZXMKCjIwMDUtMTItMTkgMTQ6NTg6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgIGp1c3QgYSBzbWFsbCBmaXguIEkgaGF2ZSB0byBwYXkgbW9yZSBhdHRlbnRpb24gd2hlbiBjb21taXRpbmcgOy0pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqdXN0IGEgc21hbGwgZml4LiBJIGhhdmUgdG8gcGF5IG1vcmUgYXR0ZW50aW9uIHdoZW4gY29tbWl0aW5nIDstKQoKMjAwNS0xMi0xOSAxNDo0MDoyMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgZGl2eGRlYyBhbmQgZGl2eGVuYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGl2eGRlYyBhbmQgZGl2eGVuYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xOCAyMTowNjo0NyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBTb21lIG1vcmUgcmVmYWN0b3JpbmcsIGhhbmRsZSBleG90aWMgRGlyZWN0RkIgcm93IHN0cmlkZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpOiBTb21lCgkgIG1vcmUgcmVmYWN0b3JpbmcsIGhhbmRsZSBleG90aWMgRGlyZWN0RkIgcm93IHN0cmlkZS4KCjIwMDUtMTItMTggMTA6NTg6NDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHBpeGVsLWFzcGVjdC1yYXRpby4KCSAgVGhpcyBzaG91bGQgd29yayBib3RoIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBzY2FsaW5nIGFuZAoJICByZXZlcnNlIGNhcHMgbmVnb3RpYXRpb24gd2l0aCBhIHNjYWxpbmcgZWxlbWVudC4KCjIwMDUtMTItMTcgMTc6NDg6MzggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDogVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgdmVydGljYWwgc3luYyBhbmQKCSAgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2UuCgoyMDA1LTEyLTE2IDIxOjU1OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb24ndCB1c2UgZG9jIGNvbW1lbnRzIGZvciBub24tZG9jcyBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoc29ja2V0X3JlY2VpdmVfZmlsZV90b19idWZmKToKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuaDoKCSAgKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5jOgoJICAqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSAgZG9uJ3QgdXNlIGRvYyBjb21tZW50cyBmb3Igbm9uLWRvY3MKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCjIwMDUtMTItMTYgMTQ6NDc6NTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBBbHdheXMgcHJlZmVyIHRoZSBwcmltYXJ5IGxheWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KTogQWx3YXlzIHByZWZlciB0aGUgcHJpbWFyeSBsYXllci4KCjIwMDUtMTItMTYgMTI6MjU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoKMjAwNS0xMi0xNiAwOTo1OToyMSArMDAwMCAgZ2NvY2F0cmVAZ21haWwuY29tIDxnY29jYXRyZUBnbWFpbC5jb20+CgoJICBleHQvd2F2cGFjay86IFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZSByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUKCSAgY2FwcyAoZml4ZXMgIzMyMjk3MzsgcGF0Y2ggYnk6IGdjb2NhdHJlQGdtYWlsLmNvbSkuIEFsc28KCSAgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnb25lIGluIDAuMTAuCgoyMDA1LTEyLTE1IDE0OjM5OjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgRml4ZWQgc29tZSBtZW0tbGVha3MgaW4geHZpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtLWxlYWtzIGluIHh2aWQuCgoyMDA1LTEyLTE1IDEwOjMwOjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMgdG8gYXVkaW9yZXNhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzIHRvIGF1ZGlvcmVzYW1wbGUuCgoyMDA1LTEyLTE1IDA4OjU0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZG9lc24ndCB1c2UgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2Vzbid0IHVzZSBsaWJvaWwKCjIwMDUtMTItMTQgMjI6NDE6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWRkZWMgYW5kIHh2aWRlZW5jIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB4dmlkZGVjIGFuZCB4dmlkZWVuYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xNCAyMDo1NDowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkdHNkZWMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTIgMTA6NDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3NyY19xdWVyeSksIChnc3RfbW1zX2NyZWF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY192aWRlb19saW5rKSwKCSAgKGdzdF9zd2ZkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaWItMi42IHVzZXJzLgoKMjAwNS0xMi0xMiAwOToyOToyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIgdGhhdCB3cmFwcyBTd2ZkZWNCdWZmZXJzLiAgRml4IGEgbWFzc2l2ZSBtZW1sZWFrIGJlY2F1c2UgdGhlIHZpZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9zd2ZkZWNidWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3N3ZmRlY19idWZmZXJfZnJvbV9zd2YpLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOiBBZGQgYSBzdWJjbGFzcwoJICBvZiBHc3RCdWZmZXIgdGhhdCB3cmFwcyBTd2ZkZWNCdWZmZXJzLiAgRml4IGEgbWFzc2l2ZSBtZW1sZWFrCgkgIGJlY2F1c2UgdGhlIHZpZGVvIGJ1ZmZlcnMgcHJldmlvdXNseSBuZXZlciBnb3QgZnJlZWQuCgoyMDA1LTEyLTExIDIzOjU0OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIEp1c3QgcmVtb3ZlZCBhIHdlaXJkIHByaW50ZiA7LSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgcmVtb3ZlZCBhIHdlaXJkIHByaW50ZiA7LSkKCjIwMDUtMTItMTEgMjM6MDk6MjEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGRlZCBzdXBvcnQgdG8gbW1zaC4gVGhlcmUncyBzdGlsbCBhIHN1Y2tzIG1zZyAiRVJST1I6IFBpcGVsaW5lIGNhbnQgUFJFUk9PTC4uLiIgdG8gYmUgZml4ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzdXBvcnQgdG8gbW1zaC4gVGhlcmUncyBzdGlsbCBhIHN1Y2tzIG1zZyAiRVJST1I6IFBpcGVsaW5lIGNhbnQgUFJFUk9PTC4uLiIgdG8gYmUgZml4ZWQuCgoyMDA1LTEyLTA5IDE1OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscwoJICBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiBlcnJvcmluZy4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSBlLmcuIGpwZWcgc3RyZWFtcyB3aXRoIDAgZHVyYXRpb24gZnJhbWVzIGFzIGhhdmluZyAwIGZyYW1lcmF0ZS4KCSAgRGVidWcgZml4ZXMuIFNvbWUgNjQgYml0IHZhcmlhYmxlIGZpeGVzCgoyMDA1LTEyLTA5IDA0OjE1OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICBzd2ZkZWMgUG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzd2ZkZWMgUG9ydGVkIHRvIDAuMTAuCgoyMDA1LTEyLTA3IDExOjQ2OjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNZW1sZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgTWVtbGVhayBmaXhlcy4KCSAgU2VuZCBvdXQgRU9TIGZvciB2YWxpZCByZWFzb25zIChjb3VsZG4ndCBwdWxsX3JhbmdlKCkgZnJvbSB1cHN0cmVhbQoJICBmb3IgZXhhbXBsZSkuCgoyMDA1LTEyLTA2IDE5OjU1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSogZXh0L3hpbmUvZ3N0eGluZS5oOgoJKiBleHQveGluZS94aW5lY2Fwcy5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSogZ3N0L2FwZXRhZy9hcGVkZW11eC5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvaXRfZGVmcy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9tcGVnMXN5cy9zeXN0ZW1zLmM6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5jOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5oOgoJKiBnc3QvdHRhL2NyYzMyLmg6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL3FjYW0vZGFyay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQ0OjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQyOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNSAxODoxMTozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjEwLjAgPT09CgoyMDA1LTEyLTA1IDE4OjAxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxMzowNDoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbik6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzogKGdzdF94aW5lX2lucHV0X2dldCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfY2hhaW4pOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEzOjAyOjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksIChnc3RfcG5nZGVjX3Rhc2spOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNCAyMjo0NjozNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDUtMTItMDIgMTE6MzQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IEZpeCBhdWRpb3Jlc2FtcGxlLCBzZWVrIHRvcnR1cmUsIG5ldyBzZWdtZW50cywgcmV2ZXJzZSBuZWdvdGlhdGlvbiBldGMuLiB3b3JrIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5jOiAoYXVkaW9yZXNhbXBsZV9idWZmZXJfcXVldWVfZmx1c2gpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2lucHV0X2ZsdXNoKSwKCSAgKHJlc2FtcGxlX2lucHV0X3B1c2h0aHJvdWdoKSwgKHJlc2FtcGxlX2lucHV0X2VvcyksCgkgIChyZXNhbXBsZV9nZXRfb3V0cHV0X3NpemVfZm9yX2lucHV0KSwKCSAgKHJlc2FtcGxlX2dldF9pbnB1dF9zaXplX2Zvcl9vdXRwdXQpLCAocmVzYW1wbGVfZ2V0X291dHB1dF9zaXplKSwKCSAgKHJlc2FtcGxlX2dldF9vdXRwdXRfZGF0YSk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzogKHJlc2FtcGxlX3NjYWxlX3JlZik6CgkgIEZpeCBhdWRpb3Jlc2FtcGxlLCBzZWVrIHRvcnR1cmUsIG5ldyBzZWdtZW50cywgcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBldGMuLiB3b3JrIGZpbmUuCgoyMDA1LTEyLTAyIDA5OjMyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyAkKFdBVlBBQ0tfRElSKSAoIzMyMjk2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgJChXQVZQQUNLX0RJUikgKCMzMjI5NjIpLgoKMjAwNS0xMi0wMSAxOToxNzozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNyA9PT0KCjIwMDUtMTItMDEgMTk6MTM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBMSUNFTlNFOgoJKiBORVdTOgoJKiBQT1JURURfMDk6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3JhbmRvbS9MSUNFTlNFOgoJKiBkb2NzL3JhbmRvbS9QT1JURURfMDk6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTExLTI5IDAyOjU1OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgbGlibW0gcG9ydGVkIHRvIDAuOS4gSXQgd29ya3MgZmluZSwgYnV0IHByaW50IHNvbWUgZXJyb3IgbWVzc2FnZXMuIEknbGwgZml4IHRoZW0gc29vbi4gVGVzdGVkIHdpdGggIG1tc3NyYyBsb2NhdGlvbj1tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsaWJtbSBwb3J0ZWQgdG8gMC45LiBJdCB3b3JrcyBmaW5lLCBidXQgcHJpbnQgc29tZSBlcnJvciBtZXNzYWdlcy4gSSdsbCBmaXggdGhlbSBzb29uLiBUZXN0ZWQgd2l0aCAgbW1zc3JjIGxvY2F0aW9uPW1tczovLyAhIGZpbGVzaW5rLgoKMjAwNS0xMS0yOCAyMToyMjozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgZml4IGhlYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlcgoKMjAwNS0xMS0yOCAxNzo0NzoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBmaXggaW5jbHVkZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGluY2x1ZGUKCjIwMDUtMTEtMjggMTU6NDM6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc3JjZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IKCSAgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHRzIGluIDAgY2hhbm5lbHMgd2l0aCBzYW1wbGVyYXRlcyBvZiAwLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIHVwd2FyZCB0cmFuc2l0aW9ucywgdGhlbiBjYWxsIHBhcmVudCBzdGF0ZV9jaGFuZ2UsIHRoZW4gZG8KCSAgZG93bndhcmQgdHJhbnNpdGlvbnMuCgoyMDA1LTExLTI4IDE1OjE5OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZml4IG1ha2VmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbWFrZWZpbGUKCjIwMDUtMTEtMjggMTQ6NTA6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBhbHBoYWJldHMsIHNvIGhhcmQgdG8gbWFzdGVyLiAgU2hvdWxkIGZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWxwaGFiZXRzLCBzbyBoYXJkIHRvIG1hc3Rlci4gIFNob3VsZCBmaXggZGlzdGNoZWNrLgoKMjAwNS0xMS0yNyAxNDozNToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCjIwMDUtMTEtMjUgMTk6NTg6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFdhdnBhY2sgcG9ydGVkIHRvIDAuOS4gTm8gc3VwcG9ydCBmb3IgY29ycmVjdGlvbiBmaWxlIHlldC4KCjIwMDUtMTEtMjUgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3d2Y2xpbmspLCAoZ3N0X3dhdnBhY2tfZGVjX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2V0dXBfY29udGV4dCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZGVjX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZmluZF9oZWFkZXIpLCAoZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VlayksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgoyMDA1LTExLTIzIDIxOjI3OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjA6MDY6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNiA9PT0KCjIwMDUtMTEtMjMgMTk6NTc6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxODowNToxNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBVc2UgZnJhY3Rpb24gZm9yIGZyYW1lcmF0ZSwgdmFyaW91cyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6IChtYWluKToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdGltZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJwb29sX2NsZWFyKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBVc2UgZnJhY3Rpb24gZm9yIGZyYW1lcmF0ZSwKCSAgdmFyaW91cwoJICBmaXhlcy4KCjIwMDUtMTEtMjMgMTU6MzY6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogVXBkYXRlcyBmb3IgZnJhY3Rpb25hbCBmcmFtZXJhdGVzIGFuZCBYT3ZlcmxheSBpbnRlcmZhY2UgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X3NkbHZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgVXBkYXRlcyBmb3IgZnJhY3Rpb25hbCBmcmFtZXJhdGVzIGFuZCBYT3ZlcmxheSBpbnRlcmZhY2UgY2hhbmdlcwoKMjAwNS0xMS0yMyAxMTo1Nzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCjIwMDUtMTEtMjMgMDA6Mjg6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogRml4IGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgIEZpeCBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgoyMDA1LTExLTIyIDE1OjA5OjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBNdXNlcGFja2RlYyBwb3J0ZWQgdG8gMC45LiBUaGVyZSBpcyBzdGlsbCBhIHNtYWxsIHByb2JsZW0gdG8gYmUgc29sdmVkLCBhZnRlciB0aGUgZW5kIG9mIGZpbGUsIHRoZSBwaXBlbGluZSBkb2Vucyd0IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11c2VwYWNrZGVjIHBvcnRlZCB0byAwLjkuIFRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcHJvYmxlbSB0byBiZSBzb2x2ZWQsIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSwgdGhlIHBpcGVsaW5lIGRvZW5zJ3Qgc3RvcC4KCjIwMDUtMTEtMjIgMTE6NTc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jIChnc3RfaXZvcmJpc2ZpbGVfbG9vcCkKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKQoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jIChzcGVlZF9zaW5rX2V2ZW50KQoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYyAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6IFJ1biB1cGRhdGUtZnVuY25hbWVzLgoKMjAwNS0xMS0yMSAxODo0NTo1NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCB0YWtlIFNUUkVBTV9MT0NLIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfZXZlbnQpOgoJICBEb24ndCB0YWtlIFNUUkVBTV9MT0NLIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IG1vcmUuCgoyMDA1LTExLTIxIDE4OjA5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbG9vcCksCgkgIChnc3RfZmxhY2RlY19zcmNfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19zaW5rX2V2ZW50X2hhbmRsZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2Vlayk6CgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZwoJICBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQ0sKCSAgdG8gR1NUX1BBRF9TVFJFQU1fTE9DSy4gRG9uJ3QgbGVhayByZWZlcmVuY2VzIGluIGZseGRlYyBldmVudAoJICBmdW5jdGlvbnMuCgoyMDA1LTExLTIxIDE3OjM3OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCk6CgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCjIwMDUtMTEtMjEgMTc6MTQ6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBTZWdtZW50IHVwZGF0ZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2Jhc2VfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcHJvdmlkZV9jbG9jayksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3NldF9jbG9jayksIChnc3RfYmFzZV9hdWRpb19zaW5rX3JlbmRlciksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBTZWdtZW50IHVwZGF0ZSBmaXguCgoyMDA1LTExLTIxIDE2OjQ1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIERYNTAsIERJVlggYW5kIERJVjMgZm91cmNjcyAocGF0Y2ggYnkKCSAgakBib290bGFiLm9yZywgIzMyMTkwMykuCgoyMDA1LTExLTIxIDE2OjM3OjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICAqLio6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogKi5oOgoJICAqICouYzogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoKMjAwNS0xMS0yMSAxNDozOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2Fwcyk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfdHlwZV9nZXQpLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfZHJlZiksIChxdGRlbXV4X2R1bXBfc3RzZCksCgkgIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpOgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKiAoIzMyMjAyNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2ZpeGF0ZSk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19maXhhdGUpOgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyoKCSAgKCMzMjIwMjcpCgoyMDA1LTExLTIxIDAzOjIxOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgTm93IGl0IHdvcmtzIGluIHB1c2gtbW9kZS4gVGVzdGVkIHdpdGggZ25vbWV2ZnNzcmMgbG9jYXRpb249aHR0cDovLy4uICAhIHRyZW1vciAhIGFsc2FzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGl0IHdvcmtzIGluIHB1c2gtbW9kZS4gVGVzdGVkIHdpdGggZ25vbWV2ZnNzcmMgbG9jYXRpb249aHR0cDovLy4uICAhIHRyZW1vciAhIGFsc2FzaW5rLgoJICBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OgoJICAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgkgIDItIHNlZWsgaXMgZm9yY2VkIHRvIGRpc2FibGVkIGluIHB1bGwtbW9kZQoKMjAwNS0xMS0xNiAxNzoyNjoxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbWFrZSBpdCB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWtlIGl0IHdvcmsKCjIwMDUtMTEtMTUgMTY6NTA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFNldCBwcm9wZXIgY2FwcyBvbiBzb3VyY2UgcGFkICgjMzIwNTMyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KSwgKGdzdF9mYWFjX2luaXQpLAoJICAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwgKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKSwKCSAgKGdzdF9mYWFjX2NoYWluKToKCSAgU2V0IHByb3BlciBjYXBzIG9uIHNvdXJjZSBwYWQgKCMzMjA1MzIpLgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3IgY29tbWVudCBibG9jay4KCjIwMDUtMTEtMTUgMDg6Mzg6MTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJICBzZXQgcmFuayB0byBzZWNvbmRhcnkgYXMgeW91IG5ldmVyIHdhbnQgdGhpcyB0byBiZSB1c2VkIGluc3RlYWQgb2Ygbm9ybWFsIG9nZ2RlbXV4IGV0Yy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCByYW5rIHRvIHNlY29uZGFyeSBhcyB5b3UgbmV2ZXIgd2FudCB0aGlzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBub3JtYWwgb2dnZGVtdXggZXRjLgoKMjAwNS0xMS0xNCAxNzoxMTo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiAtbm8tdW5kZWZpbmVkIGZvciBiZXR0ZXIgZGVidWdnaW5nLCBhbGxvd3MgZGxsIGJ1aWxkcyBvbiB3aW5kb3dzLiBGaXhlcyAjMzE2MDc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IC1uby11bmRlZmluZWQgZm9yIGJldHRlcgoJICBkZWJ1Z2dpbmcsIGFsbG93cyBkbGwgYnVpbGRzIG9uIHdpbmRvd3MuIEZpeGVzICMzMTYwNzYuCgoyMDA1LTExLTE0IDAyOjEzOjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGNvbmZpZ3VyZS5hYzsgbWFrZSBhc3RlcmlzayBydHAgc3R1ZmYgY29tcGlsZSBvbiBtaW5ndwoKMjAwNS0xMS0xMSAxOTozOToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS41ID09PQoKMjAwNS0xMS0xMSAxOTozODoxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuOS41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjUKCjIwMDUtMTEtMTEgMTg6NTQ6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBGaXggY29tcGlsZSBvbiBzeXN0ZW1zIHdpdGggYnJva2VuIGZhYWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBjb21waWxlIG9uIHN5c3RlbXMgd2l0aCBicm9rZW4gZmFhZCBoZWFkZXJzLgoKMjAwNS0xMS0xMSAxODoxNzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBDYWxsIGZ1bmN0aW9ucyB3aXRoIHRoZSBjb3JyZWN0IEFQSS4gVW5mb3J0dW5hdGVseSwgdW5sZXNzIHlvdXIgZGlzdHJpYnV0aW9uIHBhdGNoZXMgdXBzdHJlYW0sIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBDYWxsIGZ1bmN0aW9ucyB3aXRoIHRoZSBjb3JyZWN0IEFQSS4gVW5mb3J0dW5hdGVseSwgdW5sZXNzIHlvdXIKCSAgZGlzdHJpYnV0aW9uIHBhdGNoZXMgdXBzdHJlYW0sIHRoZSBwdWJsaWMgaGVhZGVyIGZpbGUgZm9yIEZBQUQKCSAgZG9lc24ndCBhY3R1YWxseSBkZWNsYXJlIHRoZSBBUEkgYWNjdXJhdGVseS4gU28sIHNvbWUgbmFzdGluZXNzCgkgIGVuc3Vlcy4uLgoKMjAwNS0xMS0xMCAxMjozNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgoyMDA1LTExLTA5IDAxOjA0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3Igbm9ybWFsIGNvbW1lbnRzLiBGaXggZ3RrLWRvYyBmb3JtYXR0aW5nIHdoZXJlIHJlcXVpcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFya2luL3dhdmVsZXQuYzoKCSAgKiBleHQvdGFya2luL3dhdmVsZXQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5oOgoJICAqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkgICogc3lzL3FjYW0vZGFyay5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBub3JtYWwgY29tbWVudHMuIEZpeAoJICBndGstZG9jIGZvcm1hdHRpbmcgd2hlcmUgcmVxdWlyZWQuCgoyMDA1LTExLTA4IDE0OjIwOjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgcmVtb3ZlIHdyb25nIG1wZWdzdHJlYW0gYWRkaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB3cm9uZyBtcGVnc3RyZWFtIGFkZGl0aW9uCgoyMDA1LTExLTA4IDE0OjE3OjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgdHJlbW9yIHBsdWdpbnMgdG8gbmVlZGVkIGJ1aWxkc2NyaXB0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRyZW1vciBwbHVnaW5zIHRvIG5lZWRlZCBidWlsZHNjcmlwdHMKCjIwMDUtMTEtMDggMTM6NTU6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgUG9ydGVkIHRvIDAuOS4gU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDogMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcyAyLSBzZWcgZmF1bHQgd2hlbiBlb3MgMy0gc2VlayBpcyBub3cgZGlzYWJsZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCB0byAwLjkuIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6CgkgIDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCSAgMi0gc2VnIGZhdWx0IHdoZW4gZW9zCgkgIDMtIHNlZWsgaXMgbm93IGRpc2FibGVkCgoyMDA1LTExLTA2IDIyOjI4OjMzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBDbGVhbnVwIG5vbiBleGlzdGluZyBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogQ2xlYW51cCBub24gZXhpc3RpbmcKCSAgZXhhbXBsZXMuCgoyMDA1LTExLTA2IDIyOjIzOjA3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDogQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA1LTExLTA2IDIyOjE5OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBNYWtlIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBNYWtlIGJ1aWxkYm90IGhhcHB5LgoKMjAwNS0xMS0wNiAyMjoxNjoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogZXhhbXBsZXMgaW4gZGlzdCBzdWJkaXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIE1ha2VmaWxlLmFtOiBleGFtcGxlcyBpbiBkaXN0IHN1YmRpcnMuCgkgICogY29uZmlndXJlLmFjOiBlbmFibGUgcGFyYW1ldGVyIGZvciBidWlsZGluZwoJICBleGFtcGxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogVXBkYXRlcy4KCjIwMDUtMTEtMDYgMjE6NTU6MDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRW5hYmxlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogTWFrZWZpbGUuYW06CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46IEVuYWJsZSBkb2N1bWVudGF0aW9uLgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IChteWNsb2NrKSwgKGR5bmFtaWNfbGluayksCgkgIChzaXplX2NoYW5nZWQpLCAoc2V0dXBfZHluYW1pY19saW5rKSwgKG1haW4pOiBBZGQgYW4gZXhhbXBsZQoJICBhcHBsaWNhdGlvbiBmb3IgRGlyZWN0RkIuCgoyMDA1LTExLTA1IDIzOjM2OjIwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoJICAqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOiAoZ2V0X21lX291dCksIChtYWluKToKCSAgSGVyZSBpcyBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIHRoYXQgcnVucyB2aWRlb3Rlc3RzcmMgZm9yIDIwCgkgIHNlY29uZHMuIEl0J3MgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTW9yZSBmaXhlcywgY2FsY3VsYXRlIG5ldyBzaXplIG9mIHRoZSBidWZmZXIgd2hlbiByZW5lZ290aWF0aW5nLgoJICBUaGlzIGNvbXBsZXRlbHkgYnJlYWtzIGZmbXBlZ2NvbG9yc3BhY2UgYnV0IGkgbmVlZCB0byBkaXNjdXNzCgkgIHRoYXQgd2l0aCBXaW0gb24gbW9uZGF5LiBBZGQgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMTEtMDUgMTk6NTU6MTIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBNYWtlIGFjY2VsZXJhdGlvbiBkZXRlY3Rpb24gd29yaywgYmV0dGVyLCBhZGQgc2FmZXR5IGNoZWNrcyBhbmQgQVJHQiBzdXBwb3J0IGZvciBjYXJkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKTogTWFrZSBhY2NlbGVyYXRpb24gZGV0ZWN0aW9uIHdvcmssCgkgIGJldHRlciwgYWRkIHNhZmV0eSBjaGVja3MgYW5kIEFSR0Igc3VwcG9ydCBmb3IgY2FyZHMgdGhhdAoJICBzdXBwb3J0IGl0LgoKMjAwNS0xMS0wNCAxODoyODo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLio6IE5vdyBkb2VzIGNsaXBwaW5nIHdoZW4gc3VyZmFjZSBpcyB0b28gc21hbGwsIGhhbmRsZXMgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCBhcmUgbm90IGNhbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IE5vdyBkb2VzIGNsaXBwaW5nIHdoZW4gc3VyZmFjZQoJICBpcyB0b28gc21hbGwsIGhhbmRsZXMgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCBhcmUgbm90IGNhbGxpbmcKCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIsIGZpeGVzIGEgbG90IG9mIGJ1Z3MuCgoyMDA1LTExLTAzIDIyOjM2OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogUHJlcGFyZSBmb3IgbGlib2lsIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogUHJlcGFyZSBmb3IgbGlib2lsIHVzYWdlLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6ICBQcmVwYXJlIGZvciBsaWJvaWwsIGhhbmRsZQoJICByZW5kZXJpbmcgaW4gZXh0ZXJuYWwgc3VyZmFjZSBjb3JyZWN0bHkuIFdpbGwgY29tbWl0IGEgbmVhdAoJICBleGFtcGxlIHNvb24uCgoyMDA1LTExLTAzIDE2OjU5OjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEFkZCBzdXBwb3J0IHRvIGV4aXQgd2hlbiAnRXNjJyBrZXkgaXMgcHJlc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzdXBwb3J0IHRvIGV4aXQgd2hlbiAnRXNjJyBrZXkgaXMgcHJlc3NlZC4KCjIwMDUtMTEtMDIgMTc6MTI6MzEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlcyBEaXJlY3RGQiAwLjkuMjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IFJlcXVpcmVzIERpcmVjdEZCIDAuOS4yNAoKMjAwNS0xMS0wMiAxMjo1MzowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBhZGQgZGlyZWN0ZmIgdG8gZGlzdGRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRpcmVjdGZiIHRvIGRpc3RkaXIKCjIwMDUtMTEtMDIgMTI6NDM6MDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQ29tcGxldGUgcmV3cml0ZS9wb3J0IG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X25hbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfZm9ybWF0X2Zyb21fY2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9jYXBzX2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2VudGVyX3JlY3QpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVycG9vbF9jbGVhciksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZic3VyZmFjZV9pbml0KSwgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2dldF90eXBlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmg6IENvbXBsZXRlIHJld3JpdGUvcG9ydCBvZgoJICBEaXJlY3RGQiB2aWRlbyBzaW5rIHRvIDAuOS4gSGFuZGxlcyByZXZlcnNlIG5lZ290aWF0aW9uLAoJICBoYXJkd2FyZQoJICBzY2FsaW5nLCBuYXZpZ2F0aW9uLCBidWZmZXIgYWxsb2NhdGlvbiBmcm9tIHZpZGVvIG1lbW9yeSBldGMuLi4KCjIwMDUtMTAtMzEgMjA6NTc6NDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBmdWxsLXNjcmVlbiB0byBmdWxsc2NyZWVuLCB1c2luZyBTRExfU1dTVVJGQUNFIGluc3RlYWQgb2YgU0RMX0hXU1VSRkFDRSB3aGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHByb3BlcnR5IGZ1bGwtc2NyZWVuIHRvIGZ1bGxzY3JlZW4sIHVzaW5nIFNETF9TV1NVUkZBQ0UgaW5zdGVhZCBvZiBTRExfSFdTVVJGQUNFIHdoZW4gaW4gZnVsbCBzY3JlZW4gbW9kZS4KCjIwMDUtMTAtMzEgMTg6MDc6MzAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBBZGRlZCBhIHByb3BlcnR5IHRoYXQgYWxsb3dzIGZ1bGwtc2NyZWVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBwcm9wZXJ0eSB0aGF0IGFsbG93cyBmdWxsLXNjcmVlbi4KCjIwMDUtMTAtMjggMTU6MTE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBGaXggSTQyMCBvdXRwdXQgb24gc29tZSBtYWNoaW5lcyAobm90IHZlcnkgbmljZSwgYnV0IHNob3VsZCB3b3JrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF9zZGxfZnJvbV9mb3VyY2MpLCAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgRml4IEk0MjAgb3V0cHV0IG9uIHNvbWUgbWFjaGluZXMgKG5vdCB2ZXJ5IG5pY2UsIGJ1dCBzaG91bGQgd29yaykuCgkgIEFkZCBhbiAnc2RsdmlkZW9zaW5rJyBkZWJ1ZyBjYXRlZ29yeS4gRGlzYWJsZSBmb3JtYXRzIHRoYXQgZG8KCSAgbm90IHdvcmsuIEZpeCBzb21lIHZhcmFyZyBmdW5jdGlvbiBpc3N1ZXMuCgoyMDA1LTEwLTI3IDIwOjE2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogRml4IFNETCB2aWRlb3NpbmsgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19maW5hbGl6ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF90aW1lcyksIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19pbml0KSwgKGdzdF9zZGx2aWRlb3NpbmtfbG9jayksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpLCAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IFNETCB2aWRlb3NpbmsgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoKMjAwNS0xMC0yNyAxOTozNjoxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBUcnlpbmcgdG8gZml4IHZpZGVvcyBvdXQgb2Ygc3luYyAobm90IGZpeGVkIHlldCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRyeWluZyB0byBmaXggdmlkZW9zIG91dCBvZiBzeW5jIChub3QgZml4ZWQgeWV0KQoKMjAwNS0xMC0yNyAxNjoxNjowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZWQgdW51c2VkIGxhbmd1YWdlIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIHVudXNlZCBsYW5ndWFnZSBzdHVmZgoKMjAwNS0xMC0yNyAxMjo0OTo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCBkbyBwbyB1bnRpbCBzb21ldGhpbmcgd2FudHMgdG8gYmUgdHJhbnNsYXRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgZG8gcG8gdW50aWwgc29tZXRoaW5nIHdhbnRzIHRvIGJlIHRyYW5zbGF0ZWQKCjIwMDUtMTAtMjcgMTE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6IFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgoyMDA1LTEwLTI3IDExOjI1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZSBvbiB0aGUgYnVzIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyBpbnN0ZWFkLgoKMjAwNS0xMC0yNiAxNTo0NToxMSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIEZpeGluZyBzdHVmZiBhcyB3aW5nbyBwb2ludGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGluZyBzdHVmZiBhcyB3aW5nbyBwb2ludGVkIG91dC4KCjIwMDUtMTAtMjYgMTM6NDA6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3RjaGVjawoKMjAwNS0xMC0yNiAxMzowMToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIGRvbid0IHB1dCBjcmFwIGluIHVzZXItdmlzaWJsZSBzdHJpbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBwdXQgY3JhcCBpbiB1c2VyLXZpc2libGUgc3RyaW5ncwoKMjAwNS0xMC0yNSAxNjoxMjowMyArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIE92ZXItd3JpdGluZyBXaW0ncyBnc20gcGx1Z2lucyAoY3VycmVudGx5IG5vdCB3b3JraW5nKSB3aXRoIHRoYXQgZnJvbSB0aGUgZmFyc2lnaHQgcmVwby4gQWxzbyBtYWRlIHN1cmUgdGhhdCB0aGV5IHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT3Zlci13cml0aW5nIFdpbSdzIGdzbSBwbHVnaW5zIChjdXJyZW50bHkgbm90IHdvcmtpbmcpIHdpdGggdGhhdCBmcm9tIHRoZSBmYXJzaWdodCByZXBvLiBBbHNvIG1hZGUgc3VyZSB0aGF0IHRoZXkgd29yayB3aXRoIHRoZSBSVFAgKGRlKXBheWxvYWRlci4KCjIwMDUtMTAtMjUgMTM6MzE6MDkgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBGaXhlZCBldmVudCBoYW5kbGluZyBpbiBnc21lbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBldmVudCBoYW5kbGluZyBpbiBnc21lbmMuCgoyMDA1LTEwLTI0IDEzOjAyOjMyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoKMjAwNS0xMC0yMyAyMzowNzowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS40ID09PQoKMjAwNS0xMC0yMyAyMjo0Njo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNAoKMjAwNS0xMC0yMyAxNDozODowMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IFNUT1BQRUQtPkZBSUxFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2xvb3ApOiBTVE9QUEVELT5GQUlMRUQuCgoyMDA1LTEwLTIxIDE2OjExOjUzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCB1cGRhdGVzCgoyMDA1LTEwLTIwIDE1OjA4OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBEbyBzb21lIHRpbWVzdGFtcCBzbW9vdGhpbmcgKG1hdHJvc2thZGVtdXggYXBwYXJlbnRseSBzZW5kcyBtdWx0aXBsZSBidWZmZXJzIGluIGEgcm93IHdpdGggdGhlIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2Jhc2VfaW5pdCksIChnc3RfZmFhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfc3JjZ2V0Y2FwcyksIChnc3RfZmFhZF9ldmVudCksCgkgIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgRG8gc29tZSB0aW1lc3RhbXAgc21vb3RoaW5nIChtYXRyb3NrYWRlbXV4IGFwcGFyZW50bHkgc2VuZHMKCSAgbXVsdGlwbGUgYnVmZmVycyBpbiBhIHJvdyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCk7IGZpeAoJICBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzOyBmaXggY2hhbmdlIHN0YXRlIGZ1bmN0aW9uOyB1c2UKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHBhZCBmdW5jdGlvbnMuCgoyMDA1LTEwLTE5IDE1OjU4OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9nZXRfcXVlcnlfdHlwZXMpLCAoc3BlZWRfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX2dldF9xdWVyeV90eXBlcyksIChnc3RfdHRhX3BhcnNlX3F1ZXJ5KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDEyOjQxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBbGwgdGhlIGNvb2wga2lkcyB1c2UgR1NUX0RPQ0JPT0tfQ0hFQ0sgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsbCB0aGUgY29vbCBraWRzIHVzZSBHU1RfRE9DQk9PS19DSEVDSyBub3cuCgoyMDA1LTEwLTE4IDA4OjM5OjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9zcGVlZC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHNwZWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHNwZWVkLgoKMjAwNS0xMC0xNyAyMDo0ODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBGaXhlZCBTcGVlZCAtIFJlY292ZXJlZCBmZWF0dXJlZCBtaXNzZWQgc2luY2UgdmVyc2lvbiAxLjM3LCBhbmQgY2hhbmdlZCBvdGhlciBtaW5vciB0aGluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBTcGVlZCAtIFJlY292ZXJlZCBmZWF0dXJlZCBtaXNzZWQgc2luY2UgdmVyc2lvbiAxLjM3LCBhbmQgY2hhbmdlZCBvdGhlcgoJICBtaW5vciB0aGluZ3MuCgoyMDA1LTEwLTE2IDE3OjA4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggZ2xpYiBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBnbGliIGNoZWNrCgoyMDA1LTEwLTE2IDEzOjU0OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICByZXN0cnVjdHVyZSBjb25maWd1cmUuYWMsIHVzZSBjb3JyZWN0IGxpYnRvb2wgTERGTEFHUywgZml4IHVwIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlc3RydWN0dXJlIGNvbmZpZ3VyZS5hYywgdXNlIGNvcnJlY3QgbGlidG9vbCBMREZMQUdTLCBmaXggdXAgZGVmaW5lcwoKMjAwNS0xMC0xMyAxNTozMToyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXgvOiBhbmQgbW9yZSB0eXBvcyBmaXhlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgKiBleHQvdGFya2luL3Rhcmtpbi5jOiAodGFya2luX2FuYWx5c2lzX2ZyYW1laW4pLAoJICAodGFya2luX3N5bnRoZXNpc19wYWNrZXRpbik6CgkgIGFuZCBtb3JlIHR5cG9zIGZpeGVkCgoyMDA1LTEwLTEzIDExOjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBHc3QwOS1pemUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZTogdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCksIG1vdmUgZXZlbnQgaGFuZGxpbmcgZnJvbSBjaGFpbiBmdW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCksCgkgIChnc3RfZmFhY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZhYWNfc3JjX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbiksIChnc3RfZmFhY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZhYWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9mYWFjX2NoYW5nZV9zdGF0ZSk6CgkgIEdzdDA5LWl6ZSBjb2RlIGEgbGl0dGxlIGJpdCBtb3JlOiB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSwKCSAgbW92ZSBldmVudCBoYW5kbGluZyBmcm9tIGNoYWluIGZ1bmN0aW9uIGludG8gYW4gZXZlbnQgZnVuY3Rpb24sCgkgIGFkZCBzb21lIGxvY2tzIGhlcmUgYW5kIHRoZXJlLCBkbyBzb21lIGNsZWFudXBzOyBkaXNhYmxlIDMyLWJpdAoJICBpbnRlZ2VyIGFuZCBmbG9hdCBpbnB1dCBmb3JtYXRzIHVudGlsIHdlJ3JlIHN1cmUgdGhhdCB0aG9zZQoJICBhY3R1YWxseSB3b3JrIChjb3VsZG4ndCBwbGF5IGJhY2sgdGhlIHByb2R1Y2VkIGZpbGVzIHdpdGgKCSAgYW55dGhpbmcpLgoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDEzOjU0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggZGVwdGgvd2lkdGggaGFuZGxpbmcgZm9yIGZsb2F0IGF1ZGlvICgjMzE4NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKToKCSAgRml4IGRlcHRoL3dpZHRoIGhhbmRsaW5nIGZvciBmbG9hdCBhdWRpbyAoIzMxODY1OSkuCgoyMDA1LTEwLTEyIDEyOjUzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBSZWZjb3VudCBmaXhlcyAoIzMxODY1OSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mYWFjX3NyY19zZXRjYXBzKSwgKGdzdF9mYWFjX2NoYWluKToKCSAgUmVmY291bnQgZml4ZXMgKCMzMTg2NTkpCgoyMDA1LTEwLTEyIDA5OjE1OjQwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogbGlidmlzdWFsIGFuZCBzbmFwc2hvdCBhcmUgbm90IGhlcmUgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IGxpYnZpc3VhbCBhbmQgc25hcHNob3QgYXJlIG5vdCBoZXJlIGFueW1vcmUuCgkgIE1ha2VzCgkgIGF1dG9tYWtlLTEuNyBoYXBweSBhZ2Fpbi4KCjIwMDUtMTAtMTEgMjM6MDM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9ldmVudCk6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZQoKMjAwNS0xMC0xMSAxNjozNDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0wNyAxNToyNDoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QKCSAgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCjIwMDUtMTAtMDQgMTU6NDk6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYyBmaWxlCgoyMDA1LTEwLTAzIDE4OjAwOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjMgPT09CgoyMDA1LTEwLTAzIDE3OjUwOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzZSB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNlIHRpbWUKCjIwMDUtMDktMjggMTM6Mzg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgIE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoKMjAwNS0wOS0yNiAxNzo1Nzo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkCgoyMDA1LTA5LTI2IDE1OjE5OjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICBzb21lIGRpc3RpbmcgYW5kIGJ1aWxkIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzb21lIGRpc3RpbmcgYW5kIGJ1aWxkIGZpeGVzCgoyMDA1LTA5LTIzIDE3OjA1OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgR3NtZGVjIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBnc21kZWMgISBhbHNhc2luayBhbmQgb3Nzc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzbWRlYyBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgZ3NtZGVjICEgYWxzYXNpbmsgYW5kIG9zc3NpbmsuCgoyMDA1LTA5LTIzIDE2OjQwOjI3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogQ29udmVydCB0byB1c2luZyBnc3QgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IENvbnZlcnQgdG8gdXNpbmcgZ3N0IGRlYnVnZ2luZwoKMjAwNS0wOS0yMyAwNDoyMjo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCjIwMDUtMDktMjIgMTE6MTc6MjYgKzAwMDAgIEFyd2VkIHYuIE1lcmthdHogPHYubWVya2F0ekBnbXgubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICB0dGEgcGx1Z2luIHBvcnRlZCB0byAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHR0YSBwbHVnaW4gcG9ydGVkIHRvIDAuOQoKMjAwNS0wOS0yMSAyMDozMzo0MiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIFNldHRpbmcgY2FwcyBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldHRpbmcgY2FwcyBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDUtMDktMjAgMTk6MjU6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgZml4IE1ha2VmaWxlLmFtICB1Z2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBNYWtlZmlsZS5hbSAgdWdoCgoyMDA1LTA5LTIwIDE4OjQ5OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICBGaXhlZCBjb25maWd1cmUuYWMgYW5kIGV4dC9zZGwvTWFrZWZpbGUuYW0gZm9yIHNkbCBwb3J0IHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGNvbmZpZ3VyZS5hYyBhbmQgZXh0L3NkbC9NYWtlZmlsZS5hbSBmb3Igc2RsIHBvcnQgdG8gMC45LgoKMjAwNS0wOS0xOSAyMTo1MTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgoyMDA1LTA5LTE5IDIxOjQ3OjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZGx2aWRlb3NpbmsgcG9ydGVkIHRvIDAuOSBhbmQgdGVzdGVkIHdpdGggZmlsZXNyYyAhIG1wZWcyZGVjCgoyMDA1LTA5LTE5IDE2OjQ0OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjaGVjay12YWxncmluZCB0YXJnZXQKCjIwMDUtMDktMDkgMTc6NTM6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY2hlY2svOiBBZGQgZXh0cmEgdGVzdHMgZm9yIGJhc2V0cmFuc2Zvcm0gYmFzZWQgY29tcG9uZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogY2hlY2svcGlwZWxpbmVzL3NpbXBsZV9sYXVuY2hfbGluZXMuYzogKHNldHVwX3BpcGVsaW5lKSwKCSAgKHJ1bl9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCksIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgQWRkIGV4dHJhIHRlc3RzIGZvciBiYXNldHJhbnNmb3JtIGJhc2VkIGNvbXBvbmVudHMuCgkgIENvbW1lbnQgb3V0IHRoZSB0ZXN0X2VsZW1lbnRfbmVnb3RpYXRpb24gdGVzdCB1bnRpbCB3ZSBkZWNpZGUKCSAgaWYgaXQncyB0ZXN0aW5nIGNvcnJlY3QgYmVoYXZpb3VyLgoJICAqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLmM6IChnc3RfdmlzdWFsX2luaXQpLCAoZ2V0X2J1ZmZlciksCgkgIChnc3RfdmlzdWFsX2NoYWluKSwgKGdzdF92aXN1YWxfY2hhbmdlX3N0YXRlKToKCSAgU2xpZ2h0bHkgbW9yZSBjb3JyZWN0IGJ1dCBzdGlsbCBib2d1cyB0aW1lc3RhbXBpbmcuCgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgIChnc3RfZmZtcGVnY3NwX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb3NjYWxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvc2NhbGVfcHJlcGFyZV9zaXplKSwgKGdzdF92aWRlb3NjYWxlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb3NjYWxlX3ByZXBhcmVfaW1hZ2UpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpLAoJICAodm9sdW1lX3RyYW5zZm9ybV9pcCk6CgkgIEJhc2V0cmFuc2Zvcm0gdXBkYXRlcy4gRW5hYmxlIHBhc3N0aHJvdWdoIG1vZGVzLgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZV9idWZmZXJfaW5pdCksCgkgIChnc3RfeGltYWdlc2lua19yZW5lZ290aWF0ZV9zaXplKSwgKGdzdF94aW1hZ2VzaW5rX3hjb250ZXh0X2dldCksCgkgIChnc3RfeGltYWdlc2lua19zZXRjYXBzKSwgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE5lZ290aWF0aW9uIGZpeCB0aGF0IGFsbG93cyB0aGUgd2luZG93IHRvIHJldHVybiB0byB0aGUgb3JpZ2luYWwKCSAgc2l6ZSBhbmQgcmVuZWdvdGlhdGUgcGFzc3Rocm91Z2ggdXBzdHJlYW0uIEV4dHJhIGRlYnVnIG91dHB1dC4KCjIwMDUtMDktMDggMTU6NTY6MzggKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgUG9ydGVkIHNwZWVkIFBsdWdpbiB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgc3BlZWQgUGx1Z2luIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDYgMTQ6MDY6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjEgPT09CgoyMDA1LTA5LTA2IDE0OjA1OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIE5FV1M6CgkqIFJFQURNRToKCSogUkVMRUFTRToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLnNwZWMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjEKCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDktMDUgMTU6MTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgY2xlYW5pbmcgdXAgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbmluZyB1cCBiYWQKCjIwMDUtMDktMDUgMTM6NDk6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGRvY3MvcmFuZG9tL0NoYW5nZUxvZy0wLjg6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgY3JlYXRlZCBnc3QtcGx1Z2lucy1iYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNyZWF0ZWQgZ3N0LXBsdWdpbnMtYmFkCgo9PT0gcmVsZWFzZSAwLjkuMiA9PT0KCjIwMDUtMDktMDQgMTA6Mzg6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hazoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0Y2hlY2sKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOgoJICBmaXggd3JvbmcgZG9jc3RyaW5nCgoyMDA1LTA5LTAyIDIwOjIxOjE3ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgUG9ydGVkIEdTTSBFbmNvZGVyIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCBHU00gRW5jb2RlciB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTAyIDE1OjQ0OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDIgMTU6NDM6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDEgMTk6NTM6MTIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogUE9SVEVEXzA5OgoJICB1cGRhdGUgUE9SVEVEXzA5IGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBQT1JURURfMDkgZmlsZQoK